@xsolla/payment-client-core 0.2.86 → 0.2.88

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.
@@ -197,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
197
197
  providedIn: 'root',
198
198
  }]
199
199
  }], 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 }] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXdEM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTdEUsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFDbUIsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDNUIsY0FBOEIsRUFDOUIscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsb0JBQTBDLEVBQzFDLGNBQThCLEVBQzlCLHdCQUFrRCxFQUNsRCxxQkFBNEMsRUFDNUMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsaUJBQW9DLEVBQ3BDLGlCQUFvQyxFQUNwQyxzQkFBOEMsRUFDOUMsbUJBQXdDLEVBQ3hDLHVCQUFnRCxFQUNoRCw2QkFBNEQsRUFDNUQsa0JBQXNDLEVBQ3RDLDZCQUE0RCxFQUM1RCxtQkFBd0MsRUFDeEMsc0JBQThDLEVBQzlDLG9CQUEwQyxFQUMxQyxnQkFBa0MsRUFDbEMsMEJBQXNEO1FBeEJ0RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FB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QUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyw0QkFBNEI7UUFDckMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDOzhHQS9OVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZCB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VSZXNwb25zZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvcmUvbGVnYWwvbGVnYWwuY29tcG9uZW50LmNvbmZpZyc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRUeXBlcyB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC10eXBlcy5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmQgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhbGFuY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvYmFsYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tbWVzc2FnZXMvZm9ybS1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2VkaXQtc2F2ZWQtbWV0aG9kcy9lZGl0LXNhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNka1BheW1lbnRTeXN0ZW1zIH0gZnJvbSAnLi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvc2RrLXBheW1lbnQtc3lzdGVtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBlcmZvcm1hbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IENvbWJpbmVkUGF5bWVudE1ldGhvZHMgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cmllc0FwaVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyaWVzLWFwaS9jb3VudHJpZXMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cmllcy1hcGkvY291bnRyeS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FzaFBheW1lbnREYXRhIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY2FzaC1wYXltZW50LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9zZW5kLWluc3RydWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9yZXNwb25zZS9zZW5kLWluc3RydWN0aW9uLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vc2VuZC1pbnN0cnVjdGlvbi1wYXJhbWV0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTY3JpcHRUcmFja2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9zY3JpcHQtdHJhY2tlci9zY3JpcHQtdHJhY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQveHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVIZWxwZXIgfSBmcm9tICcuL3NoYXJlZC90cmFuc2xhdGUvdHJhbnNsYXRlLmhlbHBlcic7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzIH0gZnJvbSAnLi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvY29tbW9uLWxvZy1hdHRyaWJ1dGVzL2NvbW1vbi1sb2ctYXR0cmlidXRlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nSGFuZGxlciB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2ctaGFuZGxlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTGlicmFyeVNlcnZpY2Uge1xuICBwdWJsaWMgcGF5bWVudE1ldGhvZHMgPSB7XG4gICAgZ2V0TGlzdDogYXN5bmMgKGlzU2F2ZU1ldGhvZE1vZGU/OiBib29sZWFuKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzU2VydmljZS5nZXRMaXN0KGlzU2F2ZU1ldGhvZE1vZGUpLFxuXG4gICAgZ2V0UXVpY2tNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzU2VydmljZS5nZXRRdWlja01ldGhvZHMoKSxcbiAgICBnZXRTYXZlZE1ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFNhdmVkTWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnNhdmVkTWV0aG9kc1NlcnZpY2UuZ2V0TGlzdCgpLFxuICAgIGdldENvbWJpbmVkUGF5bWVudE1ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPENvbWJpbmVkUGF5bWVudE1ldGhvZHM+ID0+XG4gICAgICB0aGlzLmNvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldENvbWJpbmVkUGF5bWVudE1ldGhvZHMoKSxcbiAgICBnZXRVc2VyQmFsYW5jZTogYXN5bmMgKCk6IFByb21pc2U8VXNlckJhbGFuY2VSZXNwb25zZT4gPT5cbiAgICAgIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlKCksXG4gICAgZGVsZXRlU2F2ZWRNZXRob2Q6IGFzeW5jIChpZDogbnVtYmVyLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+ID0+XG4gICAgICB0aGlzLmVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlLmRlbGV0ZVNhdmVkTWV0aG9kUmVxdWVzdChpZCwgdHlwZSksXG4gIH07XG5cbiAgcHVibGljIHNka1BheW1lbnRTeXN0ZW1zOiBTZGtQYXltZW50U3lzdGVtcyA9IHtcbiAgICBnZXRJbml0aWFsRGF0YTogYXN5bmMgKCkgPT5cbiAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0SW5pdGlhbERhdGFGb3JTZGtQYXltZW50U3lzdGVtcygpLFxuICB9O1xuXG4gIHB1YmxpYyBmaW5hbmNlID0ge1xuICAgIGdldERldGFpbHNGcm9tU3VtbWFyeTogKHN1bW1hcnk6IFhwc1N1bW1hcnkpOiBGaW5hbmNlRGV0YWlscyA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZ2V0RGV0YWlsc0Zyb21TdW1tYXJ5KHN1bW1hcnkpO1xuICAgIH0sXG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZE1ldGhvZHNTZXJ2aWNlOiBTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJhbGFuY2VTZXJ2aWNlOiBVc2VyQmFsYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50Q29uZmlnU2VydmljZTogUGF5bWVudENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VGaW5nZXJQcmludFNlcnZpY2U6IERldmljZUZpbmdlclByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFNlcnZpY2U6IENyZWRpdENhcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFN0YXRlU2VydmljZTogQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NZXNzYWdlc1NlcnZpY2U6IEZvcm1NZXNzYWdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0U2F2ZWRNZXRob2RzU2VydmljZTogRWRpdFNhdmVkTWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJmb3JtYW5jZVNlcnZpY2U6IFBlcmZvcm1hbmNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBDb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cmllc0FwaVNlcnZpY2U6IENvdW50cmllc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlOiBTZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2NyaXB0VHJhY2tlclNlcnZpY2U6IFNjcmlwdFRyYWNrZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlOiBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXQoY29uZmlndXJhdGlvbjogSW5pdENvbmZpZ3VyYXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzU2VydmljZS5pbml0KGNvbmZpZ3VyYXRpb24pO1xuICAgIHRoaXMucGVyZm9ybWFuY2VTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZS5pbml0KCk7XG4gICAgdGhpcy5zY3JpcHRUcmFja2VyU2VydmljZS5pbml0U2NyaXB0VHJhY2tpbmcoY29uZmlndXJhdGlvbi5lbnZpcm9ubWVudCk7XG4gICAgVHJhbnNsYXRlSGVscGVyLmluaXQodGhpcy50cmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKFRyYW5zbGF0ZUhlbHBlci5nZXRMb2NhbGUoY29uZmlndXJhdGlvbi5sb2NhbGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXModXJsPzogc3RyaW5nKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNTZXJ2aWNlLmdldFN0YXR1c1dpdGhVcmxTZWFyY2hQYXJhbXModXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYWxjdWxhdGVGaWVsZChcbiAgICBjaGFuZ2VkRmllbGQ6IEZpZWxkLFxuICAgIGZpZWxkczogRmllbGRbXVxuICApOiBQcm9taXNlPFN5bmNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkKGNoYW5nZWRGaWVsZCwgZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdWJtaXQoZmllbGRzOiBGaWVsZFtdKTogUHJvbWlzZTxTdWJtaXRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdFdpdGhGaWVsZHMoZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQW5hbHl0aWNzKFxuICAgIGFjdGlvbjogc3RyaW5nLFxuICAgIHR5cGU6IGtleW9mIHR5cGVvZiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyxcbiAgICBvcHRpb25zPzogU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZVxuICApOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoYWN0aW9uLCB0eXBlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRckNvZGVJbml0aWFsRGF0YSgpOiB7XG4gICAgcXJDb2RlOiBzdHJpbmc7XG4gICAgcGlkOiBudW1iZXIgfCBudWxsO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgcXJDb2RlOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFFyQ29kZSgpLFxuICAgICAgcGlkOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzaFBheW1lbnREYXRhKCk6IENhc2hQYXltZW50RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q2FzaFBheW1lbnREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhFbWFpbChcbiAgICBwYXJhbXM6IFNlbmRJbnN0cnVjdGlvblBhcmFtZXRlcnNJbnRlcmZhY2VcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aEVtYWlsKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhTbXMoXG4gICAgcGFyYW1zOiBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlXG4gICk6IFByb21pc2U8U2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2U+IHtcbiAgICByZXR1cm4gdGhpcy5zZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLnNlbmRJbnN0cnVjdGlvbldpdGhTbXMocGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDb3VudHJpZXMoKTogUHJvbWlzZTxDb3VudHJ5UmVzcG9uc2VbJ2NvdW50cnlMaXN0J10+IHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXNBcGlTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb3VudHJ5KGNvdW50cnk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY291bnRyeVNlcnZpY2Uuc2V0Q291bnRyeShjb3VudHJ5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRyeVNlcnZpY2UuZ2V0Q291bnRyeSgpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVBheW1lbnQoY29uZmlnOiBQYXltZW50Q29uZmlndXJhdGlvbik6IFBheW1lbnQge1xuICAgIGNvbnN0IGVucmljaGVkQ29uZmlnID0gdGhpcy5wYXltZW50Q29uZmlnU2VydmljZS5lbnJpY2goY29uZmlnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsaXplOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmluaXRpYWxpemUoZW5yaWNoZWRDb25maWcpLFxuICAgICAgc3VibWl0OiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdCgpLFxuICAgICAgZ2V0RmllbGRzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkcygpLFxuICAgICAgZ2V0UGlkOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgICAgZ2V0U3VibWl0QnV0dG9uVGV4dDogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdWJtaXRCdXR0b25UZXh0KCksXG4gICAgICB2YWxpZGF0ZTogYXN5bmMgKGZpZWxkOiBGaWVsZCkgPT4gdGhpcy5wYXltZW50U2VydmljZS52YWxpZGF0ZShmaWVsZCksXG4gICAgICBnZXRGaW5hbmNlRGV0YWlsczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaW5hbmNlRGV0YWlscygpLFxuICAgICAgcnVuVGhyZWVEczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5ydW5UaHJlZURzKCksXG4gICAgICBnZXRTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3RhdHVzKCksXG4gICAgICBsaXN0ZW5GaW5hbFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5saXN0ZW5GaW5hbFN0YXR1cygpLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGZpZWxkc1N0YXR1cyQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybUZpZWxkc1N0YXR1cyQsXG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgZXh0ZXJuYWxDaGFuZ2VGaWVsZFZhbHVlOiAobmFtZTogRmllbGROYW1lcywgdmFsdWU6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmV4dGVybmFsQ2hhbmdlRmllbGRWYWx1ZShuYW1lLCB2YWx1ZSksXG4gICAgICAgIGNoYW5nZUZpZWxkU3RhdGU6IChuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkU3RhdGUobmFtZSwgc3RhdGUpLFxuICAgICAgICB1cGRhdGVGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSwgZm9ybVN0YXRlKSxcbiAgICAgICAgZ2V0RmllbGRGb3JtU3RhdGU6IChmaWVsZE5hbWU6IEZpZWxkTmFtZXMpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWUpLFxuICAgICAgICBmb3JtTWVzc2FnZXMkOiB0aGlzLmZvcm1NZXNzYWdlc1NlcnZpY2UuZGF0YSQsXG4gICAgICAgIGNhcmRUeXBlVXBkYXRlcyQ6IHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJCxcbiAgICAgICAgZ2V0Rm9ybVN0YXR1czogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtPy5zdGF0dXMsXG4gICAgICAgIGdldENvbnRyb2xTdGF0dXM6IChuYW1lOiBGaWVsZE5hbWVzKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q29udHJvbFN0YXR1cyhuYW1lKSxcbiAgICAgIH0sXG4gICAgICBhZGRFeHRyYUZpZWxkOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCA9PlxuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmFkZEV4dHJhRmllbGQobmFtZSwgdmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3JlZGl0Q2FyZFNlcnZpY2UoKTogQ3JlZGl0Q2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFR5cGVCeU51bWJlcjogKGNhcmROdW1iZXI6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRUeXBlQnlOdW1iZXIoY2FyZE51bWJlciksXG4gICAgICBnZXRDcmVkaXRDYXJkU2V0dGluZ3M6IChjYXJkVHlwZTogQ3JlZGl0Q2FyZFR5cGVzKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldENyZWRpdENhcmRTZXR0aW5ncyhjYXJkVHlwZSksXG4gICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxvd1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8TmV4dEFjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmZsb3dVcGRhdGVzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmluYW5jZURldGFpbHNVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPEZpbmFuY2VEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJkVHlwZVVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Q3JlZGl0Q2FyZFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWdhbENvbXBvbmVudENvbmZpZyhwaWQ/OiBudW1iZXIpOiBMZWdhbENvbXBvbmVudENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMubGVnYWxTZXJ2aWNlLmdldExlZ2FsQ29tcG9uZW50Q29uZmlnKHBpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlckJhbGFuY2VWYWx1ZSgpOiBCYWxhbmNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckxvZ0hhbmRsZXIoaGFuZGxlcjogTG9nSGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyU2VydmljZS5yZWdpc3RlcihoYW5kbGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudEZvcm0kKCk6IE9ic2VydmFibGU8Rm9ybUNvbnRyb2xTdGF0dXMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UucGF5bWVudEZvcm0kO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2UkKCk6IE9ic2VydmFibGU8Rm9ybVJlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1SZXNwb25zZVZhbHVlKCk6IEZvcm1SZXNwb25zZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3BMZXZlbERvbWFpbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS50b3BMZXZlbERvbWFpbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tbW9uTG9nQXR0cmlidXRlcygpOiBDb21tb25Mb2dBdHRyaWJ1dGVzIHtcbiAgICByZXR1cm4gdGhpcy5jb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZS5nZXRBdHRyaWJ1dGVzKCk7XG4gIH1cbn1cbiJdfQ==
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXdEM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTdEUsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFDbUIsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDNUIsY0FBOEIsRUFDOUIscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsb0JBQTBDLEVBQzFDLGNBQThCLEVBQzlCLHdCQUFrRCxFQUNsRCxxQkFBNEMsRUFDNUMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsaUJBQW9DLEVBQ3BDLGlCQUFvQyxFQUNwQyxzQkFBOEMsRUFDOUMsbUJBQXdDLEVBQ3hDLHVCQUFnRCxFQUNoRCw2QkFBNEQsRUFDNUQsa0JBQXNDLEVBQ3RDLDZCQUE0RCxFQUM1RCxtQkFBd0MsRUFDeEMsc0JBQThDLEVBQzlDLG9CQUEwQyxFQUMxQyxnQkFBa0MsRUFDbEMsMEJBQXNEO1FBeEJ0RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FB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QUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyw0QkFBNEI7UUFDckMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDOzhHQWxPVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZCB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VSZXNwb25zZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvcmUvbGVnYWwvbGVnYWwuY29tcG9uZW50LmNvbmZpZyc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRUeXBlcyB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC10eXBlcy5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmQgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhbGFuY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvYmFsYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tbWVzc2FnZXMvZm9ybS1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2VkaXQtc2F2ZWQtbWV0aG9kcy9lZGl0LXNhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNka1BheW1lbnRTeXN0ZW1zIH0gZnJvbSAnLi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvc2RrLXBheW1lbnQtc3lzdGVtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBlcmZvcm1hbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IENvbWJpbmVkUGF5bWVudE1ldGhvZHMgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cmllc0FwaVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyaWVzLWFwaS9jb3VudHJpZXMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cmllcy1hcGkvY291bnRyeS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FzaFBheW1lbnREYXRhIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY2FzaC1wYXltZW50LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9zZW5kLWluc3RydWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9yZXNwb25zZS9zZW5kLWluc3RydWN0aW9uLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vc2VuZC1pbnN0cnVjdGlvbi1wYXJhbWV0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTY3JpcHRUcmFja2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9zY3JpcHQtdHJhY2tlci9zY3JpcHQtdHJhY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQveHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVIZWxwZXIgfSBmcm9tICcuL3NoYXJlZC90cmFuc2xhdGUvdHJhbnNsYXRlLmhlbHBlcic7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzIH0gZnJvbSAnLi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvY29tbW9uLWxvZy1hdHRyaWJ1dGVzL2NvbW1vbi1sb2ctYXR0cmlidXRlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nSGFuZGxlciB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2ctaGFuZGxlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTGlicmFyeVNlcnZpY2Uge1xuICBwdWJsaWMgcGF5bWVudE1ldGhvZHMgPSB7XG4gICAgZ2V0TGlzdDogYXN5bmMgKGlzU2F2ZU1ldGhvZE1vZGU/OiBib29sZWFuKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzU2VydmljZS5nZXRMaXN0KGlzU2F2ZU1ldGhvZE1vZGUpLFxuXG4gICAgZ2V0UXVpY2tNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzU2VydmljZS5nZXRRdWlja01ldGhvZHMoKSxcbiAgICBnZXRTYXZlZE1ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFNhdmVkTWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnNhdmVkTWV0aG9kc1NlcnZpY2UuZ2V0TGlzdCgpLFxuICAgIGdldENvbWJpbmVkUGF5bWVudE1ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPENvbWJpbmVkUGF5bWVudE1ldGhvZHM+ID0+XG4gICAgICB0aGlzLmNvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldENvbWJpbmVkUGF5bWVudE1ldGhvZHMoKSxcbiAgICBnZXRVc2VyQmFsYW5jZTogYXN5bmMgKCk6IFByb21pc2U8VXNlckJhbGFuY2VSZXNwb25zZT4gPT5cbiAgICAgIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlKCksXG4gICAgZGVsZXRlU2F2ZWRNZXRob2Q6IGFzeW5jIChpZDogbnVtYmVyLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+ID0+XG4gICAgICB0aGlzLmVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlLmRlbGV0ZVNhdmVkTWV0aG9kUmVxdWVzdChpZCwgdHlwZSksXG4gIH07XG5cbiAgcHVibGljIHNka1BheW1lbnRTeXN0ZW1zOiBTZGtQYXltZW50U3lzdGVtcyA9IHtcbiAgICBnZXRJbml0aWFsRGF0YTogYXN5bmMgKCkgPT5cbiAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0SW5pdGlhbERhdGFGb3JTZGtQYXltZW50U3lzdGVtcygpLFxuICB9O1xuXG4gIHB1YmxpYyBmaW5hbmNlID0ge1xuICAgIGdldERldGFpbHNGcm9tU3VtbWFyeTogKHN1bW1hcnk6IFhwc1N1bW1hcnkpOiBGaW5hbmNlRGV0YWlscyA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZ2V0RGV0YWlsc0Zyb21TdW1tYXJ5KHN1bW1hcnkpO1xuICAgIH0sXG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZE1ldGhvZHNTZXJ2aWNlOiBTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJhbGFuY2VTZXJ2aWNlOiBVc2VyQmFsYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50Q29uZmlnU2VydmljZTogUGF5bWVudENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VGaW5nZXJQcmludFNlcnZpY2U6IERldmljZUZpbmdlclByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFNlcnZpY2U6IENyZWRpdENhcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFN0YXRlU2VydmljZTogQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NZXNzYWdlc1NlcnZpY2U6IEZvcm1NZXNzYWdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0U2F2ZWRNZXRob2RzU2VydmljZTogRWRpdFNhdmVkTWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJmb3JtYW5jZVNlcnZpY2U6IFBlcmZvcm1hbmNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBDb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cmllc0FwaVNlcnZpY2U6IENvdW50cmllc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlOiBTZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2NyaXB0VHJhY2tlclNlcnZpY2U6IFNjcmlwdFRyYWNrZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlOiBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXQoY29uZmlndXJhdGlvbjogSW5pdENvbmZpZ3VyYXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzU2VydmljZS5pbml0KGNvbmZpZ3VyYXRpb24pO1xuICAgIHRoaXMucGVyZm9ybWFuY2VTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZS5pbml0KCk7XG4gICAgdGhpcy5zY3JpcHRUcmFja2VyU2VydmljZS5pbml0U2NyaXB0VHJhY2tpbmcoY29uZmlndXJhdGlvbi5lbnZpcm9ubWVudCk7XG4gICAgVHJhbnNsYXRlSGVscGVyLmluaXQodGhpcy50cmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKFRyYW5zbGF0ZUhlbHBlci5nZXRMb2NhbGUoY29uZmlndXJhdGlvbi5sb2NhbGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXModXJsPzogc3RyaW5nKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNTZXJ2aWNlLmdldFN0YXR1c1dpdGhVcmxTZWFyY2hQYXJhbXModXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYWxjdWxhdGVGaWVsZChcbiAgICBjaGFuZ2VkRmllbGQ6IEZpZWxkLFxuICAgIGZpZWxkczogRmllbGRbXVxuICApOiBQcm9taXNlPFN5bmNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkKGNoYW5nZWRGaWVsZCwgZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdWJtaXQoZmllbGRzOiBGaWVsZFtdKTogUHJvbWlzZTx7XG4gICAgcmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlO1xuICAgIG5leHRBY3Rpb246IE5leHRBY3Rpb24gfCBudWxsIHwgdm9pZDtcbiAgfT4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdFdpdGhGaWVsZHMoZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQW5hbHl0aWNzKFxuICAgIGFjdGlvbjogc3RyaW5nLFxuICAgIHR5cGU6IGtleW9mIHR5cGVvZiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyxcbiAgICBvcHRpb25zPzogU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZVxuICApOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoYWN0aW9uLCB0eXBlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRckNvZGVJbml0aWFsRGF0YSgpOiB7XG4gICAgcXJDb2RlOiBzdHJpbmc7XG4gICAgcGlkOiBudW1iZXIgfCBudWxsO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgcXJDb2RlOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFFyQ29kZSgpLFxuICAgICAgcGlkOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzaFBheW1lbnREYXRhKCk6IENhc2hQYXltZW50RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q2FzaFBheW1lbnREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhFbWFpbChcbiAgICBwYXJhbXM6IFNlbmRJbnN0cnVjdGlvblBhcmFtZXRlcnNJbnRlcmZhY2VcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aEVtYWlsKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhTbXMoXG4gICAgcGFyYW1zOiBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlXG4gICk6IFByb21pc2U8U2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2U+IHtcbiAgICByZXR1cm4gdGhpcy5zZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLnNlbmRJbnN0cnVjdGlvbldpdGhTbXMocGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDb3VudHJpZXMoKTogUHJvbWlzZTxDb3VudHJ5UmVzcG9uc2VbJ2NvdW50cnlMaXN0J10+IHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXNBcGlTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb3VudHJ5KGNvdW50cnk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY291bnRyeVNlcnZpY2Uuc2V0Q291bnRyeShjb3VudHJ5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRyeVNlcnZpY2UuZ2V0Q291bnRyeSgpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVBheW1lbnQoY29uZmlnOiBQYXltZW50Q29uZmlndXJhdGlvbik6IFBheW1lbnQge1xuICAgIGNvbnN0IGVucmljaGVkQ29uZmlnID0gdGhpcy5wYXltZW50Q29uZmlnU2VydmljZS5lbnJpY2goY29uZmlnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsaXplOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmluaXRpYWxpemUoZW5yaWNoZWRDb25maWcpLFxuICAgICAgc3VibWl0OiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdCgpLFxuICAgICAgZ2V0RmllbGRzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkcygpLFxuICAgICAgZ2V0UGlkOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgICAgZ2V0U3VibWl0QnV0dG9uVGV4dDogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdWJtaXRCdXR0b25UZXh0KCksXG4gICAgICB2YWxpZGF0ZTogYXN5bmMgKGZpZWxkOiBGaWVsZCkgPT4gdGhpcy5wYXltZW50U2VydmljZS52YWxpZGF0ZShmaWVsZCksXG4gICAgICBnZXRGaW5hbmNlRGV0YWlsczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaW5hbmNlRGV0YWlscygpLFxuICAgICAgcnVuVGhyZWVEczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5ydW5UaHJlZURzKCksXG4gICAgICBnZXRTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3RhdHVzKCksXG4gICAgICBsaXN0ZW5GaW5hbFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5saXN0ZW5GaW5hbFN0YXR1cygpLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGZpZWxkc1N0YXR1cyQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybUZpZWxkc1N0YXR1cyQsXG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgZXh0ZXJuYWxDaGFuZ2VGaWVsZFZhbHVlOiAobmFtZTogRmllbGROYW1lcywgdmFsdWU6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmV4dGVybmFsQ2hhbmdlRmllbGRWYWx1ZShuYW1lLCB2YWx1ZSksXG4gICAgICAgIGNoYW5nZUZpZWxkU3RhdGU6IChuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkU3RhdGUobmFtZSwgc3RhdGUpLFxuICAgICAgICB1cGRhdGVGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSwgZm9ybVN0YXRlKSxcbiAgICAgICAgZ2V0RmllbGRGb3JtU3RhdGU6IChmaWVsZE5hbWU6IEZpZWxkTmFtZXMpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWUpLFxuICAgICAgICBmb3JtTWVzc2FnZXMkOiB0aGlzLmZvcm1NZXNzYWdlc1NlcnZpY2UuZGF0YSQsXG4gICAgICAgIGNhcmRUeXBlVXBkYXRlcyQ6IHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJCxcbiAgICAgICAgZ2V0Rm9ybVN0YXR1czogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtPy5zdGF0dXMsXG4gICAgICAgIGdldENvbnRyb2xTdGF0dXM6IChuYW1lOiBGaWVsZE5hbWVzKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q29udHJvbFN0YXR1cyhuYW1lKSxcbiAgICAgIH0sXG4gICAgICBhZGRFeHRyYUZpZWxkOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCA9PlxuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmFkZEV4dHJhRmllbGQobmFtZSwgdmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3JlZGl0Q2FyZFNlcnZpY2UoKTogQ3JlZGl0Q2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFR5cGVCeU51bWJlcjogKGNhcmROdW1iZXI6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRUeXBlQnlOdW1iZXIoY2FyZE51bWJlciksXG4gICAgICBnZXRDcmVkaXRDYXJkU2V0dGluZ3M6IChjYXJkVHlwZTogQ3JlZGl0Q2FyZFR5cGVzKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldENyZWRpdENhcmRTZXR0aW5ncyhjYXJkVHlwZSksXG4gICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxvd1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8TmV4dEFjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmZsb3dVcGRhdGVzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmluYW5jZURldGFpbHNVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPEZpbmFuY2VEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJkVHlwZVVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Q3JlZGl0Q2FyZFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWdhbENvbXBvbmVudENvbmZpZyhwaWQ/OiBudW1iZXIpOiBMZWdhbENvbXBvbmVudENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMubGVnYWxTZXJ2aWNlLmdldExlZ2FsQ29tcG9uZW50Q29uZmlnKHBpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlckJhbGFuY2VWYWx1ZSgpOiBCYWxhbmNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckxvZ0hhbmRsZXIoaGFuZGxlcjogTG9nSGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyU2VydmljZS5yZWdpc3RlcihoYW5kbGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudEZvcm0kKCk6IE9ic2VydmFibGU8Rm9ybUNvbnRyb2xTdGF0dXMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UucGF5bWVudEZvcm0kO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2UkKCk6IE9ic2VydmFibGU8Rm9ybVJlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1SZXNwb25zZVZhbHVlKCk6IEZvcm1SZXNwb25zZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3BMZXZlbERvbWFpbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS50b3BMZXZlbERvbWFpbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tbW9uTG9nQXR0cmlidXRlcygpOiBDb21tb25Mb2dBdHRyaWJ1dGVzIHtcbiAgICByZXR1cm4gdGhpcy5jb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZS5nZXRBdHRyaWJ1dGVzKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1353,6 +1353,7 @@ var FieldNames;
1353
1353
  FieldNames["payViaCheckoutUrl"] = "payViaCheckoutUrl";
