@xsolla/payment-client-core 0.1.2 → 0.1.4

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 (126) hide show
  1. package/esm2020/lib/core/credit-card/credit-card-settings.interface.mjs +2 -0
  2. package/esm2020/lib/core/credit-card/credit-card-types.enum.mjs +20 -0
  3. package/esm2020/lib/core/credit-card/credit-card.interface.mjs +2 -0
  4. package/esm2020/lib/core/credit-card/credit-card.service.mjs +41 -0
  5. package/esm2020/lib/core/credit-card/credit-cards-map.const.mjs +36 -0
  6. package/esm2020/lib/core/credit-card/default-mask.const.mjs +2 -0
  7. package/esm2020/lib/core/credit-card/four-block-mask.const.mjs +2 -0
  8. package/esm2020/lib/core/credit-card/ordered-cards-settings.const.mjs +45 -0
  9. package/esm2020/lib/core/credit-card/types/american-express.mjs +13 -0
  10. package/esm2020/lib/core/credit-card/types/aura.mjs +15 -0
  11. package/esm2020/lib/core/credit-card/types/china-union-pay.mjs +12 -0
  12. package/esm2020/lib/core/credit-card/types/dankort.mjs +15 -0
  13. package/esm2020/lib/core/credit-card/types/default-card.mjs +13 -0
  14. package/esm2020/lib/core/credit-card/types/diners-clubs.mjs +13 -0
  15. package/esm2020/lib/core/credit-card/types/discover.mjs +13 -0
  16. package/esm2020/lib/core/credit-card/types/elo.mjs +13 -0
  17. package/esm2020/lib/core/credit-card/types/hipercard.mjs +13 -0
  18. package/esm2020/lib/core/credit-card/types/jcb.mjs +13 -0
  19. package/esm2020/lib/core/credit-card/types/maestro.mjs +14 -0
  20. package/esm2020/lib/core/credit-card/types/mastercard.mjs +16 -0
  21. package/esm2020/lib/core/credit-card/types/mir.mjs +15 -0
  22. package/esm2020/lib/core/credit-card/types/naranja.mjs +15 -0
  23. package/esm2020/lib/core/credit-card/types/postepay.mjs +13 -0
  24. package/esm2020/lib/core/credit-card/types/visa.mjs +13 -0
  25. package/esm2020/lib/core/payment/actions/next-action.interface.mjs +1 -1
  26. package/esm2020/lib/core/payment/actions/next-actions.mjs +1 -3
  27. package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.token.mjs +3 -2
  28. package/esm2020/lib/core/payment/credit-card-state/credit-card-state.interface.mjs +2 -0
  29. package/esm2020/lib/core/payment/credit-card-state/credit-card-state.service.mjs +14 -0
  30. package/esm2020/lib/core/payment/form/controls/card-number-control.config.mjs +10 -0
  31. package/esm2020/lib/core/payment/form/converters/card-number.converter.mjs +45 -0
  32. package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +8 -6
  33. package/esm2020/lib/core/payment/form/converters/converters-map.mjs +3 -1
  34. package/esm2020/lib/core/payment/form/converters/email.converter.mjs +3 -3
  35. package/esm2020/lib/core/payment/form/converters/zip.converter.mjs +4 -5
  36. package/esm2020/lib/core/payment/form/field-status.interface.mjs +2 -0
  37. package/esm2020/lib/core/payment/form/form-fields-status.interface.mjs +2 -0
  38. package/esm2020/lib/core/payment/form/form.module.mjs +8 -4
  39. package/esm2020/lib/core/payment/form/input-event.enum.mjs +6 -0
  40. package/esm2020/lib/core/payment/form/validators/async-validator-fn.type.mjs +2 -0
  41. package/esm2020/lib/core/payment/form/validators/convert.function.mjs +6 -14
  42. package/esm2020/lib/core/payment/form/validators/credit-card-min-length.validator.mjs +32 -0
  43. package/esm2020/lib/core/payment/form/validators/email-validator.mjs +3 -4
  44. package/esm2020/lib/core/payment/form/validators/is-empty-input-value.function.mjs +4 -0
  45. package/esm2020/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +40 -0
  46. package/esm2020/lib/core/payment/form/validators/required-validator.mjs +3 -4
  47. package/esm2020/lib/core/payment/form/validators/validation-error.interface.mjs +1 -1
  48. package/esm2020/lib/core/payment/form/validators/validators.module.mjs +18 -0
  49. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  50. package/esm2020/lib/core/payment/payment.service.mjs +57 -46
  51. package/esm2020/lib/core/payment/sync/field-async-validation.interface.mjs +2 -0
  52. package/esm2020/lib/core/payment/sync/sync-response.class.mjs +7 -4
  53. package/esm2020/lib/core/payment/sync/sync.service.mjs +14 -11
  54. package/esm2020/lib/core/payment/xps-response.interface.mjs +1 -1
  55. package/esm2020/lib/core/type-guards/is-string.function.mjs +4 -0
  56. package/esm2020/lib/core-library.service.mjs +20 -7
  57. package/fesm2015/xsolla-payment-client-core.mjs +559 -120
  58. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  59. package/fesm2020/xsolla-payment-client-core.mjs +558 -119
  60. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  61. package/lib/core/credit-card/credit-card-settings.interface.d.ts +10 -0
  62. package/lib/core/credit-card/credit-card-types.enum.d.ts +18 -0
  63. package/lib/core/credit-card/credit-card.interface.d.ts +9 -0
  64. package/lib/core/credit-card/credit-card.service.d.ts +11 -0
  65. package/lib/core/credit-card/credit-cards-map.const.d.ts +5 -0
  66. package/lib/core/credit-card/default-mask.const.d.ts +1 -0
  67. package/lib/core/credit-card/four-block-mask.const.d.ts +1 -0
  68. package/lib/core/credit-card/ordered-cards-settings.const.d.ts +12 -0
  69. package/lib/core/credit-card/types/american-express.d.ts +2 -0
  70. package/lib/core/credit-card/types/aura.d.ts +2 -0
  71. package/lib/core/credit-card/types/china-union-pay.d.ts +2 -0
  72. package/lib/core/credit-card/types/dankort.d.ts +2 -0
  73. package/lib/core/credit-card/types/default-card.d.ts +2 -0
  74. package/lib/core/credit-card/types/diners-clubs.d.ts +2 -0
  75. package/lib/core/credit-card/types/discover.d.ts +2 -0
  76. package/lib/core/credit-card/types/elo.d.ts +2 -0
  77. package/lib/core/credit-card/types/hipercard.d.ts +2 -0
  78. package/lib/core/credit-card/types/jcb.d.ts +2 -0
  79. package/lib/core/credit-card/types/maestro.d.ts +2 -0
  80. package/lib/core/credit-card/types/mastercard.d.ts +2 -0
  81. package/lib/core/credit-card/types/mir.d.ts +2 -0
  82. package/lib/core/credit-card/types/naranja.d.ts +2 -0
  83. package/lib/core/credit-card/types/postepay.d.ts +2 -0
  84. package/lib/core/credit-card/types/visa.d.ts +2 -0
  85. package/lib/core/payment/actions/next-action.interface.d.ts +1 -2
  86. package/lib/core/payment/credit-card-state/credit-card-state.interface.d.ts +3 -0
  87. package/lib/core/payment/credit-card-state/credit-card-state.service.d.ts +7 -0
  88. package/lib/core/payment/form/controls/card-number-control.config.d.ts +11 -0
  89. package/lib/core/payment/form/converters/card-number.converter.d.ts +19 -0
  90. package/lib/core/payment/form/converters/converter.abstract.d.ts +4 -1
  91. package/lib/core/payment/form/converters/email.converter.d.ts +1 -1
  92. package/lib/core/payment/form/field-status.interface.d.ts +7 -0
  93. package/lib/core/payment/form/form-fields-status.interface.d.ts +4 -0
  94. package/lib/core/payment/form/form.module.d.ts +2 -1
  95. package/lib/core/payment/form/validators/async-validator-fn.type.d.ts +4 -0
  96. package/lib/core/payment/form/validators/convert.function.d.ts +1 -1
  97. package/lib/core/payment/form/validators/credit-card-min-length.validator.d.ts +12 -0
  98. package/lib/core/payment/form/validators/email-validator.d.ts +1 -1
  99. package/lib/core/payment/form/validators/is-empty-input-value.function.d.ts +1 -0
  100. package/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.d.ts +6 -0
  101. package/lib/core/payment/form/validators/required-validator.d.ts +1 -1
  102. package/lib/core/payment/form/validators/validation-error.interface.d.ts +0 -1
  103. package/lib/core/payment/form/validators/validators.module.d.ts +7 -0
  104. package/lib/core/payment/payment.interface.d.ts +3 -1
  105. package/lib/core/payment/payment.service.d.ts +12 -4
  106. package/lib/core/payment/sync/field-async-validation.interface.d.ts +7 -0
  107. package/lib/core/payment/sync/sync-response.class.d.ts +2 -4
  108. package/lib/core/payment/sync/sync.service.d.ts +4 -0
  109. package/lib/core/payment/xps-response.interface.d.ts +1 -0
  110. package/lib/core/type-guards/is-string.function.d.ts +1 -0
  111. package/lib/core-library.service.d.ts +10 -1
  112. package/package.json +1 -1
  113. package/xsolla-payment-client-core-0.1.4.tgz +0 -0
  114. package/esm2020/lib/core/payment/actions/show-field-state/show-field-state.action.class.mjs +0 -12
  115. package/esm2020/lib/core/payment/actions/show-field-state/show-field-state.action.token.mjs +0 -13
  116. package/esm2020/lib/core/payment/actions/show-field-state/show-field-state.action.type.mjs +0 -2
  117. package/esm2020/lib/core/payment/form/input-events.enum.mjs +0 -6
  118. package/esm2020/lib/core/payment/form/validators/errors-codes.enum.mjs +0 -8
  119. package/esm2020/lib/core/payment/show-field-state.interface.mjs +0 -2
  120. package/lib/core/payment/actions/show-field-state/show-field-state.action.class.d.ts +0 -8
  121. package/lib/core/payment/actions/show-field-state/show-field-state.action.token.d.ts +0 -4
  122. package/lib/core/payment/actions/show-field-state/show-field-state.action.type.d.ts +0 -11
  123. package/lib/core/payment/form/validators/errors-codes.enum.d.ts +0 -6
  124. package/lib/core/payment/show-field-state.interface.d.ts +0 -8
  125. package/xsolla-payment-client-core-0.1.2.tgz +0 -0
  126. /package/lib/core/payment/form/{input-events.enum.d.ts → input-event.enum.d.ts} +0 -0
@@ -1,9 +1,9 @@
1
- import { Subject, distinctUntilChanged, takeUntil } from 'rxjs';
1
+ import { BehaviorSubject, Subject, filter, takeUntil } from 'rxjs';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { SubmitResponse } from './submit/response/submit-response.class';
4
4
  import { isSubmitResponse } from './submit/response/is-submit-response.function';
5
- import { ShowFieldStateAction } from './actions/show-field-state/show-field-state.action.class';
6
- import { InputEventName } from './form/input-events.enum';
5
+ import { InputEventName } from './form/input-event.enum';
6
+ import { FieldNames } from './field-names.enum';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "./initialize/initialize.service";
9
9
  import * as i2 from "./submit/submit.service";
@@ -11,24 +11,31 @@ import * as i3 from "./sync/sync.service";
11
11
  import * as i4 from "./form/form.service";
12
12
  import * as i5 from "./status/status.service";
13
13
  import * as i6 from "./finance-details/finance-details.service";
