@xsolla/payment-client-core 0.2.9 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/core/payment/actions/next-action.interface.mjs +1 -1
- package/esm2020/lib/core/payment/actions/next-actions.mjs +3 -1
- package/esm2020/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.mjs +26 -0
- package/esm2020/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.type.mjs +2 -0
- package/esm2020/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +6 -3
- package/esm2020/lib/core/payment/actions/show-qr-code/show-qr-code.action.type.mjs +1 -1
- package/esm2020/lib/core/payment/form-response.interface.mjs +1 -1
- package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
- package/esm2020/lib/core/payment/payment.service.mjs +24 -7
- package/esm2020/lib/core/payment/status/status.service.mjs +4 -1
- package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.mjs +2 -1
- package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +13 -6
- package/esm2020/lib/core/user-agent/user-agent.service.mjs +12 -1
- package/esm2020/lib/core-library.service.mjs +2 -1
- package/fesm2015/xsolla-payment-client-core.mjs +78 -11
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +76 -11
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/actions/next-action.interface.d.ts +2 -1
- package/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.d.ts +11 -0
- package/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.type.d.ts +6 -0
- package/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.d.ts +1 -1
- package/lib/core/payment/actions/show-qr-code/show-qr-code.action.type.d.ts +4 -1
- package/lib/core/payment/form-response.interface.d.ts +1 -0
- package/lib/core/payment/payment.interface.d.ts +1 -0
- package/lib/core/payment/payment.service.d.ts +4 -1
- package/lib/core/payment/status/status.service.d.ts +3 -0
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.d.ts +1 -0
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +2 -1
- package/lib/core/user-agent/user-agent.service.d.ts +1 -0
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.11.tgz +0 -0
- package/xsolla-payment-client-core-0.2.9.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd0ZpZWxkc0FjdGlvbiB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbiB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgUmVkaXJlY3RBY3Rpb24gfSBmcm9tICcuL3JlZGlyZWN0L3JlZGlyZWN0LmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb24gfSBmcm9tICcuL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFRocmVlRHNBY3Rpb24gfSBmcm9tICcuL3RocmVlLWRzL3RocmVlLWRzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNwZWNpYWxCdXR0b25BY3Rpb24gfSBmcm9tICcuL3NwZWNpYWwtYnV0dG9uL3NwZWNpYWwtYnV0dG9uLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNob3dRckNvZGVBY3Rpb24gfSBmcm9tICcuL3Nob3ctcXItY29kZS9zaG93LXFyLWNvZGUuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb24gfSBmcm9tICcuL3Nob3ctbW9iaWxlLXBheW1lbnQtc2NyZWVuL3Nob3ctbW9iaWxlLXBheW1lbnQtc2NyZWVuLmFjdGlvbi50eXBlJztcblxuZXhwb3J0IHR5cGUgTmV4dEFjdGlvbiA9XG4gIHwgQ2hlY2tTdGF0dXNBY3Rpb25cbiAgfCBTaG93RmllbGRzQWN0aW9uXG4gIHwgU3RhdHVzVXBkYXRlZEFjdGlvblxuICB8IFNob3dFcnJvcnNBY3Rpb25cbiAgfCBSZWRpcmVjdEFjdGlvblxuICB8IFRocmVlRHNBY3Rpb25cbiAgfCBTcGVjaWFsQnV0dG9uQWN0aW9uXG4gIHwgU2hvd1FyQ29kZUFjdGlvblxuICB8IFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uO1xuIl19
|
|
@@ -7,6 +7,7 @@ import { StatusUpdatedActionCreator } from './status-updated/status-updated.acti
|
|
|
7
7
|
import { ThreeDsActionCreator } from './three-ds/three-ds.action.class';
|
|
8
8
|
import { SpecialButtonActionCreator } from './special-button/special-button.action.class';
|
|
9
9
|
import { ShowQrCodeActionCreator } from './show-qr-code/show-qr-code.action.class';
|
|
10
|
+
import { ShowMobilePaymentScreenActionCreator } from './show-mobile-payment-screen/show-mobile-payment-screen.action.class';
|
|
10
11
|
export const nextActionsToken = new InjectionToken('Action');
|
|
11
12
|
export const nextActions = [
|
|
12
13
|
ShowFieldsActionCreator,
|
|
@@ -14,10 +15,11 @@ export const nextActions = [
|
|
|
14
15
|
SpecialButtonActionCreator,
|
|
15
16
|
ShowQrCodeActionCreator,
|
|
16
17
|
RedirectActionCreator,
|
|
18
|
+
ShowMobilePaymentScreenActionCreator,
|
|
17
19
|
];
|
|
18
20
|
export const flowUpdateNextActions = [
|
|
19
21
|
ShowErrorsActionCreator,
|
|
20
22
|
StatusUpdatedActionCreator,
|
|
21
23
|
ThreeDsActionCreator,
|
|
22
24
|
];
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUk1SCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsUUFBUSxDQUFDLENBQUM7QUFFNUUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFxQjtJQUMzQyx1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLDBCQUEwQjtJQUMxQix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLG9DQUFvQztDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXFCO0lBQ3JELHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsb0JBQW9CO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXJUb2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWRpcmVjdEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3JlZGlyZWN0L3JlZGlyZWN0LmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBTaG93RmllbGRzQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFRocmVlRHNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi90aHJlZS1kcy90aHJlZS1kcy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgU3BlY2lhbEJ1dHRvbkFjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3NwZWNpYWwtYnV0dG9uL3NwZWNpYWwtYnV0dG9uLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBTaG93UXJDb2RlQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vc2hvdy1xci1jb2RlL3Nob3ctcXItY29kZS5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9zaG93LW1vYmlsZS1wYXltZW50LXNjcmVlbi9zaG93LW1vYmlsZS1wYXltZW50LXNjcmVlbi5hY3Rpb24uY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBOZXh0QWN0aW9uVG9rZW5zID0gQXJyYXk8UHJvdmlkZXJUb2tlbjxBY3Rpb25DcmVhdG9yPj47XG5cbmV4cG9ydCBjb25zdCBuZXh0QWN0aW9uc1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPEFjdGlvbkNyZWF0b3I+KCdBY3Rpb24nKTtcblxuZXhwb3J0IGNvbnN0IG5leHRBY3Rpb25zOiBOZXh0QWN0aW9uVG9rZW5zID0gW1xuICBTaG93RmllbGRzQWN0aW9uQ3JlYXRvcixcbiAgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yLFxuICBTcGVjaWFsQnV0dG9uQWN0aW9uQ3JlYXRvcixcbiAgU2hvd1FyQ29kZUFjdGlvbkNyZWF0b3IsXG4gIFJlZGlyZWN0QWN0aW9uQ3JlYXRvcixcbiAgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb25DcmVhdG9yLFxuXTtcblxuZXhwb3J0IGNvbnN0IGZsb3dVcGRhdGVOZXh0QWN0aW9uczogTmV4dEFjdGlvblRva2VucyA9IFtcbiAgU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IsXG4gIFN0YXR1c1VwZGF0ZWRBY3Rpb25DcmVhdG9yLFxuICBUaHJlZURzQWN0aW9uQ3JlYXRvcixcbl07XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { XpsCommand } from '../../xps-comand.enum';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ShowMobilePaymentScreenActionCreator {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.type = 'show_mobile_payment_screen';
|
|
7
|
+
}
|
|
8
|
+
getActionData(response) {
|
|
9
|
+
const submitButtonText = response.parameters.buyData.value;
|
|
10
|
+
return {
|
|
11
|
+
type: this.type,
|
|
12
|
+
data: {
|
|
13
|
+
submitButtonText,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
isSuitable(response) {
|
|
18
|
+
return response.currentCommand === XpsCommand.create;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ShowMobilePaymentScreenActionCreator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ShowMobilePaymentScreenActionCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
ShowMobilePaymentScreenActionCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ShowMobilePaymentScreenActionCreator });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ShowMobilePaymentScreenActionCreator, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1tb2JpbGUtcGF5bWVudC1zY3JlZW4uYWN0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3Nob3ctbW9iaWxlLXBheW1lbnQtc2NyZWVuL3Nob3ctbW9iaWxlLXBheW1lbnQtc2NyZWVuLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLG9DQUFvQztJQURqRDtRQUVTLFNBQUksR0FBc0MsNEJBQTRCLENBQUM7S0FpQi9FO0lBZlEsYUFBYSxDQUNsQixRQUF3QjtRQUV4QixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMzRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFO2dCQUNKLGdCQUFnQjthQUNqQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVSxDQUFDLFFBQXdCO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLGNBQWMsS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ3ZELENBQUM7O2lJQWpCVSxvQ0FBb0M7cUlBQXBDLG9DQUFvQzsyRkFBcEMsb0NBQW9DO2tCQURoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuLi8uLi94cHMtY29tYW5kLmVudW0nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb24sXG4gIFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uVHlwZSxcbn0gZnJvbSAnLi9zaG93LW1vYmlsZS1wYXltZW50LXNjcmVlbi5hY3Rpb24udHlwZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaG93TW9iaWxlUGF5bWVudFNjcmVlbkFjdGlvbkNyZWF0b3IgaW1wbGVtZW50cyBBY3Rpb25DcmVhdG9yIHtcbiAgcHVibGljIHR5cGU6IFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uVHlwZSA9ICdzaG93X21vYmlsZV9wYXltZW50X3NjcmVlbic7XG5cbiAgcHVibGljIGdldEFjdGlvbkRhdGEoXG4gICAgcmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlXG4gICk6IFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uIHtcbiAgICBjb25zdCBzdWJtaXRCdXR0b25UZXh0ID0gcmVzcG9uc2UucGFyYW1ldGVycy5idXlEYXRhLnZhbHVlO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHN1Ym1pdEJ1dHRvblRleHQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaXNTdWl0YWJsZShyZXNwb25zZTogU3VibWl0UmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVzcG9uc2UuY3VycmVudENvbW1hbmQgPT09IFhwc0NvbW1hbmQuY3JlYXRlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1tb2JpbGUtcGF5bWVudC1zY3JlZW4uYWN0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvc2hvdy1tb2JpbGUtcGF5bWVudC1zY3JlZW4vc2hvdy1tb2JpbGUtcGF5bWVudC1zY3JlZW4uYWN0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBTaG93TW9iaWxlUGF5bWVudFNjcmVlbkFjdGlvblR5cGUgPSAnc2hvd19tb2JpbGVfcGF5bWVudF9zY3JlZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uRGF0YSB7XG4gIHN1Ym1pdEJ1dHRvblRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb24gPSBBY3Rpb248XG4gIFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uVHlwZSxcbiAgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb25EYXRhXG4+O1xuIl19
|
|
@@ -4,10 +4,13 @@ export class ShowQrCodeActionCreator {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.type = 'show_qr_code';
|
|
6
6
|
}
|
|
7
|
-
getActionData() {
|
|
7
|
+
getActionData(response) {
|
|
8
|
+
const submitButtonText = response.parameters.buyData.value;
|
|
8
9
|
return {
|
|
9
10
|
type: this.type,
|
|
10
|
-
data:
|
|
11
|
+
data: {
|
|
12
|
+
submitButtonText,
|
|
13
|
+
},
|
|
11
14
|
};
|
|
12
15
|
}
|
|
13
16
|
isSuitable(response) {
|
|
@@ -19,4 +22,4 @@ ShowQrCodeActionCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
|
19
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ShowQrCodeActionCreator, decorators: [{
|
|
20
23
|
type: Injectable
|
|
21
24
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1xci1jb2RlLmFjdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9zaG93LXFyLWNvZGUvc2hvdy1xci1jb2RlLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRWtCLFNBQUksR0FBeUIsY0FBYyxDQUFDO0tBZTdEO0lBYlEsYUFBYSxDQUFDLFFBQXdCO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzNELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUU7Z0JBQ0osZ0JBQWdCO2FBQ2pCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVLENBQUMsUUFBd0I7UUFDeEMsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7b0hBZlUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTaG93UXJDb2RlQWN0aW9uLFxuICBTaG93UXJDb2RlQWN0aW9uVHlwZSxcbn0gZnJvbSAnLi9zaG93LXFyLWNvZGUuYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2hvd1FyQ29kZUFjdGlvbkNyZWF0b3IgaW1wbGVtZW50cyBBY3Rpb25DcmVhdG9yIHtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IFNob3dRckNvZGVBY3Rpb25UeXBlID0gJ3Nob3dfcXJfY29kZSc7XG5cbiAgcHVibGljIGdldEFjdGlvbkRhdGEocmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlKTogU2hvd1FyQ29kZUFjdGlvbiB7XG4gICAgY29uc3Qgc3VibWl0QnV0dG9uVGV4dCA9IHJlc3BvbnNlLnBhcmFtZXRlcnMuYnV5RGF0YS52YWx1ZTtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgZGF0YToge1xuICAgICAgICBzdWJtaXRCdXR0b25UZXh0LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGlzU3VpdGFibGUocmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4ocmVzcG9uc2UucGFyYW1ldGVycz8uZm9ybT8ucXIpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1xci1jb2RlLmFjdGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3Nob3ctcXItY29kZS9zaG93LXFyLWNvZGUuYWN0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBTaG93UXJDb2RlQWN0aW9uVHlwZSA9ICdzaG93X3FyX2NvZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNob3dRckNvZGVBY3Rpb25EYXRhIHtcbiAgc3VibWl0QnV0dG9uVGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBTaG93UXJDb2RlQWN0aW9uID0gQWN0aW9uPFxuICBTaG93UXJDb2RlQWN0aW9uVHlwZSxcbiAgU2hvd1FyQ29kZUFjdGlvbkRhdGFcbj47XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZXNwb25zZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0tcmVzcG9uc2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUvcmVzcG9uc2UvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVJlc3BvbnNlIHtcbiAgdHlwZTogJ3N5bmMnIHwgJ2luaXRpYWxpemUnIHwgJ3N1Ym1pdCc7XG4gIGRhdGE6IEluaXRpYWxpemVSZXNwb25zZSB8IFN1Ym1pdFJlc3BvbnNlIHwgWHBzUmVzcG9uc2U7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGlzU2FuZGJveDogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3BheW1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFN0YXR1cywgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnIH0gZnJvbSAnLi9mb3JtL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50TmFtZSB9IGZyb20gJy4vZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IEZvcm1GaWVsZHNTdGF0dXMgfSBmcm9tICcuL2Zvcm0vZm9ybS1maWVsZHMtc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2Zvcm0vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnQge1xuICBpbml0aWFsaXplKCk6IFByb21pc2U8RmllbGRbXT47XG5cbiAgc3VibWl0KCk6IFByb21pc2U8TmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkPjtcblxuICBnZXRGaWVsZHMoKTogRmllbGRbXTtcblxuICBnZXRQaWQoKTogbnVtYmVyIHwgbnVsbDtcblxuICB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcblxuICBnZXRGaW5hbmNlRGV0YWlscygpOiBGaW5hbmNlRGV0YWlscyB8IG51bGw7XG5cbiAgcnVuVGhyZWVEcygpOiB2b2lkO1xuXG4gIGdldFN0YXR1cygpOiBQcm9taXNlPFN0YXR1cz47XG5cbiAgbGlzdGVuRmluYWxTdGF0dXMoKTogUHJvbWlzZTx2b2lkPjtcblxuICBmb3JtOiB7XG4gICAgZmllbGRzU3RhdHVzJDogT2JzZXJ2YWJsZTxGb3JtRmllbGRzU3RhdHVzPjtcbiAgICBjaGFuZ2VGaWVsZFZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQ7XG4gICAgZ2V0Q29udHJvbENvbmZpZyhmaWVsZDogRmllbGQpOiBDb250cm9sQ29uZmlnIHwgbnVsbDtcbiAgICBjaGFuZ2VGaWVsZFN0YXRlKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKTogdm9pZDtcbiAgICB1cGRhdGVGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWU6IHN0cmluZywgZm9ybVN0YXRlOiBGb3JtU3RhdGUpOiB2b2lkO1xuICAgIGZvcm1NZXNzYWdlcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICAgIGdldEZvcm1TdGF0dXMoKTogRm9ybUNvbnRyb2xTdGF0dXMgfCB1bmRlZmluZWQ7XG4gIH07XG4gIGZpbmFuY2VEZXRhaWxzVXBkYXRlcyQ6IE9ic2VydmFibGU8RmluYW5jZURldGFpbHM+O1xuXG4gIGFkZEV4dHJhRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BehaviorSubject, Subject, filter, takeUntil } from 'rxjs';
|
|
1
|
+
import { BehaviorSubject, Subject, filter, takeUntil, take, } from 'rxjs';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { SubmitResponse } from './submit/response/submit-response.class';
|
|
4
4
|
import { InitializeResponse } from './initialize/response/initialize-response.class';
|
|
@@ -20,6 +20,7 @@ import * as i10 from "./three-ds/three-ds.service";
|
|
|
20
20
|
import * as i11 from "./form-messages/form-messages.service";
|
|
21
21
|
import * as i12 from "../settings/settings.service";
|
|
22
22
|
import * as i13 from "../country/country.service";
|
|
23
|
+
import * as i14 from "./actions/check-status/check-status.action.class";
|
|
23
24
|
export class PaymentService {
|
|
24
25
|
get formFieldsStatus$() {
|
|
25
26
|
return this.formFieldsStatusSubject.asObservable().pipe(filter(Boolean));
|
|
@@ -33,7 +34,7 @@ export class PaymentService {
|
|
|
33
34
|
get formResponseValue() {
|
|
34
35
|
return this._formResponse$.getValue();
|
|
35
36
|
}
|
|
36
|
-
constructor(initializeService, submitService, syncService, formService, statusService, financeDetailsService, creditCardStateService, nextActionService, controlConfigService, threeDsService, formMessagesService, settingsService, countryService) {
|
|
37
|
+
constructor(initializeService, submitService, syncService, formService, statusService, financeDetailsService, creditCardStateService, nextActionService, controlConfigService, threeDsService, formMessagesService, settingsService, countryService, checkStatusActionCreator) {
|
|
37
38
|
this.initializeService = initializeService;
|
|
38
39
|
this.submitService = submitService;
|
|
39
40
|
this.syncService = syncService;
|
|
@@ -47,6 +48,7 @@ export class PaymentService {
|
|
|
47
48
|
this.formMessagesService = formMessagesService;
|
|
48
49
|
this.settingsService = settingsService;
|
|
49
50
|
this.countryService = countryService;
|
|
51
|
+
this.checkStatusActionCreator = checkStatusActionCreator;
|
|
50
52
|
this.form = null;
|
|
51
53
|
this.data = null;
|
|
52
54
|
this.financeDetails = null;
|
|
@@ -94,7 +96,8 @@ export class PaymentService {
|
|
|
94
96
|
}
|
|
95
97
|
this.emitFormMessages(submitResponse.messages);
|
|
96
98
|
// Handle 3ds flow
|
|
97
|
-
if (submitResponse.currentCommand === XpsCommand.create
|
|
99
|
+
if (submitResponse.currentCommand === XpsCommand.create &&
|
|
100
|
+
submitResponse.parameters.threeDSForm) {
|
|
98
101
|
this.runThreeDs();
|
|
99
102
|
return;
|
|
100
103
|
}
|
|
@@ -173,6 +176,15 @@ export class PaymentService {
|
|
|
173
176
|
};
|
|
174
177
|
return this.statusService.getStatus(params);
|
|
175
178
|
}
|
|
179
|
+
async listenFinalStatus() {
|
|
180
|
+
const { invoice } = await this.getStatus();
|
|
181
|
+
this.statusService
|
|
182
|
+
.listenFinalStatus(invoice)
|
|
183
|
+
.pipe(take(1))
|
|
184
|
+
.subscribe(() => {
|
|
185
|
+
this.nextActionService.emitFlowUpdates(this.checkStatusActionCreator.getActionData());
|
|
186
|
+
});
|
|
187
|
+
}
|
|
176
188
|
getFieldConfig(field) {
|
|
177
189
|
return this.controlConfigService.getConfig(field);
|
|
178
190
|
}
|
|
@@ -306,15 +318,20 @@ export class PaymentService {
|
|
|
306
318
|
else {
|
|
307
319
|
type = 'sync';
|
|
308
320
|
}
|
|
309
|
-
this._formResponse$.next({
|
|
321
|
+
this._formResponse$.next({
|
|
322
|
+
type,
|
|
323
|
+
data,
|
|
324
|
+
token: this.settingsService.token,
|
|
325
|
+
isSandbox: this.settingsService.isSandboxMode(),
|
|
326
|
+
});
|
|
310
327
|
}
|
|
311
328
|
}
|
|
312
|
-
PaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, deps: [{ token: i1.InitializeService }, { token: i2.SubmitService }, { token: i3.SyncService }, { token: i4.FormService }, { token: i5.StatusService }, { token: i6.FinanceDetailsService }, { token: i7.CreditCardStateService }, { token: i8.NextActionService }, { token: i9.ControlConfigService }, { token: i10.ThreeDsService }, { token: i11.FormMessagesService }, { token: i12.SettingsService }, { token: i13.CountryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
329
|
+
PaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, deps: [{ token: i1.InitializeService }, { token: i2.SubmitService }, { token: i3.SyncService }, { token: i4.FormService }, { token: i5.StatusService }, { token: i6.FinanceDetailsService }, { token: i7.CreditCardStateService }, { token: i8.NextActionService }, { token: i9.ControlConfigService }, { token: i10.ThreeDsService }, { token: i11.FormMessagesService }, { token: i12.SettingsService }, { token: i13.CountryService }, { token: i14.CheckStatusActionCreator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
313
330
|
PaymentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, providedIn: 'root' });
|
|
314
331
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, decorators: [{
|
|
315
332
|
type: Injectable,
|
|
316
333
|
args: [{
|
|
317
334
|
providedIn: 'root',
|
|
318
335
|
}]
|
|
319
|
-
}], ctorParameters: function () { return [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.CreditCardStateService }, { type: i8.NextActionService }, { type: i9.ControlConfigService }, { type: i10.ThreeDsService }, { type: i11.FormMessagesService }, { type: i12.SettingsService }, { type: i13.CountryService }]; } });
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWVyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUlqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV2hELE1BQU0sT0FBTyxjQUFjO0lBR3pCLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFB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QUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQTBCO1FBQ2pELElBQUksSUFBMEIsQ0FBQztRQUMvQixJQUFJLElBQUksWUFBWSxrQkFBa0IsRUFBRTtZQUN0QyxJQUFJLEdBQUcsWUFBWSxDQUFDO1NBQ3JCO2FBQU0sSUFBSSxJQUFJLFlBQVksY0FBYyxFQUFFO1lBQ3pDLElBQUksR0FBRyxRQUFRLENBQUM7U0FDakI7YUFBTTtZQUNMLElBQUksR0FBRyxNQUFNLENBQUM7U0FDZjtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7OzJHQS9YVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTdGF0dXMsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4vZm9ybS9mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVJlc3BvbnNlIH0gZnJvbSAnLi9pbml0aWFsaXplL3Jlc3BvbnNlL2luaXRpYWxpemUtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVNlcnZpY2UgfSBmcm9tICcuL2luaXRpYWxpemUvaW5pdGlhbGl6ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3VibWl0U2VydmljZSB9IGZyb20gJy4vc3VibWl0L3N1Ym1pdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi9zeW5jL3N5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnIH0gZnJvbSAnLi9mb3JtL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnJztcbmltcG9ydCB7IENvbnRyb2xDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1N1bW1hcnkgfSBmcm9tICcuL3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWcgfSBmcm9tICcuL3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc1N1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2UvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuL2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0aW9uLWVycm9ycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBGb3JtRmllbGRzU3RhdHVzIH0gZnJvbSAnLi9mb3JtL2Zvcm0tZmllbGRzLXN0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGhyZWVEc1NlcnZpY2UgfSBmcm9tICcuL3RocmVlLWRzL3RocmVlLWRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzQ29tbWFuZCB9IGZyb20gJy4veHBzLWNvbWFuZC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4vZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2Zvcm0vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vZm9ybS1tZXNzYWdlcy9mb3JtLW1lc3NhZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzTWVzc2FnZSB9IGZyb20gJy4veHBzLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuLi9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtQYXltZW50U3lzdGVtc0luaXRpYWxEYXRhIH0gZnJvbSAnLi4vc2RrLXBheW1lbnQtc3lzdGVtcy9zZGstcGF5bWVudC1zeXN0ZW1zLWluaXRpYWwtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi9mb3JtLXJlc3BvbnNlLmludGVyZmFjZSc7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgZm9ybUZpZWxkc1N0YXR1cyQoKTogT2JzZXJ2YWJsZTxGb3JtRmllbGRzU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkc1N0YXR1c1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoQm9vbGVhbikpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50Rm9ybSQoKTogT2JzZXJ2YWJsZTxGb3JtQ29udHJvbFN0YXR1cyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5fcGF5bWVudEZvcm0kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2UkKCk6IE9ic2VydmFibGU8Rm9ybVJlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtUmVzcG9uc2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2VWYWx1ZSgpOiBGb3JtUmVzcG9uc2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybVJlc3BvbnNlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhOiBJbml0aWFsaXplUmVzcG9uc2UgfCBTdWJtaXRSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpbmFuY2VEZXRhaWxzOiBGaW5hbmNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZvY3VzRmllbGROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBjb25maWchOiBQYXltZW50Q29uZmlnO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BheW1lbnRGb3JtJCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtQ29udHJvbFN0YXR1cyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1GaWVsZHNTdGF0dXMgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybVJlc3BvbnNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybVJlc3BvbnNlIHwgbnVsbD4oXG4gICAgbnVsbFxuICApO1xuXG4gIHByaXZhdGUgaXNTYXZpbmdNZXRob2RNb2RlID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbGl6ZVNlcnZpY2U6IEluaXRpYWxpemVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VibWl0U2VydmljZTogU3VibWl0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTdGF0ZVNlcnZpY2U6IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29uZmlnU2VydmljZTogQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aHJlZURzU2VydmljZTogVGhyZWVEc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWVzc2FnZXNTZXJ2aWNlOiBGb3JtTWVzc2FnZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKGNvbmZpZzogUGF5bWVudENvbmZpZyk6IFByb21pc2U8RmllbGRbXT4ge1xuICAgIHRoaXMuZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuZm9ybURlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHRoaXMubGlzdGVuRmluYW5jZURldGFpbHMoKTtcblxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuZGF0YSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVNlcnZpY2UucmVxdWVzdChjb25maWcpO1xuICAgIHRoaXMuZW1pdEZvcm1SZXNwb25zZSh0aGlzLmRhdGEpO1xuXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNlcnZpY2UuY3JlYXRlRm9ybSh0aGlzLmZpZWxkcyk7XG5cbiAgICB0aGlzLnVwZGF0ZVBpZENvbmZpZygpO1xuICAgIHRoaXMuc2V0dXBTeW5jU2VydmljZSh0aGlzLmZvcm0sIHRoaXMuZmllbGRzKTtcbiAgICB0aGlzLmxpc3RlbkZvcm1TdGF0dXNDaGFuZ2VzKHRoaXMuZm9ybSk7XG5cbiAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyh0aGlzLmRhdGEucGF5bWVudEZvcm0/LnN1bW1hcnkpO1xuICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXModGhpcy5mb3JtKTtcbiAgICB0aGlzLmVtaXRGb3JtTWVzc2FnZXModGhpcy5kYXRhLnBheW1lbnRGb3JtPy5tZXNzYWdlcyk7XG5cbiAgICByZXR1cm4gdGhpcy5maWVsZHMuZmlsdGVyKFxuICAgICAgKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQ/LmlzVmlzaWJsZSA9PT0gWHBzQm9vbGVhbi50cnVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdWJtaXQoKTogUHJvbWlzZTxOZXh0QWN0aW9uIHwgbnVsbCB8IHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmb3JtIGlzIGVtcHR5IScpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNTYXZpbmdNZXRob2RNb2RlID0gdGhpcy5maWVsZHMuc29tZShcbiAgICAgICh7IG5hbWUsIHZhbHVlIH0pID0+XG4gICAgICAgIG5hbWUgPT09ICdzYXZlUHNBY2NvdW50T25seScgJiYgdmFsdWUgPT09IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICk7XG4gICAgY29uc3Qgc3VibWl0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN1Ym1pdFNlcnZpY2UucmVxdWVzdChcbiAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgdGhpcy5mb3JtXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YSA9IHN1Ym1pdFJlc3BvbnNlO1xuICAgIHRoaXMuZW1pdEZvcm1SZXNwb25zZSh0aGlzLmRhdGEpO1xuXG4gICAgaWYgKCF0aGlzLmlzU2F2aW5nTWV0aG9kTW9kZSkge1xuICAgICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMoc3VibWl0UmVzcG9uc2Uuc3VtbWFyeSk7XG4gICAgfVxuICAgIHRoaXMuZW1pdEZvcm1NZXNzYWdlcyhzdWJtaXRSZXNwb25zZS5tZXNzYWdlcyk7XG5cbiAgICAvLyBIYW5kbGUgM2RzIGZsb3dcbiAgICBpZiAoc3VibWl0UmVzcG9uc2UuY3VycmVudENvbW1hbmQgPT09IFhwc0NvbW1hbmQuY3JlYXRlKSB7XG4gICAgICB0aGlzLnJ1blRocmVlRHMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ2V0RmllbGRzKCk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtU2VydmljZS5jcmVhdGVGb3JtKHRoaXMuZmllbGRzKTtcblxuICAgIHRoaXMuc3luY1NlcnZpY2Uuc2V0dXAodGhpcy5mb3JtLCB0aGlzLmZpZWxkcyk7XG5cbiAgICByZXR1cm4gdGhpcy5uZXh0QWN0aW9uU2VydmljZS5nZXROZXh0QWN0aW9uKHN1Ym1pdFJlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZHMoKTogRmllbGRbXSB7XG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIFN1Ym1pdFJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhLmZpZWxkcyA/PyBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kYXRhPy5wYXltZW50Rm9ybT8uZmllbGRzID8/IFtdO1xuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxEYXRhRm9yU2RrUGF5bWVudFN5c3RlbXMoKTogU2RrUGF5bWVudFN5c3RlbXNJbml0aWFsRGF0YSB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IHRoaXMuZGF0YS5wYXJhbWV0ZXJzLmNoZWNrb3V0LmRhdGEuZGF0YSxcbiAgICAgIHNhbmRib3g6IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzU2FuZGJveE1vZGUoKVxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgICBjb3VudHJ5OiB0aGlzLmNvdW50cnlTZXJ2aWNlLmdldENvdW50cnkoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldFFyQ29kZSgpOiBzdHJpbmcge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGEucGFyYW1ldGVycy5mb3JtLnFyLnRpdGxlO1xuICB9XG5cbiAgcHVibGljIGdldFBpZCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgU3VibWl0UmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIE51bWJlcihcbiAgICAgICAgICB0aGlzLmRhdGEuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnZml4X3BpZCcpPy52YWx1ZVxuICAgICAgICApIHx8IG51bGxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIEluaXRpYWxpemVSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgTnVtYmVyKFxuICAgICAgICAgIHRoaXMuZGF0YS5wYXltZW50Rm9ybT8uZmllbGRzLmZpbmQoXG4gICAgICAgICAgICAoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdmaXhfcGlkJ1xuICAgICAgICAgICk/LnZhbHVlXG4gICAgICAgICkgfHwgbnVsbFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgY29uc3Qgc3luY0Vycm9ycyA9IHRoaXMuc3luY1NlcnZpY2UuZ2V0U3luY1ZhbGlkYXRpb25FcnJvcnMoZmllbGQpO1xuXG4gICAgaWYgKHN5bmNFcnJvcnMpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3luY0Vycm9ycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3luY1NlcnZpY2UudmFsaWRhdGUoZmllbGQpO1xuICB9XG5cbiAgcHVibGljIHJ1blRocmVlRHMoKTogdm9pZCB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgdGhpcy50aHJlZURzU2VydmljZS5jaGVja1RocmVlRHModGhpcy5kYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaW5hbmNlRGV0YWlscygpOiBGaW5hbmNlRGV0YWlscyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgIHRoaXMuZm9ybVNlcnZpY2UudXBkYXRlRmllbGRGb3JtU3RhdGUoXG4gICAgICAgIHRoaXMuZm9ybSxcbiAgICAgICAgdGhpcy5maWVsZHMsXG4gICAgICAgIGZpZWxkTmFtZSxcbiAgICAgICAgZm9ybVN0YXRlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXMoKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMgPSB7XG4gICAgICBwaWQ6IHRoaXMuY29uZmlnLnBheW1lbnRNZXRob2RJZCxcbiAgICAgIGludm9pY2U6IHBhcnNlSW50KHRoaXMuZGF0YS5maXhJbnZvaWNlID8/ICcnKSxcbiAgICAgIHNpZ25hdHVyZTogdGhpcy5kYXRhLnNpZ25hdHVyZSA/PyAnJyxcbiAgICAgIGxvY2FsZTpcbiAgICAgICAgdGhpcy5kYXRhLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ2xvY2FsZScpPy52YWx1ZSA/P1xuICAgICAgICAnZW4nLFxuICAgICAgaXNTYXZlUGF5bWVudEFjY291bnQ6IHRoaXMuaXNTYXZpbmdNZXRob2RNb2RlXG4gICAgICAgID8gWHBzQm9vbGVhbi50cnVlXG4gICAgICAgIDogWHBzQm9vbGVhbi5mYWxzZSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRDb25maWcoZmllbGQ6IEZpZWxkKTogQ29udHJvbENvbmZpZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbmZpZyhmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuICAgIGZvcm1Db250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRTdGF0ZShuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG5cbiAgICBpZiAoIXRoaXMuZm9ybSB8fCAhZm9ybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmJsdXI6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmZvY3VzOiB7XG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbmFtZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICB9XG5cbiAgcHVibGljIGFkZEV4dHJhRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaXNIYXZlRmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKChmaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLm5hbWUgPT09IG5hbWU7XG4gICAgfSk7XG5cbiAgICBpZiAoaXNIYXZlRmllbGQpIHtcbiAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5maWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgIGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZCA9IHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICB0aXRsZTogJycsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBleGFtcGxlOiAnJyxcbiAgICAgIGlzTWFuZGF0b3J5OiBYcHNCb29sZWFuLnRydWUsXG4gICAgICBpc1Zpc2libGU6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfSBhcyBGaWVsZDtcblxuICAgIHRoaXMuZmllbGRzLnB1c2goZmllbGQpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhID0gbnVsbDtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzID0gbnVsbDtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5mb3JtRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXG4gICAgdGhpcy50aHJlZURzU2VydmljZS5zdG9wQ2hlY2tpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk/OiBYcHNTdW1tYXJ5KTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdW1tYXJ5KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q3JlZGl0Q2FyZFN0YXRlKGlkQ2FyZFR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5lbWl0KHsgaWRDYXJkVHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybTogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHNTdGF0dXM6IEZvcm1GaWVsZHNTdGF0dXMgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW25hbWVdO1xuICAgICAgZm9ybUZpZWxkc1N0YXR1c1tuYW1lXSA9IHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgdmFsaWRhdGlvblN0YXR1czogY29udHJvbC5zdGF0dXMsXG4gICAgICAgIGVycm9yczogY29udHJvbC5lcnJvcnMsXG4gICAgICAgIGlzRm9jdXNlZDogdGhpcy5mb2N1c0ZpZWxkTmFtZSA9PT0gbmFtZSxcbiAgICAgICAgaXNUb3VjaGVkOiBjb250cm9sLnRvdWNoZWQsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JtRmllbGRzU3RhdHVzU3ViamVjdC5uZXh0KGZvcm1GaWVsZHNTdGF0dXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybU1lc3NhZ2VzKG1lc3NhZ2VzPzogWHBzTWVzc2FnZVtdKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtTWVzc2FnZXNTZXJ2aWNlLmVtaXRPblJlc3BvbnNlKG1lc3NhZ2VzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBTeW5jU2VydmljZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBmaWVsZHM6IEZpZWxkW10pOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKGZvcm0sIGZpZWxkcyk7XG4gICAgdGhpcy5zeW5jU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMocmVzcG9uc2Uuc3VtbWFyeSk7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1NZXNzYWdlcyhyZXNwb25zZS5tZXNzYWdlcyk7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc3luY1NlcnZpY2UuZmllbGRBc3luY1ZhbGlkYXRpb24kXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChmaWVsZEFzeW5jVmFsaWRhdGlvbikgPT4ge1xuICAgICAgICBzd2l0Y2ggKGZpZWxkQXN5bmNWYWxpZGF0aW9uLmZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBjYXNlIEZpZWxkTmFtZXMuY2FyZE51bWJlcjpcbiAgICAgICAgICAgIHRoaXMuZW1pdENyZWRpdENhcmRTdGF0ZShcbiAgICAgICAgICAgICAgZmllbGRBc3luY1ZhbGlkYXRpb24ucmVzcG9uc2UucGFyYW1ldGVycy5pZENhcmRUeXBlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRmluYW5jZURldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpbmFuY2VEZXRhaWxzKSA9PiAodGhpcy5maW5hbmNlRGV0YWlscyA9IGZpbmFuY2VEZXRhaWxzKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvcm1TdGF0dXNDaGFuZ2VzKGZvcm06IFVudHlwZWRGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBmb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmZvcm1EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IEZvcm1Db250cm9sU3RhdHVzKSA9PiB7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybSk7XG4gICAgICAgIHRoaXMuX3BheW1lbnRGb3JtJC5uZXh0KHN0YXR1cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qXG4gICAqIGluIGNhc2UgdGhlIGZvcm0gcGlkIGNoYW5nZXMgZGVzcGl0ZSB0aGUgb25lIHBhc3NlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb25cbiAgICogICovXG4gIHByaXZhdGUgdXBkYXRlUGlkQ29uZmlnKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQaWQgPSB0aGlzLmdldFBpZCgpO1xuICAgIGlmIChjdXJyZW50UGlkKSB7XG4gICAgICB0aGlzLmNvbmZpZy5wYXltZW50TWV0aG9kSWQgPSBjdXJyZW50UGlkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1SZXNwb25zZShkYXRhOiBGb3JtUmVzcG9uc2VbJ2RhdGEnXSk6IHZvaWQge1xuICAgIGxldCB0eXBlOiBGb3JtUmVzcG9uc2VbJ3R5cGUnXTtcbiAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIEluaXRpYWxpemVSZXNwb25zZSkge1xuICAgICAgdHlwZSA9ICdpbml0aWFsaXplJztcbiAgICB9IGVsc2UgaWYgKGRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgdHlwZSA9ICdzdWJtaXQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlID0gJ3N5bmMnO1xuICAgIH1cbiAgICB0aGlzLl9mb3JtUmVzcG9uc2UkLm5leHQoeyB0eXBlLCBkYXRhLCB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4gfSk7XG4gIH1cbn1cbiJdfQ==
|
|
336
|
+
}], ctorParameters: function () { return [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.CreditCardStateService }, { type: i8.NextActionService }, { type: i9.ControlConfigService }, { type: i10.ThreeDsService }, { type: i11.FormMessagesService }, { type: i12.SettingsService }, { type: i13.CountryService }, { type: i14.CheckStatusActionCreator }]; } });
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFFZixPQUFPLEVBQ1AsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWVyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUlqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQWFoRCxNQUFNLE9BQU8sY0FBYztJQUd6QixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNB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R0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgZmlsdGVyLFxuICB0YWtlVW50aWwsXG4gIHRha2UsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTdGF0dXMsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4vZm9ybS9mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVJlc3BvbnNlIH0gZnJvbSAnLi9pbml0aWFsaXplL3Jlc3BvbnNlL2luaXRpYWxpemUtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVNlcnZpY2UgfSBmcm9tICcuL2luaXRpYWxpemUvaW5pdGlhbGl6ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3VibWl0U2VydmljZSB9IGZyb20gJy4vc3VibWl0L3N1Ym1pdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi9zeW5jL3N5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnIH0gZnJvbSAnLi9mb3JtL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnJztcbmltcG9ydCB7IENvbnRyb2xDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1N1bW1hcnkgfSBmcm9tICcuL3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWcgfSBmcm9tICcuL3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc1N1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2UvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuL2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0aW9uLWVycm9ycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBGb3JtRmllbGRzU3RhdHVzIH0gZnJvbSAnLi9mb3JtL2Zvcm0tZmllbGRzLXN0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGhyZWVEc1NlcnZpY2UgfSBmcm9tICcuL3RocmVlLWRzL3RocmVlLWRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzQ29tbWFuZCB9IGZyb20gJy4veHBzLWNvbWFuZC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4vZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2Zvcm0vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vZm9ybS1tZXNzYWdlcy9mb3JtLW1lc3NhZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzTWVzc2FnZSB9IGZyb20gJy4veHBzLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuLi9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtQYXltZW50U3lzdGVtc0luaXRpYWxEYXRhIH0gZnJvbSAnLi4vc2RrLXBheW1lbnQtc3lzdGVtcy9zZGstcGF5bWVudC1zeXN0ZW1zLWluaXRpYWwtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi9mb3JtLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuL2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24uY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgZm9ybUZpZWxkc1N0YXR1cyQoKTogT2JzZXJ2YWJsZTxGb3JtRmllbGRzU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkc1N0YXR1c1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoQm9vbGVhbikpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50Rm9ybSQoKTogT2JzZXJ2YWJsZTxGb3JtQ29udHJvbFN0YXR1cyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5fcGF5bWVudEZvcm0kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2UkKCk6IE9ic2VydmFibGU8Rm9ybVJlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtUmVzcG9uc2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2VWYWx1ZSgpOiBGb3JtUmVzcG9uc2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybVJlc3BvbnNlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhOiBJbml0aWFsaXplUmVzcG9uc2UgfCBTdWJtaXRSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpbmFuY2VEZXRhaWxzOiBGaW5hbmNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZvY3VzRmllbGROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBjb25maWchOiBQYXltZW50Q29uZmlnO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BheW1lbnRGb3JtJCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtQ29udHJvbFN0YXR1cyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1GaWVsZHNTdGF0dXMgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybVJlc3BvbnNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybVJlc3BvbnNlIHwgbnVsbD4oXG4gICAgbnVsbFxuICApO1xuXG4gIHByaXZhdGUgaXNTYXZpbmdNZXRob2RNb2RlID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbGl6ZVNlcnZpY2U6IEluaXRpYWxpemVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VibWl0U2VydmljZTogU3VibWl0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTdGF0ZVNlcnZpY2U6IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29uZmlnU2VydmljZTogQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aHJlZURzU2VydmljZTogVGhyZWVEc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWVzc2FnZXNTZXJ2aWNlOiBGb3JtTWVzc2FnZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I6IENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvclxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoY29uZmlnOiBQYXltZW50Q29uZmlnKTogUHJvbWlzZTxGaWVsZFtdPiB7XG4gICAgdGhpcy5kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy5mb3JtRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy5saXN0ZW5GaW5hbmNlRGV0YWlscygpO1xuXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5kYXRhID0gYXdhaXQgdGhpcy5pbml0aWFsaXplU2VydmljZS5yZXF1ZXN0KGNvbmZpZyk7XG4gICAgdGhpcy5lbWl0Rm9ybVJlc3BvbnNlKHRoaXMuZGF0YSk7XG5cbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ2V0RmllbGRzKCk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtU2VydmljZS5jcmVhdGVGb3JtKHRoaXMuZmllbGRzKTtcblxuICAgIHRoaXMudXBkYXRlUGlkQ29uZmlnKCk7XG4gICAgdGhpcy5zZXR1cFN5bmNTZXJ2aWNlKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMpO1xuICAgIHRoaXMubGlzdGVuRm9ybVN0YXR1c0NoYW5nZXModGhpcy5mb3JtKTtcblxuICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHRoaXMuZGF0YS5wYXltZW50Rm9ybT8uc3VtbWFyeSk7XG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICAgIHRoaXMuZW1pdEZvcm1NZXNzYWdlcyh0aGlzLmRhdGEucGF5bWVudEZvcm0/Lm1lc3NhZ2VzKTtcblxuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maWx0ZXIoXG4gICAgICAoZmllbGQ6IEZpZWxkKSA9PiBmaWVsZD8uaXNWaXNpYmxlID09PSBYcHNCb29sZWFuLnRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN1Ym1pdCgpOiBQcm9taXNlPE5leHRBY3Rpb24gfCBudWxsIHwgdm9pZD4ge1xuICAgIGlmICghdGhpcy5mb3JtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Zvcm0gaXMgZW1wdHkhJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1NhdmluZ01ldGhvZE1vZGUgPSB0aGlzLmZpZWxkcy5zb21lKFxuICAgICAgKHsgbmFtZSwgdmFsdWUgfSkgPT5cbiAgICAgICAgbmFtZSA9PT0gJ3NhdmVQc0FjY291bnRPbmx5JyAmJiB2YWx1ZSA9PT0gWHBzQm9vbGVhbi50cnVlXG4gICAgKTtcbiAgICBjb25zdCBzdWJtaXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuc3VibWl0U2VydmljZS5yZXF1ZXN0KFxuICAgICAgdGhpcy5maWVsZHMsXG4gICAgICB0aGlzLmZvcm1cbiAgICApO1xuXG4gICAgdGhpcy5kYXRhID0gc3VibWl0UmVzcG9uc2U7XG4gICAgdGhpcy5lbWl0Rm9ybVJlc3BvbnNlKHRoaXMuZGF0YSk7XG5cbiAgICBpZiAoIXRoaXMuaXNTYXZpbmdNZXRob2RNb2RlKSB7XG4gICAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyhzdWJtaXRSZXNwb25zZS5zdW1tYXJ5KTtcbiAgICB9XG4gICAgdGhpcy5lbWl0Rm9ybU1lc3NhZ2VzKHN1Ym1pdFJlc3BvbnNlLm1lc3NhZ2VzKTtcblxuICAgIC8vIEhhbmRsZSAzZHMgZmxvd1xuICAgIGlmIChcbiAgICAgIHN1Ym1pdFJlc3BvbnNlLmN1cnJlbnRDb21tYW5kID09PSBYcHNDb21tYW5kLmNyZWF0ZSAmJlxuICAgICAgc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy50aHJlZURTRm9ybVxuICAgICkge1xuICAgICAgdGhpcy5ydW5UaHJlZURzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNlcnZpY2UuY3JlYXRlRm9ybSh0aGlzLmZpZWxkcyk7XG5cbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMpO1xuXG4gICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZ2V0TmV4dEFjdGlvbihzdWJtaXRSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRzKCk6IEZpZWxkW10ge1xuICAgIGlmICh0aGlzLmRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5maWVsZHMgPz8gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ucGF5bWVudEZvcm0/LmZpZWxkcyA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbml0aWFsRGF0YUZvclNka1BheW1lbnRTeXN0ZW1zKCk6IFNka1BheW1lbnRTeXN0ZW1zSW5pdGlhbERhdGEge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB0aGlzLmRhdGEucGFyYW1ldGVycy5jaGVja291dC5kYXRhLmRhdGEsXG4gICAgICBzYW5kYm94OiB0aGlzLnNldHRpbmdzU2VydmljZS5pc1NhbmRib3hNb2RlKClcbiAgICAgICAgPyBYcHNCb29sZWFuLnRydWVcbiAgICAgICAgOiBYcHNCb29sZWFuLmZhbHNlLFxuICAgICAgY291bnRyeTogdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRckNvZGUoKTogc3RyaW5nIHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kYXRhLnBhcmFtZXRlcnMuZm9ybS5xci50aXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQaWQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIFN1Ym1pdFJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBOdW1iZXIoXG4gICAgICAgICAgdGhpcy5kYXRhLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ2ZpeF9waWQnKT8udmFsdWVcbiAgICAgICAgKSB8fCBudWxsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGEgaW5zdGFuY2VvZiBJbml0aWFsaXplUmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIE51bWJlcihcbiAgICAgICAgICB0aGlzLmRhdGEucGF5bWVudEZvcm0/LmZpZWxkcy5maW5kKFxuICAgICAgICAgICAgKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnZml4X3BpZCdcbiAgICAgICAgICApPy52YWx1ZVxuICAgICAgICApIHx8IG51bGxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoZmllbGQ6IEZpZWxkKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgIGNvbnN0IHN5bmNFcnJvcnMgPSB0aGlzLnN5bmNTZXJ2aWNlLmdldFN5bmNWYWxpZGF0aW9uRXJyb3JzKGZpZWxkKTtcblxuICAgIGlmIChzeW5jRXJyb3JzKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN5bmNFcnJvcnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN5bmNTZXJ2aWNlLnZhbGlkYXRlKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBydW5UaHJlZURzKCk6IHZvaWQge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIHRoaXMudGhyZWVEc1NlcnZpY2UuY2hlY2tUaHJlZURzKHRoaXMuZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoKTogRmluYW5jZURldGFpbHMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlscztcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWU6IHN0cmluZywgZm9ybVN0YXRlOiBGb3JtU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm1TZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKFxuICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIGZvcm1TdGF0ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKCk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgcGlkOiB0aGlzLmNvbmZpZy5wYXltZW50TWV0aG9kSWQsXG4gICAgICBpbnZvaWNlOiBwYXJzZUludCh0aGlzLmRhdGEuZml4SW52b2ljZSA/PyAnJyksXG4gICAgICBzaWduYXR1cmU6IHRoaXMuZGF0YS5zaWduYXR1cmUgPz8gJycsXG4gICAgICBsb2NhbGU6XG4gICAgICAgIHRoaXMuZGF0YS5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdsb2NhbGUnKT8udmFsdWUgPz9cbiAgICAgICAgJ2VuJyxcbiAgICAgIGlzU2F2ZVBheW1lbnRBY2NvdW50OiB0aGlzLmlzU2F2aW5nTWV0aG9kTW9kZVxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNTZXJ2aWNlLmdldFN0YXR1cyhwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxpc3RlbkZpbmFsU3RhdHVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgaW52b2ljZSB9ID0gYXdhaXQgdGhpcy5nZXRTdGF0dXMoKTtcblxuICAgIHRoaXMuc3RhdHVzU2VydmljZVxuICAgICAgLmxpc3RlbkZpbmFsU3RhdHVzKGludm9pY2UgYXMgdW5rbm93biBhcyBudW1iZXIpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIHRoaXMuY2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRDb25maWcoZmllbGQ6IEZpZWxkKTogQ29udHJvbENvbmZpZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbmZpZyhmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuICAgIGZvcm1Db250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRTdGF0ZShuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG5cbiAgICBpZiAoIXRoaXMuZm9ybSB8fCAhZm9ybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmJsdXI6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmZvY3VzOiB7XG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbmFtZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICB9XG5cbiAgcHVibGljIGFkZEV4dHJhRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaXNIYXZlRmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKChmaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLm5hbWUgPT09IG5hbWU7XG4gICAgfSk7XG5cbiAgICBpZiAoaXNIYXZlRmllbGQpIHtcbiAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5maWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgIGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZCA9IHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICB0aXRsZTogJycsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBleGFtcGxlOiAnJyxcbiAgICAgIGlzTWFuZGF0b3J5OiBYcHNCb29sZWFuLnRydWUsXG4gICAgICBpc1Zpc2libGU6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfSBhcyBGaWVsZDtcblxuICAgIHRoaXMuZmllbGRzLnB1c2goZmllbGQpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhID0gbnVsbDtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzID0gbnVsbDtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5mb3JtRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXG4gICAgdGhpcy50aHJlZURzU2VydmljZS5zdG9wQ2hlY2tpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk/OiBYcHNTdW1tYXJ5KTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdW1tYXJ5KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q3JlZGl0Q2FyZFN0YXRlKGlkQ2FyZFR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5lbWl0KHsgaWRDYXJkVHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybTogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHNTdGF0dXM6IEZvcm1GaWVsZHNTdGF0dXMgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW25hbWVdO1xuICAgICAgZm9ybUZpZWxkc1N0YXR1c1tuYW1lXSA9IHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgdmFsaWRhdGlvblN0YXR1czogY29udHJvbC5zdGF0dXMsXG4gICAgICAgIGVycm9yczogY29udHJvbC5lcnJvcnMsXG4gICAgICAgIGlzRm9jdXNlZDogdGhpcy5mb2N1c0ZpZWxkTmFtZSA9PT0gbmFtZSxcbiAgICAgICAgaXNUb3VjaGVkOiBjb250cm9sLnRvdWNoZWQsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JtRmllbGRzU3RhdHVzU3ViamVjdC5uZXh0KGZvcm1GaWVsZHNTdGF0dXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybU1lc3NhZ2VzKG1lc3NhZ2VzPzogWHBzTWVzc2FnZVtdKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtTWVzc2FnZXNTZXJ2aWNlLmVtaXRPblJlc3BvbnNlKG1lc3NhZ2VzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBTeW5jU2VydmljZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBmaWVsZHM6IEZpZWxkW10pOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKGZvcm0sIGZpZWxkcyk7XG4gICAgdGhpcy5zeW5jU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMocmVzcG9uc2Uuc3VtbWFyeSk7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1NZXNzYWdlcyhyZXNwb25zZS5tZXNzYWdlcyk7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc3luY1NlcnZpY2UuZmllbGRBc3luY1ZhbGlkYXRpb24kXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChmaWVsZEFzeW5jVmFsaWRhdGlvbikgPT4ge1xuICAgICAgICBzd2l0Y2ggKGZpZWxkQXN5bmNWYWxpZGF0aW9uLmZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBjYXNlIEZpZWxkTmFtZXMuY2FyZE51bWJlcjpcbiAgICAgICAgICAgIHRoaXMuZW1pdENyZWRpdENhcmRTdGF0ZShcbiAgICAgICAgICAgICAgZmllbGRBc3luY1ZhbGlkYXRpb24ucmVzcG9uc2UucGFyYW1ldGVycy5pZENhcmRUeXBlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRmluYW5jZURldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpbmFuY2VEZXRhaWxzKSA9PiAodGhpcy5maW5hbmNlRGV0YWlscyA9IGZpbmFuY2VEZXRhaWxzKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvcm1TdGF0dXNDaGFuZ2VzKGZvcm06IFVudHlwZWRGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBmb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmZvcm1EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IEZvcm1Db250cm9sU3RhdHVzKSA9PiB7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybSk7XG4gICAgICAgIHRoaXMuX3BheW1lbnRGb3JtJC5uZXh0KHN0YXR1cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qXG4gICAqIGluIGNhc2UgdGhlIGZvcm0gcGlkIGNoYW5nZXMgZGVzcGl0ZSB0aGUgb25lIHBhc3NlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb25cbiAgICogICovXG4gIHByaXZhdGUgdXBkYXRlUGlkQ29uZmlnKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQaWQgPSB0aGlzLmdldFBpZCgpO1xuICAgIGlmIChjdXJyZW50UGlkKSB7XG4gICAgICB0aGlzLmNvbmZpZy5wYXltZW50TWV0aG9kSWQgPSBjdXJyZW50UGlkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1SZXNwb25zZShkYXRhOiBGb3JtUmVzcG9uc2VbJ2RhdGEnXSk6IHZvaWQge1xuICAgIGxldCB0eXBlOiBGb3JtUmVzcG9uc2VbJ3R5cGUnXTtcbiAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIEluaXRpYWxpemVSZXNwb25zZSkge1xuICAgICAgdHlwZSA9ICdpbml0aWFsaXplJztcbiAgICB9IGVsc2UgaWYgKGRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgdHlwZSA9ICdzdWJtaXQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlID0gJ3N5bmMnO1xuICAgIH1cbiAgICB0aGlzLl9mb3JtUmVzcG9uc2UkLm5leHQoe1xuICAgICAgdHlwZSxcbiAgICAgIGRhdGEsXG4gICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICBpc1NhbmRib3g6IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzU2FuZGJveE1vZGUoKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -39,6 +39,9 @@ export class StatusService {
|
|
|
39
39
|
}
|
|
40
40
|
return this.getStatus(searchParams);
|
|
41
41
|
}
|
|
42
|
+
listenFinalStatus(invoice) {
|
|
43
|
+
return this.listenStatusService.listen(invoice);
|
|
44
|
+
}
|
|
42
45
|
getRequestParamsFromUrl(url) {
|
|
43
46
|
const searchParams = this.urlService.getSearchParams(url ?? '');
|
|
44
47
|
const keys = new Set(Object.keys(searchParams));
|
|
@@ -69,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
69
72
|
providedIn: 'root',
|
|
70
73
|
}]
|
|
71
74
|
}], ctorParameters: function () { return [{ type: i1.UrlService }, { type: i2.StatusRequestService }, { type: i3.FinanceDetailsService }, { type: i4.ListenStatusService }, { type: i5.NextActionService }, { type: i6.SavePaymentMethodStatusService }, { type: i7.StatusUpdatedActionCreator }]; } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUXhELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7QUFTbEYsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDbUIsVUFBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLHFCQUE0QyxFQUM1QyxtQkFBd0MsRUFDeEMsaUJBQW9DLEVBQ3BDLDhCQUE4RCxFQUM5RCwwQkFBc0Q7UUFOdEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtJQUN0RSxDQUFDO0lBRUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUEyQjtRQUNoRCxNQUFNLHVCQUF1QixHQUMzQixNQUFNLEVBQUUsb0JBQW9CLDhCQUFvQixDQUFDO1FBQ25ELElBQUksdUJBQXVCLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlEO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBDLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUN6QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUNwQyxDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakUsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsR0FBWTtRQUNwRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLE9BQWU7UUFDdEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxHQUFZO1FBQzFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFaEQsSUFDRSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUN4RTtZQUNBLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE1BQU0sR0FBdUMsRUFBRSxDQUFDO1FBQ3RELHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5QyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQXdDLENBQUM7SUFDbEQsQ0FBQztJQUVPLHlCQUF5QixDQUFDLE9BQWU7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYzthQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWpFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3BDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUNsRSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzswR0E3RVUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBza2lwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpc3RlblN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4uL2FjdGlvbnMvc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3JlcXVpcmVkLXN0YXR1cy1zZWFyY2gtcGFyYW1zLmNvbnN0JztcbmltcG9ydCB7IHN0YXR1c1NlYXJjaFBhcmFtc01hcCB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXNlYXJjaC1wYXJhbXMubWFwJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uLy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgU3RhdHVzU2V0dGluZ3MgfSBmcm9tICcuL3N0YXR1cy1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybFNlcnZpY2U6IFVybFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNSZXF1ZXN0U2VydmljZTogU3RhdHVzUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlblN0YXR1c1NlcnZpY2U6IExpc3RlblN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2U6IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1VwZGF0ZWRBY3Rpb25DcmVhdG9yOiBTdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvclxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyhwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGNvbnN0IGlzU2F2ZVBheW1lbnRNZXRob2RNb2RlID1cbiAgICAgIHBhcmFtcz8uaXNTYXZlUGF5bWVudEFjY291bnQgPT09IFhwc0Jvb2xlYW4udHJ1ZTtcbiAgICBpZiAoaXNTYXZlUGF5bWVudE1ldGhvZE1vZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZS5nZXRTdGF0dXMocGFyYW1zKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnNldFJlcXVlc3RQYXJhbXMocGFyYW1zKTtcblxuICAgIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG5cbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcblxuICAgIGNvbnN0IHN0YXR1c1Jlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICk7XG5cbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuXG4gICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy5nZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmwpO1xuXG4gICAgaWYgKCFzZWFyY2hQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVxdWlyZWQgc2VhcmNoIHBhcmFtcyB0byBnZXQgc3RhdHVzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhdHVzKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuRmluYWxTdGF0dXMoaW52b2ljZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxTdGF0dXNTZXR0aW5ncz4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmw/OiBzdHJpbmcpOiBTdGF0dXNSZXF1ZXN0UGFyYW1zIHwgbnVsbCB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy51cmxTZXJ2aWNlLmdldFNlYXJjaFBhcmFtcyh1cmwgPz8gJycpO1xuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykpO1xuXG4gICAgaWYgKFxuICAgICAgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMuc29tZSgocmVxdWlyZWRLZXkpID0+ICFrZXlzLmhhcyhyZXF1aXJlZEtleSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0gPSB7fTtcbiAgICBzdGF0dXNTZWFyY2hQYXJhbXNNYXAuZm9yRWFjaCgoc2V0dGluZ3MsIGtleSkgPT4ge1xuICAgICAgcGFyYW1zW3NldHRpbmdzLmtleV0gPSBzZXR0aW5ncy5jb252ZXJ0ZXIoc2VhcmNoUGFyYW1zW2tleV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFN0YXR1c1JlcXVlc3RQYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJFxuICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHsgc3RhdHVzUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuXG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIHRoaXMuc3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YSh7IHN0YXR1c1Jlc3BvbnNlIH0pXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export const applePayVersion = 3;
|
|
2
|
-
|
|
2
|
+
export const safariVersionForIframeIntegration = 17;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGFwcGxlUGF5VmVyc2lvbiA9IDM7XG5leHBvcnQgY29uc3Qgc2FmYXJpVmVyc2lvbkZvcklmcmFtZUludGVncmF0aW9uID0gMTc7XG4iXX0=
|