@hmcts/ccpay-web-component 5.0.10-beta09 → 5.0.10-beta11

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 (421) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +6358 -8733
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-ccpay-web-component.js +36 -37
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +516 -515
  7. package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +37 -348
  8. package/esm2015/lib/components/card-details/card-details.component.js +3 -46
  9. package/esm2015/lib/components/case-transactions/case-transactions.component.js +128 -697
  10. package/esm2015/lib/components/contact-details/contact-details.component.js +315 -0
  11. package/esm2015/lib/components/error-banner/error-banner.component.js +2 -14
  12. package/esm2015/lib/components/fee-summary/fee-summary.component.js +39 -260
  13. package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +22 -180
  14. package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +26 -224
  15. package/esm2015/lib/components/notification-preview/notification-preview.component.js +60 -0
  16. package/esm2015/lib/components/page-not-found.component.js +2 -6
  17. package/esm2015/lib/components/payment-list/payment-list.component.js +3 -47
  18. package/esm2015/lib/components/payment-view/payment-view.component.js +158 -397
  19. package/esm2015/lib/components/pba-details/pba-details.component.js +3 -15
  20. package/esm2015/lib/components/pba-payment/pba-payment.component.js +12 -119
  21. package/esm2015/lib/components/process-refund/process-refund.component.js +159 -216
  22. package/esm2015/lib/components/processed-payments/processed-payments.component.js +3 -41
  23. package/esm2015/lib/components/refund-list/refund-list.component.js +11 -79
  24. package/esm2015/lib/components/refund-status/refund-status.component.js +181 -287
  25. package/esm2015/lib/components/reports/reports.component.js +20 -211
  26. package/esm2015/lib/components/service-request/service-request.component.js +178 -454
  27. package/esm2015/lib/components/status-history/status-history.component.js +4 -44
  28. package/esm2015/lib/components/table/table.component.js +9 -106
  29. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +12 -184
  30. package/esm2015/lib/interfaces/AddRemissionRequest.js +1 -28
  31. package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +1 -15
  32. package/esm2015/lib/interfaces/AllocatePaymentRequest.js +1 -42
  33. package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +1 -26
  34. package/esm2015/lib/interfaces/IBSPayments.js +2 -45
  35. package/esm2015/lib/interfaces/ICardDetails.js +2 -21
  36. package/esm2015/lib/interfaces/IFee.js +2 -53
  37. package/esm2015/lib/interfaces/INotificationPreview.js +2 -0
  38. package/esm2015/lib/interfaces/IOrderReferenceFee.js +2 -25
  39. package/esm2015/lib/interfaces/IPatchRefundAction.js +2 -15
  40. package/esm2015/lib/interfaces/IPayment.js +2 -65
  41. package/esm2015/lib/interfaces/IPaymentFailure.js +2 -33
  42. package/esm2015/lib/interfaces/IPaymentGroup.js +2 -19
  43. package/esm2015/lib/interfaces/IPaymentStatus.js +1 -25
  44. package/esm2015/lib/interfaces/IPaymentView.js +2 -17
  45. package/esm2015/lib/interfaces/IPayments.js +2 -13
  46. package/esm2015/lib/interfaces/IPutNotificationRequest.js +11 -0
  47. package/esm2015/lib/interfaces/IRefundAction.js +2 -15
  48. package/esm2015/lib/interfaces/IRefundContactDetails.js +2 -0
  49. package/esm2015/lib/interfaces/IRefundFee.js +2 -0
  50. package/esm2015/lib/interfaces/IRefundList.js +2 -29
  51. package/esm2015/lib/interfaces/IRefundReasons.js +2 -19
  52. package/esm2015/lib/interfaces/IRefundRejectReason.js +2 -15
  53. package/esm2015/lib/interfaces/IRefundStatus.js +2 -23
  54. package/esm2015/lib/interfaces/IRefundStatusHistory.js +2 -15
  55. package/esm2015/lib/interfaces/IRefundsNotifications.js +2 -0
  56. package/esm2015/lib/interfaces/IRemission.js +2 -25
  57. package/esm2015/lib/interfaces/IResubmitRefundRequest.js +4 -16
  58. package/esm2015/lib/interfaces/IStatusHistories.js +2 -19
  59. package/esm2015/lib/interfaces/IStatusHistory.js +2 -21
  60. package/esm2015/lib/interfaces/IserviceRequestCardPayment.js +1 -16
  61. package/esm2015/lib/interfaces/IserviceRequestPbaPayment.js +1 -23
  62. package/esm2015/lib/interfaces/IssueRefundRequest.js +1 -18
  63. package/esm2015/lib/interfaces/NotificationPreviewRequest.js +37 -0
  64. package/esm2015/lib/interfaces/PayhubAntennaRequest.js +2 -21
  65. package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +2 -27
  66. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +3 -13
  67. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +6 -16
  68. package/esm2015/lib/interfaces/RefundsRequest.js +1 -15
  69. package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +1 -20
  70. package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +1 -29
  71. package/esm2015/lib/payment-lib.component.js +6 -148
  72. package/esm2015/lib/payment-lib.module.js +6 -6
  73. package/esm2015/lib/payment-lib.service.js +8 -45
  74. package/esm2015/lib/pipes/capitalize.pipe.js +1 -11
  75. package/esm2015/lib/pipes/ccd-hyphens.pipe.js +1 -12
  76. package/esm2015/lib/pipes/key-value.pipe.js +1 -11
  77. package/esm2015/lib/pipes/sanitize-html.pipe.js +1 -20
  78. package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +9 -102
  79. package/esm2015/lib/services/card-details/card-details.service.js +2 -39
  80. package/esm2015/lib/services/case-transactions/case-transactions.service.js +2 -39
  81. package/esm2015/lib/services/notification/notification.service.js +70 -0
  82. package/esm2015/lib/services/orderslist.service.js +2 -251
  83. package/esm2015/lib/services/payment-list/payment-list.service.js +2 -42
  84. package/esm2015/lib/services/payment-view/payment-view.service.js +17 -174
  85. package/esm2015/lib/services/refunds/refunds.service.js +10 -109
  86. package/esm2015/lib/services/shared/error-handler.service.js +4 -21
  87. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +6 -82
  88. package/esm2015/lib/services/shared/logger/console-logger.service.js +3 -27
  89. package/esm2015/lib/services/shared/logger/logger.service.js +3 -35
  90. package/esm2015/lib/services/status-history/status-history.service.js +2 -40
  91. package/esm2015/lib/services/xl-file/xl-file.service.js +2 -61
  92. package/esm2015/public_api.js +4 -8
  93. package/fesm2015/hmcts-ccpay-web-component.js +2153 -3925
  94. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  95. package/hmcts-ccpay-web-component.d.ts +35 -31
  96. package/hmcts-ccpay-web-component.d.ts.map +1 -0
  97. package/hmcts-ccpay-web-component.metadata.json +1 -1
  98. package/lib/components/add-remission/add-remission.component.d.ts +56 -4
  99. package/lib/components/add-remission/add-remission.component.d.ts.map +1 -0
  100. package/lib/components/add-remission/add-remission.component.ngfactory.d.ts.map +1 -0
  101. package/lib/components/add-remission/add-remission.component.scss.shim.ngstyle.d.ts.map +1 -0
  102. package/lib/components/allocate-payments/allocate-payments.component.d.ts +1 -0
  103. package/lib/components/allocate-payments/allocate-payments.component.d.ts.map +1 -0
  104. package/lib/components/allocate-payments/allocate-payments.component.ngfactory.d.ts.map +1 -0
  105. package/lib/components/allocate-payments/allocate-payments.component.scss.shim.ngstyle.d.ts.map +1 -0
  106. package/lib/components/card-details/card-details.component.css.shim.ngstyle.d.ts.map +1 -0
  107. package/lib/components/card-details/card-details.component.d.ts +2 -1
  108. package/lib/components/card-details/card-details.component.d.ts.map +1 -0
  109. package/lib/components/card-details/card-details.component.ngfactory.d.ts.map +1 -0
  110. package/lib/components/case-transactions/case-transactions.component.css.shim.ngstyle.d.ts.map +1 -0
  111. package/lib/components/case-transactions/case-transactions.component.d.ts +4 -2
  112. package/lib/components/case-transactions/case-transactions.component.d.ts.map +1 -0
  113. package/lib/components/case-transactions/case-transactions.component.ngfactory.d.ts.map +1 -0
  114. package/lib/components/contact-details/contact-details.component.css.shim.ngstyle.d.ts.map +1 -0
  115. package/lib/components/contact-details/contact-details.component.d.ts +50 -0
  116. package/lib/components/contact-details/contact-details.component.d.ts.map +1 -0
  117. package/lib/components/contact-details/contact-details.component.ngfactory.d.ts.map +1 -0
  118. package/lib/components/error-banner/error-banner.component.d.ts +1 -0
  119. package/lib/components/error-banner/error-banner.component.d.ts.map +1 -0
  120. package/lib/components/error-banner/error-banner.component.ngfactory.d.ts.map +1 -0
  121. package/lib/components/error-banner/error-banner.component.scss.shim.ngstyle.d.ts.map +1 -0
  122. package/lib/components/fee-summary/fee-summary.component.d.ts +1 -0
  123. package/lib/components/fee-summary/fee-summary.component.d.ts.map +1 -0
  124. package/lib/components/fee-summary/fee-summary.component.ngfactory.d.ts.map +1 -0
  125. package/lib/components/fee-summary/fee-summary.component.scss.shim.ngstyle.d.ts.map +1 -0
  126. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +1 -0
  127. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts.map +1 -0
  128. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.ngfactory.d.ts.map +1 -0
  129. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.scss.shim.ngstyle.d.ts.map +1 -0
  130. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +1 -0
  131. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts.map +1 -0
  132. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.ngfactory.d.ts.map +1 -0
  133. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.scss.shim.ngstyle.d.ts.map +1 -0
  134. package/lib/components/notification-preview/notification-preview.component.d.ts +32 -0
  135. package/lib/components/notification-preview/notification-preview.component.d.ts.map +1 -0
  136. package/lib/components/notification-preview/notification-preview.component.ngfactory.d.ts.map +1 -0
  137. package/lib/components/notification-preview/notification-preview.component.scss.shim.ngstyle.d.ts.map +1 -0
  138. package/lib/components/page-not-found.component.d.ts +1 -0
  139. package/lib/components/page-not-found.component.d.ts.map +1 -0
  140. package/lib/components/page-not-found.component.ngfactory.d.ts.map +1 -0
  141. package/lib/components/payment-list/payment-list.component.css.shim.ngstyle.d.ts.map +1 -0
  142. package/lib/components/payment-list/payment-list.component.d.ts +1 -0
  143. package/lib/components/payment-list/payment-list.component.d.ts.map +1 -0
  144. package/lib/components/payment-list/payment-list.component.ngfactory.d.ts.map +1 -0
  145. package/lib/components/payment-view/payment-view.component.d.ts +34 -9
  146. package/lib/components/payment-view/payment-view.component.d.ts.map +1 -0
  147. package/lib/components/payment-view/payment-view.component.ngfactory.d.ts.map +1 -0
  148. package/lib/components/payment-view/payment-view.component.scss.shim.ngstyle.d.ts.map +1 -0
  149. package/lib/components/pba-details/pba-details.component.css.shim.ngstyle.d.ts.map +1 -0
  150. package/lib/components/pba-details/pba-details.component.d.ts +1 -0
  151. package/lib/components/pba-details/pba-details.component.d.ts.map +1 -0
  152. package/lib/components/pba-details/pba-details.component.ngfactory.d.ts.map +1 -0
  153. package/lib/components/pba-payment/pba-payment.component.d.ts +1 -0
  154. package/lib/components/pba-payment/pba-payment.component.d.ts.map +1 -0
  155. package/lib/components/pba-payment/pba-payment.component.ngfactory.d.ts.map +1 -0
  156. package/lib/components/pba-payment/pba-payment.component.scss.shim.ngstyle.d.ts.map +1 -0
  157. package/lib/components/process-refund/process-refund.component.css.shim.ngstyle.d.ts.map +1 -0
  158. package/lib/components/process-refund/process-refund.component.d.ts +19 -1
  159. package/lib/components/process-refund/process-refund.component.d.ts.map +1 -0
  160. package/lib/components/process-refund/process-refund.component.ngfactory.d.ts.map +1 -0
  161. package/lib/components/processed-payments/processed-payments.component.d.ts +1 -0
  162. package/lib/components/processed-payments/processed-payments.component.d.ts.map +1 -0
  163. package/lib/components/processed-payments/processed-payments.component.ngfactory.d.ts.map +1 -0
  164. package/lib/components/processed-payments/processed-payments.component.scss.shim.ngstyle.d.ts.map +1 -0
  165. package/lib/components/refund-list/refund-list.component.css.shim.ngstyle.d.ts.map +1 -0
  166. package/lib/components/refund-list/refund-list.component.d.ts +1 -0
  167. package/lib/components/refund-list/refund-list.component.d.ts.map +1 -0
  168. package/lib/components/refund-list/refund-list.component.ngfactory.d.ts.map +1 -0
  169. package/lib/components/refund-status/refund-status.component.css.shim.ngstyle.d.ts.map +1 -0
  170. package/lib/components/refund-status/refund-status.component.d.ts +46 -7
  171. package/lib/components/refund-status/refund-status.component.d.ts.map +1 -0
  172. package/lib/components/refund-status/refund-status.component.ngfactory.d.ts.map +1 -0
  173. package/lib/components/reports/reports.component.d.ts +1 -0
  174. package/lib/components/reports/reports.component.d.ts.map +1 -0
  175. package/lib/components/reports/reports.component.ngfactory.d.ts.map +1 -0
  176. package/lib/components/reports/reports.component.scss.shim.ngstyle.d.ts.map +1 -0
  177. package/lib/components/service-request/service-request.component.d.ts +36 -9
  178. package/lib/components/service-request/service-request.component.d.ts.map +1 -0
  179. package/lib/components/service-request/service-request.component.ngfactory.d.ts.map +1 -0
  180. package/lib/components/service-request/service-request.component.scss.shim.ngstyle.d.ts.map +1 -0
  181. package/lib/components/status-history/status-history.component.css.shim.ngstyle.d.ts.map +1 -0
  182. package/lib/components/status-history/status-history.component.d.ts +1 -0
  183. package/lib/components/status-history/status-history.component.d.ts.map +1 -0
  184. package/lib/components/status-history/status-history.component.ngfactory.d.ts.map +1 -0
  185. package/lib/components/table/table.component.css.shim.ngstyle.d.ts.map +1 -0
  186. package/lib/components/table/table.component.d.ts +2 -0
  187. package/lib/components/table/table.component.d.ts.map +1 -0
  188. package/lib/components/table/table.component.ngfactory.d.ts.map +1 -0
  189. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +1 -0
  190. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts.map +1 -0
  191. package/lib/components/unprocessed-payments/unprocessed-payments.component.ngfactory.d.ts.map +1 -0
  192. package/lib/components/unprocessed-payments/unprocessed-payments.component.scss.shim.ngstyle.d.ts.map +1 -0
  193. package/lib/interfaces/AddRemissionRequest.d.ts +1 -0
  194. package/lib/interfaces/AddRemissionRequest.d.ts.map +1 -0
  195. package/lib/interfaces/AddRetroRemissionRequest.d.ts +1 -0
  196. package/lib/interfaces/AddRetroRemissionRequest.d.ts.map +1 -0
  197. package/lib/interfaces/AllocatePaymentRequest.d.ts +1 -0
  198. package/lib/interfaces/AllocatePaymentRequest.d.ts.map +1 -0
  199. package/lib/interfaces/IAllocationPaymentsRequest.d.ts +1 -0
  200. package/lib/interfaces/IAllocationPaymentsRequest.d.ts.map +1 -0
  201. package/lib/interfaces/IBSPayments.d.ts +1 -0
  202. package/lib/interfaces/IBSPayments.d.ts.map +1 -0
  203. package/lib/interfaces/ICardDetails.d.ts +1 -0
  204. package/lib/interfaces/ICardDetails.d.ts.map +1 -0
  205. package/lib/interfaces/IFee.d.ts +7 -0
  206. package/lib/interfaces/IFee.d.ts.map +1 -0
  207. package/lib/interfaces/INotificationPreview.d.ts +28 -0
  208. package/lib/interfaces/INotificationPreview.d.ts.map +1 -0
  209. package/lib/interfaces/IOrderReferenceFee.d.ts +1 -0
  210. package/lib/interfaces/IOrderReferenceFee.d.ts.map +1 -0
  211. package/lib/interfaces/IPatchRefundAction.d.ts +1 -0
  212. package/lib/interfaces/IPatchRefundAction.d.ts.map +1 -0
  213. package/lib/interfaces/IPayment.d.ts +4 -0
  214. package/lib/interfaces/IPayment.d.ts.map +1 -0
  215. package/lib/interfaces/IPaymentFailure.d.ts +1 -0
  216. package/lib/interfaces/IPaymentFailure.d.ts.map +1 -0
  217. package/lib/interfaces/IPaymentGroup.d.ts +1 -0
  218. package/lib/interfaces/IPaymentGroup.d.ts.map +1 -0
  219. package/lib/interfaces/IPaymentStatus.d.ts +1 -0
  220. package/lib/interfaces/IPaymentStatus.d.ts.map +1 -0
  221. package/lib/interfaces/IPaymentView.d.ts +1 -0
  222. package/lib/interfaces/IPaymentView.d.ts.map +1 -0
  223. package/lib/interfaces/IPayments.d.ts +1 -0
  224. package/lib/interfaces/IPayments.d.ts.map +1 -0
  225. package/lib/interfaces/IPutNotificationRequest.d.ts +7 -0
  226. package/lib/interfaces/IPutNotificationRequest.d.ts.map +1 -0
  227. package/lib/interfaces/IRefundAction.d.ts +1 -0
  228. package/lib/interfaces/IRefundAction.d.ts.map +1 -0
  229. package/lib/interfaces/IRefundContactDetails.d.ts +10 -0
  230. package/lib/interfaces/IRefundContactDetails.d.ts.map +1 -0
  231. package/lib/interfaces/IRefundFee.d.ts +8 -0
  232. package/lib/interfaces/IRefundFee.d.ts.map +1 -0
  233. package/lib/interfaces/IRefundList.d.ts +6 -0
  234. package/lib/interfaces/IRefundList.d.ts.map +1 -0
  235. package/lib/interfaces/IRefundReasons.d.ts +1 -0
  236. package/lib/interfaces/IRefundReasons.d.ts.map +1 -0
  237. package/lib/interfaces/IRefundRejectReason.d.ts +1 -0
  238. package/lib/interfaces/IRefundRejectReason.d.ts.map +1 -0
  239. package/lib/interfaces/IRefundStatus.d.ts +1 -0
  240. package/lib/interfaces/IRefundStatus.d.ts.map +1 -0
  241. package/lib/interfaces/IRefundStatusHistory.d.ts +1 -0
  242. package/lib/interfaces/IRefundStatusHistory.d.ts.map +1 -0
  243. package/lib/interfaces/IRefundsNotifications.d.ts +17 -0
  244. package/lib/interfaces/IRefundsNotifications.d.ts.map +1 -0
  245. package/lib/interfaces/IRemission.d.ts +4 -0
  246. package/lib/interfaces/IRemission.d.ts.map +1 -0
  247. package/lib/interfaces/IResubmitRefundRequest.d.ts +6 -1
  248. package/lib/interfaces/IResubmitRefundRequest.d.ts.map +1 -0
  249. package/lib/interfaces/IStatusHistories.d.ts +1 -0
  250. package/lib/interfaces/IStatusHistories.d.ts.map +1 -0
  251. package/lib/interfaces/IStatusHistory.d.ts +1 -0
  252. package/lib/interfaces/IStatusHistory.d.ts.map +1 -0
  253. package/lib/interfaces/IserviceRequestCardPayment.d.ts +1 -0
  254. package/lib/interfaces/IserviceRequestCardPayment.d.ts.map +1 -0
  255. package/lib/interfaces/IserviceRequestPbaPayment.d.ts +1 -0
  256. package/lib/interfaces/IserviceRequestPbaPayment.d.ts.map +1 -0
  257. package/lib/interfaces/IssueRefundRequest.d.ts +1 -0
  258. package/lib/interfaces/IssueRefundRequest.d.ts.map +1 -0
  259. package/lib/interfaces/NotificationPreviewRequest.d.ts +25 -0
  260. package/lib/interfaces/NotificationPreviewRequest.d.ts.map +1 -0
  261. package/lib/interfaces/PayhubAntennaRequest.d.ts +1 -0
  262. package/lib/interfaces/PayhubAntennaRequest.d.ts.map +1 -0
  263. package/lib/interfaces/PaymentToPayhubRequest.d.ts +1 -0
  264. package/lib/interfaces/PaymentToPayhubRequest.d.ts.map +1 -0
  265. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +4 -1
  266. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts.map +1 -0
  267. package/lib/interfaces/PostRefundRetroRemission.d.ts +8 -1
  268. package/lib/interfaces/PostRefundRetroRemission.d.ts.map +1 -0
  269. package/lib/interfaces/RefundsRequest.d.ts +1 -0
  270. package/lib/interfaces/RefundsRequest.d.ts.map +1 -0
  271. package/lib/interfaces/UnidentifiedPaymentsRequest.d.ts +1 -0
  272. package/lib/interfaces/UnidentifiedPaymentsRequest.d.ts.map +1 -0
  273. package/lib/interfaces/UnsolicitedPaymentsRequest.d.ts +1 -0
  274. package/lib/interfaces/UnsolicitedPaymentsRequest.d.ts.map +1 -0
  275. package/lib/payment-lib.component.d.ts +3 -0
  276. package/lib/payment-lib.component.d.ts.map +1 -0
  277. package/lib/payment-lib.component.ngfactory.d.ts.map +1 -0
  278. package/lib/payment-lib.module.d.ts +1 -0
  279. package/lib/payment-lib.module.d.ts.map +1 -0
  280. package/lib/payment-lib.module.ngfactory.d.ts.map +1 -0
  281. package/lib/payment-lib.service.d.ts +4 -0
  282. package/lib/payment-lib.service.d.ts.map +1 -0
  283. package/lib/payment-lib.service.ngfactory.d.ts.map +1 -0
  284. package/lib/pipes/capitalize.pipe.d.ts +1 -0
  285. package/lib/pipes/capitalize.pipe.d.ts.map +1 -0
  286. package/lib/pipes/capitalize.pipe.ngfactory.d.ts.map +1 -0
  287. package/lib/pipes/ccd-hyphens.pipe.d.ts +1 -0
  288. package/lib/pipes/ccd-hyphens.pipe.d.ts.map +1 -0
  289. package/lib/pipes/ccd-hyphens.pipe.ngfactory.d.ts.map +1 -0
  290. package/lib/pipes/key-value.pipe.d.ts +1 -0
  291. package/lib/pipes/key-value.pipe.d.ts.map +1 -0
  292. package/lib/pipes/key-value.pipe.ngfactory.d.ts.map +1 -0
  293. package/lib/pipes/sanitize-html.pipe.d.ts +1 -0
  294. package/lib/pipes/sanitize-html.pipe.d.ts.map +1 -0
  295. package/lib/pipes/sanitize-html.pipe.ngfactory.d.ts.map +1 -0
  296. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +1 -0
  297. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts.map +1 -0
  298. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.ngfactory.d.ts.map +1 -0
  299. package/lib/services/card-details/card-details.service.d.ts +1 -0
  300. package/lib/services/card-details/card-details.service.d.ts.map +1 -0
  301. package/lib/services/card-details/card-details.service.ngfactory.d.ts.map +1 -0
  302. package/lib/services/case-transactions/case-transactions.service.d.ts +1 -0
  303. package/lib/services/case-transactions/case-transactions.service.d.ts.map +1 -0
  304. package/lib/services/case-transactions/case-transactions.service.ngfactory.d.ts.map +1 -0
  305. package/lib/services/notification/notification.service.d.ts +19 -0
  306. package/lib/services/notification/notification.service.d.ts.map +1 -0
  307. package/lib/services/notification/notification.service.ngfactory.d.ts.map +1 -0
  308. package/lib/services/orderslist.service.d.ts +1 -0
  309. package/lib/services/orderslist.service.d.ts.map +1 -0
  310. package/lib/services/orderslist.service.ngfactory.d.ts.map +1 -0
  311. package/lib/services/payment-list/payment-list.service.d.ts +1 -0
  312. package/lib/services/payment-list/payment-list.service.d.ts.map +1 -0
  313. package/lib/services/payment-list/payment-list.service.ngfactory.d.ts.map +1 -0
  314. package/lib/services/payment-view/payment-view.service.d.ts +2 -1
  315. package/lib/services/payment-view/payment-view.service.d.ts.map +1 -0
  316. package/lib/services/payment-view/payment-view.service.ngfactory.d.ts.map +1 -0
  317. package/lib/services/refunds/refunds.service.d.ts +3 -0
  318. package/lib/services/refunds/refunds.service.d.ts.map +1 -0
  319. package/lib/services/refunds/refunds.service.ngfactory.d.ts.map +1 -0
  320. package/lib/services/shared/error-handler.service.d.ts +2 -1
  321. package/lib/services/shared/error-handler.service.d.ts.map +1 -0
  322. package/lib/services/shared/error-handler.service.ngfactory.d.ts.map +1 -0
  323. package/lib/services/shared/httpclient/webcomponent.http.client.d.ts +1 -0
  324. package/lib/services/shared/httpclient/webcomponent.http.client.d.ts.map +1 -0
  325. package/lib/services/shared/httpclient/webcomponent.http.client.ngfactory.d.ts.map +1 -0
  326. package/lib/services/shared/logger/console-logger.service.d.ts +4 -3
  327. package/lib/services/shared/logger/console-logger.service.d.ts.map +1 -0
  328. package/lib/services/shared/logger/console-logger.service.ngfactory.d.ts.map +1 -0
  329. package/lib/services/shared/logger/logger.service.d.ts +1 -0
  330. package/lib/services/shared/logger/logger.service.d.ts.map +1 -0
  331. package/lib/services/shared/logger/logger.service.ngfactory.d.ts.map +1 -0
  332. package/lib/services/status-history/status-history.service.d.ts +1 -0
  333. package/lib/services/status-history/status-history.service.d.ts.map +1 -0
  334. package/lib/services/status-history/status-history.service.ngfactory.d.ts.map +1 -0
  335. package/lib/services/xl-file/xl-file.service.d.ts +1 -0
  336. package/lib/services/xl-file/xl-file.service.d.ts.map +1 -0
  337. package/lib/services/xl-file/xl-file.service.ngfactory.d.ts.map +1 -0
  338. package/package.json +6 -8
  339. package/public_api.d.ts +1 -0
  340. package/public_api.d.ts.map +1 -0
  341. package/esm5/hmcts-ccpay-web-component.js +0 -48
  342. package/esm5/lib/components/add-remission/add-remission.component.js +0 -1146
  343. package/esm5/lib/components/allocate-payments/allocate-payments.component.js +0 -745
  344. package/esm5/lib/components/card-details/card-details.component.js +0 -77
  345. package/esm5/lib/components/case-transactions/case-transactions.component.js +0 -1448
  346. package/esm5/lib/components/error-banner/error-banner.component.js +0 -36
  347. package/esm5/lib/components/fee-summary/fee-summary.component.js +0 -504
  348. package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +0 -371
  349. package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +0 -474
  350. package/esm5/lib/components/page-not-found.component.js +0 -17
  351. package/esm5/lib/components/payment-list/payment-list.component.js +0 -83
  352. package/esm5/lib/components/payment-view/payment-view.component.js +0 -673
  353. package/esm5/lib/components/pba-details/pba-details.component.js +0 -36
  354. package/esm5/lib/components/pba-payment/pba-payment.component.js +0 -269
  355. package/esm5/lib/components/process-refund/process-refund.component.js +0 -536
  356. package/esm5/lib/components/processed-payments/processed-payments.component.js +0 -83
  357. package/esm5/lib/components/refund-list/refund-list.component.js +0 -130
  358. package/esm5/lib/components/refund-status/refund-status.component.js +0 -554
  359. package/esm5/lib/components/reports/reports.component.js +0 -515
  360. package/esm5/lib/components/service-request/service-request.component.js +0 -690
  361. package/esm5/lib/components/status-history/status-history.component.js +0 -70
  362. package/esm5/lib/components/table/table.component.js +0 -229
  363. package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +0 -418
  364. package/esm5/lib/interfaces/AddRemissionRequest.js +0 -32
  365. package/esm5/lib/interfaces/AddRetroRemissionRequest.js +0 -19
  366. package/esm5/lib/interfaces/AllocatePaymentRequest.js +0 -63
  367. package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +0 -34
  368. package/esm5/lib/interfaces/IBSPayments.js +0 -45
  369. package/esm5/lib/interfaces/ICardDetails.js +0 -21
  370. package/esm5/lib/interfaces/IFee.js +0 -53
  371. package/esm5/lib/interfaces/IOrderReferenceFee.js +0 -25
  372. package/esm5/lib/interfaces/IPatchRefundAction.js +0 -15
  373. package/esm5/lib/interfaces/IPayment.js +0 -65
  374. package/esm5/lib/interfaces/IPaymentFailure.js +0 -33
  375. package/esm5/lib/interfaces/IPaymentGroup.js +0 -19
  376. package/esm5/lib/interfaces/IPaymentStatus.js +0 -31
  377. package/esm5/lib/interfaces/IPaymentView.js +0 -17
  378. package/esm5/lib/interfaces/IPayments.js +0 -13
  379. package/esm5/lib/interfaces/IRefundAction.js +0 -15
  380. package/esm5/lib/interfaces/IRefundList.js +0 -29
  381. package/esm5/lib/interfaces/IRefundReasons.js +0 -19
  382. package/esm5/lib/interfaces/IRefundRejectReason.js +0 -15
  383. package/esm5/lib/interfaces/IRefundStatus.js +0 -23
  384. package/esm5/lib/interfaces/IRefundStatusHistory.js +0 -15
  385. package/esm5/lib/interfaces/IRemission.js +0 -25
  386. package/esm5/lib/interfaces/IResubmitRefundRequest.js +0 -19
  387. package/esm5/lib/interfaces/IStatusHistories.js +0 -19
  388. package/esm5/lib/interfaces/IStatusHistory.js +0 -21
  389. package/esm5/lib/interfaces/IserviceRequestCardPayment.js +0 -22
  390. package/esm5/lib/interfaces/IserviceRequestPbaPayment.js +0 -28
  391. package/esm5/lib/interfaces/IssueRefundRequest.js +0 -22
  392. package/esm5/lib/interfaces/PayhubAntennaRequest.js +0 -25
  393. package/esm5/lib/interfaces/PaymentToPayhubRequest.js +0 -34
  394. package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +0 -16
  395. package/esm5/lib/interfaces/PostRefundRetroRemission.js +0 -19
  396. package/esm5/lib/interfaces/RefundsRequest.js +0 -19
  397. package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +0 -28
  398. package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +0 -37
  399. package/esm5/lib/payment-lib.component.js +0 -237
  400. package/esm5/lib/payment-lib.module.js +0 -103
  401. package/esm5/lib/payment-lib.service.js +0 -111
  402. package/esm5/lib/pipes/capitalize.pipe.js +0 -32
  403. package/esm5/lib/pipes/ccd-hyphens.pipe.js +0 -37
  404. package/esm5/lib/pipes/key-value.pipe.js +0 -37
  405. package/esm5/lib/pipes/sanitize-html.pipe.js +0 -39
  406. package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +0 -218
  407. package/esm5/lib/services/card-details/card-details.service.js +0 -76
  408. package/esm5/lib/services/case-transactions/case-transactions.service.js +0 -76
  409. package/esm5/lib/services/orderslist.service.js +0 -531
  410. package/esm5/lib/services/payment-list/payment-list.service.js +0 -80
  411. package/esm5/lib/services/payment-view/payment-view.service.js +0 -416
  412. package/esm5/lib/services/refunds/refunds.service.js +0 -256
  413. package/esm5/lib/services/shared/error-handler.service.js +0 -127
  414. package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +0 -167
  415. package/esm5/lib/services/shared/logger/console-logger.service.js +0 -88
  416. package/esm5/lib/services/shared/logger/logger.service.js +0 -68
  417. package/esm5/lib/services/status-history/status-history.service.js +0 -80
  418. package/esm5/lib/services/xl-file/xl-file.service.js +0 -254
  419. package/esm5/public_api.js +0 -11
  420. package/fesm5/hmcts-ccpay-web-component.js +0 -10021
  421. package/fesm5/hmcts-ccpay-web-component.js.map +0 -1