1354
1354
  FieldNames["googlePayInitData"] = "googlePayInitData";
1355
1355
  FieldNames["googlePayPaymentData"] = "googlePayPaymentData";
1356
+ FieldNames["googlePay3dsRedirect"] = "googlePay3DSRedirect";
1356
1357
  FieldNames["externalCardIssuerCountry"] = "externalCardIssuerCountry";
1357
1358
  })(FieldNames || (FieldNames = {}));
1358
1359
 
@@ -1492,11 +1493,11 @@ const overrideFieldConfigs = {
1492
1493
 
1493
1494
  const getRestoreAllowSaveRule = (fieldName) => ({
1494
1495
  description: `Restore ${fieldName} field value entered by user before submit`,
1495
- apply: (submitResponse, form) => {
1496
- const control = form?.get(fieldName);
1497
- if (!control)
1496
+ apply: (submitResponse, fieldValueMap) => {
1497
+ const value = fieldValueMap.get(fieldName);
1498
+ if (!fieldValueMap.has(fieldName) || value === undefined)
1498
1499
  return;
1499
- submitResponse.setFieldValue(fieldName, control.value);
1500
+ submitResponse.setFieldValue(fieldName, value);
1500
1501
  },
1501
1502
  });
1502
1503
  const updateAfterErrorRules = [
@@ -1505,14 +1506,14 @@ const updateAfterErrorRules = [
1505
1506
  getRestoreAllowSaveRule(FieldNames.allowRecurrentSubscription),
1506
1507
  {
1507
1508
  description: 'Restore zip field value entered by user before submit if no zip value in response',
1508
- apply: (submitResponse, form) => {
1509
+ apply: (submitResponse, fieldValueMap) => {
1509
1510
  const valueInResponse = submitResponse.getFieldValue(FieldNames.zip);
1510
1511
  if (valueInResponse)
1511
1512
  return;
1512
- const control = form?.get(FieldNames.zip);
1513
- if (!control?.value)
1513
+ const value = fieldValueMap.get(FieldNames.zip);
1514
+ if (!fieldValueMap.has(FieldNames.zip) || value === undefined)
1514
1515
  return;
1515
- submitResponse.setFieldValue(FieldNames.zip, control.value);
1516
+ submitResponse.setFieldValue(FieldNames.zip, value);
1516
1517
  },
1517
1518
  },
1518
1519
  {
@@ -1688,13 +1689,6 @@ class RedirectActionCreator {
1688
1689
  return (response.currentCommand === XpsCommand.checkout &&
1689
1690
  Boolean(response.parameters.checkout));
1690
1691
  }
1691
- getRedirect(submitResponse) {
1692
- return {
1693
- redirectUrl: this.getRedirectUrl(submitResponse),
1694
- isNewWindowRequired: this.getIsNewWindowRequired(submitResponse),
1695
- data: submitResponse.parameters.checkout.data,
1696
- };
1697
- }
1698
1692
  getRedirectUrl(submitResponse) {
1699
1693
  const responseRedirectUrl = submitResponse.parameters.checkout.action;
1700
1694
  const pid = submitResponse?.fields?.find(({ name }) => name === 'fix_pid')?.value;
@@ -1707,6 +1701,13 @@ class RedirectActionCreator {
1707
1701
  }
1708
1702
  return this.preparePagesUrl(pagesPath);
1709
1703
  }
1704
+ getRedirect(submitResponse) {
1705
+ return {
1706
+ redirectUrl: this.getRedirectUrl(submitResponse),
1707
+ isNewWindowRequired: this.getIsNewWindowRequired(submitResponse),
1708
+ data: submitResponse.parameters.checkout?.data ?? {},
1709
+ };
1710
+ }
1710
1711
  getIsNewWindowRequired(submitResponse) {
1711
1712
  if (!cardsWith3ds.has(submitResponse?.parameters?.pid)) {
1712
1713
  return false;
@@ -2122,8 +2123,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
2122
2123
  type: Injectable
2123
2124
  }] });
2124
2125
 
2126
+ class GoogleThreeDsRedirectActionCreator extends RedirectActionCreator {
2127
+ isSuitable(response) {
2128
+ return (response.currentCommand === XpsCommand.checkout &&
2129
+ !response.parameters.checkout &&
2130
+ Boolean(response.parameters.form?.googlePay3DSRedirect?.value));
2131
+ }
2132
+ getRedirectUrl(submitResponse) {
2133
+ return (String(submitResponse.parameters.form?.googlePay3DSRedirect?.value) ?? '');
2134
+ }
2135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: GoogleThreeDsRedirectActionCreator, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2136
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: GoogleThreeDsRedirectActionCreator }); }
2137
+ }
2138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: GoogleThreeDsRedirectActionCreator, decorators: [{
2139
+ type: Injectable
2140
+ }] });
2141
+
2125
2142
  const nextActionsToken = new InjectionToken('Action');
