@xsolla/payment-client-core 0.1.3 → 0.1.5-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/esm2020/lib/core/credit-card/credit-card-settings.interface.mjs +2 -0
  2. package/esm2020/lib/core/credit-card/credit-card-types.enum.mjs +20 -0
  3. package/esm2020/lib/core/credit-card/credit-card.interface.mjs +2 -0
  4. package/esm2020/lib/core/credit-card/credit-card.service.mjs +41 -0
  5. package/esm2020/lib/core/credit-card/credit-cards-map.const.mjs +36 -0
  6. package/esm2020/lib/core/credit-card/default-mask.const.mjs +2 -0
  7. package/esm2020/lib/core/credit-card/four-block-mask.const.mjs +2 -0
  8. package/esm2020/lib/core/credit-card/ordered-cards-settings.const.mjs +45 -0
  9. package/esm2020/lib/core/credit-card/types/american-express.mjs +13 -0
  10. package/esm2020/lib/core/credit-card/types/aura.mjs +15 -0
  11. package/esm2020/lib/core/credit-card/types/china-union-pay.mjs +12 -0
  12. package/esm2020/lib/core/credit-card/types/dankort.mjs +15 -0
  13. package/esm2020/lib/core/credit-card/types/default-card.mjs +13 -0
  14. package/esm2020/lib/core/credit-card/types/diners-clubs.mjs +13 -0
  15. package/esm2020/lib/core/credit-card/types/discover.mjs +13 -0
  16. package/esm2020/lib/core/credit-card/types/elo.mjs +13 -0
  17. package/esm2020/lib/core/credit-card/types/hipercard.mjs +13 -0
  18. package/esm2020/lib/core/credit-card/types/jcb.mjs +13 -0
  19. package/esm2020/lib/core/credit-card/types/maestro.mjs +14 -0
  20. package/esm2020/lib/core/credit-card/types/mastercard.mjs +16 -0
  21. package/esm2020/lib/core/credit-card/types/mir.mjs +15 -0
  22. package/esm2020/lib/core/credit-card/types/naranja.mjs +15 -0
  23. package/esm2020/lib/core/credit-card/types/postepay.mjs +13 -0
  24. package/esm2020/lib/core/credit-card/types/visa.mjs +13 -0
  25. package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +26 -126
  26. package/esm2020/lib/core/device-finger-print/hash.type.mjs +1 -1
  27. package/esm2020/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +72 -0
  28. package/esm2020/lib/core/encrypt-credit-card/encrypted-card.interface.mjs +2 -0
  29. package/esm2020/lib/core/encrypt-credit-card/open-card.interface.mjs +2 -0
  30. package/esm2020/lib/core/exceptions-handling/errors/encrypt-card-error.mjs +9 -0
  31. package/esm2020/lib/core/payment/actions/check-status/check-status.action.class.mjs +2 -3
  32. package/esm2020/lib/core/payment/actions/next-action.interface.mjs +1 -1
  33. package/esm2020/lib/core/payment/actions/next-actions.mjs +3 -1
  34. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.class.mjs +7 -0
  35. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.token.mjs +11 -0
  36. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.type.mjs +2 -0
  37. package/esm2020/lib/core/payment/credit-card-payment-methods-id.variable.mjs +15 -0
  38. package/esm2020/lib/core/payment/credit-card-state/credit-card-state.interface.mjs +2 -0
  39. package/esm2020/lib/core/payment/credit-card-state/credit-card-state.service.mjs +14 -0
  40. package/esm2020/lib/core/payment/form/controls/card-number-control.config.mjs +10 -0
  41. package/esm2020/lib/core/payment/form/controls/phone-control.config.mjs +8 -0
  42. package/esm2020/lib/core/payment/form/converters/birth-date.converter.mjs +38 -0
  43. package/esm2020/lib/core/payment/form/converters/card-expiration.converter.mjs +36 -0
  44. package/esm2020/lib/core/payment/form/converters/card-number.converter.mjs +45 -0
  45. package/esm2020/lib/core/payment/form/converters/cardholder-name.converter.mjs +25 -0
  46. package/esm2020/lib/core/payment/form/converters/converters-map.mjs +23 -1
  47. package/esm2020/lib/core/payment/form/converters/cpf-name-regex.variable.mjs +2 -0
  48. package/esm2020/lib/core/payment/form/converters/cpf-name.converter.mjs +34 -0
  49. package/esm2020/lib/core/payment/form/converters/cpf-number.converter.mjs +31 -0
  50. package/esm2020/lib/core/payment/form/converters/cvv.converter.mjs +50 -0
  51. package/esm2020/lib/core/payment/form/converters/phone.converter.mjs +37 -0
  52. package/esm2020/lib/core/payment/form/converters/street-number/street-number-from-state.interface.mjs +2 -0
  53. package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +28 -0
  54. package/esm2020/lib/core/payment/form/converters/text.converter.mjs +19 -0
  55. package/esm2020/lib/core/payment/form/form.module.mjs +32 -4
  56. package/esm2020/lib/core/payment/form/validators/birth-date.validator.mjs +37 -0
  57. package/esm2020/lib/core/payment/form/validators/credit-card-min-length.validator.mjs +32 -0
  58. package/esm2020/lib/core/payment/form/validators/is-empty-input-value.function.mjs +4 -0
  59. package/esm2020/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +40 -0
  60. package/esm2020/lib/core/payment/form/validators/max-length-validator.mjs +6 -0
  61. package/esm2020/lib/core/payment/form/validators/min-length-validator.mjs +6 -0
  62. package/esm2020/lib/core/payment/form/validators/phone-validator.mjs +6 -0
  63. package/esm2020/lib/core/payment/form/validators/validators.module.mjs +18 -0
  64. package/esm2020/lib/core/payment/initialize/initialize-request-params.interface.mjs +1 -1
  65. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +28 -19
  66. package/esm2020/lib/core/payment/initialize/response/initialize-response.class.mjs +43 -0
  67. package/esm2020/lib/core/payment/initialize/response/initialize-response.token.mjs +8 -0
  68. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  69. package/esm2020/lib/core/payment/payment.service.mjs +38 -8
  70. package/esm2020/lib/core/payment/status/check-status/check-status.service.mjs +8 -13
  71. package/esm2020/lib/core/payment/status/check-status/response/check-status-response.class.mjs +1 -1
  72. package/esm2020/lib/core/payment/submit/submit.service.mjs +13 -16
  73. package/esm2020/lib/core/payment/sync/field-async-validation.interface.mjs +2 -0
  74. package/esm2020/lib/core/payment/sync/field-sync-state.interface.mjs +1 -1
  75. package/esm2020/lib/core/payment/sync/request/sync-request.class.mjs +31 -0
  76. package/esm2020/lib/core/payment/sync/request/sync-request.token.mjs +8 -0
  77. package/esm2020/lib/core/payment/sync/response/sync-response.class.mjs +17 -0
  78. package/esm2020/lib/core/payment/sync/response/sync-response.token.mjs +8 -0
  79. package/esm2020/lib/core/payment/sync/sync.service.mjs +24 -15
  80. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +49 -0
  81. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.mjs +8 -0
  82. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.mjs +8 -0
  83. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.mjs +7 -0
  84. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.mjs +8 -0
  85. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +7 -0
  86. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.mjs +8 -0
  87. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +2 -0
  88. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +60 -0
  89. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +7 -0
  90. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.mjs +2 -0
  91. package/esm2020/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +105 -0
  92. package/esm2020/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +41 -0
  93. package/esm2020/lib/core/payment/three-ds/reinsurance-check/timer.interface.mjs +2 -0
  94. package/esm2020/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +2 -0
  95. package/esm2020/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +109 -0
  96. package/esm2020/lib/core/payment/three-ds/three-ds-form.interface.mjs +2 -0
  97. package/esm2020/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.mjs +5 -0
  98. package/esm2020/lib/core/payment/three-ds/three-ds.service.mjs +40 -0
  99. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +79 -0
  100. package/esm2020/lib/core/payment/xps-request-params.interface.mjs +2 -0
  101. package/esm2020/lib/core/payment/xps-request.interface.mjs +2 -0
  102. package/esm2020/lib/core/payment/xps-response.error.mjs +7 -0
  103. package/esm2020/lib/core/payment/xps-response.interface.mjs +1 -1
  104. package/esm2020/lib/core/type-guards/is-string.function.mjs +4 -0
  105. package/esm2020/lib/core-library.module.mjs +13 -4
  106. package/esm2020/lib/core-library.service.mjs +19 -5
  107. package/fesm2015/xsolla-payment-client-core.mjs +1585 -261
  108. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  109. package/fesm2020/xsolla-payment-client-core.mjs +1574 -258
  110. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  111. package/lib/core/credit-card/credit-card-settings.interface.d.ts +10 -0
  112. package/lib/core/credit-card/credit-card-types.enum.d.ts +18 -0
  113. package/lib/core/credit-card/credit-card.interface.d.ts +9 -0
  114. package/lib/core/credit-card/credit-card.service.d.ts +11 -0
  115. package/lib/core/credit-card/credit-cards-map.const.d.ts +5 -0
  116. package/lib/core/credit-card/default-mask.const.d.ts +1 -0
  117. package/lib/core/credit-card/four-block-mask.const.d.ts +1 -0
  118. package/lib/core/credit-card/ordered-cards-settings.const.d.ts +12 -0
  119. package/lib/core/credit-card/types/american-express.d.ts +2 -0
  120. package/lib/core/credit-card/types/aura.d.ts +2 -0
  121. package/lib/core/credit-card/types/china-union-pay.d.ts +2 -0
  122. package/lib/core/credit-card/types/dankort.d.ts +2 -0
  123. package/lib/core/credit-card/types/default-card.d.ts +2 -0
  124. package/lib/core/credit-card/types/diners-clubs.d.ts +2 -0
  125. package/lib/core/credit-card/types/discover.d.ts +2 -0
  126. package/lib/core/credit-card/types/elo.d.ts +2 -0
  127. package/lib/core/credit-card/types/hipercard.d.ts +2 -0
  128. package/lib/core/credit-card/types/jcb.d.ts +2 -0
  129. package/lib/core/credit-card/types/maestro.d.ts +2 -0
  130. package/lib/core/credit-card/types/mastercard.d.ts +2 -0
  131. package/lib/core/credit-card/types/mir.d.ts +2 -0
  132. package/lib/core/credit-card/types/naranja.d.ts +2 -0
  133. package/lib/core/credit-card/types/postepay.d.ts +2 -0
  134. package/lib/core/credit-card/types/visa.d.ts +2 -0
  135. package/lib/core/device-finger-print/device-finger-print.service.d.ts +3 -31
  136. package/lib/core/device-finger-print/hash.type.d.ts +1 -1
  137. package/lib/core/encrypt-credit-card/encrypt-credit-card.service.d.ts +16 -0
  138. package/lib/core/encrypt-credit-card/encrypted-card.interface.d.ts +6 -0
  139. package/lib/core/encrypt-credit-card/open-card.interface.d.ts +6 -0
  140. package/lib/core/exceptions-handling/errors/encrypt-card-error.d.ts +5 -0
  141. package/lib/core/payment/actions/next-action.interface.d.ts +2 -1
  142. package/lib/core/payment/actions/three-ds/three-ds.action.class.d.ts +8 -0
  143. package/lib/core/payment/actions/three-ds/three-ds.action.token.d.ts +4 -0
  144. package/lib/core/payment/actions/three-ds/three-ds.action.type.d.ts +5 -0
  145. package/lib/core/payment/credit-card-payment-methods-id.variable.d.ts +6 -0
  146. package/lib/core/payment/credit-card-state/credit-card-state.interface.d.ts +3 -0
  147. package/lib/core/payment/credit-card-state/credit-card-state.service.d.ts +7 -0
  148. package/lib/core/payment/form/controls/card-number-control.config.d.ts +11 -0
  149. package/lib/core/payment/form/controls/phone-control.config.d.ts +6 -0
  150. package/lib/core/payment/form/converters/birth-date.converter.d.ts +13 -0
  151. package/lib/core/payment/form/converters/card-expiration.converter.d.ts +16 -0
  152. package/lib/core/payment/form/converters/card-number.converter.d.ts +19 -0
  153. package/lib/core/payment/form/converters/cardholder-name.converter.d.ts +13 -0
  154. package/lib/core/payment/form/converters/cpf-name-regex.variable.d.ts +1 -0
  155. package/lib/core/payment/form/converters/cpf-name.converter.d.ts +13 -0
  156. package/lib/core/payment/form/converters/cpf-number.converter.d.ts +11 -0
  157. package/lib/core/payment/form/converters/cvv.converter.d.ts +18 -0
  158. package/lib/core/payment/form/converters/phone.converter.d.ts +13 -0
  159. package/lib/core/payment/form/converters/street-number/street-number-from-state.interface.d.ts +3 -0
  160. package/lib/core/payment/form/converters/street-number/street-number.converter.d.ts +14 -0
  161. package/lib/core/payment/form/converters/text.converter.d.ts +11 -0
  162. package/lib/core/payment/form/form.module.d.ts +2 -1
  163. package/lib/core/payment/form/validators/birth-date.validator.d.ts +2 -0
  164. package/lib/core/payment/form/validators/credit-card-min-length.validator.d.ts +12 -0
  165. package/lib/core/payment/form/validators/is-empty-input-value.function.d.ts +1 -0
  166. package/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.d.ts +6 -0
  167. package/lib/core/payment/form/validators/max-length-validator.d.ts +2 -0
  168. package/lib/core/payment/form/validators/min-length-validator.d.ts +2 -0
  169. package/lib/core/payment/form/validators/phone-validator.d.ts +2 -0
  170. package/lib/core/payment/form/validators/validators.module.d.ts +7 -0
  171. package/lib/core/payment/initialize/initialize-request-params.interface.d.ts +1 -0
  172. package/lib/core/payment/initialize/initialize.service.d.ts +8 -6
  173. package/lib/core/payment/initialize/{initialize-response.class.d.ts → response/initialize-response.class.d.ts} +2 -2
  174. package/lib/core/payment/payment.interface.d.ts +2 -2
  175. package/lib/core/payment/payment.service.d.ts +7 -2
  176. package/lib/core/payment/status/check-status/check-status.service.d.ts +3 -4
  177. package/lib/core/payment/submit/submit.service.d.ts +5 -4
  178. package/lib/core/payment/sync/field-async-validation.interface.d.ts +7 -0
  179. package/lib/core/payment/sync/field-sync-state.interface.d.ts +1 -1
  180. package/lib/core/payment/sync/{sync-request.class.d.ts → request/sync-request.class.d.ts} +3 -3
  181. package/lib/core/payment/sync/{sync-response.class.d.ts → response/sync-response.class.d.ts} +2 -2
  182. package/lib/core/payment/sync/sync.service.d.ts +12 -7
  183. package/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.d.ts +14 -0
  184. package/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.d.ts +10 -0
  185. package/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.d.ts +6 -0
  186. package/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.d.ts +5 -0
  187. package/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.d.ts +6 -0
  188. package/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.d.ts +7 -0
  189. package/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.d.ts +6 -0
  190. package/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.d.ts +7 -0
  191. package/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.d.ts +21 -0
  192. package/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.d.ts +5 -0
  193. package/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.d.ts +7 -0
  194. package/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.d.ts +20 -0
  195. package/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.d.ts +12 -0
  196. package/lib/core/payment/three-ds/reinsurance-check/timer.interface.d.ts +9 -0
  197. package/lib/core/payment/three-ds/three-ds-20/status-update.interface.d.ts +12 -0
  198. package/lib/core/payment/three-ds/three-ds-20/three-ds20.service.d.ts +32 -0
  199. package/lib/core/payment/three-ds/three-ds-form.interface.d.ts +11 -0
  200. package/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.d.ts +3 -0
  201. package/lib/core/payment/three-ds/three-ds.service.d.ts +14 -0
  202. package/lib/core/payment/xps-api/xps-api.service.d.ts +20 -0
  203. package/lib/core/payment/xps-request-params.interface.d.ts +3 -0
  204. package/lib/core/payment/xps-request.interface.d.ts +10 -0
  205. package/lib/core/payment/xps-response.error.d.ts +4 -0
  206. package/lib/core/payment/xps-response.interface.d.ts +3 -10
  207. package/lib/core/type-guards/is-string.function.d.ts +1 -0
  208. package/lib/core-library.service.d.ts +10 -1
  209. package/package.json +2 -3
  210. package/xsolla-payment-client-core-0.1.5-1.tgz +0 -0
  211. package/esm2020/lib/core/device-finger-print/device-finger-print-components.interface.mjs +0 -2
  212. package/esm2020/lib/core/device-finger-print/fingerprint-js.interface.mjs +0 -2
  213. package/esm2020/lib/core/exceptions-handling/errors/default-terminal-error.class.mjs +0 -8
  214. package/esm2020/lib/core/payment/initialize/initialize-response.class.mjs +0 -43
  215. package/esm2020/lib/core/payment/initialize/initialize-response.token.mjs +0 -8
  216. package/esm2020/lib/core/payment/sync/sync-request.class.mjs +0 -31
  217. package/esm2020/lib/core/payment/sync/sync-request.token.mjs +0 -8
  218. package/esm2020/lib/core/payment/sync/sync-response.class.mjs +0 -17
  219. package/esm2020/lib/core/payment/sync/sync-response.token.mjs +0 -8
  220. package/esm2020/lib/core/payment/xps-request.abstract.mjs +0 -8
  221. package/lib/core/device-finger-print/device-finger-print-components.interface.d.ts +0 -4
  222. package/lib/core/device-finger-print/fingerprint-js.interface.d.ts +0 -6
  223. package/lib/core/exceptions-handling/errors/default-terminal-error.class.d.ts +0 -4
  224. package/lib/core/payment/xps-request.abstract.d.ts +0 -6
  225. package/xsolla-payment-client-core-0.1.3.tgz +0 -0
  226. /package/lib/core/payment/initialize/{initialize-response.token.d.ts → response/initialize-response.token.d.ts} +0 -0
  227. /package/lib/core/payment/sync/{sync-request.token.d.ts → request/sync-request.token.d.ts} +0 -0
  228. /package/lib/core/payment/sync/{sync-response.token.d.ts → response/sync-response.token.d.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { CreditCardMinLengthValidator } from './credit-card-min-length.validator';
4
+ import * as i0 from "@angular/core";
5
+ export class ValidatorsModule {
6
+ }
7
+ ValidatorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ ValidatorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] });
9
+ ValidatorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ValidatorsModule, providers: [CreditCardMinLengthValidator], imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ValidatorsModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [],
14
+ imports: [CommonModule],
15
+ providers: [CreditCardMinLengthValidator],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0b3JzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFPbEYsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLFlBSGpCLFlBQVk7OEdBR1gsZ0JBQWdCLGFBRmhCLENBQUMsNEJBQTRCLENBQUMsWUFEL0IsWUFBWTsyRkFHWCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQzFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDcmVkaXRDYXJkTWluTGVuZ3RoVmFsaWRhdG9yIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1taW4tbGVuZ3RoLnZhbGlkYXRvcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtDcmVkaXRDYXJkTWluTGVuZ3RoVmFsaWRhdG9yXSxcbn0pXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9yc01vZHVsZSB7fVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2luaXRpYWxpemUvaW5pdGlhbGl6ZS1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6ZVJlcXVlc3RQYXJhbXMge1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbiAgcGlkOiBzdHJpbmc7XG4gIHJlZmVyOiBzdHJpbmc7XG4gIGNvdW50cnk/OiBzdHJpbmc7XG4gIHJldHVyblVybD86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2luaXRpYWxpemUvaW5pdGlhbGl6ZS1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6ZVJlcXVlc3RQYXJhbXMge1xuICBbZmllbGROYW1lOiBgeHBzXyR7c3RyaW5nfWBdOiB1bmtub3duO1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbiAgcGlkOiBzdHJpbmc7XG4gIHJlZmVyOiBzdHJpbmc7XG4gIGNvdW50cnk/OiBzdHJpbmc7XG4gIHJldHVyblVybD86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,22 +1,21 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
1
  import { Inject, Injectable } from '@angular/core';