@@ -1,7 +1,3 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  import { Injectable } from '@angular/core';
6
2
  import { HttpClient } from '@angular/common/http';
7
3
  import { PaymentLibService } from '../../payment-lib.service';
@@ -17,39 +13,31 @@ import * as i3 from "../shared/logger/logger.service";
17
13
  import * as i4 from "../shared/error-handler.service";
18
14
  import * as i5 from "../../payment-lib.service";
19
15
  export class PaymentViewService {
20
- /**
21
- * @param {?} http
22
- * @param {?} https
23
- * @param {?} logger
24
- * @param {?} errorHandlerService
25
- * @param {?} paymentLibService
26
- */
27
16
  constructor(http, https, logger, errorHandlerService, paymentLibService) {
28
17
  this.http = http;
29
18
  this.https = https;
30
19
  this.logger = logger;
31
20
  this.errorHandlerService = errorHandlerService;
32
21
  this.paymentLibService = paymentLibService;
33
- this.ordersList = (/** @type {?} */ (new BehaviorSubject([])));
22
+ this.ordersList = new BehaviorSubject([]);
34
23
  }
35
- /**
36
- * @param {?} paymentReference
37
- * @param {?} paymentMethod
38
- * @return {?}
39
- */
40
24
  getPaymentDetails(paymentReference, paymentMethod) {
41
25
  this.logger.info('Payment-view-service getPaymentDetails for: ', paymentReference);
42
- return this.http.get(paymentMethod === 'card' || paymentMethod === 'cash' || paymentMethod === 'cheque' || paymentMethod === 'postal order' ?
43
- `${this.paymentLibService.API_ROOT}/card-payments/${paymentReference}` :
44
- `${this.paymentLibService.API_ROOT}/credit-account-payments/${paymentReference}`, {
45
- withCredentials: true
46
- })
47
- .pipe(catchError(this.errorHandlerService.handleError));
26
+ if (paymentMethod == undefined || paymentMethod == null) {
27
+ return this.http.get(`${this.paymentLibService.API_ROOT}/payments/${paymentReference}`, {
28
+ withCredentials: true
29
+ })
30
+ .pipe(catchError(this.errorHandlerService.handleError));
31
+ }
32
+ else {
33
+ return this.http.get(paymentMethod === 'card' || paymentMethod === 'cash' || paymentMethod === 'cheque' || paymentMethod === 'postal order' ?
34
+ `${this.paymentLibService.API_ROOT}/card-payments/${paymentReference}` :
35
+ `${this.paymentLibService.API_ROOT}/credit-account-payments/${paymentReference}`, {
36
+ withCredentials: true
37
+ })
38
+ .pipe(catchError(this.errorHandlerService.handleError));
39
+ }
48
40
  }
49
- /**
50
- * @param {?} paymentGroupReference
51
- * @return {?}
52
- */
53
41
  getPaymentGroupDetails(paymentGroupReference) {
54
42
  this.logger.info('Payment-view-service getPaymentGroupDetails for: ', paymentGroupReference);
55
43
  return this.http.get(`${this.paymentLibService.API_ROOT}/payment-groups/${paymentGroupReference}`, {
@@ -57,10 +45,6 @@ export class PaymentViewService {
57
45
  })
58
46
  .pipe(catchError(this.errorHandlerService.handleError));
59
47
  }
60
- /**
61
- * @param {?} paymentReference
62
- * @return {?}
63
- */
64
48
  getApportionPaymentDetails(paymentReference) {
65
49
  this.logger.info('Payment-view-service getPaymentGroupDetails for: ', paymentReference);
66
50
  return this.http.get(`${this.paymentLibService.API_ROOT}/payment-groups/fee-pay-apportion/${paymentReference}`, {
@@ -68,197 +52,94 @@ export class PaymentViewService {
68
52
  })
69
53
  .pipe(catchError(this.errorHandlerService.handleError));
70
54
  }
71
- /**
72
- * @return {?}
73
- */
74
55
  getPBAaccountDetails() {
75
- /** @type {?} */
76
56
  const url = `${this.paymentLibService.API_ROOT}/pba-accounts`;
77
57
  return this.http.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
78
58
  }
79
- /**
80
- * @param {?} serviceRef
81
- * @param {?} body
82
- * @return {?}
83
- */
84
59
  postWays2PayCardPayment(serviceRef, body) {
85
- /** @type {?} */
86
60
  const url = `${this.paymentLibService.API_ROOT}/service-request/${serviceRef}/card-payments`;
87
- /** @type {?} */
88
61
  const rurl = this.paymentLibService.CARDPAYMENTRETURNURL.replace('.prod', '');
89
62
  body['return-url'] = `${rurl}/payment`;
90
63
  return this.https.post(url, body).pipe(catchError(this.errorHandlerService.handleError));
91
64
  }
92
- /**
93
- * @param {?} serviceRef
94
- * @param {?} body
95
- * @return {?}
96
- */
97
65
  postPBAaccountPayment(serviceRef, body) {
98
- /** @type {?} */
99
66
  let randomKey = 'idam-key-' + Math.random().toString().split('.').join('-');
100
67
  body['idempotency_key'] = randomKey;
101
- /** @type {?} */
102
68
  const url = `${this.paymentLibService.API_ROOT}/service-request/${serviceRef}/pba-payments`;
103
69
  return this.https.post(url, body);
104
70
  }
105
- /**
106
- * @param {?} body
107
- * @return {?}
108
- */
109
71
  postBSPayments(body) {
110
72
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-groups/bulk-scan-payments`, body).pipe(catchError(this.errorHandlerService.handleError));
111
73
  }
112
- /**
113
- * @param {?} body
114
- * @return {?}
115
- */
116
74
  postBSUnidentifiedPayments(body) {
117
75
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-allocations`, body).pipe(catchError(this.errorHandlerService.handleError));
118
76
  }
119
- /**
120
- * @param {?} body
121
- * @return {?}
122
- */
123
77
  postBSUnsolicitedPayments(body) {
124
78
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-allocations`, body).pipe(catchError(this.errorHandlerService.handleError));
125
79
  }
126
- /**
127
- * @param {?} body
128
- * @return {?}
129
- */
130
80
  postBSAllocationPayments(body) {
131
81
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-allocations`, body).pipe(catchError(this.errorHandlerService.handleError));
132
82
  }
133
- /**
134
- * @param {?} paymentGroupReference
135
- * @param {?} feeId
136
- * @param {?} body
137
- * @return {?}
138
- */
139
83
  postPaymentGroupWithRemissions(paymentGroupReference, feeId, body) {
140
84
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-groups/${paymentGroupReference}/fees/${feeId}/remissions`, body).pipe(catchError(this.errorHandlerService.handleError));
141
85
  }
142
- /**
143
- * @param {?} feeId
144
- * @return {?}
145
- */
146
86
  deleteFeeFromPaymentGroup(feeId) {
147
87
  this.logger.info('Payment-view-service deleteFeeFromPaymentGroup for: ', feeId);
148
88
  return this.https.delete(`${this.paymentLibService.API_ROOT}/fees/${feeId}`).pipe(catchError(this.errorHandlerService.handleError));
149
89
  }
150
- /**
151
- * @param {?} body
152
- * @param {?} paymentGroupRef
153
- * @return {?}
154
- */
155
90
  postPaymentToPayHub(body, paymentGroupRef) {
156
91
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-groups/${paymentGroupRef}/card-payments`, body).pipe(catchError(this.errorHandlerService.handleError));
157
92
  }