2143
+ // The order of strategies is important
2126
2144
  const nextActions = [
2145
+ GoogleThreeDsRedirectActionCreator,
2127
2146
  ShowFieldsActionCreator,
2128
2147
  CheckStatusActionCreator,
2129
2148
  SpecialButtonActionCreator,
@@ -7390,7 +7409,10 @@ class PaymentService {
7390
7409
  this.fields = this.getFields();
7391
7410
  this.form = this.formService.createForm(this.fields);
7392
7411
  this.syncService.setup(this.form, this.fields, this.config);
7393
- return submitResponse;
7412
+ return {
7413
+ response: submitResponse,
7414
+ nextAction: this.nextActionService.getNextAction(submitResponse),
7415
+ };
7394
7416
  }
7395
7417
  setupInitialFieldValues() {
7396
7418
  const fieldsToOverride = this.config.overrideFormFields;
@@ -7746,7 +7768,14 @@ class PaymentService {
7746
7768
  handleSubmitWithErrors(submitResponse) {
7747
7769
  if (!submitResponse.errors?.length)
7748
7770
  return;
7749
- updateAfterErrorRules.forEach((rule) => rule.apply(submitResponse, this.form));
7771
+ const fieldsMap = this.fields.reduce((map, field) => {
7772
+ if (field.value !== null) {
7773
+ const fieldValue = this.form?.get(field.name)?.value ?? field.value;
7774
+ map.set(field.name, fieldValue);
7775
+ }
7776
+ return map;
7777
+ }, new Map());
7778
+ updateAfterErrorRules.forEach((rule) => rule.apply(submitResponse, fieldsMap));
7750
7779
  }
7751
7780
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentService, deps: [{ token: LoggerService }, { token: InitializeService }, { token: SubmitService }, { token: SyncService }, { token: FormService }, { token: StatusService }, { token: FinanceDetailsService }, { token: CreditCardStateService }, { token: NextActionService }, { token: InitializeNextActionService }, { token: ControlConfigService }, { token: ThreeDsService }, { token: FormMessagesService }, { token: SettingsService }, { token: CountryService }, { token: CheckStatusActionCreator }, { token: PrintInstructionService }, { token: PaymentBehaviourService }, { token: i19.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
7752
7781
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentService, providedIn: 'root' }); }