@xsolla/payment-client-core 0.3.1 → 0.3.3

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 (35) hide show
  1. package/esm2022/lib/core/agreements-group.const.mjs +2 -1
  2. package/esm2022/lib/core/capabilities/capabilities.service.mjs +25 -0
  3. package/esm2022/lib/core/capabilities/capability.const.mjs +8 -0
  4. package/esm2022/lib/core/legal/legal.service.mjs +2 -2
  5. package/esm2022/lib/core/payment/actions/next-action.interface.mjs +1 -1
  6. package/esm2022/lib/core/payment/actions/next-actions.mjs +3 -1
  7. package/esm2022/lib/core/payment/actions/show-init-form/show-init-form.action.class.mjs +56 -0
  8. package/esm2022/lib/core/payment/actions/show-init-form/show-init-form.action.type.mjs +2 -0
  9. package/esm2022/lib/core/payment/config/config.service.mjs +8 -1
  10. package/esm2022/lib/core/payment/field-names.enum.mjs +2 -1
  11. package/esm2022/lib/core/payment/finance-details/cart-summary.interface.mjs +1 -1
  12. package/esm2022/lib/core/payment/payment-configuration.interface.mjs +1 -1
  13. package/esm2022/lib/core/payment/payment.service.mjs +13 -10
  14. package/esm2022/lib/core/payment/status/status.service.mjs +2 -8
  15. package/esm2022/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +12 -8
  16. package/esm2022/lib/core/settings/configuration.interface.mjs +1 -1
  17. package/esm2022/lib/core-library.service.mjs +9 -7
  18. package/fesm2022/xsolla-payment-client-core.mjs +121 -30
  19. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
  20. package/lib/core/capabilities/capabilities.service.d.ts +9 -0
  21. package/lib/core/capabilities/capability.const.d.ts +6 -0
  22. package/lib/core/payment/actions/next-action.interface.d.ts +2 -1
  23. package/lib/core/payment/actions/show-init-form/show-init-form.action.class.d.ts +17 -0
  24. package/lib/core/payment/actions/show-init-form/show-init-form.action.type.d.ts +11 -0
  25. package/lib/core/payment/config/config.service.d.ts +3 -0
  26. package/lib/core/payment/field-names.enum.d.ts +1 -0
  27. package/lib/core/payment/finance-details/cart-summary.interface.d.ts +2 -0
  28. package/lib/core/payment/payment-configuration.interface.d.ts +1 -0
  29. package/lib/core/payment/payment.service.d.ts +3 -0
  30. package/lib/core/payment/status/status.service.d.ts +0 -2
  31. package/lib/core/settings/configuration.interface.d.ts +7 -0
  32. package/lib/core-library.service.d.ts +3 -2
  33. package/package.json +1 -1
  34. package/xsolla-payment-client-core-0.3.3.tgz +0 -0
  35. package/xsolla-payment-client-core-0.3.1.tgz +0 -0
@@ -26,8 +26,9 @@ import * as i22 from "./core/xsolla-number/api/send-instruction/send-instruction
26
26
  import * as i23 from "./core/script-tracker/script-tracker.service";
27
27
  import * as i24 from "@ngx-translate/core";
28
28
  import * as i25 from "./core/exceptions-handling/common-log-attributes/common-log-attributes.service";
