@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.
Files changed (180) hide show
  1. package/esm2022/lib/api-models/api-invoice/api-payment-attempt-create.mjs +1 -8
  2. package/esm2022/lib/authentication/authentication.interceptor.mjs +6 -8
  3. package/esm2022/lib/authentication/authentication.service.mjs +8 -11
  4. package/esm2022/lib/authentication/guards/authenticated.guard.mjs +4 -6
  5. package/esm2022/lib/authentication/guards/handle-grant-token.guard.mjs +4 -7
  6. package/esm2022/lib/data-access.module.mjs +6 -6
  7. package/esm2022/lib/maintenance/maintenance.interceptor.mjs +4 -5
  8. package/esm2022/lib/models/activity-extra-member.mjs +1 -8
  9. package/esm2022/lib/models/activity-invite.mjs +1 -23
  10. package/esm2022/lib/models/activity-location-group.mjs +1 -7
  11. package/esm2022/lib/models/activity-location-part.mjs +1 -3
  12. package/esm2022/lib/models/activity-location-tag.mjs +1 -6
  13. package/esm2022/lib/models/activity-location.mjs +1 -11
  14. package/esm2022/lib/models/activity-participant.mjs +1 -8
  15. package/esm2022/lib/models/activity-question-connection.mjs +1 -8
  16. package/esm2022/lib/models/activity-question-response.mjs +1 -3
  17. package/esm2022/lib/models/activity-question.mjs +1 -8
  18. package/esm2022/lib/models/activity-rule-relation.mjs +1 -9
  19. package/esm2022/lib/models/activity-rule.mjs +1 -8
  20. package/esm2022/lib/models/activity-settings.mjs +1 -18
  21. package/esm2022/lib/models/activity-type.mjs +1 -9
  22. package/esm2022/lib/models/activity-waiting-list-entry.mjs +1 -16
  23. package/esm2022/lib/models/activity.mjs +1 -82
  24. package/esm2022/lib/models/app-settings.mjs +1 -5
  25. package/esm2022/lib/models/auth/auth-member.mjs +3 -7
  26. package/esm2022/lib/models/auth/auth-section.mjs +1 -6
  27. package/esm2022/lib/models/auth/auth-team-section.mjs +1 -3
  28. package/esm2022/lib/models/auth/auth-team.mjs +1 -6
  29. package/esm2022/lib/models/auth/auth.mjs +1 -17
  30. package/esm2022/lib/models/authentication.mjs +1 -3
  31. package/esm2022/lib/models/bookable-item.mjs +1 -11
  32. package/esm2022/lib/models/bookable-part.mjs +1 -3
  33. package/esm2022/lib/models/bookable-tag.mjs +1 -6
  34. package/esm2022/lib/models/booking-calendar-application-time.mjs +1 -33
  35. package/esm2022/lib/models/booking-calendar-slot-session.mjs +1 -35
  36. package/esm2022/lib/models/booking-calendar-slot-validate-copy-result.mjs +1 -5
  37. package/esm2022/lib/models/booking-calendar-slot.mjs +1 -26
  38. package/esm2022/lib/models/booking-calendar.mjs +1 -33
  39. package/esm2022/lib/models/booking-settings.mjs +1 -8
  40. package/esm2022/lib/models/booking-slot-filter.mjs +1 -12
  41. package/esm2022/lib/models/calendar-event.mjs +1 -16
  42. package/esm2022/lib/models/calendar.mjs +1 -6
  43. package/esm2022/lib/models/card/card-deal.mjs +1 -6
  44. package/esm2022/lib/models/card/card-logo-urls.mjs +1 -9
  45. package/esm2022/lib/models/card/card-logo.mjs +1 -4
  46. package/esm2022/lib/models/card/card-member-ticket.mjs +1 -7
  47. package/esm2022/lib/models/card/card-theme.mjs +1 -6
  48. package/esm2022/lib/models/card/card-ticket-location.mjs +1 -5
  49. package/esm2022/lib/models/card/card-ticket.mjs +1 -17
  50. package/esm2022/lib/models/card/card.mjs +1 -9
  51. package/esm2022/lib/models/card/home-team.mjs +1 -4
  52. package/esm2022/lib/models/card/member-card.mjs +1 -11
  53. package/esm2022/lib/models/card/search-member-card.mjs +1 -5
  54. package/esm2022/lib/models/card/selected-field.mjs +1 -3
  55. package/esm2022/lib/models/club-image.mjs +1 -14
  56. package/esm2022/lib/models/club-section.mjs +1 -3
  57. package/esm2022/lib/models/club.mjs +1 -3
  58. package/esm2022/lib/models/collection.mjs +1 -5
  59. package/esm2022/lib/models/contact.mjs +1 -19
  60. package/esm2022/lib/models/databank-category.mjs +1 -7
  61. package/esm2022/lib/models/databank-item.mjs +1 -7
  62. package/esm2022/lib/models/directory.mjs +1 -10
  63. package/esm2022/lib/models/email.mjs +1 -4
  64. package/esm2022/lib/models/event.mjs +1 -28
  65. package/esm2022/lib/models/external-link.mjs +1 -3
  66. package/esm2022/lib/models/feature-flags.mjs +1 -14
  67. package/esm2022/lib/models/file-object.mjs +1 -10
  68. package/esm2022/lib/models/general-image.mjs +1 -4
  69. package/esm2022/lib/models/group-role.mjs +1 -7
  70. package/esm2022/lib/models/guest.mjs +1 -5
  71. package/esm2022/lib/models/image-urls.mjs +1 -6
  72. package/esm2022/lib/models/invoice/member-fee.mjs +1 -6
  73. package/esm2022/lib/models/invoice/member-invoice-row.mjs +1 -14
  74. package/esm2022/lib/models/invoice/member-invoice.mjs +1 -24
  75. package/esm2022/lib/models/invoice/payment-attempt.mjs +1 -10
  76. package/esm2022/lib/models/invoice/payment-order-row.mjs +1 -3
  77. package/esm2022/lib/models/invoice/payment-order.mjs +1 -18
  78. package/esm2022/lib/models/invoice/payment-types/credit-card.mjs +1 -12
  79. package/esm2022/lib/models/invoice/payment-types/giro.mjs +1 -7
  80. package/esm2022/lib/models/invoice/payment-types/swish.mjs +1 -14
  81. package/esm2022/lib/models/invoice/payment-types/zimpler.mjs +1 -8
  82. package/esm2022/lib/models/invoice/search-member-invoice.mjs +1 -10
  83. package/esm2022/lib/models/invoice/swish-qr-code.mjs +1 -2
  84. package/esm2022/lib/models/invoice/unpaid-member-invoice.mjs +1 -5
  85. package/esm2022/lib/models/leader-activity.mjs +1 -12
  86. package/esm2022/lib/models/member/member-attribute.mjs +1 -12
  87. package/esm2022/lib/models/member/member-contact.mjs +1 -6
  88. package/esm2022/lib/models/member/member-function.mjs +1 -6
  89. package/esm2022/lib/models/member/member-validation-settings.mjs +1 -9
  90. package/esm2022/lib/models/member/member.mjs +1 -27
  91. package/esm2022/lib/models/member/other-member-field.mjs +1 -4
  92. package/esm2022/lib/models/member/other-member.mjs +1 -9
  93. package/esm2022/lib/models/member/search-member.mjs +1 -17
  94. package/esm2022/lib/models/member-activity-invite.mjs +1 -12
  95. package/esm2022/lib/models/member-public-form-field-option.mjs +1 -5
  96. package/esm2022/lib/models/member-public-form-field.mjs +1 -12
  97. package/esm2022/lib/models/member-public-form.mjs +1 -26
  98. package/esm2022/lib/models/member-team-through.mjs +1 -10
  99. package/esm2022/lib/models/member-team.mjs +1 -10
  100. package/esm2022/lib/models/member-type.mjs +1 -4
  101. package/esm2022/lib/models/mypages-menu-item.mjs +1 -4
  102. package/esm2022/lib/models/news.mjs +1 -20
  103. package/esm2022/lib/models/open-activity.mjs +3 -79
  104. package/esm2022/lib/models/optional-fee.mjs +2 -7
  105. package/esm2022/lib/models/overbooked-bookable-item.mjs +1 -6
  106. package/esm2022/lib/models/overbooked-location.mjs +1 -6
  107. package/esm2022/lib/models/partner.mjs +1 -5
  108. package/esm2022/lib/models/public-authentication.mjs +1 -3
  109. package/esm2022/lib/models/registration-qr-code.mjs +1 -8
  110. package/esm2022/lib/models/retrieve-2fa.mjs +1 -3
  111. package/esm2022/lib/models/saved-search.mjs +1 -3
  112. package/esm2022/lib/models/search-attribute.mjs +1 -5
  113. package/esm2022/lib/models/search-club.mjs +1 -10
  114. package/esm2022/lib/models/search-team.mjs +1 -9
  115. package/esm2022/lib/models/section.mjs +1 -3
  116. package/esm2022/lib/models/swish-incident.mjs +1 -11
  117. package/esm2022/lib/models/token.mjs +1 -4
  118. package/esm2022/lib/models/user-notification.mjs +1 -9
  119. package/esm2022/lib/models/user.mjs +1 -13
  120. package/esm2022/lib/services/activity.service.mjs +4 -7
  121. package/esm2022/lib/services/api.service.mjs +4 -6
  122. package/esm2022/lib/services/auth.service.mjs +4 -5
  123. package/esm2022/lib/services/bookable.service.mjs +4 -5
  124. package/esm2022/lib/services/booking-calendar.service.mjs +22 -6
  125. package/esm2022/lib/services/club.service.mjs +4 -5
  126. package/esm2022/lib/services/constant.service.mjs +4 -5
  127. package/esm2022/lib/services/databank.service.mjs +4 -5
  128. package/esm2022/lib/services/email.service.mjs +4 -5
  129. package/esm2022/lib/services/external-link.service.mjs +4 -5
  130. package/esm2022/lib/services/feature-flags.service.mjs +4 -5
  131. package/esm2022/lib/services/file.service.mjs +4 -5
  132. package/esm2022/lib/services/invoice/invoice.service.mjs +4 -5
  133. package/esm2022/lib/services/invoice/payment-attempt.service.mjs +4 -5
  134. package/esm2022/lib/services/invoice/payment-order.service.mjs +4 -5
  135. package/esm2022/lib/services/leader-notification.service.mjs +4 -5
  136. package/esm2022/lib/services/maintenance-mode.service.mjs +8 -7
  137. package/esm2022/lib/services/member-card.service.mjs +4 -5
  138. package/esm2022/lib/services/member-fee.service.mjs +4 -5
  139. package/esm2022/lib/services/member-public-form.service.mjs +4 -5
  140. package/esm2022/lib/services/member.service.mjs +4 -5
  141. package/esm2022/lib/services/news.service.mjs +4 -5
  142. package/esm2022/lib/services/registration-qr-code.service.mjs +4 -5
  143. package/esm2022/lib/services/saved-search.service.mjs +4 -5
  144. package/esm2022/lib/services/section.service.mjs +4 -5
  145. package/esm2022/lib/services/storage.service.mjs +5 -6
  146. package/esm2022/lib/services/swish-incident.service.mjs +4 -5
  147. package/esm2022/lib/services/team.service.mjs +4 -5
  148. package/esm2022/lib/services/token.service.mjs +4 -5
  149. package/esm2022/lib/services/user-notification.service.mjs +4 -5
  150. package/esm2022/lib/services/user.service.mjs +4 -5
  151. package/esm2022/lib/store/actions/booking.actions.mjs +7 -1
  152. package/esm2022/lib/store/effects/activity.effects.mjs +358 -355
  153. package/esm2022/lib/store/effects/auth.effects.mjs +121 -111
  154. package/esm2022/lib/store/effects/booking.effects.mjs +139 -134
  155. package/esm2022/lib/store/effects/calendar.effects.mjs +61 -59
  156. package/esm2022/lib/store/effects/club-info.effects.mjs +17 -15
  157. package/esm2022/lib/store/effects/constant.effects.mjs +78 -76
  158. package/esm2022/lib/store/effects/databank.effects.mjs +23 -21
  159. package/esm2022/lib/store/effects/email.effects.mjs +16 -14
  160. package/esm2022/lib/store/effects/external-link.effects.mjs +11 -9
  161. package/esm2022/lib/store/effects/file.effects.mjs +92 -90
  162. package/esm2022/lib/store/effects/invoice.effects.mjs +176 -174
  163. package/esm2022/lib/store/effects/member-card.effects.mjs +73 -71
  164. package/esm2022/lib/store/effects/member-fee.effects.mjs +9 -7
  165. package/esm2022/lib/store/effects/member.effects.mjs +41 -39
  166. package/esm2022/lib/store/effects/mixins/extra-members-mixin.mjs +4 -2
  167. package/esm2022/lib/store/effects/news.effects.mjs +47 -45
  168. package/esm2022/lib/store/effects/public-form.effects.mjs +24 -22
  169. package/esm2022/lib/store/effects/registration-qr-code.effects.mjs +14 -12
  170. package/esm2022/lib/store/effects/saved-search.effects.mjs +9 -7
  171. package/esm2022/lib/store/effects/swish-incidents.effects.mjs +11 -9
  172. package/esm2022/lib/store/effects/team.effects.mjs +83 -76
  173. package/esm2022/lib/store/effects/token.effects.mjs +93 -91
  174. package/esm2022/lib/store/effects/user.effects.mjs +35 -35
  175. package/fesm2022/myclub_se-data-access.mjs +1771 -2845
  176. package/fesm2022/myclub_se-data-access.mjs.map +1 -1
  177. package/lib/services/booking-calendar.service.d.ts +3 -0
  178. package/lib/store/actions/booking.actions.d.ts +24 -0
  179. package/lib/store/effects/booking.effects.d.ts +5 -0
  180. package/package.json +1 -1
