@xsolla/payment-client-core 0.2.20 → 0.2.21
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 → esm2020}/lib/core/combined-payment-methods/combined-payment-methods.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/countries-api/countries-api.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/country/country.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/credit-card/credit-card.service.mjs +4 -4
- package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +67 -0
- package/{esm2022 → esm2020}/lib/core/edit-saved-methods/edit-saved-methods.service.mjs +5 -5
- package/esm2020/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +72 -0
- package/esm2020/lib/core/errors-mapping/xps-response-errors-mapping.service.mjs +52 -0
- package/esm2020/lib/core/exceptions-handling/elk/elk-logger.service.mjs +120 -0
- package/esm2020/lib/core/exceptions-handling/errors/http-error.class.mjs +40 -0
- package/esm2020/lib/core/exceptions-handling/errors/tagged-error.class.mjs +16 -0
- package/{esm2022 → esm2020}/lib/core/exceptions-handling/http-interceptor/http-exceptions.interceptor.mjs +5 -5
- package/esm2020/lib/core/http/secure-api/secure-api.service.mjs +55 -0
- package/{esm2022 → esm2020}/lib/core/legal/disclaimer.service.mjs +4 -4
- package/{esm2022 → esm2020}/lib/core/legal/legal.service.mjs +5 -5
- package/esm2020/lib/core/legal/refund-policy.service.mjs +30 -0
- package/esm2020/lib/core/legal/secure-connection.service.mjs +31 -0
- package/{esm2022 → esm2020}/lib/core/payment/actions/check-status/check-status.action.class.mjs +4 -4
- package/esm2020/lib/core/payment/actions/next-action.service.mjs +61 -0
- package/esm2020/lib/core/payment/actions/redirect/redirect.action.class.mjs +60 -0
- package/{esm2022 → esm2020}/lib/core/payment/actions/show-errors/show-errors.action.class.mjs +4 -4
- package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +37 -0
- package/{esm2022 → esm2020}/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.mjs +4 -4
- package/{esm2022 → esm2020}/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +4 -4
- package/{esm2022 → esm2020}/lib/core/payment/actions/special-button/special-button.action.class.mjs +4 -4
- package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +38 -0
- package/{esm2022 → esm2020}/lib/core/payment/actions/three-ds/three-ds.action.class.mjs +4 -4
- package/esm2020/lib/core/payment/config/config.service.mjs +37 -0
- package/{esm2022 → esm2020}/lib/core/payment/credit-card-state/credit-card-state.service.mjs +4 -4
- package/esm2020/lib/core/payment/finance-details/finance-details.service.mjs +38 -0
- package/{esm2022 → esm2020}/lib/core/payment/finance-details/status/status-finance-details-adapter.service.mjs +5 -5
- package/esm2020/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +264 -0
- package/esm2020/lib/core/payment/form/controls/control-config.service.mjs +46 -0
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/card-month/card-month.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/card-number/card-number.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/card-year/card-year.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +5 -5
- package/esm2020/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +33 -0
- package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +76 -0
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/coupon/coupon.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +5 -5
- package/esm2020/lib/core/payment/form/converters/cvv/cvv.converter.mjs +72 -0
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/email/email.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/phone.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/pin/pin.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +5 -5
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/select/select.converter.mjs +5 -5
- package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +28 -0
- package/{esm2022 → esm2020}/lib/core/payment/form/converters/text/text.converter.mjs +5 -5
- package/esm2020/lib/core/payment/form/converters/zip/zip.converter.mjs +64 -0
- package/{esm2022 → esm2020}/lib/core/payment/form/form.module.mjs +33 -33
- package/esm2020/lib/core/payment/form/form.service.mjs +49 -0
- package/esm2020/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +37 -0
- package/esm2020/lib/core/payment/form/validators/card-month/card-month.validator.mjs +37 -0
- package/esm2020/lib/core/payment/form/validators/card-year/card-year.validator.mjs +34 -0
- package/esm2020/lib/core/payment/form/validators/convert.function.mjs +15 -0
- package/esm2020/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +32 -0
- package/esm2020/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +40 -0
- package/{esm2022 → esm2020}/lib/core/payment/form/validators/validators.module.mjs +5 -5
- package/esm2020/lib/core/payment/form-messages/form-messages.service.mjs +23 -0
- package/esm2020/lib/core/payment/initialize/initialize.service.mjs +85 -0
- package/esm2020/lib/core/payment/initialize/response/initialize-response.class.mjs +43 -0
- package/esm2020/lib/core/payment/payment.service.mjs +369 -0
- package/{esm2022 → esm2020}/lib/core/payment/status/check-status/check-status.service.mjs +6 -6
- package/{esm2022 → esm2020}/lib/core/payment/status/check-status/request/check-status-request.class.mjs +1 -1
- package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +124 -0
- package/{esm2022 → esm2020}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.mjs +5 -5
- package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +121 -0
- package/esm2020/lib/core/payment/status/status-request/request/status-request.class.mjs +22 -0
- package/esm2020/lib/core/payment/status/status-request/response/status-response.class.mjs +98 -0
- package/{esm2022 → esm2020}/lib/core/payment/status/status-request/status-request.service.mjs +6 -6
- package/esm2020/lib/core/payment/status/status.service.mjs +75 -0
- package/esm2020/lib/core/payment/status/websocket-status/websocket-status.service.mjs +76 -0
- package/esm2020/lib/core/payment/submit/request/submit-request.class.mjs +24 -0
- package/esm2020/lib/core/payment/submit/response/submit-response.class.mjs +31 -0
- package/esm2020/lib/core/payment/submit/submit.service.mjs +78 -0
- package/esm2020/lib/core/payment/sync/request/sync-request.class.mjs +31 -0
- package/esm2020/lib/core/payment/sync/response/sync-response.class.mjs +17 -0
- package/esm2020/lib/core/payment/sync/sync.service.mjs +157 -0
- package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +49 -0
- package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +60 -0
- package/esm2020/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +105 -0
- package/esm2020/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +41 -0
- package/esm2020/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +109 -0
- package/esm2020/lib/core/payment/three-ds/three-ds.service.mjs +42 -0
- package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +85 -0
- package/esm2020/lib/core/payment/xps-api-part-request.abstract.mjs +8 -0
- package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +75 -0
- package/esm2020/lib/core/performance/performance.service.mjs +111 -0
- package/esm2020/lib/core/performance/xhr-action.service.mjs +114 -0
- package/esm2020/lib/core/saved-methods/saved-methods.service.mjs +54 -0
- package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +268 -0
- package/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +177 -0
- package/esm2020/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +84 -0
- package/esm2020/lib/core/session/session.service.mjs +57 -0
- package/esm2020/lib/core/settings/settings.service.mjs +92 -0
- package/esm2020/lib/core/url/url.service.mjs +34 -0
- package/esm2020/lib/core/user-agent/user-agent.service.mjs +211 -0
- package/esm2020/lib/core/user-balance/user-balance.service.mjs +53 -0
- package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +144 -0
- package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +158 -0
- package/esm2020/lib/core/web-socket/centrifugo-web-socket.service.mjs +200 -0
- package/esm2020/lib/core/web-socket/nchan-web-socket.service.mjs +116 -0
- package/esm2020/lib/core/web-socket/web-socket.factory.mjs +28 -0
- package/esm2020/lib/core-library.module.mjs +92 -0
- package/{esm2022 → esm2020}/lib/core-library.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/shared/pipes/pipes.module.mjs +5 -5
- package/esm2020/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +23 -0
- package/fesm2015/xsolla-payment-client-core.mjs +8138 -0
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/xsolla-payment-client-core.mjs +460 -460
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -0
- package/package.json +16 -10
- package/xsolla-payment-client-core-0.2.21.tgz +0 -0
- package/esm2022/lib/core/device-finger-print/device-finger-print.service.mjs +0 -67
- package/esm2022/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +0 -72
- package/esm2022/lib/core/errors-mapping/xps-response-errors-mapping.service.mjs +0 -52
- package/esm2022/lib/core/exceptions-handling/elk/elk-logger.service.mjs +0 -120
- package/esm2022/lib/core/exceptions-handling/errors/http-error.class.mjs +0 -40
- package/esm2022/lib/core/exceptions-handling/errors/tagged-error.class.mjs +0 -16
- package/esm2022/lib/core/http/secure-api/secure-api.service.mjs +0 -55
- package/esm2022/lib/core/legal/refund-policy.service.mjs +0 -30
- package/esm2022/lib/core/legal/secure-connection.service.mjs +0 -31
- package/esm2022/lib/core/payment/actions/next-action.service.mjs +0 -61
- package/esm2022/lib/core/payment/actions/redirect/redirect.action.class.mjs +0 -60
- package/esm2022/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +0 -34
- package/esm2022/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +0 -38
- package/esm2022/lib/core/payment/config/config.service.mjs +0 -37
- package/esm2022/lib/core/payment/finance-details/finance-details.service.mjs +0 -38
- package/esm2022/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +0 -264
- package/esm2022/lib/core/payment/form/controls/control-config.service.mjs +0 -46
- package/esm2022/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +0 -33
- package/esm2022/lib/core/payment/form/converters/converter.abstract.mjs +0 -76
- package/esm2022/lib/core/payment/form/converters/cvv/cvv.converter.mjs +0 -72
- package/esm2022/lib/core/payment/form/converters/street-number/street-number.converter.mjs +0 -28
- package/esm2022/lib/core/payment/form/converters/zip/zip.converter.mjs +0 -64
- package/esm2022/lib/core/payment/form/form.service.mjs +0 -49
- package/esm2022/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +0 -37
- package/esm2022/lib/core/payment/form/validators/card-month/card-month.validator.mjs +0 -37
- package/esm2022/lib/core/payment/form/validators/card-year/card-year.validator.mjs +0 -34
- package/esm2022/lib/core/payment/form/validators/convert.function.mjs +0 -15
- package/esm2022/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +0 -32
- package/esm2022/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +0 -40
- package/esm2022/lib/core/payment/form-messages/form-messages.service.mjs +0 -26
- package/esm2022/lib/core/payment/initialize/initialize.service.mjs +0 -85
- package/esm2022/lib/core/payment/initialize/response/initialize-response.class.mjs +0 -43
- package/esm2022/lib/core/payment/payment.service.mjs +0 -369
- package/esm2022/lib/core/payment/status/listen-status/listen-status.service.mjs +0 -124
- package/esm2022/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +0 -121
- package/esm2022/lib/core/payment/status/status-request/request/status-request.class.mjs +0 -22
- package/esm2022/lib/core/payment/status/status-request/response/status-response.class.mjs +0 -98
- package/esm2022/lib/core/payment/status/status.service.mjs +0 -75
- package/esm2022/lib/core/payment/status/websocket-status/websocket-status.service.mjs +0 -76
- package/esm2022/lib/core/payment/submit/request/submit-request.class.mjs +0 -24
- package/esm2022/lib/core/payment/submit/response/submit-response.class.mjs +0 -31
- package/esm2022/lib/core/payment/submit/submit.service.mjs +0 -78
- package/esm2022/lib/core/payment/sync/request/sync-request.class.mjs +0 -31
- package/esm2022/lib/core/payment/sync/response/sync-response.class.mjs +0 -17
- package/esm2022/lib/core/payment/sync/sync.service.mjs +0 -157
- package/esm2022/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +0 -49
- package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +0 -60
- package/esm2022/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +0 -105
- package/esm2022/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +0 -41
- package/esm2022/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +0 -109
- package/esm2022/lib/core/payment/three-ds/three-ds.service.mjs +0 -42
- package/esm2022/lib/core/payment/xps-api/xps-api.service.mjs +0 -85
- package/esm2022/lib/core/payment/xps-api-part-request.abstract.mjs +0 -8
- package/esm2022/lib/core/payment-methods/payment-methods.service.mjs +0 -75
- package/esm2022/lib/core/performance/performance.service.mjs +0 -111
- package/esm2022/lib/core/performance/xhr-action.service.mjs +0 -114
- package/esm2022/lib/core/saved-methods/saved-methods.service.mjs +0 -54
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +0 -268
- package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +0 -177
- package/esm2022/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +0 -84
- package/esm2022/lib/core/session/session.service.mjs +0 -57
- package/esm2022/lib/core/settings/settings.service.mjs +0 -92
- package/esm2022/lib/core/url/url.service.mjs +0 -34
- package/esm2022/lib/core/user-agent/user-agent.service.mjs +0 -211
- package/esm2022/lib/core/user-balance/user-balance.service.mjs +0 -53
- package/esm2022/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +0 -144
- package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +0 -158
- package/esm2022/lib/core/web-socket/centrifugo-web-socket.service.mjs +0 -200
- package/esm2022/lib/core/web-socket/nchan-web-socket.service.mjs +0 -116
- package/esm2022/lib/core/web-socket/web-socket.factory.mjs +0 -28
- package/esm2022/lib/core-library.module.mjs +0 -92
- package/esm2022/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +0 -23
- package/fesm2022/xsolla-payment-client-core.mjs.map +0 -1
- package/xsolla-payment-client-core-0.2.20.tgz +0 -0
- /package/{esm2022 → esm2020}/lib/core/agreementsGroup.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/boolean-number.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/combined-payment-methods/combined-payment-methods.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/countries-api/country-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/countries-api/country.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/country/country-iso-code.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/credit-card-settings.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/credit-card-types.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/credit-card.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/credit-cards-map.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/default-mask.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/four-block-mask.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/ordered-cards-settings.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/american-express.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/aura.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/china-union-pay.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/dankort.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/default-card.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/diners-clubs.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/discover.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/elo.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/hipercard.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/jcb.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/maestro.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/mastercard.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/mir.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/naranja.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/postepay.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/credit-card/types/visa.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/deep-readonly.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/device-finger-print/hash.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/edit-saved-methods/delete-method-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/encrypt-credit-card/encrypted-card.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/encrypt-credit-card/open-card.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/errors-mapping/card-number-sanction-error-codes.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/errors-mapping/field-special-errors-map.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/elk/additional-info.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/elk/log-message.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/api-error.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/app-error.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/elk-error-types.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/encrypt-card-error.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/response-error.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/terminal-error.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/token-error.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/errors/ws-error.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/http-interceptor/http-error-data.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/exceptions-handling/http-interceptor/http-error-response-data.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/extended-window.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/http/secure-api/api-url.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/http/secure-api/options.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/legal/legal.component.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/action.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/check-status/check-status.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/next-action.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/next-actions.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/redirect/pay-station4-url.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/redirect/ps4-pages/pages-payment-methods-id.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/redirect/ps4-pages/pages-routes.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/redirect/redirect.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/show-errors/show-errors.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/show-fields/show-fields.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/show-qr-code/show-qr-code.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/special-button/special-button.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/actions/three-ds/three-ds.action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/checkout-item.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/credit-card-payment-methods-id.variable.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/credit-card-state/credit-card-state.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/emit-data.service.abstract.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/field-names.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/field.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/cart-item.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/cart-line.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/cart-summary.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/finance-details.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/price.helpers.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/price.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/status/field-with-amount-and-currency.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/status/fields-with-currency.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/status/finance-info.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/summary/default-image-patterns.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/summary/sales-tax-details-key.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/finance-details/vat-details-key.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/common-control-config.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/control-status.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/card-number/card-number-control.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/checkbox/checkbox-control.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/control-config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/control-type.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/coupon/coupon-control.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/phone-control.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/radio-control/radio-control.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/radio-control/radio-option.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/search-select/search-select-option.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/search-select/select-control.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/search-select/select-option.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/controls/text-control.config.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/converters/converters-map.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/converters/converters-map.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/converters/cpf-name/cpf-name-regex.variable.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/converters/cvv/cvv-form-state.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/converters/street-number/street-number-from-state.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/field-form-states.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/field-status.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/form-fields-status.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/form-state.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/input-event.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/async-validator-fn.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/coupon/coupon-validator.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/email/email-validator.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/is-empty-input-value.function.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/max-length-validator.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/min-length-validator.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/phone-validator.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/required/required.validator.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/restricted-value/restricted-value.validator.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/validation-error.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/validation-errors.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form/validators/validator-fn.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/form-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/initialize/initialize-request-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/initialize/response/initialize-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/invoice.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/payment-config.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/payment-form.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/payment.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/check-status/request/check-status-request.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/check-status/response/check-status-response.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/check-status/response/check-status-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/finance-info-field.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/line-item.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-finance-info.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-groups.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-order.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-request/request/status-request.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-request/required-status-search-params.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-request/response/status-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-request/status-request-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-request/status-search-param.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-request/status-search-params.map.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-settings.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status-updated.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/status.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/title-class.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/web-socket-client-type.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/status/websocket-status/websocket-status.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/submit/request/submit-request.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/submit/response/is-submit-response.function.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/submit/response/submit-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/sync/field-async-validation.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/sync/field-sync-state.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/sync/request/sync-request.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/sync/response/sync-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/reinsurance-check/timer.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/three-ds-form.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/virtual-currency.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-api-part.abstract.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-checkout.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-comand.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-error.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-finance.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-message.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-purchase.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-request-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-request.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-response.error.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment/xps-summary.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment-methods/payment-method-api.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment-methods/payment-method.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment-methods/payment-methods-api.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment-methods/payment-methods-request-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment-methods/payment-methods-response.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment-methods/payment-methods-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/payment-methods/payment-methods-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/performance/xhr-action.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/properties.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/saved-methods/saved-method-api.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/saved-methods/saved-method.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/saved-methods/saved-methods-request-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/saved-methods/saved-methods-response.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/saved-methods/saved-methods-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/saved-methods/saved-methods-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/apple-pay/apple-pay-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/apple-pay/apple-pay.errors.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/google-pay/google-pay-button-color.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/google-pay/google-pay-checkout.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/google-pay/google-pay-init-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/google-pay/google-pay-library.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/sdk-payment-methods.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/sdk-payment-systems/sdk-payment-systems.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/auto-redirect-on-status.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/balance.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/bonus.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/configuration.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/empty-utils-response.error.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/header-type.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/offer.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/project.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/purchase.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/settings-mode.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/settings.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/status-back-show.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/tracking-info.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/user.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/settings/utils-response.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/type-guards/is-null.function.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/type-guards/is-string.function.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/type-guards/is-undefined.function.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/url/search-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-agent/browserInfo.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-agent/browsers.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-agent/device.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-agent/os.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-agent/user-agent-data.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-balance/user-balance-api.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-balance/user-balance-request-params.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-balance/user-balance-response.class.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-balance/user-balance-response.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/event-builder/invoice.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/event-builder/purchase.type.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/one-time-analytics-events.const.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/user-behaviour-analytics/user-session-options.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/web-socket/web-socket-client-type.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/web-socket/web-socket.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/window.token.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/core/xps-boolean.enum.mjs +0 -0
- /package/{esm2022 → esm2020}/public-api.mjs +0 -0
- /package/{esm2022 → esm2020}/xsolla-payment-client-core.mjs +0 -0
|
@@ -13,10 +13,10 @@ export class ThreeDsActionCreator {
|
|
|
13
13
|
isSuitable() {
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsActionCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsActionCreator }); }
|
|
18
16
|
}
|
|
19
|
-
i0.ɵɵ
|
|
17
|
+
ThreeDsActionCreator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ThreeDsActionCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
ThreeDsActionCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ThreeDsActionCreator });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ThreeDsActionCreator, decorators: [{
|
|
20
20
|
type: Injectable
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMuYWN0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3RocmVlLWRzL3RocmVlLWRzLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRVMsU0FBSSxHQUFzQixLQUFLLENBQUM7S0FZeEM7SUFWUSxhQUFhLENBQUMsVUFBMkI7UUFDOUMsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7aUhBWlUsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFRocmVlRHNBY3Rpb24sIFRocmVlRHNBY3Rpb25UeXBlIH0gZnJvbSAnLi90aHJlZS1kcy5hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBTdGF0dXNDaGFsbGVuZ2UgfSBmcm9tICcuLi8uLi90aHJlZS1kcy90aHJlZS1kcy0yMC9zdGF0dXMtdXBkYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHJlZURzQWN0aW9uQ3JlYXRvciBpbXBsZW1lbnRzIEFjdGlvbkNyZWF0b3Ige1xuICBwdWJsaWMgdHlwZTogVGhyZWVEc0FjdGlvblR5cGUgPSAnM0RTJztcblxuICBwdWJsaWMgZ2V0QWN0aW9uRGF0YShhY3Rpb25EYXRhOiBTdGF0dXNDaGFsbGVuZ2UpOiBUaHJlZURzQWN0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgZGF0YTogYWN0aW9uRGF0YSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGlzU3VpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../url/url.service";
|
|
4
|
+
import * as i2 from "../../settings/settings.service";
|
|
5
|
+
export class PaymentConfigService {
|
|
6
|
+
constructor(urlService, settingsService) {
|
|
7
|
+
this.urlService = urlService;
|
|
8
|
+
this.settingsService = settingsService;
|
|
9
|
+
}
|
|
10
|
+
enrich(config) {
|
|
11
|
+
if (!config.returnUrl) {
|
|
12
|
+
throw new Error('URL is not provided in payment config');
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
...config,
|
|
16
|
+
returnUrl: this.enrichReturnUrl(config.returnUrl, !!config.savePaymentMethod),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
enrichReturnUrl(returnUrl, savePaymentMethod) {
|
|
20
|
+
const enrichedUrl = this.urlService.addSearchParams(returnUrl, {
|
|
21
|
+
token: this.settingsService.token,
|
|
22
|
+
isSavePaymentAccount: savePaymentMethod
|
|
23
|
+
? "1" /* XpsBoolean.true */
|
|
24
|
+
: "0" /* XpsBoolean.false */,
|
|
25
|
+
});
|
|
26
|
+
return enrichedUrl;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
PaymentConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentConfigService, deps: [{ token: i1.UrlService }, { token: i2.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
PaymentConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentConfigService, providedIn: 'root' });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentConfigService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root',
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.UrlService }, { type: i2.SettingsService }]; } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2NvbmZpZy9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDbUIsVUFBc0IsRUFDdEIsZUFBZ0M7UUFEaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDaEQsQ0FBQztJQUVHLE1BQU0sQ0FBQyxNQUFxQjtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7U0FDMUQ7UUFFRCxPQUFPO1lBQ0wsR0FBRyxNQUFNO1lBQ1QsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQzdCLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQzNCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQ3JCLFNBQWlCLEVBQ2pCLGlCQUEwQjtRQUUxQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7WUFDN0QsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztZQUNqQyxvQkFBb0IsRUFBRSxpQkFBaUI7Z0JBQ3JDLENBQUM7Z0JBQ0QsQ0FBQywyQkFBaUI7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7aUhBL0JVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXJsU2VydmljZSB9IGZyb20gJy4uLy4uL3VybC91cmwuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnIH0gZnJvbSAnLi4vcGF5bWVudC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VydmljZTogVXJsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgZW5yaWNoKGNvbmZpZzogUGF5bWVudENvbmZpZyk6IFBheW1lbnRDb25maWcge1xuICAgIGlmICghY29uZmlnLnJldHVyblVybCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVUkwgaXMgbm90IHByb3ZpZGVkIGluIHBheW1lbnQgY29uZmlnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIHJldHVyblVybDogdGhpcy5lbnJpY2hSZXR1cm5VcmwoXG4gICAgICAgIGNvbmZpZy5yZXR1cm5VcmwsXG4gICAgICAgICEhY29uZmlnLnNhdmVQYXltZW50TWV0aG9kXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGVucmljaFJldHVyblVybChcbiAgICByZXR1cm5Vcmw6IHN0cmluZyxcbiAgICBzYXZlUGF5bWVudE1ldGhvZDogYm9vbGVhblxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGVucmljaGVkVXJsID0gdGhpcy51cmxTZXJ2aWNlLmFkZFNlYXJjaFBhcmFtcyhyZXR1cm5VcmwsIHtcbiAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGlzU2F2ZVBheW1lbnRBY2NvdW50OiBzYXZlUGF5bWVudE1ldGhvZFxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfSk7XG4gICAgcmV0dXJuIGVucmljaGVkVXJsO1xuICB9XG59XG4iXX0=
|
package/{esm2022 → esm2020}/lib/core/payment/credit-card-state/credit-card-state.service.mjs
RENAMED
|
@@ -2,13 +2,13 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { EmitDataService } from '../emit-data.service.abstract';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class CreditCardStateService extends EmitDataService {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardStateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardStateService, providedIn: 'root' }); }
|
|
7
5
|
}
|
|
8
|
-
i0.ɵɵ
|
|
6
|
+
CreditCardStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardStateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
7
|
+
CreditCardStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardStateService, providedIn: 'root' });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardStateService, decorators: [{
|
|
9
9
|
type: Injectable,
|
|
10
10
|
args: [{
|
|
11
11
|
providedIn: 'root',
|
|
12
12
|
}]
|
|
13
13
|
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWdDOzttSEFBL0Qsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGckIsTUFBTTsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1pdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZW1pdC1kYXRhLnNlcnZpY2UuYWJzdHJhY3QnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFN0YXRlIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxDcmVkaXRDYXJkU3RhdGU+IHt9XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { EmitDataService } from '../emit-data.service.abstract';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../session/session.service";
|
|
5
|
+
import * as i2 from "./summary/summary-finance-details-adapter.service";
|
|
6
|
+
import * as i3 from "./status/status-finance-details-adapter.service";
|
|
7
|
+
export class FinanceDetailsService extends EmitDataService {
|
|
8
|
+
constructor(sessionService, summaryFinanceDetailsAdapterService, statusFinanceDetailsAdapterService) {
|
|
9
|
+
super();
|
|
10
|
+
this.sessionService = sessionService;
|
|
11
|
+
this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
|
|
12
|
+
this.statusFinanceDetailsAdapterService = statusFinanceDetailsAdapterService;
|
|
13
|
+
this.purchaseSessionKey = 'purchase';
|
|
14
|
+
}
|
|
15
|
+
emitWithSummary(summary) {
|
|
16
|
+
if (summary) {
|
|
17
|
+
const financeDetails = this.summaryFinanceDetailsAdapterService.getFinanceDetails(summary);
|
|
18
|
+
if (financeDetails.purchase) {
|
|
19
|
+
this.sessionService.set(this.purchaseSessionKey, financeDetails.purchase);
|
|
20
|
+
}
|
|
21
|
+
super.emit(financeDetails);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
emitWithStatus(status) {
|
|
25
|
+
if (status) {
|
|
26
|
+
const purchase = this.sessionService.get(this.purchaseSessionKey);
|
|
27
|
+
const financeDetails = this.statusFinanceDetailsAdapterService.getFinanceDetails(status, purchase);
|
|
28
|
+
super.emit(financeDetails);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
FinanceDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FinanceDetailsService, deps: [{ token: i1.SessionService }, { token: i2.SummaryFinanceDetailsAdapterService }, { token: i3.StatusFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
FinanceDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FinanceDetailsService, providedIn: 'root' });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FinanceDetailsService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{ providedIn: 'root' }]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.SummaryFinanceDetailsAdapterService }, { type: i3.StatusFinanceDetailsAdapterService }]; } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFVaEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQStCO0lBR3hFLFlBQ21CLGNBQThCLEVBQzlCLG1DQUF3RSxFQUN4RSxrQ0FBc0U7UUFFdkYsS0FBSyxFQUFFLENBQUM7UUFKUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQUN4RSx1Q0FBa0MsR0FBbEMsa0NBQWtDLENBQW9DO1FBTHhFLHVCQUFrQixHQUFHLFVBQVUsQ0FBQztJQVFqRCxDQUFDO0lBRU0sZUFBZSxDQUFDLE9BQW9CO1FBQ3pDLElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV0RSxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLGNBQWMsQ0FBQyxRQUFRLENBQ3hCLENBQUM7YUFDSDtZQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLE1BQWU7UUFDbkMsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDdEMsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDO1lBQ0YsTUFBTSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxpQkFBaUIsQ0FDdkQsTUFBTSxFQUNOLFFBQVEsQ0FDVCxDQUFDO1lBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7O2tIQXZDVSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQURSLE1BQU07MkZBQ25CLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbWl0RGF0YVNlcnZpY2UgfSBmcm9tICcuLi9lbWl0LWRhdGEuc2VydmljZS5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi4veHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0ZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMtZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXNzaW9uL3Nlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBYcHNQdXJjaGFzZSB9IGZyb20gJy4uL3hwcy1wdXJjaGFzZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZpbmFuY2VEZXRhaWxzU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxGaW5hbmNlRGV0YWlscz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHB1cmNoYXNlU2Vzc2lvbktleSA9ICdwdXJjaGFzZSc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGVtaXRXaXRoU3VtbWFyeShzdW1tYXJ5PzogWHBzU3VtbWFyeSk6IHZvaWQge1xuICAgIGlmIChzdW1tYXJ5KSB7XG4gICAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoc3VtbWFyeSk7XG5cbiAgICAgIGlmIChmaW5hbmNlRGV0YWlscy5wdXJjaGFzZSkge1xuICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldChcbiAgICAgICAgICB0aGlzLnB1cmNoYXNlU2Vzc2lvbktleSxcbiAgICAgICAgICBmaW5hbmNlRGV0YWlscy5wdXJjaGFzZVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBzdXBlci5lbWl0KGZpbmFuY2VEZXRhaWxzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW1pdFdpdGhTdGF0dXMoc3RhdHVzPzogU3RhdHVzKTogdm9pZCB7XG4gICAgaWYgKHN0YXR1cykge1xuICAgICAgY29uc3QgcHVyY2hhc2UgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldDxYcHNQdXJjaGFzZT4oXG4gICAgICAgIHRoaXMucHVyY2hhc2VTZXNzaW9uS2V5XG4gICAgICApO1xuICAgICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgICB0aGlzLnN0YXR1c0ZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoXG4gICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgIHB1cmNoYXNlXG4gICAgICAgICk7XG4gICAgICBzdXBlci5lbWl0KGZpbmFuY2VEZXRhaWxzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -280,11 +280,11 @@ export class StatusFinanceDetailsAdapterService {
|
|
|
280
280
|
}
|
|
281
281
|
return percentsMatchResult[0];
|
|
282
282
|
}
|
|
283
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: StatusFinanceDetailsAdapterService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
284
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: StatusFinanceDetailsAdapterService, providedIn: 'root' }); }
|
|
285
283
|
}
|
|
286
|
-
i0.ɵɵ
|
|
284
|
+
StatusFinanceDetailsAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusFinanceDetailsAdapterService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
285
|
+
StatusFinanceDetailsAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusFinanceDetailsAdapterService, providedIn: 'root' });
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusFinanceDetailsAdapterService, decorators: [{
|
|
287
287
|
type: Injectable,
|
|
288
288
|
args: [{ providedIn: 'root' }]
|
|
289
|
-
}], ctorParameters: ()
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3RELE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFDbUIsa0NBQXVFO1FBQXZFLHVDQUFrQyxHQUFsQyxrQ0FBa0MsQ0FBcUM7SUFDdkYsQ0FBQztJQUVHLGlCQUFpQixDQUN0QixNQUFjLEVBQ2QsUUFBNEI7UUFFNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRW5DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQ0FBb0MsQ0FDOUQsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRO1lBQ1Is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LFdBQVcsS0FBSyxVQUFVLENBQUMsVUFBVTtnQkFDM0MsTUFBTSxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsT0FBTztnQkFDekMsTUFBTSxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMzQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLE9BQU8sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYTtRQUMvQixNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztRQUN4QyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBdFpVLGtDQUFrQztrSEFBbEMsa0NBQWtDLGNBRHJCLE1BQU07OzJGQUNuQixrQ0FBa0M7a0JBRDlDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdHVzRmluYW5jZUluZm8gfSBmcm9tICcuLi8uLi9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vLi4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5IH0gZnJvbSAnLi9maW5hbmNlLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvRmllbGQgfSBmcm9tICcuLi8uLi9zdGF0dXMvZmluYW5jZS1pbmZvLWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBmaWVsZHNXaXRoQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkcy13aXRoLWN1cnJlbmN5JztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBleHRyYWN0TW9uZXlDdXJyZW5jeSB9IGZyb20gJy4uL3ByaWNlLmhlbHBlcnMnO1xuaW1wb3J0IHsgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkLXdpdGgtYW1vdW50LWFuZC1jdXJyZW5jeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuLi9jYXJ0LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvdW50cnlJc29Db2RlIH0gZnJvbSAnLi4vLi4vLi4vY291bnRyeS9jb3VudHJ5LWlzby1jb2RlLmVudW0nO1xuaW1wb3J0IHsgVmF0RGV0YWlsc0tleSB9IGZyb20gJy4uL3ZhdC1kZXRhaWxzLWtleS5lbnVtJztcbmltcG9ydCB7IFhwc1B1cmNoYXNlIH0gZnJvbSAnLi4vLi4veHBzLXB1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4uL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uLy4uL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNPcmRlciB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hckZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbFxuICApOiBGaW5hbmNlRGV0YWlscyB7XG4gICAgY29uc3QgZmluYW5jZUluZm8gPSB0aGlzLmZpbGxGaW5hbmNlSW5mbyhzdGF0dXMuZmluYW5jZUluZm8pO1xuICAgIGNvbnN0IGNvdW50cnkgPSBzdGF0dXMucGF5bWVudENvdW50cnlJc287XG4gICAgY29uc3Qgb3JkZXIgPSBzdGF0dXMub3JkZXIgPz8gbnVsbDtcblxuICAgIGNvbnN0IHN1bW1hcnlGaW5hbmNlID0gdGhpcy5jb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgICBwdXJjaGFzZSxcbiAgICAgIG9yZGVyLFxuICAgICAgY291bnRyeVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHVyY2hhc2UsXG4gICAgICBmaW5hbmNlOiBzdW1tYXJ5RmluYW5jZSxcbiAgICAgIGNhcnRJdGVtczogdGhpcy5nZXRDYXJ0SXRlbXMocHVyY2hhc2UsIHN1bW1hcnlGaW5hbmNlKSxcbiAgICAgIGNhcnRTdW1tYXJ5OiB0aGlzLmdldENhcnRTdW1tYXJ5KHN0YXR1cywgZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgcGF5bWVudENvdW50cnk6IGNvdW50cnksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsbEZpbmFuY2VJbmZvKFxuICAgIGZpbmFuY2VJbmZvOiBTdGF0dXNGaW5hbmNlSW5mb1xuICApOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbmFuY2VJbmZvKS5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIGZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5OiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICAgICAga2V5OiBzdHJpbmdcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZDogRmluYW5jZUluZm9GaWVsZCA9IGZpbmFuY2VJbmZvW2tleV07XG5cbiAgICAgICAgaWYgKGZpZWxkPy5rZXkgJiYgZmllbGRzV2l0aEN1cnJlbmN5LmhhcyhmaWVsZD8ua2V5KSkge1xuICAgICAgICAgIHRoaXMuYWRkQW1vdW50QW5kQ3VycmVuY3lUb0ZpZWxkKGZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5maW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSwgW2tleV06IGZpZWxkIH07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRBbW91bnRBbmRDdXJyZW5jeVRvRmllbGQoZmllbGQ6IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgcHJlZj86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRBbmRDdXJyZW5jeSA9IC8oXlstXFxkLl0rKSAoW0EtWl17M30pJC87XG4gICAgY29uc3QgY3VycmVuY3lQYXJ0cyA9IGZpZWxkLnZhbHVlPy50cmltKCkubWF0Y2goYW1vdW50QW5kQ3VycmVuY3kpO1xuXG4gICAgaWYgKGN1cnJlbmN5UGFydHMpIHtcbiAgICAgIGNvbnN0IGFtb3VudFBvc2l0aW9uID0gMTtcbiAgICAgIGNvbnN0IGN1cnJlbmN5UG9zaXRpb24gPSAyO1xuICAgICAgZmllbGQuYW1vdW50ID0gTnVtYmVyKGN1cnJlbmN5UGFydHNbYW1vdW50UG9zaXRpb25dKTtcbiAgICAgIGZpZWxkLmN1cnJlbmN5ID0gY3VycmVuY3lQYXJ0c1tjdXJyZW5jeVBvc2l0aW9uXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhcnRJdGVtcyhcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UgfCBudWxsLFxuICAgIHN1bW1hcnlGaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbFxuICApOiBDYXJ0SXRlbVtdIHwgbnVsbCB7XG4gICAgaWYgKCFwdXJjaGFzZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHtcbiAgICAgICAgcHVyY2hhc2UsXG4gICAgICAgIGZpbmFuY2U6IHN1bW1hcnlGaW5hbmNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbCxcbiAgICBvcmRlcjogU3RhdHVzT3JkZXIgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBYcHNGaW5hbmNlIHwgbnVsbCB7XG4gICAgaWYgKCFvcmRlciB8fCAhcHVyY2hhc2U/LmNoZWNrb3V0X2l0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2UgPSB7XG4gICAgICBwYXltZW50X2NvdW50cnk6IHtcbiAgICAgICAgaXNvOiBjb3VudHJ5LFxuICAgICAgfSxcbiAgICB9IGFzIFhwc0ZpbmFuY2U7XG5cbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbSA9IHB1cmNoYXNlPy5jaGVja291dF9pdGVtc1swXTtcbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbUFtb3VudCA9IGZpcnN0Q2hlY2tvdXRJdGVtPy5hbW91bnQgPz8gMDtcbiAgICBjb25zdCBvbmVIdW5kcmVkUGVyY2VudCA9IDEwMDtcbiAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgKGZpcnN0Q2hlY2tvdXRJdGVtQW1vdW50ICogZmlyc3RDaGVja291dEl0ZW0/LmluZGlyZWN0X3RheF9yYXRlKSAvXG4gICAgICBvbmVIdW5kcmVkUGVyY2VudDtcblxuICAgIGlmIChvcmRlci5jb250YWluZWRfdGF4ZXM/LnNhbGVzX3RheCkge1xuICAgICAgZmluYW5jZS5zYWxlc190YXggPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAob3JkZXIuY29udGFpbmVkX3RheGVzPy51c2VyX3ZhdCkge1xuICAgICAgZmluYW5jZS52YXQgPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluYW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FydFN1bW1hcnkoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5LFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBDYXJ0U3VtbWFyeSB7XG4gICAgY29uc3QgY2FydDogQ2FydFN1bW1hcnkgPSB7XG4gICAgICB0b3RhbDogdGhpcy5nZXRUb3RhbChmaW5hbmNlSW5mbyksXG4gICAgICB0b3RhbERldGFpbHM6IHRoaXMuZ2V0VG90YWxEZXRhaWxzKGZpbmFuY2VJbmZvLCBjb3VudHJ5KSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi50aGlzLmdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlSW5mbyksXG4gICAgICAgIC4uLnRoaXMuZ2V0VGF4ZXNGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgXSxcbiAgICAgIHRyYW5zYWN0aW9uRGV0YWlsczogdGhpcy5nZXRUcmFuc2FjdGlvbkRldGFpbHMoc3RhdHVzLCBmaW5hbmNlSW5mbyksXG4gICAgICBzdWJ0b3RhbDogdGhpcy5nZXRJbml0aWFsQ3VycmVuY3lTdWJ0b3RhbChmaW5hbmNlSW5mbykgPz8gbnVsbCxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDogdGhpcy5nZXRTdWJ0b3RhbFBheW1lbnQoZmluYW5jZUluZm8pID8/IG51bGwsXG4gICAgfTtcblxuICAgIHJldHVybiBjYXJ0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbChmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3kpOiBDYXJ0TGluZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KFxuICAgICAgICBmaW5hbmNlSW5mby5zdW0gYXMgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3lcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3VidG90YWxQYXltZW50KFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koXG4gICAgICAgIGZpbmFuY2VJbmZvLnN1YnRvdGFsIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRpYWxDdXJyZW5jeVN1YnRvdGFsKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsU3VtbWFyeUJlZm9yZUNvbnZlcnNpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZUluZm8uc3VidG90YWxTdW1tYXJ5QmVmb3JlQ29udmVyc2lvbiksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxEZXRhaWxzKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgdG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG5cbiAgICBjb25zdCBzYWxlc1RheENvbW1pc3Npb25GaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgJ3NhbGVzVGF4Q29tbWlzc2lvbidcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuICAgIGlmIChzYWxlc1RheENvbW1pc3Npb25GaWVsZCkge1xuICAgICAgdG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICB0aXRsZTogc2FsZXNUYXhDb21taXNzaW9uRmllbGQucHJlZixcbiAgICAgICAgbW9uZXk6IHtcbiAgICAgICAgICBhbW91bnQ6IHNhbGVzVGF4Q29tbWlzc2lvbkZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgIGN1cnJlbmN5OiBzYWxlc1RheENvbW1pc3Npb25GaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICdjb21taXNzaW9uVXNlclZhdFByYydcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuXG4gICAgaWYgKGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyhjb21taXNzaW9uVXNlclZhdFByY0ZpZWxkLnByZWYpO1xuXG4gICAgICB0b3RhbERldGFpbHMucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKHBlcmNlbnRzLCBjb3VudHJ5KSxcbiAgICAgICAgdGl0bGU6IHRoaXMuZ2VWYXRJbmNsdWRpbmdUaXRsZURldGFpbHMocGVyY2VudHMsIGNvdW50cnkpLFxuICAgICAgICBtb25leToge1xuICAgICAgICAgIGFtb3VudDogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWxEZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbERldGFpbHMoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcgPSBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdkaXNjb3VudCcsXG4gICAgICAgIHRpdGxlOiAnRGlzY291bnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmVlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdwYXltZW50U3lzdGVtRmVlJyxcbiAgICAgICAgdGl0bGU6ICdQYXltZW50IHN5c3RlbSBmZWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAndXNlci1iYWxhbmNlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICd1c2VyV2FsbGV0JyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHJlZGVlbWVkUG9pbnRzID0gZmluYW5jZUluZm9bJ3JlZGVlbWVkUG9pbnRzJ107XG5cbiAgICBpZiAocmVkZWVtZWRQb2ludHM/LnByZWYpIHtcbiAgICAgIHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcucHVzaCh7XG4gICAgICAgIGtleTogJ3JlZGVlbS1wb2ludHMnLFxuICAgICAgICByZXNwb25zZUtleTogJ3JlZGVlbWVkUG9pbnRzJyxcbiAgICAgICAgdGl0bGU6IHJlZGVlbWVkUG9pbnRzLnByZWYsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VidG90YWxEZXRhaWxzU29ydGluZy5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIHN1YlRvdGFsRGV0YWlsczogQ2FydExpbmVbXSxcbiAgICAgICAgc29ydGluZzogeyByZXNwb25zZUtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1cbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgICAgIHNvcnRpbmcucmVzcG9uc2VLZXlcbiAgICAgICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgc3ViVG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNvcnRpbmcudGl0bGUsXG4gICAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgICBhbW91bnQ6IGZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogZmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJUb3RhbERldGFpbHM7XG4gICAgICB9LFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRheGVzRm9yU3VidG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG4gICAgY29uc3QgdmF0VXNlck5vdEluY2x1ZGVkRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICd2YXRVc2VyTm90SW5jbHVkZWQnXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICBpZiAodmF0VXNlck5vdEluY2x1ZGVkRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyh2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5wcmVmKTtcbiAgICAgIHRheGVzRm9yU3VidG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5RGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdE5vdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIG1vbmV5OiB7XG4gICAgICAgICAgYW1vdW50OiB2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogdmF0VXNlck5vdEluY2x1ZGVkRmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGF4ZXNGb3JTdWJ0b3RhbERldGFpbHM7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQgOiBWYXREZXRhaWxzS2V5LnZhdEluZGlhO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCA6IFZhdERldGFpbHNLZXkudmF0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXROb3RJbmNsdWRpbmdUaXRsZURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gYEdTVCAke3BlcmNlbnRzfSVgIDogJ0dTVCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuICdWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IGBWQVQgJHtwZXJjZW50c30lYCA6ICdWQVQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKFxuICAgIHBlcmNlbnRzOiBzdHJpbmcgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBwZXJjZW50c1xuICAgICAgICA/IFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nXG4gICAgICAgIDogVmF0RGV0YWlsc0tleS52YXRJbmRpYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcGVyY2VudHNcbiAgICAgID8gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50SW5jbHVkaW5nXG4gICAgICA6IFZhdERldGFpbHNLZXkudmF0SW5jbHVkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZVZhdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhcbiAgICBwZXJjZW50czogc3RyaW5nIHwgbnVsbCxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gcGVyY2VudHMgPyBgSW5jbHVkaW5nICR7cGVyY2VudHN9JSBHU1RgIDogJ0luY2x1ZGluZyBHU1QnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmNlbnRzID8gYEluY2x1ZGluZyAke3BlcmNlbnRzfSUgVkFUYCA6IGBJbmNsdWRpbmcgVkFUYDtcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY291bnRyeSA9PT0gQ291bnRyeUlzb0NvZGUuR2hhbmE7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvdW50cnkgPT09IENvdW50cnlJc29Db2RlLkluZGlhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2FjdGlvbkRldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuICAgIGlmIChmaW5hbmNlSW5mby5pbnZvaWNlPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICdpbnZvaWNlJyxcbiAgICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbicsXG4gICAgICAgIGNvbnRlbnQ6IGZpbmFuY2VJbmZvLmludm9pY2UudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlZCA9XG4gICAgICBzdGF0dXMuaXNDYW5jZWxVc2VyIHx8XG4gICAgICAoc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLnByb2Nlc3NpbmcgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmNyZWF0ZWQgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmhlbGQpO1xuICAgIGlmIChpc0NvbXBsZXRlZCAmJiBmaW5hbmNlSW5mby50aW1lPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICd0aW1lJyxcbiAgICAgICAgdGl0bGU6ICdEYXRlJyxcbiAgICAgICAgY29udGVudDogZmluYW5jZUluZm8udGltZS52YWx1ZSxcbiAgICAgICAgaXNEYXRlTGluZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNhY3Rpb25EZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJjZW50cyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGVyY2VudHNUZW1wbGF0ZSA9IC8oXFxkKyguXFxkKyk/KS87XG4gICAgY29uc3QgcGVyY2VudHNNYXRjaFJlc3VsdCA9IHBlcmNlbnRzVGVtcGxhdGUuZXhlYyh2YWx1ZSk7XG5cbiAgICBpZiAoIXBlcmNlbnRzTWF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50c01hdGNoUmVzdWx0WzBdO1xuICB9XG59XG4iXX0=
|
|
289
|
+
}], ctorParameters: function () { return [{ type: i1.SummaryFinanceDetailsAdapterService }]; } });
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3RELE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFDbUIsa0NBQXVFO1FBQXZFLHVDQUFrQyxHQUFsQyxrQ0FBa0MsQ0FBcUM7SUFDdkYsQ0FBQztJQUVHLGlCQUFpQixDQUN0QixNQUFjLEVBQ2QsUUFBNEI7UUFFNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRW5DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQ0FBb0MsQ0FDOUQsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRO1lBQ1Is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O2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLE9BQU8sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7UUFDeEMsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OytIQXRaVSxrQ0FBa0M7bUlBQWxDLGtDQUFrQyxjQURyQixNQUFNOzJGQUNuQixrQ0FBa0M7a0JBRDlDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdHVzRmluYW5jZUluZm8gfSBmcm9tICcuLi8uLi9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vLi4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5IH0gZnJvbSAnLi9maW5hbmNlLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvRmllbGQgfSBmcm9tICcuLi8uLi9zdGF0dXMvZmluYW5jZS1pbmZvLWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBmaWVsZHNXaXRoQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkcy13aXRoLWN1cnJlbmN5JztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBleHRyYWN0TW9uZXlDdXJyZW5jeSB9IGZyb20gJy4uL3ByaWNlLmhlbHBlcnMnO1xuaW1wb3J0IHsgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkLXdpdGgtYW1vdW50LWFuZC1jdXJyZW5jeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuLi9jYXJ0LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvdW50cnlJc29Db2RlIH0gZnJvbSAnLi4vLi4vLi4vY291bnRyeS9jb3VudHJ5LWlzby1jb2RlLmVudW0nO1xuaW1wb3J0IHsgVmF0RGV0YWlsc0tleSB9IGZyb20gJy4uL3ZhdC1kZXRhaWxzLWtleS5lbnVtJztcbmltcG9ydCB7IFhwc1B1cmNoYXNlIH0gZnJvbSAnLi4vLi4veHBzLXB1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4uL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uLy4uL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNPcmRlciB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hckZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbFxuICApOiBGaW5hbmNlRGV0YWlscyB7XG4gICAgY29uc3QgZmluYW5jZUluZm8gPSB0aGlzLmZpbGxGaW5hbmNlSW5mbyhzdGF0dXMuZmluYW5jZUluZm8pO1xuICAgIGNvbnN0IGNvdW50cnkgPSBzdGF0dXMucGF5bWVudENvdW50cnlJc287XG4gICAgY29uc3Qgb3JkZXIgPSBzdGF0dXMub3JkZXIgPz8gbnVsbDtcblxuICAgIGNvbnN0IHN1bW1hcnlGaW5hbmNlID0gdGhpcy5jb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgICBwdXJjaGFzZSxcbiAgICAgIG9yZGVyLFxuICAgICAgY291bnRyeVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHVyY2hhc2UsXG4gICAgICBmaW5hbmNlOiBzdW1tYXJ5RmluYW5jZSxcbiAgICAgIGNhcnRJdGVtczogdGhpcy5nZXRDYXJ0SXRlbXMocHVyY2hhc2UsIHN1bW1hcnlGaW5hbmNlKSxcbiAgICAgIGNhcnRTdW1tYXJ5OiB0aGlzLmdldENhcnRTdW1tYXJ5KHN0YXR1cywgZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgcGF5bWVudENvdW50cnk6IGNvdW50cnksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsbEZpbmFuY2VJbmZvKFxuICAgIGZpbmFuY2VJbmZvOiBTdGF0dXNGaW5hbmNlSW5mb1xuICApOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbmFuY2VJbmZvKS5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIGZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5OiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICAgICAga2V5OiBzdHJpbmdcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZDogRmluYW5jZUluZm9GaWVsZCA9IGZpbmFuY2VJbmZvW2tleV07XG5cbiAgICAgICAgaWYgKGZpZWxkPy5rZXkgJiYgZmllbGRzV2l0aEN1cnJlbmN5LmhhcyhmaWVsZD8ua2V5KSkge1xuICAgICAgICAgIHRoaXMuYWRkQW1vdW50QW5kQ3VycmVuY3lUb0ZpZWxkKGZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5maW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSwgW2tleV06IGZpZWxkIH07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRBbW91bnRBbmRDdXJyZW5jeVRvRmllbGQoZmllbGQ6IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgcHJlZj86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRBbmRDdXJyZW5jeSA9IC8oXlstXFxkLl0rKSAoW0EtWl17M30pJC87XG4gICAgY29uc3QgY3VycmVuY3lQYXJ0cyA9IGZpZWxkLnZhbHVlPy50cmltKCkubWF0Y2goYW1vdW50QW5kQ3VycmVuY3kpO1xuXG4gICAgaWYgKGN1cnJlbmN5UGFydHMpIHtcbiAgICAgIGNvbnN0IGFtb3VudFBvc2l0aW9uID0gMTtcbiAgICAgIGNvbnN0IGN1cnJlbmN5UG9zaXRpb24gPSAyO1xuICAgICAgZmllbGQuYW1vdW50ID0gTnVtYmVyKGN1cnJlbmN5UGFydHNbYW1vdW50UG9zaXRpb25dKTtcbiAgICAgIGZpZWxkLmN1cnJlbmN5ID0gY3VycmVuY3lQYXJ0c1tjdXJyZW5jeVBvc2l0aW9uXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhcnRJdGVtcyhcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UgfCBudWxsLFxuICAgIHN1bW1hcnlGaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbFxuICApOiBDYXJ0SXRlbVtdIHwgbnVsbCB7XG4gICAgaWYgKCFwdXJjaGFzZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHtcbiAgICAgICAgcHVyY2hhc2UsXG4gICAgICAgIGZpbmFuY2U6IHN1bW1hcnlGaW5hbmNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbCxcbiAgICBvcmRlcjogU3RhdHVzT3JkZXIgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBYcHNGaW5hbmNlIHwgbnVsbCB7XG4gICAgaWYgKCFvcmRlciB8fCAhcHVyY2hhc2U/LmNoZWNrb3V0X2l0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2UgPSB7XG4gICAgICBwYXltZW50X2NvdW50cnk6IHtcbiAgICAgICAgaXNvOiBjb3VudHJ5LFxuICAgICAgfSxcbiAgICB9IGFzIFhwc0ZpbmFuY2U7XG5cbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbSA9IHB1cmNoYXNlPy5jaGVja291dF9pdGVtc1swXTtcbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbUFtb3VudCA9IGZpcnN0Q2hlY2tvdXRJdGVtPy5hbW91bnQgPz8gMDtcbiAgICBjb25zdCBvbmVIdW5kcmVkUGVyY2VudCA9IDEwMDtcbiAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgKGZpcnN0Q2hlY2tvdXRJdGVtQW1vdW50ICogZmlyc3RDaGVja291dEl0ZW0/LmluZGlyZWN0X3RheF9yYXRlKSAvXG4gICAgICBvbmVIdW5kcmVkUGVyY2VudDtcblxuICAgIGlmIChvcmRlci5jb250YWluZWRfdGF4ZXM/LnNhbGVzX3RheCkge1xuICAgICAgZmluYW5jZS5zYWxlc190YXggPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAob3JkZXIuY29udGFpbmVkX3RheGVzPy51c2VyX3ZhdCkge1xuICAgICAgZmluYW5jZS52YXQgPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluYW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FydFN1bW1hcnkoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5LFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBDYXJ0U3VtbWFyeSB7XG4gICAgY29uc3QgY2FydDogQ2FydFN1bW1hcnkgPSB7XG4gICAgICB0b3RhbDogdGhpcy5nZXRUb3RhbChmaW5hbmNlSW5mbyksXG4gICAgICB0b3RhbERldGFpbHM6IHRoaXMuZ2V0VG90YWxEZXRhaWxzKGZpbmFuY2VJbmZvLCBjb3VudHJ5KSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi50aGlzLmdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlSW5mbyksXG4gICAgICAgIC4uLnRoaXMuZ2V0VGF4ZXNGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgXSxcbiAgICAgIHRyYW5zYWN0aW9uRGV0YWlsczogdGhpcy5nZXRUcmFuc2FjdGlvbkRldGFpbHMoc3RhdHVzLCBmaW5hbmNlSW5mbyksXG4gICAgICBzdWJ0b3RhbDogdGhpcy5nZXRJbml0aWFsQ3VycmVuY3lTdWJ0b3RhbChmaW5hbmNlSW5mbykgPz8gbnVsbCxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDogdGhpcy5nZXRTdWJ0b3RhbFBheW1lbnQoZmluYW5jZUluZm8pID8/IG51bGwsXG4gICAgfTtcblxuICAgIHJldHVybiBjYXJ0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbChmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3kpOiBDYXJ0TGluZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KFxuICAgICAgICBmaW5hbmNlSW5mby5zdW0gYXMgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3lcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3VidG90YWxQYXltZW50KFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koXG4gICAgICAgIGZpbmFuY2VJbmZvLnN1YnRvdGFsIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRpYWxDdXJyZW5jeVN1YnRvdGFsKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsU3VtbWFyeUJlZm9yZUNvbnZlcnNpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZUluZm8uc3VidG90YWxTdW1tYXJ5QmVmb3JlQ29udmVyc2lvbiksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxEZXRhaWxzKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgdG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG5cbiAgICBjb25zdCBzYWxlc1RheENvbW1pc3Npb25GaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgJ3NhbGVzVGF4Q29tbWlzc2lvbidcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuICAgIGlmIChzYWxlc1RheENvbW1pc3Npb25GaWVsZCkge1xuICAgICAgdG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICB0aXRsZTogc2FsZXNUYXhDb21taXNzaW9uRmllbGQucHJlZixcbiAgICAgICAgbW9uZXk6IHtcbiAgICAgICAgICBhbW91bnQ6IHNhbGVzVGF4Q29tbWlzc2lvbkZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgIGN1cnJlbmN5OiBzYWxlc1RheENvbW1pc3Npb25GaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICdjb21taXNzaW9uVXNlclZhdFByYydcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuXG4gICAgaWYgKGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyhjb21taXNzaW9uVXNlclZhdFByY0ZpZWxkLnByZWYpO1xuXG4gICAgICB0b3RhbERldGFpbHMucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKHBlcmNlbnRzLCBjb3VudHJ5KSxcbiAgICAgICAgdGl0bGU6IHRoaXMuZ2VWYXRJbmNsdWRpbmdUaXRsZURldGFpbHMocGVyY2VudHMsIGNvdW50cnkpLFxuICAgICAgICBtb25leToge1xuICAgICAgICAgIGFtb3VudDogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWxEZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbERldGFpbHMoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcgPSBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdkaXNjb3VudCcsXG4gICAgICAgIHRpdGxlOiAnRGlzY291bnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmVlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdwYXltZW50U3lzdGVtRmVlJyxcbiAgICAgICAgdGl0bGU6ICdQYXltZW50IHN5c3RlbSBmZWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAndXNlci1iYWxhbmNlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICd1c2VyV2FsbGV0JyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHJlZGVlbWVkUG9pbnRzID0gZmluYW5jZUluZm9bJ3JlZGVlbWVkUG9pbnRzJ107XG5cbiAgICBpZiAocmVkZWVtZWRQb2ludHM/LnByZWYpIHtcbiAgICAgIHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcucHVzaCh7XG4gICAgICAgIGtleTogJ3JlZGVlbS1wb2ludHMnLFxuICAgICAgICByZXNwb25zZUtleTogJ3JlZGVlbWVkUG9pbnRzJyxcbiAgICAgICAgdGl0bGU6IHJlZGVlbWVkUG9pbnRzLnByZWYsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VidG90YWxEZXRhaWxzU29ydGluZy5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIHN1YlRvdGFsRGV0YWlsczogQ2FydExpbmVbXSxcbiAgICAgICAgc29ydGluZzogeyByZXNwb25zZUtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1cbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgICAgIHNvcnRpbmcucmVzcG9uc2VLZXlcbiAgICAgICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgc3ViVG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNvcnRpbmcudGl0bGUsXG4gICAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgICBhbW91bnQ6IGZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogZmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJUb3RhbERldGFpbHM7XG4gICAgICB9LFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRheGVzRm9yU3VidG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG4gICAgY29uc3QgdmF0VXNlck5vdEluY2x1ZGVkRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICd2YXRVc2VyTm90SW5jbHVkZWQnXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICBpZiAodmF0VXNlck5vdEluY2x1ZGVkRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyh2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5wcmVmKTtcbiAgICAgIHRheGVzRm9yU3VidG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5RGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdE5vdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIG1vbmV5OiB7XG4gICAgICAgICAgYW1vdW50OiB2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogdmF0VXNlck5vdEluY2x1ZGVkRmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGF4ZXNGb3JTdWJ0b3RhbERldGFpbHM7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQgOiBWYXREZXRhaWxzS2V5LnZhdEluZGlhO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCA6IFZhdERldGFpbHNLZXkudmF0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXROb3RJbmNsdWRpbmdUaXRsZURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gYEdTVCAke3BlcmNlbnRzfSVgIDogJ0dTVCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuICdWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IGBWQVQgJHtwZXJjZW50c30lYCA6ICdWQVQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKFxuICAgIHBlcmNlbnRzOiBzdHJpbmcgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBwZXJjZW50c1xuICAgICAgICA/IFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nXG4gICAgICAgIDogVmF0RGV0YWlsc0tleS52YXRJbmRpYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcGVyY2VudHNcbiAgICAgID8gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50SW5jbHVkaW5nXG4gICAgICA6IFZhdERldGFpbHNLZXkudmF0SW5jbHVkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZVZhdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhcbiAgICBwZXJjZW50czogc3RyaW5nIHwgbnVsbCxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gcGVyY2VudHMgPyBgSW5jbHVkaW5nICR7cGVyY2VudHN9JSBHU1RgIDogJ0luY2x1ZGluZyBHU1QnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmNlbnRzID8gYEluY2x1ZGluZyAke3BlcmNlbnRzfSUgVkFUYCA6IGBJbmNsdWRpbmcgVkFUYDtcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY291bnRyeSA9PT0gQ291bnRyeUlzb0NvZGUuR2hhbmE7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvdW50cnkgPT09IENvdW50cnlJc29Db2RlLkluZGlhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2FjdGlvbkRldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuICAgIGlmIChmaW5hbmNlSW5mby5pbnZvaWNlPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICdpbnZvaWNlJyxcbiAgICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbicsXG4gICAgICAgIGNvbnRlbnQ6IGZpbmFuY2VJbmZvLmludm9pY2UudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlZCA9XG4gICAgICBzdGF0dXMuaXNDYW5jZWxVc2VyIHx8XG4gICAgICAoc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLnByb2Nlc3NpbmcgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmNyZWF0ZWQgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmhlbGQpO1xuICAgIGlmIChpc0NvbXBsZXRlZCAmJiBmaW5hbmNlSW5mby50aW1lPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICd0aW1lJyxcbiAgICAgICAgdGl0bGU6ICdEYXRlJyxcbiAgICAgICAgY29udGVudDogZmluYW5jZUluZm8udGltZS52YWx1ZSxcbiAgICAgICAgaXNEYXRlTGluZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNhY3Rpb25EZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJjZW50cyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGVyY2VudHNUZW1wbGF0ZSA9IC8oXFxkKyguXFxkKyk/KS87XG4gICAgY29uc3QgcGVyY2VudHNNYXRjaFJlc3VsdCA9IHBlcmNlbnRzVGVtcGxhdGUuZXhlYyh2YWx1ZSk7XG5cbiAgICBpZiAoIXBlcmNlbnRzTWF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50c01hdGNoUmVzdWx0WzBdO1xuICB9XG59XG4iXX0=
|
package/esm2020/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs
ADDED
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { createPriceOrUndefined, extractMoneyCurrency } from '../price.helpers';
|
|
3
|
+
import { defaultImagePatterns } from './default-image-patterns.const';
|
|
4
|
+
import { VatDetailsKey } from '../vat-details-key.enum';
|
|
5
|
+
import { SalesTaxDetailsKey } from './sales-tax-details-key.enum';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SummaryFinanceDetailsAdapterService {
|
|
8
|
+
getFinanceDetails(summary) {
|
|
9
|
+
const { purchase, finance } = summary;
|
|
10
|
+
return {
|
|
11
|
+
purchase: purchase,
|
|
12
|
+
finance: finance,
|
|
13
|
+
cartItems: this.getCartItems(purchase, finance),
|
|
14
|
+
cartSummary: this.getCartSummary(finance),
|
|
15
|
+
paymentCountry: this.getPaymentCountry(finance),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
shouldShowZeroIndirectTaxRate(finance) {
|
|
19
|
+
return !!(finance?.vat?.visible ?? finance?.vat_user?.visible);
|
|
20
|
+
}
|
|
21
|
+
isSalesTaxes(finance) {
|
|
22
|
+
return !!(finance?.sales_tax?.amount ?? finance?.sales_tax_user?.amount);
|
|
23
|
+
}
|
|
24
|
+
getCartItems(purchase, finance) {
|
|
25
|
+
const checkouts = purchase.checkout_items?.map((item) => {
|
|
26
|
+
return {
|
|
27
|
+
imgSrc: item.image_url,
|
|
28
|
+
hasDefaultImg: this.isDefaultImage(item.image_url),
|
|
29
|
+
title: item.name,
|
|
30
|
+
price: extractMoneyCurrency(item, false),
|
|
31
|
+
priceBeforeDiscount: createPriceOrUndefined(item.amount_before_discount, item.currency),
|
|
32
|
+
quantity: item.quantity,
|
|
33
|
+
description: item.description,
|
|
34
|
+
tax: this.getTaxForItem(finance, item.indirect_tax_rate),
|
|
35
|
+
isBonus: item.is_bonus,
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
const virtualCurrencies = purchase.virtual_currency?.map((item) => {
|
|
39
|
+
return {
|
|
40
|
+
imgSrc: item.image_url,
|
|
41
|
+
hasDefaultImg: this.isDefaultImage(item.image_url),
|
|
42
|
+
title: `${item.quantity} ${item.name}`,
|
|
43
|
+
price: extractMoneyCurrency(item),
|
|
44
|
+
description: item.description,
|
|
45
|
+
isBonus: item.is_bonus,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
const virtualItems = purchase.virtual_items?.map((item) => {
|
|
49
|
+
return {
|
|
50
|
+
imgSrc: item.image_url,
|
|
51
|
+
hasDefaultImg: this.isDefaultImage(item.image_url),
|
|
52
|
+
title: item.name,
|
|
53
|
+
price: extractMoneyCurrency(item),
|
|
54
|
+
description: item.description,
|
|
55
|
+
quantity: item.quantity,
|
|
56
|
+
isBonus: item.is_bonus,
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
let checkoutArray = undefined;
|
|
60
|
+
if (purchase.checkout) {
|
|
61
|
+
checkoutArray = [
|
|
62
|
+
{
|
|
63
|
+
key: 'checkout',
|
|
64
|
+
title: purchase.checkout.description,
|
|
65
|
+
price: extractMoneyCurrency(purchase.checkout),
|
|
66
|
+
isBonus: purchase.checkout.is_bonus ?? false,
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
return [
|
|
71
|
+
...(checkouts ?? []),
|
|
72
|
+
...(virtualCurrencies ?? []),
|
|
73
|
+
...(virtualItems ?? []),
|
|
74
|
+
...(checkoutArray ?? []),
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
getCartSummary(finance) {
|
|
78
|
+
return {
|
|
79
|
+
subtotal: {
|
|
80
|
+
title: 'Subtotal',
|
|
81
|
+
money: createPriceOrUndefined(finance?.sub_total?.amount, finance?.sub_total?.currency),
|
|
82
|
+
},
|
|
83
|
+
subtotalPayment: {
|
|
84
|
+
title: '',
|
|
85
|
+
money: createPriceOrUndefined(finance?.sub_total?.payment_amount, finance?.sub_total?.payment_currency),
|
|
86
|
+
},
|
|
87
|
+
total: {
|
|
88
|
+
title: 'Total',
|
|
89
|
+
money: extractMoneyCurrency(finance?.total),
|
|
90
|
+
},
|
|
91
|
+
totalDetails: this.getTaxesForTotalDetails(finance),
|
|
92
|
+
subtotalDetails: [
|
|
93
|
+
...this.getSubtotalDetails(finance),
|
|
94
|
+
...this.getTaxesForSubtotalDetails(finance),
|
|
95
|
+
],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
getPaymentCountry(finance) {
|
|
99
|
+
return finance?.payment_country?.iso ?? '';
|
|
100
|
+
}
|
|
101
|
+
getTaxForItem(finance, indirectTaxRate) {
|
|
102
|
+
if (indirectTaxRate ||
|
|
103
|
+
(this.shouldShowZeroIndirectTaxRate(finance) && indirectTaxRate === 0)) {
|
|
104
|
+
if (this.isSalesTaxes(finance)) {
|
|
105
|
+
return {
|
|
106
|
+
key: SalesTaxDetailsKey.salesTaxPercent,
|
|
107
|
+
content: `Sales tax ${indirectTaxRate}%`,
|
|
108
|
+
rate: indirectTaxRate,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
if (this.isIndia(finance)) {
|
|
112
|
+
return {
|
|
113
|
+
key: VatDetailsKey.vatIndiaPercent,
|
|
114
|
+
content: `GST ${indirectTaxRate}%`,
|
|
115
|
+
rate: indirectTaxRate,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (this.isGhana(finance)) {
|
|
119
|
+
return {
|
|
120
|
+
key: VatDetailsKey.vatGhana,
|
|
121
|
+
content: 'VAT, NHIL, GETFund Levy, and Covid-19 Levy',
|
|
122
|
+
rate: indirectTaxRate,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
key: VatDetailsKey.vatPercent,
|
|
127
|
+
content: `VAT ${indirectTaxRate}%`,
|
|
128
|
+
rate: indirectTaxRate,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
getSubtotalDetails(finance) {
|
|
134
|
+
if (!finance) {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
// subtotal details fields
|
|
138
|
+
const subtotalDetailsSorting = [
|
|
139
|
+
{
|
|
140
|
+
key: 'discount',
|
|
141
|
+
responseKey: 'discount',
|
|
142
|
+
title: 'Discount',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
key: 'fee',
|
|
146
|
+
responseKey: 'fee',
|
|
147
|
+
title: 'Payment system fee',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
key: 'user-balance',
|
|
151
|
+
responseKey: 'user_balance',
|
|
152
|
+
title: 'Balance',
|
|
153
|
+
},
|
|
154
|
+
];
|
|
155
|
+
return subtotalDetailsSorting.map((sorting) => {
|
|
156
|
+
const field = finance[sorting.responseKey];
|
|
157
|
+
if (field) {
|
|
158
|
+
return {
|
|
159
|
+
key: sorting.key,
|
|
160
|
+
title: sorting.title,
|
|
161
|
+
money: {
|
|
162
|
+
amount: sorting.key === 'discount' && field.amount
|
|
163
|
+
? -field.amount
|
|
164
|
+
: field.amount,
|
|
165
|
+
currency: field.currency,
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
return sorting;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
getTaxesForSubtotalDetails(finance) {
|
|
173
|
+
const ret = [];
|
|
174
|
+
// subtotal. VAT %p
|
|
175
|
+
if (finance?.vat_user &&
|
|
176
|
+
(finance?.vat_user?.amount ?? finance?.vat_user?.visible)) {
|
|
177
|
+
ret.push({
|
|
178
|
+
key: this.getVatNotIncludingKeyForDetails(finance),
|
|
179
|
+
title: this.getVatLabelForSubtotalDetails(finance),
|
|
180
|
+
money: extractMoneyCurrency(finance?.vat_user),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
if (finance?.sales_tax_user?.amount) {
|
|
184
|
+
ret.push({
|
|
185
|
+
key: SalesTaxDetailsKey.salesTax,
|
|
186
|
+
title: 'Sales tax',
|
|
187
|
+
money: extractMoneyCurrency(finance?.sales_tax_user),
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
return ret;
|
|
191
|
+
}
|
|
192
|
+
getVatLabelForSubtotalDetails(finance) {
|
|
193
|
+
if (this.isIndia(finance)) {
|
|
194
|
+
return `GST ${finance?.vat_user?.percent ?? ''}%`;
|
|
195
|
+
}
|
|
196
|
+
if (this.isGhana(finance)) {
|
|
197
|
+
return `VAT, NHIL, GETFund Levy, and Covid-19 Levy`;
|
|
198
|
+
}
|
|
199
|
+
return `VAT ${finance?.vat_user?.percent ?? ''}%`;
|
|
200
|
+
}
|
|
201
|
+
getTaxesForTotalDetails(finance) {
|
|
202
|
+
const ret = [];
|
|
203
|
+
// for totalDetails. VAT
|
|
204
|
+
if ((finance?.vat?.amount || finance?.vat?.visible) &&
|
|
205
|
+
!finance?.vat_user?.amount) {
|
|
206
|
+
ret.push({
|
|
207
|
+
key: this.getVatIncludingKeyForDetails(finance),
|
|
208
|
+
title: this.getVatLabelForTotalDetails(finance),
|
|
209
|
+
money: extractMoneyCurrency(finance?.vat),
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
if (finance?.sales_tax?.amount && !finance?.sales_tax_user?.amount) {
|
|
213
|
+
ret.push({
|
|
214
|
+
key: SalesTaxDetailsKey.salesTaxIncluding,
|
|
215
|
+
title: 'Sales tax included',
|
|
216
|
+
money: extractMoneyCurrency(finance?.sales_tax),
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
return ret;
|
|
220
|
+
}
|
|
221
|
+
getVatNotIncludingKeyForDetails(finance) {
|
|
222
|
+
if (this.isIndia(finance)) {
|
|
223
|
+
return VatDetailsKey.vatIndiaPercent;
|
|
224
|
+
}
|
|
225
|
+
if (this.isGhana(finance)) {
|
|
226
|
+
return VatDetailsKey.vatGhana;
|
|
227
|
+
}
|
|
228
|
+
return VatDetailsKey.vatPercent;
|
|
229
|
+
}
|
|
230
|
+
getVatIncludingKeyForDetails(finance) {
|
|
231
|
+
if (this.isIndia(finance)) {
|
|
232
|
+
return VatDetailsKey.vatIndiaPercentIncluding;
|
|
233
|
+
}
|
|
234
|
+
if (this.isGhana(finance)) {
|
|
235
|
+
return VatDetailsKey.vatGhanaIncluding;
|
|
236
|
+
}
|
|
237
|
+
return VatDetailsKey.vatPercentIncluding;
|
|
238
|
+
}
|
|
239
|
+
getVatLabelForTotalDetails(finance) {
|
|
240
|
+
if (this.isIndia(finance)) {
|
|
241
|
+
return `Including ${finance?.vat.percent ?? ''}% GST`;
|
|
242
|
+
}
|
|
243
|
+
if (this.isGhana(finance)) {
|
|
244
|
+
return 'Including VAT, NHIL, GETFund Levy, and Covid-19 Levy';
|
|
245
|
+
}
|
|
246
|
+
return `Including ${finance?.vat.percent ?? ''}% VAT`;
|
|
247
|
+
}
|
|
248
|
+
isIndia(finance) {
|
|
249
|
+
return finance?.payment_country.iso === 'IN';
|
|
250
|
+
}
|
|
251
|
+
isGhana(finance) {
|
|
252
|
+
return finance?.payment_country.iso === 'GH';
|
|
253
|
+
}
|
|
254
|
+
isDefaultImage(url) {
|
|
255
|
+
return defaultImagePatterns.some((regex) => regex.test(url));
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
SummaryFinanceDetailsAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SummaryFinanceDetailsAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
259
|
+
SummaryFinanceDetailsAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SummaryFinanceDetailsAdapterService, providedIn: 'root' });
|
|
260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SummaryFinanceDetailsAdapterService, decorators: [{
|
|
261
|
+
type: Injectable,
|
|
262
|
+
args: [{ providedIn: 'root' }]
|
|
263
|
+
}] });
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR2xFLE1BQU0sT0FBTyxtQ0FBbUM7SUFDdkMsaUJBQWlCLENBQUMsT0FBbUI7UUFDMUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQ3pDLGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRU8sNkJBQTZCLENBQUMsT0FBMEI7UUFDOUQsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sSUFBSSxPQUFPLEVBQUUs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SUFBSSxFQUFFLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRU8sT0FBTyxDQUFDLE9BQTBCO1FBQ3hDLE9BQU8sT0FBTyxFQUFFLGVBQWUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFTyxPQUFPLENBQUMsT0FBMEI7UUFDeEMsT0FBTyxPQUFPLEVBQUUsZUFBZSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Z0lBOVRVLG1DQUFtQztvSUFBbkMsbUNBQW1DLGNBRHRCLE1BQU07MkZBQ25CLG1DQUFtQztrQkFEL0MsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi4vLi4veHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0ZpbmFuY2UgfSBmcm9tICcuLi8uLi94cHMtZmluYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUHVyY2hhc2UgfSBmcm9tICcuLi8uLi94cHMtcHVyY2hhc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcnRJdGVtIH0gZnJvbSAnLi4vY2FydC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0U3VtbWFyeSB9IGZyb20gJy4uL2NhcnQtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgY3JlYXRlUHJpY2VPclVuZGVmaW5lZCwgZXh0cmFjdE1vbmV5Q3VycmVuY3kgfSBmcm9tICcuLi9wcmljZS5oZWxwZXJzJztcbmltcG9ydCB7IGRlZmF1bHRJbWFnZVBhdHRlcm5zIH0gZnJvbSAnLi9kZWZhdWx0LWltYWdlLXBhdHRlcm5zLmNvbnN0JztcbmltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi4vcHJpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmF0RGV0YWlsc0tleSB9IGZyb20gJy4uL3ZhdC1kZXRhaWxzLWtleS5lbnVtJztcbmltcG9ydCB7IFNhbGVzVGF4RGV0YWlsc0tleSB9IGZyb20gJy4vc2FsZXMtdGF4LWRldGFpbHMta2V5LmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk6IFhwc1N1bW1hcnkpOiBGaW5hbmNlRGV0YWlscyB7XG4gICAgY29uc3QgeyBwdXJjaGFzZSwgZmluYW5jZSB9ID0gc3VtbWFyeTtcbiAgICByZXR1cm4ge1xuICAgICAgcHVyY2hhc2U6IHB1cmNoYXNlLFxuICAgICAgZmluYW5jZTogZmluYW5jZSxcbiAgICAgIGNhcnRJdGVtczogdGhpcy5nZXRDYXJ0SXRlbXMocHVyY2hhc2UsIGZpbmFuY2UpLFxuICAgICAgY2FydFN1bW1hcnk6IHRoaXMuZ2V0Q2FydFN1bW1hcnkoZmluYW5jZSksXG4gICAgICBwYXltZW50Q291bnRyeTogdGhpcy5nZXRQYXltZW50Q291bnRyeShmaW5hbmNlKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRTaG93WmVyb0luZGlyZWN0VGF4UmF0ZShmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShmaW5hbmNlPy52YXQ/LnZpc2libGUgPz8gZmluYW5jZT8udmF0X3VzZXI/LnZpc2libGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NhbGVzVGF4ZXMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoZmluYW5jZT8uc2FsZXNfdGF4Py5hbW91bnQgPz8gZmluYW5jZT8uc2FsZXNfdGF4X3VzZXI/LmFtb3VudCk7XG4gIH1cblxuICBwcml2YXRlIGdldENhcnRJdGVtcyhcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UsXG4gICAgZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGxcbiAgKTogQ2FydEl0ZW1bXSB7XG4gICAgY29uc3QgY2hlY2tvdXRzOiBDYXJ0SXRlbVtdIHwgdW5kZWZpbmVkID0gcHVyY2hhc2UuY2hlY2tvdXRfaXRlbXM/Lm1hcChcbiAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW1nU3JjOiBpdGVtLmltYWdlX3VybCxcbiAgICAgICAgICBoYXNEZWZhdWx0SW1nOiB0aGlzLmlzRGVmYXVsdEltYWdlKGl0ZW0uaW1hZ2VfdXJsKSxcbiAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShpdGVtLCBmYWxzZSksXG4gICAgICAgICAgcHJpY2VCZWZvcmVEaXNjb3VudDogY3JlYXRlUHJpY2VPclVuZGVmaW5lZChcbiAgICAgICAgICAgIGl0ZW0uYW1vdW50X2JlZm9yZV9kaXNjb3VudCxcbiAgICAgICAgICAgIGl0ZW0uY3VycmVuY3lcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHRheDogdGhpcy5nZXRUYXhGb3JJdGVtKGZpbmFuY2UsIGl0ZW0uaW5kaXJlY3RfdGF4X3JhdGUpLFxuICAgICAgICAgIGlzQm9udXM6IGl0ZW0uaXNfYm9udXMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHZpcnR1YWxDdXJyZW5jaWVzOiBDYXJ0SXRlbVtdIHwgdW5kZWZpbmVkID1cbiAgICAgIHB1cmNoYXNlLnZpcnR1YWxfY3VycmVuY3k/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGltZ1NyYzogaXRlbS5pbWFnZV91cmwsXG4gICAgICAgICAgaGFzRGVmYXVsdEltZzogdGhpcy5pc0RlZmF1bHRJbWFnZShpdGVtLmltYWdlX3VybCksXG4gICAgICAgICAgdGl0bGU6IGAke2l0ZW0ucXVhbnRpdHl9ICR7aXRlbS5uYW1lfWAsXG4gICAgICAgICAgcHJpY2U6IGV4dHJhY3RNb25leUN1cnJlbmN5KGl0ZW0pLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGlzQm9udXM6IGl0ZW0uaXNfYm9udXMsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHZpcnR1YWxJdGVtczogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9IHB1cmNoYXNlLnZpcnR1YWxfaXRlbXM/Lm1hcChcbiAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW1nU3JjOiBpdGVtLmltYWdlX3VybCxcbiAgICAgICAgICBoYXNEZWZhdWx0SW1nOiB0aGlzLmlzRGVmYXVsdEltYWdlKGl0ZW0uaW1hZ2VfdXJsKSxcbiAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShpdGVtKSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSxcbiAgICAgICAgICBpc0JvbnVzOiBpdGVtLmlzX2JvbnVzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICk7XG5cbiAgICBsZXQgY2hlY2tvdXRBcnJheTogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAocHVyY2hhc2UuY2hlY2tvdXQpIHtcbiAgICAgIGNoZWNrb3V0QXJyYXkgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICdjaGVja291dCcsXG4gICAgICAgICAgdGl0bGU6IHB1cmNoYXNlLmNoZWNrb3V0LmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShwdXJjaGFzZS5jaGVja291dCksXG4gICAgICAgICAgaXNCb251czogcHVyY2hhc2UuY2hlY2tvdXQuaXNfYm9udXMgPz8gZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICAuLi4oY2hlY2tvdXRzID8/IFtdKSxcbiAgICAgIC4uLih2aXJ0dWFsQ3VycmVuY2llcyA/PyBbXSksXG4gICAgICAuLi4odmlydHVhbEl0ZW1zID8/IFtdKSxcbiAgICAgIC4uLihjaGVja291dEFycmF5ID8/IFtdKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXJ0U3VtbWFyeShmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IENhcnRTdW1tYXJ5IHtcbiAgICByZXR1cm4ge1xuICAgICAgc3VidG90YWw6IHtcbiAgICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICAgIG1vbmV5OiBjcmVhdGVQcmljZU9yVW5kZWZpbmVkKFxuICAgICAgICAgIGZpbmFuY2U/LnN1Yl90b3RhbD8uYW1vdW50LFxuICAgICAgICAgIGZpbmFuY2U/LnN1Yl90b3RhbD8uY3VycmVuY3lcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBzdWJ0b3RhbFBheW1lbnQ6IHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBtb25leTogY3JlYXRlUHJpY2VPclVuZGVmaW5lZChcbiAgICAgICAgICBmaW5hbmNlPy5zdWJfdG90YWw/LnBheW1lbnRfYW1vdW50LFxuICAgICAgICAgIGZpbmFuY2U/LnN1Yl90b3RhbD8ucGF5bWVudF9jdXJyZW5jeVxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHRvdGFsOiB7XG4gICAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8udG90YWwpLFxuICAgICAgfSxcbiAgICAgIHRvdGFsRGV0YWlsczogdGhpcy5nZXRUYXhlc0ZvclRvdGFsRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi50aGlzLmdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgICAgLi4udGhpcy5nZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF5bWVudENvdW50cnkoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIHJldHVybiBmaW5hbmNlPy5wYXltZW50X2NvdW50cnk/LmlzbyA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGF4Rm9ySXRlbShcbiAgICBmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCxcbiAgICBpbmRpcmVjdFRheFJhdGU/OiBudW1iZXJcbiAgKTogQ2FydExpbmUgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICBpbmRpcmVjdFRheFJhdGUgfHxcbiAgICAgICh0aGlzLnNob3VsZFNob3daZXJvSW5kaXJlY3RUYXhSYXRlKGZpbmFuY2UpICYmIGluZGlyZWN0VGF4UmF0ZSA9PT0gMClcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLmlzU2FsZXNUYXhlcyhmaW5hbmNlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogU2FsZXNUYXhEZXRhaWxzS2V5LnNhbGVzVGF4UGVyY2VudCxcbiAgICAgICAgICBjb250ZW50OiBgU2FsZXMgdGF4ICR7aW5kaXJlY3RUYXhSYXRlfSVgLFxuICAgICAgICAgIHJhdGU6IGluZGlyZWN0VGF4UmF0ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXNJbmRpYShmaW5hbmNlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQsXG4gICAgICAgICAgY29udGVudDogYEdTVCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgICAgICByYXRlOiBpbmRpcmVjdFRheFJhdGUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzR2hhbmEoZmluYW5jZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6IFZhdERldGFpbHNLZXkudmF0R2hhbmEsXG4gICAgICAgICAgY29udGVudDogJ1ZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eScsXG4gICAgICAgICAgcmF0ZTogaW5kaXJlY3RUYXhSYXRlLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCxcbiAgICAgICAgY29udGVudDogYFZBVCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgICAgcmF0ZTogaW5kaXJlY3RUYXhSYXRlLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IENhcnRMaW5lW10ge1xuICAgIGlmICghZmluYW5jZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8vIHN1YnRvdGFsIGRldGFpbHMgZmllbGRzXG4gICAgY29uc3Qgc3VidG90YWxEZXRhaWxzU29ydGluZyA9IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZGlzY291bnQnLFxuICAgICAgICByZXNwb25zZUtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgdGl0bGU6ICdEaXNjb3VudCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdmZWUnLFxuICAgICAgICByZXNwb25zZUtleTogJ2ZlZScsXG4gICAgICAgIHRpdGxlOiAnUGF5bWVudCBzeXN0ZW0gZmVlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ3VzZXItYmFsYW5jZScsXG4gICAgICAgIHJlc3BvbnNlS2V5OiAndXNlcl9iYWxhbmNlJyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBzdWJ0b3RhbERldGFpbHNTb3J0aW5nLm1hcCgoc29ydGluZykgPT4ge1xuICAgICAgY29uc3QgZmllbGQgPSAoZmluYW5jZSBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KVtcbiAgICAgICAgc29ydGluZy5yZXNwb25zZUtleVxuICAgICAgXSBhcyBQcmljZTtcblxuICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiBzb3J0aW5nLmtleSxcbiAgICAgICAgICB0aXRsZTogc29ydGluZy50aXRsZSxcbiAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgYW1vdW50OlxuICAgICAgICAgICAgICBzb3J0aW5nLmtleSA9PT0gJ2Rpc2NvdW50JyAmJiBmaWVsZC5hbW91bnRcbiAgICAgICAgICAgICAgICA/IC1maWVsZC5hbW91bnRcbiAgICAgICAgICAgICAgICA6IGZpZWxkLmFtb3VudCxcbiAgICAgICAgICAgIGN1cnJlbmN5OiBmaWVsZC5jdXJyZW5jeSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNvcnRpbmc7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRheGVzRm9yU3VidG90YWxEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgcmV0ID0gW107XG5cbiAgICAvLyBzdWJ0b3RhbC4gVkFUICVwXG4gICAgaWYgKFxuICAgICAgZmluYW5jZT8udmF0X3VzZXIgJiZcbiAgICAgIChmaW5hbmNlPy52YXRfdXNlcj8uYW1vdW50ID8/IGZpbmFuY2U/LnZhdF91c2VyPy52aXNpYmxlKVxuICAgICkge1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5Rm9yRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgICAgdGl0bGU6IHRoaXMuZ2V0VmF0TGFiZWxGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZSksXG4gICAgICAgIG1vbmV5OiBleHRyYWN0TW9uZXlDdXJyZW5jeShmaW5hbmNlPy52YXRfdXNlciksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZmluYW5jZT8uc2FsZXNfdGF4X3VzZXI/LmFtb3VudCkge1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICBrZXk6IFNhbGVzVGF4RGV0YWlsc0tleS5zYWxlc1RheCxcbiAgICAgICAgdGl0bGU6ICdTYWxlcyB0YXgnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8uc2FsZXNfdGF4X3VzZXIpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmF0TGFiZWxGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBgR1NUICR7ZmluYW5jZT8udmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShmaW5hbmNlKSkge1xuICAgICAgcmV0dXJuIGBWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnlgO1xuICAgIH1cblxuICAgIHJldHVybiBgVkFUICR7ZmluYW5jZT8udmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gIH1cblxuICBwcml2YXRlIGdldFRheGVzRm9yVG90YWxEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgcmV0ID0gW107XG5cbiAgICAvLyBmb3IgdG90YWxEZXRhaWxzLiBWQVRcbiAgICBpZiAoXG4gICAgICAoZmluYW5jZT8udmF0Py5hbW91bnQgfHwgZmluYW5jZT8udmF0Py52aXNpYmxlKSAmJlxuICAgICAgIWZpbmFuY2U/LnZhdF91c2VyPy5hbW91bnRcbiAgICApIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiB0aGlzLmdldFZhdEluY2x1ZGluZ0tleUZvckRldGFpbHMoZmluYW5jZSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdExhYmVsRm9yVG90YWxEZXRhaWxzKGZpbmFuY2UpLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8udmF0KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChmaW5hbmNlPy5zYWxlc190YXg/LmFtb3VudCAmJiAhZmluYW5jZT8uc2FsZXNfdGF4X3VzZXI/LmFtb3VudCkge1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICBrZXk6IFNhbGVzVGF4RGV0YWlsc0tleS5zYWxlc1RheEluY2x1ZGluZyxcbiAgICAgICAgdGl0bGU6ICdTYWxlcyB0YXggaW5jbHVkZWQnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8uc2FsZXNfdGF4KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleUZvckRldGFpbHMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEluZGlhUGVyY2VudDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYTtcbiAgICB9XG5cbiAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlGb3JEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnRJbmNsdWRpbmc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShmaW5hbmNlKSkge1xuICAgICAgcmV0dXJuIFZhdERldGFpbHNLZXkudmF0R2hhbmFJbmNsdWRpbmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIFZhdERldGFpbHNLZXkudmF0UGVyY2VudEluY2x1ZGluZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmF0TGFiZWxGb3JUb3RhbERldGFpbHMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBgSW5jbHVkaW5nICR7ZmluYW5jZT8udmF0LnBlcmNlbnQgPz8gJyd9JSBHU1RgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBJbmNsdWRpbmcgJHtmaW5hbmNlPy52YXQucGVyY2VudCA/PyAnJ30lIFZBVGA7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmluYW5jZT8ucGF5bWVudF9jb3VudHJ5LmlzbyA9PT0gJ0lOJztcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaW5hbmNlPy5wYXltZW50X2NvdW50cnkuaXNvID09PSAnR0gnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0RlZmF1bHRJbWFnZSh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkZWZhdWx0SW1hZ2VQYXR0ZXJucy5zb21lKChyZWdleCkgPT4gcmVnZXgudGVzdCh1cmwpKTtcbiAgfVxufVxuIl19
|