29
+ import * as i26 from "./core/capabilities/capabilities.service";
29
30
  export class CoreLibraryService {
30
- constructor(settingsService, loggerService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService, creditCardService, creditCardStateService, formMessagesService, editSavedMethodsService, userBehaviourAnalyticsService, performanceService, combinedPaymentMethodsService, countriesApiService, sendInstructionService, scriptTrackerService, translateService, commonLogAttributesService) {
31
+ constructor(settingsService, loggerService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService, creditCardService, creditCardStateService, formMessagesService, editSavedMethodsService, userBehaviourAnalyticsService, performanceService, combinedPaymentMethodsService, countriesApiService, sendInstructionService, scriptTrackerService, translateService, commonLogAttributesService, capabilitiesService) {
31
32
  this.settingsService = settingsService;
32
33
  this.loggerService = loggerService;
33
34
  this.countryService = countryService;
@@ -53,6 +54,7 @@ export class CoreLibraryService {
53
54
  this.scriptTrackerService = scriptTrackerService;
54
55
  this.translateService = translateService;
55
56
  this.commonLogAttributesService = commonLogAttributesService;
57
+ this.capabilitiesService = capabilitiesService;
56
58
  this.paymentMethods = {
57
59
  getList: async (isSaveMethodMode) => this.paymentMethodsService.getList(isSaveMethodMode),
58
60
  getQuickMethods: async () => this.paymentMethodsService.getQuickMethods(),
@@ -72,6 +74,8 @@ export class CoreLibraryService {
72
74
  }
73
75
  async init(configuration) {
74
76
  await this.settingsService.init(configuration);
77
+ this.capabilitiesService.set(configuration.capabilities);
78
+ this.paymentConfigService.setActiveConfig(null);
75
79
  this.performanceService.init();
76
80
  this.userBehaviourAnalyticsService.init();
77
81
  this.deviceFingerPrintService.init();
@@ -82,9 +86,6 @@ export class CoreLibraryService {
82
86
  async getStatus(url) {
83
87
  return this.statusService.getStatusWithUrlSearchParams(url);
84
88
  }
85
- stopStatusListening() {
86
- this.statusService.stopListening();
87
- }
88
89
  async calculateField(changedField, fields) {
89
90
  return this.paymentService.calculateField(changedField, fields);
90
91
  }
@@ -121,6 +122,7 @@ export class CoreLibraryService {
121
122
  createPayment(config) {
122
123
  const enrichedConfig = this.paymentConfigService.enrich(config);
123
124
  this.paymentConfigService.updateReferByPaymentConfiguration(enrichedConfig);
125
+ this.paymentConfigService.setActiveConfig(enrichedConfig);
124
126
  return {
125
127
  initialize: async () => this.paymentService.initialize(enrichedConfig),
126
128
  submit: async () => this.paymentService.submit(),
@@ -198,7 +200,7 @@ export class CoreLibraryService {
198
200
  get commonLogAttributes() {
199
201
  return this.commonLogAttributesService.getAttributes();
200
202
  }
201
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, deps: [{ token: i1.SettingsService }, { token: i2.LoggerService }, { token: i3.CountryService }, { token: i4.PaymentMethodsService }, { token: i5.SavedMethodsService }, { token: i6.UserBalanceService }, { token: i7.PaymentConfigService }, { token: i8.PaymentService }, { token: i9.DeviceFingerPrintService }, { token: i10.FinanceDetailsService }, { token: i11.LegalService }, { token: i12.StatusService }, { token: i13.NextActionService }, { token: i14.CreditCardService }, { token: i15.CreditCardStateService }, { token: i16.FormMessagesService }, { token: i17.EditSavedMethodsService }, { token: i18.UserBehaviourAnalyticsService }, { token: i19.PerformanceService }, { token: i20.CombinedPaymentMethodsService }, { token: i21.CountriesApiService }, { token: i22.SendInstructionService }, { token: i23.ScriptTrackerService }, { token: i24.TranslateService }, { token: i25.CommonLogAttributesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, deps: [{ token: i1.SettingsService }, { token: i2.LoggerService }, { token: i3.CountryService }, { token: i4.PaymentMethodsService }, { token: i5.SavedMethodsService }, { token: i6.UserBalanceService }, { token: i7.PaymentConfigService }, { token: i8.PaymentService }, { token: i9.DeviceFingerPrintService }, { token: i10.FinanceDetailsService }, { token: i11.LegalService }, { token: i12.StatusService }, { token: i13.NextActionService }, { token: i14.CreditCardService }, { token: i15.CreditCardStateService }, { token: i16.FormMessagesService }, { token: i17.EditSavedMethodsService }, { token: i18.UserBehaviourAnalyticsService }, { token: i19.PerformanceService }, { token: i20.CombinedPaymentMethodsService }, { token: i21.CountriesApiService }, { token: i22.SendInstructionService }, { token: i23.ScriptTrackerService }, { token: i24.TranslateService }, { token: i25.CommonLogAttributesService }, { token: i26.CapabilitiesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
202
204
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, providedIn: 'root' }); }
203
205
  }
204
206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, decorators: [{
@@ -206,5 +208,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
206
208
  args: [{
207
209
  providedIn: 'root',
208
210
  }]
209
- }], ctorParameters: () => [{ type: i1.SettingsService }, { type: i2.LoggerService }, { type: i3.CountryService }, { type: i4.PaymentMethodsService }, { type: i5.SavedMethodsService }, { type: i6.UserBalanceService }, { type: i7.PaymentConfigService }, { type: i8.PaymentService }, { type: i9.DeviceFingerPrintService }, { type: i10.FinanceDetailsService }, { type: i11.LegalService }, { type: i12.StatusService }, { type: i13.NextActionService }, { type: i14.CreditCardService }, { type: i15.CreditCardStateService }, { type: i16.FormMessagesService }, { type: i17.EditSavedMethodsService }, { type: i18.UserBehaviourAnalyticsService }, { type: i19.PerformanceService }, { type: i20.CombinedPaymentMethodsService }, { type: i21.CountriesApiService }, { type: i22.SendInstructionService }, { type: i23.ScriptTrackerService }, { type: i24.TranslateService }, { type: i25.CommonLogAttributesService }] });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvcmUtbGlicmFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3RDNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVXRFLE1BQU0sT0FBTyxrQkFBa0I7SUE0QjdCLFlBQ21CLGVBQWdDLEVBQ2hDLGFBQTRCLEVBQzVCLGNBQThCLEVBQzlCLHFCQUE0QyxFQUM1QyxtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQscUJBQTRDLEVBQzVDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGlCQUFvQyxFQUNwQyxpQkFBb0MsRUFDcEMsc0JBQThDLEVBQzlDLG1CQUF3QyxFQUN4Qyx1QkFBZ0QsRUFDaEQsNkJBQTRELEVBQzVELGtCQUFzQyxFQUN0Qyw2QkFBNEQsRUFDNUQsbUJBQXdDLEVBQ3hDLHNCQUE4QyxFQUM5QyxvQkFBMEMsRUFDMUMsZ0JBQWtDLEVBQ2xDLDBCQUFzRDtRQXhCdEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FB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M0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUFrQjtRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsNEJBQTRCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBVyw2QkFBNkI7UUFDdEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDOytHQWhQVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZCB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VSZXNwb25zZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvcmUvbGVnYWwvbGVnYWwuY29tcG9uZW50LmNvbmZpZyc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRUeXBlcyB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC10eXBlcy5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmQgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhbGFuY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvYmFsYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tbWVzc2FnZXMvZm9ybS1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2VkaXQtc2F2ZWQtbWV0aG9kcy9lZGl0LXNhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNka1BheW1lbnRTeXN0ZW1zIH0gZnJvbSAnLi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvc2RrLXBheW1lbnQtc3lzdGVtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBlcmZvcm1hbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IENvbWJpbmVkUGF5bWVudE1ldGhvZHMgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cmllc0FwaVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyaWVzLWFwaS9jb3VudHJpZXMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cmllcy1hcGkvY291bnRyeS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FzaFBheW1lbnREYXRhIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY2FzaC1wYXltZW50LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9zZW5kLWluc3RydWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9yZXNwb25zZS9zZW5kLWluc3RydWN0aW9uLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vc2VuZC1pbnN0cnVjdGlvbi1wYXJhbWV0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTY3JpcHRUcmFja2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9zY3JpcHQtdHJhY2tlci9zY3JpcHQtdHJhY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQveHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVIZWxwZXIgfSBmcm9tICcuL3NoYXJlZC90cmFuc2xhdGUvdHJhbnNsYXRlLmhlbHBlcic7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzIH0gZnJvbSAnLi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvY29tbW9uLWxvZy1hdHRyaWJ1dGVzL2NvbW1vbi1sb2ctYXR0cmlidXRlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nSGFuZGxlciB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2ctaGFuZGxlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNFcnJvciB9IGZyb20gJy4vY29yZS9wYXltZW50L3hwcy1lcnJvci5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZUxpYnJhcnlTZXJ2aWNlIHtcbiAgcHVibGljIHBheW1lbnRNZXRob2RzID0ge1xuICAgIGdldExpc3Q6IGFzeW5jIChpc1NhdmVNZXRob2RNb2RlPzogYm9vbGVhbik6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0TGlzdChpc1NhdmVNZXRob2RNb2RlKSxcblxuICAgIGdldFF1aWNrTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0UXVpY2tNZXRob2RzKCksXG4gICAgZ2V0U2F2ZWRNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxTYXZlZE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5zYXZlZE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoKSxcbiAgICBnZXRDb21iaW5lZFBheW1lbnRNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxDb21iaW5lZFBheW1lbnRNZXRob2RzPiA9PlxuICAgICAgdGhpcy5jb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZS5nZXRDb21iaW5lZFBheW1lbnRNZXRob2RzKCksXG4gICAgZ2V0VXNlckJhbGFuY2U6IGFzeW5jICgpOiBQcm9taXNlPFVzZXJCYWxhbmNlUmVzcG9uc2U+ID0+XG4gICAgICB0aGlzLnVzZXJCYWxhbmNlU2VydmljZS5nZXRVc2VyQmFsYW5jZSgpLFxuICAgIGRlbGV0ZVNhdmVkTWV0aG9kOiBhc3luYyAoaWQ6IG51bWJlciwgdHlwZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiA9PlxuICAgICAgdGhpcy5lZGl0U2F2ZWRNZXRob2RzU2VydmljZS5kZWxldGVTYXZlZE1ldGhvZFJlcXVlc3QoaWQsIHR5cGUpLFxuICB9O1xuXG4gIHB1YmxpYyBzZGtQYXltZW50U3lzdGVtczogU2RrUGF5bWVudFN5c3RlbXMgPSB7XG4gICAgZ2V0SW5pdGlhbERhdGE6IGFzeW5jICgpID0+XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEluaXRpYWxEYXRhRm9yU2RrUGF5bWVudFN5c3RlbXMoKSxcbiAgfTtcblxuICBwdWJsaWMgZmluYW5jZSA9IHtcbiAgICBnZXREZXRhaWxzRnJvbVN1bW1hcnk6IChzdW1tYXJ5OiBYcHNTdW1tYXJ5KTogRmluYW5jZURldGFpbHMgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmdldERldGFpbHNGcm9tU3VtbWFyeShzdW1tYXJ5KTtcbiAgICB9LFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRNZXRob2RzU2VydmljZTogUGF5bWVudE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2F2ZWRNZXRob2RzU2VydmljZTogU2F2ZWRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCYWxhbmNlU2VydmljZTogVXNlckJhbGFuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudENvbmZpZ1NlcnZpY2U6IFBheW1lbnRDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFNlcnZpY2U6IFBheW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlOiBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxlZ2FsU2VydmljZTogTGVnYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzU2VydmljZTogU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTZXJ2aWNlOiBDcmVkaXRDYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTdGF0ZVNlcnZpY2U6IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWVzc2FnZXNTZXJ2aWNlOiBGb3JtTWVzc2FnZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWRpdFNhdmVkTWV0aG9kc1NlcnZpY2U6IEVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGVyZm9ybWFuY2VTZXJ2aWNlOiBQZXJmb3JtYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZTogQ29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJpZXNBcGlTZXJ2aWNlOiBDb3VudHJpZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VuZEluc3RydWN0aW9uU2VydmljZTogU2VuZEluc3RydWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcmlwdFRyYWNrZXJTZXJ2aWNlOiBTY3JpcHRUcmFja2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZTogQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdChjb25maWd1cmF0aW9uOiBJbml0Q29uZmlndXJhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmluaXQoY29uZmlndXJhdGlvbik7XG4gICAgdGhpcy5wZXJmb3JtYW5jZVNlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMuZGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnNjcmlwdFRyYWNrZXJTZXJ2aWNlLmluaXRTY3JpcHRUcmFja2luZyhjb25maWd1cmF0aW9uLmVudmlyb25tZW50KTtcbiAgICBUcmFuc2xhdGVIZWxwZXIuaW5pdCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UoVHJhbnNsYXRlSGVscGVyLmdldExvY2FsZShjb25maWd1cmF0aW9uLmxvY2FsZSkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyh1cmw/OiBzdHJpbmcpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzV2l0aFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuICB9XG5cbiAgcHVibGljIHN0b3BTdGF0dXNMaXN0ZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNTZXJ2aWNlLnN0b3BMaXN0ZW5pbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYWxjdWxhdGVGaWVsZChcbiAgICBjaGFuZ2VkRmllbGQ6IEZpZWxkLFxuICAgIGZpZWxkczogRmllbGRbXSxcbiAgKTogUHJvbWlzZTxTeW5jUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5jYWxjdWxhdGVGaWVsZChjaGFuZ2VkRmllbGQsIGZpZWxkcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3VibWl0KGZpZWxkczogRmllbGRbXSk6IFByb21pc2U8e1xuICAgIHJlc3BvbnNlOiBTdWJtaXRSZXNwb25zZTtcbiAgICBuZXh0QWN0aW9uOiBOZXh0QWN0aW9uIHwgbnVsbCB8IHZvaWQ7XG4gIH0+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5zdWJtaXRXaXRoRmllbGRzKGZpZWxkcyk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEFuYWx5dGljcyhcbiAgICBhY3Rpb246IHN0cmluZyxcbiAgICB0eXBlOiBrZXlvZiB0eXBlb2YgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMsXG4gICAgb3B0aW9ucz86IFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UsXG4gICk6IHZvaWQge1xuICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChhY3Rpb24sIHR5cGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGdldFFyQ29kZUluaXRpYWxEYXRhKCk6IHtcbiAgICBxckNvZGU6IHN0cmluZztcbiAgICBwaWQ6IG51bWJlciB8IG51bGw7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBxckNvZGU6IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UXJDb2RlKCksXG4gICAgICBwaWQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGlkKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNoUGF5bWVudERhdGEoKTogQ2FzaFBheW1lbnREYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5nZXRDYXNoUGF5bWVudERhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZW5kWHNvbGxhTnVtYmVyV2l0aEVtYWlsKFxuICAgIHBhcmFtczogU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZSxcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aEVtYWlsKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhTbXMoXG4gICAgcGFyYW1zOiBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlLFxuICApOiBQcm9taXNlPFNlbmRJbnN0cnVjdGlvblJlc3BvbnNlSW50ZXJmYWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VuZEluc3RydWN0aW9uU2VydmljZS5zZW5kSW5zdHJ1Y3Rpb25XaXRoU21zKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Q291bnRyaWVzKCk6IFByb21pc2U8Q291bnRyeVJlc3BvbnNlWydjb3VudHJ5TGlzdCddPiB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRyaWVzQXBpU2VydmljZS5yZXF1ZXN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvdW50cnlTZXJ2aWNlLnNldENvdW50cnkoY291bnRyeSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q291bnRyeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvdW50cnlTZXJ2aWNlLmdldENvdW50cnkoKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVQYXltZW50KGNvbmZpZzogUGF5bWVudENvbmZpZ3VyYXRpb24pOiBQYXltZW50IHtcbiAgICBjb25zdCBlbnJpY2hlZENvbmZpZyA9IHRoaXMucGF5bWVudENvbmZpZ1NlcnZpY2UuZW5yaWNoKGNvbmZpZyk7XG5cbiAgICB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLnVwZGF0ZVJlZmVyQnlQYXltZW50Q29uZmlndXJhdGlvbihlbnJpY2hlZENvbmZpZyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW5pdGlhbGl6ZTogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5pbml0aWFsaXplKGVucmljaGVkQ29uZmlnKSxcbiAgICAgIHN1Ym1pdDogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5zdWJtaXQoKSxcbiAgICAgIGdldEZpZWxkczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZHMoKSxcbiAgICAgIGdldFBpZDogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRQaWQoKSxcbiAgICAgIGdldFN1Ym1pdEJ1dHRvblRleHQ6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3VibWl0QnV0dG9uVGV4dCgpLFxuICAgICAgdmFsaWRhdGU6IGFzeW5jIChmaWVsZDogRmllbGQpID0+IHRoaXMucGF5bWVudFNlcnZpY2UudmFsaWRhdGUoZmllbGQpLFxuICAgICAgZ2V0RmluYW5jZURldGFpbHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoKSxcbiAgICAgIHJ1blRocmVlRHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UucnVuVGhyZWVEcygpLFxuICAgICAgZ2V0U3RhdHVzOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFN0YXR1cygpLFxuICAgICAgbGlzdGVuRmluYWxTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UubGlzdGVuRmluYWxTdGF0dXMoKSxcbiAgICAgIGZpbmFuY2VEZXRhaWxzVXBkYXRlcyQ6IHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkLFxuICAgICAgZm9ybToge1xuICAgICAgICBmaWVsZHNTdGF0dXMkOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1GaWVsZHNTdGF0dXMkLFxuICAgICAgICBnZXRDb250cm9sQ29uZmlnOiAoZmllbGQ6IEZpZWxkKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmllbGRDb25maWcoZmllbGQpLFxuICAgICAgICBjaGFuZ2VGaWVsZFZhbHVlOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2hhbmdlRmllbGRWYWx1ZShuYW1lLCB2YWx1ZSksXG4gICAgICAgIGV4dGVybmFsQ2hhbmdlRmllbGRWYWx1ZTogKG5hbWU6IEZpZWxkTmFtZXMsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5leHRlcm5hbENoYW5nZUZpZWxkVmFsdWUobmFtZSwgdmFsdWUpLFxuICAgICAgICBjaGFuZ2VGaWVsZFN0YXRlOiAobmFtZTogc3RyaW5nLCBzdGF0ZTogSW5wdXRFdmVudE5hbWUpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFN0YXRlKG5hbWUsIHN0YXRlKSxcbiAgICAgICAgdXBkYXRlRmllbGRGb3JtU3RhdGU6IChmaWVsZE5hbWU6IHN0cmluZywgZm9ybVN0YXRlOiBGb3JtU3RhdGUpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS51cGRhdGVGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWUsIGZvcm1TdGF0ZSksXG4gICAgICAgIGdldEZpZWxkRm9ybVN0YXRlOiAoZmllbGROYW1lOiBGaWVsZE5hbWVzKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmllbGRGb3JtU3RhdGUoZmllbGROYW1lKSxcbiAgICAgICAgZm9ybU1lc3NhZ2VzJDogdGhpcy5mb3JtTWVzc2FnZXNTZXJ2aWNlLmRhdGEkLFxuICAgICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgICAgIGdldEZvcm1TdGF0dXM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybT8uc3RhdHVzLFxuICAgICAgICBnZXRDb250cm9sU3RhdHVzOiAobmFtZTogRmllbGROYW1lcykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldENvbnRyb2xTdGF0dXMobmFtZSksXG4gICAgICB9LFxuICAgICAgYWRkRXh0cmFGaWVsZDogKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQgPT5cbiAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5hZGRFeHRyYUZpZWxkKG5hbWUsIHZhbHVlKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldENyZWRpdENhcmRTZXJ2aWNlKCk6IENyZWRpdENhcmQge1xuICAgIHJldHVybiB7XG4gICAgICBnZXRUeXBlQnlOdW1iZXI6IChjYXJkTnVtYmVyOiBzdHJpbmcpID0+XG4gICAgICAgIHRoaXMuY3JlZGl0Q2FyZFNlcnZpY2UuZ2V0VHlwZUJ5TnVtYmVyKGNhcmROdW1iZXIpLFxuICAgICAgZ2V0Q3JlZGl0Q2FyZFNldHRpbmdzOiAoY2FyZFR5cGU6IENyZWRpdENhcmRUeXBlcykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRDcmVkaXRDYXJkU2V0dGluZ3MoY2FyZFR5cGUpLFxuICAgICAgY2FyZFR5cGVVcGRhdGVzJDogdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmRhdGEkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZsb3dVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPE5leHRBY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5uZXh0QWN0aW9uU2VydmljZS5mbG93VXBkYXRlcyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbmFuY2VEZXRhaWxzVXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxGaW5hbmNlRGV0YWlscz4ge1xuICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FyZFR5cGVVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPENyZWRpdENhcmRTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGVnYWxDb21wb25lbnRDb25maWcocGlkPzogbnVtYmVyKTogTGVnYWxDb21wb25lbnRDb25maWcge1xuICAgIHJldHVybiB0aGlzLmxlZ2FsU2VydmljZS5nZXRMZWdhbENvbXBvbmVudENvbmZpZyhwaWQpO1xuICB9XG5cbiAgcHVibGljIGdldFVzZXJCYWxhbmNlVmFsdWUoKTogQmFsYW5jZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnVzZXJCYWxhbmNlU2VydmljZS5nZXRVc2VyQmFsYW5jZVZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJMb2dIYW5kbGVyKGhhbmRsZXI6IExvZ0hhbmRsZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlclNlcnZpY2UucmVnaXN0ZXIoaGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgZW1pdEZsb3dFcnJvcnMoZXJyb3JzOiBYcHNFcnJvcltdKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd0Vycm9ycyhlcnJvcnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50Rm9ybSQoKTogT2JzZXJ2YWJsZTxGb3JtQ29udHJvbFN0YXR1cyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5wYXltZW50Rm9ybSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1SZXNwb25zZSQoKTogT2JzZXJ2YWJsZTxGb3JtUmVzcG9uc2UgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybVJlc3BvbnNlJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVJlc3BvbnNlVmFsdWUoKTogRm9ybVJlc3BvbnNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybVJlc3BvbnNlVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvcExldmVsRG9tYWluKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRvcExldmVsRG9tYWluO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5pc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0dvb2dsZVBheUluc3RhbnRGbG93RW5hYmxlZCgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzR29vZ2xlUGF5SW5zdGFudEZsb3dFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21tb25Mb2dBdHRyaWJ1dGVzKCk6IENvbW1vbkxvZ0F0dHJpYnV0ZXMge1xuICAgIHJldHVybiB0aGlzLmNvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlLmdldEF0dHJpYnV0ZXMoKTtcbiAgfVxufVxuIl19
211
+ }], ctorParameters: () => [{ type: i1.SettingsService }, { type: i2.LoggerService }, { type: i3.CountryService }, { type: i4.PaymentMethodsService }, { type: i5.SavedMethodsService }, { type: i6.UserBalanceService }, { type: i7.PaymentConfigService }, { type: i8.PaymentService }, { type: i9.DeviceFingerPrintService }, { type: i10.FinanceDetailsService }, { type: i11.LegalService }, { type: i12.StatusService }, { type: i13.NextActionService }, { type: i14.CreditCardService }, { type: i15.CreditCardStateService }, { type: i16.FormMessagesService }, { type: i17.EditSavedMethodsService }, { type: i18.UserBehaviourAnalyticsService }, { type: i19.PerformanceService }, { type: i20.CombinedPaymentMethodsService }, { type: i21.CountriesApiService }, { type: i22.SendInstructionService }, { type: i23.ScriptTrackerService }, { type: i24.TranslateService }, { type: i25.CommonLogAttributesService }, { type: i26.CapabilitiesService }] });
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvcmUtbGlicmFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3RDNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVd0RSxNQUFNLE9BQU8sa0JBQWtCO0lBNEI3QixZQUNtQixlQUFnQyxFQUNoQyxhQUE0QixFQUM1QixjQUE4QixFQUM5QixxQkFBNEMsRUFDNUMsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHFCQUE0QyxFQUM1QyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixpQkFBb0MsRUFDcEMsaUJBQW9DLEVBQ3BDLHNCQUE4QyxFQUM5QyxtQkFBd0MsRUFDeEMsdUJBQWdELEVBQ2hELDZCQUE0RCxFQUM1RCxrQkFBc0MsRUFDdEMsNkJBQTRELEVBQzVELG1CQUF3QyxFQUN4QyxzQkFBOEMsRUFDOUMsb0JBQTBDLEVBQzFDLGdCQUFrQyxFQUNsQywwQkFBc0QsRUFDdEQsbUJBQXdDO1FBekJ4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMEJBQXFCLEdB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IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluaXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2QgfSBmcm9tICcuL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlUmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvdXNlci1iYWxhbmNlL3VzZXItYmFsYW5jZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBVc2VyQmFsYW5jZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iYWxhbmNlL3VzZXItYmFsYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50U2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2RldmljZS1maW5nZXItcHJpbnQvZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsU2VydmljZSB9IGZyb20gJy4vY29yZS9sZWdhbC9sZWdhbC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLmNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkVHlwZXMgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkIH0gZnJvbSAnLi9jb3JlL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50TmFtZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWxhbmNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL2JhbGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1NZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtLW1lc3NhZ2VzL2Zvcm0tbWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0U2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9lZGl0LXNhdmVkLW1ldGhvZHMvZWRpdC1zYXZlZC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTdGF0dXMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZGtQYXltZW50U3lzdGVtcyB9IGZyb20gJy4vY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL3Nkay1wYXltZW50LXN5c3RlbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1SZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4vY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSB9IGZyb20gJy4vY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQZXJmb3JtYW5jZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBDb21iaW5lZFBheW1lbnRNZXRob2RzIH0gZnJvbSAnLi9jb3JlL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJpZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cmllcy1hcGkvY291bnRyaWVzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cnlSZXNwb25zZSB9IGZyb20gJy4vY29yZS9jb3VudHJpZXMtYXBpL2NvdW50cnktcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhc2hQYXltZW50RGF0YSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Nhc2gtcGF5bWVudC1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vc2VuZC1pbnN0cnVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblJlc3BvbnNlSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vcmVzcG9uc2Uvc2VuZC1pbnN0cnVjdGlvbi1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZSB9IGZyb20gJy4vY29yZS94c29sbGEtbnVtYmVyL2FwaS9zZW5kLWluc3RydWN0aW9uL3NlbmQtaW5zdHJ1Y3Rpb24tcGFyYW1ldGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2NyaXB0VHJhY2tlclNlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2NyaXB0LXRyYWNrZXIvc2NyaXB0LXRyYWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3Jlc3BvbnNlL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgWHBzU3VtbWFyeSB9IGZyb20gJy4vY29yZS9wYXltZW50L3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlSGVscGVyIH0gZnJvbSAnLi9zaGFyZWQvdHJhbnNsYXRlL3RyYW5zbGF0ZS5oZWxwZXInO1xuaW1wb3J0IHsgQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9jb21tb24tbG9nLWF0dHJpYnV0ZXMvY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTG9nQXR0cmlidXRlcyB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ0hhbmRsZXIgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nLWhhbmRsZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzRXJyb3IgfSBmcm9tICcuL2NvcmUvcGF5bWVudC94cHMtZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvY2FwYWJpbGl0aWVzL2NhcGFiaWxpdGllcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvcmVMaWJyYXJ5U2VydmljZSB7XG4gIHB1YmxpYyBwYXltZW50TWV0aG9kcyA9IHtcbiAgICBnZXRMaXN0OiBhc3luYyAoaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW4pOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoaXNTYXZlTWV0aG9kTW9kZSksXG5cbiAgICBnZXRRdWlja01ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldFF1aWNrTWV0aG9kcygpLFxuICAgIGdldFNhdmVkTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8U2F2ZWRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMuc2F2ZWRNZXRob2RzU2VydmljZS5nZXRMaXN0KCksXG4gICAgZ2V0Q29tYmluZWRQYXltZW50TWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8Q29tYmluZWRQYXltZW50TWV0aG9kcz4gPT5cbiAgICAgIHRoaXMuY29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0Q29tYmluZWRQYXltZW50TWV0aG9kcygpLFxuICAgIGdldFVzZXJCYWxhbmNlOiBhc3luYyAoKTogUHJvbWlzZTxVc2VyQmFsYW5jZVJlc3BvbnNlPiA9PlxuICAgICAgdGhpcy51c2VyQmFsYW5jZVNlcnZpY2UuZ2V0VXNlckJhbGFuY2UoKSxcbiAgICBkZWxldGVTYXZlZE1ldGhvZDogYXN5bmMgKGlkOiBudW1iZXIsIHR5cGU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4gPT5cbiAgICAgIHRoaXMuZWRpdFNhdmVkTWV0aG9kc1NlcnZpY2UuZGVsZXRlU2F2ZWRNZXRob2RSZXF1ZXN0KGlkLCB0eXBlKSxcbiAgfTtcblxuICBwdWJsaWMgc2RrUGF5bWVudFN5c3RlbXM6IFNka1BheW1lbnRTeXN0ZW1zID0ge1xuICAgIGdldEluaXRpYWxEYXRhOiBhc3luYyAoKSA9PlxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRJbml0aWFsRGF0YUZvclNka1BheW1lbnRTeXN0ZW1zKCksXG4gIH07XG5cbiAgcHVibGljIGZpbmFuY2UgPSB7XG4gICAgZ2V0RGV0YWlsc0Zyb21TdW1tYXJ5OiAoc3VtbWFyeTogWHBzU3VtbWFyeSk6IEZpbmFuY2VEZXRhaWxzID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5nZXREZXRhaWxzRnJvbVN1bW1hcnkoc3VtbWFyeSk7XG4gICAgfSxcbiAgfTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50TWV0aG9kc1NlcnZpY2U6IFBheW1lbnRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhdmVkTWV0aG9kc1NlcnZpY2U6IFNhdmVkTWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmFsYW5jZVNlcnZpY2U6IFVzZXJCYWxhbmNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRDb25maWdTZXJ2aWNlOiBQYXltZW50Q29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRldmljZUZpbmdlclByaW50U2VydmljZTogRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsZWdhbFNlcnZpY2U6IExlZ2FsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU2VydmljZTogQ3JlZGl0Q2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU3RhdGVTZXJ2aWNlOiBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1lc3NhZ2VzU2VydmljZTogRm9ybU1lc3NhZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlOiBFZGl0U2F2ZWRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBlcmZvcm1hbmNlU2VydmljZTogUGVyZm9ybWFuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2U6IENvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyaWVzQXBpU2VydmljZTogQ291bnRyaWVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbmRJbnN0cnVjdGlvblNlcnZpY2U6IFNlbmRJbnN0cnVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JpcHRUcmFja2VyU2VydmljZTogU2NyaXB0VHJhY2tlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2U6IENvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0KGNvbmZpZ3VyYXRpb246IEluaXRDb25maWd1cmF0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zZXR0aW5nc1NlcnZpY2UuaW5pdChjb25maWd1cmF0aW9uKTtcbiAgICB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2Uuc2V0KGNvbmZpZ3VyYXRpb24uY2FwYWJpbGl0aWVzKTtcbiAgICB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLnNldEFjdGl2ZUNvbmZpZyhudWxsKTtcbiAgICB0aGlzLnBlcmZvcm1hbmNlU2VydmljZS5pbml0KCk7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5pbml0KCk7XG4gICAgdGhpcy5kZXZpY2VGaW5nZXJQcmludFNlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMuc2NyaXB0VHJhY2tlclNlcnZpY2UuaW5pdFNjcmlwdFRyYWNraW5nKGNvbmZpZ3VyYXRpb24uZW52aXJvbm1lbnQpO1xuICAgIFRyYW5zbGF0ZUhlbHBlci5pbml0KHRoaXMudHJhbnNsYXRlU2VydmljZSk7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShUcmFuc2xhdGVIZWxwZXIuZ2V0TG9jYWxlKGNvbmZpZ3VyYXRpb24ubG9jYWxlKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzU2VydmljZS5nZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2FsY3VsYXRlRmllbGQoXG4gICAgY2hhbmdlZEZpZWxkOiBGaWVsZCxcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICk6IFByb21pc2U8U3luY1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuY2FsY3VsYXRlRmllbGQoY2hhbmdlZEZpZWxkLCBmaWVsZHMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN1Ym1pdChmaWVsZHM6IEZpZWxkW10pOiBQcm9taXNlPHtcbiAgICByZXNwb25zZTogU3VibWl0UmVzcG9uc2U7XG4gICAgbmV4dEFjdGlvbjogTmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkO1xuICB9PiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2Uuc3VibWl0V2l0aEZpZWxkcyhmaWVsZHMpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBbmFseXRpY3MoXG4gICAgYWN0aW9uOiBzdHJpbmcsXG4gICAgdHlwZToga2V5b2YgdHlwZW9mIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLFxuICAgIG9wdGlvbnM/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoYWN0aW9uLCB0eXBlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRckNvZGVJbml0aWFsRGF0YSgpOiB7XG4gICAgcXJDb2RlOiBzdHJpbmc7XG4gICAgcGlkOiBudW1iZXIgfCBudWxsO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgcXJDb2RlOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFFyQ29kZSgpLFxuICAgICAgcGlkOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzaFBheW1lbnREYXRhKCk6IENhc2hQYXltZW50RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q2FzaFBheW1lbnREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhFbWFpbChcbiAgICBwYXJhbXM6IFNlbmRJbnN0cnVjdGlvblBhcmFtZXRlcnNJbnRlcmZhY2UsXG4gICk6IFByb21pc2U8U2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2U+IHtcbiAgICByZXR1cm4gdGhpcy5zZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLnNlbmRJbnN0cnVjdGlvbldpdGhFbWFpbChwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbmRYc29sbGFOdW1iZXJXaXRoU21zKFxuICAgIHBhcmFtczogU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZSxcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aFNtcyhwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENvdW50cmllcygpOiBQcm9taXNlPENvdW50cnlSZXNwb25zZVsnY291bnRyeUxpc3QnXT4ge1xuICAgIHJldHVybiB0aGlzLmNvdW50cmllc0FwaVNlcnZpY2UucmVxdWVzdCgpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnkoY291bnRyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICB9XG5cbiAgcHVibGljIGdldENvdW50cnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlUGF5bWVudChjb25maWc6IFBheW1lbnRDb25maWd1cmF0aW9uKTogUGF5bWVudCB7XG4gICAgY29uc3QgZW5yaWNoZWRDb25maWcgPSB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLmVucmljaChjb25maWcpO1xuXG4gICAgdGhpcy5wYXltZW50Q29uZmlnU2VydmljZS51cGRhdGVSZWZlckJ5UGF5bWVudENvbmZpZ3VyYXRpb24oZW5yaWNoZWRDb25maWcpO1xuICAgIHRoaXMucGF5bWVudENvbmZpZ1NlcnZpY2Uuc2V0QWN0aXZlQ29uZmlnKGVucmljaGVkQ29uZmlnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsaXplOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmluaXRpYWxpemUoZW5yaWNoZWRDb25maWcpLFxuICAgICAgc3VibWl0OiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdCgpLFxuICAgICAgZ2V0RmllbGRzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkcygpLFxuICAgICAgZ2V0UGlkOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgICAgZ2V0U3VibWl0QnV0dG9uVGV4dDogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdWJtaXRCdXR0b25UZXh0KCksXG4gICAgICB2YWxpZGF0ZTogYXN5bmMgKGZpZWxkOiBGaWVsZCkgPT4gdGhpcy5wYXltZW50U2VydmljZS52YWxpZGF0ZShmaWVsZCksXG4gICAgICBnZXRGaW5hbmNlRGV0YWlsczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaW5hbmNlRGV0YWlscygpLFxuICAgICAgcnVuVGhyZWVEczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5ydW5UaHJlZURzKCksXG4gICAgICBnZXRTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3RhdHVzKCksXG4gICAgICBsaXN0ZW5GaW5hbFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5saXN0ZW5GaW5hbFN0YXR1cygpLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGZpZWxkc1N0YXR1cyQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybUZpZWxkc1N0YXR1cyQsXG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgZXh0ZXJuYWxDaGFuZ2VGaWVsZFZhbHVlOiAobmFtZTogRmllbGROYW1lcywgdmFsdWU6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmV4dGVybmFsQ2hhbmdlRmllbGRWYWx1ZShuYW1lLCB2YWx1ZSksXG4gICAgICAgIGNoYW5nZUZpZWxkU3RhdGU6IChuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkU3RhdGUobmFtZSwgc3RhdGUpLFxuICAgICAgICB1cGRhdGVGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSwgZm9ybVN0YXRlKSxcbiAgICAgICAgZ2V0RmllbGRGb3JtU3RhdGU6IChmaWVsZE5hbWU6IEZpZWxkTmFtZXMpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWUpLFxuICAgICAgICBmb3JtTWVzc2FnZXMkOiB0aGlzLmZvcm1NZXNzYWdlc1NlcnZpY2UuZGF0YSQsXG4gICAgICAgIGNhcmRUeXBlVXBkYXRlcyQ6IHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJCxcbiAgICAgICAgZ2V0Rm9ybVN0YXR1czogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtPy5zdGF0dXMsXG4gICAgICAgIGdldENvbnRyb2xTdGF0dXM6IChuYW1lOiBGaWVsZE5hbWVzKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q29udHJvbFN0YXR1cyhuYW1lKSxcbiAgICAgIH0sXG4gICAgICBhZGRFeHRyYUZpZWxkOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCA9PlxuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmFkZEV4dHJhRmllbGQobmFtZSwgdmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3JlZGl0Q2FyZFNlcnZpY2UoKTogQ3JlZGl0Q2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFR5cGVCeU51bWJlcjogKGNhcmROdW1iZXI6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRUeXBlQnlOdW1iZXIoY2FyZE51bWJlciksXG4gICAgICBnZXRDcmVkaXRDYXJkU2V0dGluZ3M6IChjYXJkVHlwZTogQ3JlZGl0Q2FyZFR5cGVzKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldENyZWRpdENhcmRTZXR0aW5ncyhjYXJkVHlwZSksXG4gICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxvd1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8TmV4dEFjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmZsb3dVcGRhdGVzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmluYW5jZURldGFpbHNVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPEZpbmFuY2VEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJkVHlwZVVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Q3JlZGl0Q2FyZFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWdhbENvbXBvbmVudENvbmZpZyhwaWQ/OiBudW1iZXIpOiBMZWdhbENvbXBvbmVudENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMubGVnYWxTZXJ2aWNlLmdldExlZ2FsQ29tcG9uZW50Q29uZmlnKHBpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlckJhbGFuY2VWYWx1ZSgpOiBCYWxhbmNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckxvZ0hhbmRsZXIoaGFuZGxlcjogTG9nSGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyU2VydmljZS5yZWdpc3RlcihoYW5kbGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Rmxvd0Vycm9ycyhlcnJvcnM6IFhwc0Vycm9yW10pOiB2b2lkIHtcbiAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93RXJyb3JzKGVycm9ycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnRGb3JtJCgpOiBPYnNlcnZhYmxlPEZvcm1Db250cm9sU3RhdHVzIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLnBheW1lbnRGb3JtJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVJlc3BvbnNlJCgpOiBPYnNlcnZhYmxlPEZvcm1SZXNwb25zZSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtUmVzcG9uc2UkO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2VWYWx1ZSgpOiBGb3JtUmVzcG9uc2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtUmVzcG9uc2VWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9wTGV2ZWxEb21haW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9wTGV2ZWxEb21haW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzR29vZ2xlUGF5SW5zdGFudEZsb3dFbmFibGVkKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNHb29nbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbW1vbkxvZ0F0dHJpYnV0ZXMoKTogQ29tbW9uTG9nQXR0cmlidXRlcyB7XG4gICAgcmV0dXJuIHRoaXMuY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpO1xuICB9XG59XG4iXX0=
@@ -1280,6 +1280,13 @@ class PaymentConfigService {
1280
1280
  constructor(urlService, settingsService) {
1281
1281
  this.urlService = urlService;
1282
1282
  this.settingsService = settingsService;
1283
+ this._activeConfig = null;
1284
+ }
1285
+ get activeConfig() {
1286
+ return this._activeConfig;
1287
+ }
1288
+ setActiveConfig(config) {
1289
+ this._activeConfig = config;
1283
1290
  }
1284
1291
  enrich(config) {
1285
1292
  if (!config.returnUrl) {
@@ -1389,6 +1396,7 @@ var FieldNames;
1389
1396
  FieldNames["psAccountCountry"] = "psAccountCountry";
1390
1397
  FieldNames["allowSave"] = "allowSave";
1391
1398
  FieldNames["koreaLimitsInstruction"] = "korea_limits_instruction";
1399
+ FieldNames["koreaCashReceiptInstruction"] = "korea_cash_receipt_instruction";
1392
1400
  FieldNames["tokenApplePay"] = "token_applepay";
1393
1401
  FieldNames["fixInvoice"] = "fix_invoice";
1394
1402
  FieldNames["fixPid"] = "fix_pid";
@@ -1984,6 +1992,85 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1984
1992
  type: Injectable
1985
1993
  }] });
1986
1994
 
1995
+ /**
1996
+ * Known capability identifiers. Values mirror the SDK-side
1997
+ * {@link Capability} enum but are kept as plain strings because
1998
+ * payment-client-core must not depend on pay-station-sdk.
1999
+ */
2000
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2001
+ const SHOW_INIT_FORM_CAPABILITY = 'show_init_form_action';
2002
+
2003
+ class CapabilitiesService {
2004
+ constructor() {
2005
+ this.capabilities = new Set();
2006
+ }
2007
+ set(list = []) {
2008
+ this.capabilities = new Set(list);
2009
+ }
2010
+ has(capability) {
2011
+ return this.capabilities.has(capability);
2012
+ }
2013
+ clear() {
2014
+ this.capabilities.clear();
2015
+ }
2016
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CapabilitiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2017
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CapabilitiesService, providedIn: 'root' }); }
2018
+ }
2019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CapabilitiesService, decorators: [{
2020
+ type: Injectable,
2021
+ args: [{
2022
+ providedIn: 'root',
2023
+ }]
2024
+ }] });
2025
+
2026
+ class ShowInitFormActionCreator {
2027
+ constructor(paymentConfigService, capabilitiesService) {
2028
+ this.paymentConfigService = paymentConfigService;
2029
+ this.capabilitiesService = capabilitiesService;
2030
+ this.type = 'show_init_form';
2031
+ }
2032
+ getActionData(submitResponse) {
2033
+ const data = {
2034
+ fields: submitResponse.fields.filter((field) => field?.isVisible === "1" /* XpsBoolean.true */),
2035
+ errors: submitResponse.errors,
2036
+ messages: submitResponse.messages,
2037
+ };
2038
+ return {
2039
+ type: this.type,
2040
+ data,
2041
+ };
2042
+ }
2043
+ isSuitable(response) {
2044
+ if (!this.capabilitiesService.has(SHOW_INIT_FORM_CAPABILITY)) {
2045
+ return false;
2046
+ }
2047
+ if (!this.isExternalVaultActive()) {
2048
+ return false;
2049
+ }
2050
+ if (response.pid !== creditCardPaymentMethodId) {
2051
+ return false;
2052
+ }
2053
+ if (response.currentCommand !== XpsCommand.form) {
2054
+ return false;
2055
+ }
2056
+ if (!response.errors?.length) {
2057
+ return false;
2058
+ }
2059
+ return true;
2060
+ }
2061
+ isExternalVaultActive() {
2062
+ const config = this.paymentConfigService.activeConfig;
2063
+ return Boolean(config &&
2064
+ isCreditCardSettingsGuard(config) &&
2065
+ config.paymentMethodSettings?.useExternalVault);
2066
+ }
2067
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ShowInitFormActionCreator, deps: [{ token: PaymentConfigService }, { token: CapabilitiesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2068
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ShowInitFormActionCreator }); }
2069
+ }
2070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ShowInitFormActionCreator, decorators: [{
2071
+ type: Injectable
2072
+ }], ctorParameters: () => [{ type: PaymentConfigService }, { type: CapabilitiesService }] });
2073
+
1987
2074
  class TerminalError extends AppError {
1988
2075
  constructor(message, code) {
1989
2076
  super(message);
@@ -2396,6 +2483,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2396
2483
 
2397
2484
  const nextActionsToken = new InjectionToken('Action');
2398
2485
  const nextActions = [
2486
+ ShowInitFormActionCreator,
2399
2487
  GoogleThreeDsRedirectActionCreator,
2400
2488
  ShowFieldsActionCreator,
2401
2489
  CheckStatusActionCreator,
@@ -6867,7 +6955,6 @@ class StatusService {
6867
6955
  this.nextActionService = nextActionService;
6868
6956
  this.savePaymentMethodStatusService = savePaymentMethodStatusService;
6869
6957
  this.statusUpdatedActionCreator = statusUpdatedActionCreator;
6870
- this.listenStatusSubscription = null;
6871
6958
  }
6872
6959
  async getStatus(params) {
6873
6960
  const isSavePaymentMethodMode = params?.isSavePaymentAccount === "1" /* XpsBoolean.true */;
@@ -6888,10 +6975,6 @@ class StatusService {
6888
6975
  }
6889
6976
  return this.getStatus(searchParams);
6890
6977
  }
6891
- stopListening() {
6892
- this.listenStatusSubscription?.unsubscribe();
6893
- this.listenStatusService.stopListening();
6894
- }
6895
6978
  listenFinalStatus(invoice) {
6896
6979
  return this.listenStatusService.listen(invoice);
6897
6980
  }
@@ -6909,8 +6992,7 @@ class StatusService {
6909
6992
  }
6910
6993
  startWaitingStatusUpdates(invoice) {
6911
6994
  this.listenStatusService.listen(invoice);
6912
- this.listenStatusSubscription?.unsubscribe();
6913
- this.listenStatusSubscription = this.listenStatusService.statusUpdated$
6995
+ this.listenStatusService.statusUpdated$
6914
6996
  .pipe(skip(1))
6915
6997
  .subscribe(({ statusResponse }) => {
6916
6998
  this.financeDetailsService.emitWithStatus(statusResponse.status);
@@ -7188,10 +7270,11 @@ class DfpCollectService {
7188
7270
  * This method create invisible iframe with required params and after that it submit form in iframe
7189
7271
  * */
7190
7272
  openIframeWithPostRequest(threeDsForm, isNeedNotifyAfterLoad) {
7191
- this.window.document.getElementById(this.iframeName)?.remove();
7192
- this.window.document.getElementById(this.formName)?.remove();
7193
- this.createIframe(isNeedNotifyAfterLoad, threeDsForm.threeDSTrXid);
7194
- this.postFormToIframe(threeDsForm.threeDSMethod, threeDsForm.threeDSMethodData);
7273
+ const iFrameElement = this.window.document.getElementById(this.iframeName);
7274
+ if (!iFrameElement) {
7275
+ this.createIframe(isNeedNotifyAfterLoad, threeDsForm.threeDSTrXid);
7276
+ this.postFormToIframe(threeDsForm.threeDSMethod, threeDsForm.threeDSMethodData);
7277
+ }
7195
7278
  }
7196
7279
  /*
7197
7280
  * isNeedNotifyAfterLoad is need to send notification of dft to server
@@ -7218,11 +7301,14 @@ class DfpCollectService {
7218
7301
  }
7219
7302
  }
7220
7303
  /*
7221
- * This method will submit form in our iframe
7304
+ * This method will submit form in our iframe. Form will be created, if it's don't exist
7222
7305
  * */
7223
7306
  postFormToIframe(url, threeDsMethod) {
7224
- const form = this.createForm();
7225
- this.window.document.body.appendChild(form);
7307
+ let form = this.window.document.getElementById(this.formName);
7308
+ if (!form) {
7309
+ form = this.createForm();
7310
+ this.window.document.body.appendChild(form);
7311
+ }
7226
7312
  form.setAttribute('action', url);
7227
7313
  form.setAttribute('target', this.iframeName);
7228
7314
  form.appendChild(this.createInput('threeDSMethodData', threeDsMethod));
@@ -7764,6 +7850,9 @@ class PaymentService {
7764
7850
  this.isSubmitAttempted = false;
7765
7851
  this.listenFinanceDetails();
7766
7852
  this.config = config;
7853
+ if (config.country) {
7854
+ this.countryService.setCountry(config.country);
7855
+ }
7767
7856
  this.data = await this.initializeService.request(config);
7768
7857
  this.initializeBehaviourStrategies();
7769
7858
  this.emitFormResponse(this.data);
@@ -7783,8 +7872,13 @@ class PaymentService {
7783
7872
  this.emitFinanceDetails(this.data.paymentForm?.summary);
7784
7873
  this.emitFormFieldsStatus(this.form);
7785
7874
  this.emitFormMessages(this.getInitializeMessages());
7875
+ const excludedFields = [
7876
+ FieldNames.koreaLimitsInstruction,
7877
+ FieldNames.koreaCashReceiptInstruction,
7878
+ ];
7786
7879
  return {
7787
- fields: this.fields.filter((field) => field?.isVisible === "1" /* XpsBoolean.true */),
7880
+ fields: this.fields.filter((field) => field?.isVisible === "1" /* XpsBoolean.true */ &&
7881
+ !excludedFields.includes(field?.name)),
7788
7882
  isFormAutoSubmitted: isNeedAutoSubmit,
7789
7883
  nextAction: this.initializeNextActionService.getNextAction(this.data),
7790
7884
  };
@@ -8125,9 +8219,9 @@ class PaymentService {
8125
8219
  this._paymentForm$.next(status);
8126
8220
  });
8127
8221
  }
8128
- /*
8129
- * in case the form pid changes despite the one passed during initialization
8130
- * */
8222
+ /**
8223
+ * In case the form pid changes despite the one passed during initialization
8224
+ */
8131
8225
  updatePidConfig() {
8132
8226
  const currentPid = this.getPid();
8133
8227
  if (currentPid) {
@@ -8154,11 +8248,6 @@ class PaymentService {
8154
8248
  }
8155
8249
  getInitializeMessages() {
8156
8250
  const messages = this.data.paymentForm?.messages;
8157
- const koreaNotification = this.data.paymentForm
8158
- ?.koreaNotification;
8159
- if (koreaNotification) {
8160
- messages?.push({ code: '0', message: koreaNotification?.title });
8161
- }
8162
8251
  return messages ?? [];
8163
8252
  }
8164
8253
  canAutoSubmit() {
@@ -8332,7 +8421,7 @@ class LegalService {
8332
8421
  return this.settingsService.user?.local === 'ja';
8333
8422
  }
8334
8423
  get legalArea() {
8335
- const userCountry = this.countryService.userIpCountry;
8424
+ const userCountry = this.countryService.getCountry() || this.countryService.userIpCountry;
8336
8425
  switch (true) {
8337
8426
  case userCountry === 'US':
8338
8427
  return 'US';
@@ -8889,7 +8978,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8889
8978
  }] }] });
8890
8979
 
8891
8980
  class CoreLibraryService {
8892
- constructor(settingsService, loggerService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService, creditCardService, creditCardStateService, formMessagesService, editSavedMethodsService, userBehaviourAnalyticsService, performanceService, combinedPaymentMethodsService, countriesApiService, sendInstructionService, scriptTrackerService, translateService, commonLogAttributesService) {
8981
+ constructor(settingsService, loggerService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService, creditCardService, creditCardStateService, formMessagesService, editSavedMethodsService, userBehaviourAnalyticsService, performanceService, combinedPaymentMethodsService, countriesApiService, sendInstructionService, scriptTrackerService, translateService, commonLogAttributesService, capabilitiesService) {
8893
8982
  this.settingsService = settingsService;
8894
8983
  this.loggerService = loggerService;
8895
8984
  this.countryService = countryService;
@@ -8915,6 +9004,7 @@ class CoreLibraryService {
8915
9004
  this.scriptTrackerService = scriptTrackerService;
8916
9005
  this.translateService = translateService;
8917
9006
  this.commonLogAttributesService = commonLogAttributesService;
9007
+ this.capabilitiesService = capabilitiesService;
8918
9008
  this.paymentMethods = {
8919
9009
  getList: async (isSaveMethodMode) => this.paymentMethodsService.getList(isSaveMethodMode),
8920
9010
  getQuickMethods: async () => this.paymentMethodsService.getQuickMethods(),
@@ -8934,6 +9024,8 @@ class CoreLibraryService {
8934
9024
  }
8935
9025
  async init(configuration) {
8936
9026
  await this.settingsService.init(configuration);
9027
+ this.capabilitiesService.set(configuration.capabilities);
9028
+ this.paymentConfigService.setActiveConfig(null);
8937
9029
  this.performanceService.init();
8938
9030
  this.userBehaviourAnalyticsService.init();
8939
9031
  this.deviceFingerPrintService.init();
@@ -8944,9 +9036,6 @@ class CoreLibraryService {
8944
9036
  async getStatus(url) {
8945
9037
  return this.statusService.getStatusWithUrlSearchParams(url);
8946
9038
  }
8947
- stopStatusListening() {
8948
- this.statusService.stopListening();
8949
- }
8950
9039
  async calculateField(changedField, fields) {
8951
9040
  return this.paymentService.calculateField(changedField, fields);
8952
9041
  }
@@ -8983,6 +9072,7 @@ class CoreLibraryService {
8983
9072
  createPayment(config) {
8984
9073
  const enrichedConfig = this.paymentConfigService.enrich(config);
8985
9074
  this.paymentConfigService.updateReferByPaymentConfiguration(enrichedConfig);
9075
+ this.paymentConfigService.setActiveConfig(enrichedConfig);
8986
9076
  return {
8987
9077
  initialize: async () => this.paymentService.initialize(enrichedConfig),
8988
9078
  submit: async () => this.paymentService.submit(),
@@ -9060,7 +9150,7 @@ class CoreLibraryService {
9060
9150
  get commonLogAttributes() {
9061
9151
  return this.commonLogAttributesService.getAttributes();
9062
9152
  }
9063
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, deps: [{ token: SettingsService }, { token: LoggerService }, { token: CountryService }, { token: PaymentMethodsService }, { token: SavedMethodsService }, { token: UserBalanceService }, { token: PaymentConfigService }, { token: PaymentService }, { token: DeviceFingerPrintService }, { token: FinanceDetailsService }, { token: LegalService }, { token: StatusService }, { token: NextActionService }, { token: CreditCardService }, { token: CreditCardStateService }, { token: FormMessagesService }, { token: EditSavedMethodsService }, { token: UserBehaviourAnalyticsService }, { token: PerformanceService }, { token: CombinedPaymentMethodsService }, { token: CountriesApiService }, { token: SendInstructionService }, { token: ScriptTrackerService }, { token: i19.TranslateService }, { token: CommonLogAttributesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
9153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, deps: [{ token: SettingsService }, { token: LoggerService }, { token: CountryService }, { token: PaymentMethodsService }, { token: SavedMethodsService }, { token: UserBalanceService }, { token: PaymentConfigService }, { token: PaymentService }, { token: DeviceFingerPrintService }, { token: FinanceDetailsService }, { token: LegalService }, { token: StatusService }, { token: NextActionService }, { token: CreditCardService }, { token: CreditCardStateService }, { token: FormMessagesService }, { token: EditSavedMethodsService }, { token: UserBehaviourAnalyticsService }, { token: PerformanceService }, { token: CombinedPaymentMethodsService }, { token: CountriesApiService }, { token: SendInstructionService }, { token: ScriptTrackerService }, { token: i19.TranslateService }, { token: CommonLogAttributesService }, { token: CapabilitiesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
9064
9154
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, providedIn: 'root' }); }
9065
9155
  }
9066
9156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreLibraryService, decorators: [{
@@ -9068,7 +9158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
9068
9158
  args: [{
9069
9159
  providedIn: 'root',
9070
9160
  }]
9071
- }], ctorParameters: () => [{ type: SettingsService }, { type: LoggerService }, { type: CountryService }, { type: PaymentMethodsService }, { type: SavedMethodsService }, { type: UserBalanceService }, { type: PaymentConfigService }, { type: PaymentService }, { type: DeviceFingerPrintService }, { type: FinanceDetailsService }, { type: LegalService }, { type: StatusService }, { type: NextActionService }, { type: CreditCardService }, { type: CreditCardStateService }, { type: FormMessagesService }, { type: EditSavedMethodsService }, { type: UserBehaviourAnalyticsService }, { type: PerformanceService }, { type: CombinedPaymentMethodsService }, { type: CountriesApiService }, { type: SendInstructionService }, { type: ScriptTrackerService }, { type: i19.TranslateService }, { type: CommonLogAttributesService }] });
9161
+ }], ctorParameters: () => [{ type: SettingsService }, { type: LoggerService }, { type: CountryService }, { type: PaymentMethodsService }, { type: SavedMethodsService }, { type: UserBalanceService }, { type: PaymentConfigService }, { type: PaymentService }, { type: DeviceFingerPrintService }, { type: FinanceDetailsService }, { type: LegalService }, { type: StatusService }, { type: NextActionService }, { type: CreditCardService }, { type: CreditCardStateService }, { type: FormMessagesService }, { type: EditSavedMethodsService }, { type: UserBehaviourAnalyticsService }, { type: PerformanceService }, { type: CombinedPaymentMethodsService }, { type: CountriesApiService }, { type: SendInstructionService }, { type: ScriptTrackerService }, { type: i19.TranslateService }, { type: CommonLogAttributesService }, { type: CapabilitiesService }] });
9072
9162
 
9073
9163
  class HttpExceptionsInterceptor {
9074
9164
  constructor(router) {
@@ -10247,6 +10337,7 @@ const agreementsGroup = [
10247
10337
  FieldNames.rockstarTaxes,
10248
10338
  FieldNames.omnibusDirective,
10249
10339
  FieldNames.koreaLimitsInstruction,
10340
+ FieldNames.koreaCashReceiptInstruction,
10250
10341
  ];
10251
10342
 
10252
10343
  class ApplePayParamsBuilderService {