@@ -6,78 +6,80 @@ 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 MemberCardEffects {
9
- actions$ = inject(Actions);
10
- memberCardService = inject(MemberCardService);
11
- activateCardTicket$ = createEffect(() => this.actions$
12
- .pipe(ofType(activateCardTicketAction), exhaustMap(({ payload }) => this.memberCardService.activateMemberCardTicket(payload.memberId, payload.cardId, payload.id, payload.pinCode)
13
- .pipe(mergeMap((memberTicket) => [
14
- activateCardTicketSuccessAction({ payload: memberTicket }),
15
- retrieveMemberCardTicketsAction({ payload: { memberId: payload.memberId, memberCardId: payload.cardId } })
16
- ]), catchError((error) => of(activateCardTicketFailureAction({ payload: error })))))));
17
- activatePublicCardTicket$ = createEffect(() => this.actions$
18
- .pipe(ofType(activatePublicCardTicketAction), exhaustMap(({ payload }) => this.memberCardService.activatePublicCardTicket(payload.cardId, payload.token, payload.id, payload.pinCode)
19
- .pipe(map((memberTicket) => activatePublicCardTicketSuccessAction({ payload: memberTicket })), catchError((error) => of(activatePublicCardTicketFailureAction({ payload: error })))))));
20
- listMemberCards$ = createEffect(() => this.actions$
21
- .pipe(ofType(listMemberCardsAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.memberCardService.getMemberCards(id).pipe(map((cards) => ({ id, cards: cards.toArray() })), catchError((error) => of({ id, error }))))).pipe(map(results => {
22
- const resultMap = new Map();
23
- results.forEach((result) => {
24
- if (result.cards) {
25
- resultMap.set(result.id, result.cards);
9
+ constructor() {
10
+ this.actions$ = inject(Actions);
11
+ this.memberCardService = inject(MemberCardService);
12
+ this.activateCardTicket$ = createEffect(() => this.actions$
13
+ .pipe(ofType(activateCardTicketAction), exhaustMap(({ payload }) => this.memberCardService.activateMemberCardTicket(payload.memberId, payload.cardId, payload.id, payload.pinCode)
14
+ .pipe(mergeMap((memberTicket) => [
15
+ activateCardTicketSuccessAction({ payload: memberTicket }),
16
+ retrieveMemberCardTicketsAction({ payload: { memberId: payload.memberId, memberCardId: payload.cardId } })
17
+ ]), catchError((error) => of(activateCardTicketFailureAction({ payload: error })))))));
18
+ this.activatePublicCardTicket$ = createEffect(() => this.actions$
19
+ .pipe(ofType(activatePublicCardTicketAction), exhaustMap(({ payload }) => this.memberCardService.activatePublicCardTicket(payload.cardId, payload.token, payload.id, payload.pinCode)
20
+ .pipe(map((memberTicket) => activatePublicCardTicketSuccessAction({ payload: memberTicket })), catchError((error) => of(activatePublicCardTicketFailureAction({ payload: error })))))));
21
+ this.listMemberCards$ = createEffect(() => this.actions$
22
+ .pipe(ofType(listMemberCardsAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.memberCardService.getMemberCards(id).pipe(map((cards) => ({ id, cards: cards.toArray() })), catchError((error) => of({ id, error }))))).pipe(map(results => {
23
+ const resultMap = new Map();
24
+ results.forEach((result) => {
25
+ if (result.cards) {
26
+ resultMap.set(result.id, result.cards);
27
+ }
28
+ });
29
+ return listMemberCardsSuccessAction({ payload: resultMap });
30
+ }), catchError((error) => of(listMemberCardsFailureAction({ payload: error })))))));
31
+ this.retrieveMemberCard$ = createEffect(() => this.actions$
32
+ .pipe(ofType(retrieveMemberCardAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCard(payload.memberId, payload.memberCardId)
33
+ .pipe(map((card) => retrieveMemberCardSuccessAction({ payload: card })), catchError((error) => of(retrieveMemberCardFailureAction({ payload: error })))))));
34
+ this.retrieveDeals$ = createEffect(() => this.actions$
35
+ .pipe(ofType(retrieveMemberCardDealsAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCardDeals(payload.memberId, payload.memberCardId)
36
+ .pipe(map((cardDeals) => retrieveMemberCardDealsSuccessAction({
37
+ payload: {
38
+ memberCardId: payload.memberCardId,
39
+ deals: cardDeals.toArray()
26
40
  }
27
- });
28
- return listMemberCardsSuccessAction({ payload: resultMap });
29
- }), catchError((error) => of(listMemberCardsFailureAction({ payload: error })))))));
30
- retrieveMemberCard$ = createEffect(() => this.actions$
31
- .pipe(ofType(retrieveMemberCardAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCard(payload.memberId, payload.memberCardId)
32
- .pipe(map((card) => retrieveMemberCardSuccessAction({ payload: card })), catchError((error) => of(retrieveMemberCardFailureAction({ payload: error })))))));
33
- retrieveDeals$ = createEffect(() => this.actions$
34
- .pipe(ofType(retrieveMemberCardDealsAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCardDeals(payload.memberId, payload.memberCardId)
35
- .pipe(map((cardDeals) => retrieveMemberCardDealsSuccessAction({
36
- payload: {
37
- memberCardId: payload.memberCardId,
38
- deals: cardDeals.toArray()
39
- }
40
- })), catchError((error) => of(retrieveMemberCardDealsFailureAction({ payload: error })))))));
41
- retrievePublicMemberCard$ = createEffect(() => this.actions$
42
- .pipe(ofType(retrievePublicMemberCardAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCard(payload.memberCardId, payload.token)
43
- .pipe(map((card) => retrievePublicMemberCardSuccessAction({ payload: card })), catchError((error) => of(retrievePublicMemberCardFailureAction({ payload: error })))))));
44
- retrievePublicMemberCardDeals$ = createEffect(() => this.actions$
45
- .pipe(ofType(retrievePublicMemberCardDealsAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardDeals(payload.memberCardId, payload.token)
46
- .pipe(map((cardDeals) => retrievePublicMemberCardDealsSuccessAction({
47
- payload: {
48
- memberCardId: payload.memberCardId,
49
- deals: cardDeals.toArray()
50
- }
51
- })), catchError((error) => of(retrievePublicMemberCardDealsFailureAction({ payload: error })))))));
52
- retrievePublicMemberCardQRCode$ = createEffect(() => this.actions$
53
- .pipe(ofType(retrievePublicMemberCardQRCodeAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardQRCode(payload.memberCardId, payload.token)
54
- .pipe(map((memberCard) => retrievePublicMemberCardQRCodeSuccessAction({ payload: memberCard })), catchError((error) => of(retrievePublicMemberCardQRCodeFailureAction({ payload: error })))))));
55
- retrievePublicMemberCardRegistration$ = createEffect(() => this.actions$
56
- .pipe(ofType(retrievePublicMemberCardRegisterAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardRegistration(payload.memberCardId, payload.token)
57
- .pipe(map((memberCard) => retrievePublicMemberCardRegisterSuccessAction({ payload: memberCard })), catchError((error) => of(retrievePublicMemberCardRegisterFailureAction({ payload: error })))))));
58
- retrievePublicMemberCardTickets$ = createEffect(() => this.actions$
59
- .pipe(ofType(retrievePublicMemberCardTicketsAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardTickets(payload.memberCardId, payload.token)
60
- .pipe(map((cardTickets) => retrievePublicMemberCardTicketsSuccessAction({
61
- payload: {
62
- memberCardId: payload.memberCardId,
63
- tickets: cardTickets.toArray()
64
- }
65
- })), catchError((error) => of(retrievePublicMemberCardTicketsFailureAction({ payload: error })))))));
66
- retrieveQRCode$ = createEffect(() => this.actions$
67
- .pipe(ofType(retrieveMemberCardQRCodeAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCardQRCode(payload.memberId, payload.memberCardId)
68
- .pipe(map((memberCard) => retrieveMemberCardQRCodeSuccessAction({ payload: memberCard })), catchError((error) => of(retrieveMemberCardQRCodeFailureAction({ payload: error })))))));
69
- retrieveTickets$ = createEffect(() => this.actions$
70
- .pipe(ofType(retrieveMemberCardTicketsAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCardTickets(payload.memberId, payload.memberCardId)
71
- .pipe(map((cardTickets) => retrieveMemberCardTicketsSuccessAction({
72
- payload: {
73
- memberCardId: payload.memberCardId,
74
- tickets: cardTickets.toArray()
75
- }
76
- })), catchError((error) => of(retrieveMemberCardTicketsFailureAction({ payload: error })))))));
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberCardEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberCardEffects });
41
+ })), catchError((error) => of(retrieveMemberCardDealsFailureAction({ payload: error })))))));
42
+ this.retrievePublicMemberCard$ = createEffect(() => this.actions$
43
+ .pipe(ofType(retrievePublicMemberCardAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCard(payload.memberCardId, payload.token)
44
+ .pipe(map((card) => retrievePublicMemberCardSuccessAction({ payload: card })), catchError((error) => of(retrievePublicMemberCardFailureAction({ payload: error })))))));
45
+ this.retrievePublicMemberCardDeals$ = createEffect(() => this.actions$
46
+ .pipe(ofType(retrievePublicMemberCardDealsAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardDeals(payload.memberCardId, payload.token)
47
+ .pipe(map((cardDeals) => retrievePublicMemberCardDealsSuccessAction({
48
+ payload: {
49
+ memberCardId: payload.memberCardId,
50
+ deals: cardDeals.toArray()
51
+ }
52
+ })), catchError((error) => of(retrievePublicMemberCardDealsFailureAction({ payload: error })))))));
53
+ this.retrievePublicMemberCardQRCode$ = createEffect(() => this.actions$
54
+ .pipe(ofType(retrievePublicMemberCardQRCodeAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardQRCode(payload.memberCardId, payload.token)
55
+ .pipe(map((memberCard) => retrievePublicMemberCardQRCodeSuccessAction({ payload: memberCard })), catchError((error) => of(retrievePublicMemberCardQRCodeFailureAction({ payload: error })))))));
56
+ this.retrievePublicMemberCardRegistration$ = createEffect(() => this.actions$
57
+ .pipe(ofType(retrievePublicMemberCardRegisterAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardRegistration(payload.memberCardId, payload.token)
58
+ .pipe(map((memberCard) => retrievePublicMemberCardRegisterSuccessAction({ payload: memberCard })), catchError((error) => of(retrievePublicMemberCardRegisterFailureAction({ payload: error })))))));
59
+ this.retrievePublicMemberCardTickets$ = createEffect(() => this.actions$
60
+ .pipe(ofType(retrievePublicMemberCardTicketsAction), exhaustMap(({ payload }) => this.memberCardService.getPublicMemberCardTickets(payload.memberCardId, payload.token)
61
+ .pipe(map((cardTickets) => retrievePublicMemberCardTicketsSuccessAction({
62
+ payload: {
63
+ memberCardId: payload.memberCardId,
64
+ tickets: cardTickets.toArray()
65
+ }
66
+ })), catchError((error) => of(retrievePublicMemberCardTicketsFailureAction({ payload: error })))))));
67
+ this.retrieveQRCode$ = createEffect(() => this.actions$
68
+ .pipe(ofType(retrieveMemberCardQRCodeAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCardQRCode(payload.memberId, payload.memberCardId)
69
+ .pipe(map((memberCard) => retrieveMemberCardQRCodeSuccessAction({ payload: memberCard })), catchError((error) => of(retrieveMemberCardQRCodeFailureAction({ payload: error })))))));
70
+ this.retrieveTickets$ = createEffect(() => this.actions$
71
+ .pipe(ofType(retrieveMemberCardTicketsAction), exhaustMap(({ payload }) => this.memberCardService.getMemberCardTickets(payload.memberId, payload.memberCardId)
72
+ .pipe(map((cardTickets) => retrieveMemberCardTicketsSuccessAction({
73
+ payload: {
74
+ memberCardId: payload.memberCardId,
75
+ tickets: cardTickets.toArray()
76
+ }
77
+ })), catchError((error) => of(retrieveMemberCardTicketsFailureAction({ payload: error })))))));
78
+ }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberCardEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
80
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberCardEffects }); }
79
81
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberCardEffects, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberCardEffects, decorators: [{
81
83
  type: Injectable
82
84
  }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLWNhcmQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9tZW1iZXItY2FyZC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIscUNBQXFDLEVBQ3JDLHFDQUFxQyxFQUNyQywrQkFBK0IsRUFDL0IsK0JBQStCLEVBQy9CLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsOEJBQThCLEVBQzlCLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsMENBQTBDLEVBQzFDLHFDQUFxQyxFQUNyQyxvQ0FBb0MsRUFDcEMsMkNBQTJDLEVBQzNDLDJDQUEyQyxFQUMzQyxzQ0FBc0MsRUFDdEMsNkNBQTZDLEVBQzdDLDZDQUE2QyxFQUM3QyxxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsR0FDN0MsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU1qRCxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFdEQsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ25ELElBQUksQ0FDSCxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFDaEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBRWpCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ2pILElBQUksQ0FDSCxRQUFRLENBQUMsQ0FBQyxZQUE4QixFQUFFLEVBQUUsQ0FBQztRQUMzQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUN4RCwrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxFQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFDLEVBQUMsQ0FBQztLQUN2RyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLCtCQUErQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNoRyxDQUNKLENBQ0YsQ0FDRixDQUFDO0lBRUYseUJBQXlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ3pELElBQUksQ0FDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsRUFDdEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBRWpCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1NBQzlHLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxZQUE4QixFQUFFLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDLEVBQ3ZHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEcsQ0FDSixDQUNGLENBQ0YsQ0FBQztJQUVGLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQzdCLFFBQVEsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUE2QixFQUFFLEVBQUUsQ0FDakQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUMxRCxDQUNGLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQW1DLENBQUM7UUFDN0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWtGLEVBQUUsRUFBRTtZQUNyRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLDRCQUE0QixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUM3RixDQUNGLENBQ0YsQ0FDRixDQUFDO0lBRUYsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ25ELElBQUksQ0FDSCxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFDaEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBRWpCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDO1NBQy9FLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxJQUFnQixFQUFFLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLEVBQzNFLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FDSixDQUNGLENBQ0YsQ0FBQztJQUVGLGNBQWMsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVE7U0FDOUMsSUFBSSxDQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxFQUNyQyxVQUFVLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFFakIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQztTQUNwRixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsU0FBK0IsRUFBRSxFQUFFLENBQUMsb0NBQW9DLENBQUM7UUFDNUUsT0FBTyxFQUFFO1lBQ1AsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFO1NBQzNCO0tBQ0YsQ0FBQyxDQUFDLEVBQ0gsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNyRyxDQUNKLENBQ0YsQ0FDRixDQUFDO0lBRUYseUJBQXlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ3pELElBQUksQ0FDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsRUFDdEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQXVELEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDNUosSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQWdCLEVBQUUsRUFBRSxDQUFDLHFDQUFxQyxDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsRUFDakYsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUN0RyxDQUNGLENBQ0YsQ0FDRixDQUFDO0lBRUYsOEJBQThCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQzlELElBQUksQ0FDSCxNQUFNLENBQUMsbUNBQW1DLENBQUMsRUFDM0MsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQXVELEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDakssSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFNBQStCLEVBQUUsRUFBRSxDQUFDLDBDQUEwQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRTtTQUMzQjtLQUNGLENBQUMsQ0FBQyxFQUNILFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0csQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUVGLCtCQUErQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUMvRCxJQUFJLENBQ0gsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLEVBQzVDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUF1RCxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2xLLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLEVBQ25HLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUcsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUVGLHFDQUFxQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUNyRSxJQUFJLENBQ0gsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLEVBQzlDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUF1RCxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ3hLLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLEVBQ3JHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDOUcsQ0FDRixDQUNGLENBQ0YsQ0FBQTtJQUVELGdDQUFnQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUNoRSxJQUFJLENBQ0gsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLEVBQzdDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUF1RCxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ25LLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxXQUFtQyxFQUFFLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQztRQUN4RixPQUFPLEVBQUU7WUFDUCxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFDbEMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7U0FDL0I7S0FDRixDQUFDLENBQUMsRUFDSCxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsNENBQTRDLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzdHLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFFRixlQUFlLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQy9DLElBQUksQ0FDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsRUFDdEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBRWpCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDckYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQUUsRUFBRSxDQUFDLHFDQUFxQyxDQUFDLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUMsRUFDN0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUN0RyxDQUNKLENBQ0YsQ0FDRixDQUFDO0lBRUYsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ2hELElBQUksQ0FDSCxNQUFNLENBQUMsK0JBQStCLENBQUMsRUFDdkMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBRWpCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7U0FDdEYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFdBQW1DLEVBQUUsRUFBRSxDQUFDLHNDQUFzQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRTtTQUMvQjtLQUNGLENBQUMsQ0FBQyxFQUNILFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdkcsQ0FDSixDQUNGLENBQUMsQ0FBQzt1R0FqTU0saUJBQWlCOzJHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBDYXJkRGVhbCwgQ2FyZE1lbWJlclRpY2tldCwgQ2FyZFRpY2tldCwgQ29sbGVjdGlvbiwgTWVtYmVyQ2FyZCwgU2VhcmNoTWVtYmVyQ2FyZCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNZW1iZXJDYXJkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIGFjdGl2YXRlQ2FyZFRpY2tldEFjdGlvbixcbiAgYWN0aXZhdGVDYXJkVGlja2V0RmFpbHVyZUFjdGlvbixcbiAgYWN0aXZhdGVDYXJkVGlja2V0U3VjY2Vzc0FjdGlvbixcbiAgYWN0aXZhdGVQdWJsaWNDYXJkVGlja2V0QWN0aW9uLFxuICBhY3RpdmF0ZVB1YmxpY0NhcmRUaWNrZXRGYWlsdXJlQWN0aW9uLFxuICBhY3RpdmF0ZVB1YmxpY0NhcmRUaWNrZXRTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyQ2FyZHNBY3Rpb24sXG4gIGxpc3RNZW1iZXJDYXJkc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJDYXJkc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZEFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDYXJkRGVhbHNBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZERlYWxzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDYXJkRGVhbHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRRUkNvZGVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZFFSQ29kZUZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZFFSQ29kZVN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZFN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZFRpY2tldHNBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZFRpY2tldHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRUaWNrZXRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmREZWFsc0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkRGVhbHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmREZWFsc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZEZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFFSQ29kZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUVJDb2RlRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUVJDb2RlU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUmVnaXN0ZXJBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFJlZ2lzdGVyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUmVnaXN0ZXJTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRUaWNrZXRzQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRUaWNrZXRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkVGlja2V0c1N1Y2Nlc3NBY3Rpb24sXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgZm9ya0pvaW4sIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY3RpdmF0ZUNhcmRUaWNrZXRJbnRlcmZhY2UsIFB1YmxpY0FjdGl2YXRlQ2FyZFRpY2tldEludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZW1iZXJDYXJkRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgbWVtYmVyQ2FyZFNlcnZpY2UgPSBpbmplY3QoTWVtYmVyQ2FyZFNlcnZpY2UpO1xuXG4gIGFjdGl2YXRlQ2FyZFRpY2tldCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGFjdGl2YXRlQ2FyZFRpY2tldEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiBBY3RpdmF0ZUNhcmRUaWNrZXRJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5hY3RpdmF0ZU1lbWJlckNhcmRUaWNrZXQocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5jYXJkSWQsIHBheWxvYWQuaWQsIHBheWxvYWQucGluQ29kZSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKChtZW1iZXJUaWNrZXQ6IENhcmRNZW1iZXJUaWNrZXQpID0+IFtcbiAgICAgICAgICAgICAgYWN0aXZhdGVDYXJkVGlja2V0U3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyVGlja2V0fSksXG4gICAgICAgICAgICAgIHJldHJpZXZlTWVtYmVyQ2FyZFRpY2tldHNBY3Rpb24oe3BheWxvYWQ6IHttZW1iZXJJZDogcGF5bG9hZC5tZW1iZXJJZCwgbWVtYmVyQ2FyZElkOiBwYXlsb2FkLmNhcmRJZH19KVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGFjdGl2YXRlQ2FyZFRpY2tldEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgYWN0aXZhdGVQdWJsaWNDYXJkVGlja2V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoYWN0aXZhdGVQdWJsaWNDYXJkVGlja2V0QWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IFB1YmxpY0FjdGl2YXRlQ2FyZFRpY2tldEludGVyZmFjZVxuICAgICAgICB9KSA9PiB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmFjdGl2YXRlUHVibGljQ2FyZFRpY2tldChwYXlsb2FkLmNhcmRJZCwgcGF5bG9hZC50b2tlbiwgcGF5bG9hZC5pZCwgcGF5bG9hZC5waW5Db2RlKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJUaWNrZXQ6IENhcmRNZW1iZXJUaWNrZXQpID0+IGFjdGl2YXRlUHVibGljQ2FyZFRpY2tldFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlclRpY2tldH0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoYWN0aXZhdGVQdWJsaWNDYXJkVGlja2V0RmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyQ2FyZHMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyQ2FyZHNBY3Rpb24pLFxuICAgICAgbWVyZ2VNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBBcnJheTxzdHJpbmc+IH0pID0+XG4gICAgICAgIGZvcmtKb2luKHBheWxvYWQubWFwKChpZDogc3RyaW5nKSA9PlxuICAgICAgICAgIHRoaXMubWVtYmVyQ2FyZFNlcnZpY2UuZ2V0TWVtYmVyQ2FyZHMoaWQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcmRzOiBDb2xsZWN0aW9uPFNlYXJjaE1lbWJlckNhcmQ+KSA9PiAoe2lkLCBjYXJkczogY2FyZHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih7aWQsIGVycm9yfSkpXG4gICAgICAgICAgKVxuICAgICAgICApKS5waXBlKFxuICAgICAgICAgIG1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnJheTxTZWFyY2hNZW1iZXJDYXJkPj4oKTtcbiAgICAgICAgICAgIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0OiB7IGlkOiBzdHJpbmcsIGNhcmRzPzogQXJyYXk8U2VhcmNoTWVtYmVyQ2FyZD4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICBpZiAocmVzdWx0LmNhcmRzKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0TWFwLnNldChyZXN1bHQuaWQsIHJlc3VsdC5jYXJkcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGxpc3RNZW1iZXJDYXJkc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHJlc3VsdE1hcH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlckNhcmRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJDYXJkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJDYXJkQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgbWVtYmVyQ2FyZElkOiBzdHJpbmcgfVxuICAgICAgICB9KSA9PiB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmdldE1lbWJlckNhcmQocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5tZW1iZXJDYXJkSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcmQ6IE1lbWJlckNhcmQpID0+IHJldHJpZXZlTWVtYmVyQ2FyZFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNhcmR9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyQ2FyZEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVEZWFscyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyQ2FyZERlYWxzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgbWVtYmVyQ2FyZElkOiBzdHJpbmcgfVxuICAgICAgICB9KSA9PiB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmdldE1lbWJlckNhcmREZWFscyhwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLm1lbWJlckNhcmRJZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FyZERlYWxzOiBDb2xsZWN0aW9uPENhcmREZWFsPikgPT4gcmV0cmlldmVNZW1iZXJDYXJkRGVhbHNTdWNjZXNzQWN0aW9uKHtcbiAgICAgICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgICAgIG1lbWJlckNhcmRJZDogcGF5bG9hZC5tZW1iZXJDYXJkSWQsXG4gICAgICAgICAgICAgICAgZGVhbHM6IGNhcmREZWFscy50b0FycmF5KClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckNhcmREZWFsc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiB7IHRva2VuOiBzdHJpbmcsIG1lbWJlckNhcmRJZDogc3RyaW5nIH0gfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5nZXRQdWJsaWNNZW1iZXJDYXJkKHBheWxvYWQubWVtYmVyQ2FyZElkLCBwYXlsb2FkLnRva2VuKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNhcmQ6IE1lbWJlckNhcmQpID0+IHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNhcmR9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmREZWFscyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZERlYWxzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiB7IHRva2VuOiBzdHJpbmcsIG1lbWJlckNhcmRJZDogc3RyaW5nIH0gfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5nZXRQdWJsaWNNZW1iZXJDYXJkRGVhbHMocGF5bG9hZC5tZW1iZXJDYXJkSWQsIHBheWxvYWQudG9rZW4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY2FyZERlYWxzOiBDb2xsZWN0aW9uPENhcmREZWFsPikgPT4gcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkRGVhbHNTdWNjZXNzQWN0aW9uKHtcbiAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgbWVtYmVyQ2FyZElkOiBwYXlsb2FkLm1lbWJlckNhcmRJZCxcbiAgICAgICAgICAgICAgZGVhbHM6IGNhcmREZWFscy50b0FycmF5KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVB1YmxpY01lbWJlckNhcmREZWFsc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFFSQ29kZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFFSQ29kZUFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogeyB0b2tlbjogc3RyaW5nLCBtZW1iZXJDYXJkSWQ6IHN0cmluZyB9IH0pID0+IHRoaXMubWVtYmVyQ2FyZFNlcnZpY2UuZ2V0UHVibGljTWVtYmVyQ2FyZFFSQ29kZShwYXlsb2FkLm1lbWJlckNhcmRJZCwgcGF5bG9hZC50b2tlbilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXJDYXJkOiBNZW1iZXJDYXJkKSA9PiByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRRUkNvZGVTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJDYXJkfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUVJDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUmVnaXN0cmF0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUmVnaXN0ZXJBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHsgdG9rZW46IHN0cmluZywgbWVtYmVyQ2FyZElkOiBzdHJpbmcgfSB9KSA9PiB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmdldFB1YmxpY01lbWJlckNhcmRSZWdpc3RyYXRpb24ocGF5bG9hZC5tZW1iZXJDYXJkSWQsIHBheWxvYWQudG9rZW4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyQ2FyZDogTWVtYmVyQ2FyZCkgPT4gcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUmVnaXN0ZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJDYXJkfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUmVnaXN0ZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFRpY2tldHMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRUaWNrZXRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiB7IHRva2VuOiBzdHJpbmcsIG1lbWJlckNhcmRJZDogc3RyaW5nIH0gfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5nZXRQdWJsaWNNZW1iZXJDYXJkVGlja2V0cyhwYXlsb2FkLm1lbWJlckNhcmRJZCwgcGF5bG9hZC50b2tlbilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjYXJkVGlja2V0czogQ29sbGVjdGlvbjxDYXJkVGlja2V0PikgPT4gcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkVGlja2V0c1N1Y2Nlc3NBY3Rpb24oe1xuICAgICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgICBtZW1iZXJDYXJkSWQ6IHBheWxvYWQubWVtYmVyQ2FyZElkLFxuICAgICAgICAgICAgICB0aWNrZXRzOiBjYXJkVGlja2V0cy50b0FycmF5KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRUaWNrZXRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVRUkNvZGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckNhcmRRUkNvZGVBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBtZW1iZXJDYXJkSWQ6IHN0cmluZyB9XG4gICAgICAgIH0pID0+IHRoaXMubWVtYmVyQ2FyZFNlcnZpY2UuZ2V0TWVtYmVyQ2FyZFFSQ29kZShwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLm1lbWJlckNhcmRJZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgobWVtYmVyQ2FyZDogTWVtYmVyQ2FyZCkgPT4gcmV0cmlldmVNZW1iZXJDYXJkUVJDb2RlU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyQ2FyZH0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJDYXJkUVJDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRpY2tldHMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckNhcmRUaWNrZXRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgbWVtYmVyQ2FyZElkOiBzdHJpbmcgfVxuICAgICAgICB9KSA9PiB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmdldE1lbWJlckNhcmRUaWNrZXRzKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQubWVtYmVyQ2FyZElkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJkVGlja2V0czogQ29sbGVjdGlvbjxDYXJkVGlja2V0PikgPT4gcmV0cmlldmVNZW1iZXJDYXJkVGlja2V0c1N1Y2Nlc3NBY3Rpb24oe1xuICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgbWVtYmVyQ2FyZElkOiBwYXlsb2FkLm1lbWJlckNhcmRJZCxcbiAgICAgICAgICAgICAgICB0aWNrZXRzOiBjYXJkVGlja2V0cy50b0FycmF5KClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckNhcmRUaWNrZXRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICkpO1xufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLWNhcmQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9tZW1iZXItY2FyZC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIscUNBQXFDLEVBQ3JDLHFDQUFxQyxFQUNyQywrQkFBK0IsRUFDL0IsK0JBQStCLEVBQy9CLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsOEJBQThCLEVBQzlCLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsMENBQTBDLEVBQzFDLHFDQUFxQyxFQUNyQyxvQ0FBb0MsRUFDcEMsMkNBQTJDLEVBQzNDLDJDQUEyQyxFQUMzQyxzQ0FBc0MsRUFDdEMsNkNBQTZDLEVBQzdDLDZDQUE2QyxFQUM3QyxxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsR0FDN0MsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1B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O1lBQ2xGLE9BQU8sRUFBRTtnQkFDUCxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7Z0JBQ2xDLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO2FBQy9CO1NBQ0YsQ0FBQyxDQUFDLEVBQ0gsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUN2RyxDQUNKLENBQ0YsQ0FBQyxDQUFDO0tBQ047K0dBbE1ZLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgQ2FyZERlYWwsIENhcmRNZW1iZXJUaWNrZXQsIENhcmRUaWNrZXQsIENvbGxlY3Rpb24sIE1lbWJlckNhcmQsIFNlYXJjaE1lbWJlckNhcmQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTWVtYmVyQ2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBhY3RpdmF0ZUNhcmRUaWNrZXRBY3Rpb24sXG4gIGFjdGl2YXRlQ2FyZFRpY2tldEZhaWx1cmVBY3Rpb24sXG4gIGFjdGl2YXRlQ2FyZFRpY2tldFN1Y2Nlc3NBY3Rpb24sXG4gIGFjdGl2YXRlUHVibGljQ2FyZFRpY2tldEFjdGlvbixcbiAgYWN0aXZhdGVQdWJsaWNDYXJkVGlja2V0RmFpbHVyZUFjdGlvbixcbiAgYWN0aXZhdGVQdWJsaWNDYXJkVGlja2V0U3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlckNhcmRzQWN0aW9uLFxuICBsaXN0TWVtYmVyQ2FyZHNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyQ2FyZHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZERlYWxzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmREZWFsc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ2FyZERlYWxzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDYXJkRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDYXJkUVJDb2RlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRRUkNvZGVGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRRUkNvZGVTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRUaWNrZXRzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNhcmRUaWNrZXRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDYXJkVGlja2V0c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZEFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkRGVhbHNBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZERlYWxzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkRGVhbHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRRUkNvZGVBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFFSQ29kZUZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFFSQ29kZVN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFJlZ2lzdGVyQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRSZWdpc3RlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFJlZ2lzdGVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkVGlja2V0c0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkVGlja2V0c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFRpY2tldHNTdWNjZXNzQWN0aW9uLFxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQWN0aXZhdGVDYXJkVGlja2V0SW50ZXJmYWNlLCBQdWJsaWNBY3RpdmF0ZUNhcmRUaWNrZXRJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVtYmVyQ2FyZEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIG1lbWJlckNhcmRTZXJ2aWNlID0gaW5qZWN0KE1lbWJlckNhcmRTZXJ2aWNlKTtcblxuICBhY3RpdmF0ZUNhcmRUaWNrZXQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShhY3RpdmF0ZUNhcmRUaWNrZXRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogQWN0aXZhdGVDYXJkVGlja2V0SW50ZXJmYWNlXG4gICAgICAgIH0pID0+IHRoaXMubWVtYmVyQ2FyZFNlcnZpY2UuYWN0aXZhdGVNZW1iZXJDYXJkVGlja2V0KHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuY2FyZElkLCBwYXlsb2FkLmlkLCBwYXlsb2FkLnBpbkNvZGUpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcCgobWVtYmVyVGlja2V0OiBDYXJkTWVtYmVyVGlja2V0KSA9PiBbXG4gICAgICAgICAgICAgIGFjdGl2YXRlQ2FyZFRpY2tldFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlclRpY2tldH0pLFxuICAgICAgICAgICAgICByZXRyaWV2ZU1lbWJlckNhcmRUaWNrZXRzQWN0aW9uKHtwYXlsb2FkOiB7bWVtYmVySWQ6IHBheWxvYWQubWVtYmVySWQsIG1lbWJlckNhcmRJZDogcGF5bG9hZC5jYXJkSWR9fSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihhY3RpdmF0ZUNhcmRUaWNrZXRGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGFjdGl2YXRlUHVibGljQ2FyZFRpY2tldCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGFjdGl2YXRlUHVibGljQ2FyZFRpY2tldEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiBQdWJsaWNBY3RpdmF0ZUNhcmRUaWNrZXRJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5hY3RpdmF0ZVB1YmxpY0NhcmRUaWNrZXQocGF5bG9hZC5jYXJkSWQsIHBheWxvYWQudG9rZW4sIHBheWxvYWQuaWQsIHBheWxvYWQucGluQ29kZSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgobWVtYmVyVGlja2V0OiBDYXJkTWVtYmVyVGlja2V0KSA9PiBhY3RpdmF0ZVB1YmxpY0NhcmRUaWNrZXRTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJUaWNrZXR9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGFjdGl2YXRlUHVibGljQ2FyZFRpY2tldEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlckNhcmRzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlckNhcmRzQWN0aW9uKSxcbiAgICAgIG1lcmdlTWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogQXJyYXk8c3RyaW5nPiB9KSA9PlxuICAgICAgICBmb3JrSm9pbihwYXlsb2FkLm1hcCgoaWQ6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmdldE1lbWJlckNhcmRzKGlkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJkczogQ29sbGVjdGlvbjxTZWFyY2hNZW1iZXJDYXJkPikgPT4gKHtpZCwgY2FyZHM6IGNhcmRzLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2Yoe2lkLCBlcnJvcn0pKVxuICAgICAgICAgIClcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICBtYXAocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHRNYXAgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8U2VhcmNoTWVtYmVyQ2FyZD4+KCk7XG4gICAgICAgICAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdDogeyBpZDogc3RyaW5nLCBjYXJkcz86IEFycmF5PFNlYXJjaE1lbWJlckNhcmQ+LCBlcnJvcj86IEh0dHBFcnJvclJlc3BvbnNlIH0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5jYXJkcykge1xuICAgICAgICAgICAgICAgIHJlc3VsdE1hcC5zZXQocmVzdWx0LmlkLCByZXN1bHQuY2FyZHMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBsaXN0TWVtYmVyQ2FyZHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiByZXN1bHRNYXB9KTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJDYXJkc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyQ2FyZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyQ2FyZEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIG1lbWJlckNhcmRJZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5nZXRNZW1iZXJDYXJkKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQubWVtYmVyQ2FyZElkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJkOiBNZW1iZXJDYXJkKSA9PiByZXRyaWV2ZU1lbWJlckNhcmRTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjYXJkfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckNhcmRGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlRGVhbHMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckNhcmREZWFsc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIG1lbWJlckNhcmRJZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5nZXRNZW1iZXJDYXJkRGVhbHMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5tZW1iZXJDYXJkSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcmREZWFsczogQ29sbGVjdGlvbjxDYXJkRGVhbD4pID0+IHJldHJpZXZlTWVtYmVyQ2FyZERlYWxzU3VjY2Vzc0FjdGlvbih7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICBtZW1iZXJDYXJkSWQ6IHBheWxvYWQubWVtYmVyQ2FyZElkLFxuICAgICAgICAgICAgICAgIGRlYWxzOiBjYXJkRGVhbHMudG9BcnJheSgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJDYXJkRGVhbHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogeyB0b2tlbjogc3RyaW5nLCBtZW1iZXJDYXJkSWQ6IHN0cmluZyB9IH0pID0+IHRoaXMubWVtYmVyQ2FyZFNlcnZpY2UuZ2V0UHVibGljTWVtYmVyQ2FyZChwYXlsb2FkLm1lbWJlckNhcmRJZCwgcGF5bG9hZC50b2tlbilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjYXJkOiBNZW1iZXJDYXJkKSA9PiByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjYXJkfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkRGVhbHMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVB1YmxpY01lbWJlckNhcmREZWFsc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogeyB0b2tlbjogc3RyaW5nLCBtZW1iZXJDYXJkSWQ6IHN0cmluZyB9IH0pID0+IHRoaXMubWVtYmVyQ2FyZFNlcnZpY2UuZ2V0UHVibGljTWVtYmVyQ2FyZERlYWxzKHBheWxvYWQubWVtYmVyQ2FyZElkLCBwYXlsb2FkLnRva2VuKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNhcmREZWFsczogQ29sbGVjdGlvbjxDYXJkRGVhbD4pID0+IHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZERlYWxzU3VjY2Vzc0FjdGlvbih7XG4gICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgIG1lbWJlckNhcmRJZDogcGF5bG9hZC5tZW1iZXJDYXJkSWQsXG4gICAgICAgICAgICAgIGRlYWxzOiBjYXJkRGVhbHMudG9BcnJheSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkRGVhbHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRRUkNvZGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRRUkNvZGVBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHsgdG9rZW46IHN0cmluZywgbWVtYmVyQ2FyZElkOiBzdHJpbmcgfSB9KSA9PiB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmdldFB1YmxpY01lbWJlckNhcmRRUkNvZGUocGF5bG9hZC5tZW1iZXJDYXJkSWQsIHBheWxvYWQudG9rZW4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyQ2FyZDogTWVtYmVyQ2FyZCkgPT4gcmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkUVJDb2RlU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyQ2FyZH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFFSQ29kZUZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFJlZ2lzdHJhdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFJlZ2lzdGVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiB7IHRva2VuOiBzdHJpbmcsIG1lbWJlckNhcmRJZDogc3RyaW5nIH0gfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5nZXRQdWJsaWNNZW1iZXJDYXJkUmVnaXN0cmF0aW9uKHBheWxvYWQubWVtYmVyQ2FyZElkLCBwYXlsb2FkLnRva2VuKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlckNhcmQ6IE1lbWJlckNhcmQpID0+IHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFJlZ2lzdGVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyQ2FyZH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFJlZ2lzdGVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcblxuICByZXRyaWV2ZVB1YmxpY01lbWJlckNhcmRUaWNrZXRzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkVGlja2V0c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogeyB0b2tlbjogc3RyaW5nLCBtZW1iZXJDYXJkSWQ6IHN0cmluZyB9IH0pID0+IHRoaXMubWVtYmVyQ2FyZFNlcnZpY2UuZ2V0UHVibGljTWVtYmVyQ2FyZFRpY2tldHMocGF5bG9hZC5tZW1iZXJDYXJkSWQsIHBheWxvYWQudG9rZW4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY2FyZFRpY2tldHM6IENvbGxlY3Rpb248Q2FyZFRpY2tldD4pID0+IHJldHJpZXZlUHVibGljTWVtYmVyQ2FyZFRpY2tldHNTdWNjZXNzQWN0aW9uKHtcbiAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgbWVtYmVyQ2FyZElkOiBwYXlsb2FkLm1lbWJlckNhcmRJZCxcbiAgICAgICAgICAgICAgdGlja2V0czogY2FyZFRpY2tldHMudG9BcnJheSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNNZW1iZXJDYXJkVGlja2V0c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlUVJDb2RlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJDYXJkUVJDb2RlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgbWVtYmVyQ2FyZElkOiBzdHJpbmcgfVxuICAgICAgICB9KSA9PiB0aGlzLm1lbWJlckNhcmRTZXJ2aWNlLmdldE1lbWJlckNhcmRRUkNvZGUocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5tZW1iZXJDYXJkSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG1lbWJlckNhcmQ6IE1lbWJlckNhcmQpID0+IHJldHJpZXZlTWVtYmVyQ2FyZFFSQ29kZVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlckNhcmR9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyQ2FyZFFSQ29kZUZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUaWNrZXRzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJDYXJkVGlja2V0c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIG1lbWJlckNhcmRJZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5tZW1iZXJDYXJkU2VydmljZS5nZXRNZW1iZXJDYXJkVGlja2V0cyhwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLm1lbWJlckNhcmRJZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FyZFRpY2tldHM6IENvbGxlY3Rpb248Q2FyZFRpY2tldD4pID0+IHJldHJpZXZlTWVtYmVyQ2FyZFRpY2tldHNTdWNjZXNzQWN0aW9uKHtcbiAgICAgICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgICAgIG1lbWJlckNhcmRJZDogcGF5bG9hZC5tZW1iZXJDYXJkSWQsXG4gICAgICAgICAgICAgICAgdGlja2V0czogY2FyZFRpY2tldHMudG9BcnJheSgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJDYXJkVGlja2V0c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApKTtcbn1cbiJdfQ==
@@ -6,13 +6,15 @@ 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 MemberFeeEffects {
9
- actions$ = inject(Actions);
10
- memberFeeService = inject(MemberFeeService);
11
- listMemberFees$ = createEffect(() => this.actions$.pipe(ofType(listMemberFeesAction), exhaustMap(({ role, itemId }) => this.memberFeeService.getMemberFees(role, itemId).pipe(map((fees) => listMemberFeesSuccessAction({ fees: fees.toArray() })))), catchError((error) => of(listMemberFeesFailureAction({ payload: error })))));
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberFeeEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberFeeEffects });
9
+ constructor() {
10
+ this.actions$ = inject(Actions);
11
+ this.memberFeeService = inject(MemberFeeService);
12
+ this.listMemberFees$ = createEffect(() => this.actions$.pipe(ofType(listMemberFeesAction), exhaustMap(({ role, itemId }) => this.memberFeeService.getMemberFees(role, itemId).pipe(map((fees) => listMemberFeesSuccessAction({ fees: fees.toArray() })))), catchError((error) => of(listMemberFeesFailureAction({ payload: error })))));
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberFeeEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberFeeEffects }); }
14
16
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberFeeEffects, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberFeeEffects, decorators: [{
16
18
  type: Injectable
17
19
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLWZlZS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL21lbWJlci1mZWUuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS2pELE1BQU0sT0FBTyxnQkFBZ0I7SUFDbkIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVwRCxlQUFlLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNyRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsRUFDNUIsVUFBVSxDQUNSLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUdiLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDMUQsR0FBRyxDQUNELENBQUMsSUFBMkIsRUFBRSxFQUFFLENBQUMsMkJBQTJCLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FDckYsQ0FDRixDQUNGLEVBQ0QsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUM1RixDQUFDLENBQUM7dUdBakJRLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgTWVtYmVyRmVlLCBSb2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE1lbWJlckZlZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBsaXN0TWVtYmVyRmVlc0FjdGlvbiwgbGlzdE1lbWJlckZlZXNGYWlsdXJlQWN0aW9uLCBsaXN0TWVtYmVyRmVlc1N1Y2Nlc3NBY3Rpb24sIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lbWJlckZlZUVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIG1lbWJlckZlZVNlcnZpY2UgPSBpbmplY3QoTWVtYmVyRmVlU2VydmljZSk7XG5cbiAgbGlzdE1lbWJlckZlZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUobGlzdE1lbWJlckZlZXNBY3Rpb24pLFxuICAgIGV4aGF1c3RNYXAoXG4gICAgICAoe3JvbGUsIGl0ZW1JZH06IHtcbiAgICAgICAgcm9sZTogUm9sZSxcbiAgICAgICAgaXRlbUlkOiBzdHJpbmdcbiAgICAgIH0pID0+IHRoaXMubWVtYmVyRmVlU2VydmljZS5nZXRNZW1iZXJGZWVzKHJvbGUsIGl0ZW1JZCkucGlwZShcbiAgICAgICAgbWFwKFxuICAgICAgICAgIChmZWVzOiBDb2xsZWN0aW9uPE1lbWJlckZlZT4pID0+IGxpc3RNZW1iZXJGZWVzU3VjY2Vzc0FjdGlvbih7ZmVlczogZmVlcy50b0FycmF5KCl9KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJGZWVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpLFxuICApKTtcbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLWZlZS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL21lbWJlci1mZWUuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS2pELE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBELG9CQUFlLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNyRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsRUFDNUIsVUFBVSxDQUNSLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUdiLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDMUQsR0FBRyxDQUNELENBQUMsSUFBMkIsRUFBRSxFQUFFLENBQUMsMkJBQTJCLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FDckYsQ0FDRixDQUNGLEVBQ0QsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUM1RixDQUFDLENBQUM7S0FDSjsrR0FsQlksZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBNZW1iZXJGZWUsIFJvbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTWVtYmVyRmVlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGxpc3RNZW1iZXJGZWVzQWN0aW9uLCBsaXN0TWVtYmVyRmVlc0ZhaWx1cmVBY3Rpb24sIGxpc3RNZW1iZXJGZWVzU3VjY2Vzc0FjdGlvbiwgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVtYmVyRmVlRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgbWVtYmVyRmVlU2VydmljZSA9IGluamVjdChNZW1iZXJGZWVTZXJ2aWNlKTtcblxuICBsaXN0TWVtYmVyRmVlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShsaXN0TWVtYmVyRmVlc0FjdGlvbiksXG4gICAgZXhoYXVzdE1hcChcbiAgICAgICh7cm9sZSwgaXRlbUlkfToge1xuICAgICAgICByb2xlOiBSb2xlLFxuICAgICAgICBpdGVtSWQ6IHN0cmluZ1xuICAgICAgfSkgPT4gdGhpcy5tZW1iZXJGZWVTZXJ2aWNlLmdldE1lbWJlckZlZXMocm9sZSwgaXRlbUlkKS5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgKGZlZXM6IENvbGxlY3Rpb248TWVtYmVyRmVlPikgPT4gbGlzdE1lbWJlckZlZXNTdWNjZXNzQWN0aW9uKHtmZWVzOiBmZWVzLnRvQXJyYXkoKX0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlckZlZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSksXG4gICkpO1xufVxuIl19
@@ -7,41 +7,43 @@ import { catchError, map, switchMap } from 'rxjs/operators';
7
7
  import { HttpErrorResponse } from '@angular/common/http';
8
8
  import * as i0 from "@angular/core";
9
9
  export class MemberEffects {
10
- actions$ = inject(Actions);
11
- memberService = inject(MemberService);
12
- removeMemberContact$ = createEffect(() => this.actions$
13
- .pipe(ofType(removeMemberProfileContactAction), exhaustMap(({ payload }) => this.memberService.removeMemberProfileContact(payload.memberId, payload.contactId)
14
- .pipe(map((success) => success ? removeMemberProfileContactSuccessAction() : removeMemberProfileContactFailureAction({
15
- payload: new HttpErrorResponse({ status: 400 })
16
- })), catchError((error) => of(removeMemberProfileContactFailureAction({ payload: error })))))));
17
- removeTeamMemberContact$ = createEffect(() => this.actions$
18
- .pipe(ofType(removeTeamMemberProfileContactAction), exhaustMap(({ payload }) => this.memberService.removeTeamMemberContact(payload.teamId, payload.memberId, payload.contactId)
19
- .pipe(map((success) => success ? removeTeamMemberProfileContactSuccessAction() : removeTeamMemberProfileContactFailureAction({
20
- payload: new HttpErrorResponse({ status: 400 })
21
- })), catchError((error) => of(removeTeamMemberProfileContactFailureAction({ payload: error })))))));
22
- retrieveMemberProfile$ = createEffect(() => this.actions$
23
- .pipe(ofType(retrieveMemberProfileAction), exhaustMap(({ payload }) => this.memberService.getMemberProfile(payload)
24
- .pipe(map((member) => retrieveMemberProfileSuccessAction({ payload: member })), catchError((error) => of(retrieveMemberProfileFailureAction({ payload: error })))))));
25
- retrieveMemberOtherMember$ = createEffect(() => this.actions$
26
- .pipe(ofType(retrieveMemberOtherMemberAction), exhaustMap(({ payload }) => this.memberService.getMemberOtherMember(payload.memberId, payload.otherMemberId)
27
- .pipe(map((otherMember) => retrieveMemberOtherMemberSuccessAction({ payload: otherMember })), catchError((error) => of(retrieveMemberOtherMemberFailureAction({ payload: error })))))));
28
- retrieveTeamOtherMember$ = createEffect(() => this.actions$
29
- .pipe(ofType(retrieveTeamOtherMemberAction), exhaustMap(({ payload }) => this.memberService.getTeamOtherMember(payload.teamId, payload.otherMemberId)
30
- .pipe(map((otherMember) => retrieveTeamOtherMemberSuccessAction({ payload: otherMember })), catchError((error) => of(retrieveTeamOtherMemberFailureAction({ payload: error })))))));
31
- updateMemberProfile$ = createEffect(() => this.actions$
32
- .pipe(ofType(updateMemberProfileAction), exhaustMap(({ payload }) => this.memberService.updateMemberProfile(payload.id, payload)
33
- .pipe(map((member) => updateMemberProfileSuccessAction({ payload: member })), catchError((error) => of(updateMemberProfileFailureAction({ payload: error })))))));
34
- listMembers$ = createEffect(() => this.actions$
35
- .pipe(ofType(listMembersAction), exhaustMap(({ role, clubOrSectionOrTeamId }) => this.memberService.getMembers(role, clubOrSectionOrTeamId).pipe(map((members) => listMembersSuccessAction({ payload: members.toArray() })), catchError((error) => of(listMembersFailureAction({ payload: error })))))));
36
- listMemberOtherMembers$ = createEffect(() => this.actions$
37
- .pipe(ofType(listMemberOtherMembersAction), exhaustMap(({ payload }) => this.memberLeaderGetOtherMembers(payload.memberId, payload.searchTerm)
38
- .pipe(map((otherMembers) => listMemberOtherMembersSuccessAction({ payload: otherMembers })), catchError((error) => of(listMemberOtherMembersFailureAction({ payload: error })))))));
39
- listPublicMembers$ = createEffect(() => this.actions$
40
- .pipe(ofType(listPublicMembersAction), exhaustMap(() => this.memberService.listPublicMembers()
41
- .pipe(map((members) => listPublicMembersSuccessAction({ payload: members.toArray() })), catchError((error) => of(listPublicMembersFailureAction({ payload: error })))))));
42
- listTeamOtherMembers$ = createEffect(() => this.actions$
43
- .pipe(ofType(listTeamOtherMembersAction), exhaustMap(({ payload }) => this.teamLeaderGetOtherMembers(payload.teamId, payload.searchTerm)
44
- .pipe(map((otherMembers) => listTeamOtherMembersSuccessAction({ payload: otherMembers })), catchError((error) => of(listTeamOtherMembersFailureAction({ payload: error })))))));
10
+ constructor() {
11
+ this.actions$ = inject(Actions);
12
+ this.memberService = inject(MemberService);
13
+ this.removeMemberContact$ = createEffect(() => this.actions$
14
+ .pipe(ofType(removeMemberProfileContactAction), exhaustMap(({ payload }) => this.memberService.removeMemberProfileContact(payload.memberId, payload.contactId)
15
+ .pipe(map((success) => success ? removeMemberProfileContactSuccessAction() : removeMemberProfileContactFailureAction({
16
+ payload: new HttpErrorResponse({ status: 400 })
17
+ })), catchError((error) => of(removeMemberProfileContactFailureAction({ payload: error })))))));
18
+ this.removeTeamMemberContact$ = createEffect(() => this.actions$
19
+ .pipe(ofType(removeTeamMemberProfileContactAction), exhaustMap(({ payload }) => this.memberService.removeTeamMemberContact(payload.teamId, payload.memberId, payload.contactId)
20
+ .pipe(map((success) => success ? removeTeamMemberProfileContactSuccessAction() : removeTeamMemberProfileContactFailureAction({
21
+ payload: new HttpErrorResponse({ status: 400 })
22
+ })), catchError((error) => of(removeTeamMemberProfileContactFailureAction({ payload: error })))))));
23
+ this.retrieveMemberProfile$ = createEffect(() => this.actions$
24
+ .pipe(ofType(retrieveMemberProfileAction), exhaustMap(({ payload }) => this.memberService.getMemberProfile(payload)
25
+ .pipe(map((member) => retrieveMemberProfileSuccessAction({ payload: member })), catchError((error) => of(retrieveMemberProfileFailureAction({ payload: error })))))));
26
+ this.retrieveMemberOtherMember$ = createEffect(() => this.actions$
27
+ .pipe(ofType(retrieveMemberOtherMemberAction), exhaustMap(({ payload }) => this.memberService.getMemberOtherMember(payload.memberId, payload.otherMemberId)
28
+ .pipe(map((otherMember) => retrieveMemberOtherMemberSuccessAction({ payload: otherMember })), catchError((error) => of(retrieveMemberOtherMemberFailureAction({ payload: error })))))));
29
+ this.retrieveTeamOtherMember$ = createEffect(() => this.actions$
30
+ .pipe(ofType(retrieveTeamOtherMemberAction), exhaustMap(({ payload }) => this.memberService.getTeamOtherMember(payload.teamId, payload.otherMemberId)
31
+ .pipe(map((otherMember) => retrieveTeamOtherMemberSuccessAction({ payload: otherMember })), catchError((error) => of(retrieveTeamOtherMemberFailureAction({ payload: error })))))));
32
+ this.updateMemberProfile$ = createEffect(() => this.actions$
33
+ .pipe(ofType(updateMemberProfileAction), exhaustMap(({ payload }) => this.memberService.updateMemberProfile(payload.id, payload)
34
+ .pipe(map((member) => updateMemberProfileSuccessAction({ payload: member })), catchError((error) => of(updateMemberProfileFailureAction({ payload: error })))))));
35
+ this.listMembers$ = createEffect(() => this.actions$
36
+ .pipe(ofType(listMembersAction), exhaustMap(({ role, clubOrSectionOrTeamId }) => this.memberService.getMembers(role, clubOrSectionOrTeamId).pipe(map((members) => listMembersSuccessAction({ payload: members.toArray() })), catchError((error) => of(listMembersFailureAction({ payload: error })))))));
37
+ this.listMemberOtherMembers$ = createEffect(() => this.actions$
38
+ .pipe(ofType(listMemberOtherMembersAction), exhaustMap(({ payload }) => this.memberLeaderGetOtherMembers(payload.memberId, payload.searchTerm)
39
+ .pipe(map((otherMembers) => listMemberOtherMembersSuccessAction({ payload: otherMembers })), catchError((error) => of(listMemberOtherMembersFailureAction({ payload: error })))))));
40
+ this.listPublicMembers$ = createEffect(() => this.actions$
41
+ .pipe(ofType(listPublicMembersAction), exhaustMap(() => this.memberService.listPublicMembers()
42
+ .pipe(map((members) => listPublicMembersSuccessAction({ payload: members.toArray() })), catchError((error) => of(listPublicMembersFailureAction({ payload: error })))))));
43
+ this.listTeamOtherMembers$ = createEffect(() => this.actions$
44
+ .pipe(ofType(listTeamOtherMembersAction), exhaustMap(({ payload }) => this.teamLeaderGetOtherMembers(payload.teamId, payload.searchTerm)
45
+ .pipe(map((otherMembers) => listTeamOtherMembersSuccessAction({ payload: otherMembers })), catchError((error) => of(listTeamOtherMembersFailureAction({ payload: error })))))));
46
+ }
45
47
  memberLeaderGetOtherMembers(memberId, q = '', offset = 0, collectedMembers = []) {
46
48
  return this.memberService.searchMemberOtherMembers(memberId, q, offset).pipe(switchMap((response) => {
47
49
  const members = response.toArray();
@@ -66,10 +68,10 @@ export class MemberEffects {
66
68
  }
67
69
  }), catchError((error) => throwError(() => error)));
68
70
  }
69
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
70
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberEffects });
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
72
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberEffects }); }
71
73
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MemberEffects, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MemberEffects, decorators: [{
73
75
  type: Injectable
74
76
  }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3N0b3JlL2VmZmVjdHMvbWVtYmVyLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxtQ0FBbUMsRUFDbkMsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsb0NBQW9DLEVBQ3BDLDJDQUEyQyxFQUMzQywyQ0FBMkMsRUFDM0MsK0JBQStCLEVBQy9CLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsNkJBQTZCLEVBQzdCLG9DQUFvQyxFQUNwQyxvQ0FBb0MsRUFDcEMseUJBQXlCLEVBQ3pCLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDakMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUd6RCxNQUFNLE9BQU8sYUFBYTtJQUNoQixRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFOUMsb0JBQW9CLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ3BELElBQUksQ0FDSCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsRUFDeEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBRWpCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ3JGLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxFQUFFLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDO1FBQ3RILE9BQU8sRUFBRSxJQUFJLGlCQUFpQixDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDO0tBQzlDLENBQUMsQ0FBQyxFQUNILFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDeEcsQ0FDSixDQUNGLENBQ0YsQ0FBQztJQUVGLHdCQUF3QixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUN4RCxJQUFJLENBQ0gsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLEVBQzVDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUVqQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ2xHLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDJDQUEyQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJDQUEyQyxDQUFDO1FBQzlILE9BQU8sRUFBRSxJQUFJLGlCQUFpQixDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDO0tBQzlDLENBQUMsQ0FBQyxFQUNILFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUcsQ0FDSixDQUNGLENBQ0YsQ0FBQztJQUVGLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUN0RCxJQUFJLENBQ0gsTUFBTSxDQUFDLDJCQUEyQixDQUFDLEVBQ25DLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztTQUN4RixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDLEVBQzlFLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbkcsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUVGLDBCQUEwQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUMxRCxJQUFJLENBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUFDLEVBQ3ZDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUF1RCxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQztTQUM3SixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFLENBQUMsc0NBQXNDLENBQUMsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQyxFQUNqRyxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsc0NBQXNDLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZHLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFFRix3QkFBd0IsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVE7U0FDeEQsSUFBSSxDQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxFQUNyQyxVQUFVLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBcUQsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDdkosSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUMsRUFDL0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNyRyxDQUNGLENBQ0YsQ0FDRixDQUFDO0lBRUYsb0JBQW9CLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ3BELElBQUksQ0FDSCxNQUFNLENBQUMseUJBQXlCLENBQUMsRUFDakMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQXNCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUM7U0FDdkcsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsZ0NBQWdDLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pHLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFFRixZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQzVDLElBQUksQ0FDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFDekIsVUFBVSxDQUNSLENBQUMsRUFBQyxJQUFJLEVBQUUscUJBQXFCLEVBQWdELEVBQUUsRUFBRSxDQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLE9BQWlDLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFDbEcsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUN6RixDQUNKLENBQ0YsQ0FDRixDQUFDO0lBRUYsdUJBQXVCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ3ZELElBQUksQ0FDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsRUFDcEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQW9ELEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7U0FDaEosSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFlBQWdDLEVBQUUsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFFLENBQUMsRUFDMUcsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNwRyxDQUNGLENBQ0YsQ0FDRixDQUFDO0lBRUYsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ2xELElBQUksQ0FDSCxNQUFNLENBQUMsdUJBQXVCLENBQUMsRUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUU7U0FDcEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE9BQWlDLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFDeEcsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLDhCQUE4QixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUMvRixDQUNGLENBQ0YsQ0FDRixDQUFDO0lBRUYscUJBQXFCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ3JELElBQUksQ0FDSCxNQUFNLENBQUMsMEJBQTBCLENBQUMsRUFDbEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQWtELEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7U0FDMUksSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFlBQWdDLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUMsRUFDckcsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNsRyxDQUNGLENBQ0YsQ0FDRixDQUFDO0lBRU0sMkJBQTJCLENBQUMsUUFBZ0IsRUFBRSxJQUFZLEVBQUUsRUFBRSxTQUFpQixDQUFDLEVBQUUsbUJBQXVDLEVBQUU7UUFDakksT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMxRSxTQUFTLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM1RixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVPLHlCQUF5QixDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRSxTQUFpQixDQUFDLEVBQUUsbUJBQXVDLEVBQUU7UUFDN0gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN0RSxTQUFTLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN4RixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQzt1R0FqS1UsYUFBYTsyR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBNZW1iZXIsIE90aGVyTWVtYmVyLCBSb2xlLCBTZWFyY2hNZW1iZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTWVtYmVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICBsaXN0TWVtYmVyT3RoZXJNZW1iZXJzQWN0aW9uLFxuICBsaXN0TWVtYmVyT3RoZXJNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlck90aGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJzQWN0aW9uLFxuICBsaXN0TWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdFB1YmxpY01lbWJlcnNBY3Rpb24sXG4gIGxpc3RQdWJsaWNNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFB1YmxpY01lbWJlcnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0VGVhbU90aGVyTWVtYmVyc0FjdGlvbixcbiAgbGlzdFRlYW1PdGhlck1lbWJlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0VGVhbU90aGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIHJlbW92ZU1lbWJlclByb2ZpbGVDb250YWN0QWN0aW9uLFxuICByZW1vdmVNZW1iZXJQcm9maWxlQ29udGFjdEZhaWx1cmVBY3Rpb24sXG4gIHJlbW92ZU1lbWJlclByb2ZpbGVDb250YWN0U3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlVGVhbU1lbWJlclByb2ZpbGVDb250YWN0QWN0aW9uLFxuICByZW1vdmVUZWFtTWVtYmVyUHJvZmlsZUNvbnRhY3RGYWlsdXJlQWN0aW9uLFxuICByZW1vdmVUZWFtTWVtYmVyUHJvZmlsZUNvbnRhY3RTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlck90aGVyTWVtYmVyQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlck90aGVyTWVtYmVyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJPdGhlck1lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyUHJvZmlsZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJQcm9maWxlRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJQcm9maWxlU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVUZWFtT3RoZXJNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlVGVhbU90aGVyTWVtYmVyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtT3RoZXJNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICB1cGRhdGVNZW1iZXJQcm9maWxlQWN0aW9uLFxuICB1cGRhdGVNZW1iZXJQcm9maWxlRmFpbHVyZUFjdGlvbixcbiAgdXBkYXRlTWVtYmVyUHJvZmlsZVN1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lbWJlckVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIG1lbWJlclNlcnZpY2UgPSBpbmplY3QoTWVtYmVyU2VydmljZSk7XG5cbiAgcmVtb3ZlTWVtYmVyQ29udGFjdCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZU1lbWJlclByb2ZpbGVDb250YWN0QWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgY29udGFjdElkOiBzdHJpbmcgfVxuICAgICAgICB9KSA9PiB0aGlzLm1lbWJlclNlcnZpY2UucmVtb3ZlTWVtYmVyUHJvZmlsZUNvbnRhY3QocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5jb250YWN0SWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHN1Y2Nlc3MgPyByZW1vdmVNZW1iZXJQcm9maWxlQ29udGFjdFN1Y2Nlc3NBY3Rpb24oKSA6IHJlbW92ZU1lbWJlclByb2ZpbGVDb250YWN0RmFpbHVyZUFjdGlvbih7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7c3RhdHVzOiA0MDB9KVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZW1vdmVNZW1iZXJQcm9maWxlQ29udGFjdEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmVtb3ZlVGVhbU1lbWJlckNvbnRhY3QkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZW1vdmVUZWFtTWVtYmVyUHJvZmlsZUNvbnRhY3RBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgbWVtYmVySWQ6IHN0cmluZywgY29udGFjdElkOiBzdHJpbmcgfVxuICAgICAgICB9KSA9PiB0aGlzLm1lbWJlclNlcnZpY2UucmVtb3ZlVGVhbU1lbWJlckNvbnRhY3QocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuY29udGFjdElkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChzdWNjZXNzOiBib29sZWFuKSA9PiBzdWNjZXNzID8gcmVtb3ZlVGVhbU1lbWJlclByb2ZpbGVDb250YWN0U3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlVGVhbU1lbWJlclByb2ZpbGVDb250YWN0RmFpbHVyZUFjdGlvbih7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7c3RhdHVzOiA0MDB9KVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZW1vdmVUZWFtTWVtYmVyUHJvZmlsZUNvbnRhY3RGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyUHJvZmlsZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyUHJvZmlsZUFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogc3RyaW5nIH0pID0+IHRoaXMubWVtYmVyU2VydmljZS5nZXRNZW1iZXJQcm9maWxlKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyOiBNZW1iZXIpID0+IHJldHJpZXZlTWVtYmVyUHJvZmlsZVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyUHJvZmlsZUZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyT3RoZXJNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlck90aGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCBvdGhlck1lbWJlcklkOiBzdHJpbmd9fSkgPT4gdGhpcy5tZW1iZXJTZXJ2aWNlLmdldE1lbWJlck90aGVyTWVtYmVyKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQub3RoZXJNZW1iZXJJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChvdGhlck1lbWJlcjogT3RoZXJNZW1iZXIpID0+IHJldHJpZXZlTWVtYmVyT3RoZXJNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBvdGhlck1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyT3RoZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1PdGhlck1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbU90aGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgb3RoZXJNZW1iZXJJZDogc3RyaW5nfX0pID0+IHRoaXMubWVtYmVyU2VydmljZS5nZXRUZWFtT3RoZXJNZW1iZXIocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQub3RoZXJNZW1iZXJJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChvdGhlck1lbWJlcjogT3RoZXJNZW1iZXIpID0+IHJldHJpZXZlVGVhbU90aGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogb3RoZXJNZW1iZXJ9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVRlYW1PdGhlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHVwZGF0ZU1lbWJlclByb2ZpbGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZSh1cGRhdGVNZW1iZXJQcm9maWxlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBNZW1iZXIgfSkgPT4gdGhpcy5tZW1iZXJTZXJ2aWNlLnVwZGF0ZU1lbWJlclByb2ZpbGUocGF5bG9hZC5pZCwgcGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IE1lbWJlcikgPT4gdXBkYXRlTWVtYmVyUHJvZmlsZVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHVwZGF0ZU1lbWJlclByb2ZpbGVGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoXG4gICAgICAgICh7cm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkfTogeyByb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZyB9KSA9PlxuICAgICAgICAgIHRoaXMubWVtYmVyU2VydmljZS5nZXRNZW1iZXJzKHJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZCkucGlwZShcbiAgICAgICAgICAgIG1hcCgobWVtYmVyczogQ29sbGVjdGlvbjxTZWFyY2hNZW1iZXI+KSA9PiBsaXN0TWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcnMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0TWVtYmVyc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlck90aGVyTWVtYmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RNZW1iZXJPdGhlck1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIHNlYXJjaFRlcm06IHN0cmluZ319KSA9PiB0aGlzLm1lbWJlckxlYWRlckdldE90aGVyTWVtYmVycyhwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLnNlYXJjaFRlcm0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgob3RoZXJNZW1iZXJzOiBBcnJheTxPdGhlck1lbWJlcj4pID0+IGxpc3RNZW1iZXJPdGhlck1lbWJlcnNTdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogb3RoZXJNZW1iZXJzIH0gKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0TWVtYmVyT3RoZXJNZW1iZXJzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdFB1YmxpY01lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0UHVibGljTWVtYmVyc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMubWVtYmVyU2VydmljZS5saXN0UHVibGljTWVtYmVycygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyczogQ29sbGVjdGlvbjxTZWFyY2hNZW1iZXI+KSA9PiBsaXN0UHVibGljTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcnMudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdFB1YmxpY01lbWJlcnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0VGVhbU90aGVyTWVtYmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RUZWFtT3RoZXJNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nfX0pID0+IHRoaXMudGVhbUxlYWRlckdldE90aGVyTWVtYmVycyhwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5zZWFyY2hUZXJtKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG90aGVyTWVtYmVyczogQXJyYXk8T3RoZXJNZW1iZXI+KSA9PiBsaXN0VGVhbU90aGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG90aGVyTWVtYmVyc30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtT3RoZXJNZW1iZXJzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSBtZW1iZXJMZWFkZXJHZXRPdGhlck1lbWJlcnMobWVtYmVySWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8T3RoZXJNZW1iZXI+ID0gW10pOiBPYnNlcnZhYmxlPEFycmF5PE90aGVyTWVtYmVyPj4ge1xuICAgIHJldHVybiB0aGlzLm1lbWJlclNlcnZpY2Uuc2VhcmNoTWVtYmVyT3RoZXJNZW1iZXJzKG1lbWJlcklkLCBxLCBvZmZzZXQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHJlc3BvbnNlOiBDb2xsZWN0aW9uPE90aGVyTWVtYmVyPikgPT4ge1xuICAgICAgICBjb25zdCBtZW1iZXJzID0gcmVzcG9uc2UudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBhbGxNZW1iZXJzID0gY29sbGVjdGVkTWVtYmVycy5jb25jYXQobWVtYmVycyk7XG4gICAgICAgIGlmIChyZXNwb25zZS5uZXh0KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWVtYmVyTGVhZGVyR2V0T3RoZXJNZW1iZXJzKG1lbWJlcklkLCBxLCBvZmZzZXQgKyBtZW1iZXJzLmxlbmd0aCwgYWxsTWVtYmVycyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGFsbE1lbWJlcnMpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdGVhbUxlYWRlckdldE90aGVyTWVtYmVycyh0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8T3RoZXJNZW1iZXI+ID0gW10pOiBPYnNlcnZhYmxlPEFycmF5PE90aGVyTWVtYmVyPj4ge1xuICAgIHJldHVybiB0aGlzLm1lbWJlclNlcnZpY2Uuc2VhcmNoVGVhbU90aGVyTWVtYmVycyh0ZWFtSWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248T3RoZXJNZW1iZXI+KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcnMgPSByZXNwb25zZS50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGFsbE1lbWJlcnMgPSBjb2xsZWN0ZWRNZW1iZXJzLmNvbmNhdChtZW1iZXJzKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLm5leHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZWFtTGVhZGVyR2V0T3RoZXJNZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0ICsgbWVtYmVycy5sZW5ndGgsIGFsbE1lbWJlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihhbGxNZW1iZXJzKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3N0b3JlL2VmZmVjdHMvbWVtYmVyLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxtQ0FBbUMsRUFDbkMsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsb0NBQW9DLEVBQ3BDLDJDQUEyQyxFQUMzQywyQ0FBMkMsRUFDM0MsK0JBQStCLEVBQy9CLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsNkJBQTZCLEVBQzdCLG9DQUFvQyxFQUNwQyxvQ0FBb0MsRUFDcEMseUJBQXlCLEVBQ3pCLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDakMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxN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QUM3SCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3RFLFNBQVMsQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRTtZQUM5QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3hGLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDOytHQWpLVSxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIE1lbWJlciwgT3RoZXJNZW1iZXIsIFJvbGUsIFNlYXJjaE1lbWJlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNZW1iZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIGxpc3RNZW1iZXJPdGhlck1lbWJlcnNBY3Rpb24sXG4gIGxpc3RNZW1iZXJPdGhlck1lbWJlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyT3RoZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlcnNBY3Rpb24sXG4gIGxpc3RNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlcnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0UHVibGljTWVtYmVyc0FjdGlvbixcbiAgbGlzdFB1YmxpY01lbWJlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0UHVibGljTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RUZWFtT3RoZXJNZW1iZXJzQWN0aW9uLFxuICBsaXN0VGVhbU90aGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RUZWFtT3RoZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlTWVtYmVyUHJvZmlsZUNvbnRhY3RBY3Rpb24sXG4gIHJlbW92ZU1lbWJlclByb2ZpbGVDb250YWN0RmFpbHVyZUFjdGlvbixcbiAgcmVtb3ZlTWVtYmVyUHJvZmlsZUNvbnRhY3RTdWNjZXNzQWN0aW9uLFxuICByZW1vdmVUZWFtTWVtYmVyUHJvZmlsZUNvbnRhY3RBY3Rpb24sXG4gIHJlbW92ZVRlYW1NZW1iZXJQcm9maWxlQ29udGFjdEZhaWx1cmVBY3Rpb24sXG4gIHJlbW92ZVRlYW1NZW1iZXJQcm9maWxlQ29udGFjdFN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyT3RoZXJNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyT3RoZXJNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlck90aGVyTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJQcm9maWxlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlclByb2ZpbGVGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlclByb2ZpbGVTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1PdGhlck1lbWJlckFjdGlvbixcbiAgcmV0cmlldmVUZWFtT3RoZXJNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1PdGhlck1lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIHVwZGF0ZU1lbWJlclByb2ZpbGVBY3Rpb24sXG4gIHVwZGF0ZU1lbWJlclByb2ZpbGVGYWlsdXJlQWN0aW9uLFxuICB1cGRhdGVNZW1iZXJQcm9maWxlU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVtYmVyRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgbWVtYmVyU2VydmljZSA9IGluamVjdChNZW1iZXJTZXJ2aWNlKTtcblxuICByZW1vdmVNZW1iZXJDb250YWN0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmVtb3ZlTWVtYmVyUHJvZmlsZUNvbnRhY3RBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBjb250YWN0SWQ6IHN0cmluZyB9XG4gICAgICAgIH0pID0+IHRoaXMubWVtYmVyU2VydmljZS5yZW1vdmVNZW1iZXJQcm9maWxlQ29udGFjdChwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLmNvbnRhY3RJZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4gc3VjY2VzcyA/IHJlbW92ZU1lbWJlclByb2ZpbGVDb250YWN0U3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlTWVtYmVyUHJvZmlsZUNvbnRhY3RGYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgcGF5bG9hZDogbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtzdGF0dXM6IDQwMH0pXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJlbW92ZU1lbWJlclByb2ZpbGVDb250YWN0RmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVUZWFtTWVtYmVyQ29udGFjdCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZVRlYW1NZW1iZXJQcm9maWxlQ29udGFjdEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiB7IHRlYW1JZDogc3RyaW5nLCBtZW1iZXJJZDogc3RyaW5nLCBjb250YWN0SWQ6IHN0cmluZyB9XG4gICAgICAgIH0pID0+IHRoaXMubWVtYmVyU2VydmljZS5yZW1vdmVUZWFtTWVtYmVyQ29udGFjdChwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5jb250YWN0SWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHN1Y2Nlc3MgPyByZW1vdmVUZWFtTWVtYmVyUHJvZmlsZUNvbnRhY3RTdWNjZXNzQWN0aW9uKCkgOiByZW1vdmVUZWFtTWVtYmVyUHJvZmlsZUNvbnRhY3RGYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgcGF5bG9hZDogbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtzdGF0dXM6IDQwMH0pXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJlbW92ZVRlYW1NZW1iZXJQcm9maWxlQ29udGFjdEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJQcm9maWxlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJQcm9maWxlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBzdHJpbmcgfSkgPT4gdGhpcy5tZW1iZXJTZXJ2aWNlLmdldE1lbWJlclByb2ZpbGUocGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IE1lbWJlcikgPT4gcmV0cmlldmVNZW1iZXJQcm9maWxlU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJQcm9maWxlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJPdGhlck1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyT3RoZXJNZW1iZXJBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIG90aGVyTWVtYmVySWQ6IHN0cmluZ319KSA9PiB0aGlzLm1lbWJlclNlcnZpY2UuZ2V0TWVtYmVyT3RoZXJNZW1iZXIocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5vdGhlck1lbWJlcklkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG90aGVyTWVtYmVyOiBPdGhlck1lbWJlcikgPT4gcmV0cmlldmVNZW1iZXJPdGhlck1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG90aGVyTWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJPdGhlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlVGVhbU90aGVyTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVUZWFtT3RoZXJNZW1iZXJBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3RlYW1JZDogc3RyaW5nLCBvdGhlck1lbWJlcklkOiBzdHJpbmd9fSkgPT4gdGhpcy5tZW1iZXJTZXJ2aWNlLmdldFRlYW1PdGhlck1lbWJlcihwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5vdGhlck1lbWJlcklkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG90aGVyTWVtYmVyOiBPdGhlck1lbWJlcikgPT4gcmV0cmlldmVUZWFtT3RoZXJNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBvdGhlck1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbU90aGVyTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgdXBkYXRlTWVtYmVyUHJvZmlsZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHVwZGF0ZU1lbWJlclByb2ZpbGVBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IE1lbWJlciB9KSA9PiB0aGlzLm1lbWJlclNlcnZpY2UudXBkYXRlTWVtYmVyUHJvZmlsZShwYXlsb2FkLmlkLCBwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogTWVtYmVyKSA9PiB1cGRhdGVNZW1iZXJQcm9maWxlU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YodXBkYXRlTWVtYmVyUHJvZmlsZUZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcChcbiAgICAgICAgKHtyb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWR9OiB7IHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nIH0pID0+XG4gICAgICAgICAgdGhpcy5tZW1iZXJTZXJ2aWNlLmdldE1lbWJlcnMocm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJzOiBDb2xsZWN0aW9uPFNlYXJjaE1lbWJlcj4pID0+IGxpc3RNZW1iZXJzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVycy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyT3RoZXJNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlck90aGVyTWVtYmVyc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nfX0pID0+IHRoaXMubWVtYmVyTGVhZGVyR2V0T3RoZXJNZW1iZXJzKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuc2VhcmNoVGVybSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChvdGhlck1lbWJlcnM6IEFycmF5PE90aGVyTWVtYmVyPikgPT4gbGlzdE1lbWJlck90aGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oeyBwYXlsb2FkOiBvdGhlck1lbWJlcnMgfSApKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJPdGhlck1lbWJlcnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0UHVibGljTWVtYmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RQdWJsaWNNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5tZW1iZXJTZXJ2aWNlLmxpc3RQdWJsaWNNZW1iZXJzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXJzOiBDb2xsZWN0aW9uPFNlYXJjaE1lbWJlcj4pID0+IGxpc3RQdWJsaWNNZW1iZXJzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVycy50b0FycmF5KCl9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0UHVibGljTWVtYmVyc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RUZWFtT3RoZXJNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdFRlYW1PdGhlck1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3RlYW1JZDogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtTGVhZGVyR2V0T3RoZXJNZW1iZXJzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLnNlYXJjaFRlcm0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgob3RoZXJNZW1iZXJzOiBBcnJheTxPdGhlck1lbWJlcj4pID0+IGxpc3RUZWFtT3RoZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogb3RoZXJNZW1iZXJzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdFRlYW1PdGhlck1lbWJlcnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBwcml2YXRlIG1lbWJlckxlYWRlckdldE90aGVyTWVtYmVycyhtZW1iZXJJZDogc3RyaW5nLCBxOiBzdHJpbmcgPSAnJywgb2Zmc2V0OiBudW1iZXIgPSAwLCBjb2xsZWN0ZWRNZW1iZXJzOiBBcnJheTxPdGhlck1lbWJlcj4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8T3RoZXJNZW1iZXI+PiB7XG4gICAgcmV0dXJuIHRoaXMubWVtYmVyU2VydmljZS5zZWFyY2hNZW1iZXJPdGhlck1lbWJlcnMobWVtYmVySWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248T3RoZXJNZW1iZXI+KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcnMgPSByZXNwb25zZS50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGFsbE1lbWJlcnMgPSBjb2xsZWN0ZWRNZW1iZXJzLmNvbmNhdChtZW1iZXJzKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLm5leHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJMZWFkZXJHZXRPdGhlck1lbWJlcnMobWVtYmVySWQsIHEsIG9mZnNldCArIG1lbWJlcnMubGVuZ3RoLCBhbGxNZW1iZXJzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoYWxsTWVtYmVycyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB0ZWFtTGVhZGVyR2V0T3RoZXJNZW1iZXJzKHRlYW1JZDogc3RyaW5nLCBxOiBzdHJpbmcgPSAnJywgb2Zmc2V0OiBudW1iZXIgPSAwLCBjb2xsZWN0ZWRNZW1iZXJzOiBBcnJheTxPdGhlck1lbWJlcj4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8T3RoZXJNZW1iZXI+PiB7XG4gICAgcmV0dXJuIHRoaXMubWVtYmVyU2VydmljZS5zZWFyY2hUZWFtT3RoZXJNZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29sbGVjdGlvbjxPdGhlck1lbWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTWVtYmVycyA9IGNvbGxlY3RlZE1lbWJlcnMuY29uY2F0KG1lbWJlcnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlYW1MZWFkZXJHZXRPdGhlck1lbWJlcnModGVhbUlkLCBxLCBvZmZzZXQgKyBtZW1iZXJzLmxlbmd0aCwgYWxsTWVtYmVycyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGFsbE1lbWJlcnMpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -3,7 +3,9 @@ import { TeamService } from '../../../services';
3
3
  import { of, throwError } from 'rxjs';
4
4
  import { catchError, switchMap } from 'rxjs/operators';
5
5
  export class ExtraMembersMixin {
6
- teamService = inject(TeamService);
6
+ constructor() {
7
+ this.teamService = inject(TeamService);
8
+ }
7
9
  memberLeaderGetaAllMembers(memberId, teamId, q = '', offset = 0, collectedMembers = []) {
8
10
  return this.teamService.getMemberTeamMembers(memberId, teamId, q, offset).pipe(switchMap((response) => {
9
11
  const members = response.toArray();
@@ -57,4 +59,4 @@ export class ExtraMembersMixin {
57
59
  }), catchError((error) => throwError(() => error)));
58
60
  }
59
61
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtbWVtYmVycy1taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9taXhpbnMvZXh0cmEtbWVtYmVycy1taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFDbEIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVsQywwQkFBMEIsQ0FBQyxRQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRSxTQUFpQixDQUFDLEVBQUUsbUJBQTZDLEVBQUU7UUFDeEosT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDNUUsU0FBUyxDQUFDLENBQUMsUUFBdUMsRUFBRSxFQUFFO1lBQ3BELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEQsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxD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QUFFLENBQUM7Z0JBQ2xCLGtDQUFrQztnQkFDbEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMzRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04seUJBQXlCO2dCQUN6QixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2aXR5RXh0cmFNZW1iZXIsIENvbGxlY3Rpb24sIE1lbWJlclRlYW1UaHJvdWdoIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRlYW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5leHBvcnQgY2xhc3MgRXh0cmFNZW1iZXJzTWl4aW4ge1xuICBwcm90ZWN0ZWQgdGVhbVNlcnZpY2UgPSBpbmplY3QoVGVhbVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBtZW1iZXJMZWFkZXJHZXRhQWxsTWVtYmVycyhtZW1iZXJJZDogc3RyaW5nLCB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8TWVtYmVyVGVhbVRocm91Z2g+ID0gW10pOiBPYnNlcnZhYmxlPEFycmF5PE1lbWJlclRlYW1UaHJvdWdoPj4ge1xuICAgIHJldHVybiB0aGlzLnRlYW1TZXJ2aWNlLmdldE1lbWJlclRlYW1NZW1iZXJzKG1lbWJlcklkLCB0ZWFtSWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248TWVtYmVyVGVhbVRocm91Z2g+KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcnMgPSByZXNwb25zZS50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGFsbE1lbWJlcnMgPSBjb2xsZWN0ZWRNZW1iZXJzLmNvbmNhdChtZW1iZXJzKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLm5leHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJMZWFkZXJHZXRhQWxsTWVtYmVycyhtZW1iZXJJZCwgdGVhbUlkLCBxLCBvZmZzZXQgKyBtZW1iZXJzLmxlbmd0aCwgYWxsTWVtYmVycyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGFsbE1lbWJlcnMpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpXG4gICAgKVxuICB9XG5cbiAgcHJvdGVjdGVkIG1lbWJlckxlYWRlckdldEFsbEV4dHJhTWVtYmVycyhtZW1iZXJJZDogc3RyaW5nLCB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4+IHtcbiAgICByZXR1cm4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtRXh0cmFNZW1iZXJzKG1lbWJlcklkLCB0ZWFtSWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248QWN0aXZpdHlFeHRyYU1lbWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTWVtYmVycyA9IGNvbGxlY3RlZE1lbWJlcnMuY29uY2F0KG1lbWJlcnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIC8vIENvbnRpbnVlIGZldGNoaW5nIHRoZSBuZXh0IHBhZ2VcbiAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJMZWFkZXJHZXRBbGxFeHRyYU1lbWJlcnMobWVtYmVySWQsIHRlYW1JZCwgcSwgb2Zmc2V0ICsgbWVtYmVycy5sZW5ndGgsIGFsbE1lbWJlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5vIG1vcmUgcGFnZXMgdG8gZmV0Y2hcbiAgICAgICAgICByZXR1cm4gb2YoYWxsTWVtYmVycyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRlYW1MZWFkZXJHZXRBbGxNZW1iZXJzKHRlYW1JZDogc3RyaW5nLCBxOiBzdHJpbmcgPSAnJywgb2Zmc2V0OiBudW1iZXIgPSAwLCBjb2xsZWN0ZWRNZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8TWVtYmVyVGVhbVRocm91Z2g+PiB7XG4gICAgcmV0dXJuIHRoaXMudGVhbVNlcnZpY2UuZ2V0VGVhbUxlYWRlclRlYW1NZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29sbGVjdGlvbjxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTWVtYmVycyA9IGNvbGxlY3RlZE1lbWJlcnMuY29uY2F0KG1lbWJlcnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlYW1MZWFkZXJHZXRBbGxNZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0ICsgbWVtYmVycy5sZW5ndGgsIGFsbE1lbWJlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihhbGxNZW1iZXJzKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdGVhbUxlYWRlckdldEFsbEV4dHJhTWVtYmVycyh0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4+IHtcbiAgICByZXR1cm4gdGhpcy50ZWFtU2VydmljZS5nZXRUZWFtTGVhZGVyVGVhbUV4dHJhTWVtYmVycyh0ZWFtSWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248QWN0aXZpdHlFeHRyYU1lbWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTWVtYmVycyA9IGNvbGxlY3RlZE1lbWJlcnMuY29uY2F0KG1lbWJlcnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIC8vIENvbnRpbnVlIGZldGNoaW5nIHRoZSBuZXh0IHBhZ2VcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsRXh0cmFNZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0ICsgbWVtYmVycy5sZW5ndGgsIGFsbE1lbWJlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5vIG1vcmUgcGFnZXMgdG8gZmV0Y2hcbiAgICAgICAgICByZXR1cm4gb2YoYWxsTWVtYmVycyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSlcbiAgICApO1xuICB9XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtbWVtYmVycy1taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9taXhpbnMvZXh0cmEtbWVtYmVycy1taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDWSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQWlFOUMsQ0FBQztJQS9EVywwQkFBMEIsQ0FBQyxRQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRSxTQUFpQixDQUFDLEVBQUUsbUJBQTZDLEVBQUU7UUFDeEosT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDNUUsU0FBUyxDQUFDLENBQUMsUUFBdUMsRUFBRSxFQUFFO1lBQ3BELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEQsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFB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SSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLGtDQUFrQztnQkFDbEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMzRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04seUJBQXlCO2dCQUN6QixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2aXR5RXh0cmFNZW1iZXIsIENvbGxlY3Rpb24sIE1lbWJlclRlYW1UaHJvdWdoIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRlYW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5leHBvcnQgY2xhc3MgRXh0cmFNZW1iZXJzTWl4aW4ge1xuICBwcm90ZWN0ZWQgdGVhbVNlcnZpY2UgPSBpbmplY3QoVGVhbVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBtZW1iZXJMZWFkZXJHZXRhQWxsTWVtYmVycyhtZW1iZXJJZDogc3RyaW5nLCB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8TWVtYmVyVGVhbVRocm91Z2g+ID0gW10pOiBPYnNlcnZhYmxlPEFycmF5PE1lbWJlclRlYW1UaHJvdWdoPj4ge1xuICAgIHJldHVybiB0aGlzLnRlYW1TZXJ2aWNlLmdldE1lbWJlclRlYW1NZW1iZXJzKG1lbWJlcklkLCB0ZWFtSWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248TWVtYmVyVGVhbVRocm91Z2g+KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcnMgPSByZXNwb25zZS50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGFsbE1lbWJlcnMgPSBjb2xsZWN0ZWRNZW1iZXJzLmNvbmNhdChtZW1iZXJzKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLm5leHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJMZWFkZXJHZXRhQWxsTWVtYmVycyhtZW1iZXJJZCwgdGVhbUlkLCBxLCBvZmZzZXQgKyBtZW1iZXJzLmxlbmd0aCwgYWxsTWVtYmVycyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGFsbE1lbWJlcnMpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpXG4gICAgKVxuICB9XG5cbiAgcHJvdGVjdGVkIG1lbWJlckxlYWRlckdldEFsbEV4dHJhTWVtYmVycyhtZW1iZXJJZDogc3RyaW5nLCB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4+IHtcbiAgICByZXR1cm4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtRXh0cmFNZW1iZXJzKG1lbWJlcklkLCB0ZWFtSWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248QWN0aXZpdHlFeHRyYU1lbWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTWVtYmVycyA9IGNvbGxlY3RlZE1lbWJlcnMuY29uY2F0KG1lbWJlcnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIC8vIENvbnRpbnVlIGZldGNoaW5nIHRoZSBuZXh0IHBhZ2VcbiAgICAgICAgICByZXR1cm4gdGhpcy5tZW1iZXJMZWFkZXJHZXRBbGxFeHRyYU1lbWJlcnMobWVtYmVySWQsIHRlYW1JZCwgcSwgb2Zmc2V0ICsgbWVtYmVycy5sZW5ndGgsIGFsbE1lbWJlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5vIG1vcmUgcGFnZXMgdG8gZmV0Y2hcbiAgICAgICAgICByZXR1cm4gb2YoYWxsTWVtYmVycyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRlYW1MZWFkZXJHZXRBbGxNZW1iZXJzKHRlYW1JZDogc3RyaW5nLCBxOiBzdHJpbmcgPSAnJywgb2Zmc2V0OiBudW1iZXIgPSAwLCBjb2xsZWN0ZWRNZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8TWVtYmVyVGVhbVRocm91Z2g+PiB7XG4gICAgcmV0dXJuIHRoaXMudGVhbVNlcnZpY2UuZ2V0VGVhbUxlYWRlclRlYW1NZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29sbGVjdGlvbjxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTWVtYmVycyA9IGNvbGxlY3RlZE1lbWJlcnMuY29uY2F0KG1lbWJlcnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlYW1MZWFkZXJHZXRBbGxNZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0ICsgbWVtYmVycy5sZW5ndGgsIGFsbE1lbWJlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihhbGxNZW1iZXJzKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdGVhbUxlYWRlckdldEFsbEV4dHJhTWVtYmVycyh0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nID0gJycsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTWVtYmVyczogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4+IHtcbiAgICByZXR1cm4gdGhpcy50ZWFtU2VydmljZS5nZXRUZWFtTGVhZGVyVGVhbUV4dHJhTWVtYmVycyh0ZWFtSWQsIHEsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248QWN0aXZpdHlFeHRyYU1lbWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTWVtYmVycyA9IGNvbGxlY3RlZE1lbWJlcnMuY29uY2F0KG1lbWJlcnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIC8vIENvbnRpbnVlIGZldGNoaW5nIHRoZSBuZXh0IHBhZ2VcbiAgICAgICAgICByZXR1cm4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsRXh0cmFNZW1iZXJzKHRlYW1JZCwgcSwgb2Zmc2V0ICsgbWVtYmVycy5sZW5ndGgsIGFsbE1lbWJlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5vIG1vcmUgcGFnZXMgdG8gZmV0Y2hcbiAgICAgICAgICByZXR1cm4gb2YoYWxsTWVtYmVycyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSlcbiAgICApO1xuICB9XG59XG4iXX0=