14
- import * as i7 from "./actions/next-action.service";
15
- import * as i8 from "./form/controls/control-config.service";
14
+ import * as i7 from "./credit-card-state/credit-card-state.service";
15
+ import * as i8 from "./actions/next-action.service";
16
+ import * as i9 from "./form/controls/control-config.service";
16
17
  export class PaymentService {
17
- constructor(initializeService, submitService, syncService, formService, statusService, financeDetailsService, nextActionService, controlConfigService) {
18
+ get formFieldsStatus$() {
19
+ return this.formFieldsStatusSubject.asObservable().pipe(filter(Boolean));
20
+ }
21
+ constructor(initializeService, submitService, syncService, formService, statusService, financeDetailsService, creditCardStateService, nextActionService, controlConfigService) {
18
22
  this.initializeService = initializeService;
19
23
  this.submitService = submitService;
20
24
  this.syncService = syncService;
21
25
  this.formService = formService;
22
26
  this.statusService = statusService;
23
27
  this.financeDetailsService = financeDetailsService;
28
+ this.creditCardStateService = creditCardStateService;
24
29
  this.nextActionService = nextActionService;
25
30
  this.controlConfigService = controlConfigService;
26
31
  this.form = null;
27
32
  this.data = null;
28
33
  this.financeDetails = null;
34
+ this.focusFieldName = null;
29
35
  this.fields = [];
30
36
  this.destroy$ = new Subject();
31
37
  this.formDestroy$ = new Subject();
38
+ this.formFieldsStatusSubject = new BehaviorSubject(null);
32
39
  }
33
40
  async initialize(config) {
34
41
  this.destroy$ = new Subject();
@@ -38,9 +45,10 @@ export class PaymentService {
38
45
  this.data = await this.initializeService.request(config);
39
46
  this.fields = this.getFields();
40
47
  this.form = this.formService.createForm(this.fields);
41
- this.listenSyncValidationErrors(this.form);
42
- this.emitFinanceDetails(this.data.paymentForm?.summary);
43
48
  this.setupSyncService(this.form, this.fields);
49
+ this.listenFormStatusChanges(this.form);
50
+ this.emitFinanceDetails(this.data.paymentForm?.summary);
51
+ this.emitFormFieldsStatus(this.form);
44
52
  return this.fields.filter((field) => field?.isVisible === "1" /* XpsBoolean.true */);
45
53
  }
46
54
  async submit() {
@@ -49,13 +57,7 @@ export class PaymentService {
49
57
  }
50
58
  if (!this.form.valid) {
51
59
  this.form.markAllAsTouched();
52
- Object.keys(this.form.controls).forEach((controlKey) => {
53
- const control = this.form?.get(controlKey);
54
- if (control) {
55
- const controlObject = this.getControlState(controlKey, control);
56
- this.nextActionService.emitFlowUpdates(new ShowFieldStateAction({ ...controlObject, isFocused: true }));
57
- }
58
- });
60
+ this.emitFormFieldsStatus(this.form);
59
61
  return;
60
62
  }
61
63
  const submitResponse = await this.submitService.request(this.fields, this.form);
@@ -104,22 +106,22 @@ export class PaymentService {
104
106
  }
105
107
  changeFieldState(name, state) {
106
108
  const formControl = this.form?.get(name);
107
- if (!formControl) {
109
+ if (!this.form || !formControl) {
108
110
  return;
109
111
  }
110
- const controlObject = this.getControlState(name, formControl);
111
112
  switch (state) {
112
113
  case InputEventName.blur: {
113
114
  formControl.markAsTouched();
114
- this.nextActionService.emitFlowUpdates(new ShowFieldStateAction({ ...controlObject, isFocused: true }));
115
- return;
115
+ this.focusFieldName = null;
116
+ break;
116
117
  }
117
118
  case InputEventName.focus: {
118
119
  formControl.markAsUntouched();
119
- this.nextActionService.emitFlowUpdates(new ShowFieldStateAction({ ...controlObject, isFocused: false }));
120
- return;
120
+ this.focusFieldName = name;
121
+ break;
121
122
  }
122
123
  }
124
+ this.emitFormFieldsStatus(this.form);
123
125
  }
124
126
  destroy() {
125
127
  this.data = null;
@@ -132,46 +134,55 @@ export class PaymentService {
132
134
  emitFinanceDetails(summary) {
133
135
  this.financeDetailsService.emit(summary);
134
136
  }
137
+ emitCreditCardState(idCardType) {
138
+ this.creditCardStateService.emit({ idCardType });
139
+ }
140
+ emitFormFieldsStatus(form) {
141
+ const formFieldsStatus = {};
142
+ Object.keys(form.controls).forEach((name) => {
143
+ const control = form.controls[name];
144
+ formFieldsStatus[name] = {
145
+ name: name,
146
+ validationStatus: control.status,
147
+ errors: control.errors,
148
+ isFocused: this.focusFieldName === name,
149
+ };
150
+ });
151
+ this.formFieldsStatusSubject.next(formFieldsStatus);
152
+ }
135
153
  setupSyncService(form, fields) {
136
154
  this.syncService.setup(form, fields);
137
155
  this.syncService.data$
138
156
  .pipe(takeUntil(this.destroy$))
139
- .subscribe((response) => this.emitFinanceDetails(response.summary));
157
+ .subscribe((response) => {
158
+ this.emitFinanceDetails(response.summary);
159
+ });
160
+ this.syncService.fieldAsyncValidation$
161
+ .pipe(takeUntil(this.destroy$))
162
+ .subscribe((fieldAsyncValidation) => {
163
+ switch (fieldAsyncValidation.field.name) {
164
+ case FieldNames.cardNumber:
165
+ this.emitCreditCardState(fieldAsyncValidation.response.parameters.idCardType);
166
+ }
167
+ });
140
168
  }
141
169
  listenFinanceDetails() {
142
170
  this.financeDetailsService.data$
143
171
  .pipe(takeUntil(this.destroy$))
144
172
  .subscribe((financeDetails) => (this.financeDetails = financeDetails));
145
173
  }
146
- listenSyncValidationErrors(form) {
147
- Object.keys(form.controls).forEach((key) => {
148
- const control = form.get(key);
149
- if (control) {
150
- control.statusChanges
151
- .pipe(distinctUntilChanged(), takeUntil(this.formDestroy$))
152
- .subscribe((status) => {
153
- const controlObject = this.getControlState(key, control, status);
154
- this.nextActionService.emitFlowUpdates(new ShowFieldStateAction(controlObject));
155
- });
156
- }
157
- });
158
- }
159
- getControlState(controlName, controlObject, status) {
160
- const controlError = controlObject.errors?.['rewritableError'] ??
161
- null;
162
- return {
163
- fieldName: controlName,
164
- fieldState: status ?? controlObject.status,
165
- error: controlError,
166
- };
174
+ listenFormStatusChanges(form) {
175
+ form.statusChanges
176
+ .pipe(takeUntil(this.formDestroy$))
177
+ .subscribe(() => this.emitFormFieldsStatus(form));
167
178
  }
168
179
  }
169
- PaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, deps: [{ token: i1.InitializeService }, { token: i2.SubmitService }, { token: i3.SyncService }, { token: i4.FormService }, { token: i5.StatusService }, { token: i6.FinanceDetailsService }, { token: i7.NextActionService }, { token: i8.ControlConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
180
+ PaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, deps: [{ token: i1.InitializeService }, { token: i2.SubmitService }, { token: i3.SyncService }, { token: i4.FormService }, { token: i5.StatusService }, { token: i6.FinanceDetailsService }, { token: i7.CreditCardStateService }, { token: i8.NextActionService }, { token: i9.ControlConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
170
181
  PaymentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, providedIn: 'root' });
171
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, decorators: [{
172
183
  type: Injectable,
173
184
  args: [{
174
185
  providedIn: 'root',
175
186
  }]
176
- }], ctorParameters: function () { return [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.NextActionService }, { type: i8.ControlConfigService }]; } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFpQnpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBS2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQUsxRCxNQUFNLE9BQU8sY0FBYztJQVd6QixZQUNtQixpQkFBb0MsRUFDcEMsYUFBNEIsRUFDNUIsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsYUFBNEIsRUFDNUIscUJBQTRDLEVBQzVDLGlCQUFvQyxFQUNwQyxvQkFBMEM7UUFQMUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQWxCdEQsU0FBSSxHQUE0QixJQUFJLENBQUM7UUFFcEMsU0FBSSxHQUErQyxJQUFJLENBQUM7UUFDeEQsbUJBQWMs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LEVBQUUsRUFBRTtZQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTlCLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxhQUFhO3FCQUNsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO3FCQUMxRCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDcEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUVqRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwQyxJQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUN4QyxDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlLENBQ3JCLFdBQW1CLEVBQ25CLGFBQThCLEVBQzlCLE1BQTBCO1FBRTFCLE1BQU0sWUFBWSxHQUNmLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBNEI7WUFDckUsSUFBSSxDQUFDO1FBRVAsT0FBTztZQUNMLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLFVBQVUsRUFBRSxNQUFNLElBQUksYUFBYSxDQUFDLE1BQU07WUFDMUMsS0FBSyxFQUFFLFlBQVk7U0FDcEIsQ0FBQztJQUNKLENBQUM7OzJHQXhOVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbFN0YXR1cyxcbiAgVW50eXBlZEZvcm1Hcm91cCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0vZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEluaXRpYWxpemVSZXNwb25zZSB9IGZyb20gJy4vaW5pdGlhbGl6ZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEluaXRpYWxpemVTZXJ2aWNlIH0gZnJvbSAnLi9pbml0aWFsaXplL2luaXRpYWxpemUuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1pdFNlcnZpY2UgfSBmcm9tICcuL3N1Ym1pdC9zdWJtaXQuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZyB9IGZyb20gJy4vZm9ybS9jb250cm9scy9jb250cm9sLWNvbmZpZyc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnU2VydmljZSB9IGZyb20gJy4vZm9ybS9jb250cm9scy9jb250cm9sLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLmNsYXNzJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1N1bW1hcnkgfSBmcm9tICcuL3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWcgfSBmcm9tICcuL3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc1N1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2UvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuL2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0aW9uLWVycm9ycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIGFzIENvbnRyb2xWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0aW9uLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTaG93RmllbGRTdGF0ZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9zaG93LWZpZWxkLXN0YXRlL3Nob3ctZmllbGQtc3RhdGUuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFNob3dGaWVsZFN0YXRlIH0gZnJvbSAnLi9zaG93LWZpZWxkLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50TmFtZSB9IGZyb20gJy4vZm9ybS9pbnB1dC1ldmVudHMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50U2VydmljZSB7XG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBkYXRhOiBJbml0aWFsaXplUmVzcG9uc2UgfCBTdWJtaXRSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpbmFuY2VEZXRhaWxzOiBGaW5hbmNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGNvbmZpZyE6IFBheW1lbnRDb25maWc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgZm9ybURlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsaXplU2VydmljZTogSW5pdGlhbGl6ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJtaXRTZXJ2aWNlOiBTdWJtaXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzU2VydmljZTogU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbENvbmZpZ1NlcnZpY2U6IENvbnRyb2xDb25maWdTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZShjb25maWc6IFBheW1lbnRDb25maWcpOiBQcm9taXNlPEZpZWxkW10+IHtcbiAgICB0aGlzLmRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLmZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLmxpc3RlbkZpbmFuY2VEZXRhaWxzKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmRhdGEgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVTZXJ2aWNlLnJlcXVlc3QoY29uZmlnKTtcblxuICAgIHRoaXMuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmNyZWF0ZUZvcm0odGhpcy5maWVsZHMpO1xuXG4gICAgdGhpcy5saXN0ZW5TeW5jVmFsaWRhdGlvbkVycm9ycyh0aGlzLmZvcm0pO1xuICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHRoaXMuZGF0YS5wYXltZW50Rm9ybT8uc3VtbWFyeSk7XG4gICAgdGhpcy5zZXR1cFN5bmNTZXJ2aWNlKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzLmZpbHRlcihcbiAgICAgIChmaWVsZDogRmllbGQpID0+IGZpZWxkPy5pc1Zpc2libGUgPT09IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3VibWl0KCk6IFByb21pc2U8TmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmZvcm0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZm9ybSBpcyBlbXB0eSEnKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcblxuICAgICAgT2JqZWN0LmtleXModGhpcy5mb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sS2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0/LmdldChjb250cm9sS2V5KTtcbiAgICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgICBjb25zdCBjb250cm9sT2JqZWN0ID0gdGhpcy5nZXRDb250cm9sU3RhdGUoY29udHJvbEtleSwgY29udHJvbCk7XG5cbiAgICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICAgIG5ldyBTaG93RmllbGRTdGF0ZUFjdGlvbih7IC4uLmNvbnRyb2xPYmplY3QsIGlzRm9jdXNlZDogdHJ1ZSB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3VibWl0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN1Ym1pdFNlcnZpY2UucmVxdWVzdChcbiAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgdGhpcy5mb3JtXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YSA9IHN1Ym1pdFJlc3BvbnNlO1xuXG4gICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMoc3VibWl0UmVzcG9uc2Uuc3VtbWFyeSk7XG5cbiAgICByZXR1cm4gdGhpcy5uZXh0QWN0aW9uU2VydmljZS5nZXROZXh0QWN0aW9uKHN1Ym1pdFJlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZHMoKTogRmllbGRbXSB7XG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIFN1Ym1pdFJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhLmZpZWxkcyA/PyBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kYXRhPy5wYXltZW50Rm9ybT8uZmllbGRzID8/IFtdO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHZhbGlkYXRlKGZpZWxkOiBGaWVsZCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCBzeW5jRXJyb3JzID0gdGhpcy5zeW5jU2VydmljZS5nZXRTeW5jVmFsaWRhdGlvbkVycm9ycyhmaWVsZCk7XG5cbiAgICBpZiAoc3luY0Vycm9ycykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzeW5jRXJyb3JzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zeW5jU2VydmljZS52YWxpZGF0ZShmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgcnVuVGhyZWVEcygpOiBOZXh0QWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoKTogRmluYW5jZURldGFpbHMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlscztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXMoKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMgPSB7XG4gICAgICBwaWQ6IHRoaXMuY29uZmlnLnBheW1lbnRNZXRob2RJZCxcbiAgICAgIGludm9pY2U6IHBhcnNlSW50KHRoaXMuZGF0YS5maXhJbnZvaWNlID8/ICcnKSxcbiAgICAgIHNpZ25hdHVyZTogdGhpcy5kYXRhLnNpZ25hdHVyZSA/PyAnJyxcbiAgICAgIGxvY2FsZTpcbiAgICAgICAgdGhpcy5kYXRhLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ2xvY2FsZScpPy52YWx1ZSA/P1xuICAgICAgICAnZW4nLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5zdGF0dXNTZXJ2aWNlLmdldFN0YXR1cyhwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkQ29uZmlnKGZpZWxkOiBGaWVsZCk6IENvbnRyb2xDb25maWcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sQ29uZmlnU2VydmljZS5nZXRDb25maWcoZmllbGQpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZUZpZWxkVmFsdWUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0/LmdldChuYW1lKTtcbiAgICBmb3JtQ29udHJvbD8uc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZUZpZWxkU3RhdGUobmFtZTogc3RyaW5nLCBzdGF0ZTogSW5wdXRFdmVudE5hbWUpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuXG4gICAgaWYgKCFmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xPYmplY3QgPSB0aGlzLmdldENvbnRyb2xTdGF0ZShuYW1lLCBmb3JtQ29udHJvbCk7XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmJsdXI6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuXG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIG5ldyBTaG93RmllbGRTdGF0ZUFjdGlvbih7IC4uLmNvbnRyb2xPYmplY3QsIGlzRm9jdXNlZDogdHJ1ZSB9KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmZvY3VzOiB7XG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuXG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIG5ldyBTaG93RmllbGRTdGF0ZUFjdGlvbih7IC4uLmNvbnRyb2xPYmplY3QsIGlzRm9jdXNlZDogZmFsc2UgfSlcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YSA9IG51bGw7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlscyA9IG51bGw7XG4gICAgdGhpcy5mb3JtID0gbnVsbDtcbiAgICB0aGlzLmZpZWxkcyA9IFtdO1xuICAgIHRoaXMuZm9ybURlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk/OiBYcHNTdW1tYXJ5KTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdChzdW1tYXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBTeW5jU2VydmljZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBmaWVsZHM6IEZpZWxkW10pOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKGZvcm0sIGZpZWxkcyk7XG4gICAgdGhpcy5zeW5jU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHJlc3BvbnNlLnN1bW1hcnkpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRmluYW5jZURldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpbmFuY2VEZXRhaWxzKSA9PiAodGhpcy5maW5hbmNlRGV0YWlscyA9IGZpbmFuY2VEZXRhaWxzKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblN5bmNWYWxpZGF0aW9uRXJyb3JzKGZvcm06IFVudHlwZWRGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhmb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmdldChrZXkpO1xuXG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICBjb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy5mb3JtRGVzdHJveSQpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbE9iamVjdCA9IHRoaXMuZ2V0Q29udHJvbFN0YXRlKGtleSwgY29udHJvbCwgc3RhdHVzKTtcblxuICAgICAgICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICAgICAgICAgIG5ldyBTaG93RmllbGRTdGF0ZUFjdGlvbihjb250cm9sT2JqZWN0KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udHJvbFN0YXRlKFxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmcsXG4gICAgY29udHJvbE9iamVjdDogQWJzdHJhY3RDb250cm9sLFxuICAgIHN0YXR1cz86IEZvcm1Db250cm9sU3RhdHVzXG4gICk6IFNob3dGaWVsZFN0YXRlIHtcbiAgICBjb25zdCBjb250cm9sRXJyb3IgPVxuICAgICAgKGNvbnRyb2xPYmplY3QuZXJyb3JzPy5bJ3Jld3JpdGFibGVFcnJvciddIGFzIENvbnRyb2xWYWxpZGF0aW9uRXJyb3IpID8/XG4gICAgICBudWxsO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkTmFtZTogY29udHJvbE5hbWUsXG4gICAgICBmaWVsZFN0YXRlOiBzdGF0dXMgPz8gY29udHJvbE9iamVjdC5zdGF0dXMsXG4gICAgICBlcnJvcjogY29udHJvbEVycm9yLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
187
+ }], ctorParameters: function () { return [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.CreditCardStateService }, { type: i8.NextActionService }, { type: i9.ControlConfigService }]; } });
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWlCekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFLaEQsTUFBTSxPQUFPLGNBQWM7SUFHekIsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFhRCxZQUNtQixpQkFBb0MsRUFDcEMsYUFBNEIsRUFDNUIsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsYUFBNEIsRUFDNUIscUJBQTRDLEVBQzVDLHNCQUE4QyxFQUM5QyxpQkFBb0MsRUFDcEMsb0JBQTBDO1FBUjFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixD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b3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9mb3JtL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBJbml0aWFsaXplU2VydmljZSB9IGZyb20gJy4vaW5pdGlhbGl6ZS9pbml0aWFsaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRTZXJ2aWNlIH0gZnJvbSAnLi9zdWJtaXQvc3VibWl0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3luY1NlcnZpY2UgfSBmcm9tICcuL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5jbGFzcyc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnIH0gZnJvbSAnLi9wYXltZW50LWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgaXNTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL2lzLXN1Ym1pdC1yZXNwb25zZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4veHBzLWJvb2xlYW4uZW51bSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi9mb3JtL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbi1lcnJvcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9mb3JtL2lucHV0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHsgRm9ybUZpZWxkc1N0YXR1cyB9IGZyb20gJy4vZm9ybS9mb3JtLWZpZWxkcy1zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4vZmllbGQtbmFtZXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50U2VydmljZSB7XG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBmb3JtRmllbGRzU3RhdHVzJCgpOiBPYnNlcnZhYmxlPEZvcm1GaWVsZHNTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtRmllbGRzU3RhdHVzU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGZpbHRlcihCb29sZWFuKSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGE6IEluaXRpYWxpemVSZXNwb25zZSB8IFN1Ym1pdFJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZmluYW5jZURldGFpbHM6IEZpbmFuY2VEZXRhaWxzIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZm9jdXNGaWVsZE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGNvbmZpZyE6IFBheW1lbnRDb25maWc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgZm9ybURlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmllbGRzU3RhdHVzU3ViamVjdCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRmllbGRzU3RhdHVzIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbGl6ZVNlcnZpY2U6IEluaXRpYWxpemVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VibWl0U2VydmljZTogU3VibWl0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTdGF0ZVNlcnZpY2U6IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29uZmlnU2VydmljZTogQ29udHJvbENvbmZpZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKGNvbmZpZzogUGF5bWVudENvbmZpZyk6IFByb21pc2U8RmllbGRbXT4ge1xuICAgIHRoaXMuZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuZm9ybURlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHRoaXMubGlzdGVuRmluYW5jZURldGFpbHMoKTtcblxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuZGF0YSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVNlcnZpY2UucmVxdWVzdChjb25maWcpO1xuXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNlcnZpY2UuY3JlYXRlRm9ybSh0aGlzLmZpZWxkcyk7XG5cbiAgICB0aGlzLnNldHVwU3luY1NlcnZpY2UodGhpcy5mb3JtLCB0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy5saXN0ZW5Gb3JtU3RhdHVzQ2hhbmdlcyh0aGlzLmZvcm0pO1xuXG4gICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHModGhpcy5kYXRhLnBheW1lbnRGb3JtPy5zdW1tYXJ5KTtcbiAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG5cbiAgICByZXR1cm4gdGhpcy5maWVsZHMuZmlsdGVyKFxuICAgICAgKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQ/LmlzVmlzaWJsZSA9PT0gWHBzQm9vbGVhbi50cnVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdWJtaXQoKTogUHJvbWlzZTxOZXh0QWN0aW9uIHwgbnVsbCB8IHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmb3JtIGlzIGVtcHR5IScpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Ym1pdFJlc3BvbnNlID0gYXdhaXQgdGhpcy5zdWJtaXRTZXJ2aWNlLnJlcXVlc3QoXG4gICAgICB0aGlzLmZpZWxkcyxcbiAgICAgIHRoaXMuZm9ybVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGEgPSBzdWJtaXRSZXNwb25zZTtcblxuICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHN1Ym1pdFJlc3BvbnNlLnN1bW1hcnkpO1xuXG4gICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZ2V0TmV4dEFjdGlvbihzdWJtaXRSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRzKCk6IEZpZWxkW10ge1xuICAgIGlmICh0aGlzLmRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5maWVsZHMgPz8gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ucGF5bWVudEZvcm0/LmZpZWxkcyA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgY29uc3Qgc3luY0Vycm9ycyA9IHRoaXMuc3luY1NlcnZpY2UuZ2V0U3luY1ZhbGlkYXRpb25FcnJvcnMoZmllbGQpO1xuXG4gICAgaWYgKHN5bmNFcnJvcnMpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3luY0Vycm9ycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3luY1NlcnZpY2UudmFsaWRhdGUoZmllbGQpO1xuICB9XG5cbiAgcHVibGljIHJ1blRocmVlRHMoKTogTmV4dEFjdGlvbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgcHVibGljIGdldEZpbmFuY2VEZXRhaWxzKCk6IEZpbmFuY2VEZXRhaWxzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHM7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKCk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgcGlkOiB0aGlzLmNvbmZpZy5wYXltZW50TWV0aG9kSWQsXG4gICAgICBpbnZvaWNlOiBwYXJzZUludCh0aGlzLmRhdGEuZml4SW52b2ljZSA/PyAnJyksXG4gICAgICBzaWduYXR1cmU6IHRoaXMuZGF0YS5zaWduYXR1cmUgPz8gJycsXG4gICAgICBsb2NhbGU6XG4gICAgICAgIHRoaXMuZGF0YS5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdsb2NhbGUnKT8udmFsdWUgPz9cbiAgICAgICAgJ2VuJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzU2VydmljZS5nZXRTdGF0dXMocGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZENvbmZpZyhmaWVsZDogRmllbGQpOiBDb250cm9sQ29uZmlnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbENvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VGaWVsZFZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG4gICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VGaWVsZFN0YXRlKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0/LmdldChuYW1lKTtcblxuICAgIGlmICghdGhpcy5mb3JtIHx8ICFmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgSW5wdXRFdmVudE5hbWUuYmx1cjoge1xuICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9jdXNGaWVsZE5hbWUgPSBudWxsO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgSW5wdXRFdmVudE5hbWUuZm9jdXM6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9jdXNGaWVsZE5hbWUgPSBuYW1lO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGEgPSBudWxsO1xuICAgIHRoaXMuZmluYW5jZURldGFpbHMgPSBudWxsO1xuICAgIHRoaXMuZm9ybSA9IG51bGw7XG4gICAgdGhpcy5maWVsZHMgPSBbXTtcbiAgICB0aGlzLmZvcm1EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRGaW5hbmNlRGV0YWlscyhzdW1tYXJ5PzogWHBzU3VtbWFyeSk6IHZvaWQge1xuICAgIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmVtaXQoc3VtbWFyeSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDcmVkaXRDYXJkU3RhdGUoaWRDYXJkVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmVtaXQoeyBpZENhcmRUeXBlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybUZpZWxkc1N0YXR1cyhmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUZpZWxkc1N0YXR1czogRm9ybUZpZWxkc1N0YXR1cyA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMoZm9ybS5jb250cm9scykuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uY29udHJvbHNbbmFtZV07XG4gICAgICBmb3JtRmllbGRzU3RhdHVzW25hbWVdID0ge1xuICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICB2YWxpZGF0aW9uU3RhdHVzOiBjb250cm9sLnN0YXR1cyxcbiAgICAgICAgZXJyb3JzOiBjb250cm9sLmVycm9ycyxcbiAgICAgICAgaXNGb2N1c2VkOiB0aGlzLmZvY3VzRmllbGROYW1lID09PSBuYW1lLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMuZm9ybUZpZWxkc1N0YXR1c1N1YmplY3QubmV4dChmb3JtRmllbGRzU3RhdHVzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBTeW5jU2VydmljZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBmaWVsZHM6IEZpZWxkW10pOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKGZvcm0sIGZpZWxkcyk7XG4gICAgdGhpcy5zeW5jU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMocmVzcG9uc2Uuc3VtbWFyeSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc3luY1NlcnZpY2UuZmllbGRBc3luY1ZhbGlkYXRpb24kXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChmaWVsZEFzeW5jVmFsaWRhdGlvbikgPT4ge1xuICAgICAgICBzd2l0Y2ggKGZpZWxkQXN5bmNWYWxpZGF0aW9uLmZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBjYXNlIEZpZWxkTmFtZXMuY2FyZE51bWJlcjpcbiAgICAgICAgICAgIHRoaXMuZW1pdENyZWRpdENhcmRTdGF0ZShcbiAgICAgICAgICAgICAgZmllbGRBc3luY1ZhbGlkYXRpb24ucmVzcG9uc2UucGFyYW1ldGVycy5pZENhcmRUeXBlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRmluYW5jZURldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpbmFuY2VEZXRhaWxzKSA9PiAodGhpcy5maW5hbmNlRGV0YWlscyA9IGZpbmFuY2VEZXRhaWxzKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvcm1TdGF0dXNDaGFuZ2VzKGZvcm06IFVudHlwZWRGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBmb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmZvcm1EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYXN5bmMtdmFsaWRhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N5bmMvZmllbGQtYXN5bmMtdmFsaWRhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vc3luYy1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRBc3luY1ZhbGlkYXRpb24ge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgZmllbGQ6IEZpZWxkO1xuICByZXNwb25zZTogU3luY1Jlc3BvbnNlO1xufVxuIl19
@@ -1,14 +1,17 @@
1
1
  export class SyncResponse {
2
2
  constructor(changedField, response) {
3
+ this.error = null;
3
4
  const fieldError = response?.errors?.find((error) => error.element_name === changedField.name);
4
5
  if (fieldError) {
5
- this.rewritableError = {
6
- code: fieldError.code,
7
- message: fieldError.message,
6
+ this.error = {
7
+ asyncError: {
8
+ code: fieldError.code,
9
+ message: fieldError.message,
10
+ },
8
11
  };
9
12
  }
10
13
  this.fields = Object.keys(response.form).map((key) => response.form[key]);
11
14
  this.parameters = response;
12
15
  }
13
16
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3luYy9zeW5jLXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQW1CLFlBQW1CLEVBQUUsUUFBcUI7UUFDM0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQ3ZDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQ3BELENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLEdBQUc7Z0JBQ3JCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2FBQzVCLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUMxQyxDQUFDLEdBQVcsRUFBUyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDM0MsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBTeW5jUmVzcG9uc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcmV3cml0YWJsZUVycm9yPzogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9O1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzOiBGaWVsZFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyczogWHBzUmVzcG9uc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNoYW5nZWRGaWVsZDogRmllbGQsIHJlc3BvbnNlOiBYcHNSZXNwb25zZSkge1xuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSByZXNwb25zZT8uZXJyb3JzPy5maW5kKFxuICAgICAgKGVycm9yKSA9PiBlcnJvci5lbGVtZW50X25hbWUgPT09IGNoYW5nZWRGaWVsZC5uYW1lXG4gICAgKTtcblxuICAgIGlmIChmaWVsZEVycm9yKSB7XG4gICAgICB0aGlzLnJld3JpdGFibGVFcnJvciA9IHtcbiAgICAgICAgY29kZTogZmllbGRFcnJvci5jb2RlLFxuICAgICAgICBtZXNzYWdlOiBmaWVsZEVycm9yLm1lc3NhZ2UsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRzID0gT2JqZWN0LmtleXMocmVzcG9uc2UuZm9ybSkubWFwKFxuICAgICAgKGtleTogc3RyaW5nKTogRmllbGQgPT4gcmVzcG9uc2UuZm9ybVtrZXldXG4gICAgKTtcblxuICAgIHRoaXMucGFyYW1ldGVycyA9IHJlc3BvbnNlO1xuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3luYy9zeW5jLXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQW1CLFlBQW1CLEVBQUUsUUFBcUI7UUFKN0MsVUFBSyxHQUE0QixJQUFJLENBQUM7UUFLcEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQ3ZDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQ3BELENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1gsVUFBVSxFQUFFO29CQUNWLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtvQkFDckIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2lCQUM1QjthQUNGLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUMxQyxDQUFDLEdBQVcsRUFBUyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDM0MsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgU3luY1Jlc3BvbnNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZHM6IEZpZWxkW107XG4gIHB1YmxpYyByZWFkb25seSBwYXJhbWV0ZXJzOiBYcHNSZXNwb25zZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoY2hhbmdlZEZpZWxkOiBGaWVsZCwgcmVzcG9uc2U6IFhwc1Jlc3BvbnNlKSB7XG4gICAgY29uc3QgZmllbGRFcnJvciA9IHJlc3BvbnNlPy5lcnJvcnM/LmZpbmQoXG4gICAgICAoZXJyb3IpID0+IGVycm9yLmVsZW1lbnRfbmFtZSA9PT0gY2hhbmdlZEZpZWxkLm5hbWVcbiAgICApO1xuXG4gICAgaWYgKGZpZWxkRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB7XG4gICAgICAgIGFzeW5jRXJyb3I6IHtcbiAgICAgICAgICBjb2RlOiBmaWVsZEVycm9yLmNvZGUsXG4gICAgICAgICAgbWVzc2FnZTogZmllbGRFcnJvci5tZXNzYWdlLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmZpZWxkcyA9IE9iamVjdC5rZXlzKHJlc3BvbnNlLmZvcm0pLm1hcChcbiAgICAgIChrZXk6IHN0cmluZyk6IEZpZWxkID0+IHJlc3BvbnNlLmZvcm1ba2V5XVxuICAgICk7XG5cbiAgICB0aGlzLnBhcmFtZXRlcnMgPSByZXNwb25zZTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { HttpHeaders } from '@angular/common/http';
2
2
  import { Inject, Injectable } from '@angular/core';
3
3
  import { UntypedFormGroup } from '@angular/forms';
4
- import { lastValueFrom } from 'rxjs';
4
+ import { lastValueFrom, Subject } from 'rxjs';
5
5
  import { EmitDataService } from '../emit-data.service.abstract';
6
6
  import { syncRequestFactoryToken, } from './sync-request.token';
7
7
  import { syncResponseFactoryToken, } from './sync-response.token';
@@ -22,6 +22,10 @@ export class SyncService extends EmitDataService {
22
22
  this.prevFieldSyncStates = {};
23
23
  this.form = new UntypedFormGroup({});
24
24
  this.fields = [];
25
+ this.fieldAsyncValidation = new Subject();
26
+ }
27
+ get fieldAsyncValidation$() {
28
+ return this.fieldAsyncValidation.asObservable();
25
29
  }
26
30
  setup(form, fields) {
27
31
  this.reset();
@@ -46,24 +50,23 @@ export class SyncService extends EmitDataService {
46
50
  }
47
51
  if (prevFieldState && value === prevFieldState.value) {
48
52
  return Promise.resolve(prevFieldState.result).then((response) => {
49
- return response?.rewritableError ?? null;
53
+ return response?.error ?? null;
50
54
  });
51
55
  }
52
56
  const requestPromise = this.request(field);
53
57
  this.setPrevFieldSyncState(field, value, requestPromise);
54
58
  return requestPromise.then((response) => {
55
- return response.rewritableError ?? null;
59
+ this.fieldAsyncValidation.next({
60
+ value,
61
+ field,
62
+ response,
63
+ });
64
+ return response.error ?? null;
56
65
  });
57
66
  }
58
67
  getSyncValidationErrors(field) {
59
68
  const control = this.form.get(field.name);
60
- if (!control) {
61
- return null;
62
- }
63
- const rewritableError = control.errors?.rewritableError;
64
- return rewritableError
65
- ? { message: rewritableError.message, code: rewritableError.code }
66
- : null;
69
+ return control?.errors ?? null;
67
70
  }
68
71
  async request(field) {
69
72
  const requestParams = this.requestFactory({
@@ -109,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
109
112
  type: Inject,
110
113
  args: [syncResponseFactoryToken]
111
114
  }] }, { type: i1.SecureApiClient }, { type: i2.NextActionService }, { type: i3.SettingsService }]; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zeW5jL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSWhFLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBRUwsd0JBQXdCLEdBQ3pCLE1BQU0sdUJBQXVCLENBQUM7QUFHL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7O0FBS25GLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBNEI7SUFPM0QsWUFFbUIsY0FBa0MsRUFFbEMsZUFBb0MsRUFDcEMsU0FBMEIsRUFDMUIsaUJBQW9DLEVBQ3BDLGVBQWdDO1FBRWpELEtBQUssRUFBRSxDQUFDO1FBUFMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBRWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWJsQyxhQUFRLEdBQUcsZUFBZSxDQUFDO1FBRXBDLHdCQUFtQixHQUE0QyxFQUFFLENBQUM7UUFDbEUsU0FBSSxHQUFxQixJQUFJLGdCQUFnQixDQUFDLEVB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LE1BQU0sRUFBRSxDQUFDO0lBQzNELENBQUM7O3dHQTNIVSxXQUFXLGtCQVFaLHVCQUF1QixhQUV2Qix3QkFBd0I7NEdBVnZCLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi8uLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW1pdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZW1pdC1kYXRhLnNlcnZpY2UuYWJzdHJhY3QnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpZWxkU3luY1N0YXRlIH0gZnJvbSAnLi9maWVsZC1zeW5jLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBTeW5jUmVxdWVzdEZhY3RvcnksXG4gIHN5bmNSZXF1ZXN0RmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3N5bmMtcmVxdWVzdC50b2tlbic7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHtcbiAgU3luY1Jlc3BvbnNlRmFjdG9yeSxcbiAgc3luY1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3N5bmMtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vZm9ybS92YWxpZGF0b3JzL3ZhbGlkYXRpb24tZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTeW5jU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxYcHNSZXNwb25zZT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ2RpcmVjdHBheW1lbnQnO1xuXG4gIHByaXZhdGUgcHJldkZpZWxkU3luY1N0YXRlczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBGaWVsZFN5bmNTdGF0ZSB9ID0ge307XG4gIHByaXZhdGUgZm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBTeW5jUmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChzeW5jUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFN5bmNSZXNwb25zZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0dXAoZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgZmllbGRzOiBGaWVsZFtdKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldCgpO1xuXG4gICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZGaWVsZFN5bmNTdGF0ZXMgPSB7fTtcbiAgICB0aGlzLmZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5maWVsZHMgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmlzUmVhZHlGaWVsZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcbiAgICBjb25zdCBwcmV2RmllbGRTdGF0ZSA9IHRoaXMuZ2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlID0gdmFsdWUgPT09IGZpZWxkLnZhbHVlICYmICFwcmV2RmllbGRTdGF0ZTtcblxuICAgIGlmIChpc0luaXRpYWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAocHJldkZpZWxkU3RhdGUgJiYgdmFsdWUgPT09IHByZXZGaWVsZFN0YXRlLnZhbHVlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHByZXZGaWVsZFN0YXRlLnJlc3VsdCkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlPy5yZXdyaXRhYmxlRXJyb3IgPz8gbnVsbDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gdGhpcy5yZXF1ZXN0KGZpZWxkKTtcbiAgICB0aGlzLnNldFByZXZGaWVsZFN5bmNTdGF0ZShmaWVsZCwgdmFsdWUsIHJlcXVlc3RQcm9taXNlKTtcblxuICAgIHJldHVybiByZXF1ZXN0UHJvbWlzZS50aGVuKChyZXNwb25zZTogU3luY1Jlc3BvbnNlKSA9PiB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UucmV3cml0YWJsZUVycm9yID8/IG51bGw7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3luY1ZhbGlkYXRpb25FcnJvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KGZpZWxkLm5hbWUpO1xuICAgIGlmICghY29udHJvbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHJld3JpdGFibGVFcnJvcjogVmFsaWRhdGlvbkVycm9yID0gY29udHJvbC5lcnJvcnM/LnJld3JpdGFibGVFcnJvcjtcbiAgICByZXR1cm4gcmV3cml0YWJsZUVycm9yXG4gICAgICA/IHsgbWVzc2FnZTogcmV3cml0YWJsZUVycm9yLm1lc3NhZ2UsIGNvZGU6IHJld3JpdGFibGVFcnJvci5jb2RlIH1cbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyByZXF1ZXN0KGZpZWxkOiBGaWVsZCk6IFByb21pc2U8U3luY1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtcyA9IHRoaXMucmVxdWVzdEZhY3Rvcnkoe1xuICAgICAgdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgY2hhbmdlZEZpZWxkOiBmaWVsZCxcbiAgICAgIGZpZWxkczogdGhpcy5maWVsZHMsXG4gICAgICBmb3JtOiB0aGlzLmZvcm0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc2VjdXJlQXBpLnBvc3Q8WHBzUmVzcG9uc2U+KFxuICAgICAgICB0aGlzLmFwaVJvdXRlLFxuICAgICAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKFxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMgYXMgdW5rbm93biBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICAgICAgICksXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnXG4gICAgICAgICAgKSxcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICkudGhlbigocmVzcG9uc2U6IFhwc1Jlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UuZXJyb3JzPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICAgICAgbmV3IFNob3dFcnJvcnNBY3Rpb24ocmVzcG9uc2UuZXJyb3JzKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXQocmVzcG9uc2UpO1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2VGYWN0b3J5KGZpZWxkLCByZXNwb25zZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzUmVhZHlGaWVsZChmaWVsZDogRmllbGQpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1N5bmNFbmFibGVkID0gISFmaWVsZC5qYXZhc2NyaXB0Py5jaGFuZ2U7XG4gICAgY29uc3QgaXNFeGlzdHNJbkZvcm0gPSAhIXRoaXMuZm9ybT8uZ2V0KGZpZWxkLm5hbWUpO1xuXG4gICAgcmV0dXJuIGlzU3luY0VuYWJsZWQgJiYgaXNFeGlzdHNJbkZvcm07XG4gIH1cblxuICBwcml2YXRlIGdldFByZXZGaWVsZFN5bmNTdGF0ZShmaWVsZDogRmllbGQpOiBGaWVsZFN5bmNTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMucHJldkZpZWxkU3luY1N0YXRlc1tmaWVsZC5uYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJldkZpZWxkU3luY1N0YXRlKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICByZXN1bHQ6IFByb21pc2U8U3luY1Jlc3BvbnNlPlxuICApOiB2b2lkIHtcbiAgICB0aGlzLnByZXZGaWVsZFN5bmNTdGF0ZXNbZmllbGQubmFtZV0gPSB7IHZhbHVlLCByZXN1bHQgfTtcbiAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zeW5jL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUloRSxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUVMLHdCQUF3QixHQUN6QixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7OztBQU1uRixNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQTRCO0lBUTNELFlBRW1CLGNBQWtDLEVBRWxDLGVBQW9DLEVBQ3BDLFNBQTBCLEVBQzFCLGlCQUFvQyxFQUNwQyxlQUFnQztRQUVqRCxLQUFLLEVBQUUsQ0FBQztRQVBTLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUVsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFkbEMsYUFBUSxHQUFHLGVBQWUsQ0FBQztRQUVwQyx3QkFBbUIsR0FBNEMsRUFBRSxDQUFDO1FBQ2xFLFNBQUksR0FBcUIsSUFBSSxnQkFB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QUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzNELENBQUM7O3dHQWhJVSxXQUFXLGtCQVNaLHVCQUF1QixhQUV2Qix3QkFBd0I7NEdBWHZCLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi8uLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW1pdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZW1pdC1kYXRhLnNlcnZpY2UuYWJzdHJhY3QnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpZWxkU3luY1N0YXRlIH0gZnJvbSAnLi9maWVsZC1zeW5jLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBTeW5jUmVxdWVzdEZhY3RvcnksXG4gIHN5bmNSZXF1ZXN0RmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3N5bmMtcmVxdWVzdC50b2tlbic7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHtcbiAgU3luY1Jlc3BvbnNlRmFjdG9yeSxcbiAgc3luY1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3N5bmMtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hvd0Vycm9yc0FjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvc2hvdy1lcnJvcnMvc2hvdy1lcnJvcnMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IEZpZWxkQXN5bmNWYWxpZGF0aW9uIH0gZnJvbSAnLi9maWVsZC1hc3luYy12YWxpZGF0aW9uLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTeW5jU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxYcHNSZXNwb25zZT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ2RpcmVjdHBheW1lbnQnO1xuXG4gIHByaXZhdGUgcHJldkZpZWxkU3luY1N0YXRlczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBGaWVsZFN5bmNTdGF0ZSB9ID0ge307XG4gIHByaXZhdGUgZm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZEFzeW5jVmFsaWRhdGlvbiA9IG5ldyBTdWJqZWN0PEZpZWxkQXN5bmNWYWxpZGF0aW9uPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHN5bmNSZXF1ZXN0RmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdEZhY3Rvcnk6IFN5bmNSZXF1ZXN0RmFjdG9yeSxcbiAgICBASW5qZWN0KHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogU3luY1Jlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3VyZUFwaTogU2VjdXJlQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmllbGRBc3luY1ZhbGlkYXRpb24kKCk6IE9ic2VydmFibGU8RmllbGRBc3luY1ZhbGlkYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZEFzeW5jVmFsaWRhdGlvbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXR1cChmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBmaWVsZHM6IEZpZWxkW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0KCk7XG5cbiAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMucHJldkZpZWxkU3luY1N0YXRlcyA9IHt9O1xuICAgIHRoaXMuZm9ybSA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgICB0aGlzLmZpZWxkcyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHZhbGlkYXRlKGZpZWxkOiBGaWVsZCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBpZiAoIXRoaXMuaXNSZWFkeUZpZWxkKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKTtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2w/LnZhbHVlO1xuICAgIGNvbnN0IHByZXZGaWVsZFN0YXRlID0gdGhpcy5nZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQpO1xuXG4gICAgY29uc3QgaXNJbml0aWFsVmFsdWUgPSB2YWx1ZSA9PT0gZmllbGQudmFsdWUgJiYgIXByZXZGaWVsZFN0YXRlO1xuXG4gICAgaWYgKGlzSW5pdGlhbFZhbHVlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgIH1cblxuICAgIGlmIChwcmV2RmllbGRTdGF0ZSAmJiB2YWx1ZSA9PT0gcHJldkZpZWxkU3RhdGUudmFsdWUpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocHJldkZpZWxkU3RhdGUucmVzdWx0KS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U/LmVycm9yID8/IG51bGw7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0UHJvbWlzZSA9IHRoaXMucmVxdWVzdChmaWVsZCk7XG4gICAgdGhpcy5zZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQsIHZhbHVlLCByZXF1ZXN0UHJvbWlzZSk7XG5cbiAgICByZXR1cm4gcmVxdWVzdFByb21pc2UudGhlbigocmVzcG9uc2U6IFN5bmNSZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5maWVsZEFzeW5jVmFsaWRhdGlvbi5uZXh0KHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICByZXNwb25zZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZXJyb3IgPz8gbnVsbDtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTeW5jVmFsaWRhdGlvbkVycm9ycyhmaWVsZDogRmllbGQpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgcmV0dXJuIGNvbnRyb2w/LmVycm9ycyA/PyBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJlcXVlc3QoZmllbGQ6IEZpZWxkKTogUHJvbWlzZTxTeW5jUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zID0gdGhpcy5yZXF1ZXN0RmFjdG9yeSh7XG4gICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICBjaGFuZ2VkRmllbGQ6IGZpZWxkLFxuICAgICAgZmllbGRzOiB0aGlzLmZpZWxkcyxcbiAgICAgIGZvcm06IHRoaXMuZm9ybSxcbiAgICB9KTtcblxuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGkucG9zdDxYcHNSZXNwb25zZT4oXG4gICAgICAgIHRoaXMuYXBpUm91dGUsXG4gICAgICAgIG5ldyBVUkxTZWFyY2hQYXJhbXMoXG4gICAgICAgICAgcmVxdWVzdFBhcmFtcyBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgICAgKSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCdcbiAgICAgICAgICApLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICB9XG4gICAgICApXG4gICAgKS50aGVuKChyZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHtcbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICBuZXcgU2hvd0Vycm9yc0FjdGlvbihyZXNwb25zZS5lcnJvcnMpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZW1pdChyZXNwb25zZSk7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZUZhY3RvcnkoZmllbGQsIHJlc3BvbnNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNSZWFkeUZpZWxkKGZpZWxkOiBGaWVsZCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzU3luY0VuYWJsZWQgPSAhIWZpZWxkLmphdmFzY3JpcHQ/LmNoYW5nZTtcbiAgICBjb25zdCBpc0V4aXN0c0luRm9ybSA9ICEhdGhpcy5mb3JtPy5nZXQoZmllbGQubmFtZSk7XG5cbiAgICByZXR1cm4gaXNTeW5jRW5hYmxlZCAmJiBpc0V4aXN0c0luRm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkOiBGaWVsZCk6IEZpZWxkU3luY1N0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5wcmV2RmllbGRTeW5jU3RhdGVzW2ZpZWxkLm5hbWVdO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcmV2RmllbGRTeW5jU3RhdGUoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIHJlc3VsdDogUHJvbWlzZTxTeW5jUmVzcG9uc2U+XG4gICk6IHZvaWQge1xuICAgIHRoaXMucHJldkZpZWxkU3luY1N0YXRlc1tmaWVsZC5uYW1lXSA9IHsgdmFsdWUsIHJlc3VsdCB9O1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLXJlc3BvbnNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi9pbnZvaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaW5lSXRlbSB9IGZyb20gJy4vc3RhdHVzL2xpbmUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5lbnVtJztcbmltcG9ydCB7IFRpdGxlQ2xhc3MgfSBmcm9tICcuL3N0YXR1cy90aXRsZS1jbGFzcy5lbnVtJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudFR5cGUgfSBmcm9tICcuL3N0YXR1cy93ZWItc29ja2V0LWNsaWVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgWHBzQ29tbWFuZCB9IGZyb20gJy4veHBzLWNvbWFuZC5lbnVtJztcbmltcG9ydCB7IFhwc0Vycm9yIH0gZnJvbSAnLi94cHMtZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc01lc3NhZ2UgfSBmcm9tICcuL3hwcy1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFhwc1Jlc3BvbnNlIHtcbiAgY2hlY2tvdXQ6IHtcbiAgICBhY3Rpb246IHN0cmluZztcbiAgICBtZXRob2Q6IHN0cmluZztcbiAgICBkYXRhOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB9O1xuICBzdW1tYXJ5OiBYcHNTdW1tYXJ5O1xuICBidXlEYXRhOiB7XG4gICAgY3VycmVuY3k6IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIGV4YW1wbGU6IG51bGwgfCB1bmtub3duO1xuICAgIGlzTWFuZGF0b3J5OiBudWxsIHwgYm9vbGVhbjtcbiAgICBpc1Bha2V0czogbnVsbCB8IGJvb2xlYW47XG4gICAgaXNSZWFkb25seTogbnVsbCB8IGJvb2xlYW47XG4gICAgaXNWaXNpYmxlOiBYcHNCb29sZWFuO1xuICAgIGxhYmVsX2hpbnQ6IG51bGwgfCBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9wdGlvbnM6IG51bGwgfCB1bmtub3duW107XG4gICAgcmVnZXg6IG51bGwgfCB1bmtub3duO1xuICAgIHN1bTogc3RyaW5nO1xuICAgIHRpdGxlOiBudWxsIHwgc3RyaW5nO1xuICAgIHRvb2x0aXA6IG51bGwgfCBzdHJpbmc7XG4gICAgdHlwZTogJ3N1Ym1pdCcgfCBzdHJpbmc7XG4gICAgdmFsaWRhdGlvbl9lcnJvcl9tc2c6IG51bGwgfCBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgYWNjb3VudFhzb2xsYTogc3RyaW5nO1xuICBwdWJsaWNfaWQ6IHN0cmluZztcbiAgZm9ybTogeyBba2V5OiBzdHJpbmddOiBGaWVsZCB9O1xuICB0YXhEaXNjbGFpbWVyOiBzdHJpbmcgfCBudWxsO1xuICBudW1iZXI6IG51bWJlcjtcbiAgYmFyY29kZTogdW5rbm93bjtcbiAgb2ZmZXJzOiB1bmtub3duO1xuICBpbnN0cnVjdGlvbjogc3RyaW5nO1xuICBlcnJvcnM6IFhwc0Vycm9yW10gfCBudWxsO1xuICByZXN0cmljdGlvbnM6IHVua25vd247XG4gIGluZm86IHN0cmluZztcbiAgcGlkOiBudW1iZXI7XG4gIHByb2plY3Q6IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGlzTWVyY2hhbnQ6IGJvb2xlYW47XG4gICAgaXNVbmtub3duUHJpY2U6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGVycm9yPzoge1xuICAgIGZpZWxkczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgfTtcbiAgaW52b2ljZUNyZWF0ZWQ6IFhwc0Jvb2xlYW47XG4gIG1lc3NhZ2VzPzogWHBzTWVzc2FnZVtdO1xuICBzdGF0dXM/OiBTdGF0dXNFbnVtIHwgWHBzU3RhdHVzIHwgbnVsbDtcbiAgZmluYWw/OiBib29sZWFuO1xuICBlbGFwc2VkVGltZT86IG51bWJlcjtcbiAgZ3JvdXA/OiBzdHJpbmc7XG4gIGlzX3BheW1lbnRfYWNjb3VudF9hdHRhY2hlZD86IGJvb2xlYW47XG4gIGlzX3BhcnRpYWxfcGF5PzogYm9vbGVhbjtcbiAgY291bnRyeT86IHsgaXNvOiBzdHJpbmcgfTtcbiAgdXNlclNlc3Npb24/OiBJbnZvaWNlO1xuICBjdXJyZW50Q29tbWFuZDogWHBzQ29tbWFuZDtcbiAgdGl0bGU6IHN0cmluZztcbiAgb25saW5lQmFua2luZz86IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9O1xuICB0aHJlZURTRm9ybToge1xuICAgIHRocmVlRFNUclhpZDogc3RyaW5nO1xuICAgIHRocmVlRFNNZXRob2Q6IHN0cmluZztcbiAgICB0aHJlZURTTWV0aG9kRGF0YTogc3RyaW5nO1xuICAgIHdlYlNvY2tldENoYW5uZWxVcmw6IHN0cmluZztcbiAgICB3ZWJTb2NrZXRDaGFubmVsTmFtZTogc3RyaW5nO1xuICAgIHdlYlNvY2tldENsaWVudFR5cGU6IFdlYlNvY2tldENsaWVudFR5cGU7XG4gICAgc3RhdHVzVXJsOiBzdHJpbmc7XG4gICAgd2FpdENhbGxiYWNrOiBib29sZWFuO1xuICB9IHwgbnVsbDtcbiAgc2tpcEZvcm06IGJvb2xlYW47XG4gIHNraXBDaGVja291dDogYm9vbGVhbjtcbiAgaXNNYXA6IGJvb2xlYW47XG4gIGlzQ2hlY2tvdXQ6IGJvb2xlYW47XG4gIGNhdGVnb3JpZXM6IG51bWJlcltdO1xuICB0ZXh0QWxsPzoge1xuICAgIGZhdGFsOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFhwc1N0YXR1cyB7XG4gIGlzX3BhcnRpYWxfcGF5OiBib29sZWFuO1xuICBtYXJrZXRwbGFjZTogc3RyaW5nO1xuICBhdXRvcmVkaXJlY3Q/OiB7IHRpbWU6IG51bWJlciB9O1xuICBzdGF0dXNEYXRhOiB7XG4gICAgcHJvamVjdDogbnVtYmVyO1xuICAgIHBpZDogbnVtYmVyO1xuICAgIG91dDogbnVtYmVyO1xuICAgIHBheW1lbnRfY291bnRyeV9pc286IHN0cmluZztcbiAgICB2MTogc3RyaW5nO1xuICAgIHYyOiBzdHJpbmc7XG4gICAgdjM6IHN0cmluZztcbiAgICBpbnZvaWNlOiBudW1iZXI7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBzdGF0ZTogbnVtYmVyO1xuICAgIHN0YXRlVGV4dDogU3RhdHVzRW51bTtcbiAgICBzdGF0dXNQczogbnVtYmVyO1xuICAgIGtleTogc3RyaW5nO1xuICAgIHdlYlNvY2tldENoYW5uZWxVcmw6IHN0cmluZztcbiAgICB3ZWJTb2NrZXRDaGFubmVsTmFtZTogc3RyaW5nO1xuICAgIHdlYlNvY2tldENsaWVudFR5cGU6IFdlYlNvY2tldENsaWVudFR5cGU7XG4gICAgcHJvamVjdEFtb3VudDogc3RyaW5nO1xuICAgIHJlY3VycmVudElkPzogbnVtYmVyO1xuICB9O1xuICBnc2hhcmVfYmFubmVyX2VuYWJsZWQ6IGJvb2xlYW47XG4gIGludm9pY2U6IG51bWJlcjtcbiAgcmVwYXltZW50PzogbnVsbFtdIHwgbnVsbDtcbiAgZW1haWw/OiBudWxsW10gfCBudWxsO1xuICBncm91cDogc3RyaW5nO1xuICBzaGFyaW5nPzogdW5rbm93bjtcbiAgcHJlX29yZGVyczogdW5rbm93bjtcbiAgdGV4dDoge1xuICAgIGluZm86IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHsga2V5Pzogc3RyaW5nOyBwcmVmPzogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9O1xuICAgIH07XG4gICAgc3RhdGU6IHN0cmluZztcbiAgICBzdGF0ZUZhaWxlZDogc3RyaW5nO1xuICAgIGlzX2FkZGl0aW9uYWxfYmFja191cmxfZW5hYmxlZD86IGJvb2xlYW47XG4gICAgYWRkaXRpb25hbF9iYWNrX3VybF9saW5rPzogc3RyaW5nO1xuICAgIGFkZGl0aW9uYWxfYmFja191cmxfbGFiZWw/OiBzdHJpbmc7XG4gICAgYWRkaXRpb25hbF9iYWNrX3VybF9hY3Rpb24/OiBzdHJpbmc7XG4gICAgYmFja3VybDogc3RyaW5nO1xuICAgIGJhY2t1cmxfY2FwdGlvbjogc3RyaW5nO1xuICAgIGJhY2t1cmxfYWN0aW9uOiBzdHJpbmc7XG4gICAgcmVkZWVtX2luc3RydWN0aW9uX2xpbms/OiBudWxsO1xuICAgIG9yZGVyPzoge1xuICAgICAgbGluZWl0ZW1zPzogTGluZUl0ZW1bXTtcbiAgICAgIHNoaXBwaW5nPzoge1xuICAgICAgICBjdXJyZW5jeTogc3RyaW5nO1xuICAgICAgICBhbW91bnQ6IG51bWJlcjtcbiAgICAgIH07XG4gICAgICBjb250YWluZWRfdGF4ZXM/OiB7XG4gICAgICAgIHNhbGVzX3RheD86IGJvb2xlYW47XG4gICAgICAgIHVzZXJfdmF0PzogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgY291bnRyeTogc3RyaW5nO1xuICByZXR1cm5fcmVnaW9uOiBzdHJpbmc7XG4gIGFkZGl0aW9uYWxfYnV0dG9uX3JldHVybl9yZWdpb24/OiBzdHJpbmc7XG4gIGlzVXNlckxlZ2FsOiBib29sZWFuO1xuICBpc0NhbmNlbFVzZXI6IGJvb2xlYW47XG4gIGlzUHJlbG9hZGVyOiBib29sZWFuO1xuICBhbHRlcm5hdGl2ZT86IHVua25vd247XG4gIHNob3dFbWFpbFJlcXVlc3Q6IGJvb2xlYW47XG4gIGF1dG9SZWNoYXJnZToge1xuICAgIHBhcmFtcz86IHVua25vd247XG4gICAgcGFja2FnZXM6IHVua25vd247XG4gICAgbGFiZWxfZXJyb3I6IHN0cmluZztcbiAgICBsYWJlbF9jb250aW51ZTogc3RyaW5nO1xuICB9O1xuICB0aXRsZV9jbGFzczogVGl0bGVDbGFzcztcbiAgbmVlZFRvQ2hlY2s6IGJvb2xlYW47XG4gIGN1c3RvbV9tZXNzYWdlOiBzdHJpbmc7XG4gIGN1c3RvbV9oZWFkZXI6IHN0cmluZztcbiAgYmFia2FMaW5rOiBzdHJpbmc7XG4gIGRpc2NvdW50PzogeyBba2V5OiBzdHJpbmddOiB7IGtleT86IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLXJlc3BvbnNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi9pbnZvaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaW5lSXRlbSB9IGZyb20gJy4vc3RhdHVzL2xpbmUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5lbnVtJztcbmltcG9ydCB7IFRpdGxlQ2xhc3MgfSBmcm9tICcuL3N0YXR1cy90aXRsZS1jbGFzcy5lbnVtJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudFR5cGUgfSBmcm9tICcuL3N0YXR1cy93ZWItc29ja2V0LWNsaWVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgWHBzQ29tbWFuZCB9IGZyb20gJy4veHBzLWNvbWFuZC5lbnVtJztcbmltcG9ydCB7IFhwc0Vycm9yIH0gZnJvbSAnLi94cHMtZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc01lc3NhZ2UgfSBmcm9tICcuL3hwcy1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFhwc1Jlc3BvbnNlIHtcbiAgY2hlY2tvdXQ6IHtcbiAgICBhY3Rpb246IHN0cmluZztcbiAgICBtZXRob2Q6IHN0cmluZztcbiAgICBkYXRhOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB9O1xuICBpZENhcmRUeXBlOiBzdHJpbmc7XG4gIHN1bW1hcnk6IFhwc1N1bW1hcnk7XG4gIGJ1eURhdGE6IHtcbiAgICBjdXJyZW5jeTogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgZXhhbXBsZTogbnVsbCB8IHVua25vd247XG4gICAgaXNNYW5kYXRvcnk6IG51bGwgfCBib29sZWFuO1xuICAgIGlzUGFrZXRzOiBudWxsIHwgYm9vbGVhbjtcbiAgICBpc1JlYWRvbmx5OiBudWxsIHwgYm9vbGVhbjtcbiAgICBpc1Zpc2libGU6IFhwc0Jvb2xlYW47XG4gICAgbGFiZWxfaGludDogbnVsbCB8IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgb3B0aW9uczogbnVsbCB8IHVua25vd25bXTtcbiAgICByZWdleDogbnVsbCB8IHVua25vd247XG4gICAgc3VtOiBzdHJpbmc7XG4gICAgdGl0bGU6IG51bGwgfCBzdHJpbmc7XG4gICAgdG9vbHRpcDogbnVsbCB8IHN0cmluZztcbiAgICB0eXBlOiAnc3VibWl0JyB8IHN0cmluZztcbiAgICB2YWxpZGF0aW9uX2Vycm9yX21zZzogbnVsbCB8IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9O1xuICBhY2NvdW50WHNvbGxhOiBzdHJpbmc7XG4gIHB1YmxpY19pZDogc3RyaW5nO1xuICBmb3JtOiB7IFtrZXk6IHN0cmluZ106IEZpZWxkIH07XG4gIHRheERpc2NsYWltZXI6IHN0cmluZyB8IG51bGw7XG4gIG51bWJlcjogbnVtYmVyO1xuICBiYXJjb2RlOiB1bmtub3duO1xuICBvZmZlcnM6IHVua25vd247XG4gIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gIGVycm9yczogWHBzRXJyb3JbXSB8IG51bGw7XG4gIHJlc3RyaWN0aW9uczogdW5rbm93bjtcbiAgaW5mbzogc3RyaW5nO1xuICBwaWQ6IG51bWJlcjtcbiAgcHJvamVjdDoge1xuICAgIGlkOiBudW1iZXI7XG4gICAgaXNNZXJjaGFudDogYm9vbGVhbjtcbiAgICBpc1Vua25vd25QcmljZTogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbiAgZXJyb3I/OiB7XG4gICAgZmllbGRzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB9O1xuICBpbnZvaWNlQ3JlYXRlZDogWHBzQm9vbGVhbjtcbiAgbWVzc2FnZXM/OiBYcHNNZXNzYWdlW107XG4gIHN0YXR1cz86IFN0YXR1c0VudW0gfCBYcHNTdGF0dXMgfCBudWxsO1xuICBmaW5hbD86IGJvb2xlYW47XG4gIGVsYXBzZWRUaW1lPzogbnVtYmVyO1xuICBncm91cD86IHN0cmluZztcbiAgaXNfcGF5bWVudF9hY2NvdW50X2F0dGFjaGVkPzogYm9vbGVhbjtcbiAgaXNfcGFydGlhbF9wYXk/OiBib29sZWFuO1xuICBjb3VudHJ5PzogeyBpc286IHN0cmluZyB9O1xuICB1c2VyU2Vzc2lvbj86IEludm9pY2U7XG4gIGN1cnJlbnRDb21tYW5kOiBYcHNDb21tYW5kO1xuICB0aXRsZTogc3RyaW5nO1xuICBvbmxpbmVCYW5raW5nPzoge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH07XG4gIHRocmVlRFNGb3JtOiB7XG4gICAgdGhyZWVEU1RyWGlkOiBzdHJpbmc7XG4gICAgdGhyZWVEU01ldGhvZDogc3RyaW5nO1xuICAgIHRocmVlRFNNZXRob2REYXRhOiBzdHJpbmc7XG4gICAgd2ViU29ja2V0Q2hhbm5lbFVybDogc3RyaW5nO1xuICAgIHdlYlNvY2tldENoYW5uZWxOYW1lOiBzdHJpbmc7XG4gICAgd2ViU29ja2V0Q2xpZW50VHlwZTogV2ViU29ja2V0Q2xpZW50VHlwZTtcbiAgICBzdGF0dXNVcmw6IHN0cmluZztcbiAgICB3YWl0Q2FsbGJhY2s6IGJvb2xlYW47XG4gIH0gfCBudWxsO1xuICBza2lwRm9ybTogYm9vbGVhbjtcbiAgc2tpcENoZWNrb3V0OiBib29sZWFuO1xuICBpc01hcDogYm9vbGVhbjtcbiAgaXNDaGVja291dDogYm9vbGVhbjtcbiAgY2F0ZWdvcmllczogbnVtYmVyW107XG4gIHRleHRBbGw/OiB7XG4gICAgZmF0YWw6IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWHBzU3RhdHVzIHtcbiAgaXNfcGFydGlhbF9wYXk6IGJvb2xlYW47XG4gIG1hcmtldHBsYWNlOiBzdHJpbmc7XG4gIGF1dG9yZWRpcmVjdD86IHsgdGltZTogbnVtYmVyIH07XG4gIHN0YXR1c0RhdGE6IHtcbiAgICBwcm9qZWN0OiBudW1iZXI7XG4gICAgcGlkOiBudW1iZXI7XG4gICAgb3V0OiBudW1iZXI7XG4gICAgcGF5bWVudF9jb3VudHJ5X2lzbzogc3RyaW5nO1xuICAgIHYxOiBzdHJpbmc7XG4gICAgdjI6IHN0cmluZztcbiAgICB2Mzogc3RyaW5nO1xuICAgIGludm9pY2U6IG51bWJlcjtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHN0YXRlOiBudW1iZXI7XG4gICAgc3RhdGVUZXh0OiBTdGF0dXNFbnVtO1xuICAgIHN0YXR1c1BzOiBudW1iZXI7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgd2ViU29ja2V0Q2hhbm5lbFVybDogc3RyaW5nO1xuICAgIHdlYlNvY2tldENoYW5uZWxOYW1lOiBzdHJpbmc7XG4gICAgd2ViU29ja2V0Q2xpZW50VHlwZTogV2ViU29ja2V0Q2xpZW50VHlwZTtcbiAgICBwcm9qZWN0QW1vdW50OiBzdHJpbmc7XG4gICAgcmVjdXJyZW50SWQ/OiBudW1iZXI7XG4gIH07XG4gIGdzaGFyZV9iYW5uZXJfZW5hYmxlZDogYm9vbGVhbjtcbiAgaW52b2ljZTogbnVtYmVyO1xuICByZXBheW1lbnQ/OiBudWxsW10gfCBudWxsO1xuICBlbWFpbD86IG51bGxbXSB8IG51bGw7XG4gIGdyb3VwOiBzdHJpbmc7XG4gIHNoYXJpbmc/OiB1bmtub3duO1xuICBwcmVfb3JkZXJzOiB1bmtub3duO1xuICB0ZXh0OiB7XG4gICAgaW5mbzoge1xuICAgICAgW2tleTogc3RyaW5nXTogeyBrZXk/OiBzdHJpbmc7IHByZWY/OiBzdHJpbmc7IHZhbHVlPzogc3RyaW5nIH07XG4gICAgfTtcbiAgICBzdGF0ZTogc3RyaW5nO1xuICAgIHN0YXRlRmFpbGVkOiBzdHJpbmc7XG4gICAgaXNfYWRkaXRpb25hbF9iYWNrX3VybF9lbmFibGVkPzogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsX2JhY2tfdXJsX2xpbms/OiBzdHJpbmc7XG4gICAgYWRkaXRpb25hbF9iYWNrX3VybF9sYWJlbD86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsX2JhY2tfdXJsX2FjdGlvbj86IHN0cmluZztcbiAgICBiYWNrdXJsOiBzdHJpbmc7XG4gICAgYmFja3VybF9jYXB0aW9uOiBzdHJpbmc7XG4gICAgYmFja3VybF9hY3Rpb246IHN0cmluZztcbiAgICByZWRlZW1faW5zdHJ1Y3Rpb25fbGluaz86IG51bGw7XG4gICAgb3JkZXI/OiB7XG4gICAgICBsaW5laXRlbXM/OiBMaW5lSXRlbVtdO1xuICAgICAgc2hpcHBpbmc/OiB7XG4gICAgICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gICAgICAgIGFtb3VudDogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIGNvbnRhaW5lZF90YXhlcz86IHtcbiAgICAgICAgc2FsZXNfdGF4PzogYm9vbGVhbjtcbiAgICAgICAgdXNlcl92YXQ/OiBib29sZWFuO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBjb3VudHJ5OiBzdHJpbmc7XG4gIHJldHVybl9yZWdpb246IHN0cmluZztcbiAgYWRkaXRpb25hbF9idXR0b25fcmV0dXJuX3JlZ2lvbj86IHN0cmluZztcbiAgaXNVc2VyTGVnYWw6IGJvb2xlYW47XG4gIGlzQ2FuY2VsVXNlcjogYm9vbGVhbjtcbiAgaXNQcmVsb2FkZXI6IGJvb2xlYW47XG4gIGFsdGVybmF0aXZlPzogdW5rbm93bjtcbiAgc2hvd0VtYWlsUmVxdWVzdDogYm9vbGVhbjtcbiAgYXV0b1JlY2hhcmdlOiB7XG4gICAgcGFyYW1zPzogdW5rbm93bjtcbiAgICBwYWNrYWdlczogdW5rbm93bjtcbiAgICBsYWJlbF9lcnJvcjogc3RyaW5nO1xuICAgIGxhYmVsX2NvbnRpbnVlOiBzdHJpbmc7XG4gIH07XG4gIHRpdGxlX2NsYXNzOiBUaXRsZUNsYXNzO1xuICBuZWVkVG9DaGVjazogYm9vbGVhbjtcbiAgY3VzdG9tX21lc3NhZ2U6IHN0cmluZztcbiAgY3VzdG9tX2hlYWRlcjogc3RyaW5nO1xuICBiYWJrYUxpbms6IHN0cmluZztcbiAgZGlzY291bnQ/OiB7IFtrZXk6IHN0cmluZ106IHsga2V5Pzogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9IH07XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export function isString(value) {
2
+ return typeof value === 'string';
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc3RyaW5nLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvdHlwZS1ndWFyZHMvaXMtc3RyaW5nLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYztJQUNyQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG59XG4iXX0=
@@ -13,8 +13,10 @@ import * as i9 from "./core/payment/finance-details/finance-details.service";
13
13
  import * as i10 from "./core/legal/legal.service";
14
14
  import * as i11 from "./core/payment/status/status.service";
15
15
  import * as i12 from "./core/payment/actions/next-action.service";
16
+ import * as i13 from "./core/credit-card/credit-card.service";
17
+ import * as i14 from "./core/payment/credit-card-state/credit-card-state.service";
16
18
  export class CoreLibraryService {
17
- constructor(settingsService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService) {
19
+ constructor(settingsService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService, creditCardService, creditCardStateService) {
18
20
  this.settingsService = settingsService;
19
21
  this.countryService = countryService;
20
22
  this.paymentMethodsService = paymentMethodsService;
@@ -27,6 +29,8 @@ export class CoreLibraryService {
27
29
  this.legalService = legalService;
28
30
  this.statusService = statusService;
29
31
  this.nextActionService = nextActionService;
32
+ this.creditCardService = creditCardService;
33
+ this.creditCardStateService = creditCardStateService;
30
34
  this.paymentMethods = {
31
35
  getList: async () => this.paymentMethodsService.getList(),
32
36
  getQuickMethods: async () => this.paymentMethodsService.getQuickMethods(),
@@ -57,14 +61,23 @@ export class CoreLibraryService {
57
61
  flowUpdates$: this.nextActionService.flowUpdates$,
58
62
  financeDetailsUpdates$: this.financeDetailsService.data$,
59
63
  form: {
64
+ fieldsStatus$: this.paymentService.formFieldsStatus$,
60
65
  getControlConfig: (field) => this.paymentService.getFieldConfig(field),
61
66
  changeFieldValue: (name, value) => this.paymentService.changeFieldValue(name, value),
62
- changeFieldState: (name, state) => {
63
- this.paymentService.changeFieldState(name, state);
64
- },
67
+ changeFieldState: (name, state) => this.paymentService.changeFieldState(name, state),
65
68
  },
66
69
  };
67
70
  }
71
+ getCreditCardService() {
72
+ return {
73
+ getTypeByNumber: (cardNumber) => this.creditCardService.getTypeByNumber(cardNumber),
74
+ getCreditCardSettings: (cardType) => this.creditCardService.getCreditCardSettings(cardType),
75
+ cardTypeUpdates$: this.creditCardStateService.data$,
76
+ };
77
+ }
78
+ get cardTypeUpdates$() {
79
+ return this.creditCardStateService.data$;
80
+ }
68
81
  getLegalComponentConfig() {
69
82
  return this.legalService.getLegalComponentConfig();
70
83
  }
@@ -73,12 +86,12 @@ export class CoreLibraryService {
73
86
  return masksFunctionsMap[sanitizedName];
74
87
  }
75
88
  }
76
- CoreLibraryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, deps: [{ token: i1.SettingsService }, { token: i2.CountryService }, { token: i3.PaymentMethodsService }, { token: i4.SavedMethodsService }, { token: i5.UserBalanceService }, { token: i6.PaymentConfigService }, { token: i7.PaymentService }, { token: i8.DeviceFingerPrintService }, { token: i9.FinanceDetailsService }, { token: i10.LegalService }, { token: i11.StatusService }, { token: i12.NextActionService }], target: i0.ɵɵFactoryTarget.Injectable });
89
+ CoreLibraryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, deps: [{ token: i1.SettingsService }, { token: i2.CountryService }, { token: i3.PaymentMethodsService }, { token: i4.SavedMethodsService }, { token: i5.UserBalanceService }, { token: i6.PaymentConfigService }, { token: i7.PaymentService }, { token: i8.DeviceFingerPrintService }, { token: i9.FinanceDetailsService }, { token: i10.LegalService }, { token: i11.StatusService }, { token: i12.NextActionService }, { token: i13.CreditCardService }, { token: i14.CreditCardStateService }], target: i0.ɵɵFactoryTarget.Injectable });
77
90
  CoreLibraryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, providedIn: 'root' });
78
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, decorators: [{
79
92
  type: Injectable,
80
93
  args: [{
81
94
  providedIn: 'root',
82
95
  }]
83
- }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i2.CountryService }, { type: i3.PaymentMethodsService }, { type: i4.SavedMethodsService }, { type: i5.UserBalanceService }, { type: i6.PaymentConfigService }, { type: i7.PaymentService }, { type: i8.DeviceFingerPrintService }, { type: i9.FinanceDetailsService }, { type: i10.LegalService }, { type: i11.StatusService }, { type: i12.NextActionService }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1CM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUzVFLE1BQU0sT0FBTyxrQkFBa0I7SUFhN0IsWUFDbUIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsb0JBQTBDLEVBQzFDLGNBQThCLEVBQzlCLHdCQUFrRCxFQUNsRCxxQkFBNEMsRUFDNUMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsaUJBQW9DO1FBWHBDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF4QmhELG1CQUFjLEdBQUc7WUFDdEIsT0FBTyxFQUFFLEtBQUssSUFBOEIsRUFBRSxDQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFF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OzsrR0F6RVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZCB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VSZXNwb25zZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZyB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50U2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2RldmljZS1maW5nZXItcHJpbnQvZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsU2VydmljZSB9IGZyb20gJy4vY29yZS9sZWdhbC9sZWdhbC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLmNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IG1hc2tzRnVuY3Rpb25zTWFwIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9tYXNrcy1mdW5jdGlvbnMubWFwJztcbmltcG9ydCB7IFBheW1lbnRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2lucHV0LWV2ZW50cy5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvcmVMaWJyYXJ5U2VydmljZSB7XG4gIHB1YmxpYyBwYXltZW50TWV0aG9kcyA9IHtcbiAgICBnZXRMaXN0OiBhc3luYyAoKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzU2VydmljZS5nZXRMaXN0KCksXG5cbiAgICBnZXRRdWlja01ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldFF1aWNrTWV0aG9kcygpLFxuICAgIGdldFNhdmVkTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8U2F2ZWRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMuc2F2ZWRNZXRob2RzU2VydmljZS5nZXRMaXN0KCksXG4gICAgZ2V0VXNlckJhbGFuY2U6IGFzeW5jICgpOiBQcm9taXNlPFVzZXJCYWxhbmNlUmVzcG9uc2U+ID0+XG4gICAgICB0aGlzLnVzZXJCYWxhbmNlU2VydmljZS5nZXRVc2VyQmFsYW5jZSgpLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZE1ldGhvZHNTZXJ2aWNlOiBTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJhbGFuY2VTZXJ2aWNlOiBVc2VyQmFsYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50Q29uZmlnU2VydmljZTogUGF5bWVudENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VGaW5nZXJQcmludFNlcnZpY2U6IERldmljZUZpbmdlclByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdChjb25maWd1cmF0aW9uOiBJbml0Q29uZmlndXJhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmluaXQoY29uZmlndXJhdGlvbik7XG4gICAgYXdhaXQgdGhpcy5kZXZpY2VGaW5nZXJQcmludFNlcnZpY2UuaW5pdCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyh1cmw/OiBzdHJpbmcpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzV2l0aFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnkoY291bnRyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVBheW1lbnQoY29uZmlnOiBQYXltZW50Q29uZmlnKTogUGF5bWVudCB7XG4gICAgY29uc3QgZW5yaWNoZWRDb25maWcgPSB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLmVucmljaChjb25maWcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRpYWxpemU6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuaW5pdGlhbGl6ZShlbnJpY2hlZENvbmZpZyksXG4gICAgICBzdWJtaXQ6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2Uuc3VibWl0KCksXG4gICAgICBnZXRGaWVsZHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmllbGRzKCksXG4gICAgICB2YWxpZGF0ZTogYXN5bmMgKGZpZWxkOiBGaWVsZCkgPT4gdGhpcy5wYXltZW50U2VydmljZS52YWxpZGF0ZShmaWVsZCksXG4gICAgICBnZXRGaW5hbmNlRGV0YWlsczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaW5hbmNlRGV0YWlscygpLFxuICAgICAgcnVuVGhyZWVEczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5ydW5UaHJlZURzKCksXG4gICAgICBnZXRTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3RhdHVzKCksXG4gICAgICBmbG93VXBkYXRlcyQ6IHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZmxvd1VwZGF0ZXMkLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgY2hhbmdlRmllbGRTdGF0ZTogKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKSA9PiB7XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFN0YXRlKG5hbWUsIHN0YXRlKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWdhbENvbXBvbmVudENvbmZpZygpOiBMZWdhbENvbXBvbmVudENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMubGVnYWxTZXJ2aWNlLmdldExlZ2FsQ29tcG9uZW50Q29uZmlnKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRNYXNrKGZpZWxkOiBGaWVsZCk6IHVuZGVmaW5lZCB8ICgoKSA9PiBzdHJpbmcpIHtcbiAgICBjb25zdCBzYW5pdGl6ZWROYW1lID0gZmllbGQubmFtZS5yZXBsYWNlKC9eZml4Xy9pLCAnJyk7XG4gICAgcmV0dXJuIG1hc2tzRnVuY3Rpb25zTWFwW3Nhbml0aXplZE5hbWVdO1xuICB9XG59XG4iXX0=
96
+ }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i2.CountryService }, { type: i3.PaymentMethodsService }, { type: i4.SavedMethodsService }, { type: i5.UserBalanceService }, { type: i6.PaymentConfigService }, { type: i7.PaymentService }, { type: i8.DeviceFingerPrintService }, { type: i9.FinanceDetailsService }, { type: i10.LegalService }, { type: i11.StatusService }, { type: i12.NextActionService }, { type: i13.CreditCardService }, { type: i14.CreditCardStateService }]; } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1CM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlNUUsTUFBTSxPQUFPLGtCQUFrQjtJQWE3QixZQUNtQixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixxQkFBNEMsRUFDNUMsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHFCQUE0QyxFQUM1QyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixpQkFBb0MsRUFDcEMsaUJBQW9DLEVBQ3BDLHNCQUE4QztRQWI5QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQTFCMUQsbUJBQWMsR0FBRztZQUN0QixPQUFPLEVBQUUsS0FBSyxJQUE4QixFQUFFLENBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUU7WUFFdEMsZUFBZSxFQUFFLEtBQUssSUFBOEIsRUFBRSxDQUNwRCxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxFQUFFO1lBQzlDLGVBQWUsRUFBRSxLQUFLLElBQTRCLEVBQUUsQ0FDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRTtZQUNwQyxjQUFjLEVBQUUsS0FBSyxJQUFrQyxFQUFFLENBQ3ZELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUU7U0FDM0MsQ0FBQztJQWlCQyxDQUFDO0lBRUcsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFnQztRQUNoRCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQVk7UUFDakMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxVQUFVLENBQUMsT0FBZTtRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQXFCO1FBQ3hDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEUsT0FBTztZQUNMLFVBQVUsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQztZQUN0RSxNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUNoRCxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUU7WUFDaEQsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNyRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFO1lBQ2hFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtZQUNsRCxTQUFTLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRTtZQUN0RCxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVk7WUFDakQsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUs7WUFDeEQsSUFBSSxFQUFFO2dCQUNKLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQjtnQkFDcEQsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7Z0JBQzNDLGdCQUFnQixFQUFFLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQztnQkFDbkQsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsS0FBcUIsRUFBRSxFQUFFLENBQ3hELElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQzthQUNwRDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLE9BQU87WUFDTCxlQUFlLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDcEQscUJBQXFCLEVBQUUsQ0FBQyxRQUF5QixFQUFFLEVBQUUsQ0FDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztZQUN4RCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSztTQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTSxZQUFZLENBQUMsS0FBWTtRQUM5QixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDOzsrR0F6RlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZCB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VSZXNwb25zZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZyB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50U2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2RldmljZS1maW5nZXItcHJpbnQvZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsU2VydmljZSB9IGZyb20gJy4vY29yZS9sZWdhbC9sZWdhbC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLmNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IG1hc2tzRnVuY3Rpb25zTWFwIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9tYXNrcy1mdW5jdGlvbnMubWFwJztcbmltcG9ydCB7IFBheW1lbnRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkVHlwZXMgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkIH0gZnJvbSAnLi9jb3JlL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50TmFtZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZUxpYnJhcnlTZXJ2aWNlIHtcbiAgcHVibGljIHBheW1lbnRNZXRob2RzID0ge1xuICAgIGdldExpc3Q6IGFzeW5jICgpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoKSxcblxuICAgIGdldFF1aWNrTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0UXVpY2tNZXRob2RzKCksXG4gICAgZ2V0U2F2ZWRNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxTYXZlZE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5zYXZlZE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoKSxcbiAgICBnZXRVc2VyQmFsYW5jZTogYXN5bmMgKCk6IFByb21pc2U8VXNlckJhbGFuY2VSZXNwb25zZT4gPT5cbiAgICAgIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlKCksXG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50TWV0aG9kc1NlcnZpY2U6IFBheW1lbnRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhdmVkTWV0aG9kc1NlcnZpY2U6IFNhdmVkTWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmFsYW5jZVNlcnZpY2U6IFVzZXJCYWxhbmNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRDb25maWdTZXJ2aWNlOiBQYXltZW50Q29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRldmljZUZpbmdlclByaW50U2VydmljZTogRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsZWdhbFNlcnZpY2U6IExlZ2FsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU2VydmljZTogQ3JlZGl0Q2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU3RhdGVTZXJ2aWNlOiBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdChjb25maWd1cmF0aW9uOiBJbml0Q29uZmlndXJhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmluaXQoY29uZmlndXJhdGlvbik7XG4gICAgYXdhaXQgdGhpcy5kZXZpY2VGaW5nZXJQcmludFNlcnZpY2UuaW5pdCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyh1cmw/OiBzdHJpbmcpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzV2l0aFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnkoY291bnRyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVBheW1lbnQoY29uZmlnOiBQYXltZW50Q29uZmlnKTogUGF5bWVudCB7XG4gICAgY29uc3QgZW5yaWNoZWRDb25maWcgPSB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLmVucmljaChjb25maWcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRpYWxpemU6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuaW5pdGlhbGl6ZShlbnJpY2hlZENvbmZpZyksXG4gICAgICBzdWJtaXQ6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2Uuc3VibWl0KCksXG4gICAgICBnZXRGaWVsZHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmllbGRzKCksXG4gICAgICB2YWxpZGF0ZTogYXN5bmMgKGZpZWxkOiBGaWVsZCkgPT4gdGhpcy5wYXltZW50U2VydmljZS52YWxpZGF0ZShmaWVsZCksXG4gICAgICBnZXRGaW5hbmNlRGV0YWlsczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaW5hbmNlRGV0YWlscygpLFxuICAgICAgcnVuVGhyZWVEczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5ydW5UaHJlZURzKCksXG4gICAgICBnZXRTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3RhdHVzKCksXG4gICAgICBmbG93VXBkYXRlcyQ6IHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZmxvd1VwZGF0ZXMkLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGZpZWxkc1N0YXR1cyQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybUZpZWxkc1N0YXR1cyQsXG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgY2hhbmdlRmllbGRTdGF0ZTogKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2hhbmdlRmllbGRTdGF0ZShuYW1lLCBzdGF0ZSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3JlZGl0Q2FyZFNlcnZpY2UoKTogQ3JlZGl0Q2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFR5cGVCeU51bWJlcjogKGNhcmROdW1iZXI6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRUeXBlQnlOdW1iZXIoY2FyZE51bWJlciksXG4gICAgICBnZXRDcmVkaXRDYXJkU2V0dGluZ3M6IChjYXJkVHlwZTogQ3JlZGl0Q2FyZFR5cGVzKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldENyZWRpdENhcmRTZXR0aW5ncyhjYXJkVHlwZSksXG4gICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FyZFR5cGVVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPENyZWRpdENhcmRTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGVnYWxDb21wb25lbnRDb25maWcoKTogTGVnYWxDb21wb25lbnRDb25maWcge1xuICAgIHJldHVybiB0aGlzLmxlZ2FsU2VydmljZS5nZXRMZWdhbENvbXBvbmVudENvbmZpZygpO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkTWFzayhmaWVsZDogRmllbGQpOiB1bmRlZmluZWQgfCAoKCkgPT4gc3RyaW5nKSB7XG4gICAgY29uc3Qgc2FuaXRpemVkTmFtZSA9IGZpZWxkLm5hbWUucmVwbGFjZSgvXmZpeF8vaSwgJycpO1xuICAgIHJldHVybiBtYXNrc0Z1bmN0aW9uc01hcFtzYW5pdGl6ZWROYW1lXTtcbiAgfVxufVxuIl19