158
- /**
159
- * @param {?} body
160
- * @param {?} paymentGroupRef
161
- * @return {?}
162
- */
163
93
  postPaymentAntennaToPayHub(body, paymentGroupRef) {
164
94
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-groups/${paymentGroupRef}/telephony-card-payments`, body).pipe(catchError(this.errorHandlerService.handleError));
165
95
  }
166
- /**
167
- * @param {?} reportName
168
- * @param {?} startDate
169
- * @param {?} endDate
170
- * @return {?}
171
- */
172
96
  downloadSelectedReport(reportName, startDate, endDate) {
173
- /** @type {?} */
174
97
  const url = `${this.paymentLibService.API_ROOT}/report/data?date_from=${startDate}&date_to=${endDate}&report_type=${reportName}`;
175
98
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
176
99
  }
177
- /**
178
- * @param {?} startDate
179
- * @param {?} endDate
180
- * @return {?}
181
- */
182
100
  downloadFailureReport(startDate, endDate) {
183
- /** @type {?} */
184
101
  const url = `${this.paymentLibService.API_ROOT}/payment-failures/failure-report?date_from=${startDate}&date_to=${endDate}`;
185
102
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
186
103
  }
187
- /**
188
- * @return {?}
189
- */
190
104
  getBSfeature() {
191
105
  return this.https.get('api/payment-history/bulk-scan-feature', { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
192
106
  }
193
- /**
194
- * @return {?}
195
- */
196
107
  getSiteID() {
197
108
  return this.https.get('api/payment-history/refdata/legacy-sites', { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
198
109
  }
199
- /**
200
- * @param {?} caseNumber
201
- * @return {?}
202
- */
203
110
  getPartyDetails(caseNumber) {
204
- /** @type {?} */
205
111
  const url = `${this.paymentLibService.API_ROOT}/case-payment-orders?case_ids=${caseNumber}`;
206
112
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
207
113
  }
208
- /**
209
- * @param {?} orderLevelFees
210
- * @return {?}
211
- */
212
114
  setOrdersList(orderLevelFees) {
213
115
  this.ordersList.next(Object.assign([], orderLevelFees));
214
116
  }
215
- /**
216
- * @return {?}
217
- */
218
117
  getOrdersList() {
219
118
  return this.ordersList;
220
119
  }
221
120
  //issue refund
222
- /**
223
- * @param {?} body
224
- * @return {?}
225
- */
226
121
  postRefundsReason(body) {
227
122
  return this.https.post(`${this.paymentLibService.API_ROOT}/refund-for-payment`, body).pipe(catchError(this.errorHandlerService.handleError));
228
123
  }
229
124
  // retro remissions
230
- /**
231
- * @param {?} paymentGroupReference
232
- * @param {?} feeId
233
- * @param {?} body
234
- * @return {?}
235
- */
236
125
  postPaymentGroupWithRetroRemissions(paymentGroupReference, feeId, body) {
237
126
  return this.https.post(`${this.paymentLibService.API_ROOT}/payment-groups/${paymentGroupReference}/fees/${feeId}/retro-remission`, body).pipe(catchError(this.errorHandlerService.handleError));
238
127
  }
239
- /**
240
- * @param {?} body
241
- * @return {?}
242
- */
243
128
  postRefundRetroRemission(body) {
244
129
  return this.https.post(`${this.paymentLibService.API_ROOT}/refund-retro-remission`, body).pipe(catchError(this.errorHandlerService.handleError));
245
130
  }
246
- /**
247
- * @param {?} paymentReference
248
- * @return {?}
249
- */
250
131
  getPaymentFailure(paymentReference) {
251
132
  return this.https.get(`${this.paymentLibService.API_ROOT}/payment-failures/${paymentReference}`, {
252
133
  withCredentials: true
253
134
  }).pipe(catchError(this.errorHandlerService.handleError));
254
135
  }
255
136
  }
137
+ PaymentViewService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PaymentViewService_Factory() { return new PaymentViewService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.WebComponentHttpClient), i0.ɵɵinject(i3.LoggerService), i0.ɵɵinject(i4.ErrorHandlerService), i0.ɵɵinject(i5.PaymentLibService)); }, token: PaymentViewService, providedIn: "root" });
256
138
  PaymentViewService.decorators = [
257
139
  { type: Injectable, args: [{
258
140
  providedIn: 'root'
259
141
  },] }
260
142
  ];
261
- /** @nocollapse */
262
143
  PaymentViewService.ctorParameters = () => [
263
144
  { type: HttpClient },
264
145
  { type: WebComponentHttpClient },
@@ -266,42 +147,4 @@ PaymentViewService.ctorParameters = () => [
266
147
  { type: ErrorHandlerService },
267
148
  { type: PaymentLibService }
268
149
  ];
269
- /** @nocollapse */ PaymentViewService.ngInjectableDef = i0.defineInjectable({ factory: function PaymentViewService_Factory() { return new PaymentViewService(i0.inject(i1.HttpClient), i0.inject(i2.WebComponentHttpClient), i0.inject(i3.LoggerService), i0.inject(i4.ErrorHandlerService), i0.inject(i5.PaymentLibService)); }, token: PaymentViewService, providedIn: "root" });
270
- if (false) {
271
- /**
272
- * @type {?}
273
- * @private
274
- */
275
- PaymentViewService.prototype.ordersList;
276
- /**
277
- * @type {?}
278
- * @private
279
- */
280
- PaymentViewService.prototype.meta;
281
- /**
282
- * @type {?}
283
- * @private
284
- */
285
- PaymentViewService.prototype.http;
286
- /**
287
- * @type {?}
288
- * @private
289
- */
290
- PaymentViewService.prototype.https;
291
- /**
292
- * @type {?}
293
- * @private
294
- */
295
- PaymentViewService.prototype.logger;
296
- /**
297
- * @type {?}
298
- * @private
299
- */
300
- PaymentViewService.prototype.errorHandlerService;
301
- /**
302
- * @type {?}
303
- * @private
304
- */
305
- PaymentViewService.prototype.paymentLibService;
306
- }
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBSS9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVl2QyxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7OztJQUs3QixZQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUFJLG1CQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBQSxDQUFDO0lBUXpCLENBQUM7Ozs7OztJQUU3RCxpQkFBaUIsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQjtRQUMvRCxJQUFJLENB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QXFCLFNBQVMsS0FBSyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzNJLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDOzs7OztJQUVELHdCQUF3QixDQUFDLElBQWtDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzVGLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDOzs7OztJQUNGLGlCQUFpQixDQUFDLGdCQUF3QjtRQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEscUJBQXFCLGdCQUFnQixFQUFFLEVBQUU7WUFDL0YsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDLElBQUksQ0FDTCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQzs7O1lBcktGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQTlCUSxVQUFVO1lBS1Ysc0JBQXNCO1lBR3RCLGFBQWE7WUFGYixtQkFBbUI7WUFGcEIsaUJBQWlCOzs7Ozs7OztJQTRCdkIsd0NBQXFGOzs7OztJQUVyRixrQ0FBbUI7Ozs7O0lBRVAsa0NBQXdCOzs7OztJQUN4QixtQ0FBcUM7Ozs7O0lBQ3JDLG9DQUE2Qjs7Ozs7SUFDN0IsaURBQWdEOzs7OztJQUNoRCwrQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQge0lQYXltZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQ29tcG9uZW50SHR0cENsaWVudCB9IGZyb20gJy4uL3NoYXJlZC9odHRwY2xpZW50L3dlYmNvbXBvbmVudC5odHRwLmNsaWVudCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQWRkUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFBheWh1YkFudGVubmFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXlodWJBbnRlbm5hUmVxdWVzdCc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHtJT3JkZXJSZWZlcmVuY2VGZWV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSU9yZGVyUmVmZXJlbmNlRmVlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQnO1xuaW1wb3J0IHsgUmVmdW5kc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlZnVuZHNSZXF1ZXN0JztcbmltcG9ydCB7IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBlcnJvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy91dGlsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0ICA9IDxCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+Pm5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gIHByaXZhdGUgbWV0YTogTWV0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cHM6IFdlYkNvbXBvbmVudEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuICBnZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRNZXRob2Q6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnQ+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50RGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KHBheW1lbnRNZXRob2QgPT09ICdjYXJkJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2FzaCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2NoZXF1ZScgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ3Bvc3RhbCBvcmRlcicgP1xuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NhcmQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAgOlxuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NyZWRpdC1hY2NvdW50LXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBnZXRQYXltZW50R3JvdXBEZXRhaWxzKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRHcm91cFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbiAgZ2V0QXBwb3J0aW9uUGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2ZlZS1wYXktYXBwb3J0aW9uLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuICBnZXRQQkFhY2NvdW50RGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BiYS1hY2NvdW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0V2F5czJQYXlDYXJkUGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9jYXJkLXBheW1lbnRzYDtcbiAgICBjb25zdCBydXJsID0gdGhpcy5wYXltZW50TGliU2VydmljZS5DQVJEUEFZTUVOVFJFVFVSTlVSTC5yZXBsYWNlKCcucHJvZCcsICcnKTtcbiAgICBib2R5WydyZXR1cm4tdXJsJ10gPSBgJHtydXJsfS9wYXltZW50YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCByYW5kb21LZXkgPSAnaWRhbS1rZXktJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zcGxpdCgnLicpLmpvaW4oJy0nKTtcbiAgICBib2R5WydpZGVtcG90ZW5jeV9rZXknXSA9IHJhbmRvbUtleTsgXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vc2VydmljZS1yZXF1ZXN0LyR7c2VydmljZVJlZn0vcGJhLXBheW1lbnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSk7XG4gIH1cblxuICBwb3N0QlNQYXltZW50cyhib2R5OiBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2J1bGstc2Nhbi1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1VuaWRlbnRpZmllZFBheW1lbnRzKGJvZHk6IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5zb2xpY2l0ZWRQYXltZW50cyhib2R5OiBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTQWxsb2NhdGlvblBheW1lbnRzKGJvZHk6IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50R3JvdXBXaXRoUmVtaXNzaW9ucyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZywgZmVlSWQ6IG51bWJlciwgYm9keTogQWRkUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZW1pc3Npb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwKGZlZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwIGZvcjogJywgZmVlSWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmRlbGV0ZShgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9mZWVzLyR7ZmVlSWR9YCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdFBheW1lbnRUb1BheUh1Yihib2R5OiBQYXltZW50VG9QYXlodWJSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRBbnRlbm5hVG9QYXlIdWIoYm9keTogUGF5aHViQW50ZW5uYVJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS90ZWxlcGhvbnktY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIGRvd25sb2FkU2VsZWN0ZWRSZXBvcnQocmVwb3J0TmFtZTogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlcG9ydC9kYXRhP2RhdGVfZnJvbT0ke3N0YXJ0RGF0ZX0mZGF0ZV90bz0ke2VuZERhdGV9JnJlcG9ydF90eXBlPSR7cmVwb3J0TmFtZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZG93bmxvYWRGYWlsdXJlUmVwb3J0KHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1mYWlsdXJlcy9mYWlsdXJlLXJlcG9ydD9kYXRlX2Zyb209JHtzdGFydERhdGV9JmRhdGVfdG89JHtlbmREYXRlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRCU2ZlYXR1cmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvYnVsay1zY2FuLWZlYXR1cmUnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFNpdGVJRCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9yZWZkYXRhL2xlZ2FjeS1zaXRlcycsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0UGFydHlEZXRhaWxzKGNhc2VOdW1iZXI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZS1wYXltZW50LW9yZGVycz9jYXNlX2lkcz0ke2Nhc2VOdW1iZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIFxuICBzZXRPcmRlcnNMaXN0KG9yZGVyTGV2ZWxGZWVzOiBJT3JkZXJSZWZlcmVuY2VGZWVbXSk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJzTGlzdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIG9yZGVyTGV2ZWxGZWVzKSk7XG59XG4gIGdldE9yZGVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJzTGlzdDtcbiAgfVxuXG4gIC8vaXNzdWUgcmVmdW5kXG4gIHBvc3RSZWZ1bmRzUmVhc29uKGJvZHk6IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtZm9yLXBheW1lbnRgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIC8vIHJldHJvIHJlbWlzc2lvbnNcbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZXRyb1JlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbihib2R5OlBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiBnZXRQYXltZW50RmFpbHVyZShwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWZhaWx1cmVzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxufVxuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUkvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBV2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFZdkMsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixZQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUEyQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVF6QixDQUFDO0lBRTdELGlCQUFpQixDQUFDLGdCQUF3QixFQUFFLGFBQXNCO1FBR2hFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7SVBheW1lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHtQYXltZW50TGliU2VydmljZX0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJDb21wb25lbnRIdHRwQ2xpZW50IH0gZnJvbSAnLi4vc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50JztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0lQYXltZW50R3JvdXB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnRHcm91cCc7XG5pbXBvcnQgeyBBZGRSZW1pc3Npb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BZGRSZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBheW1lbnRUb1BheWh1YlJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheW1lbnRUb1BheWh1YlJlcXVlc3QnO1xuaW1wb3J0IHsgUGF5aHViQW50ZW5uYVJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheWh1YkFudGVubmFSZXF1ZXN0JztcbmltcG9ydCB7IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0JztcbmltcG9ydCB7IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9VbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBNZXRhIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0JztcbmltcG9ydCB7IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQge0lPcmRlclJlZmVyZW5jZUZlZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JT3JkZXJSZWZlcmVuY2VGZWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RQYmFQYXltZW50JztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCc7XG5pbXBvcnQgeyBSZWZ1bmRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUmVmdW5kc1JlcXVlc3QnO1xuaW1wb3J0IHsgQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QnO1xuaW1wb3J0IHsgUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24nO1xuaW1wb3J0IHsgUG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Bvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IGVycm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3V0aWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50Vmlld1NlcnZpY2Uge1xuICBwcml2YXRlIG9yZGVyc0xpc3QgID0gPEJlaGF2aW9yU3ViamVjdDxJT3JkZXJSZWZlcmVuY2VGZWVbXT4+bmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG5cbiAgcHJpdmF0ZSBtZXRhOiBNZXRhO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBodHRwczogV2ViQ29tcG9uZW50SHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyU2VydmljZTogRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwYXltZW50TGliU2VydmljZTogUGF5bWVudExpYlNlcnZpY2UpIHsgfVxuXG4gIGdldFBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZD86IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnQ+IHtcblxuXG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIGlmKHBheW1lbnRNZXRob2QgPT0gdW5kZWZpbmVkIHx8IHBheW1lbnRNZXRob2QgPT0gbnVsbCl7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgICB9ZWxzZXtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihwYXltZW50TWV0aG9kID09PSAnY2FyZCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2Nhc2gnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjaGVxdWUnIHx8IHBheW1lbnRNZXRob2QgPT09ICdwb3N0YWwgb3JkZXInID9cbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXJkLXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gIDpcbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jcmVkaXQtYWNjb3VudC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuXG4gICAgfVxuICB9XG5cbiAgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50R3JvdXBSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG4gIGdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9mZWUtcGF5LWFwcG9ydGlvbi8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbiAgZ2V0UEJBYWNjb3VudERldGFpbHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYmEtYWNjb3VudHNgO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgcG9zdFdheXMyUGF5Q2FyZFBheW1lbnQoc2VydmljZVJlZjogc3RyaW5nLCBib2R5OiBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vc2VydmljZS1yZXF1ZXN0LyR7c2VydmljZVJlZn0vY2FyZC1wYXltZW50c2A7XG4gICAgY29uc3QgcnVybCA9IHRoaXMucGF5bWVudExpYlNlcnZpY2UuQ0FSRFBBWU1FTlRSRVRVUk5VUkwucmVwbGFjZSgnLnByb2QnLCAnJyk7XG4gICAgYm9keVsncmV0dXJuLXVybCddID0gYCR7cnVybH0vcGF5bWVudGA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIFxuICBwb3N0UEJBYWNjb3VudFBheW1lbnQoc2VydmljZVJlZjogc3RyaW5nLCBib2R5OiBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgcmFuZG9tS2V5ID0gJ2lkYW0ta2V5LScgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCkuc3BsaXQoJy4nKS5qb2luKCctJyk7XG4gICAgYm9keVsnaWRlbXBvdGVuY3lfa2V5J10gPSByYW5kb21LZXk7IFxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L3BiYS1wYXltZW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpO1xuICB9XG5cbiAgcG9zdEJTUGF5bWVudHMoYm9keTogQWxsb2NhdGVQYXltZW50UmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9idWxrLXNjYW4tcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbmlkZW50aWZpZWRQYXltZW50cyhib2R5OiBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1Vuc29saWNpdGVkUGF5bWVudHMoYm9keTogVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU0FsbG9jYXRpb25QYXltZW50cyhib2R5OiBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEdyb3VwV2l0aFJlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJlbWlzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9L2ZlZXMvJHtmZWVJZH0vcmVtaXNzaW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cChmZWVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cCBmb3I6ICcsIGZlZUlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5kZWxldGUoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vZmVlcy8ke2ZlZUlkfWApLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RQYXltZW50VG9QYXlIdWIoYm9keTogUGF5bWVudFRvUGF5aHViUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L2NhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50QW50ZW5uYVRvUGF5SHViKGJvZHk6IFBheWh1YkFudGVubmFSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vdGVsZXBob255LWNhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBkb3dubG9hZFNlbGVjdGVkUmVwb3J0KHJlcG9ydE5hbWU6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZXBvcnQvZGF0YT9kYXRlX2Zyb209JHtzdGFydERhdGV9JmRhdGVfdG89JHtlbmREYXRlfSZyZXBvcnRfdHlwZT0ke3JlcG9ydE5hbWV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGRvd25sb2FkRmFpbHVyZVJlcG9ydChzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZmFpbHVyZXMvZmFpbHVyZS1yZXBvcnQ/ZGF0ZV9mcm9tPSR7c3RhcnREYXRlfSZkYXRlX3RvPSR7ZW5kRGF0ZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0QlNmZWF0dXJlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KCdhcGkvcGF5bWVudC1oaXN0b3J5L2J1bGstc2Nhbi1mZWF0dXJlJywgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRTaXRlSUQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvcmVmZGF0YS9sZWdhY3ktc2l0ZXMnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFBhcnR5RGV0YWlscyhjYXNlTnVtYmVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2Nhc2UtcGF5bWVudC1vcmRlcnM/Y2FzZV9pZHM9JHtjYXNlTnVtYmVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBcbiAgc2V0T3JkZXJzTGlzdChvcmRlckxldmVsRmVlczogSU9yZGVyUmVmZXJlbmNlRmVlW10pOiB2b2lkIHtcbiAgICB0aGlzLm9yZGVyc0xpc3QubmV4dChPYmplY3QuYXNzaWduKFtdLCBvcmRlckxldmVsRmVlcykpO1xufVxuICBnZXRPcmRlcnNMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm9yZGVyc0xpc3Q7XG4gIH1cblxuICAvL2lzc3VlIHJlZnVuZFxuICBwb3N0UmVmdW5kc1JlYXNvbihib2R5OiBQb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVmdW5kLWZvci1wYXltZW50YCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICAvLyByZXRybyByZW1pc3Npb25zXG4gIHBvc3RQYXltZW50R3JvdXBXaXRoUmV0cm9SZW1pc3Npb25zKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nLCBmZWVJZDogbnVtYmVyLCBib2R5OiBBZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9L2ZlZXMvJHtmZWVJZH0vcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24oYm9keTpQb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbikge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVmdW5kLXJldHJvLXJlbWlzc2lvbmAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gZ2V0UGF5bWVudEZhaWx1cmUocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1mYWlsdXJlcy8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==