@myclub_se/data-access 3.7.9 → 3.7.11
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-invoice/api-payment-attempt-create.mjs +1 -8
- package/esm2022/lib/authentication/authentication.interceptor.mjs +6 -8
- package/esm2022/lib/authentication/authentication.service.mjs +8 -11
- package/esm2022/lib/authentication/guards/authenticated.guard.mjs +4 -6
- package/esm2022/lib/authentication/guards/handle-grant-token.guard.mjs +4 -7
- package/esm2022/lib/data-access.module.mjs +6 -6
- package/esm2022/lib/maintenance/maintenance.interceptor.mjs +4 -5
- package/esm2022/lib/models/activity-extra-member.mjs +1 -8
- package/esm2022/lib/models/activity-invite.mjs +1 -23
- package/esm2022/lib/models/activity-location-group.mjs +1 -7
- package/esm2022/lib/models/activity-location-part.mjs +1 -3
- package/esm2022/lib/models/activity-location-tag.mjs +1 -6
- package/esm2022/lib/models/activity-location.mjs +1 -11
- package/esm2022/lib/models/activity-participant.mjs +1 -8
- package/esm2022/lib/models/activity-question-connection.mjs +1 -8
- package/esm2022/lib/models/activity-question-response.mjs +1 -3
- package/esm2022/lib/models/activity-question.mjs +1 -8
- package/esm2022/lib/models/activity-rule-relation.mjs +1 -9
- package/esm2022/lib/models/activity-rule.mjs +1 -8
- package/esm2022/lib/models/activity-settings.mjs +1 -18
- package/esm2022/lib/models/activity-type.mjs +1 -9
- package/esm2022/lib/models/activity-waiting-list-entry.mjs +1 -16
- package/esm2022/lib/models/activity.mjs +1 -82
- package/esm2022/lib/models/app-settings.mjs +1 -5
- package/esm2022/lib/models/auth/auth-member.mjs +3 -7
- package/esm2022/lib/models/auth/auth-section.mjs +1 -6
- package/esm2022/lib/models/auth/auth-team-section.mjs +1 -3
- package/esm2022/lib/models/auth/auth-team.mjs +1 -6
- package/esm2022/lib/models/auth/auth.mjs +1 -17
- package/esm2022/lib/models/authentication.mjs +1 -3
- package/esm2022/lib/models/bookable-item.mjs +1 -11
- package/esm2022/lib/models/bookable-part.mjs +1 -3
- package/esm2022/lib/models/bookable-tag.mjs +1 -6
- package/esm2022/lib/models/booking-calendar-application-time.mjs +1 -33
- package/esm2022/lib/models/booking-calendar-slot-session.mjs +1 -35
- package/esm2022/lib/models/booking-calendar-slot-validate-copy-result.mjs +1 -5
- package/esm2022/lib/models/booking-calendar-slot.mjs +1 -26
- package/esm2022/lib/models/booking-calendar.mjs +1 -33
- package/esm2022/lib/models/booking-settings.mjs +1 -8
- package/esm2022/lib/models/booking-slot-filter.mjs +1 -12
- package/esm2022/lib/models/calendar-event.mjs +1 -16
- package/esm2022/lib/models/calendar.mjs +1 -6
- package/esm2022/lib/models/card/card-deal.mjs +1 -6
- package/esm2022/lib/models/card/card-logo-urls.mjs +1 -9
- package/esm2022/lib/models/card/card-logo.mjs +1 -4
- package/esm2022/lib/models/card/card-member-ticket.mjs +1 -7
- package/esm2022/lib/models/card/card-theme.mjs +1 -6
- package/esm2022/lib/models/card/card-ticket-location.mjs +1 -5
- package/esm2022/lib/models/card/card-ticket.mjs +1 -17
- package/esm2022/lib/models/card/card.mjs +1 -9
- package/esm2022/lib/models/card/home-team.mjs +1 -4
- package/esm2022/lib/models/card/member-card.mjs +1 -11
- package/esm2022/lib/models/card/search-member-card.mjs +1 -5
- package/esm2022/lib/models/card/selected-field.mjs +1 -3
- package/esm2022/lib/models/club-image.mjs +1 -14
- package/esm2022/lib/models/club-section.mjs +1 -3
- package/esm2022/lib/models/club.mjs +1 -3
- package/esm2022/lib/models/collection.mjs +1 -5
- package/esm2022/lib/models/contact.mjs +1 -19
- package/esm2022/lib/models/databank-category.mjs +1 -7
- package/esm2022/lib/models/databank-item.mjs +1 -7
- package/esm2022/lib/models/directory.mjs +1 -10
- package/esm2022/lib/models/email.mjs +1 -4
- package/esm2022/lib/models/event.mjs +1 -28
- package/esm2022/lib/models/external-link.mjs +1 -3
- package/esm2022/lib/models/feature-flags.mjs +1 -14
- package/esm2022/lib/models/file-object.mjs +1 -10
- package/esm2022/lib/models/general-image.mjs +1 -4
- package/esm2022/lib/models/group-role.mjs +1 -7
- package/esm2022/lib/models/guest.mjs +1 -5
- package/esm2022/lib/models/image-urls.mjs +1 -6
- package/esm2022/lib/models/invoice/member-fee.mjs +1 -6
- package/esm2022/lib/models/invoice/member-invoice-row.mjs +1 -14
- package/esm2022/lib/models/invoice/member-invoice.mjs +1 -24
- package/esm2022/lib/models/invoice/payment-attempt.mjs +1 -10
- package/esm2022/lib/models/invoice/payment-order-row.mjs +1 -3
- package/esm2022/lib/models/invoice/payment-order.mjs +1 -18
- package/esm2022/lib/models/invoice/payment-types/credit-card.mjs +1 -12
- package/esm2022/lib/models/invoice/payment-types/giro.mjs +1 -7
- package/esm2022/lib/models/invoice/payment-types/swish.mjs +1 -14
- package/esm2022/lib/models/invoice/payment-types/zimpler.mjs +1 -8
- package/esm2022/lib/models/invoice/search-member-invoice.mjs +1 -10
- package/esm2022/lib/models/invoice/swish-qr-code.mjs +1 -2
- package/esm2022/lib/models/invoice/unpaid-member-invoice.mjs +1 -5
- package/esm2022/lib/models/leader-activity.mjs +1 -12
- package/esm2022/lib/models/member/member-attribute.mjs +1 -12
- package/esm2022/lib/models/member/member-contact.mjs +1 -6
- package/esm2022/lib/models/member/member-function.mjs +1 -6
- package/esm2022/lib/models/member/member-validation-settings.mjs +1 -9
- package/esm2022/lib/models/member/member.mjs +1 -27
- package/esm2022/lib/models/member/other-member-field.mjs +1 -4
- package/esm2022/lib/models/member/other-member.mjs +1 -9
- package/esm2022/lib/models/member/search-member.mjs +1 -17
- package/esm2022/lib/models/member-activity-invite.mjs +1 -12
- package/esm2022/lib/models/member-public-form-field-option.mjs +1 -5
- package/esm2022/lib/models/member-public-form-field.mjs +1 -12
- package/esm2022/lib/models/member-public-form.mjs +1 -26
- package/esm2022/lib/models/member-team-through.mjs +1 -10
- package/esm2022/lib/models/member-team.mjs +1 -10
- package/esm2022/lib/models/member-type.mjs +1 -4
- package/esm2022/lib/models/mypages-menu-item.mjs +1 -4
- package/esm2022/lib/models/news.mjs +1 -20
- package/esm2022/lib/models/open-activity.mjs +3 -79
- package/esm2022/lib/models/optional-fee.mjs +2 -7
- package/esm2022/lib/models/overbooked-bookable-item.mjs +1 -6
- package/esm2022/lib/models/overbooked-location.mjs +1 -6
- package/esm2022/lib/models/partner.mjs +1 -5
- package/esm2022/lib/models/public-authentication.mjs +1 -3
- package/esm2022/lib/models/registration-qr-code.mjs +1 -8
- package/esm2022/lib/models/retrieve-2fa.mjs +1 -3
- package/esm2022/lib/models/saved-search.mjs +1 -3
- package/esm2022/lib/models/search-attribute.mjs +1 -5
- package/esm2022/lib/models/search-club.mjs +1 -10
- package/esm2022/lib/models/search-team.mjs +1 -9
- package/esm2022/lib/models/section.mjs +1 -3
- package/esm2022/lib/models/swish-incident.mjs +1 -11
- package/esm2022/lib/models/token.mjs +1 -4
- package/esm2022/lib/models/user-notification.mjs +1 -9
- package/esm2022/lib/models/user.mjs +1 -13
- package/esm2022/lib/services/activity.service.mjs +4 -7
- package/esm2022/lib/services/api.service.mjs +4 -6
- package/esm2022/lib/services/auth.service.mjs +4 -5
- package/esm2022/lib/services/bookable.service.mjs +4 -5
- package/esm2022/lib/services/booking-calendar.service.mjs +22 -6
- package/esm2022/lib/services/club.service.mjs +4 -5
- package/esm2022/lib/services/constant.service.mjs +4 -5
- package/esm2022/lib/services/databank.service.mjs +4 -5
- package/esm2022/lib/services/email.service.mjs +4 -5
- package/esm2022/lib/services/external-link.service.mjs +4 -5
- package/esm2022/lib/services/feature-flags.service.mjs +4 -5
- package/esm2022/lib/services/file.service.mjs +4 -5
- package/esm2022/lib/services/invoice/invoice.service.mjs +4 -5
- package/esm2022/lib/services/invoice/payment-attempt.service.mjs +4 -5
- package/esm2022/lib/services/invoice/payment-order.service.mjs +4 -5
- package/esm2022/lib/services/leader-notification.service.mjs +4 -5
- package/esm2022/lib/services/maintenance-mode.service.mjs +8 -7
- package/esm2022/lib/services/member-card.service.mjs +4 -5
- package/esm2022/lib/services/member-fee.service.mjs +4 -5
- package/esm2022/lib/services/member-public-form.service.mjs +4 -5
- package/esm2022/lib/services/member.service.mjs +4 -5
- package/esm2022/lib/services/news.service.mjs +4 -5
- package/esm2022/lib/services/registration-qr-code.service.mjs +4 -5
- package/esm2022/lib/services/saved-search.service.mjs +4 -5
- package/esm2022/lib/services/section.service.mjs +4 -5
- package/esm2022/lib/services/storage.service.mjs +5 -6
- package/esm2022/lib/services/swish-incident.service.mjs +4 -5
- package/esm2022/lib/services/team.service.mjs +4 -5
- package/esm2022/lib/services/token.service.mjs +4 -5
- package/esm2022/lib/services/user-notification.service.mjs +4 -5
- package/esm2022/lib/services/user.service.mjs +4 -5
- package/esm2022/lib/store/actions/booking.actions.mjs +7 -1
- package/esm2022/lib/store/effects/activity.effects.mjs +358 -355
- package/esm2022/lib/store/effects/auth.effects.mjs +121 -111
- package/esm2022/lib/store/effects/booking.effects.mjs +139 -134
- package/esm2022/lib/store/effects/calendar.effects.mjs +61 -59
- package/esm2022/lib/store/effects/club-info.effects.mjs +17 -15
- package/esm2022/lib/store/effects/constant.effects.mjs +78 -76
- package/esm2022/lib/store/effects/databank.effects.mjs +23 -21
- package/esm2022/lib/store/effects/email.effects.mjs +16 -14
- package/esm2022/lib/store/effects/external-link.effects.mjs +11 -9
- package/esm2022/lib/store/effects/file.effects.mjs +92 -90
- package/esm2022/lib/store/effects/invoice.effects.mjs +176 -174
- package/esm2022/lib/store/effects/member-card.effects.mjs +73 -71
- package/esm2022/lib/store/effects/member-fee.effects.mjs +9 -7
- package/esm2022/lib/store/effects/member.effects.mjs +41 -39
- package/esm2022/lib/store/effects/mixins/extra-members-mixin.mjs +4 -2
- package/esm2022/lib/store/effects/news.effects.mjs +47 -45
- package/esm2022/lib/store/effects/public-form.effects.mjs +24 -22
- package/esm2022/lib/store/effects/registration-qr-code.effects.mjs +14 -12
- package/esm2022/lib/store/effects/saved-search.effects.mjs +9 -7
- package/esm2022/lib/store/effects/swish-incidents.effects.mjs +11 -9
- package/esm2022/lib/store/effects/team.effects.mjs +83 -76
- package/esm2022/lib/store/effects/token.effects.mjs +93 -91
- package/esm2022/lib/store/effects/user.effects.mjs +35 -35
- package/fesm2022/myclub_se-data-access.mjs +1771 -2845
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/lib/services/booking-calendar.service.d.ts +3 -0
- package/lib/store/actions/booking.actions.d.ts +24 -0
- package/lib/store/effects/booking.effects.d.ts +5 -0
- package/package.json +1 -1
|
@@ -6,67 +6,69 @@ import { exhaustMap, forkJoin, mergeMap, of } from 'rxjs';
|
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class CalendarEffects {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
this.actions$ = inject(Actions);
|
|
11
|
+
this.activityService = inject(ActivityService);
|
|
12
|
+
this.listMemberActivities$ = createEffect(() => this.actions$
|
|
13
|
+
.pipe(ofType(listMemberActivitiesAction), mergeMap(({ payload }) => forkJoin(payload.memberIds.map((id) => this.activityService.getMemberCalendarEvents(id, payload.startDate, payload.endDate, payload.openActivity)
|
|
14
|
+
.pipe(map((events) => ({ id, events: events.toArray() })), catchError((error) => of({ id, error }))))).pipe(map(results => {
|
|
15
|
+
const resultMap = new Map();
|
|
16
|
+
results.forEach((result) => {
|
|
17
|
+
if (result.events) {
|
|
18
|
+
resultMap.set(result.id, result.events);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return listMemberActivitiesSuccessAction({ payload: { ...payload, results: resultMap } });
|
|
22
|
+
}), catchError((error) => of(listMemberActivitiesFailureAction({
|
|
23
|
+
payload: {
|
|
24
|
+
...payload,
|
|
25
|
+
error
|
|
18
26
|
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
})))))));
|
|
28
|
+
this.listMemberOpenActivities$ = createEffect(() => this.actions$
|
|
29
|
+
.pipe(ofType(listMemberOpenActivitiesAction), mergeMap(({ payload }) => forkJoin(payload.memberIds.map((id) => this.activityService.getMemberOpenActivities(id, payload.openActivitySearchParams)
|
|
30
|
+
.pipe(map((activities) => ({ id, activities: activities.toArray() })), catchError((error) => of({ id, error }))))).pipe(map(results => {
|
|
31
|
+
const resultMap = new Map();
|
|
32
|
+
results.forEach((result) => {
|
|
33
|
+
if (result.activities) {
|
|
34
|
+
resultMap.set(result.id, result.activities);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return listMemberOpenActivitiesSuccessAction({ payload: { ...payload, results: resultMap } });
|
|
38
|
+
}), catchError((error) => of(listMemberOpenActivitiesFailureAction({
|
|
39
|
+
payload: {
|
|
40
|
+
...payload,
|
|
41
|
+
error
|
|
34
42
|
}
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
...payload,
|
|
63
|
-
results: results.toArray()
|
|
64
|
-
}
|
|
65
|
-
})), catchError((error) => of(listTeamActivitiesFailureAction({ payload: { ...payload, error } })))))));
|
|
66
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CalendarEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CalendarEffects });
|
|
43
|
+
})))))));
|
|
44
|
+
this.listMemberAllOpenActivityLocations$ = createEffect(() => this.actions$
|
|
45
|
+
.pipe(ofType(listAllMemberOpenActivityLocationsAction), exhaustMap(({ payload }) => this.activityService.getMemberOpenActivityLocations(payload, null, null, true)
|
|
46
|
+
.pipe(map((activityLocations) => listAllMemberOpenActivityLocationsSuccessAction({ payload: activityLocations.toArray() })), catchError((error) => of(listAllMemberOpenActivityLocationsFailureAction({ payload: error })))))));
|
|
47
|
+
this.listMemberAllOpenActivityTypes$ = createEffect(() => this.actions$
|
|
48
|
+
.pipe(ofType(listAllMemberOpenActivityTypesAction), exhaustMap(({ payload }) => this.activityService.getMemberOpenActivityActivityTypes(payload, null, null, true)
|
|
49
|
+
.pipe(map((activityTypes) => listAllMemberOpenActivityTypesSuccessAction({ payload: activityTypes.toArray() })), catchError((error) => of(listAllMemberOpenActivityTypesFailureAction({ payload: error })))))));
|
|
50
|
+
this.listMemberOpenActivityLocations$ = createEffect(() => this.actions$
|
|
51
|
+
.pipe(ofType(listMemberOpenActivityLocationsAction), exhaustMap(({ payload }) => this.activityService.getMemberOpenActivityLocations(payload.memberId, payload.startDate, payload.endDate, false)
|
|
52
|
+
.pipe(map((activityLocations) => listMemberOpenActivityLocationsSuccessAction({ payload: { memberId: payload.memberId, startDate: payload.startDate, endDate: payload.endDate, locations: activityLocations.toArray() } })), catchError((error) => of(listMemberOpenActivityLocationsFailureAction({ payload: { memberId: payload.memberId, startDate: payload.startDate, endDate: payload.endDate, error } })))))));
|
|
53
|
+
this.listMemberOpenActivityTypes$ = createEffect(() => this.actions$
|
|
54
|
+
.pipe(ofType(listMemberOpenActivityTypesAction), exhaustMap(({ payload }) => this.activityService.getMemberOpenActivityActivityTypes(payload.memberId, payload.startDate, payload.endDate, false)
|
|
55
|
+
.pipe(map((activityTypes) => listMemberOpenActivityTypesSuccessAction({ payload: { memberId: payload.memberId, startDate: payload.startDate, endDate: payload.endDate, types: activityTypes.toArray() } })), catchError((error) => of(listMemberOpenActivityTypesFailureAction({ payload: { memberId: payload.memberId, startDate: payload.startDate, endDate: payload.endDate, error } })))))));
|
|
56
|
+
this.listPublicMemberActivities$ = createEffect(() => this.actions$
|
|
57
|
+
.pipe(ofType(listPublicMemberActivitiesAction), exhaustMap(({ payload }) => this.activityService.getPublicMemberActivities(payload.startDate, payload.endDate)
|
|
58
|
+
.pipe(map((result) => listPublicMemberActivitiesSuccessAction({ payload: { startDate: payload.startDate, endDate: payload.endDate, results: result.toArray() } })), catchError((error) => of(listPublicMemberActivitiesFailureAction({ payload: error })))))));
|
|
59
|
+
this.listTeamActivities = createEffect(() => this.actions$
|
|
60
|
+
.pipe(ofType(listTeamActivitiesAction), exhaustMap(({ payload }) => this.activityService.getTeamCalendarEvents(payload.teamId, payload.startDate, payload.endDate, payload.openActivity)
|
|
61
|
+
.pipe(map((results) => listTeamActivitiesSuccessAction({
|
|
62
|
+
payload: {
|
|
63
|
+
...payload,
|
|
64
|
+
results: results.toArray()
|
|
65
|
+
}
|
|
66
|
+
})), catchError((error) => of(listTeamActivitiesFailureAction({ payload: { ...payload, error } })))))));
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
69
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarEffects }); }
|
|
68
70
|
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarEffects, decorators: [{
|
|
70
72
|
type: Injectable
|
|
71
73
|
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jYWxlbmRhci5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLCtDQUErQyxFQUMvQywrQ0FBK0MsRUFDL0Msb0NBQW9DLEVBQ3BDLDJDQUEyQyxFQUMzQywyQ0FBMkMsRUFDM0MsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsaUNBQWlDLEVBQ2pDLHdDQUF3QyxFQUN4Qyx3Q0FBd0MsRUFDeEMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDaEMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJakQsTUFBTSxPQUFPLGVBQWU7SUFDbEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFD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QUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLCtCQUErQixDQUFDLEVBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDOUcsQ0FDSixDQUNGLENBQ0YsQ0FBQzt1R0FsSlMsZUFBZTsyR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbixcbiAgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24sXG4gIGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJBY3Rpdml0aWVzQWN0aW9uLFxuICBsaXN0TWVtYmVyQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJBY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0FjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXNBY3Rpb24sXG4gIGxpc3RQdWJsaWNNZW1iZXJBY3Rpdml0aWVzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0VGVhbUFjdGl2aXRpZXNBY3Rpb24sXG4gIGxpc3RUZWFtQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RUZWFtQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eUxvY2F0aW9uLCBBY3Rpdml0eVR5cGUsIENvbGxlY3Rpb24sIEV2ZW50LCBPcGVuQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmb3JrSm9pbiwgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgYWN0aXZpdHlTZXJ2aWNlID0gaW5qZWN0KEFjdGl2aXR5U2VydmljZSk7XG5cbiAgbGlzdE1lbWJlckFjdGl2aXRpZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyQWN0aXZpdGllc0FjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHsgbWVtYmVySWRzOiBBcnJheTxzdHJpbmc+LCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBvcGVuQWN0aXZpdHk6IGJvb2xlYW4gfSB9KSA9PlxuICAgICAgICBmb3JrSm9pbihwYXlsb2FkLm1lbWJlcklkcy5tYXAoKGlkOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eVNlcnZpY2UuZ2V0TWVtYmVyQ2FsZW5kYXJFdmVudHMoaWQsIHBheWxvYWQuc3RhcnREYXRlLCBwYXlsb2FkLmVuZERhdGUsIHBheWxvYWQub3BlbkFjdGl2aXR5KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoZXZlbnRzOiBDb2xsZWN0aW9uPEV2ZW50PikgPT4gKHtpZCwgZXZlbnRzOiBldmVudHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHtpZCwgZXJyb3J9KSksXG4gICAgICAgICAgICApXG4gICAgICAgICkpLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZXN1bHRNYXAgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8RXZlbnQ+PigpO1xuICAgICAgICAgICAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdDogeyBpZDogc3RyaW5nLCBldmVudHM/OiBBcnJheTxFdmVudD4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuZXZlbnRzKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRNYXAuc2V0KHJlc3VsdC5pZCwgcmVzdWx0LmV2ZW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RNZW1iZXJBY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogey4uLnBheWxvYWQsIHJlc3VsdHM6IHJlc3VsdE1hcH19KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlckFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzQWN0aW9uKSxcbiAgICAgIG1lcmdlTWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiB7IG1lbWJlcklkczogQXJyYXk8c3RyaW5nPiwgb3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zOiBPcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXNJbnRlcmZhY2UgfVxuICAgICAgICB9KSA9PlxuICAgICAgICAgIGZvcmtKb2luKHBheWxvYWQubWVtYmVySWRzLm1hcCgoaWQ6IHN0cmluZykgPT5cbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldE1lbWJlck9wZW5BY3Rpdml0aWVzKGlkLCBwYXlsb2FkLm9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtcylcbiAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChhY3Rpdml0aWVzOiBDb2xsZWN0aW9uPE9wZW5BY3Rpdml0eT4pID0+ICh7aWQsIGFjdGl2aXRpZXM6IGFjdGl2aXRpZXMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2Yoe2lkLCBlcnJvcn0pKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0TWFwID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PE9wZW5BY3Rpdml0eT4+KCk7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IHsgaWQ6IHN0cmluZywgYWN0aXZpdGllcz86IEFycmF5PE9wZW5BY3Rpdml0eT4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5hY3Rpdml0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdE1hcC5zZXQocmVzdWx0LmlkLCByZXN1bHQuYWN0aXZpdGllcyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHsuLi5wYXlsb2FkLCByZXN1bHRzOiByZXN1bHRNYXB9fSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24oe1xuICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyQWxsT3BlbkFjdGl2aXR5TG9jYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiBzdHJpbmd9KSA9PiB0aGlzLmFjdGl2aXR5U2VydmljZS5nZXRNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnMocGF5bG9hZCwgbnVsbCwgbnVsbCwgdHJ1ZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChhY3Rpdml0eUxvY2F0aW9uczogQ29sbGVjdGlvbjxBY3Rpdml0eUxvY2F0aW9uPikgPT4gbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGFjdGl2aXR5TG9jYXRpb25zLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyQWxsT3BlbkFjdGl2aXR5VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDogc3RyaW5nfSkgPT4gdGhpcy5hY3Rpdml0eVNlcnZpY2UuZ2V0TWVtYmVyT3BlbkFjdGl2aXR5QWN0aXZpdHlUeXBlcyhwYXlsb2FkLCBudWxsLCBudWxsLCB0cnVlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGFjdGl2aXR5VHlwZXM6IENvbGxlY3Rpb248QWN0aXZpdHlUeXBlPikgPT4gbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYWN0aXZpdHlUeXBlcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZ319KSA9PiB0aGlzLmFjdGl2aXR5U2VydmljZS5nZXRNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5zdGFydERhdGUsIHBheWxvYWQuZW5kRGF0ZSwgZmFsc2UpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYWN0aXZpdHlMb2NhdGlvbnM6IENvbGxlY3Rpb248QWN0aXZpdHlMb2NhdGlvbj4pID0+IGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB7bWVtYmVySWQ6IHBheWxvYWQubWVtYmVySWQsIHN0YXJ0RGF0ZTogcGF5bG9hZC5zdGFydERhdGUsIGVuZERhdGU6IHBheWxvYWQuZW5kRGF0ZSwgbG9jYXRpb25zOiBhY3Rpdml0eUxvY2F0aW9ucy50b0FycmF5KCl9fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IHttZW1iZXJJZDogcGF5bG9hZC5tZW1iZXJJZCwgc3RhcnREYXRlOiBwYXlsb2FkLnN0YXJ0RGF0ZSwgZW5kRGF0ZTogcGF5bG9hZC5lbmREYXRlLCBlcnJvcn19KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nfX0pID0+IHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldE1lbWJlck9wZW5BY3Rpdml0eUFjdGl2aXR5VHlwZXMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5zdGFydERhdGUsIHBheWxvYWQuZW5kRGF0ZSwgZmFsc2UpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYWN0aXZpdHlUeXBlczogQ29sbGVjdGlvbjxBY3Rpdml0eVR5cGU+KSA9PiBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB7bWVtYmVySWQ6IHBheWxvYWQubWVtYmVySWQsIHN0YXJ0RGF0ZTogcGF5bG9hZC5zdGFydERhdGUsIGVuZERhdGU6IHBheWxvYWQuZW5kRGF0ZSwgdHlwZXM6IGFjdGl2aXR5VHlwZXMudG9BcnJheSgpfX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IHttZW1iZXJJZDogcGF5bG9hZC5tZW1iZXJJZCwgc3RhcnREYXRlOiBwYXlsb2FkLnN0YXJ0RGF0ZSwgZW5kRGF0ZTogcGF5bG9hZC5lbmREYXRlLCBlcnJvcn19KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0UHVibGljTWVtYmVyQWN0aXZpdGllc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7IHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcgfX0pID0+IHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldFB1YmxpY01lbWJlckFjdGl2aXRpZXMocGF5bG9hZC5zdGFydERhdGUsIHBheWxvYWQuZW5kRGF0ZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXN1bHQ6IENvbGxlY3Rpb248RXZlbnQ+KSA9PiBsaXN0UHVibGljTWVtYmVyQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHtzdGFydERhdGU6IHBheWxvYWQuc3RhcnREYXRlLCBlbmREYXRlOiBwYXlsb2FkLmVuZERhdGUsIHJlc3VsdHM6IHJlc3VsdC50b0FycmF5KCl9fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkpXG5cbiAgbGlzdFRlYW1BY3Rpdml0aWVzID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0VGVhbUFjdGl2aXRpZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZywgb3BlbkFjdGl2aXR5OiBib29sZWFuIH1cbiAgICAgICAgfSkgPT4gdGhpcy5hY3Rpdml0eVNlcnZpY2UuZ2V0VGVhbUNhbGVuZGFyRXZlbnRzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLnN0YXJ0RGF0ZSwgcGF5bG9hZC5lbmREYXRlLCBwYXlsb2FkLm9wZW5BY3Rpdml0eSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzdWx0czogQ29sbGVjdGlvbjxFdmVudD4pID0+IGxpc3RUZWFtQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24oe1xuICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgICByZXN1bHRzOiByZXN1bHRzLnRvQXJyYXkoKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IHsuLi5wYXlsb2FkLCBlcnJvcn19KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jYWxlbmRhci5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLCtDQUErQyxFQUMvQywrQ0FBK0MsRUFDL0Msb0NBQW9DLEVBQ3BDLDJDQUEyQyxFQUMzQywyQ0FBMkMsRUFDM0MsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsaUNBQWlDLEVBQ2pDLHdDQUF3QyxFQUN4Qyx3Q0FBd0MsRUFDeEMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDaEMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJakQsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FB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QUNILFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzlHLENBQ0osQ0FDRixDQUNGLENBQUM7S0FDSDsrR0FuSlksZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbixcbiAgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24sXG4gIGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJBY3Rpdml0aWVzQWN0aW9uLFxuICBsaXN0TWVtYmVyQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJBY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zQWN0aW9uLFxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0FjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXNBY3Rpb24sXG4gIGxpc3RQdWJsaWNNZW1iZXJBY3Rpdml0aWVzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0VGVhbUFjdGl2aXRpZXNBY3Rpb24sXG4gIGxpc3RUZWFtQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RUZWFtQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eUxvY2F0aW9uLCBBY3Rpdml0eVR5cGUsIENvbGxlY3Rpb24sIEV2ZW50LCBPcGVuQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmb3JrSm9pbiwgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgYWN0aXZpdHlTZXJ2aWNlID0gaW5qZWN0KEFjdGl2aXR5U2VydmljZSk7XG5cbiAgbGlzdE1lbWJlckFjdGl2aXRpZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyQWN0aXZpdGllc0FjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHsgbWVtYmVySWRzOiBBcnJheTxzdHJpbmc+LCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBvcGVuQWN0aXZpdHk6IGJvb2xlYW4gfSB9KSA9PlxuICAgICAgICBmb3JrSm9pbihwYXlsb2FkLm1lbWJlcklkcy5tYXAoKGlkOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eVNlcnZpY2UuZ2V0TWVtYmVyQ2FsZW5kYXJFdmVudHMoaWQsIHBheWxvYWQuc3RhcnREYXRlLCBwYXlsb2FkLmVuZERhdGUsIHBheWxvYWQub3BlbkFjdGl2aXR5KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoZXZlbnRzOiBDb2xsZWN0aW9uPEV2ZW50PikgPT4gKHtpZCwgZXZlbnRzOiBldmVudHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHtpZCwgZXJyb3J9KSksXG4gICAgICAgICAgICApXG4gICAgICAgICkpLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZXN1bHRNYXAgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8RXZlbnQ+PigpO1xuICAgICAgICAgICAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdDogeyBpZDogc3RyaW5nLCBldmVudHM/OiBBcnJheTxFdmVudD4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuZXZlbnRzKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRNYXAuc2V0KHJlc3VsdC5pZCwgcmVzdWx0LmV2ZW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RNZW1iZXJBY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogey4uLnBheWxvYWQsIHJlc3VsdHM6IHJlc3VsdE1hcH19KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlckFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzQWN0aW9uKSxcbiAgICAgIG1lcmdlTWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiB7IG1lbWJlcklkczogQXJyYXk8c3RyaW5nPiwgb3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zOiBPcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXNJbnRlcmZhY2UgfVxuICAgICAgICB9KSA9PlxuICAgICAgICAgIGZvcmtKb2luKHBheWxvYWQubWVtYmVySWRzLm1hcCgoaWQ6IHN0cmluZykgPT5cbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldE1lbWJlck9wZW5BY3Rpdml0aWVzKGlkLCBwYXlsb2FkLm9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtcylcbiAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChhY3Rpdml0aWVzOiBDb2xsZWN0aW9uPE9wZW5BY3Rpdml0eT4pID0+ICh7aWQsIGFjdGl2aXRpZXM6IGFjdGl2aXRpZXMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2Yoe2lkLCBlcnJvcn0pKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0TWFwID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PE9wZW5BY3Rpdml0eT4+KCk7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IHsgaWQ6IHN0cmluZywgYWN0aXZpdGllcz86IEFycmF5PE9wZW5BY3Rpdml0eT4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5hY3Rpdml0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdE1hcC5zZXQocmVzdWx0LmlkLCByZXN1bHQuYWN0aXZpdGllcyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHsuLi5wYXlsb2FkLCByZXN1bHRzOiByZXN1bHRNYXB9fSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24oe1xuICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyQWxsT3BlbkFjdGl2aXR5TG9jYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiBzdHJpbmd9KSA9PiB0aGlzLmFjdGl2aXR5U2VydmljZS5nZXRNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnMocGF5bG9hZCwgbnVsbCwgbnVsbCwgdHJ1ZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChhY3Rpdml0eUxvY2F0aW9uczogQ29sbGVjdGlvbjxBY3Rpdml0eUxvY2F0aW9uPikgPT4gbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGFjdGl2aXR5TG9jYXRpb25zLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyQWxsT3BlbkFjdGl2aXR5VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDogc3RyaW5nfSkgPT4gdGhpcy5hY3Rpdml0eVNlcnZpY2UuZ2V0TWVtYmVyT3BlbkFjdGl2aXR5QWN0aXZpdHlUeXBlcyhwYXlsb2FkLCBudWxsLCBudWxsLCB0cnVlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGFjdGl2aXR5VHlwZXM6IENvbGxlY3Rpb248QWN0aXZpdHlUeXBlPikgPT4gbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYWN0aXZpdHlUeXBlcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZ319KSA9PiB0aGlzLmFjdGl2aXR5U2VydmljZS5nZXRNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5zdGFydERhdGUsIHBheWxvYWQuZW5kRGF0ZSwgZmFsc2UpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYWN0aXZpdHlMb2NhdGlvbnM6IENvbGxlY3Rpb248QWN0aXZpdHlMb2NhdGlvbj4pID0+IGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB7bWVtYmVySWQ6IHBheWxvYWQubWVtYmVySWQsIHN0YXJ0RGF0ZTogcGF5bG9hZC5zdGFydERhdGUsIGVuZERhdGU6IHBheWxvYWQuZW5kRGF0ZSwgbG9jYXRpb25zOiBhY3Rpdml0eUxvY2F0aW9ucy50b0FycmF5KCl9fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IHttZW1iZXJJZDogcGF5bG9hZC5tZW1iZXJJZCwgc3RhcnREYXRlOiBwYXlsb2FkLnN0YXJ0RGF0ZSwgZW5kRGF0ZTogcGF5bG9hZC5lbmREYXRlLCBlcnJvcn19KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nfX0pID0+IHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldE1lbWJlck9wZW5BY3Rpdml0eUFjdGl2aXR5VHlwZXMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5zdGFydERhdGUsIHBheWxvYWQuZW5kRGF0ZSwgZmFsc2UpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYWN0aXZpdHlUeXBlczogQ29sbGVjdGlvbjxBY3Rpdml0eVR5cGU+KSA9PiBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB7bWVtYmVySWQ6IHBheWxvYWQubWVtYmVySWQsIHN0YXJ0RGF0ZTogcGF5bG9hZC5zdGFydERhdGUsIGVuZERhdGU6IHBheWxvYWQuZW5kRGF0ZSwgdHlwZXM6IGFjdGl2aXR5VHlwZXMudG9BcnJheSgpfX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IHttZW1iZXJJZDogcGF5bG9hZC5tZW1iZXJJZCwgc3RhcnREYXRlOiBwYXlsb2FkLnN0YXJ0RGF0ZSwgZW5kRGF0ZTogcGF5bG9hZC5lbmREYXRlLCBlcnJvcn19KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0UHVibGljTWVtYmVyQWN0aXZpdGllc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7IHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcgfX0pID0+IHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldFB1YmxpY01lbWJlckFjdGl2aXRpZXMocGF5bG9hZC5zdGFydERhdGUsIHBheWxvYWQuZW5kRGF0ZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXN1bHQ6IENvbGxlY3Rpb248RXZlbnQ+KSA9PiBsaXN0UHVibGljTWVtYmVyQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHtzdGFydERhdGU6IHBheWxvYWQuc3RhcnREYXRlLCBlbmREYXRlOiBwYXlsb2FkLmVuZERhdGUsIHJlc3VsdHM6IHJlc3VsdC50b0FycmF5KCl9fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdFB1YmxpY01lbWJlckFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkpXG5cbiAgbGlzdFRlYW1BY3Rpdml0aWVzID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0VGVhbUFjdGl2aXRpZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZywgb3BlbkFjdGl2aXR5OiBib29sZWFuIH1cbiAgICAgICAgfSkgPT4gdGhpcy5hY3Rpdml0eVNlcnZpY2UuZ2V0VGVhbUNhbGVuZGFyRXZlbnRzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLnN0YXJ0RGF0ZSwgcGF5bG9hZC5lbmREYXRlLCBwYXlsb2FkLm9wZW5BY3Rpdml0eSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzdWx0czogQ29sbGVjdGlvbjxFdmVudD4pID0+IGxpc3RUZWFtQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24oe1xuICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgICByZXN1bHRzOiByZXN1bHRzLnRvQXJyYXkoKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IHsuLi5wYXlsb2FkLCBlcnJvcn19KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -6,21 +6,23 @@ import { exhaustMap, of } from 'rxjs';
|
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class ClubInfoEffects {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
this.actions$ = inject(Actions);
|
|
11
|
+
this.clubService = inject(ClubService);
|
|
12
|
+
this.getMemberCurrent$ = createEffect(() => this.actions$
|
|
13
|
+
.pipe(ofType(getCurrentMemberClubInfoAction), exhaustMap(({ payload }) => this.clubService.getMemberClubInfo(payload)
|
|
14
|
+
.pipe(map((clubInfo) => getCurrentMemberClubInfoSuccessAction({ payload: clubInfo })), catchError((error) => of(getCurrentMemberClubInfoFailureAction({ payload: error })))))));
|
|
15
|
+
this.getPublicCurrent$ = createEffect(() => this.actions$
|
|
16
|
+
.pipe(ofType(getCurrentPublicClubInfoAction), exhaustMap(() => this.clubService.getPublicClubInfo()
|
|
17
|
+
.pipe(map((clubInfo) => getCurrentPublicClubInfoSuccessAction({ payload: clubInfo })), catchError((error) => of(getCurrentPublicClubInfoFailureAction({ payload: error })))))));
|
|
18
|
+
this.getTeamCurrent$ = createEffect(() => this.actions$
|
|
19
|
+
.pipe(ofType(getCurrentTeamClubInfoAction), exhaustMap(({ payload }) => this.clubService.getTeamClubInfo(payload)
|
|
20
|
+
.pipe(map((clubInfo) => getCurrentTeamClubInfoSuccessAction({ payload: clubInfo })), catchError((error) => of(getCurrentTeamClubInfoFailureAction({ payload: error })))))));
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClubInfoEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClubInfoEffects }); }
|
|
22
24
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClubInfoEffects, decorators: [{
|
|
24
26
|
type: Injectable
|
|
25
27
|
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi1pbmZvLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3N0b3JlL2VmZmVjdHMvY2x1Yi1pbmZvLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxtQ0FBbUMsRUFDcEMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJakQsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLHNCQUFpQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTthQUNqRCxJQUFJLENBQ0gsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEVBQ3RDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO2FBQ2xFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFvQixFQUFFLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLEVBQ3pGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEcsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLHNCQUFpQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTthQUNqRCxJQUFJLENBQ0gsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEVBQ3RDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO2FBQ2xELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFvQixFQUFFLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLEVBQ3pGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEcsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLG9CQUFlLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQy9DLElBQUksQ0FDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsRUFDcEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO2FBQ2hFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFvQixFQUFFLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLEVBQ3ZGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDcEcsQ0FDRixDQUNGLENBQ0YsQ0FBQztLQUNIOytHQXZDWSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBDbHViU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFNlYXJjaENsdWIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgZ2V0Q3VycmVudE1lbWJlckNsdWJJbmZvQWN0aW9uLFxuICBnZXRDdXJyZW50TWVtYmVyQ2x1YkluZm9GYWlsdXJlQWN0aW9uLFxuICBnZXRDdXJyZW50TWVtYmVyQ2x1YkluZm9TdWNjZXNzQWN0aW9uLFxuICBnZXRDdXJyZW50UHVibGljQ2x1YkluZm9BY3Rpb24sXG4gIGdldEN1cnJlbnRQdWJsaWNDbHViSW5mb0ZhaWx1cmVBY3Rpb24sXG4gIGdldEN1cnJlbnRQdWJsaWNDbHViSW5mb1N1Y2Nlc3NBY3Rpb24sXG4gIGdldEN1cnJlbnRUZWFtQ2x1YkluZm9BY3Rpb24sXG4gIGdldEN1cnJlbnRUZWFtQ2x1YkluZm9GYWlsdXJlQWN0aW9uLFxuICBnZXRDdXJyZW50VGVhbUNsdWJJbmZvU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsdWJJbmZvRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgY2x1YlNlcnZpY2UgPSBpbmplY3QoQ2x1YlNlcnZpY2UpO1xuXG4gIGdldE1lbWJlckN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRDdXJyZW50TWVtYmVyQ2x1YkluZm9BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmNsdWJTZXJ2aWNlLmdldE1lbWJlckNsdWJJbmZvKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY2x1YkluZm86IFNlYXJjaENsdWIpID0+IGdldEN1cnJlbnRNZW1iZXJDbHViSW5mb1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNsdWJJbmZvfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZ2V0Q3VycmVudE1lbWJlckNsdWJJbmZvRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ2V0UHVibGljQ3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldEN1cnJlbnRQdWJsaWNDbHViSW5mb0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY2x1YlNlcnZpY2UuZ2V0UHVibGljQ2x1YkluZm8oKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNsdWJJbmZvOiBTZWFyY2hDbHViKSA9PiBnZXRDdXJyZW50UHVibGljQ2x1YkluZm9TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjbHViSW5mb30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGdldEN1cnJlbnRQdWJsaWNDbHViSW5mb0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGdldFRlYW1DdXJyZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoZ2V0Q3VycmVudFRlYW1DbHViSW5mb0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH0pID0+IHRoaXMuY2x1YlNlcnZpY2UuZ2V0VGVhbUNsdWJJbmZvKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY2x1YkluZm86IFNlYXJjaENsdWIpID0+IGdldEN1cnJlbnRUZWFtQ2x1YkluZm9TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjbHViSW5mb30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGdldEN1cnJlbnRUZWFtQ2x1YkluZm9GYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|