3
- import { lastValueFrom, map, tap } from 'rxjs';
4
2
  import { ResponseError } from '../../exceptions-handling/errors/response-error.class';
5
- import { initializeResponseFactoryToken, } from './initialize-response.token';
6
3
  import { ShowErrorsAction } from '../actions/show-errors/show-errors.action.class';
4
+ import { initializeResponseFactoryToken, } from './response/initialize-response.token';
7
5
  import * as i0 from "@angular/core";
8
- import * as i1 from "../../http/secure-api/secure-api.service";
6
+ import * as i1 from "../xps-api/xps-api.service";
9
7
  import * as i2 from "../../settings/settings.service";
10
8
  import * as i3 from "../../country/country.service";
11
9
  import * as i4 from "../actions/next-action.service";
10
+ import * as i5 from "../../encrypt-credit-card/encrypt-credit-card.service";
12
11
  export class InitializeService {
13
- constructor(responseFactory, secureApi, settingsService, countryService, nextActionService) {
12
+ constructor(responseFactory, xpsApiService, settingsService, countryService, nextActionService, encryptCreditCardService) {
14
13
  this.responseFactory = responseFactory;
15
- this.secureApi = secureApi;
14
+ this.xpsApiService = xpsApiService;
16
15
  this.settingsService = settingsService;
17
16
  this.countryService = countryService;
18
17
  this.nextActionService = nextActionService;
19
- this.apiRoute = 'directpayment';
18
+ this.encryptCreditCardService = encryptCreditCardService;
20
19
  // TODO PAYMENTS-15743: replace with new refer id for headless core
21
20
  this.ps4ReferId = '22';
22
21
  }
@@ -28,21 +27,31 @@ export class InitializeService {
28
27
  country: this.countryService.getCountry(),
29
28
  returnUrl: config.returnUrl,
30
29
  };
31
- return lastValueFrom(this.secureApi
32
- .post(this.apiRoute, new URLSearchParams({ ...requestParams }), {
33
- headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
34
- responseType: 'json',
35
- })
36
- .pipe(map((response) => this.responseFactory(response)), tap((response) => {
37
- if (response.paymentForm?.errors?.length) {
38
- this.nextActionService.emitFlowUpdates(new ShowErrorsAction(response.paymentForm.errors));
30
+ return this.xpsApiService
31
+ .directPaymentRequest(requestParams)
32
+ .then((response) => {
33
+ const initializeResponse = this.responseFactory(response);
34
+ if (initializeResponse.paymentForm?.errors?.length) {
35
+ this.nextActionService.emitFlowUpdates(new ShowErrorsAction(initializeResponse.paymentForm.errors));
36
+ }
37
+ if (initializeResponse.paymentForm) {
38
+ this.setCreditCardEncryptKey(initializeResponse.paymentForm);
39
39
  }
40
- }))).catch((error) => {
40
+ return initializeResponse;
41
+ })
42
+ .catch((error) => {
41
43
  throw new ResponseError(error.message);
42
44
  });
43
45
  }
46
+ setCreditCardEncryptKey(paymentForm) {
47
+ const publicKeyField = paymentForm.fields.find((field) => field.name === 'public_key');
48
+ if (!publicKeyField) {
49
+ return;
50
+ }
51
+ this.encryptCreditCardService.setPublicKey(atob(publicKeyField.value));
52
+ }
44
53
  }
45
- InitializeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: InitializeService, deps: [{ token: initializeResponseFactoryToken }, { token: i1.SecureApiClient }, { token: i2.SettingsService }, { token: i3.CountryService }, { token: i4.NextActionService }], target: i0.ɵɵFactoryTarget.Injectable });
54
+ InitializeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: InitializeService, deps: [{ token: initializeResponseFactoryToken }, { token: i1.XpsApiService }, { token: i2.SettingsService }, { token: i3.CountryService }, { token: i4.NextActionService }, { token: i5.EncryptCreditCardService }], target: i0.ɵɵFactoryTarget.Injectable });
46
55
  InitializeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: InitializeService, providedIn: 'root' });
