@xsolla/payment-client-core 0.2.107 → 0.2.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/core/exceptions-handling/common-log-attributes/common-log-attributes.interface.mjs +1 -1
- package/esm2022/lib/core/exceptions-handling/common-log-attributes/common-log-attributes.service.mjs +2 -2
- package/esm2022/lib/core/exceptions-handling/logger/index.mjs +2 -1
- package/esm2022/lib/core/payment/actions/next-action.service.mjs +3 -2
- package/esm2022/lib/core/payment/field-names.enum.mjs +28 -3
- package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +16 -5
- package/esm2022/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.mjs +16 -6
- package/esm2022/lib/core/sdk-payment-systems/google-pay/payment/google-pay-instant-payment.service.mjs +17 -6
- package/fesm2022/xsolla-payment-client-core.mjs +70 -19
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/exceptions-handling/common-log-attributes/common-log-attributes.interface.d.ts +2 -1
- package/lib/core/exceptions-handling/logger/index.d.ts +1 -0
- package/lib/core/payment/field-names.enum.d.ts +27 -2
- package/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.d.ts +3 -1
- package/lib/core/sdk-payment-systems/google-pay/payment/google-pay-instant-payment.service.d.ts +3 -1
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.109.tgz +0 -0
- package/xsolla-payment-client-core-0.2.107.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWxvZy1hdHRyaWJ1dGVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm93c2VySW5mbyB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvYnJvd3NlckluZm8uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25Mb2dBdHRyaWJ1dGVzIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nIHwgbnVsbDtcbiAgdXNlckVtYWlsPzogc3RyaW5nO1xuICBwcm9qZWN0SWQ/OiBudW1iZXI7XG4gIG1lcmNoYW50SWQ/OiBudW1iZXI7XG4gIGxvY2F0aW9uVXJsPzogc3RyaW5nO1xuICB1c2VyQWdlbnQ/OiBzdHJpbmc7XG4gIHJlZmVycmVyVXJsPzogc3RyaW5nO1xuICB2aWV3cG9ydFdpZHRoOiBudW1iZXI7XG4gIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXI7XG4gIGNkbkFkZHJlc3M6IHN0cmluZztcbiAgY291bnRyeT86IHN0cmluZztcbiAgbG9jYWw/OiBzdHJpbmc7XG4gIGJyb3dzZXJJbmZvOiBCcm93c2VySW5mbztcbn1cbiJdfQ==
|
package/esm2022/lib/core/exceptions-handling/common-log-attributes/common-log-attributes.service.mjs
CHANGED
|
@@ -29,7 +29,7 @@ export class CommonLogAttributesService {
|
|
|
29
29
|
: 'none',
|
|
30
30
|
country: user?.country?.value,
|
|
31
31
|
local: user?.country?.localized_name,
|
|
32
|
-
browserInfo:
|
|
32
|
+
browserInfo: this.userAgentService.browserInfo,
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
extractUrlHost(url) {
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
47
47
|
type: Inject,
|
|
48
48
|
args: [windowToken]
|
|
49
49
|
}] }, { type: i1.SettingsService }, { type: i2.UserAgentService }] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9jb21tb24tbG9nLWF0dHJpYnV0ZXMvY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBTWpELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDd0MsTUFBc0IsRUFDM0MsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBRmIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDbEQsQ0FBQztJQUVHLGFBQWE7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUM7UUFFckQsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDakMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUs7WUFDN0IsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVTtZQUMvQixXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUN0QyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVM7WUFDMUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVE7WUFDMUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXO1lBQy9ELGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWTtZQUNqRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU07Z0JBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxNQUFNO1lBQ1YsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSztZQUM3QixLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjO1lBQ3BDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVztTQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQWxDVSwwQkFBMEIsa0JBRTNCLFdBQVc7bUhBRlYsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckFnZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvdXNlci1hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IENvbW1vbkxvZ0F0dHJpYnV0ZXMgfSBmcm9tICcuL2NvbW1vbi1sb2ctYXR0cmlidXRlcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQWdlbnRTZXJ2aWNlOiBVc2VyQWdlbnRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGdldEF0dHJpYnV0ZXMoKTogQ29tbW9uTG9nQXR0cmlidXRlcyB7XG4gICAgY29uc3QgdXNlciA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVVzZXI7XG4gICAgY29uc3QgcHJvamVjdCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVByb2plY3Q7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVTZXR0aW5ncztcblxuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICB1c2VySWQ6IHVzZXI/LnV1aWQsXG4gICAgICB1c2VyRW1haWw6IHVzZXI/LmVtYWlsPy52YWx1ZSxcbiAgICAgIHByb2plY3RJZDogcHJvamVjdD8uaWQsXG4gICAgICBtZXJjaGFudElkOiBwcm9qZWN0Py5tZXJjaGFudElkLFxuICAgICAgbG9jYXRpb25Vcmw6IHRoaXMud2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICB1c2VyQWdlbnQ6IHRoaXMudXNlckFnZW50U2VydmljZS51c2VyQWdlbnQsXG4gICAgICByZWZlcnJlclVybDogdGhpcy53aW5kb3cuZG9jdW1lbnQucmVmZXJyZXIsXG4gICAgICB2aWV3cG9ydFdpZHRoOiB0aGlzLndpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsXG4gICAgICB2aWV3cG9ydEhlaWdodDogdGhpcy53aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxcbiAgICAgIGNkbkFkZHJlc3M6IHNldHRpbmdzPy5jZG5VcmxcbiAgICAgICAgPyB0aGlzLmV4dHJhY3RVcmxIb3N0KHNldHRpbmdzLmNkblVybClcbiAgICAgICAgOiAnbm9uZScsXG4gICAgICBjb3VudHJ5OiB1c2VyPy5jb3VudHJ5Py52YWx1ZSxcbiAgICAgIGxvY2FsOiB1c2VyPy5jb3VudHJ5Py5sb2NhbGl6ZWRfbmFtZSxcbiAgICAgIGJyb3dzZXJJbmZvOiB0aGlzLnVzZXJBZ2VudFNlcnZpY2UuYnJvd3NlckluZm8sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFVybEhvc3QodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB1cmwucmVwbGFjZSgvXmh0dHBzPzpcXC9cXC8oW14vPyNdKykuKiQvaSwgJyQxJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './log-handler.interface';
|
|
2
|
-
|
|
2
|
+
export * from './logger.service';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2ctaGFuZGxlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXIuc2VydmljZSc7XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { nextActionsToken } from './next-actions';
|
|
4
4
|
import { UserBehaviourEventName } from '../../user-behaviour-analytics/user-behaviour-event-name.enum';
|
|
5
|
+
import { ErrorTags, TaggedError } from '../../exceptions-handling/errors';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "./show-errors/show-errors.action.class";
|
|
7
8
|
import * as i2 from "../../user-behaviour-analytics/user-behaviour-analytics.service";
|
|
@@ -31,7 +32,7 @@ export class NextActionService {
|
|
|
31
32
|
this.logNextAction(nextAction);
|
|
32
33
|
return nextAction;
|
|
33
34
|
}
|
|
34
|
-
throw new
|
|
35
|
+
throw new TaggedError('Next action is undefined.', [ErrorTags.APP], submitResponse);
|
|
35
36
|
}
|
|
36
37
|
emitFlowUpdates(action) {
|
|
37
38
|
this.flowUpdatesSubject.next(action);
|
|
@@ -72,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
72
73
|
type: Inject,
|
|
73
74
|
args: [nextActionsToken]
|
|
74
75
|
}] }, { type: i0.Injector }, { type: i1.ShowErrorsActionCreator }, { type: i2.UserBehaviourAnalyticsService }] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQUsxRSxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFFbUIsZ0JBQWtDLEVBQ2xDLFFBQWtCLEVBQ2xCLHVCQUFnRCxFQUNoRCw2QkFBNEQ7UUFINUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQWI5RCx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRS9DLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQWFyRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sYUFBYSxDQUFDLGNBQThCO1FBQ2pELElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sSUFBSSxXQUFXLENBQ25CLDJCQUEyQixFQUMzQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFDZixjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBa0I7UUFDdEMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxVQUF3QyxFQUFFLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQWdCLFVBQVUsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQixDQUMzQixjQUE4QjtRQUU5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDMUMsQ0FBQyxVQUF5QixFQUFFLEVBQUU7WUFDNUIsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFzQjtRQUMxQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUNyQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQ2pDLFFBQVEsRUFDUixFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQzNCLENBQUM7SUFDSixDQUFDOytHQXBGVSxpQkFBaUIsa0JBVWxCLGdCQUFnQjttSEFWZixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBQcm92aWRlclRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4uL3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgbmV4dEFjdGlvbnNUb2tlbiwgTmV4dEFjdGlvblRva2VucyB9IGZyb20gJy4vbmV4dC1hY3Rpb25zJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9zaG93LWVycm9ycy9zaG93LWVycm9ycy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgWHBzRXJyb3IgfSBmcm9tICcuLi94cHMtZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IEVycm9yVGFncywgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOZXh0QWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmxvd1VwZGF0ZXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TmV4dEFjdGlvbj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25zTGlzdDogQWN0aW9uQ3JlYXRvcltdID0gW107XG5cbiAgcHVibGljIGdldCBmbG93VXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxOZXh0QWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd1VwZGF0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QobmV4dEFjdGlvbnNUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25Ub2tlbnM6IE5leHRBY3Rpb25Ub2tlbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXJyb3JzQWN0aW9uQ3JlYXRvcjogU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuZmlsbE5leHRBY3Rpb25zTGlzdCgpO1xuICB9XG5cbiAgcHVibGljIGdldE5leHRBY3Rpb24oc3VibWl0UmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlKTogTmV4dEFjdGlvbiB8IG51bGwge1xuICAgIGlmIChzdWJtaXRSZXNwb25zZS5lcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5lbWl0Rmxvd0Vycm9ycyhzdWJtaXRSZXNwb25zZS5lcnJvcnMpO1xuICAgIH1cblxuICAgIGlmICghc3VibWl0UmVzcG9uc2UuY3VycmVudENvbW1hbmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHRBY3Rpb25DcmVhdG9yID0gdGhpcy5maW5kTmV4dEFjdGlvbkNyZWF0b3Ioc3VibWl0UmVzcG9uc2UpO1xuXG4gICAgaWYgKG5leHRBY3Rpb25DcmVhdG9yKSB7XG4gICAgICBjb25zdCBuZXh0QWN0aW9uID0gbmV4dEFjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShzdWJtaXRSZXNwb25zZSk7XG4gICAgICB0aGlzLmxvZ05leHRBY3Rpb24obmV4dEFjdGlvbik7XG4gICAgICByZXR1cm4gbmV4dEFjdGlvbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAnTmV4dCBhY3Rpb24gaXMgdW5kZWZpbmVkLicsXG4gICAgICBbRXJyb3JUYWdzLkFQUF0sXG4gICAgICBzdWJtaXRSZXNwb25zZSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGVtaXRGbG93VXBkYXRlcyhhY3Rpb246IE5leHRBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dVcGRhdGVzU3ViamVjdC5uZXh0KGFjdGlvbik7XG4gICAgdGhpcy5sb2dOZXh0QWN0aW9uKGFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZW1pdEZsb3dFcnJvcnMoZXJyb3JzOiBYcHNFcnJvcltdKTogdm9pZCB7XG4gICAgaWYgKGVycm9ycy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICB0aGlzLmVtaXRGbG93VXBkYXRlcyh0aGlzLnNob3dFcnJvcnNBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoZXJyb3JzKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxOZXh0QWN0aW9uc0xpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0QWN0aW9uVG9rZW5zLmZvckVhY2goXG4gICAgICAobmV4dEFjdGlvbjogUHJvdmlkZXJUb2tlbjxBY3Rpb25DcmVhdG9yPikgPT4ge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pbmplY3Rvci5nZXQ8QWN0aW9uQ3JlYXRvcj4obmV4dEFjdGlvbik7XG4gICAgICAgIHRoaXMubmV4dEFjdGlvbnNMaXN0LnB1c2goaXRlbSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROZXh0QWN0aW9uQ3JlYXRvcihcbiAgICBzdWJtaXRSZXNwb25zZTogU3VibWl0UmVzcG9uc2UsXG4gICk6IEFjdGlvbkNyZWF0b3IgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGFjdGlvblR5cGUgPSB0aGlzLm5leHRBY3Rpb25zTGlzdC5maW5kKFxuICAgICAgKG5leHRBY3Rpb246IEFjdGlvbkNyZWF0b3IpID0+IHtcbiAgICAgICAgcmV0dXJuIG5leHRBY3Rpb24uaXNTdWl0YWJsZShzdWJtaXRSZXNwb25zZSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAoIWFjdGlvblR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9uVHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgbG9nTmV4dEFjdGlvbihuZXh0QWN0aW9uOiBOZXh0QWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5uZXh0QWN0aW9uLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiBuZXh0QWN0aW9uLnR5cGUgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -7,6 +7,9 @@ export var FieldNames;
|
|
|
7
7
|
FieldNames["allowSubscription"] = "allowSubscription";
|
|
8
8
|
FieldNames["apt"] = "apt";
|
|
9
9
|
FieldNames["availableCardTypes"] = "available_card_types";
|
|
10
|
+
FieldNames["babka_pay_phone"] = "babka_pay_phone";
|
|
11
|
+
FieldNames["babka_pay_jwt"] = "babka_pay_jwt";
|
|
12
|
+
FieldNames["babkaPayLoyaltyParticipation"] = "babka_pay_loyalty_participation";
|
|
10
13
|
FieldNames["bank"] = "bank";
|
|
11
14
|
FieldNames["birthDate"] = "birth_date";
|
|
12
15
|
FieldNames["cardMonth"] = "card_month";
|
|
@@ -16,13 +19,14 @@ export var FieldNames;
|
|
|
16
19
|
FieldNames["cardholdername"] = "cardholdername";
|
|
17
20
|
FieldNames["city"] = "city";
|
|
18
21
|
FieldNames["couponCode"] = "couponCode";
|
|
22
|
+
FieldNames["document"] = "document";
|
|
19
23
|
FieldNames["cpfName"] = "cpf_name";
|
|
20
24
|
FieldNames["cpfNumber"] = "cpf_number";
|
|
21
25
|
FieldNames["cvv"] = "cvv";
|
|
22
26
|
FieldNames["description"] = "description";
|
|
27
|
+
FieldNames["collectedEmailConsent"] = "collectedEmailConsent";
|
|
23
28
|
FieldNames["email"] = "email";
|
|
24
29
|
FieldNames["psEmail"] = "psEmail";
|
|
25
|
-
FieldNames["psAccountCountry"] = "psAccountCountry";
|
|
26
30
|
FieldNames["bazitemail"] = "bazitemail";
|
|
27
31
|
FieldNames["euCheck"] = "eu_check";
|
|
28
32
|
FieldNames["extraCvv"] = "extra_cvv";
|
|
@@ -32,6 +36,7 @@ export var FieldNames;
|
|
|
32
36
|
FieldNames["installments"] = "installments";
|
|
33
37
|
FieldNames["lName"] = "l_name";
|
|
34
38
|
FieldNames["needInstallments"] = "needInstallments";
|
|
39
|
+
FieldNames["payer"] = "payer";
|
|
35
40
|
FieldNames["personId"] = "person_id";
|
|
36
41
|
FieldNames["personIdAr"] = "person_id_ar";
|
|
37
42
|
FieldNames["personIdCo"] = "person_id_co";
|
|
@@ -54,6 +59,7 @@ export var FieldNames;
|
|
|
54
59
|
FieldNames["licenseDisclaimer"] = "licenseDisclaimer";
|
|
55
60
|
FieldNames["xsollaTipsAmount"] = "xsollaTipsAmount";
|
|
56
61
|
FieldNames["zip"] = "zip";
|
|
62
|
+
FieldNames["psAccountCountry"] = "psAccountCountry";
|
|
57
63
|
FieldNames["allowSave"] = "allowSave";
|
|
58
64
|
FieldNames["koreaLimitsInstruction"] = "korea_limits_instruction";
|
|
59
65
|
FieldNames["tokenApplePay"] = "token_applepay";
|
|
@@ -61,11 +67,14 @@ export var FieldNames;
|
|
|
61
67
|
FieldNames["fixPid"] = "fix_pid";
|
|
62
68
|
FieldNames["signature"] = "signature";
|
|
63
69
|
FieldNames["qr"] = "qr";
|
|
70
|
+
FieldNames["qrCode"] = "qr_code";
|
|
71
|
+
FieldNames["qrTtl"] = "qr_ttl";
|
|
64
72
|
FieldNames["sum"] = "sum";
|
|
65
73
|
FieldNames["out"] = "out";
|
|
66
74
|
FieldNames["tinkoffDisclaimer"] = "ps.tinkoff.disclaimer";
|
|
67
75
|
FieldNames["ppEmail"] = "pp_email";
|
|
68
76
|
FieldNames["redeemPoints"] = "redeemPoints";
|
|
77
|
+
FieldNames["redeemLoyaltyPoints"] = "redeemLoyaltyPoints";
|
|
69
78
|
FieldNames["omnibusDirective"] = "omnibus_directive";
|
|
70
79
|
FieldNames["labelApplePay"] = "label_applePay";
|
|
71
80
|
FieldNames["countryCode"] = "countryCode";
|
|
@@ -78,10 +87,26 @@ export var FieldNames;
|
|
|
78
87
|
FieldNames["payInstanceAccountId"] = "payInstanceAccountId";
|
|
79
88
|
FieldNames["getApplePaySessionUrl"] = "getApplePaySessionUrl";
|
|
80
89
|
FieldNames["payViaCheckoutUrl"] = "payViaCheckoutUrl";
|
|
90
|
+
FieldNames["paymentInstruction"] = "payment_instruction";
|
|
91
|
+
FieldNames["paymentWithSavedMethod"] = "paymentWithSavedMethod";
|
|
92
|
+
FieldNames["xsollaOrbsPartialPayment"] = "xsolla_currency_wallet_partial";
|
|
93
|
+
FieldNames["xsollaGoldOrbsPartial"] = "xsolla-gold-orbs-partial";
|
|
94
|
+
FieldNames["xsollaOrbsFullPayment"] = "xsolla_currency_wallet_full";
|
|
95
|
+
FieldNames["xsollaCurrencyDescription"] = "xsolla_currency_description";
|
|
96
|
+
FieldNames["fixCommand"] = "fix_command";
|
|
97
|
+
FieldNames["jwtToken"] = "jwt_token";
|
|
98
|
+
FieldNames["userId"] = "user_id";
|
|
99
|
+
FieldNames["userPass"] = "user_pass";
|
|
100
|
+
FieldNames["pinCard"] = "pin_card";
|
|
101
|
+
FieldNames["payType"] = "payType";
|
|
102
|
+
FieldNames["fullName"] = "user_name";
|
|
103
|
+
FieldNames["name"] = "name";
|
|
104
|
+
FieldNames["epin"] = "epin";
|
|
105
|
+
FieldNames["zipCode"] = "zip_code";
|
|
106
|
+
FieldNames["googlePay3dsRedirect"] = "googlePay3DSRedirect";
|
|
81
107
|
FieldNames["googlePayInitData"] = "googlePayInitData";
|
|
82
108
|
FieldNames["googlePayPaymentData"] = "googlePayPaymentData";
|
|
83
|
-
FieldNames["googlePay3dsRedirect"] = "googlePay3DSRedirect";
|
|
84
109
|
FieldNames["externalCardIssuerCountry"] = "externalCardIssuerCountry";
|
|
85
110
|
FieldNames["pmId"] = "pm_id";
|
|
86
111
|
})(FieldNames || (FieldNames = {}));
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbmFtZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUE2R1g7QUE3R0QsV0FBWSxVQUFVO0lBQ3BCLG1DQUFxQixDQUFBO0lBQ3JCLG1DQUFxQixDQUFBO0lBQ3JCLGlDQUFtQixDQUFBO0lBQ25CLHVFQUF5RCxDQUFBO0lBQ3pELHFEQUF1QyxDQUFBO0lBQ3ZDLHlCQUFXLENBQUE7SUFDWCx5REFBMkMsQ0FBQTtJQUMzQyxpREFBbUMsQ0FBQTtJQUNuQyw2Q0FBK0IsQ0FBQTtJQUMvQiw4RUFBZ0UsQ0FBQTtJQUNoRSwyQkFBYSxDQUFBO0lBQ2Isc0NBQXdCLENBQUE7SUFDeEIsc0NBQXdCLENBQUE7SUFDeEIsb0NBQXNCLENBQUE7SUFDdEIsd0NBQTBCLENBQUE7SUFDMUIsd0NBQTBCLENBQUE7SUFDMUIsK0NBQWlDLENBQUE7SUFDakMsMkJBQWEsQ0FBQTtJQUNiLHVDQUF5QixDQUFBO0lBQ3pCLG1DQUFxQixDQUFBO0lBQ3JCLGtDQUFvQixDQUFBO0lBQ3BCLHNDQUF3QixDQUFBO0lBQ3hCLHlCQUFXLENBQUE7SUFDWCx5Q0FBMkIsQ0FBQTtJQUMzQiw2REFBK0MsQ0FBQTtJQUMvQyw2QkFBZSxDQUFBO0lBQ2YsaUNBQW1CLENBQUE7SUFDbkIsdUNBQXlCLENBQUE7SUFDekIsa0NBQW9CLENBQUE7SUFDcEIsb0NBQXNCLENBQUE7SUFDdEIsbURBQXFDLENBQUE7SUFDckMsK0NBQWlDLENBQUE7SUFDakMsOEJBQWdCLENBQUE7SUFDaEIsMkNBQTZCLENBQUE7SUFDN0IsOEJBQWdCLENBQUE7SUFDaEIsbURBQXFDLENBQUE7SUFDckMsNkJBQWUsQ0FBQTtJQUNmLG9DQUFzQixDQUFBO0lBQ3RCLHlDQUEyQixDQUFBO0lBQzNCLHlDQUEyQixDQUFBO0lBQzNCLDZCQUFlLENBQUE7SUFDZix5REFBMkMsQ0FBQTtJQUMzQyw4Q0FBZ0MsQ0FBQTtJQUNoQyw4Q0FBZ0MsQ0FBQTtJQUNoQyw2QkFBZSxDQUFBO0lBQ2YsK0JBQWlCLENBQUE7SUFDakIsNENBQThCLENBQUE7SUFDOUIsd0NBQTBCLENBQUE7SUFDMUIsdURBQXlDLENBQUE7SUFDekMscUVBQXVELENBQUE7SUFDdkQscUVBQXVELENBQUE7SUFDdkQscUVBQXVELENBQUE7SUFDdkQsMkVBQTZELENBQUE7SUFDN0QsMkVBQTZELENBQUE7SUFDN0QsbUZBQXFFLENBQUE7SUFDckUscUVBQXVELENBQUE7SUFDdkQscURBQXVDLENBQUE7SUFDdkMsbURBQXFDLENBQUE7SUFDckMseUJBQVcsQ0FBQTtJQUNYLG1EQUFxQyxDQUFBO0lBQ3JDLHFDQUF1QixDQUFBO0lBQ3ZCLGlFQUFtRCxDQUFBO0lBQ25ELDhDQUFnQyxDQUFBO0lBQ2hDLHdDQUEwQixDQUFBO0lBQzFCLGdDQUFrQixDQUFBO0lBQ2xCLHFDQUF1QixDQUFBO0lBQ3ZCLHVCQUFTLENBQUE7SUFDVCxnQ0FBa0IsQ0FBQTtJQUNsQiw4QkFBZ0IsQ0FBQTtJQUNoQix5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLHlEQUEyQyxDQUFBO0lBQzNDLGtDQUFvQixDQUFBO0lBQ3BCLDJDQUE2QixDQUFBO0lBQzdCLHlEQUEyQyxDQUFBO0lBQzNDLG9EQUFzQyxDQUFBO0lBQ3RDLDhDQUFnQyxDQUFBO0lBQ2hDLHlDQUEyQixDQUFBO0lBQzNCLDJEQUE2QyxDQUFBO0lBQzdDLDJFQUE2RCxDQUFBO0lBQzdELDZFQUErRCxDQUFBO0lBQy9ELHFEQUF1QyxDQUFBO0lBQ3ZDLG1DQUFxQixDQUFBO0lBQ3JCLHFDQUF1QixDQUFBO0lBQ3ZCLDJEQUE2QyxDQUFBO0lBQzdDLDZEQUErQyxDQUFBO0lBQy9DLHFEQUF1QyxDQUFBO0lBQ3ZDLHdEQUEwQyxDQUFBO0lBQzFDLCtEQUFpRCxDQUFBO0lBQ2pELHlFQUEyRCxDQUFBO0lBQzNELGdFQUFrRCxDQUFBO0lBQ2xELG1FQUFxRCxDQUFBO0lBQ3JELHVFQUF5RCxDQUFBO0lBQ3pELHdDQUEwQixDQUFBO0lBQzFCLG9DQUFzQixDQUFBO0lBQ3RCLGdDQUFrQixDQUFBO0lBQ2xCLG9DQUFzQixDQUFBO0lBQ3RCLGtDQUFvQixDQUFBO0lBQ3BCLGlDQUFtQixDQUFBO0lBQ25CLG9DQUFzQixDQUFBO0lBQ3RCLDJCQUFhLENBQUE7SUFDYiwyQkFBYSxDQUFBO0lBQ2Isa0NBQW9CLENBQUE7SUFDcEIsMkRBQTZDLENBQUE7SUFDN0MscURBQXVDLENBQUE7SUFDdkMsMkRBQTZDLENBQUE7SUFDN0MscUVBQXVELENBQUE7SUFDdkQsNEJBQWMsQ0FBQTtBQUNoQixDQUFDLEVBN0dXLFVBQVUsS0FBVixVQUFVLFFBNkdyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpZWxkTmFtZXMge1xuICBhZGRyZXNzMSA9ICdhZGRyZXNzMScsXG4gIGFkZHJlc3MyID0gJ2FkZHJlc3MyJyxcbiAgYWRkcmVzcyA9ICdhZGRyZXNzJyxcbiAgYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24gPSAnYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24nLFxuICBhbGxvd1N1YnNjcmlwdGlvbiA9ICdhbGxvd1N1YnNjcmlwdGlvbicsXG4gIGFwdCA9ICdhcHQnLFxuICBhdmFpbGFibGVDYXJkVHlwZXMgPSAnYXZhaWxhYmxlX2NhcmRfdHlwZXMnLFxuICBiYWJrYV9wYXlfcGhvbmUgPSAnYmFia2FfcGF5X3Bob25lJyxcbiAgYmFia2FfcGF5X2p3dCA9ICdiYWJrYV9wYXlfand0JyxcbiAgYmFia2FQYXlMb3lhbHR5UGFydGljaXBhdGlvbiA9ICdiYWJrYV9wYXlfbG95YWx0eV9wYXJ0aWNpcGF0aW9uJyxcbiAgYmFuayA9ICdiYW5rJyxcbiAgYmlydGhEYXRlID0gJ2JpcnRoX2RhdGUnLFxuICBjYXJkTW9udGggPSAnY2FyZF9tb250aCcsXG4gIGNhcmRZZWFyID0gJ2NhcmRfeWVhcicsXG4gIGNhcmRFeHBpcmUgPSAnY2FyZF9leHBpcmUnLFxuICBjYXJkTnVtYmVyID0gJ2NhcmRfbnVtYmVyJyxcbiAgY2FyZGhvbGRlcm5hbWUgPSAnY2FyZGhvbGRlcm5hbWUnLFxuICBjaXR5ID0gJ2NpdHknLFxuICBjb3Vwb25Db2RlID0gJ2NvdXBvbkNvZGUnLFxuICBkb2N1bWVudCA9ICdkb2N1bWVudCcsXG4gIGNwZk5hbWUgPSAnY3BmX25hbWUnLFxuICBjcGZOdW1iZXIgPSAnY3BmX251bWJlcicsXG4gIGN2diA9ICdjdnYnLFxuICBkZXNjcmlwdGlvbiA9ICdkZXNjcmlwdGlvbicsXG4gIGNvbGxlY3RlZEVtYWlsQ29uc2VudCA9ICdjb2xsZWN0ZWRFbWFpbENvbnNlbnQnLFxuICBlbWFpbCA9ICdlbWFpbCcsXG4gIHBzRW1haWwgPSAncHNFbWFpbCcsXG4gIGJheml0ZW1haWwgPSAnYmF6aXRlbWFpbCcsXG4gIGV1Q2hlY2sgPSAnZXVfY2hlY2snLFxuICBleHRyYUN2diA9ICdleHRyYV9jdnYnLFxuICBleHRyYUNhcmROdW1iZXIgPSAnZXh0cmFfY2FyZF9udW1iZXInLFxuICBleHRyYUNhcmRUeXBlID0gJ2V4dHJhX2NhcmRfdHlwZScsXG4gIGZOYW1lID0gJ2ZfbmFtZScsXG4gIGluc3RhbGxtZW50cyA9ICdpbnN0YWxsbWVudHMnLFxuICBsTmFtZSA9ICdsX25hbWUnLFxuICBuZWVkSW5zdGFsbG1lbnRzID0gJ25lZWRJbnN0YWxsbWVudHMnLFxuICBwYXllciA9ICdwYXllcicsXG4gIHBlcnNvbklkID0gJ3BlcnNvbl9pZCcsXG4gIHBlcnNvbklkQXIgPSAncGVyc29uX2lkX2FyJyxcbiAgcGVyc29uSWRDbyA9ICdwZXJzb25faWRfY28nLFxuICBwaG9uZSA9ICdwaG9uZScsXG4gIHB1cmNoYXNlRGVzY3JpcHRpb24gPSAncHVyY2hhc2VEZXNjcmlwdGlvbicsXG4gIHJlY3VycmVudFR5cGUgPSAncmVjdXJyZW50X3R5cGUnLFxuICByb2Nrc3RhclRheGVzID0gJ3JvY2tzdGFyX3RheGVzJyxcbiAgc3RhdGUgPSAnc3RhdGUnLFxuICBzdHJlZXQgPSAnc3RyZWV0JyxcbiAgc3RyZWV0TnVtYmVyID0gJ3N0cmVldF9udW1iZXInLFxuICB0YWtlMlRheGVzID0gJ3Rha2UyX3RheGVzJyxcbiAgdGVybXNBbmRDb25kaXRpb25zID0gJ3Rlcm1zQW5kQ29uZGl0aW9ucycsXG4gIHRlcm1zQW5kQ29uZGl0aW9uc0F0YXJpUHAgPSAndGVybXNBbmRDb25kaXRpb25zQXRhcmlQUCcsXG4gIHRlcm1zQW5kQ29uZGl0aW9uc0F0YXJpVGMgPSAndGVybXNBbmRDb25kaXRpb25zQXRhcmlUQycsXG4gIHRlcm1zQW5kQ29uZGl0aW9uc0h0Y0V1bGEgPSAndGVybXNBbmRDb25kaXRpb25zSHRjRXVsYScsXG4gIHRlcm1zQW5kQ29uZGl0aW9uc1JvYmxveEV1bGEgPSAndGVybXNBbmRDb25kaXRpb25zUm9ibG94RXVsYScsXG4gIHRlcm1zQW5kQ29uZGl0aW9uc1JvbGFuZEV1bGEgPSAndGVybXNBbmRDb25kaXRpb25zUm9sYW5kRXVsYScsXG4gIHRlcm1zQW5kQ29uZGl0aW9uc0RldXNMb1Z1bHRFdWxhID0gJ3Rlcm1zQW5kQ29uZGl0aW9uc0RldXNMb1Z1bHRFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zT256ZW5nYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNPbnplbmdhJyxcbiAgbGljZW5zZURpc2NsYWltZXIgPSAnbGljZW5zZURpc2NsYWltZXInLFxuICB4c29sbGFUaXBzQW1vdW50ID0gJ3hzb2xsYVRpcHNBbW91bnQnLFxuICB6aXAgPSAnemlwJyxcbiAgcHNBY2NvdW50Q291bnRyeSA9ICdwc0FjY291bnRDb3VudHJ5JyxcbiAgYWxsb3dTYXZlID0gJ2FsbG93U2F2ZScsXG4gIGtvcmVhTGltaXRzSW5zdHJ1Y3Rpb24gPSAna29yZWFfbGltaXRzX2luc3RydWN0aW9uJyxcbiAgdG9rZW5BcHBsZVBheSA9ICd0b2tlbl9hcHBsZXBheScsXG4gIGZpeEludm9pY2UgPSAnZml4X2ludm9pY2UnLFxuICBmaXhQaWQgPSAnZml4X3BpZCcsXG4gIHNpZ25hdHVyZSA9ICdzaWduYXR1cmUnLFxuICBxciA9ICdxcicsXG4gIHFyQ29kZSA9ICdxcl9jb2RlJyxcbiAgcXJUdGwgPSAncXJfdHRsJyxcbiAgc3VtID0gJ3N1bScsXG4gIG91dCA9ICdvdXQnLFxuICB0aW5rb2ZmRGlzY2xhaW1lciA9ICdwcy50aW5rb2ZmLmRpc2NsYWltZXInLFxuICBwcEVtYWlsID0gJ3BwX2VtYWlsJyxcbiAgcmVkZWVtUG9pbnRzID0gJ3JlZGVlbVBvaW50cycsXG4gIHJlZGVlbUxveWFsdHlQb2ludHMgPSAncmVkZWVtTG95YWx0eVBvaW50cycsXG4gIG9tbmlidXNEaXJlY3RpdmUgPSAnb21uaWJ1c19kaXJlY3RpdmUnLFxuICBsYWJlbEFwcGxlUGF5ID0gJ2xhYmVsX2FwcGxlUGF5JyxcbiAgY291bnRyeUNvZGUgPSAnY291bnRyeUNvZGUnLFxuICBtZXJjaGFudENhcGFiaWxpdGllcyA9ICdtZXJjaGFudENhcGFiaWxpdGllcycsXG4gIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMgPSAncmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcycsXG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gJ3JlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzJyxcbiAgc3VwcG9ydGVkTmV0d29ya3MgPSAnc3VwcG9ydGVkTmV0d29ya3MnLFxuICBhY3F1aXJlciA9ICdhY3F1aXJlcicsXG4gIGlzU2FuZGJveCA9ICdpc1NhbmRib3gnLFxuICBwYXlJbnN0YW5jZUFjY291bnRJZCA9ICdwYXlJbnN0YW5jZUFjY291bnRJZCcsXG4gIGdldEFwcGxlUGF5U2Vzc2lvblVybCA9ICdnZXRBcHBsZVBheVNlc3Npb25VcmwnLFxuICBwYXlWaWFDaGVja291dFVybCA9ICdwYXlWaWFDaGVja291dFVybCcsXG4gIHBheW1lbnRJbnN0cnVjdGlvbiA9ICdwYXltZW50X2luc3RydWN0aW9uJyxcbiAgcGF5bWVudFdpdGhTYXZlZE1ldGhvZCA9ICdwYXltZW50V2l0aFNhdmVkTWV0aG9kJyxcbiAgeHNvbGxhT3Jic1BhcnRpYWxQYXltZW50ID0gJ3hzb2xsYV9jdXJyZW5jeV93YWxsZXRfcGFydGlhbCcsXG4gIHhzb2xsYUdvbGRPcmJzUGFydGlhbCA9ICd4c29sbGEtZ29sZC1vcmJzLXBhcnRpYWwnLFxuICB4c29sbGFPcmJzRnVsbFBheW1lbnQgPSAneHNvbGxhX2N1cnJlbmN5X3dhbGxldF9mdWxsJyxcbiAgeHNvbGxhQ3VycmVuY3lEZXNjcmlwdGlvbiA9ICd4c29sbGFfY3VycmVuY3lfZGVzY3JpcHRpb24nLFxuICBmaXhDb21tYW5kID0gJ2ZpeF9jb21tYW5kJyxcbiAgand0VG9rZW4gPSAnand0X3Rva2VuJyxcbiAgdXNlcklkID0gJ3VzZXJfaWQnLFxuICB1c2VyUGFzcyA9ICd1c2VyX3Bhc3MnLFxuICBwaW5DYXJkID0gJ3Bpbl9jYXJkJyxcbiAgcGF5VHlwZSA9ICdwYXlUeXBlJyxcbiAgZnVsbE5hbWUgPSAndXNlcl9uYW1lJyxcbiAgbmFtZSA9ICduYW1lJyxcbiAgZXBpbiA9ICdlcGluJyxcbiAgemlwQ29kZSA9ICd6aXBfY29kZScsXG4gIGdvb2dsZVBheTNkc1JlZGlyZWN0ID0gJ2dvb2dsZVBheTNEU1JlZGlyZWN0JyxcbiAgZ29vZ2xlUGF5SW5pdERhdGEgPSAnZ29vZ2xlUGF5SW5pdERhdGEnLFxuICBnb29nbGVQYXlQYXltZW50RGF0YSA9ICdnb29nbGVQYXlQYXltZW50RGF0YScsXG4gIGV4dGVybmFsQ2FyZElzc3VlckNvdW50cnkgPSAnZXh0ZXJuYWxDYXJkSXNzdWVyQ291bnRyeScsXG4gIHBtSWQgPSAncG1faWQnLFxufVxuIl19
|
|
@@ -89,7 +89,8 @@ export class GooglePayService {
|
|
|
89
89
|
this.readyToPay.next(false);
|
|
90
90
|
const result = response.result?.toString() ?? '';
|
|
91
91
|
const isHavePaymentClient = Boolean(this.googlePaymentClient).toString();
|
|
92
|
-
|
|
92
|
+
const message = `Google Pay: possibly no response.result or googlePaymentClient is missing, result - ${result}, isHavePaymentClient - ${isHavePaymentClient}`;
|
|
93
|
+
this.loggerService.error(new TaggedError(message, [ErrorTags.GOOGLEPAY]));
|
|
93
94
|
})
|
|
94
95
|
.catch((error) => {
|
|
95
96
|
this.readyToPay.next(false);
|
|
@@ -97,7 +98,7 @@ export class GooglePayService {
|
|
|
97
98
|
if (error instanceof Error) {
|
|
98
99
|
message = error.message;
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
+
this.loggerService.error(new TaggedError(`Google Pay: device is not ready to pay, ${message}`, [ErrorTags.GOOGLEPAY]));
|
|
101
102
|
});
|
|
102
103
|
});
|
|
103
104
|
}
|
|
@@ -135,15 +136,21 @@ export class GooglePayService {
|
|
|
135
136
|
this.paymentService.handleFailedPayment?.(error);
|
|
136
137
|
this.paymentWindowIsClose.next();
|
|
137
138
|
this.error.next(error);
|
|
138
|
-
const
|
|
139
|
-
const
|
|
139
|
+
const errorMessage = error?.message ?? '';
|
|
140
|
+
const errorStatusCode = error?.statusCode ?? '';
|
|
141
|
+
const isClosedByUser = this.isClosedByUser(errorMessage);
|
|
142
|
+
const isCanceledStatus = this.isCanceledStatus(errorStatusCode);
|
|
140
143
|
if (isClosedByUser || isCanceledStatus)
|
|
141
144
|
return null;
|
|
145
|
+
this.loggerService.error(new TaggedError(`Google Pay: proceedCheckout failed, ${errorMessage}`, [
|
|
146
|
+
ErrorTags.GOOGLEPAY,
|
|
147
|
+
]));
|
|
142
148
|
return checkStatusAction;
|
|
143
149
|
}
|
|
144
150
|
}
|
|
145
151
|
createButton(onClickHandler, configuration) {
|
|
146
152
|
if (!this.googlePaymentClient) {
|
|
153
|
+
this.loggerService.error(new TaggedError('Google payment client is not initialized to create button', [ErrorTags.GOOGLEPAY]));
|
|
147
154
|
return null;
|
|
148
155
|
}
|
|
149
156
|
const allowedPaymentMethods = this.paymentService?.getAllowedPaymentMethods() || [];
|
|
@@ -158,6 +165,9 @@ export class GooglePayService {
|
|
|
158
165
|
}
|
|
159
166
|
setupGooglePayClient() {
|
|
160
167
|
if (!this.window.google) {
|
|
168
|
+
this.loggerService.error(new TaggedError('Google Pay library is not available on window', [
|
|
169
|
+
ErrorTags.GOOGLEPAY,
|
|
170
|
+
]));
|
|
161
171
|
return;
|
|
162
172
|
}
|
|
163
173
|
const environment = this.initParams.isSandbox ? 'TEST' : 'PRODUCTION';
|
|
@@ -176,6 +186,7 @@ export class GooglePayService {
|
|
|
176
186
|
onLoadScript() {
|
|
177
187
|
if (!this.window.google) {
|
|
178
188
|
const retryTimeout = 1000;
|
|
189
|
+
this.loggerService.error(new TaggedError('Google Pay: library not available after script load, retrying', [ErrorTags.GOOGLEPAY]));
|
|
179
190
|
setTimeout(() => {
|
|
180
191
|
const isAvailableGoogleClient = !!this.window.google;
|
|
181
192
|
if (isAvailableGoogleClient) {
|
|
@@ -255,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
255
266
|
type: Inject,
|
|
256
267
|
args: [windowToken]
|
|
257
268
|
}] }, { type: i1.LoggerService }, { type: i2.PaymentSystemProcessingService }, { type: i3.GooglePayCheckoutPaymentService }, { type: i4.GooglePayInstantPaymentService }, { type: i0.Injector }] });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvZ29vZ2xlLXBheS9nb29nbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU0vRCxNQUFNLE9BQU8sZ0JBQWdCO0lBZTNCLElBQVkscUJBQXFCO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlDQUFpQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBRW1CLE1BQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLDhCQUE4RCxFQUM5RCwrQkFBZ0UsRUFDaEUsOEJBQThELEVBQzlELFFBQWtCO1FBTGxCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNo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STtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1NBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN4RSxDQUFDOytHQWxWVSxnQkFBZ0Isa0JBd0JqQixXQUFXO21IQXhCVixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkF5QkksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcEVycm9yIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvYXBwLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UgfSBmcm9tICcuLi9wYXltZW50LXN5c3RlbXMvcGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrUGF5bWVudERldmljZURhdGEgfSBmcm9tICcuL2NoZWNrLXBheW1lbnQtZGV2aWNlLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUluaXRQYXJhbXMgfSBmcm9tICcuL2dvb2dsZS1wYXktaW5pdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheUNsaWVudCxcbiAgR29vZ2xlUGF5Q2xpZW50SW5pdERhdGEsXG4gIFBheW1lbnRBdXRob3JpemVkSGFuZGxlcixcbiAgUGF5bWVudERhdGFDaGFuZ2VkSGFuZGxlcixcbn0gZnJvbSAnLi9nb29nbGUtcGF5LWxpYnJhcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2UgfSBmcm9tICcuL3BheW1lbnQvZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktaW5zdGFudC1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5UGF5bWVudFNlcnZpY2UgfSBmcm9tICcuL3BheW1lbnQvZ29vZ2xlLXBheS1wYXltZW50LXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWdnZWRFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzJztcbmltcG9ydCB7IEdvb2dsZVBheUJ1dHRvbkNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2dvb2dsZS1wYXktYnV0dG9uLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGdvb2dsZVBheVNjcmlwdFVybCA9ICdodHRwczovL3BheS5nb29nbGUuY29tL2dwL3AvanMvcGF5LmpzJztcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlYWR5VG9QYXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50V2luZG93SXNSZWFkeSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFdpbmRvd0lzQ2xvc2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yID0gbmV3IFN1YmplY3Q8dW5rbm93bj4oKTtcblxuICBwcml2YXRlIGdvb2dsZVBheW1lbnRDbGllbnQ6IEdvb2dsZVBheUNsaWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGluaXRQYXJhbXMhOiBHb29nbGVQYXlJbml0UGFyYW1zO1xuICBwcml2YXRlIHBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlQYXltZW50U2VydmljZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgb25QYXltZW50RGF0YUNoYW5nZWQhOiBQYXltZW50RGF0YUNoYW5nZWRIYW5kbGVyO1xuICBwcml2YXRlIG9uUGF5bWVudEF1dGhvcml6ZWQhOiBQYXltZW50QXV0aG9yaXplZEhhbmRsZXI7XG5cbiAgcHJpdmF0ZSBnZXQgbGlicmFyeVdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMud2luZG93Lmdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlOiBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlJbnN0YW50UGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge31cblxuICBwdWJsaWMgZ2V0IHJlYWR5VG9QYXkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50V2luZG93SXNSZWFkeSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFdpbmRvd0lzUmVhZHkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnRXaW5kb3dJc0Nsb3NlJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50V2luZG93SXNDbG9zZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGlzUmVhZHlUb1BheSgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXRHb29nbGVQYXlMaWJyYXJ5KGRhdGE6IEdvb2dsZVBheUluaXRQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRQYXJhbXMgPSBkYXRhO1xuICAgIHRoaXMub25QYXltZW50RGF0YUNoYW5nZWQgPSBkYXRhLm9uUGF5bWVudERhdGFDaGFuZ2VkO1xuICAgIHRoaXMub25QYXltZW50QXV0aG9yaXplZCA9IGRhdGEub25QYXltZW50QXV0aG9yaXplZDtcblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5sb2FkU2NyaXB0KFxuICAgICAgdGhpcy5nb29nbGVQYXlTY3JpcHRVcmwsXG4gICAgICB0aGlzLm9uTG9hZFNjcmlwdC5iaW5kKHRoaXMpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYXltZW50RGV2aWNlKGRhdGE6IENoZWNrUGF5bWVudERldmljZURhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5pbml0aWFsaXplJFxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKCdHb29nbGUgcGF5bWVudCBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkJywgW1xuICAgICAgICAgICAgICBFcnJvclRhZ3MuR09PR0xFUEFZLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICBgR29vZ2xlIFBheTogR29vZ2xlIHBheW1lbnQgY2xpZW50IGlzIG5vdCBpbml0aWFsaXplZGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UgPSB0aGlzLmdldFBheW1lbnRTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IGluaXREYXRhID0gdGhpcy5wYXltZW50U2VydmljZS5wcmVwYXJlUGF5bWVudCh7XG4gICAgICAgICAgaW5pdFBhcmFtczogdGhpcy5pbml0UGFyYW1zLFxuICAgICAgICAgIGNoZWNrRGV2aWNlRGF0YTogZGF0YSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFpbml0RGF0YSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gaW5pdGlhbGl6YXRpb24gZGF0YScsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IG5vIGluaXRpYWxpemF0aW9uIGRhdGEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFxuICAgICAgICAgIC5pc1JlYWR5VG9QYXkoaW5pdERhdGEuaXNSZWFkeVRvUGF5UmVxdWVzdClcbiAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZXN1bHQgJiYgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5wcmVmZXRjaFBheW1lbnREYXRhKFxuICAgICAgICAgICAgICAgIGluaXREYXRhLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdD8udG9TdHJpbmcoKSA/PyAnJztcbiAgICAgICAgICAgIGNvbnN0IGlzSGF2ZVBheW1lbnRDbGllbnQgPSBCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQsXG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IHBvc3NpYmx5IG5vIHJlc3BvbnNlLnJlc3VsdCBvciBnb29nbGVQYXltZW50Q2xpZW50IGlzIG1pc3NpbmcsIHJlc3VsdCAtICR7cmVzdWx0fSwgaXNIYXZlUGF5bWVudENsaWVudCAtICR7aXNIYXZlUGF5bWVudENsaWVudH1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAoZXJyb3IgYXMgc3RyaW5nKSA/PyAnJztcblxuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IGRldmljZSBpcyBub3QgcmVhZHkgdG8gcGF5LCAke21lc3NhZ2V9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm9jZWVkQ2hlY2tvdXQoKTogUHJvbWlzZTxDaGVja1N0YXR1c0FjdGlvbiB8IG51bGw+IHtcbiAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgY2xpZW50YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihcbiAgICAgICAgICAnR29vZ2xlIHBheW1lbnQgc2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgc2VydmljZWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudFJlcXVlc3QoKTtcblxuICAgIGlmICghcGF5bWVudERhdGFSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gZGF0YSBmb3IgcGF5bWVudCBkYXRhIHJlcXVlc3QnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBObyBkYXRhIGZvciBwYXltZW50IGRhdGEgcmVxdWVzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wYXltZW50V2luZG93SXNSZWFkeS5uZXh0KCk7XG5cbiAgICAgIGNvbnN0IHBheW1lbnREYXRhID1cbiAgICAgICAgYXdhaXQgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmxvYWRQYXltZW50RGF0YShwYXltZW50RGF0YVJlcXVlc3QpO1xuXG4gICAgICBpZiAoIXBheW1lbnREYXRhPy5wYXltZW50TWV0aG9kRGF0YT8udG9rZW5pemF0aW9uRGF0YT8udG9rZW4pIHtcbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignVG9rZW4gaXMgbWlzc2luZycsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICk7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogdG9rZW4gaXMgbWlzc2luZycpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50Py4ocGF5bWVudERhdGEpO1xuXG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZUZhaWxlZFBheW1lbnQ/LihlcnJvcik7XG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcbiAgICAgIHRoaXMuZXJyb3IubmV4dChlcnJvcik7XG5cbiAgICAgIGNvbnN0IGlzQ2xvc2VkQnlVc2VyID0gdGhpcy5pc0Nsb3NlZEJ5VXNlcihcbiAgICAgICAgKGVycm9yIGFzIHsgbWVzc2FnZTogc3RyaW5nIH0pPy5tZXNzYWdlID8/ICcnLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgaXNDYW5jZWxlZFN0YXR1cyA9IHRoaXMuaXNDYW5jZWxlZFN0YXR1cyhcbiAgICAgICAgKGVycm9yIGFzIHsgc3RhdHVzQ29kZTogc3RyaW5nIH0pLnN0YXR1c0NvZGUgPz8gJycsXG4gICAgICApO1xuICAgICAgaWYgKGlzQ2xvc2VkQnlVc2VyIHx8IGlzQ2FuY2VsZWRTdGF0dXMpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gY2hlY2tTdGF0dXNBY3Rpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZUJ1dHRvbihcbiAgICBvbkNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZCxcbiAgICBjb25maWd1cmF0aW9uOiBHb29nbGVQYXlCdXR0b25Db25maWd1cmF0aW9uLFxuICApOiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwge1xuICAgIGlmICghdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxvd2VkUGF5bWVudE1ldGhvZHMgPVxuICAgICAgdGhpcy5wYXltZW50U2VydmljZT8uZ2V0QWxsb3dlZFBheW1lbnRNZXRob2RzKCkgfHwgW107XG5cbiAgICByZXR1cm4gdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmNyZWF0ZUJ1dHRvbih7XG4gICAgICBvbkNsaWNrOiBvbkNsaWNrSGFuZGxlcixcbiAgICAgIGFsbG93ZWRQYXltZW50TWV0aG9kczogYWxsb3dlZFBheW1lbnRNZXRob2RzLFxuICAgICAgYnV0dG9uU2l6ZU1vZGU6ICdmaWxsJyxcbiAgICAgIGJ1dHRvblR5cGU6ICdidXknLFxuICAgICAgYnV0dG9uQ29sb3I6IGNvbmZpZ3VyYXRpb24uY29sb3IgPz8gJ2RlZmF1bHQnLFxuICAgICAgYnV0dG9uTG9jYWxlOiB0aGlzLmdldExvY2FsZUZvckJ1dHRvbihjb25maWd1cmF0aW9uLmxvY2FsZSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwR29vZ2xlUGF5Q2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSB0aGlzLmluaXRQYXJhbXMuaXNTYW5kYm94ID8gJ1RFU1QnIDogJ1BST0RVQ1RJT04nO1xuICAgIGNvbnN0IGdvb2dsZVBheW1lbnRDbGllbnREYXRhOiBHb29nbGVQYXlDbGllbnRJbml0RGF0YSA9IHtcbiAgICAgIGVudmlyb25tZW50LFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5pbml0UGFyYW1zLmlzSW5zdGFudFBheUZsb3cpIHtcbiAgICAgIGdvb2dsZVBheW1lbnRDbGllbnREYXRhLnBheW1lbnREYXRhQ2FsbGJhY2tzID0ge1xuICAgICAgICBvblBheW1lbnREYXRhQ2hhbmdlZDogdGhpcy5vblBheW1lbnREYXRhQ2hhbmdlZCxcbiAgICAgICAgb25QYXltZW50QXV0aG9yaXplZDogdGhpcy5vblBheW1lbnRBdXRob3JpemVkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQgPVxuICAgICAgbmV3IHRoaXMud2luZG93Lmdvb2dsZS5wYXltZW50cy5hcGkuUGF5bWVudHNDbGllbnQoXG4gICAgICAgIGdvb2dsZVBheW1lbnRDbGllbnREYXRhLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Mb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICBjb25zdCByZXRyeVRpbWVvdXQgPSAxMDAwO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNBdmFpbGFibGVHb29nbGVDbGllbnQgPSAhIXRoaXMud2luZG93Lmdvb2dsZTtcblxuICAgICAgICBpZiAoaXNBdmFpbGFibGVHb29nbGVDbGllbnQpIHtcbiAgICAgICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSwgcmV0cnlUaW1lb3V0KTtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBnb29nbGUgbGlicmFyeSBub3cgaXMgYXZhaWxhYmxlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuZW1pdEluaXRpYWxpemUodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXltZW50U2VydmljZSgpOiBHb29nbGVQYXlQYXltZW50U2VydmljZSB7XG4gICAgaWYgKHRoaXMuaW5pdFBhcmFtcy5pc0luc3RhbnRQYXlGbG93KVxuICAgICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIGlzQ2xvc2VkQnlVc2VyKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBtZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3VzZXIgY2xvc2VkIHRoZSBwYXltZW50IHJlcXVlc3QgdWknKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxlZFN0YXR1cyhzdGF0dXNDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdHVzQ29kZS50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsZWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGVGb3JCdXR0b24odXNlckxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhbGxvd2VkTG9jYWxlcyA9IFtcbiAgICAgICdlbicsXG4gICAgICAnYXInLFxuICAgICAgJ2JnJyxcbiAgICAgICdjYScsXG4gICAgICAnY3MnLFxuICAgICAgJ2RhJyxcbiAgICAgICdkZScsXG4gICAgICAnZWwnLFxuICAgICAgJ2VzJyxcbiAgICAgICdldCcsXG4gICAgICAnZmknLFxuICAgICAgJ2ZyJyxcbiAgICAgICdocicsXG4gICAgICAnaWQnLFxuICAgICAgJ2l0JyxcbiAgICAgICdqYScsXG4gICAgICAna28nLFxuICAgICAgJ21zJyxcbiAgICAgICdubCcsXG4gICAgICAnbm8nLFxuICAgICAgJ3BsJyxcbiAgICAgICdwdCcsXG4gICAgICAncnUnLFxuICAgICAgJ3NrJyxcbiAgICAgICdzbCcsXG4gICAgICAnc3InLFxuICAgICAgJ3N2JyxcbiAgICAgICd0aCcsXG4gICAgICAndHInLFxuICAgICAgJ3VrJyxcbiAgICAgICd6aCcsXG4gICAgXTtcblxuICAgIGlmIChbJ2NuJywgJ3poX0hBTlQnXS5pbmNsdWRlcyh1c2VyTG9jYWxlKSkge1xuICAgICAgcmV0dXJuICd6aCc7XG4gICAgfVxuXG4gICAgaWYgKFsnemhfSEFOUyddLmluY2x1ZGVzKHVzZXJMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gJ3R3JztcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsb3dlZExvY2FsZXMuZmluZCgobG9jYWxlKSA9PiBsb2NhbGUgPT09IHVzZXJMb2NhbGUpID8/ICdlbic7XG4gIH1cbn1cbiJdfQ==
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvZ29vZ2xlLXBheS9nb29nbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU0vRCxNQUFNLE9BQU8sZ0JBQWdCO0lBZTNCLElBQVkscUJBQXFCO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlDQUFpQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBRW1CLE1BQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLDhCQUE4RCxFQUM5RCwrQkFBZ0UsRUFDaEUsOEJBQThELEVBQzlELFFBQWtCO1FBTGxCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNo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Q0osSUFBSTtTQUNMLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDeEUsQ0FBQzsrR0E5V1UsZ0JBQWdCLGtCQXdCakIsV0FBVzttSEF4QlYsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBeUJJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2FwcC1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1BheW1lbnREZXZpY2VEYXRhIH0gZnJvbSAnLi9jaGVjay1wYXltZW50LWRldmljZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlJbml0UGFyYW1zIH0gZnJvbSAnLi9nb29nbGUtcGF5LWluaXQtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBHb29nbGVQYXlDbGllbnQsXG4gIEdvb2dsZVBheUNsaWVudEluaXREYXRhLFxuICBQYXltZW50QXV0aG9yaXplZEhhbmRsZXIsXG4gIFBheW1lbnREYXRhQ2hhbmdlZEhhbmRsZXIsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktY2hlY2tvdXQtcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUluc3RhbnRQYXltZW50U2VydmljZSB9IGZyb20gJy4vcGF5bWVudC9nb29nbGUtcGF5LWluc3RhbnQtcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktcGF5bWVudC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5pbXBvcnQgeyBHb29nbGVQYXlCdXR0b25Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9nb29nbGUtcGF5LWJ1dHRvbi1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHb29nbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlTY3JpcHRVcmwgPSAnaHR0cHM6Ly9wYXkuZ29vZ2xlLmNvbS9ncC9wL2pzL3BheS5qcyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWFkeVRvUGF5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFdpbmRvd0lzUmVhZHkgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRXaW5kb3dJc0Nsb3NlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvciA9IG5ldyBTdWJqZWN0PHVua25vd24+KCk7XG5cbiAgcHJpdmF0ZSBnb29nbGVQYXltZW50Q2xpZW50OiBHb29nbGVQYXlDbGllbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpbml0UGFyYW1zITogR29vZ2xlUGF5SW5pdFBhcmFtcztcbiAgcHJpdmF0ZSBwYXltZW50U2VydmljZTogR29vZ2xlUGF5UGF5bWVudFNlcnZpY2UgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG9uUGF5bWVudERhdGFDaGFuZ2VkITogUGF5bWVudERhdGFDaGFuZ2VkSGFuZGxlcjtcbiAgcHJpdmF0ZSBvblBheW1lbnRBdXRob3JpemVkITogUGF5bWVudEF1dGhvcml6ZWRIYW5kbGVyO1xuXG4gIHByaXZhdGUgZ2V0IGxpYnJhcnlXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLndpbmRvdy5nb29nbGU7XG4gIH1cblxuICBwcml2YXRlIGdldCBnb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50O1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZTogUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZTogR29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdvb2dsZVBheUluc3RhbnRQYXltZW50U2VydmljZTogR29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHt9XG5cbiAgcHVibGljIGdldCByZWFkeVRvUGF5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFdpbmRvd0lzUmVhZHkkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRXaW5kb3dJc1JlYWR5LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50V2luZG93SXNDbG9zZSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFdpbmRvd0lzQ2xvc2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5lcnJvci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1JlYWR5VG9QYXkoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0R29vZ2xlUGF5TGlicmFyeShkYXRhOiBHb29nbGVQYXlJbml0UGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5pbml0UGFyYW1zID0gZGF0YTtcbiAgICB0aGlzLm9uUGF5bWVudERhdGFDaGFuZ2VkID0gZGF0YS5vblBheW1lbnREYXRhQ2hhbmdlZDtcbiAgICB0aGlzLm9uUGF5bWVudEF1dGhvcml6ZWQgPSBkYXRhLm9uUGF5bWVudEF1dGhvcml6ZWQ7XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5V2FzSW5pdGlhbGl6ZWQgJiYgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5V2FzSW5pdGlhbGl6ZWQgJiYgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UubG9hZFNjcmlwdChcbiAgICAgIHRoaXMuZ29vZ2xlUGF5U2NyaXB0VXJsLFxuICAgICAgdGhpcy5vbkxvYWRTY3JpcHQuYmluZCh0aGlzKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNoZWNrUGF5bWVudERldmljZShkYXRhOiBDaGVja1BheW1lbnREZXZpY2VEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuaW5pdGlhbGl6ZSRcbiAgICAgIC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignR29vZ2xlIHBheW1lbnQgY2xpZW50IGlzIG5vdCBpbml0aWFsaXplZCcsIFtcbiAgICAgICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICAgICAgYEdvb2dsZSBQYXk6IEdvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWRgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlID0gdGhpcy5nZXRQYXltZW50U2VydmljZSgpO1xuICAgICAgICBjb25zdCBpbml0RGF0YSA9IHRoaXMucGF5bWVudFNlcnZpY2UucHJlcGFyZVBheW1lbnQoe1xuICAgICAgICAgIGluaXRQYXJhbXM6IHRoaXMuaW5pdFBhcmFtcyxcbiAgICAgICAgICBjaGVja0RldmljZURhdGE6IGRhdGEsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghaW5pdERhdGEpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoJ05vIGluaXRpYWxpemF0aW9uIGRhdGEnLCBbRXJyb3JUYWdzLkdPT0dMRVBBWV0pLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBubyBpbml0aWFsaXphdGlvbiBkYXRhJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAuaXNSZWFkeVRvUGF5KGluaXREYXRhLmlzUmVhZHlUb1BheVJlcXVlc3QpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UucmVzdWx0ICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQucHJlZmV0Y2hQYXltZW50RGF0YShcbiAgICAgICAgICAgICAgICBpbml0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QsXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSByZXNwb25zZS5yZXN1bHQ/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICAgICAgICBjb25zdCBpc0hhdmVQYXltZW50Q2xpZW50ID0gQm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LFxuICAgICAgICAgICAgKS50b1N0cmluZygpO1xuXG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYEdvb2dsZSBQYXk6IHBvc3NpYmx5IG5vIHJlc3BvbnNlLnJlc3VsdCBvciBnb29nbGVQYXltZW50Q2xpZW50IGlzIG1pc3NpbmcsIHJlc3VsdCAtICR7cmVzdWx0fSwgaXNIYXZlUGF5bWVudENsaWVudCAtICR7aXNIYXZlUGF5bWVudENsaWVudH1gO1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IobWVzc2FnZSwgW0Vycm9yVGFncy5HT09HTEVQQVldKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG5cbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gKGVycm9yIGFzIHN0cmluZykgPz8gJyc7XG5cbiAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcihcbiAgICAgICAgICAgICAgICBgR29vZ2xlIFBheTogZGV2aWNlIGlzIG5vdCByZWFkeSB0byBwYXksICR7bWVzc2FnZX1gLFxuICAgICAgICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm9jZWVkQ2hlY2tvdXQoKTogUHJvbWlzZTxDaGVja1N0YXR1c0FjdGlvbiB8IG51bGw+IHtcbiAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgY2xpZW50YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihcbiAgICAgICAgICAnR29vZ2xlIHBheW1lbnQgc2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgc2VydmljZWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudFJlcXVlc3QoKTtcblxuICAgIGlmICghcGF5bWVudERhdGFSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gZGF0YSBmb3IgcGF5bWVudCBkYXRhIHJlcXVlc3QnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBObyBkYXRhIGZvciBwYXltZW50IGRhdGEgcmVxdWVzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wYXltZW50V2luZG93SXNSZWFkeS5uZXh0KCk7XG5cbiAgICAgIGNvbnN0IHBheW1lbnREYXRhID1cbiAgICAgICAgYXdhaXQgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmxvYWRQYXltZW50RGF0YShwYXltZW50RGF0YVJlcXVlc3QpO1xuXG4gICAgICBpZiAoIXBheW1lbnREYXRhPy5wYXltZW50TWV0aG9kRGF0YT8udG9rZW5pemF0aW9uRGF0YT8udG9rZW4pIHtcbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignVG9rZW4gaXMgbWlzc2luZycsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICk7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogdG9rZW4gaXMgbWlzc2luZycpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50Py4ocGF5bWVudERhdGEpO1xuXG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZUZhaWxlZFBheW1lbnQ/LihlcnJvcik7XG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcbiAgICAgIHRoaXMuZXJyb3IubmV4dChlcnJvcik7XG5cbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IChlcnJvciBhcyB7IG1lc3NhZ2U6IHN0cmluZyB9KT8ubWVzc2FnZSA/PyAnJztcbiAgICAgIGNvbnN0IGVycm9yU3RhdHVzQ29kZSA9XG4gICAgICAgIChlcnJvciBhcyB7IHN0YXR1c0NvZGU6IHN0cmluZyB9KT8uc3RhdHVzQ29kZSA/PyAnJztcblxuICAgICAgY29uc3QgaXNDbG9zZWRCeVVzZXIgPSB0aGlzLmlzQ2xvc2VkQnlVc2VyKGVycm9yTWVzc2FnZSk7XG4gICAgICBjb25zdCBpc0NhbmNlbGVkU3RhdHVzID0gdGhpcy5pc0NhbmNlbGVkU3RhdHVzKGVycm9yU3RhdHVzQ29kZSk7XG5cbiAgICAgIGlmIChpc0Nsb3NlZEJ5VXNlciB8fCBpc0NhbmNlbGVkU3RhdHVzKSByZXR1cm4gbnVsbDtcblxuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoYEdvb2dsZSBQYXk6IHByb2NlZWRDaGVja291dCBmYWlsZWQsICR7ZXJyb3JNZXNzYWdlfWAsIFtcbiAgICAgICAgICBFcnJvclRhZ3MuR09PR0xFUEFZLFxuICAgICAgICBdKSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQnV0dG9uKFxuICAgIG9uQ2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkLFxuICAgIGNvbmZpZ3VyYXRpb246IEdvb2dsZVBheUJ1dHRvbkNvbmZpZ3VyYXRpb24sXG4gICk6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgcGF5bWVudCBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkIHRvIGNyZWF0ZSBidXR0b24nLFxuICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxvd2VkUGF5bWVudE1ldGhvZHMgPVxuICAgICAgdGhpcy5wYXltZW50U2VydmljZT8uZ2V0QWxsb3dlZFBheW1lbnRNZXRob2RzKCkgfHwgW107XG5cbiAgICByZXR1cm4gdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmNyZWF0ZUJ1dHRvbih7XG4gICAgICBvbkNsaWNrOiBvbkNsaWNrSGFuZGxlcixcbiAgICAgIGFsbG93ZWRQYXltZW50TWV0aG9kczogYWxsb3dlZFBheW1lbnRNZXRob2RzLFxuICAgICAgYnV0dG9uU2l6ZU1vZGU6ICdmaWxsJyxcbiAgICAgIGJ1dHRvblR5cGU6ICdidXknLFxuICAgICAgYnV0dG9uQ29sb3I6IGNvbmZpZ3VyYXRpb24uY29sb3IgPz8gJ2RlZmF1bHQnLFxuICAgICAgYnV0dG9uTG9jYWxlOiB0aGlzLmdldExvY2FsZUZvckJ1dHRvbihjb25maWd1cmF0aW9uLmxvY2FsZSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwR29vZ2xlUGF5Q2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignR29vZ2xlIFBheSBsaWJyYXJ5IGlzIG5vdCBhdmFpbGFibGUgb24gd2luZG93JywgW1xuICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnZpcm9ubWVudCA9IHRoaXMuaW5pdFBhcmFtcy5pc1NhbmRib3ggPyAnVEVTVCcgOiAnUFJPRFVDVElPTic7XG4gICAgY29uc3QgZ29vZ2xlUGF5bWVudENsaWVudERhdGE6IEdvb2dsZVBheUNsaWVudEluaXREYXRhID0ge1xuICAgICAgZW52aXJvbm1lbnQsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmluaXRQYXJhbXMuaXNJbnN0YW50UGF5Rmxvdykge1xuICAgICAgZ29vZ2xlUGF5bWVudENsaWVudERhdGEucGF5bWVudERhdGFDYWxsYmFja3MgPSB7XG4gICAgICAgIG9uUGF5bWVudERhdGFDaGFuZ2VkOiB0aGlzLm9uUGF5bWVudERhdGFDaGFuZ2VkLFxuICAgICAgICBvblBheW1lbnRBdXRob3JpemVkOiB0aGlzLm9uUGF5bWVudEF1dGhvcml6ZWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCA9XG4gICAgICBuZXcgdGhpcy53aW5kb3cuZ29vZ2xlLnBheW1lbnRzLmFwaS5QYXltZW50c0NsaWVudChcbiAgICAgICAgZ29vZ2xlUGF5bWVudENsaWVudERhdGEsXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkxvYWRTY3JpcHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5nb29nbGUpIHtcbiAgICAgIGNvbnN0IHJldHJ5VGltZW91dCA9IDEwMDA7XG5cbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgUGF5OiBsaWJyYXJ5IG5vdCBhdmFpbGFibGUgYWZ0ZXIgc2NyaXB0IGxvYWQsIHJldHJ5aW5nJyxcbiAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICksXG4gICAgICApO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNBdmFpbGFibGVHb29nbGVDbGllbnQgPSAhIXRoaXMud2luZG93Lmdvb2dsZTtcblxuICAgICAgICBpZiAoaXNBdmFpbGFibGVHb29nbGVDbGllbnQpIHtcbiAgICAgICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSwgcmV0cnlUaW1lb3V0KTtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBnb29nbGUgbGlicmFyeSBub3cgaXMgYXZhaWxhYmxlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuZW1pdEluaXRpYWxpemUodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXltZW50U2VydmljZSgpOiBHb29nbGVQYXlQYXltZW50U2VydmljZSB7XG4gICAgaWYgKHRoaXMuaW5pdFBhcmFtcy5pc0luc3RhbnRQYXlGbG93KVxuICAgICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIGlzQ2xvc2VkQnlVc2VyKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBtZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3VzZXIgY2xvc2VkIHRoZSBwYXltZW50IHJlcXVlc3QgdWknKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxlZFN0YXR1cyhzdGF0dXNDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdHVzQ29kZS50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsZWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGVGb3JCdXR0b24odXNlckxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhbGxvd2VkTG9jYWxlcyA9IFtcbiAgICAgICdlbicsXG4gICAgICAnYXInLFxuICAgICAgJ2JnJyxcbiAgICAgICdjYScsXG4gICAgICAnY3MnLFxuICAgICAgJ2RhJyxcbiAgICAgICdkZScsXG4gICAgICAnZWwnLFxuICAgICAgJ2VzJyxcbiAgICAgICdldCcsXG4gICAgICAnZmknLFxuICAgICAgJ2ZyJyxcbiAgICAgICdocicsXG4gICAgICAnaWQnLFxuICAgICAgJ2l0JyxcbiAgICAgICdqYScsXG4gICAgICAna28nLFxuICAgICAgJ21zJyxcbiAgICAgICdubCcsXG4gICAgICAnbm8nLFxuICAgICAgJ3BsJyxcbiAgICAgICdwdCcsXG4gICAgICAncnUnLFxuICAgICAgJ3NrJyxcbiAgICAgICdzbCcsXG4gICAgICAnc3InLFxuICAgICAgJ3N2JyxcbiAgICAgICd0aCcsXG4gICAgICAndHInLFxuICAgICAgJ3VrJyxcbiAgICAgICd6aCcsXG4gICAgXTtcblxuICAgIGlmIChbJ2NuJywgJ3poX0hBTlQnXS5pbmNsdWRlcyh1c2VyTG9jYWxlKSkge1xuICAgICAgcmV0dXJuICd6aCc7XG4gICAgfVxuXG4gICAgaWYgKFsnemhfSEFOUyddLmluY2x1ZGVzKHVzZXJMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gJ3R3JztcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsb3dlZExvY2FsZXMuZmluZCgobG9jYWxlKSA9PiBsb2NhbGUgPT09IHVzZXJMb2NhbGUpID8/ICdlbic7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
|
|
3
|
+
import { TaggedError } from '../../../exceptions-handling/errors';
|
|
4
|
+
import { ErrorTags } from '../../../exceptions-handling/errors/elk-error-types.enum';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "../../payment-systems/payment-system-processing.service";
|
|
5
7
|
import * as i2 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
|
|
8
|
+
import * as i3 from "../../../exceptions-handling/logger/logger.service";
|
|
6
9
|
export class GooglePayCheckoutPaymentService {
|
|
7
|
-
constructor(paymentSystemProcessingService, userBehaviourAnalyticsService) {
|
|
10
|
+
constructor(paymentSystemProcessingService, userBehaviourAnalyticsService, loggerService) {
|
|
8
11
|
this.paymentSystemProcessingService = paymentSystemProcessingService;
|
|
9
12
|
this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
|
|
13
|
+
this.loggerService = loggerService;
|
|
10
14
|
this.checkout = null;
|
|
11
15
|
}
|
|
12
16
|
preparePayment({ initParams, checkDeviceData, }) {
|
|
13
|
-
if (!initParams || !checkDeviceData.base64checkoutData)
|
|
17
|
+
if (!initParams || !checkDeviceData.base64checkoutData) {
|
|
18
|
+
this.loggerService.error(new TaggedError('Google Pay checkout: missing initParams or base64checkoutData', [ErrorTags.GOOGLEPAY]));
|
|
14
19
|
return null;
|
|
20
|
+
}
|
|
15
21
|
this.initParams = initParams;
|
|
16
22
|
this.checkout =
|
|
17
23
|
this.paymentSystemProcessingService.getDecodedCheckout(checkDeviceData.base64checkoutData);
|
|
18
|
-
if (!this.checkout)
|
|
24
|
+
if (!this.checkout) {
|
|
25
|
+
this.loggerService.error(new TaggedError('Google Pay checkout: failed to decode checkout data', [
|
|
26
|
+
ErrorTags.GOOGLEPAY,
|
|
27
|
+
]));
|
|
19
28
|
return null;
|
|
29
|
+
}
|
|
20
30
|
const checkoutData = this.checkout.request.form.fields;
|
|
21
31
|
const paymentDataRequest = JSON.parse(checkoutData.paymentDataRequest);
|
|
22
32
|
const isReadyToPayRequest = JSON.parse(checkoutData.isReadyToPayRequest);
|
|
@@ -68,7 +78,7 @@ export class GooglePayCheckoutPaymentService {
|
|
|
68
78
|
isCancelledStatus(statusCode) {
|
|
69
79
|
return statusCode.toLowerCase() === 'canceled';
|
|
70
80
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, deps: [{ token: i1.PaymentSystemProcessingService }, { token: i2.UserBehaviourAnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, deps: [{ token: i1.PaymentSystemProcessingService }, { token: i2.UserBehaviourAnalyticsService }, { token: i3.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
82
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, providedIn: 'root' }); }
|
|
73
83
|
}
|
|
74
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, decorators: [{
|
|
@@ -76,5 +86,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
76
86
|
args: [{
|
|
77
87
|
providedIn: 'root',
|
|
78
88
|
}]
|
|
79
|
-
}], ctorParameters: () => [{ type: i1.PaymentSystemProcessingService }, { type: i2.UserBehaviourAnalyticsService }] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L3BheW1lbnQvZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWUzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7OztBQUsxRyxNQUFNLE9BQU8sK0JBQStCO0lBTTFDLFlBQ2tCLDhCQUE4RCxFQUM3RCw2QkFBNEQ7UUFEN0QsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUM3RCxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBSnZFLGFBQVEsR0FBNkIsSUFBSSxDQUFDO0lBSy9DLENBQUM7SUFFRyxjQUFjLENBQUMsRUFDcEIsVUFBVSxFQUNWLGVBQWUsR0FDTTtRQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQjtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXBFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRO1lBQ1gsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGtCQUFrQixDQUNwRCxlQUFlLENBQUMsa0JBQWtCLENBQ25DLENBQUM7UUFFSixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVoQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQW1CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztRQUUzRSxJQUFJLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN0QyxZQUFZLENBQUMsb0JBQW9CLENBQ2xDLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVoQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDbkMsWUFBWSxDQUFDLGtCQUFrQixDQUNMLENBQUM7UUFFN0Isa0JBQWtCLENBQUMsZUFBZSxHQUFHO1lBQ25DLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUTtZQUNuQyxnQkFBZ0IsRUFBRSxPQUFPO1lBQ3pCLFVBQVUsRUFBRSxZQUFZLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRTtZQUN4QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1NBQ25ELENBQUM7UUFFRixPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFTSx3QkFBd0I7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFOUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUMxQixDQUFDO1FBRTdCLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUM7SUFDbEQsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTZCO1FBQzFELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQ3JDLHNCQUFzQixDQUFDLGdDQUFnQyxFQUN2RCxRQUFRLEVBQ1IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLEVBQUUsQ0FDeEUsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFM0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUVuRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQy9DLFNBQVMsSUFBSSxlQUFlLElBQUksQ0FBQyxVQUFVLGVBQ3pDLElBQUksQ0FBQyxVQUNQLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFFM0MsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBYztRQUN2QyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUNyQyxzQkFBc0IsQ0FBQyw0QkFBNEIsRUFDbkQsUUFBUSxFQUNSLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsYUFBYSxJQUFJLEVBQUUsRUFBRSxDQUNyRSxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUzQixNQUFNLFVBQVUsR0FBSSxLQUFpQyxFQUFFLFVBQVUsQ0FBQztRQUNsRSxNQUFNLGdCQUFnQixHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFMUUsSUFBSSxnQkFBZ0I7WUFBRSxPQUFPO1FBRTdCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQ2xFLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNqRCxDQUFDOytHQTNHVSwrQkFBK0I7bUhBQS9CLCtCQUErQixjQUY5QixNQUFNOzs0RkFFUCwrQkFBK0I7a0JBSDNDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlDaGVja291dCB9IGZyb20gJy4uL2dvb2dsZS1wYXktY2hlY2tvdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUluaXRQYXJhbXMgfSBmcm9tICcuLi9nb29nbGUtcGF5LWluaXQtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBBbGxvd2VkUGF5bWVudE1ldGhvZCxcbiAgR29vZ2xlSW5pdERhdGEsXG4gIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0LFxuICBQYXltZW50RGF0YVJlc3BvbnNlLFxufSBmcm9tICcuLi9nb29nbGUtcGF5LWxpYnJhcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlLFxuICBQcmVwYXJlUGF5bWVudFBhcmFtcyxcbn0gZnJvbSAnLi9nb29nbGUtcGF5LXBheW1lbnQtc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZVxuICBpbXBsZW1lbnRzIEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlXG57XG4gIHByaXZhdGUgaW5pdFBhcmFtcyE6IEdvb2dsZVBheUluaXRQYXJhbXM7XG4gIHByaXZhdGUgY2hlY2tvdXQ6IEdvb2dsZVBheUNoZWNrb3V0IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2U6IFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBwcmVwYXJlUGF5bWVudCh7XG4gICAgaW5pdFBhcmFtcyxcbiAgICBjaGVja0RldmljZURhdGEsXG4gIH06IFByZXBhcmVQYXltZW50UGFyYW1zKTogR29vZ2xlSW5pdERhdGEgfCBudWxsIHtcbiAgICBpZiAoIWluaXRQYXJhbXMgfHwgIWNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEpIHJldHVybiBudWxsO1xuXG4gICAgdGhpcy5pbml0UGFyYW1zID0gaW5pdFBhcmFtcztcbiAgICB0aGlzLmNoZWNrb3V0ID1cbiAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmdldERlY29kZWRDaGVja291dDxHb29nbGVQYXlDaGVja291dD4oXG4gICAgICAgIGNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEsXG4gICAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QpO1xuICAgIGNvbnN0IGlzUmVhZHlUb1BheVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5pc1JlYWR5VG9QYXlSZXF1ZXN0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogR29vZ2xlSW5pdERhdGEgPSB7IHBheW1lbnREYXRhUmVxdWVzdCwgaXNSZWFkeVRvUGF5UmVxdWVzdCB9O1xuXG4gICAgaWYgKGNoZWNrb3V0RGF0YS5hbWV4Q2FyZE5vdGlmaWNhdGlvbikge1xuICAgICAgcmVzdWx0LmFtZXhDYXJkTm90aWZpY2F0aW9uID0gSlNPTi5wYXJzZShcbiAgICAgICAgY2hlY2tvdXREYXRhLmFtZXhDYXJkTm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldFBheW1lbnRSZXF1ZXN0KCk6IEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcGF5bWVudERhdGFSZXF1ZXN0LnRyYW5zYWN0aW9uSW5mbyA9IHtcbiAgICAgIGN1cnJlbmN5Q29kZTogY2hlY2tvdXREYXRhLmN1cnJlbmN5LFxuICAgICAgdG90YWxQcmljZVN0YXR1czogJ0ZJTkFMJyxcbiAgICAgIHRvdGFsUHJpY2U6IGNoZWNrb3V0RGF0YS5zdW0/LnRvU3RyaW5nKCksXG4gICAgICBjb3VudHJ5Q29kZTogdGhpcy5pbml0UGFyYW1zLmNvdW50cnkudG9VcHBlckNhc2UoKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxvd2VkUGF5bWVudE1ldGhvZHMoKTogQWxsb3dlZFBheW1lbnRNZXRob2RbXSB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gW107XG5cbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdC5hbGxvd2VkUGF5bWVudE1ldGhvZHM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU3VjY2Vzc2Z1bFBheW1lbnQocmVzcG9uc2U6IFBheW1lbnREYXRhUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmdvb2dsZVBheUhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50LFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiB0aGlzLmNoZWNrb3V0Py5yZXF1ZXN0Py5mb3JtPy5maWVsZHM/LnJldHVyblN1Y2Nlc3NVcmwgPz8gJycgfSxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBsZXQgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmw7XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgIHJldHVyblVybCArPSBgJmNwZl9udW1iZXI9JHtkYXRhLmNwZl9udW1iZXJ9JmRlc2NyaXB0b3I9JHtcbiAgICAgIGRhdGEuZGVzY3JpcHRvclxuICAgIH0mcGF5bWVudERhdGE9JHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YDtcblxuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGYWlsZWRQYXltZW50KGVycm9yOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5nb29nbGVQYXlIYW5kbGVGYWlsZWRQYXltZW50LFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiB0aGlzLmNoZWNrb3V0Py5yZXF1ZXN0Py5mb3JtPy5maWVsZHM/LnJldHVybkZhaWxVcmwgPz8gJycgfSxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBjb25zdCBzdGF0dXNDb2RlID0gKGVycm9yIGFzIHsgc3RhdHVzQ29kZT86IHN0cmluZyB9KT8uc3RhdHVzQ29kZTtcbiAgICBjb25zdCBpc1N0YXR1c0NhbmNlbGVkID0gc3RhdHVzQ29kZSAmJiB0aGlzLmlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGUpO1xuXG4gICAgaWYgKGlzU3RhdHVzQ2FuY2VsZWQpIHJldHVybjtcblxuICAgIGNvbnN0IHJldHVyblVybCA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcy5yZXR1cm5GYWlsVXJsO1xuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxsZWRTdGF0dXMoc3RhdHVzQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXR1c0NvZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbGVkJztcbiAgfVxufVxuIl19
|
|
89
|
+
}], ctorParameters: () => [{ type: i1.PaymentSystemProcessingService }, { type: i2.UserBehaviourAnalyticsService }, { type: i3.LoggerService }] });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L3BheW1lbnQvZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWUzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUUxRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7OztBQUtyRixNQUFNLE9BQU8sK0JBQStCO0lBTTFDLFlBQ2tCLDhCQUE4RCxFQUM3RCw2QkFBNEQsRUFDNUQsYUFBNEI7UUFGN0IsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUM3RCxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBQzVELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTHZDLGFBQVEsR0FBNkIsSUFBSSxDQUFDO0lBTS9DLENBQUM7SUFFRyxjQUFjLENBQUMsRUFDcEIsVUFBVSxFQUNWLGVBQWUsR0FDTTtRQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3RCLElBQUksV0FBVyxDQUNiLCtEQUErRCxFQUMvRCxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FDdEIsQ0FDRixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVE7WUFDWCxJQUFJLENB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QztRQUUzQyxJQUFJLENBQUMsOEJBQThCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3ZDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQ3JDLHNCQUFzQixDQUFDLDRCQUE0QixFQUNuRCxRQUFRLEVBQ1IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLElBQUksRUFBRSxFQUFFLENBQ3JFLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTNCLE1BQU0sVUFBVSxHQUFJLEtBQWlDLEVBQUUsVUFBVSxDQUFDO1FBQ2xFLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxRSxJQUFJLGdCQUFnQjtZQUFFLE9BQU87UUFFN0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDbEUsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8saUJBQWlCLENBQUMsVUFBa0I7UUFDMUMsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDO0lBQ2pELENBQUM7K0dBM0hVLCtCQUErQjttSEFBL0IsK0JBQStCLGNBRjlCLE1BQU07OzRGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50LXN5c3RlbXMvcGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUNoZWNrb3V0IH0gZnJvbSAnLi4vZ29vZ2xlLXBheS1jaGVja291dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5pdFBhcmFtcyB9IGZyb20gJy4uL2dvb2dsZS1wYXktaW5pdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEFsbG93ZWRQYXltZW50TWV0aG9kLFxuICBHb29nbGVJbml0RGF0YSxcbiAgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3QsXG4gIFBheW1lbnREYXRhUmVzcG9uc2UsXG59IGZyb20gJy4uL2dvb2dsZS1wYXktbGlicmFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgR29vZ2xlUGF5UGF5bWVudFNlcnZpY2UsXG4gIFByZXBhcmVQYXltZW50UGFyYW1zLFxufSBmcm9tICcuL2dvb2dsZS1wYXktcGF5bWVudC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlXG4gIGltcGxlbWVudHMgR29vZ2xlUGF5UGF5bWVudFNlcnZpY2VcbntcbiAgcHJpdmF0ZSBpbml0UGFyYW1zITogR29vZ2xlUGF5SW5pdFBhcmFtcztcbiAgcHJpdmF0ZSBjaGVja291dDogR29vZ2xlUGF5Q2hlY2tvdXQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZTogUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBwcmVwYXJlUGF5bWVudCh7XG4gICAgaW5pdFBhcmFtcyxcbiAgICBjaGVja0RldmljZURhdGEsXG4gIH06IFByZXBhcmVQYXltZW50UGFyYW1zKTogR29vZ2xlSW5pdERhdGEgfCBudWxsIHtcbiAgICBpZiAoIWluaXRQYXJhbXMgfHwgIWNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgUGF5IGNoZWNrb3V0OiBtaXNzaW5nIGluaXRQYXJhbXMgb3IgYmFzZTY0Y2hlY2tvdXREYXRhJyxcbiAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0UGFyYW1zID0gaW5pdFBhcmFtcztcbiAgICB0aGlzLmNoZWNrb3V0ID1cbiAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmdldERlY29kZWRDaGVja291dDxHb29nbGVQYXlDaGVja291dD4oXG4gICAgICAgIGNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEsXG4gICAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignR29vZ2xlIFBheSBjaGVja291dDogZmFpbGVkIHRvIGRlY29kZSBjaGVja291dCBkYXRhJywgW1xuICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QpO1xuICAgIGNvbnN0IGlzUmVhZHlUb1BheVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5pc1JlYWR5VG9QYXlSZXF1ZXN0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogR29vZ2xlSW5pdERhdGEgPSB7IHBheW1lbnREYXRhUmVxdWVzdCwgaXNSZWFkeVRvUGF5UmVxdWVzdCB9O1xuXG4gICAgaWYgKGNoZWNrb3V0RGF0YS5hbWV4Q2FyZE5vdGlmaWNhdGlvbikge1xuICAgICAgcmVzdWx0LmFtZXhDYXJkTm90aWZpY2F0aW9uID0gSlNPTi5wYXJzZShcbiAgICAgICAgY2hlY2tvdXREYXRhLmFtZXhDYXJkTm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldFBheW1lbnRSZXF1ZXN0KCk6IEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcGF5bWVudERhdGFSZXF1ZXN0LnRyYW5zYWN0aW9uSW5mbyA9IHtcbiAgICAgIGN1cnJlbmN5Q29kZTogY2hlY2tvdXREYXRhLmN1cnJlbmN5LFxuICAgICAgdG90YWxQcmljZVN0YXR1czogJ0ZJTkFMJyxcbiAgICAgIHRvdGFsUHJpY2U6IGNoZWNrb3V0RGF0YS5zdW0/LnRvU3RyaW5nKCksXG4gICAgICBjb3VudHJ5Q29kZTogdGhpcy5pbml0UGFyYW1zLmNvdW50cnkudG9VcHBlckNhc2UoKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxvd2VkUGF5bWVudE1ldGhvZHMoKTogQWxsb3dlZFBheW1lbnRNZXRob2RbXSB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gW107XG5cbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdC5hbGxvd2VkUGF5bWVudE1ldGhvZHM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU3VjY2Vzc2Z1bFBheW1lbnQocmVzcG9uc2U6IFBheW1lbnREYXRhUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmdvb2dsZVBheUhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50LFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiB0aGlzLmNoZWNrb3V0Py5yZXF1ZXN0Py5mb3JtPy5maWVsZHM/LnJldHVyblN1Y2Nlc3NVcmwgPz8gJycgfSxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBsZXQgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmw7XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgIHJldHVyblVybCArPSBgJmNwZl9udW1iZXI9JHtkYXRhLmNwZl9udW1iZXJ9JmRlc2NyaXB0b3I9JHtcbiAgICAgIGRhdGEuZGVzY3JpcHRvclxuICAgIH0mcGF5bWVudERhdGE9JHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YDtcblxuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGYWlsZWRQYXltZW50KGVycm9yOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5nb29nbGVQYXlIYW5kbGVGYWlsZWRQYXltZW50LFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiB0aGlzLmNoZWNrb3V0Py5yZXF1ZXN0Py5mb3JtPy5maWVsZHM/LnJldHVybkZhaWxVcmwgPz8gJycgfSxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBjb25zdCBzdGF0dXNDb2RlID0gKGVycm9yIGFzIHsgc3RhdHVzQ29kZT86IHN0cmluZyB9KT8uc3RhdHVzQ29kZTtcbiAgICBjb25zdCBpc1N0YXR1c0NhbmNlbGVkID0gc3RhdHVzQ29kZSAmJiB0aGlzLmlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGUpO1xuXG4gICAgaWYgKGlzU3RhdHVzQ2FuY2VsZWQpIHJldHVybjtcblxuICAgIGNvbnN0IHJldHVyblVybCA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcy5yZXR1cm5GYWlsVXJsO1xuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxsZWRTdGF0dXMoc3RhdHVzQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXR1c0NvZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbGVkJztcbiAgfVxufVxuIl19
|