47
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: InitializeService, decorators: [{
48
57
  type: Injectable,
@@ -52,5 +61,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
52
61
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
53
62
  type: Inject,
54
63
  args: [initializeResponseFactoryToken]
55
- }] }, { type: i1.SecureApiClient }, { type: i2.SettingsService }, { type: i3.CountryService }, { type: i4.NextActionService }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9pbml0aWFsaXplL2luaXRpYWxpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQU10RixPQUFPLEVBQ0wsOEJBQThCLEdBRS9CLE1BQU0sNkJBQTZCLENBQUM7QUFHckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7OztBQUtuRixNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBRXFCLGVBQTBDLEVBQzVDLFNBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGlCQUFvQztRQUpsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVnRDLGFBQVEsR0FBRyxlQUFlLENBQUM7UUFDNUMsbUVBQW1FO1FBQ2xELGVBQVUsR0FBRyxJQUFJLENBQUM7SUFTaEMsQ0FBQztJQUVHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBcUI7UUFDeEMsTUFBTSxhQUFhLEdBQTRCO1lBQzdDLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDeEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUU7WUFDekMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1NBQzVCLENBQUM7UUFFRixPQUFPLGFBQWEsQ0FDbEIsSUFBSSxDQUFDLFNBQVM7YUFDWCxJQUFJLENBQ0gsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFDekM7WUFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUNGO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDOUQsR0FBRyxDQUFDLENBQUMsUUFBNEIsRUFBRSxFQUFFO1lBQ25DLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQ2xELENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUNILENBQ0osQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUN2QixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQWpEVSxpQkFBaUIsa0JBTWxCLDhCQUE4QjtrSEFON0IsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IFNlY3VyZUFwaUNsaWVudCB9IGZyb20gJy4uLy4uL2h0dHAvc2VjdXJlLWFwaS9zZWN1cmUtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4vaW5pdGlhbGl6ZS1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZyB9IGZyb20gJy4uL3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgaW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeVRva2VuLFxuICBJbml0aWFsaXplUmVzcG9uc2VGYWN0b3J5LFxufSBmcm9tICcuL2luaXRpYWxpemUtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVJlc3BvbnNlIH0gZnJvbSAnLi9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJbml0aWFsaXplU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpUm91dGUgPSAnZGlyZWN0cGF5bWVudCc7XG4gIC8vIFRPRE8gUEFZTUVOVFMtMTU3NDM6IHJlcGxhY2Ugd2l0aCBuZXcgcmVmZXIgaWQgZm9yIGhlYWRsZXNzIGNvcmVcbiAgcHJpdmF0ZSByZWFkb25seSBwczRSZWZlcklkID0gJzIyJztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChpbml0aWFsaXplUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogSW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3VyZUFwaTogU2VjdXJlQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyByZXF1ZXN0KGNvbmZpZzogUGF5bWVudENvbmZpZyk6IFByb21pc2U8SW5pdGlhbGl6ZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtczogSW5pdGlhbGl6ZVJlcXVlc3RQYXJhbXMgPSB7XG4gICAgICBhY2Nlc3NfdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgcGlkOiBTdHJpbmcoY29uZmlnLnBheW1lbnRNZXRob2RJZCksXG4gICAgICByZWZlcjogdGhpcy5wczRSZWZlcklkLFxuICAgICAgY291bnRyeTogdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCksXG4gICAgICByZXR1cm5Vcmw6IGNvbmZpZy5yZXR1cm5VcmwsXG4gICAgfTtcblxuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGlcbiAgICAgICAgLnBvc3Q8WHBzUmVzcG9uc2U+KFxuICAgICAgICAgIHRoaXMuYXBpUm91dGUsXG4gICAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh7IC4uLnJlcXVlc3RQYXJhbXMgfSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCdcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHRoaXMucmVzcG9uc2VGYWN0b3J5KHJlc3BvbnNlKSksXG4gICAgICAgICAgdGFwKChyZXNwb25zZTogSW5pdGlhbGl6ZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UucGF5bWVudEZvcm0/LmVycm9ycz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgICAgICAgIG5ldyBTaG93RXJyb3JzQWN0aW9uKHJlc3BvbnNlLnBheW1lbnRGb3JtLmVycm9ycylcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgKS5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
64
+ }] }, { type: i1.XpsApiService }, { type: i2.SettingsService }, { type: i3.CountryService }, { type: i4.NextActionService }, { type: i5.EncryptCreditCardService }]; } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9pbml0aWFsaXplL2luaXRpYWxpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFLdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFJbkYsT0FBTyxFQUNMLDhCQUE4QixHQUUvQixNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7O0FBTzlDLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFFcUIsZUFBMEMsRUFDNUMsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLHdCQUFrRDtRQUxoRCxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFWckUsbUVBQW1FO1FBQ2xELGVBQVUsR0FBRyxJQUFJLENBQUM7SUFVaEMsQ0FBQztJQUVHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBcUI7UUFDeEMsTUFBTSxhQUFhLEdBQTRCO1lBQzdDLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDeEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUU7WUFDekMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1NBQzVCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxhQUFhO2FBQ3RCLG9CQUFvQixDQUFDLGFBQWEsQ0FBQzthQUNuQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFMUQsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEMsSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQzVELENBQUM7YUFDSDtZQUVELElBQUksa0JBQWtCLENBQUMsV0FBVyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUQ7WUFFRCxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHVCQUF1QixDQUFDLFdBQXdCO1FBQ3RELE1BQU0sY0FBYyxHQUFzQixXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDL0QsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUM5QyxDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDOzs4R0F2RFUsaUJBQWlCLGtCQUtsQiw4QkFBOEI7a0hBTDdCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9yZXNwb25zZS1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbmNyeXB0LWNyZWRpdC1jYXJkL2VuY3J5cHQtY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWcgfSBmcm9tICcuLi9wYXltZW50LWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hvd0Vycm9yc0FjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvc2hvdy1lcnJvcnMvc2hvdy1lcnJvcnMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFhwc0FwaVNlcnZpY2UgfSBmcm9tICcuLi94cHMtYXBpL3hwcy1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50Rm9ybSB9IGZyb20gJy4uL3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgaW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeVRva2VuLFxuICBJbml0aWFsaXplUmVzcG9uc2VGYWN0b3J5LFxufSBmcm9tICcuL3Jlc3BvbnNlL2luaXRpYWxpemUtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVJlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEluaXRpYWxpemVSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9pbml0aWFsaXplLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJbml0aWFsaXplU2VydmljZSB7XG4gIC8vIFRPRE8gUEFZTUVOVFMtMTU3NDM6IHJlcGxhY2Ugd2l0aCBuZXcgcmVmZXIgaWQgZm9yIGhlYWRsZXNzIGNvcmVcbiAgcHJpdmF0ZSByZWFkb25seSBwczRSZWZlcklkID0gJzIyJztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChpbml0aWFsaXplUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogSW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc0FwaVNlcnZpY2U6IFhwc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuY3J5cHRDcmVkaXRDYXJkU2VydmljZTogRW5jcnlwdENyZWRpdENhcmRTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgcmVxdWVzdChjb25maWc6IFBheW1lbnRDb25maWcpOiBQcm9taXNlPEluaXRpYWxpemVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXM6IEluaXRpYWxpemVSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgYWNjZXNzX3Rva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIHBpZDogU3RyaW5nKGNvbmZpZy5wYXltZW50TWV0aG9kSWQpLFxuICAgICAgcmVmZXI6IHRoaXMucHM0UmVmZXJJZCxcbiAgICAgIGNvdW50cnk6IHRoaXMuY291bnRyeVNlcnZpY2UuZ2V0Q291bnRyeSgpLFxuICAgICAgcmV0dXJuVXJsOiBjb25maWcucmV0dXJuVXJsLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QocmVxdWVzdFBhcmFtcylcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCBpbml0aWFsaXplUmVzcG9uc2UgPSB0aGlzLnJlc3BvbnNlRmFjdG9yeShyZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKGluaXRpYWxpemVSZXNwb25zZS5wYXltZW50Rm9ybT8uZXJyb3JzPy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICAgIG5ldyBTaG93RXJyb3JzQWN0aW9uKGluaXRpYWxpemVSZXNwb25zZS5wYXltZW50Rm9ybS5lcnJvcnMpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbml0aWFsaXplUmVzcG9uc2UucGF5bWVudEZvcm0pIHtcbiAgICAgICAgICB0aGlzLnNldENyZWRpdENhcmRFbmNyeXB0S2V5KGluaXRpYWxpemVSZXNwb25zZS5wYXltZW50Rm9ybSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZVJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBSZXNwb25zZUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldENyZWRpdENhcmRFbmNyeXB0S2V5KHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSk6IHZvaWQge1xuICAgIGNvbnN0IHB1YmxpY0tleUZpZWxkOiBGaWVsZCB8IHVuZGVmaW5lZCA9IHBheW1lbnRGb3JtLmZpZWxkcy5maW5kKFxuICAgICAgKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ3B1YmxpY19rZXknXG4gICAgKTtcblxuICAgIGlmICghcHVibGljS2V5RmllbGQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVuY3J5cHRDcmVkaXRDYXJkU2VydmljZS5zZXRQdWJsaWNLZXkoYXRvYihwdWJsaWNLZXlGaWVsZC52YWx1ZSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,43 @@
1
+ export class InitializeResponse {
2
+ constructor(response) {
3
+ this.paymentForm = null;
4
+ this.paymentForm = this.extractPaymentForm(response);
5
+ }
6
+ extractPaymentForm(response) {
7
+ if (!response) {
8
+ return null;
9
+ }
10
+ return {
11
+ totalAmount: response.buyData.sum,
12
+ currency: response.buyData.currency,
13
+ fields: Object.keys(response.form).map((key) => response.form[key]),
14
+ taxDisclaimer: response.taxDisclaimer,
15
+ number: response.number,
16
+ barcode: response.barcode,
17
+ instruction: response.instruction,
18
+ offers: response.offers,
19
+ error: response.error,
20
+ errors: response.errors,
21
+ restrictions: response.restrictions,
22
+ info: response.info,
23
+ buyData: response.buyData,
24
+ pid: response.pid,
25
+ messages: response.messages ?? [],
26
+ title: response.title,
27
+ summary: response.summary,
28
+ skipForm: response.skipForm,
29
+ isSavedMethodPayment: !!response.form?.saved_method_id,
30
+ couponCode: response.form?.couponCode?.value || '',
31
+ publicId: response.public_id,
32
+ skipCheckout: response.skipCheckout,
33
+ koreaNotification: response.form.korea_limits_instruction,
34
+ isCheckout: response.isCheckout,
35
+ categories: response.categories,
36
+ hasFatalErrors: response.textAll?.fatal,
37
+ userSession: response.userSession,
38
+ statusText: response.status?.statusData?.stateText ?? null,
39
+ country: response.country ? response.country.iso : null,
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvaW5pdGlhbGl6ZS9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBbUIsUUFBcUI7UUFGeEIsZ0JBQVcsR0FBdUIsSUFBSSxDQUFDO1FBR3JELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxRQUFxQjtRQUM5QyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU87WUFDTCxXQUFXLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHO1lBQ2pDLFFBQVEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxHQUFXLEVBQVMsRUFBRSxDQUFFLFFBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUM1RDtZQUNELGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYTtZQUNyQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO1lBQ3pCLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztZQUNqQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDdkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1lBQ3JCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtZQUN2QixZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDbkMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ25CLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztZQUN6QixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUc7WUFDakIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRTtZQUNqQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7WUFDckIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO1lBQ3pCLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtZQUMzQixvQkFBb0IsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlO1lBQ3RELFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsRCxRQUFRLEVBQUUsUUFBUSxDQUFDLFNBQVM7WUFDNUIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCO1lBQ3pELFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtZQUMvQixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7WUFDL0IsY0FBYyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSztZQUN2QyxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsVUFBVSxFQUFHLFFBQVEsQ0FBQyxNQUFvQixFQUFFLFVBQVUsRUFBRSxTQUFTLElBQUksSUFBSTtZQUN6RSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDeEQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRGb3JtIH0gZnJvbSAnLi4vLi4vcGF5bWVudC1mb3JtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSwgWHBzU3RhdHVzIH0gZnJvbSAnLi4vLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBJbml0aWFsaXplUmVzcG9uc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcGF5bWVudEZvcm06IFBheW1lbnRGb3JtIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHJlc3BvbnNlOiBYcHNSZXNwb25zZSkge1xuICAgIHRoaXMucGF5bWVudEZvcm0gPSB0aGlzLmV4dHJhY3RQYXltZW50Rm9ybShyZXNwb25zZSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RQYXltZW50Rm9ybShyZXNwb25zZTogWHBzUmVzcG9uc2UpOiBQYXltZW50Rm9ybSB8IG51bGwge1xuICAgIGlmICghcmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0b3RhbEFtb3VudDogcmVzcG9uc2UuYnV5RGF0YS5zdW0sXG4gICAgICBjdXJyZW5jeTogcmVzcG9uc2UuYnV5RGF0YS5jdXJyZW5jeSxcbiAgICAgIGZpZWxkczogT2JqZWN0LmtleXMocmVzcG9uc2UuZm9ybSkubWFwKFxuICAgICAgICAoa2V5OiBzdHJpbmcpOiBGaWVsZCA9PiAocmVzcG9uc2UgYXMgWHBzUmVzcG9uc2UpLmZvcm1ba2V5XVxuICAgICAgKSxcbiAgICAgIHRheERpc2NsYWltZXI6IHJlc3BvbnNlLnRheERpc2NsYWltZXIsXG4gICAgICBudW1iZXI6IHJlc3BvbnNlLm51bWJlcixcbiAgICAgIGJhcmNvZGU6IHJlc3BvbnNlLmJhcmNvZGUsXG4gICAgICBpbnN0cnVjdGlvbjogcmVzcG9uc2UuaW5zdHJ1Y3Rpb24sXG4gICAgICBvZmZlcnM6IHJlc3BvbnNlLm9mZmVycyxcbiAgICAgIGVycm9yOiByZXNwb25zZS5lcnJvcixcbiAgICAgIGVycm9yczogcmVzcG9uc2UuZXJyb3JzLFxuICAgICAgcmVzdHJpY3Rpb25zOiByZXNwb25zZS5yZXN0cmljdGlvbnMsXG4gICAgICBpbmZvOiByZXNwb25zZS5pbmZvLFxuICAgICAgYnV5RGF0YTogcmVzcG9uc2UuYnV5RGF0YSxcbiAgICAgIHBpZDogcmVzcG9uc2UucGlkLFxuICAgICAgbWVzc2FnZXM6IHJlc3BvbnNlLm1lc3NhZ2VzID8/IFtdLFxuICAgICAgdGl0bGU6IHJlc3BvbnNlLnRpdGxlLFxuICAgICAgc3VtbWFyeTogcmVzcG9uc2Uuc3VtbWFyeSxcbiAgICAgIHNraXBGb3JtOiByZXNwb25zZS5za2lwRm9ybSxcbiAgICAgIGlzU2F2ZWRNZXRob2RQYXltZW50OiAhIXJlc3BvbnNlLmZvcm0/LnNhdmVkX21ldGhvZF9pZCxcbiAgICAgIGNvdXBvbkNvZGU6IHJlc3BvbnNlLmZvcm0/LmNvdXBvbkNvZGU/LnZhbHVlIHx8ICcnLFxuICAgICAgcHVibGljSWQ6IHJlc3BvbnNlLnB1YmxpY19pZCxcbiAgICAgIHNraXBDaGVja291dDogcmVzcG9uc2Uuc2tpcENoZWNrb3V0LFxuICAgICAga29yZWFOb3RpZmljYXRpb246IHJlc3BvbnNlLmZvcm0ua29yZWFfbGltaXRzX2luc3RydWN0aW9uLFxuICAgICAgaXNDaGVja291dDogcmVzcG9uc2UuaXNDaGVja291dCxcbiAgICAgIGNhdGVnb3JpZXM6IHJlc3BvbnNlLmNhdGVnb3JpZXMsXG4gICAgICBoYXNGYXRhbEVycm9yczogcmVzcG9uc2UudGV4dEFsbD8uZmF0YWwsXG4gICAgICB1c2VyU2Vzc2lvbjogcmVzcG9uc2UudXNlclNlc3Npb24sXG4gICAgICBzdGF0dXNUZXh0OiAocmVzcG9uc2Uuc3RhdHVzIGFzIFhwc1N0YXR1cyk/LnN0YXR1c0RhdGE/LnN0YXRlVGV4dCA/PyBudWxsLFxuICAgICAgY291bnRyeTogcmVzcG9uc2UuY291bnRyeSA/IHJlc3BvbnNlLmNvdW50cnkuaXNvIDogbnVsbCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { InitializeResponse } from './initialize-response.class';
3
+ export const initializeResponseFactoryToken = new InjectionToken('InitializeResponse');
4
+ export const initializeResponseFactoryProvider = {
5
+ provide: initializeResponseFactoryToken,
6
+ useValue: (...args) => new InitializeResponse(...args),
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1yZXNwb25zZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvaW5pdGlhbGl6ZS9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBVWpFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUN6QyxJQUFJLGNBQWMsQ0FBNEIsb0JBQW9CLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBa0I7SUFDOUQsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVBhcmFtZXRlcnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8XG4gIHR5cGVvZiBJbml0aWFsaXplUmVzcG9uc2Vcbj47XG5cbmV4cG9ydCB0eXBlIEluaXRpYWxpemVSZXNwb25zZUZhY3RvcnkgPSAoXG4gIC4uLmFyZ3M6IFJlc3BvbnNlUGFyYW1ldGVyc1xuKSA9PiBJbml0aWFsaXplUmVzcG9uc2U7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplUmVzcG9uc2VGYWN0b3J5VG9rZW46IEluamVjdGlvblRva2VuPEluaXRpYWxpemVSZXNwb25zZUZhY3Rvcnk+ID1cbiAgbmV3IEluamVjdGlvblRva2VuPEluaXRpYWxpemVSZXNwb25zZUZhY3Rvcnk+KCdJbml0aWFsaXplUmVzcG9uc2UnKTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVSZXNwb25zZUZhY3RvcnlQcm92aWRlcjogVmFsdWVQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogaW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZTogKC4uLmFyZ3M6IFJlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IEluaXRpYWxpemVSZXNwb25zZSguLi5hcmdzKSxcbn07XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3BheW1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuY2xhc3MnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBGb3JtRmllbGRzU3RhdHVzIH0gZnJvbSAnLi9mb3JtL2Zvcm0tZmllbGRzLXN0YXR1cy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnQge1xuICBpbml0aWFsaXplKCk6IFByb21pc2U8RmllbGRbXT47XG4gIHN1Ym1pdCgpOiBQcm9taXNlPE5leHRBY3Rpb24gfCBudWxsIHwgdm9pZD47XG4gIGdldEZpZWxkcygpOiBGaWVsZFtdO1xuICB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcbiAgZ2V0RmluYW5jZURldGFpbHMoKTogRmluYW5jZURldGFpbHMgfCBudWxsO1xuICBydW5UaHJlZURzKCk6IE5leHRBY3Rpb247XG4gIGdldFN0YXR1cygpOiBQcm9taXNlPFN0YXR1cz47XG4gIGZvcm06IHtcbiAgICBmaWVsZHNTdGF0dXMkOiBPYnNlcnZhYmxlPEZvcm1GaWVsZHNTdGF0dXM+O1xuICAgIGNoYW5nZUZpZWxkVmFsdWUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgICBnZXRDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IENvbnRyb2xDb25maWcgfCBudWxsO1xuICAgIGNoYW5nZUZpZWxkU3RhdGUobmFtZTogc3RyaW5nLCBzdGF0ZTogSW5wdXRFdmVudE5hbWUpOiB2b2lkO1xuICB9O1xuICBmbG93VXBkYXRlcyQ6IE9ic2VydmFibGU8TmV4dEFjdGlvbj47XG4gIGZpbmFuY2VEZXRhaWxzVXBkYXRlcyQ6IE9ic2VydmFibGU8RmluYW5jZURldGFpbHM+O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3BheW1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuY2xhc3MnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBGb3JtRmllbGRzU3RhdHVzIH0gZnJvbSAnLi9mb3JtL2Zvcm0tZmllbGRzLXN0YXR1cy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnQge1xuICBpbml0aWFsaXplKCk6IFByb21pc2U8RmllbGRbXT47XG4gIHN1Ym1pdCgpOiBQcm9taXNlPE5leHRBY3Rpb24gfCBudWxsIHwgdm9pZD47XG4gIGdldEZpZWxkcygpOiBGaWVsZFtdO1xuICB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcbiAgZ2V0RmluYW5jZURldGFpbHMoKTogRmluYW5jZURldGFpbHMgfCBudWxsO1xuICBydW5UaHJlZURzKCk6IHZvaWQ7XG4gIGdldFN0YXR1cygpOiBQcm9taXNlPFN0YXR1cz47XG4gIGZvcm06IHtcbiAgICBmaWVsZHNTdGF0dXMkOiBPYnNlcnZhYmxlPEZvcm1GaWVsZHNTdGF0dXM+O1xuICAgIGNoYW5nZUZpZWxkVmFsdWUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgICBnZXRDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IENvbnRyb2xDb25maWcgfCBudWxsO1xuICAgIGNoYW5nZUZpZWxkU3RhdGUobmFtZTogc3RyaW5nLCBzdGF0ZTogSW5wdXRFdmVudE5hbWUpOiB2b2lkO1xuICB9O1xuICBmbG93VXBkYXRlcyQ6IE9ic2VydmFibGU8TmV4dEFjdGlvbj47XG4gIGZpbmFuY2VEZXRhaWxzVXBkYXRlcyQ6IE9ic2VydmFibGU8RmluYW5jZURldGFpbHM+O1xufVxuIl19
@@ -3,6 +3,8 @@ import { Injectable } from '@angular/core';
3
3
  import { SubmitResponse } from './submit/response/submit-response.class';
4
4
  import { isSubmitResponse } from './submit/response/is-submit-response.function';
5
5
  import { InputEventName } from './form/input-event.enum';
6
+ import { XpsCommand } from './xps-comand.enum';
7
+ import { FieldNames } from './field-names.enum';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "./initialize/initialize.service";
8
10
  import * as i2 from "./submit/submit.service";
@@ -10,21 +12,25 @@ import * as i3 from "./sync/sync.service";
10
12
  import * as i4 from "./form/form.service";
11
13
  import * as i5 from "./status/status.service";
12
14
  import * as i6 from "./finance-details/finance-details.service";
13
- import * as i7 from "./actions/next-action.service";
14
- import * as i8 from "./form/controls/control-config.service";
15
+ import * as i7 from "./credit-card-state/credit-card-state.service";
16
+ import * as i8 from "./actions/next-action.service";
17
+ import * as i9 from "./form/controls/control-config.service";
18
+ import * as i10 from "./three-ds/three-ds.service";
15
19
  export class PaymentService {
16
20
  get formFieldsStatus$() {
17
21
  return this.formFieldsStatusSubject.asObservable().pipe(filter(Boolean));
18
22
  }
19
- constructor(initializeService, submitService, syncService, formService, statusService, financeDetailsService, nextActionService, controlConfigService) {
23
+ constructor(initializeService, submitService, syncService, formService, statusService, financeDetailsService, creditCardStateService, nextActionService, controlConfigService, threeDsService) {
20
24
  this.initializeService = initializeService;
21
25
  this.submitService = submitService;
22
26
  this.syncService = syncService;
23
27
  this.formService = formService;
24
28
  this.statusService = statusService;
25
29
  this.financeDetailsService = financeDetailsService;
30
+ this.creditCardStateService = creditCardStateService;
26
31
  this.nextActionService = nextActionService;
27
32
  this.controlConfigService = controlConfigService;
33
+ this.threeDsService = threeDsService;
28
34
  this.form = null;
29
35
  this.data = null;
30
36
  this.financeDetails = null;
@@ -60,6 +66,13 @@ export class PaymentService {
60
66
  const submitResponse = await this.submitService.request(this.fields, this.form);
61
67
  this.data = submitResponse;
62
68
  this.emitFinanceDetails(submitResponse.summary);
69
+ // Handle 3ds flow
70
+ if (submitResponse.currentCommand === XpsCommand.create) {
71
+ this.runThreeDs();
72
+ return;
73
+ }
74
+ this.fields = this.getFields();
75
+ this.form = this.formService.createForm(this.fields);
63
76
  return this.nextActionService.getNextAction(submitResponse);
64
77
  }
65
78
  getFields() {
@@ -76,7 +89,10 @@ export class PaymentService {
76
89
  return this.syncService.validate(field);
77
90
  }
78
91
  runThreeDs() {
79
- throw new Error('Method not implemented.');
92
+ if (!isSubmitResponse(this.data)) {
93
+ throw new Error('Should submit form first');
94
+ }
95
+ this.threeDsService.checkThreeDs(this.data);
80
96
  }
81
97
  getFinanceDetails() {
82
98
  return this.financeDetails;
@@ -127,10 +143,14 @@ export class PaymentService {
127
143
  this.fields = [];
128
144
  this.formDestroy$.next();
129
145
  this.destroy$.next();
146
+ this.threeDsService.stopChecking();
130
147
  }
131
148
  emitFinanceDetails(summary) {
132
149
  this.financeDetailsService.emit(summary);
133
150
  }
151
+ emitCreditCardState(idCardType) {
152
+ this.creditCardStateService.emit({ idCardType });
153
+ }
134
154
  emitFormFieldsStatus(form) {
135
155
  const formFieldsStatus = {};
136
156
  Object.keys(form.controls).forEach((name) => {
@@ -148,7 +168,17 @@ export class PaymentService {
148
168
  this.syncService.setup(form, fields);
149
169
  this.syncService.data$
150
170
  .pipe(takeUntil(this.destroy$))
151
- .subscribe((response) => this.emitFinanceDetails(response.summary));
171
+ .subscribe((response) => {
172
+ this.emitFinanceDetails(response.summary);
173
+ });
174
+ this.syncService.fieldAsyncValidation$
175
+ .pipe(takeUntil(this.destroy$))
176
+ .subscribe((fieldAsyncValidation) => {
177
+ switch (fieldAsyncValidation.field.name) {
178
+ case FieldNames.cardNumber:
179
+ this.emitCreditCardState(fieldAsyncValidation.response.parameters.idCardType);
180
+ }
181
+ });
152
182
  }
153
183
  listenFinanceDetails() {
154
184
  this.financeDetailsService.data$
@@ -161,12 +191,12 @@ export class PaymentService {
161
191
  .subscribe(() => this.emitFormFieldsStatus(form));
162
192
  }
163
193
  }
164
- PaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, deps: [{ token: i1.InitializeService }, { token: i2.SubmitService }, { token: i3.SyncService }, { token: i4.FormService }, { token: i5.StatusService }, { token: i6.FinanceDetailsService }, { token: i7.NextActionService }, { token: i8.ControlConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
194
+ PaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, deps: [{ token: i1.InitializeService }, { token: i2.SubmitService }, { token: i3.SyncService }, { token: i4.FormService }, { token: i5.StatusService }, { token: i6.FinanceDetailsService }, { token: i7.CreditCardStateService }, { token: i8.NextActionService }, { token: i9.ControlConfigService }, { token: i10.ThreeDsService }], target: i0.ɵɵFactoryTarget.Injectable });
165
195
  PaymentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, providedIn: 'root' });
166
196
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PaymentService, decorators: [{
167
197
  type: Injectable,
168
198
  args: [{
169
199
  providedIn: 'root',
170
200
  }]
171
- }], ctorParameters: function () { return [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.NextActionService }, { type: i8.ControlConfigService }]; } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWlCekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7O0FBTXpELE1BQU0sT0FBTyxjQUFjO0lBRXpCLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBYUQsWUFDbUIsaUJBQW9DLEVBQ3BDLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLHFCQUE0QyxFQUM1QyxpQkFBb0MsRUFDcEMsb0JBQTBDO1FBUDFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixv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QUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sdUJBQXVCLENBQUMsSUFBc0I7UUFDcEQsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7MkdBbk1VLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0vZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEluaXRpYWxpemVSZXNwb25zZSB9IGZyb20gJy4vaW5pdGlhbGl6ZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEluaXRpYWxpemVTZXJ2aWNlIH0gZnJvbSAnLi9pbml0aWFsaXplL2luaXRpYWxpemUuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1pdFNlcnZpY2UgfSBmcm9tICcuL3N1Ym1pdC9zdWJtaXQuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZyB9IGZyb20gJy4vZm9ybS9jb250cm9scy9jb250cm9sLWNvbmZpZyc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnU2VydmljZSB9IGZyb20gJy4vZm9ybS9jb250cm9scy9jb250cm9sLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLmNsYXNzJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1N1bW1hcnkgfSBmcm9tICcuL3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWcgfSBmcm9tICcuL3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc1N1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2UvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuL2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0aW9uLWVycm9ycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBGb3JtRmllbGRzU3RhdHVzIH0gZnJvbSAnLi9mb3JtL2Zvcm0tZmllbGRzLXN0YXR1cy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgZ2V0IGZvcm1GaWVsZHNTdGF0dXMkKCk6IE9ic2VydmFibGU8Rm9ybUZpZWxkc1N0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKEJvb2xlYW4pKTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0YTogSW5pdGlhbGl6ZVJlc3BvbnNlIHwgU3VibWl0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmaW5hbmNlRGV0YWlsczogRmluYW5jZURldGFpbHMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmb2N1c0ZpZWxkTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgY29uZmlnITogUGF5bWVudENvbmZpZztcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBmb3JtRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1GaWVsZHNTdGF0dXMgfCBudWxsPihudWxsKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsaXplU2VydmljZTogSW5pdGlhbGl6ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJtaXRTZXJ2aWNlOiBTdWJtaXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzU2VydmljZTogU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbENvbmZpZ1NlcnZpY2U6IENvbnRyb2xDb25maWdTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZShjb25maWc6IFBheW1lbnRDb25maWcpOiBQcm9taXNlPEZpZWxkW10+IHtcbiAgICB0aGlzLmRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLmZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLmxpc3RlbkZpbmFuY2VEZXRhaWxzKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmRhdGEgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVTZXJ2aWNlLnJlcXVlc3QoY29uZmlnKTtcblxuICAgIHRoaXMuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmNyZWF0ZUZvcm0odGhpcy5maWVsZHMpO1xuXG4gICAgdGhpcy5zZXR1cFN5bmNTZXJ2aWNlKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMpO1xuICAgIHRoaXMubGlzdGVuRm9ybVN0YXR1c0NoYW5nZXModGhpcy5mb3JtKTtcblxuICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHRoaXMuZGF0YS5wYXltZW50Rm9ybT8uc3VtbWFyeSk7XG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzLmZpbHRlcihcbiAgICAgIChmaWVsZDogRmllbGQpID0+IGZpZWxkPy5pc1Zpc2libGUgPT09IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3VibWl0KCk6IFByb21pc2U8TmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmZvcm0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZm9ybSBpcyBlbXB0eSEnKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXModGhpcy5mb3JtKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJtaXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuc3VibWl0U2VydmljZS5yZXF1ZXN0KFxuICAgICAgdGhpcy5maWVsZHMsXG4gICAgICB0aGlzLmZvcm1cbiAgICApO1xuXG4gICAgdGhpcy5kYXRhID0gc3VibWl0UmVzcG9uc2U7XG5cbiAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyhzdWJtaXRSZXNwb25zZS5zdW1tYXJ5KTtcblxuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmdldE5leHRBY3Rpb24oc3VibWl0UmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkcygpOiBGaWVsZFtdIHtcbiAgICBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgU3VibWl0UmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmllbGRzID8/IFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGE/LnBheW1lbnRGb3JtPy5maWVsZHMgPz8gW107XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoZmllbGQ6IEZpZWxkKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgIGNvbnN0IHN5bmNFcnJvcnMgPSB0aGlzLnN5bmNTZXJ2aWNlLmdldFN5bmNWYWxpZGF0aW9uRXJyb3JzKGZpZWxkKTtcblxuICAgIGlmIChzeW5jRXJyb3JzKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN5bmNFcnJvcnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN5bmNTZXJ2aWNlLnZhbGlkYXRlKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBydW5UaHJlZURzKCk6IE5leHRBY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaW5hbmNlRGV0YWlscygpOiBGaW5hbmNlRGV0YWlscyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cygpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIHBpZDogdGhpcy5jb25maWcucGF5bWVudE1ldGhvZElkLFxuICAgICAgaW52b2ljZTogcGFyc2VJbnQodGhpcy5kYXRhLmZpeEludm9pY2UgPz8gJycpLFxuICAgICAgc2lnbmF0dXJlOiB0aGlzLmRhdGEuc2lnbmF0dXJlID8/ICcnLFxuICAgICAgbG9jYWxlOlxuICAgICAgICB0aGlzLmRhdGEuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnbG9jYWxlJyk/LnZhbHVlID8/XG4gICAgICAgICdlbicsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRDb25maWcoZmllbGQ6IEZpZWxkKTogQ29udHJvbENvbmZpZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbmZpZyhmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuICAgIGZvcm1Db250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRTdGF0ZShuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG5cbiAgICBpZiAoIXRoaXMuZm9ybSB8fCAhZm9ybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmJsdXI6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmZvY3VzOiB7XG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbmFtZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhID0gbnVsbDtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzID0gbnVsbDtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5mb3JtRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmluYW5jZURldGFpbHMoc3VtbWFyeT86IFhwc1N1bW1hcnkpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybUZpZWxkc1N0YXR1cyhmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUZpZWxkc1N0YXR1czogRm9ybUZpZWxkc1N0YXR1cyA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMoZm9ybS5jb250cm9scykuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uY29udHJvbHNbbmFtZV07XG4gICAgICBmb3JtRmllbGRzU3RhdHVzW25hbWVdID0ge1xuICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICB2YWxpZGF0aW9uU3RhdHVzOiBjb250cm9sLnN0YXR1cyxcbiAgICAgICAgZXJyb3JzOiBjb250cm9sLmVycm9ycyxcbiAgICAgICAgaXNGb2N1c2VkOiB0aGlzLmZvY3VzRmllbGROYW1lID09PSBuYW1lLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMuZm9ybUZpZWxkc1N0YXR1c1N1YmplY3QubmV4dChmb3JtRmllbGRzU3RhdHVzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBTeW5jU2VydmljZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBmaWVsZHM6IEZpZWxkW10pOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKGZvcm0sIGZpZWxkcyk7XG4gICAgdGhpcy5zeW5jU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHJlc3BvbnNlLnN1bW1hcnkpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRmluYW5jZURldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpbmFuY2VEZXRhaWxzKSA9PiAodGhpcy5maW5hbmNlRGV0YWlscyA9IGZpbmFuY2VEZXRhaWxzKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvcm1TdGF0dXNDaGFuZ2VzKGZvcm06IFVudHlwZWRGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBmb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmZvcm1EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybSkpO1xuICB9XG59XG4iXX0=
201
+ }], ctorParameters: function () { return [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.CreditCardStateService }, { type: i8.NextActionService }, { type: i9.ControlConfigService }, { type: i10.ThreeDsService }]; } });
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWlCekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7OztBQUtoRCxNQUFNLE9BQU8sY0FBYztJQUd6QixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQWFELFlBQ21CLGlCQUFvQyxFQUNwQyxhQUE0QixFQUM1QixXQUF3QixFQUN4QixXQUF3QixFQUN4QixhQUE0QixFQUM1QixxQkFBNEMsRUFDNUMsc0JBQThDLEVBQzlDLGlCQUFvQyxFQUNwQyxvQkFBMEMsRUFDMUMsY0FBOEI7UUFUOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FB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O1FBQzFCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVPLHVCQUF1QixDQUFDLElBQXNCO1FBQ3BELElBQUksQ0FBQyxhQUFhO2FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzJHQXRPVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9mb3JtL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUvcmVzcG9uc2UvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBJbml0aWFsaXplU2VydmljZSB9IGZyb20gJy4vaW5pdGlhbGl6ZS9pbml0aWFsaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRTZXJ2aWNlIH0gZnJvbSAnLi9zdWJtaXQvc3VibWl0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3luY1NlcnZpY2UgfSBmcm9tICcuL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5jbGFzcyc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnIH0gZnJvbSAnLi9wYXltZW50LWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgaXNTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL2lzLXN1Ym1pdC1yZXNwb25zZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4veHBzLWJvb2xlYW4uZW51bSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi9mb3JtL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbi1lcnJvcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9mb3JtL2lucHV0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHsgRm9ybUZpZWxkc1N0YXR1cyB9IGZyb20gJy4vZm9ybS9mb3JtLWZpZWxkcy1zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRocmVlRHNTZXJ2aWNlIH0gZnJvbSAnLi90aHJlZS1kcy90aHJlZS1kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuL3hwcy1jb21hbmQuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL2ZpZWxkLW5hbWVzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgZm9ybUZpZWxkc1N0YXR1cyQoKTogT2JzZXJ2YWJsZTxGb3JtRmllbGRzU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkc1N0YXR1c1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoQm9vbGVhbikpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhOiBJbml0aWFsaXplUmVzcG9uc2UgfCBTdWJtaXRSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpbmFuY2VEZXRhaWxzOiBGaW5hbmNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZvY3VzRmllbGROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBjb25maWchOiBQYXltZW50Q29uZmlnO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybUZpZWxkc1N0YXR1c1N1YmplY3QgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybUZpZWxkc1N0YXR1cyB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxpemVTZXJ2aWNlOiBJbml0aWFsaXplU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1Ym1pdFNlcnZpY2U6IFN1Ym1pdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzeW5jU2VydmljZTogU3luY1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU3RhdGVTZXJ2aWNlOiBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbENvbmZpZ1NlcnZpY2U6IENvbnRyb2xDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhyZWVEc1NlcnZpY2U6IFRocmVlRHNTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZShjb25maWc6IFBheW1lbnRDb25maWcpOiBQcm9taXNlPEZpZWxkW10+IHtcbiAgICB0aGlzLmRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLmZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLmxpc3RlbkZpbmFuY2VEZXRhaWxzKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmRhdGEgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVTZXJ2aWNlLnJlcXVlc3QoY29uZmlnKTtcblxuICAgIHRoaXMuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmNyZWF0ZUZvcm0odGhpcy5maWVsZHMpO1xuXG4gICAgdGhpcy5zZXR1cFN5bmNTZXJ2aWNlKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMpO1xuICAgIHRoaXMubGlzdGVuRm9ybVN0YXR1c0NoYW5nZXModGhpcy5mb3JtKTtcblxuICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHRoaXMuZGF0YS5wYXltZW50Rm9ybT8uc3VtbWFyeSk7XG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzLmZpbHRlcihcbiAgICAgIChmaWVsZDogRmllbGQpID0+IGZpZWxkPy5pc1Zpc2libGUgPT09IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3VibWl0KCk6IFByb21pc2U8TmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmZvcm0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZm9ybSBpcyBlbXB0eSEnKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXModGhpcy5mb3JtKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJtaXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuc3VibWl0U2VydmljZS5yZXF1ZXN0KFxuICAgICAgdGhpcy5maWVsZHMsXG4gICAgICB0aGlzLmZvcm1cbiAgICApO1xuXG4gICAgdGhpcy5kYXRhID0gc3VibWl0UmVzcG9uc2U7XG5cbiAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyhzdWJtaXRSZXNwb25zZS5zdW1tYXJ5KTtcblxuICAgIC8vIEhhbmRsZSAzZHMgZmxvd1xuICAgIGlmIChzdWJtaXRSZXNwb25zZS5jdXJyZW50Q29tbWFuZCA9PT0gWHBzQ29tbWFuZC5jcmVhdGUpIHtcbiAgICAgIHRoaXMucnVuVGhyZWVEcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmNyZWF0ZUZvcm0odGhpcy5maWVsZHMpO1xuXG4gICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZ2V0TmV4dEFjdGlvbihzdWJtaXRSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRzKCk6IEZpZWxkW10ge1xuICAgIGlmICh0aGlzLmRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5maWVsZHMgPz8gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ucGF5bWVudEZvcm0/LmZpZWxkcyA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgY29uc3Qgc3luY0Vycm9ycyA9IHRoaXMuc3luY1NlcnZpY2UuZ2V0U3luY1ZhbGlkYXRpb25FcnJvcnMoZmllbGQpO1xuXG4gICAgaWYgKHN5bmNFcnJvcnMpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3luY0Vycm9ycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3luY1NlcnZpY2UudmFsaWRhdGUoZmllbGQpO1xuICB9XG5cbiAgcHVibGljIHJ1blRocmVlRHMoKTogdm9pZCB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgdGhpcy50aHJlZURzU2VydmljZS5jaGVja1RocmVlRHModGhpcy5kYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaW5hbmNlRGV0YWlscygpOiBGaW5hbmNlRGV0YWlscyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cygpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIHBpZDogdGhpcy5jb25maWcucGF5bWVudE1ldGhvZElkLFxuICAgICAgaW52b2ljZTogcGFyc2VJbnQodGhpcy5kYXRhLmZpeEludm9pY2UgPz8gJycpLFxuICAgICAgc2lnbmF0dXJlOiB0aGlzLmRhdGEuc2lnbmF0dXJlID8/ICcnLFxuICAgICAgbG9jYWxlOlxuICAgICAgICB0aGlzLmRhdGEuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnbG9jYWxlJyk/LnZhbHVlID8/XG4gICAgICAgICdlbicsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRDb25maWcoZmllbGQ6IEZpZWxkKTogQ29udHJvbENvbmZpZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbmZpZyhmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuICAgIGZvcm1Db250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRTdGF0ZShuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG5cbiAgICBpZiAoIXRoaXMuZm9ybSB8fCAhZm9ybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmJsdXI6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmZvY3VzOiB7XG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbmFtZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhID0gbnVsbDtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzID0gbnVsbDtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5mb3JtRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXG4gICAgdGhpcy50aHJlZURzU2VydmljZS5zdG9wQ2hlY2tpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk/OiBYcHNTdW1tYXJ5KTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdChzdW1tYXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENyZWRpdENhcmRTdGF0ZShpZENhcmRUeXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZW1pdCh7IGlkQ2FyZFR5cGUgfSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRGb3JtRmllbGRzU3RhdHVzKGZvcm06IFVudHlwZWRGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtRmllbGRzU3RhdHVzOiBGb3JtRmllbGRzU3RhdHVzID0ge307XG5cbiAgICBPYmplY3Qua2V5cyhmb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybS5jb250cm9sc1tuYW1lXTtcbiAgICAgIGZvcm1GaWVsZHNTdGF0dXNbbmFtZV0gPSB7XG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25TdGF0dXM6IGNvbnRyb2wuc3RhdHVzLFxuICAgICAgICBlcnJvcnM6IGNvbnRyb2wuZXJyb3JzLFxuICAgICAgICBpc0ZvY3VzZWQ6IHRoaXMuZm9jdXNGaWVsZE5hbWUgPT09IG5hbWUsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JtRmllbGRzU3RhdHVzU3ViamVjdC5uZXh0KGZvcm1GaWVsZHNTdGF0dXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFN5bmNTZXJ2aWNlKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIGZpZWxkczogRmllbGRbXSk6IHZvaWQge1xuICAgIHRoaXMuc3luY1NlcnZpY2Uuc2V0dXAoZm9ybSwgZmllbGRzKTtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLmRhdGEkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyhyZXNwb25zZS5zdW1tYXJ5KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zeW5jU2VydmljZS5maWVsZEFzeW5jVmFsaWRhdGlvbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpZWxkQXN5bmNWYWxpZGF0aW9uKSA9PiB7XG4gICAgICAgIHN3aXRjaCAoZmllbGRBc3luY1ZhbGlkYXRpb24uZmllbGQubmFtZSkge1xuICAgICAgICAgIGNhc2UgRmllbGROYW1lcy5jYXJkTnVtYmVyOlxuICAgICAgICAgICAgdGhpcy5lbWl0Q3JlZGl0Q2FyZFN0YXRlKFxuICAgICAgICAgICAgICBmaWVsZEFzeW5jVmFsaWRhdGlvbi5yZXNwb25zZS5wYXJhbWV0ZXJzLmlkQ2FyZFR5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5GaW5hbmNlRGV0YWlscygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZmluYW5jZURldGFpbHMpID0+ICh0aGlzLmZpbmFuY2VEZXRhaWxzID0gZmluYW5jZURldGFpbHMpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9ybVN0YXR1c0NoYW5nZXMoZm9ybTogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZm9ybURlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyhmb3JtKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,31 +1,26 @@
1
- import { lastValueFrom } from 'rxjs';
2
1
  import { Inject, Injectable } from '@angular/core';
3
- import { HttpHeaders } from '@angular/common/http';
4
2
  import { ResponseError } from '../../../exceptions-handling/errors/response-error.class';
5
3
  import { checkStatusRequestFactoryToken, } from './request/check-status-request.token';
6
4
  import { checkStatusResponseFactoryToken, } from './response/check-status-response.token';
7
5
  import { XpsApiPart } from '../../xps-api-part.abstract';
8
6
  import * as i0 from "@angular/core";
9
- import * as i1 from "../../../http/secure-api/secure-api.service";
7
+ import * as i1 from "../../xps-api/xps-api.service";
10
8
  import * as i2 from "../../../settings/settings.service";
11
9
  export class CheckStatusService extends XpsApiPart {
12
- constructor(secureApiClient, settingsService, requestFactory, responseFactory) {
10
+ constructor(xpsApiService, settingsService, requestFactory, responseFactory) {
13
11
  super();
14
- this.secureApiClient = secureApiClient;
12
+ this.xpsApiService = xpsApiService;
15
13
  this.settingsService = settingsService;
16
14
  this.requestFactory = requestFactory;
17
15
  this.responseFactory = responseFactory;
18
- this.apiRoute = 'directpayment';
19
16
  }
20
17
  setRequestParams(invoice) {
21
18
  this.invoice = invoice;
22
19
  }
23
20
  request() {
24
21
  const requestParams = this.requestFactory(this.settingsService.token, this.invoice);
25
- lastValueFrom(this.secureApiClient.post(this.apiRoute, new URLSearchParams({ ...requestParams }), {
26
- headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
27
- responseType: 'json',
28
- }))
22
+ this.xpsApiService
23
+ .directPaymentRequest(requestParams)
29
24
  .then((response) => {
30
25
  const checkStatusResponse = this.responseFactory({
31
26
  status: response.status,
@@ -39,18 +34,18 @@ export class CheckStatusService extends XpsApiPart {
39
34
  });
40
35
  }
41
36
  }
42
- CheckStatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CheckStatusService, deps: [{ token: i1.SecureApiClient }, { token: i2.SettingsService }, { token: checkStatusRequestFactoryToken }, { token: checkStatusResponseFactoryToken }], target: i0.ɵɵFactoryTarget.Injectable });
37
+ CheckStatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CheckStatusService, deps: [{ token: i1.XpsApiService }, { token: i2.SettingsService }, { token: checkStatusRequestFactoryToken }, { token: checkStatusResponseFactoryToken }], target: i0.ɵɵFactoryTarget.Injectable });
43
38
  CheckStatusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CheckStatusService, providedIn: 'root' });
44
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CheckStatusService, decorators: [{
45
40
  type: Injectable,
46
41
  args: [{
47
42
  providedIn: 'root',
48
43
  }]
49
- }], ctorParameters: function () { return [{ type: i1.SecureApiClient }, { type: i2.SettingsService }, { type: undefined, decorators: [{
44
+ }], ctorParameters: function () { return [{ type: i1.XpsApiService }, { type: i2.SettingsService }, { type: undefined, decorators: [{
50
45
  type: Inject,
51
46
  args: [checkStatusRequestFactoryToken]
52
47
  }] }, { type: undefined, decorators: [{
53
48
  type: Inject,
54
49
  args: [checkStatusResponseFactoryToken]
55
50
  }] }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pGLE9BQU8sRUFFTCw4QkFBOEIsR0FDL0IsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBRUwsK0JBQStCLEdBQ2hDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBTXpELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUErQjtJQUlyRSxZQUNtQixlQUFnQyxFQUNoQyxlQUFnQyxFQUVoQyxjQUF5QyxFQUV6QyxlQUEyQztRQUU1RCxLQUFLLEVBQUUsQ0FBQztRQVBTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFaEMsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBRXpDLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtRQVQ3QyxhQUFRLEdBQUcsZUFBZSxDQUFDO0lBWTVDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxPQUFPO1FBQ1osTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQzFCLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUVGLGFBQWEsQ0FDWCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDdkIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUVyQyxDQUFDLEVBQ0Y7WUFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUNGLENBQ0Y7YUFDRSxJQUFJLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7WUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO2dCQUMvQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQW9CO2dCQUNyQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLHdCQUF3QixFQUFFLFFBQVEsQ0FBQywyQkFBMkI7YUFDL0QsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7K0dBcERVLGtCQUFrQixnRkFPbkIsOEJBQThCLGFBRTlCLCtCQUErQjttSEFUOUIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUUksTUFBTTsyQkFBQyw4QkFBOEI7OzBCQUVyQyxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi8uLi8uLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0VudW0gfSBmcm9tICcuLi9zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBSZXNwb25zZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvcmVzcG9uc2UtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHtcbiAgQ2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeSxcbiAgY2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3JlcXVlc3QvY2hlY2stc3RhdHVzLXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHtcbiAgQ2hlY2tTdGF0dXNSZXNwb25zZUZhY3RvcnksXG4gIGNoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5VG9rZW4sXG59IGZyb20gJy4vcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLnRva2VuJztcbmltcG9ydCB7IFhwc0FwaVBhcnQgfSBmcm9tICcuLi8uLi94cHMtYXBpLXBhcnQuYWJzdHJhY3QnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrU3RhdHVzU2VydmljZSBleHRlbmRzIFhwc0FwaVBhcnQ8Q2hlY2tTdGF0dXNSZXNwb25zZT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ2RpcmVjdHBheW1lbnQnO1xuICBwcml2YXRlIGludm9pY2UhOiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlQXBpQ2xpZW50OiBTZWN1cmVBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBASW5qZWN0KGNoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBDaGVja1N0YXR1c1JlcXVlc3RGYWN0b3J5LFxuICAgIEBJbmplY3QoY2hlY2tTdGF0dXNSZXNwb25zZUZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogQ2hlY2tTdGF0dXNSZXNwb25zZUZhY3RvcnlcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRSZXF1ZXN0UGFyYW1zKGludm9pY2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaW52b2ljZSA9IGludm9pY2U7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdCgpOiB2b2lkIHtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zID0gdGhpcy5yZXF1ZXN0RmFjdG9yeShcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgdGhpcy5pbnZvaWNlXG4gICAgKTtcblxuICAgIGxhc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnNlY3VyZUFwaUNsaWVudC5wb3N0PFhwc1Jlc3BvbnNlPihcbiAgICAgICAgdGhpcy5hcGlSb3V0ZSxcbiAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh7IC4uLnJlcXVlc3RQYXJhbXMgfSBhcyB1bmtub3duIGFzIHtcbiAgICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04J1xuICAgICAgICAgICksXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICApXG4gICAgICAudGhlbigocmVzcG9uc2U6IFhwc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoZWNrU3RhdHVzUmVzcG9uc2UgPSB0aGlzLnJlc3BvbnNlRmFjdG9yeSh7XG4gICAgICAgICAgc3RhdHVzOiByZXNwb25zZS5zdGF0dXMgYXMgU3RhdHVzRW51bSxcbiAgICAgICAgICBmaW5hbDogcmVzcG9uc2UuZmluYWwsXG4gICAgICAgICAgaXNQYXltZW50QWNjb3VudEF0dGFjaGVkOiByZXNwb25zZS5pc19wYXltZW50X2FjY291bnRfYXR0YWNoZWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZW1pdFJlc3BvbnNlKGNoZWNrU3RhdHVzUmVzcG9uc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBSZXNwb25zZUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pGLE9BQU8sRUFFTCw4QkFBOEIsR0FDL0IsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBRUwsK0JBQStCLEdBQ2hDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBT3pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUErQjtJQUdyRSxZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUVoQyxjQUF5QyxFQUV6QyxlQUEyQztRQUU1RCxLQUFLLEVBQUUsQ0FBQztRQVBTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUVoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBMkI7UUFFekMsb0JBQWUsR0FBZixlQUFlLENBQTRCO0lBRzlELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxPQUFPO1FBQ1osTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQzFCLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhO2FBQ2Ysb0JBQW9CLENBQUMsYUFBYSxDQUFDO2FBQ25DLElBQUksQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUM5QixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBb0I7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDckIsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLDJCQUEyQjthQUMvRCxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0F0Q1Usa0JBQWtCLDhFQU1uQiw4QkFBOEIsYUFFOUIsK0JBQStCO21IQVI5QixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBRXJDLE1BQU07MkJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnksXG4gIGNoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L2NoZWNrLXN0YXR1cy1yZXF1ZXN0LnRva2VuJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5LFxuICBjaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS50b2tlbic7XG5pbXBvcnQgeyBYcHNBcGlQYXJ0IH0gZnJvbSAnLi4vLi4veHBzLWFwaS1wYXJ0LmFic3RyYWN0JztcbmltcG9ydCB7IFhwc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi94cHMtYXBpL3hwcy1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZS9jaGVjay1zdGF0dXMtcmVzcG9uc2UuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tTdGF0dXNTZXJ2aWNlIGV4dGVuZHMgWHBzQXBpUGFydDxDaGVja1N0YXR1c1Jlc3BvbnNlPiB7XG4gIHByaXZhdGUgaW52b2ljZSE6IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNBcGlTZXJ2aWNlOiBYcHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgQEluamVjdChjaGVja1N0YXR1c1JlcXVlc3RGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0RmFjdG9yeTogQ2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeSxcbiAgICBASW5qZWN0KGNoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IENoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5XG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UmVxdWVzdFBhcmFtcyhpbnZvaWNlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmludm9pY2UgPSBpbnZvaWNlO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3QoKTogdm9pZCB7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtcyA9IHRoaXMucmVxdWVzdEZhY3RvcnkoXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIHRoaXMuaW52b2ljZVxuICAgICk7XG5cbiAgICB0aGlzLnhwc0FwaVNlcnZpY2VcbiAgICAgIC5kaXJlY3RQYXltZW50UmVxdWVzdChyZXF1ZXN0UGFyYW1zKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBYcHNSZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGVja1N0YXR1c1Jlc3BvbnNlID0gdGhpcy5yZXNwb25zZUZhY3Rvcnkoe1xuICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzIGFzIFN0YXR1c0VudW0sXG4gICAgICAgICAgZmluYWw6IHJlc3BvbnNlLmZpbmFsLFxuICAgICAgICAgIGlzUGF5bWVudEFjY291bnRBdHRhY2hlZDogcmVzcG9uc2UuaXNfcGF5bWVudF9hY2NvdW50X2F0dGFjaGVkLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmVtaXRSZXNwb25zZShjaGVja1N0YXR1c1Jlc3BvbnNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -6,4 +6,4 @@ export class CheckStatusResponse {
6
6
  this.isPaymentAccountAttached = parameters.isPaymentAccountAttached;
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvY2hlY2stc3RhdHVzL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSx5REFBeUQ7QUFDekQsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFtQixVQUEyQztRQUM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxVQUFVLENBQUMsd0JBQXdCLENBQUM7SUFDdEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3BlcnRpZXMudHlwZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vc3RhdHVzLmVudW0nO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmV4cG9ydCBjbGFzcyBDaGVja1N0YXR1c1Jlc3BvbnNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHN0YXR1cz86IFN0YXR1c0VudW07XG4gIHB1YmxpYyByZWFkb25seSBmaW5hbD86IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBpc1BheW1lbnRBY2NvdW50QXR0YWNoZWQ/OiBib29sZWFuO1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1ldGVyczogUHJvcGVydGllczxDaGVja1N0YXR1c1Jlc3BvbnNlPikge1xuICAgIHRoaXMuc3RhdHVzID0gcGFyYW1ldGVycy5zdGF0dXM7XG4gICAgdGhpcy5maW5hbCA9IHBhcmFtZXRlcnMuZmluYWw7XG4gICAgdGhpcy5pc1BheW1lbnRBY2NvdW50QXR0YWNoZWQgPSBwYXJhbWV0ZXJzLmlzUGF5bWVudEFjY291bnRBdHRhY2hlZDtcbiAgfVxufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvY2hlY2stc3RhdHVzL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSx5REFBeUQ7QUFDekQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFtQixVQUEyQztRQUM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxVQUFVLENBQUMsd0JBQXdCLENBQUM7SUFDdEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3BlcnRpZXMudHlwZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vc3RhdHVzLmVudW0nO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmV4cG9ydCBjbGFzcyBDaGVja1N0YXR1c1Jlc3BvbnNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHN0YXR1cz86IFN0YXR1c0VudW07XG4gIHB1YmxpYyByZWFkb25seSBmaW5hbD86IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBpc1BheW1lbnRBY2NvdW50QXR0YWNoZWQ/OiBib29sZWFuO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJzOiBQcm9wZXJ0aWVzPENoZWNrU3RhdHVzUmVzcG9uc2U+KSB7XG4gICAgdGhpcy5zdGF0dXMgPSBwYXJhbWV0ZXJzLnN0YXR1cztcbiAgICB0aGlzLmZpbmFsID0gcGFyYW1ldGVycy5maW5hbDtcbiAgICB0aGlzLmlzUGF5bWVudEFjY291bnRBdHRhY2hlZCA9IHBhcmFtZXRlcnMuaXNQYXltZW50QWNjb3VudEF0dGFjaGVkO1xuICB9XG59XG4iXX0=
@@ -1,28 +1,27 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { submitRequestFactoryToken, } from './request/submit-request.token';
3
3
  import { submitResponseFactoryToken, } from './response/submit-response.token';
4
- import { lastValueFrom } from 'rxjs';
5
- import { HttpHeaders } from '@angular/common/http';
6
4
  import { ResponseError } from '../../exceptions-handling/errors/response-error.class';
7
5
  import * as i0 from "@angular/core";
8
6
  import * as i1 from "../../settings/settings.service";
9
7
  import * as i2 from "../../device-finger-print/device-finger-print.service";
10
- import * as i3 from "../../http/secure-api/secure-api.service";
8
+ import * as i3 from "../xps-api/xps-api.service";
9
+ import * as i4 from "../../encrypt-credit-card/encrypt-credit-card.service";
11
10
  export class SubmitService {
12
- constructor(requestFactory, responseFactory, settingsService, deviceFingerPrintService, secureApi) {
11
+ constructor(requestFactory, responseFactory, settingsService, deviceFingerPrintService, xpsApiService, encryptCreditCardService) {
13
12
  this.requestFactory = requestFactory;
14
13
  this.responseFactory = responseFactory;
15
14
  this.settingsService = settingsService;
16
15
  this.deviceFingerPrintService = deviceFingerPrintService;
17
- this.secureApi = secureApi;
18
- this.directPaymentApiRoute = 'directpayment';
16
+ this.xpsApiService = xpsApiService;
17
+ this.encryptCreditCardService = encryptCreditCardService;
19
18
  }
20
19
  // NB: Never add 'async' statement for this method!
21
20
  // 'Async' statement wraps current promise into another.
22
21
  // In this way two promises become unequal, that can broke XPS API requests logic.
23
22
  // eslint-disable-next-line @typescript-eslint/promise-function-async
24
23
  request(fields, form) {
25
- const responsePromise = this.deviceFingerPrintService
24
+ return (this.deviceFingerPrintService
26
25
  .getHash()
27
26
  // eslint-disable-next-line @typescript-eslint/promise-function-async
28
27
  .then((dfpHash) => {
@@ -32,19 +31,17 @@ export class SubmitService {
32
31
  form,
33
32
  dfpHash,
34
33
  });
35
- return lastValueFrom(this.secureApi.post(this.directPaymentApiRoute, new URLSearchParams({ ...requestParams }), {
36
- headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
37
- responseType: 'json',
38
- }))
34
+ const encryptedRequest = this.encryptCreditCardService.encryptCreditCard(requestParams);
35
+ return this.xpsApiService
36
+ .directPaymentRequest(encryptedRequest)
39
37
  .then((response) => this.responseFactory(response))
40
38
  .catch((error) => {
41
39
  throw new ResponseError(error.message);
42
40
  });
43
- });
44
- return responsePromise;
41
+ }));
45
42
  }
46
43
  }
47
- SubmitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SubmitService, deps: [{ token: submitRequestFactoryToken }, { token: submitResponseFactoryToken }, { token: i1.SettingsService }, { token: i2.DeviceFingerPrintService }, { token: i3.SecureApiClient }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ SubmitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SubmitService, deps: [{ token: submitRequestFactoryToken }, { token: submitResponseFactoryToken }, { token: i1.SettingsService }, { token: i2.DeviceFingerPrintService }, { token: i3.XpsApiService }, { token: i4.EncryptCreditCardService }], target: i0.ɵɵFactoryTarget.Injectable });
48
45
  SubmitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SubmitService, providedIn: 'root' });
49
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SubmitService, decorators: [{
50
47
  type: Injectable,
@@ -55,5 +52,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
55
52
  }] }, { type: undefined, decorators: [{
56
53
  type: Inject,
57
54
  args: [submitResponseFactoryToken]
58
- }] }, { type: i1.SettingsService }, { type: i2.DeviceFingerPrintService }, { type: i3.SecureApiClient }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N1Ym1pdC9zdWJtaXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBTTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7QUFLdEYsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFFbUIsY0FBb0MsRUFFcEMsZUFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsd0JBQWtELEVBRWxELFNBQTBCO1FBTjFCLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUVwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFFbEQsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFUNUIsMEJBQXFCLEdBQUcsZUFBZSxDQUFDO0lBVXRELENBQUM7SUFFSixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGtGQUFrRjtJQUVsRixxRUFBcUU7SUFDOUQsT0FBTyxDQUNaLE1BQWUsRUFDZixJQUFzQjtRQUV0QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsd0JBQXdCO2FBQ2xELE9BQU8sRUFBRTtZQUNWLHFFQUFxRTthQUNwRSxJQUFJLENBQUMsQ0FBQyxPQUErQixFQUFFLEVBQUU7WUFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztnQkFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztnQkFDakMsTUFBTTtnQkFDTixJQUFJO2dCQUNKLE9BQU87YUFDUixDQUFDLENBQUM7WUFFSCxPQUFPLGFBQWEsQ0FDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxxQkFBcUIsRUFDMUIsSUFBSSxlQUFlLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFFckMsQ0FBQyxFQUNGO2dCQUNFLE9BQU8sRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FDNUIsY0FBYyxFQUNkLGtEQUFrRCxDQUNuRDtnQkFDRCxZQUFZLEVBQUUsTUFBTTthQUNyQixDQUNGLENBQ0Y7aUJBQ0UsSUFBSSxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDL0QsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDTCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDOzswR0F0RFUsYUFBYSxrQkFHZCx5QkFBeUIsYUFFekIsMEJBQTBCOzhHQUx6QixhQUFhLGNBREEsTUFBTTsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUk3QixNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBRWhDLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTdWJtaXRSZXF1ZXN0RmFjdG9yeSxcbiAgc3VibWl0UmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LnRva2VuJztcbmltcG9ydCB7XG4gIFN1Ym1pdFJlc3BvbnNlRmFjdG9yeSxcbiAgc3VibWl0UmVzcG9uc2VGYWN0b3J5VG9rZW4sXG59IGZyb20gJy4vcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLnRva2VuJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9kZXZpY2UtZmluZ2VyLXByaW50L2RldmljZS1maW5nZXItcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFJlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9yZXNwb25zZS1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi8uLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3VibWl0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0UGF5bWVudEFwaVJvdXRlID0gJ2RpcmVjdHBheW1lbnQnO1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChzdWJtaXRSZXF1ZXN0RmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdEZhY3Rvcnk6IFN1Ym1pdFJlcXVlc3RGYWN0b3J5LFxuICAgIEBJbmplY3Qoc3VibWl0UmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFN1Ym1pdFJlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlOiBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UsXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3VyZUFwaTogU2VjdXJlQXBpQ2xpZW50XG4gICkge31cblxuICAvLyBOQjogTmV2ZXIgYWRkICdhc3luYycgc3RhdGVtZW50IGZvciB0aGlzIG1ldGhvZCFcbiAgLy8gJ0FzeW5jJyBzdGF0ZW1lbnQgd3JhcHMgY3VycmVudCBwcm9taXNlIGludG8gYW5vdGhlci5cbiAgLy8gSW4gdGhpcyB3YXkgdHdvIHByb21pc2VzIGJlY29tZSB1bmVxdWFsLCB0aGF0IGNhbiBicm9rZSBYUFMgQVBJIHJlcXVlc3RzIGxvZ2ljLlxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICBwdWJsaWMgcmVxdWVzdChcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cFxuICApOiBQcm9taXNlPFN1Ym1pdFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzcG9uc2VQcm9taXNlID0gdGhpcy5kZXZpY2VGaW5nZXJQcmludFNlcnZpY2VcbiAgICAgIC5nZXRIYXNoKClcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICAgICAgLnRoZW4oKGRmcEhhc2g6IEF3YWl0ZWQ8c3RyaW5nIHwgbnVsbD4pID0+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdFBhcmFtcyA9IHRoaXMucmVxdWVzdEZhY3Rvcnkoe1xuICAgICAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgZm9ybSxcbiAgICAgICAgICBkZnBIYXNoLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShcbiAgICAgICAgICB0aGlzLnNlY3VyZUFwaS5wb3N0PFhwc1Jlc3BvbnNlPihcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0UGF5bWVudEFwaVJvdXRlLFxuICAgICAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh7IC4uLnJlcXVlc3RQYXJhbXMgfSBhcyB1bmtub3duIGFzIHtcbiAgICAgICAgICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04J1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgICAudGhlbigocmVzcG9uc2U6IFhwc1Jlc3BvbnNlKSA9PiB0aGlzLnJlc3BvbnNlRmFjdG9yeShyZXNwb25zZSkpXG4gICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRocm93IG5ldyBSZXNwb25zZUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlUHJvbWlzZTtcbiAgfVxufVxuIl19
55
+ }] }, { type: i1.SettingsService }, { type: i2.DeviceFingerPrintService }, { type: i3.XpsApiService }, { type: i4.EncryptCreditCardService }]; } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N1Ym1pdC9zdWJtaXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBSzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7O0FBT3RGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBRW1CLGNBQW9DLEVBRXBDLGVBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLHdCQUFrRCxFQUNsRCxhQUE0QixFQUM1Qix3QkFBa0Q7UUFObEQsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBRXBDLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQ2xFLENBQUM7SUFFSixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGtGQUFrRjtJQUVsRixxRUFBcUU7SUFDOUQsT0FBTyxDQUNaLE1BQWUsRUFDZixJQUFzQjtRQUV0QixPQUFPLENBQ0wsSUFBSSxDQUFDLHdCQUF3QjthQUMxQixPQUFPLEVBQUU7WUFDVixxRUFBcUU7YUFDcEUsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztnQkFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztnQkFDakMsTUFBTTtnQkFDTixJQUFJO2dCQUNKLE9BQU87YUFDUixDQUFDLENBQUM7WUFFSCxNQUFNLGdCQUFnQixHQUNwQixJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQzdDLGFBQWEsQ0FDZCxDQUFDO1lBRUosT0FBTyxJQUFJLENBQUMsYUFBYTtpQkFDdEIsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUM7aUJBQ3RDLElBQUksQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQy9ELEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUN0QixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDOzswR0E5Q1UsYUFBYSxrQkFFZCx5QkFBeUIsYUFFekIsMEJBQTBCOzhHQUp6QixhQUFhLGNBREEsTUFBTTsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUc3QixNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBRWhDLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTdWJtaXRSZXF1ZXN0RmFjdG9yeSxcbiAgc3VibWl0UmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LnRva2VuJztcbmltcG9ydCB7XG4gIFN1Ym1pdFJlc3BvbnNlRmFjdG9yeSxcbiAgc3VibWl0UmVzcG9uc2VGYWN0b3J5VG9rZW4sXG59IGZyb20gJy4vcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLnRva2VuJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4veHBzLWFwaS94cHMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW5jcnlwdENyZWRpdENhcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZW5jcnlwdC1jcmVkaXQtY2FyZC9lbmNyeXB0LWNyZWRpdC1jYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3VibWl0UmVxdWVzdCB9IGZyb20gJy4vcmVxdWVzdC9zdWJtaXQtcmVxdWVzdC5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3VibWl0U2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHN1Ym1pdFJlcXVlc3RGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0RmFjdG9yeTogU3VibWl0UmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChzdWJtaXRSZXNwb25zZUZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogU3VibWl0UmVzcG9uc2VGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VGaW5nZXJQcmludFNlcnZpY2U6IERldmljZUZpbmdlclByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc0FwaVNlcnZpY2U6IFhwc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2U6IEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZVxuICApIHt9XG5cbiAgLy8gTkI6IE5ldmVyIGFkZCAnYXN5bmMnIHN0YXRlbWVudCBmb3IgdGhpcyBtZXRob2QhXG4gIC8vICdBc3luYycgc3RhdGVtZW50IHdyYXBzIGN1cnJlbnQgcHJvbWlzZSBpbnRvIGFub3RoZXIuXG4gIC8vIEluIHRoaXMgd2F5IHR3byBwcm9taXNlcyBiZWNvbWUgdW5lcXVhbCwgdGhhdCBjYW4gYnJva2UgWFBTIEFQSSByZXF1ZXN0cyBsb2dpYy5cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Byb21pc2UtZnVuY3Rpb24tYXN5bmNcbiAgcHVibGljIHJlcXVlc3QoXG4gICAgZmllbGRzOiBGaWVsZFtdLFxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXBcbiAgKTogUHJvbWlzZTxTdWJtaXRSZXNwb25zZT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZVxuICAgICAgICAuZ2V0SGFzaCgpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICAgICAgICAudGhlbigoZGZwSGFzaCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGYWN0b3J5KHtcbiAgICAgICAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIGZvcm0sXG4gICAgICAgICAgICBkZnBIYXNoLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29uc3QgZW5jcnlwdGVkUmVxdWVzdCA9XG4gICAgICAgICAgICB0aGlzLmVuY3J5cHRDcmVkaXRDYXJkU2VydmljZS5lbmNyeXB0Q3JlZGl0Q2FyZDxTdWJtaXRSZXF1ZXN0PihcbiAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLnhwc0FwaVNlcnZpY2VcbiAgICAgICAgICAgIC5kaXJlY3RQYXltZW50UmVxdWVzdChlbmNyeXB0ZWRSZXF1ZXN0KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlOiBYcHNSZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUZhY3RvcnkocmVzcG9uc2UpKVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlc3BvbnNlRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=