@hmcts/ccpay-web-component 6.5.14 → 6.5.15-beta1

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 (179) hide show
  1. package/esm2022/hmcts-ccpay-web-component.mjs +5 -0
  2. package/esm2022/lib/components/add-remission/add-remission.component.mjs +1276 -0
  3. package/esm2022/lib/components/allocate-payments/allocate-payments.component.mjs +423 -0
  4. package/esm2022/lib/components/card-details/card-details.component.mjs +32 -0
  5. package/esm2022/lib/components/case-transactions/case-transactions.component.mjs +885 -0
  6. package/esm2022/lib/components/contact-details/contact-details.component.mjs +338 -0
  7. package/esm2022/lib/components/error-banner/error-banner.component.mjs +18 -0
  8. package/esm2022/lib/components/fee-summary/fee-summary.component.mjs +280 -0
  9. package/esm2022/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.mjs +195 -0
  10. package/esm2022/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.mjs +275 -0
  11. package/esm2022/lib/components/notification-preview/notification-preview.component.mjs +79 -0
  12. package/esm2022/lib/components/page-not-found.component.mjs +17 -0
  13. package/esm2022/lib/components/payment-list/payment-list.component.mjs +36 -0
  14. package/esm2022/lib/components/payment-view/payment-view.component.mjs +467 -0
  15. package/esm2022/lib/components/pba-details/pba-details.component.mjs +18 -0
  16. package/esm2022/lib/components/pba-payment/pba-payment.component.mjs +163 -0
  17. package/esm2022/lib/components/process-refund/process-refund.component.mjs +417 -0
  18. package/esm2022/lib/components/processed-payments/processed-payments.component.mjs +37 -0
  19. package/esm2022/lib/components/refund-list/refund-list.component.mjs +73 -0
  20. package/esm2022/lib/components/refund-status/refund-status.component.mjs +481 -0
  21. package/esm2022/lib/components/reports/reports.component.mjs +337 -0
  22. package/esm2022/lib/components/service-request/service-request.component.mjs +516 -0
  23. package/esm2022/lib/components/status-history/status-history.component.mjs +33 -0
  24. package/esm2022/lib/components/table/table.component.mjs +127 -0
  25. package/esm2022/lib/components/unprocessed-payments/unprocessed-payments.component.mjs +236 -0
  26. package/esm2022/lib/interfaces/AddRemissionRequest.mjs +17 -0
  27. package/esm2022/lib/interfaces/AddRetroRemissionRequest.mjs +9 -0
  28. package/esm2022/lib/interfaces/AllocatePaymentRequest.mjs +41 -0
  29. package/esm2022/lib/interfaces/IAllocationPaymentsRequest.mjs +20 -0
  30. package/esm2022/lib/interfaces/IBSPayments.mjs +2 -0
  31. package/esm2022/lib/interfaces/ICardDetails.mjs +2 -0
  32. package/esm2022/lib/interfaces/IFee.mjs +2 -0
  33. package/esm2022/lib/interfaces/INotificationPreview.mjs +2 -0
  34. package/esm2022/lib/interfaces/IOrderReferenceFee.mjs +2 -0
  35. package/esm2022/lib/interfaces/IPatchRefundAction.mjs +2 -0
  36. package/esm2022/lib/interfaces/IPayment.mjs +2 -0
  37. package/esm2022/lib/interfaces/IPaymentFailure.mjs +2 -0
  38. package/esm2022/lib/interfaces/IPaymentGroup.mjs +2 -0
  39. package/esm2022/lib/interfaces/IPaymentStatus.mjs +12 -0
  40. package/esm2022/lib/interfaces/IPaymentView.mjs +2 -0
  41. package/esm2022/lib/interfaces/IPayments.mjs +2 -0
  42. package/esm2022/lib/interfaces/IPutNotificationRequest.mjs +13 -0
  43. package/esm2022/lib/interfaces/IRefundAction.mjs +2 -0
  44. package/esm2022/lib/interfaces/IRefundContactDetails.mjs +2 -0
  45. package/esm2022/lib/interfaces/IRefundFee.mjs +2 -0
  46. package/esm2022/lib/interfaces/IRefundList.mjs +2 -0
  47. package/esm2022/lib/interfaces/IRefundReasons.mjs +2 -0
  48. package/esm2022/lib/interfaces/IRefundRejectReason.mjs +2 -0
  49. package/esm2022/lib/interfaces/IRefundStatus.mjs +2 -0
  50. package/esm2022/lib/interfaces/IRefundStatusHistory.mjs +2 -0
  51. package/esm2022/lib/interfaces/IRefundsNotifications.mjs +2 -0
  52. package/esm2022/lib/interfaces/IRemission.mjs +2 -0
  53. package/esm2022/lib/interfaces/IResubmitRefundRequest.mjs +13 -0
  54. package/esm2022/lib/interfaces/IStatusHistories.mjs +2 -0
  55. package/esm2022/lib/interfaces/IStatusHistory.mjs +2 -0
  56. package/esm2022/lib/interfaces/IserviceRequestCardPayment.mjs +11 -0
  57. package/esm2022/lib/interfaces/IserviceRequestPbaPayment.mjs +15 -0
  58. package/esm2022/lib/interfaces/IssueRefundRequest.mjs +11 -0
  59. package/esm2022/lib/interfaces/NotificationPreviewRequest.mjs +46 -0
  60. package/esm2022/lib/interfaces/PayhubAntennaRequest.mjs +14 -0
  61. package/esm2022/lib/interfaces/PaymentToPayhubRequest.mjs +17 -0
  62. package/esm2022/lib/interfaces/PostIssueRefundRetroRemission.mjs +9 -0
  63. package/esm2022/lib/interfaces/PostRefundRetroRemission.mjs +18 -0
  64. package/esm2022/lib/interfaces/RefundsRequest.mjs +9 -0
  65. package/esm2022/lib/interfaces/UnidentifiedPaymentsRequest.mjs +16 -0
  66. package/esm2022/lib/interfaces/UnsolicitedPaymentsRequest.mjs +22 -0
  67. package/esm2022/lib/payment-lib.component.mjs +430 -0
  68. package/esm2022/lib/payment-lib.module.mjs +181 -0
  69. package/esm2022/lib/payment-lib.service.mjs +49 -0
  70. package/esm2022/lib/pipes/capitalize.pipe.mjs +18 -0
  71. package/esm2022/lib/pipes/ccd-hyphens.pipe.mjs +22 -0
  72. package/esm2022/lib/pipes/key-value.pipe.mjs +23 -0
  73. package/esm2022/lib/pipes/sanitize-html.pipe.mjs +20 -0
  74. package/esm2022/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.mjs +87 -0
  75. package/esm2022/lib/services/card-details/card-details.service.mjs +39 -0
  76. package/esm2022/lib/services/case-transactions/case-transactions.service.mjs +39 -0
  77. package/esm2022/lib/services/notification/notification.service.mjs +70 -0
  78. package/esm2022/lib/services/orderslist.service.mjs +154 -0
  79. package/esm2022/lib/services/payment-list/payment-list.service.mjs +40 -0
  80. package/esm2022/lib/services/payment-view/payment-view.service.mjs +156 -0
  81. package/esm2022/lib/services/refunds/refunds.service.mjs +120 -0
  82. package/esm2022/lib/services/shared/error-handler.service.mjs +76 -0
  83. package/esm2022/lib/services/shared/httpclient/webcomponent.http.client.mjs +64 -0
  84. package/esm2022/lib/services/shared/logger/console-logger.service.mjs +43 -0
  85. package/esm2022/lib/services/shared/logger/logger.service.mjs +23 -0
  86. package/esm2022/lib/services/status-history/status-history.service.mjs +41 -0
  87. package/esm2022/lib/services/xl-file/xl-file.service.mjs +197 -0
  88. package/esm2022/public_api.mjs +7 -0
  89. package/fesm2022/hmcts-ccpay-web-component.mjs +217 -262
  90. package/fesm2022/hmcts-ccpay-web-component.mjs.map +1 -1
  91. package/index.d.ts +5 -2340
  92. package/lib/components/add-remission/add-remission.component.d.ts +208 -0
  93. package/lib/components/allocate-payments/allocate-payments.component.d.ts +115 -0
  94. package/lib/components/card-details/card-details.component.d.ts +18 -0
  95. package/lib/components/case-transactions/case-transactions.component.d.ts +143 -0
  96. package/lib/components/contact-details/contact-details.component.d.ts +54 -0
  97. package/lib/components/error-banner/error-banner.component.d.ts +9 -0
  98. package/lib/components/fee-summary/fee-summary.component.d.ts +72 -0
  99. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +52 -0
  100. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +63 -0
  101. package/lib/components/notification-preview/notification-preview.component.d.ts +30 -0
  102. package/lib/components/page-not-found.component.d.ts +5 -0
  103. package/lib/components/payment-list/payment-list.component.d.ts +19 -0
  104. package/lib/components/payment-view/payment-view.component.d.ts +110 -0
  105. package/lib/components/pba-details/pba-details.component.d.ts +10 -0
  106. package/lib/components/pba-payment/pba-payment.component.d.ts +41 -0
  107. package/lib/components/process-refund/process-refund.component.d.ts +82 -0
  108. package/lib/components/processed-payments/processed-payments.component.d.ts +17 -0
  109. package/lib/components/refund-list/refund-list.component.d.ts +26 -0
  110. package/lib/components/refund-status/refund-status.component.d.ts +119 -0
  111. package/lib/components/reports/reports.component.d.ts +49 -0
  112. package/lib/components/service-request/service-request.component.d.ts +141 -0
  113. package/lib/components/status-history/status-history.component.d.ts +19 -0
  114. package/lib/components/table/table.component.d.ts +45 -0
  115. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +61 -0
  116. package/lib/interfaces/AddRemissionRequest.d.ts +11 -0
  117. package/lib/interfaces/AddRetroRemissionRequest.d.ts +5 -0
  118. package/lib/interfaces/AllocatePaymentRequest.d.ts +31 -0
  119. package/lib/interfaces/IAllocationPaymentsRequest.d.ts +9 -0
  120. package/lib/interfaces/IBSPayments.d.ts +19 -0
  121. package/lib/interfaces/ICardDetails.d.ts +7 -0
  122. package/lib/interfaces/IFee.d.ts +29 -0
  123. package/lib/interfaces/INotificationPreview.d.ts +27 -0
  124. package/lib/interfaces/IOrderReferenceFee.d.ts +9 -0
  125. package/lib/interfaces/IPatchRefundAction.d.ts +4 -0
  126. package/lib/interfaces/IPayment.d.ts +35 -0
  127. package/lib/interfaces/IPaymentFailure.d.ts +13 -0
  128. package/lib/interfaces/IPaymentGroup.d.ts +11 -0
  129. package/lib/interfaces/IPaymentStatus.d.ts +11 -0
  130. package/lib/interfaces/IPaymentView.d.ts +5 -0
  131. package/lib/interfaces/IPayments.d.ts +4 -0
  132. package/lib/interfaces/IPutNotificationRequest.d.ts +6 -0
  133. package/lib/interfaces/IRefundAction.d.ts +4 -0
  134. package/lib/interfaces/IRefundContactDetails.d.ts +9 -0
  135. package/lib/interfaces/IRefundFee.d.ts +7 -0
  136. package/lib/interfaces/IRefundList.d.ts +20 -0
  137. package/lib/interfaces/IRefundReasons.d.ts +6 -0
  138. package/lib/interfaces/IRefundRejectReason.d.ts +4 -0
  139. package/lib/interfaces/IRefundStatus.d.ts +8 -0
  140. package/lib/interfaces/IRefundStatusHistory.d.ts +5 -0
  141. package/lib/interfaces/IRefundsNotifications.d.ts +16 -0
  142. package/lib/interfaces/IRemission.d.ts +14 -0
  143. package/lib/interfaces/IResubmitRefundRequest.d.ts +9 -0
  144. package/lib/interfaces/IStatusHistories.d.ts +7 -0
  145. package/lib/interfaces/IStatusHistory.d.ts +7 -0
  146. package/lib/interfaces/IserviceRequestCardPayment.d.ts +6 -0
  147. package/lib/interfaces/IserviceRequestPbaPayment.d.ts +8 -0
  148. package/lib/interfaces/IssueRefundRequest.d.ts +6 -0
  149. package/lib/interfaces/NotificationPreviewRequest.d.ts +25 -0
  150. package/lib/interfaces/PayhubAntennaRequest.d.ts +8 -0
  151. package/lib/interfaces/PaymentToPayhubRequest.d.ts +11 -0
  152. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +6 -0
  153. package/lib/interfaces/PostRefundRetroRemission.d.ts +11 -0
  154. package/lib/interfaces/RefundsRequest.d.ts +5 -0
  155. package/lib/interfaces/UnidentifiedPaymentsRequest.d.ts +7 -0
  156. package/lib/interfaces/UnsolicitedPaymentsRequest.d.ts +10 -0
  157. package/lib/payment-lib.component.d.ts +156 -0
  158. package/lib/payment-lib.module.d.ts +42 -0
  159. package/lib/payment-lib.service.d.ts +21 -0
  160. package/lib/pipes/capitalize.pipe.d.ts +8 -0
  161. package/lib/pipes/ccd-hyphens.pipe.d.ts +8 -0
  162. package/lib/pipes/key-value.pipe.d.ts +8 -0
  163. package/lib/pipes/sanitize-html.pipe.d.ts +10 -0
  164. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +27 -0
  165. package/lib/services/card-details/card-details.service.d.ts +17 -0
  166. package/lib/services/case-transactions/case-transactions.service.d.ts +17 -0
  167. package/lib/services/notification/notification.service.d.ts +21 -0
  168. package/lib/services/orderslist.service.d.ts +77 -0
  169. package/lib/services/payment-list/payment-list.service.d.ts +18 -0
  170. package/lib/services/payment-view/payment-view.service.d.ts +61 -0
  171. package/lib/services/refunds/refunds.service.d.ts +36 -0
  172. package/lib/services/shared/error-handler.service.d.ts +14 -0
  173. package/lib/services/shared/httpclient/webcomponent.http.client.d.ts +17 -0
  174. package/lib/services/shared/logger/console-logger.service.d.ts +11 -0
  175. package/lib/services/shared/logger/logger.service.d.ts +14 -0
  176. package/lib/services/status-history/status-history.service.d.ts +17 -0
  177. package/lib/services/xl-file/xl-file.service.d.ts +16 -0
  178. package/package.json +5 -3
  179. package/public_api.d.ts +3 -0
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PbaDetailsComponent {
5
+ payment;
6
+ constructor() { }
7
+ ngOnInit() {
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PbaDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PbaDetailsComponent, selector: "ccpay-pba-details", inputs: { payment: "payment" }, ngImport: i0, template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n", styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PbaDetailsComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'ccpay-pba-details', template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n", styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}\n"] }]
15
+ }], ctorParameters: () => [], propDecorators: { payment: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJhLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BiYS1kZXRhaWxzL3BiYS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9wYmEtZGV0YWlscy9wYmEtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpELE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsT0FBTyxDQUFXO0lBRTNCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3dHQU5VLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHlGQ1JoQyxrekJBMEJBOzs0RkRsQmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG1CQUFtQjt3REFLcEIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1wYmEtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYmEtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BiYS1kZXRhaWxzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYmFEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGF5bWVudDogSVBheW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iLCJcbiAgPGgyIGNsYXNzPVwiaGVhZGluZy1sYXJnZVwiPlBheW1lbnQgbWV0aG9kPC9oMj5cbiAgPHRhYmxlPlxuICAgIDx0Ym9keT5cbiAgICA8dHI+XG4gICAgICA8dGQgY2xhc3M9XCJib2xkIHRiLWNvbC13XCI+TWV0aG9kPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImNhcGl0YWxpemVcIj57eyBwYXltZW50Lm1ldGhvZCB8IGxvd2VyY2FzZX19PC90ZD5cbiAgICA8L3RyPlxuICAgIDx0cj5cbiAgICAgIDx0ZCBjbGFzcz1cImJvbGQgdGItY29sLXdcIj5UeXBlPC90ZD5cbiAgICAgIDx0ZD5DcmVkaXQ8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5vcmdhbmlzYXRpb25fbmFtZVwiPlxuICAgICAgPHRkIGNsYXNzPVwiYm9sZCB0Yi1jb2wtd1wiPlBCQSBhY2NvdW50IG5hbWU8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQub3JnYW5pc2F0aW9uX25hbWUgfX08L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5hY2NvdW50X251bWJlclwiPlxuICAgICAgPHRkIGNsYXNzPVwiYm9sZCB0Yi1jb2wtd1wiPlBCQSBudW1iZXI8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQuYWNjb3VudF9udW1iZXIgfX08L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5jdXN0b21lcl9yZWZlcmVuY2VcIj5cbiAgICAgIDx0ZCBjbGFzcz1cImJvbGQgdGItY29sLXdcIj5DdXN0b21lciBpbnRlcm5hbCByZWZlcmVuY2U8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQuY3VzdG9tZXJfcmVmZXJlbmNlIH19PC90ZD5cbiAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG4iXX0=
@@ -0,0 +1,163 @@
1
+ import { Component, Input, Inject } from '@angular/core';
2
+ import { PaymentViewService } from '../../services/payment-view/payment-view.service';
3
+ import { IserviceRequestCardPayment } from '../../interfaces/IserviceRequestCardPayment';
4
+ import { IserviceRequestPbaPayment } from '../../interfaces/IserviceRequestPbaPayment';
5
+ import { CommonModule } from '@angular/common';
6
+ import { RpxTranslationModule } from 'rpx-xui-translation';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../services/payment-view/payment-view.service";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "rpx-xui-translation";
11
+ const BS_ENABLE_FLAG = 'bulk-scan-enabling-fe';
12
+ export class PbaPaymentComponent {
13
+ paymentLibComponent;
14
+ paymentViewService;
15
+ pbaPayOrderRef;
16
+ viewStatus;
17
+ pbaAccountList;
18
+ isPBAAccountHold = false;
19
+ errorMsg;
20
+ isCardPaymentSuccess = true;
21
+ isInSufficiantFund = false;
22
+ isPBAAccountNotExist = false;
23
+ isPBAServerError = false;
24
+ isGetPBAAccountSucceed = false;
25
+ selectedPbaAccount = '';
26
+ pbaAccountRef = '';
27
+ isPbaAccountSelected = false;
28
+ isCardPaymentSelected = false;
29
+ isPBADropdownSelected = false;
30
+ isContinueButtondisabled = true;
31
+ isPBAAccountPaymentSuccess = false;
32
+ pbaAccountrPaymentResult;
33
+ orgName = '';
34
+ constructor(paymentLibComponent, paymentViewService) {
35
+ this.paymentLibComponent = paymentLibComponent;
36
+ this.paymentViewService = paymentViewService;
37
+ }
38
+ ngOnInit() {
39
+ this.pbaPayOrderRef = this.paymentLibComponent.pbaPayOrderRef;
40
+ this.viewStatus = 'pba-payment';
41
+ this.errorMsg = null;
42
+ this.paymentViewService.getPBAaccountDetails()
43
+ .subscribe(result => {
44
+ this.isGetPBAAccountSucceed = true;
45
+ this.orgName = result.organisationEntityResponse.name;
46
+ this.pbaAccountList = result.organisationEntityResponse.paymentAccount;
47
+ }, error => {
48
+ this.errorMsg = error;
49
+ });
50
+ }
51
+ getPersistedLanguage() {
52
+ return document.cookie.split(';').find((cookie) => cookie.trim().startsWith('exui-preferred-language' + '='))?.split('=')[1].trim();
53
+ }
54
+ buttonCheck() {
55
+ if (this.selectedPbaAccount !== '' && this.pbaAccountRef !== "") {
56
+ this.isContinueButtondisabled = false;
57
+ }
58
+ else {
59
+ this.isContinueButtondisabled = true;
60
+ }
61
+ }
62
+ selectpbaaccount(args) {
63
+ if (args.currentTarget.id === 'pbaAccountNumber') {
64
+ this.isPBADropdownSelected = true;
65
+ this.selectedPbaAccount = args.target.value;
66
+ this.buttonCheck();
67
+ }
68
+ if (args.currentTarget.id === 'pbaAccountRef') {
69
+ this.pbaAccountRef = args.target.value;
70
+ this.buttonCheck();
71
+ }
72
+ }
73
+ saveAndContinue() {
74
+ if (this.isPbaAccountSelected) {
75
+ this.isInSufficiantFund = false;
76
+ this.isPBAAccountNotExist = false;
77
+ this.isPBAServerError = false;
78
+ this.isPBAAccountPaymentSuccess = false;
79
+ this.isContinueButtondisabled = true;
80
+ if (this.pbaAccountList.indexOf(this.selectedPbaAccount) !== -1) {
81
+ const requestBody = new IserviceRequestPbaPayment(this.selectedPbaAccount, this.pbaPayOrderRef.orderTotalFees, this.pbaAccountRef, this.orgName);
82
+ setTimeout(() => {
83
+ this.paymentViewService.postPBAaccountPayment(this.pbaPayOrderRef.orderRefId, requestBody)
84
+ .subscribe(r => {
85
+ try {
86
+ this.pbaAccountrPaymentResult = JSON.parse(r);
87
+ }
88
+ catch (e) {
89
+ this.pbaAccountrPaymentResult = r;
90
+ }
91
+ this.isPBAAccountPaymentSuccess = true;
92
+ }, e => {
93
+ if (e.status == '402') {
94
+ this.isInSufficiantFund = true;
95
+ }
96
+ else if (e.status == '410') {
97
+ this.isPBAAccountNotExist = true;
98
+ }
99
+ else if (e.status == '412') {
100
+ this.isPBAAccountHold = true;
101
+ }
102
+ else {
103
+ this.isPBAServerError = true;
104
+ }
105
+ });
106
+ }, 5000);
107
+ }
108
+ else {
109
+ this.isPBAServerError = true;
110
+ }
111
+ }
112
+ else if (this.isCardPaymentSelected) {
113
+ this.cardPayment();
114
+ }
115
+ }
116
+ cardPayment() {
117
+ this.isCardPaymentSuccess = true;
118
+ const requestBody = new IserviceRequestCardPayment(this.pbaPayOrderRef.orderTotalFees, this.getPersistedLanguage());
119
+ this.paymentViewService.postWays2PayCardPayment(this.pbaPayOrderRef.orderRefId, requestBody)
120
+ .subscribe(result => {
121
+ const paymentUrl = JSON.parse(result).next_url;
122
+ window.location.href = paymentUrl;
123
+ }, error => {
124
+ this.isCardPaymentSuccess = false;
125
+ });
126
+ }
127
+ selectPaymentMethod(type) {
128
+ if (type === 'PBA') {
129
+ this.isPbaAccountSelected = true;
130
+ this.isCardPaymentSelected = false;
131
+ this.isPBADropdownSelected = false;
132
+ this.isContinueButtondisabled = true;
133
+ this.selectedPbaAccount = null;
134
+ }
135
+ else if (type === 'CARD') {
136
+ this.isPbaAccountSelected = false;
137
+ this.isCardPaymentSelected = true;
138
+ this.isPBADropdownSelected = false;
139
+ this.isContinueButtondisabled = false;
140
+ }
141
+ }
142
+ gotoCasetransationPage() {
143
+ this.paymentLibComponent.viewName = 'case-transactions';
144
+ this.paymentLibComponent.TAKEPAYMENT = false;
145
+ this.paymentLibComponent.ISBSENABLE = true;
146
+ this.paymentLibComponent.isFromServiceRequestPage = true;
147
+ }
148
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PbaPaymentComponent, deps: [{ token: 'PAYMENT_LIB' }, { token: i1.PaymentViewService }], target: i0.ɵɵFactoryTarget.Component });
149
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PbaPaymentComponent, isStandalone: true, selector: "ccpay-pba-payment", inputs: { pbaPayOrderRef: "pbaPayOrderRef" }, ngImport: i0, template: "<ng-container *ngIf=\"viewStatus === 'pba-payment'\">\n\n <div class=\"govuk-breadcrumbs\" *ngIf=\"!errorMsg && !isPBAAccountPaymentSuccess && !isCardPaymentSuccess\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\" class=\"govuk-back-link pba-payments-16-font\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"pba-payment\" *ngIf=\"(pbaAccountList?.length > 0 || errorMsg) && !isInSufficiantFund && !isPBAAccountNotExist && !isPBAServerError && !isPBAAccountHold && !isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n\n <div *ngIf=\"errorMsg\" class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\" >\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n {{ \"Your PBA account cannot be found.\" | rpxTranslate }}\n </li>\n <li class=\"pba-payments-error-16-font\">\n {{ \"If you know your organisation has a PBA, try again.\" | rpxTranslate : {pba: \"PBA\"} }}\n </li>\n <li class=\"pba-payments-error-16-font\">\n {{ \"You can also pay by credit or debit card.\" | rpxTranslate }}\n </li>\n </ul>\n </div>\n </div>\n <!-- <h1 class=\"heading-medium margin-top-10-px\">Pay fee using Payment by Account (PBA)</h1> -->\n <div class=\"govuk-form-group margin-top-10-px\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\">\n {{ \"Amount to pay\" | rpxTranslate }}\n </label>\n <span class=\"pba-payments-19-font\">{{pbaPayOrderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</span>\n </div>\n\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"contact-hint\">\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"pbaAccount\" name=\"paymentSelection\" type=\"radio\" value=\"PBA\" (click)=\"selectPaymentMethod('PBA')\" data-aria-controls=\"pba-account\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"pbaAccount\">\n {{ \"Pay fee using Payment by Account (PBA)\" | rpxTranslate: {pba: \"(PBA)\"} }}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact\" *ngIf=\"isPbaAccountSelected\">\n <div class=\"govuk-form-group pba-payments-select-box--size\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\" for=\"pbaAccountNumber\">\n {{ \"Select a PBA\" | rpxTranslate: {pba: \"PBA\"} }}\n </label>\n <select class=\"form-control short-input\" id=\"pbaAccountNumber\" (change)=\"selectpbaaccount($event)\">\n <option value=\"\" selected='selected'>{{ \"Select option\" | rpxTranslate }}</option>\n <option *ngFor=\"let pbaAccount of pbaAccountList;\" value=\"{{pbaAccount}}\">{{pbaAccount}}</option>\n </select>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg && selectedPbaAccount\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-24-font\" for=\"pbaAccountNumber\">\n {{ \"Enter a reference for your PBA account statements\" | rpxTranslate: {pba: \"PBA\"} }}\n </label>\n <div id=\"event-name-hint\" class=\"govuk-hint pba-payments-19-font pba-payment-width\">\n {{ \"This should be your own unique reference to identify the case. It will appear on your statements.\" | rpxTranslate }}\n </div>\n <input class=\"govuk-input pba-payments-ref-box--size pba-payments-19-font\" id=\"pbaAccountRef\" (change)=\"selectpbaaccount($event)\" (keyup)=\"selectpbaaccount($event)\" name=\"pbaAccountRef\" type=\"text\" aria-describedby=\"pbaAccountRef-hint\">\n </div>\n\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"cardPayment\" name=\"paymentSelection\" type=\"radio\" value=\"card\" (click)=\"selectPaymentMethod('CARD')\" data-aria-controls=\"card-payment\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"cardPayment\">\n {{ \"Pay by credit or debit card\" | rpxTranslate }}\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button--group\" *ngIf=\"errorMsg\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n <div class=\"govuk-button--group\" *ngIf=\"!errorMsg\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"saveAndContinue()\">\n <span *ngIf=\"!isPBADropdownSelected\" class=\"white\">{{ \"Continue\" | rpxTranslate }}</span>\n <span *ngIf=\"isPBADropdownSelected\" class=\"white\">{{ \"Confirm payment\" | rpxTranslate }}</span>\n </button>\n </div>\n </div>\n<ng-container *ngIf=\"pbaAccountList?.length <= 0 && !errorMsg && isGetPBAAccountSucceed && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{ \"Warning\" | rpxTranslate }}</span>\n <h2 class=\"warning-heading-m\">{{ \"You don\u2019t have a registered PBA.\" | rpxTranslate: {pba: \"PBA\"} }}</h2>\n </strong>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Pay by credit or debit card\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"We recommend that you apply to get a new PBA to pay for fees.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-bod ypba-payments-19-font\">\n {{ \"you can also pay by credit or debit card if you need to pay now\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body\">\n <button type=\"submit\" (click)=\"cardPayment()\" class=\"button pba-payments-19-font pba-payments-20-margin\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </p>\n\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Register an existing PBA with MyHMCTS\" | rpxTranslate: {pba: \"PBA\", myhmcts: \"MyHMCTS\"} }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"You may find it easier in future to pay by PBA, your organisation administrator will need to\n email\" | rpxTranslate: {pba: \"PBA\"} }} <a href=\"mailto: MyHMCTSsupport@justice.gov.uk\">MyHMCTSsupport&#64;justice.gov.uk</a>{{ \"to ask for your PBA to be registered with your\n MyHMCTS account. You should include your organisation name and PBA number.\" | rpxTranslate: {pba: \"PBA\", myhmcts: \"MyHMCTS\"} }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"It can then take up to 3 days for your account to be updated. You\u2019ll need to start your claim\n again to pay the fee.\" | rpxTranslate }}\n </p>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Apply to get a new PBA\" | rpxTranslate: {pba: \"PBA\"} }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"You\u2019ll need to provide details for you and your organisation, including the required credit\n limit for your account.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Once your account has been registered, you\u2019ll need to start your claim again to pay the fee.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Read more information on\" | rpxTranslate }} <a target=\"_blank\" href=\"https://www.gov.uk/guidance/hmcts-payment-by-account-for-online-services\">{{ \"registering for PBA\" | rpxTranslate: {pba: \"PBA\"} }}</a>.\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isInSufficiantFund && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n {{ \"You don't have enough funds in your PBA account to pay for this fee.\" | rpxTranslate }}\n </li>\n <li class=\"pba-payments-error-16-font\">\n {{ \"If you have already topped up your PBA account, wait up to 24 hours for the new balance to become available.\" | rpxTranslate: {pba: \"PBA\", number: \"24\"} }}\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Should you need any further advice\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Email\" | rpxTranslate }} <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices&#64;liberata.com</a> {{ \"or call\" | rpxTranslate }} <a href=\"tel:01633-652-125\">01633 652 125</a> ({{ \"option\" | rpxTranslate }} 3) {{ \"to try to fix the issue.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountNotExist && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n ({{ \"Your PBA account\" | rpxTranslate: {pba: \"PBA\"} }}) ({{ selectedPbaAccount }}) ({{ \"no longer exists.\" | rpxTranslate }})\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Should you need any further advice\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n {{ \"Email\" | rpxTranslate }} <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices&#64;liberata.com</a> {{ \"or call\" | rpxTranslate }} <a href=\"tel:01633-652-125\">01633 652 125</a> ({{ \"option\" | rpxTranslate }} 3) {{ \"to try to fix the issue.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountHold && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n {{ \"Your PBA account \" | rpxTranslate: {pba: \"PBA\"} }} ({{selectedPbaAccount}}) {{ \" has been put on hold.\" | rpxTranslate }}\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Should you need any further advice\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n {{ \"Email\" | rpxTranslate }} <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices&#64;liberata.com</a> {{ \"or call\" | rpxTranslate }} <a href=\"tel:01633-652-125\">01633 652 125</a> ({{ \"option\" | rpxTranslate }} 3) {{ \"to try to fix the issue.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAServerError && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">{{ \"Sorry, there is a problem with the service\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Try again later.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-panel govuk-panel--confirmation pba-payments--confirmation\">\n <h1 class=\"govuk-panel__title pba-payments--title white\">\n {{ \"Payment successful\" | rpxTranslate }}\n </h1>\n <div class=\"govuk-panel__body pba-payments__body white\">\n {{ \"Your payment reference is\" | rpxTranslate }} <br><strong class=\"white\">{{pbaAccountrPaymentResult.payment_reference}}</strong>\n </div>\n </div>\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">{{ \"View service requests\" | rpxTranslate }}</a>\n </p>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">{{ \"Sorry, there is a problem with the service\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Try again later.\" | rpxTranslate }}\n </p>\n <!-- <p class=\"govuk-body pba-payments-19-font\">\n you can also <a href=\"javascript:void(0)\" (click)=\"cardPayment()\" >pay by credit or debit card</a>.\n </p> -->\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">{{ \"View service requests\" | rpxTranslate }}</a>\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n</ng-container>\n\n\n\n", styles: [".pba-payments-govuk__label{font-weight:700;line-height:1.31578947}.pba-payments-19-font{font-size:19px}.pba-payments-font-bld{font-weight:700}.pba-payments-16-font{font-size:16px}.pba-payments-24-font{font-size:24px}.pba-payments-20-margin{margin-bottom:20px}.pba-payments-select-box--size{width:40%}.pba-payments-error-box--size{width:80%}.pba-payments-ref-box--size{width:60%}.pba-payments-error-16-font{font-size:16px;line-height:34px}.pba-payments-margin-10{margin-right:10px}.pba-payments-margin-top-10{margin-top:15px}.pba-payments-heading-lg{font-size:40px;font-weight:700;line-height:72px}.pba-payments--confirmation{background:#00703c!important}.pba-payments__body{font-size:36px!important}.pba-payments--title{font-size:48px!important}.warning-heading-m{font-size:29px;font-weight:700}.pba-payment-width{width:75%}.margin-top-10-px{margin-top:10px}.govuk-error-summary:focus{outline:3px solid #ffdd00}.govuk-body-width{width:750px}.white{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }, { kind: "ngmodule", type: RpxTranslationModule }, { kind: "pipe", type: i3.RpxTranslatePipe, name: "rpxTranslate" }] });
150
+ }
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PbaPaymentComponent, decorators: [{
152
+ type: Component,
153
+ args: [{ selector: 'ccpay-pba-payment', imports: [
154
+ CommonModule,
155
+ RpxTranslationModule
156
+ ], standalone: true, template: "<ng-container *ngIf=\"viewStatus === 'pba-payment'\">\n\n <div class=\"govuk-breadcrumbs\" *ngIf=\"!errorMsg && !isPBAAccountPaymentSuccess && !isCardPaymentSuccess\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\" class=\"govuk-back-link pba-payments-16-font\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"pba-payment\" *ngIf=\"(pbaAccountList?.length > 0 || errorMsg) && !isInSufficiantFund && !isPBAAccountNotExist && !isPBAServerError && !isPBAAccountHold && !isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n\n <div *ngIf=\"errorMsg\" class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\" >\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n {{ \"Your PBA account cannot be found.\" | rpxTranslate }}\n </li>\n <li class=\"pba-payments-error-16-font\">\n {{ \"If you know your organisation has a PBA, try again.\" | rpxTranslate : {pba: \"PBA\"} }}\n </li>\n <li class=\"pba-payments-error-16-font\">\n {{ \"You can also pay by credit or debit card.\" | rpxTranslate }}\n </li>\n </ul>\n </div>\n </div>\n <!-- <h1 class=\"heading-medium margin-top-10-px\">Pay fee using Payment by Account (PBA)</h1> -->\n <div class=\"govuk-form-group margin-top-10-px\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\">\n {{ \"Amount to pay\" | rpxTranslate }}\n </label>\n <span class=\"pba-payments-19-font\">{{pbaPayOrderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</span>\n </div>\n\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"contact-hint\">\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"pbaAccount\" name=\"paymentSelection\" type=\"radio\" value=\"PBA\" (click)=\"selectPaymentMethod('PBA')\" data-aria-controls=\"pba-account\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"pbaAccount\">\n {{ \"Pay fee using Payment by Account (PBA)\" | rpxTranslate: {pba: \"(PBA)\"} }}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact\" *ngIf=\"isPbaAccountSelected\">\n <div class=\"govuk-form-group pba-payments-select-box--size\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\" for=\"pbaAccountNumber\">\n {{ \"Select a PBA\" | rpxTranslate: {pba: \"PBA\"} }}\n </label>\n <select class=\"form-control short-input\" id=\"pbaAccountNumber\" (change)=\"selectpbaaccount($event)\">\n <option value=\"\" selected='selected'>{{ \"Select option\" | rpxTranslate }}</option>\n <option *ngFor=\"let pbaAccount of pbaAccountList;\" value=\"{{pbaAccount}}\">{{pbaAccount}}</option>\n </select>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg && selectedPbaAccount\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-24-font\" for=\"pbaAccountNumber\">\n {{ \"Enter a reference for your PBA account statements\" | rpxTranslate: {pba: \"PBA\"} }}\n </label>\n <div id=\"event-name-hint\" class=\"govuk-hint pba-payments-19-font pba-payment-width\">\n {{ \"This should be your own unique reference to identify the case. It will appear on your statements.\" | rpxTranslate }}\n </div>\n <input class=\"govuk-input pba-payments-ref-box--size pba-payments-19-font\" id=\"pbaAccountRef\" (change)=\"selectpbaaccount($event)\" (keyup)=\"selectpbaaccount($event)\" name=\"pbaAccountRef\" type=\"text\" aria-describedby=\"pbaAccountRef-hint\">\n </div>\n\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"cardPayment\" name=\"paymentSelection\" type=\"radio\" value=\"card\" (click)=\"selectPaymentMethod('CARD')\" data-aria-controls=\"card-payment\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"cardPayment\">\n {{ \"Pay by credit or debit card\" | rpxTranslate }}\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button--group\" *ngIf=\"errorMsg\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n <div class=\"govuk-button--group\" *ngIf=\"!errorMsg\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"saveAndContinue()\">\n <span *ngIf=\"!isPBADropdownSelected\" class=\"white\">{{ \"Continue\" | rpxTranslate }}</span>\n <span *ngIf=\"isPBADropdownSelected\" class=\"white\">{{ \"Confirm payment\" | rpxTranslate }}</span>\n </button>\n </div>\n </div>\n<ng-container *ngIf=\"pbaAccountList?.length <= 0 && !errorMsg && isGetPBAAccountSucceed && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{ \"Warning\" | rpxTranslate }}</span>\n <h2 class=\"warning-heading-m\">{{ \"You don\u2019t have a registered PBA.\" | rpxTranslate: {pba: \"PBA\"} }}</h2>\n </strong>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Pay by credit or debit card\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"We recommend that you apply to get a new PBA to pay for fees.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-bod ypba-payments-19-font\">\n {{ \"you can also pay by credit or debit card if you need to pay now\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body\">\n <button type=\"submit\" (click)=\"cardPayment()\" class=\"button pba-payments-19-font pba-payments-20-margin\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </p>\n\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Register an existing PBA with MyHMCTS\" | rpxTranslate: {pba: \"PBA\", myhmcts: \"MyHMCTS\"} }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"You may find it easier in future to pay by PBA, your organisation administrator will need to\n email\" | rpxTranslate: {pba: \"PBA\"} }} <a href=\"mailto: MyHMCTSsupport@justice.gov.uk\">MyHMCTSsupport&#64;justice.gov.uk</a>{{ \"to ask for your PBA to be registered with your\n MyHMCTS account. You should include your organisation name and PBA number.\" | rpxTranslate: {pba: \"PBA\", myhmcts: \"MyHMCTS\"} }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"It can then take up to 3 days for your account to be updated. You\u2019ll need to start your claim\n again to pay the fee.\" | rpxTranslate }}\n </p>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Apply to get a new PBA\" | rpxTranslate: {pba: \"PBA\"} }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"You\u2019ll need to provide details for you and your organisation, including the required credit\n limit for your account.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Once your account has been registered, you\u2019ll need to start your claim again to pay the fee.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Read more information on\" | rpxTranslate }} <a target=\"_blank\" href=\"https://www.gov.uk/guidance/hmcts-payment-by-account-for-online-services\">{{ \"registering for PBA\" | rpxTranslate: {pba: \"PBA\"} }}</a>.\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isInSufficiantFund && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n {{ \"You don't have enough funds in your PBA account to pay for this fee.\" | rpxTranslate }}\n </li>\n <li class=\"pba-payments-error-16-font\">\n {{ \"If you have already topped up your PBA account, wait up to 24 hours for the new balance to become available.\" | rpxTranslate: {pba: \"PBA\", number: \"24\"} }}\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Should you need any further advice\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Email\" | rpxTranslate }} <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices&#64;liberata.com</a> {{ \"or call\" | rpxTranslate }} <a href=\"tel:01633-652-125\">01633 652 125</a> ({{ \"option\" | rpxTranslate }} 3) {{ \"to try to fix the issue.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountNotExist && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n ({{ \"Your PBA account\" | rpxTranslate: {pba: \"PBA\"} }}) ({{ selectedPbaAccount }}) ({{ \"no longer exists.\" | rpxTranslate }})\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Should you need any further advice\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n {{ \"Email\" | rpxTranslate }} <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices&#64;liberata.com</a> {{ \"or call\" | rpxTranslate }} <a href=\"tel:01633-652-125\">01633 652 125</a> ({{ \"option\" | rpxTranslate }} 3) {{ \"to try to fix the issue.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountHold && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n {{ \"There is a problem\" | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n {{ \"Your PBA account \" | rpxTranslate: {pba: \"PBA\"} }} ({{selectedPbaAccount}}) {{ \" has been put on hold.\" | rpxTranslate }}\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">{{ \"Should you need any further advice\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n {{ \"Email\" | rpxTranslate }} <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices&#64;liberata.com</a> {{ \"or call\" | rpxTranslate }} <a href=\"tel:01633-652-125\">01633 652 125</a> ({{ \"option\" | rpxTranslate }} 3) {{ \"to try to fix the issue.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAServerError && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">{{ \"Sorry, there is a problem with the service\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Try again later.\" | rpxTranslate }}\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"you can also pay by credit or debit card.\" | rpxTranslate }}\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n {{ \"View Service Request\" | rpxTranslate }}\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n {{ \"Pay by card\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-panel govuk-panel--confirmation pba-payments--confirmation\">\n <h1 class=\"govuk-panel__title pba-payments--title white\">\n {{ \"Payment successful\" | rpxTranslate }}\n </h1>\n <div class=\"govuk-panel__body pba-payments__body white\">\n {{ \"Your payment reference is\" | rpxTranslate }} <br><strong class=\"white\">{{pbaAccountrPaymentResult.payment_reference}}</strong>\n </div>\n </div>\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">{{ \"View service requests\" | rpxTranslate }}</a>\n </p>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">{{ \"Sorry, there is a problem with the service\" | rpxTranslate }}</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n {{ \"Try again later.\" | rpxTranslate }}\n </p>\n <!-- <p class=\"govuk-body pba-payments-19-font\">\n you can also <a href=\"javascript:void(0)\" (click)=\"cardPayment()\" >pay by credit or debit card</a>.\n </p> -->\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">{{ \"View service requests\" | rpxTranslate }}</a>\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n</ng-container>\n\n\n\n", styles: [".pba-payments-govuk__label{font-weight:700;line-height:1.31578947}.pba-payments-19-font{font-size:19px}.pba-payments-font-bld{font-weight:700}.pba-payments-16-font{font-size:16px}.pba-payments-24-font{font-size:24px}.pba-payments-20-margin{margin-bottom:20px}.pba-payments-select-box--size{width:40%}.pba-payments-error-box--size{width:80%}.pba-payments-ref-box--size{width:60%}.pba-payments-error-16-font{font-size:16px;line-height:34px}.pba-payments-margin-10{margin-right:10px}.pba-payments-margin-top-10{margin-top:15px}.pba-payments-heading-lg{font-size:40px;font-weight:700;line-height:72px}.pba-payments--confirmation{background:#00703c!important}.pba-payments__body{font-size:36px!important}.pba-payments--title{font-size:48px!important}.warning-heading-m{font-size:29px;font-weight:700}.pba-payment-width{width:75%}.margin-top-10-px{margin-top:10px}.govuk-error-summary:focus{outline:3px solid #ffdd00}.govuk-body-width{width:750px}.white{color:#fff}\n"] }]
157
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
158
+ type: Inject,
159
+ args: ['PAYMENT_LIB']
160
+ }] }, { type: i1.PaymentViewService }], propDecorators: { pbaPayOrderRef: [{
161
+ type: Input
162
+ }] } });
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJhLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BiYS1wYXltZW50L3BiYS1wYXltZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9wYmEtcGF5bWVudC9wYmEtcGF5bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQUd4RSxNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQztBQVkvQyxNQUFNLE9BQU8sbUJBQW1CO0lBcUJhO0lBQ2pDO0lBckJELGNBQWMsQ0FBTTtJQUM3QixVQUFVLENBQVM7SUFDbkIsY0FBYyxDQUFXO0lBQ3pCLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxRQUFRLENBQU07SUFDZCxvQkFBb0IsR0FBWSxJQUFJLENBQUM7SUFDckMsa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUN0QyxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFDbEMsc0JBQXNCLEdBQVksS0FBSyxDQUFDO0lBQ3hDLGtCQUFrQixHQUFXLEVB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QUFxQixHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFBO1lBQ2xDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUE7WUFDbEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUNELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ3hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzdDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7SUFDM0QsQ0FBQzt3R0FuSlUsbUJBQW1CLGtCQXFCVixhQUFhOzRGQXJCdEIsbUJBQW1CLDJIQ3JCaEMsbXZtQkE0VUEsMC9CRDVUSSxZQUFZLDBUQUNaLG9CQUFvQjs7NEZBSVgsbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLG1CQUFtQixXQUdwQjt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjtxQkFDckIsY0FDVyxJQUFJOzswQkF1QkgsTUFBTTsyQkFBQyxhQUFhOzBFQXBCeEIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RQYmFQYXltZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSwgUnB4TGFuZ3VhZ2UgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbnR5cGUgUGF5bWVudExpYkFsaWFzID0gUGF5bWVudExpYkNvbXBvbmVudDtcblxuY29uc3QgQlNfRU5BQkxFX0ZMQUcgPSAnYnVsay1zY2FuLWVuYWJsaW5nLWZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcGJhLXBheW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGJhLXBheW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYmEtcGF5bWVudC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJweFRyYW5zbGF0aW9uTW9kdWxlXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUGJhUGF5bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBiYVBheU9yZGVyUmVmOiBhbnk7XG4gIHZpZXdTdGF0dXM6IHN0cmluZztcbiAgcGJhQWNjb3VudExpc3Q6IHN0cmluZ1tdO1xuICBpc1BCQUFjY291bnRIb2xkOiBib29sZWFuID0gZmFsc2U7XG4gIGVycm9yTXNnOiBhbnk7XG4gIGlzQ2FyZFBheW1lbnRTdWNjZXNzOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNJblN1ZmZpY2lhbnRGdW5kOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUEJBQWNjb3VudE5vdEV4aXN0OiBib29sZWFuID0gZmFsc2U7XG4gIGlzUEJBU2VydmVyRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNHZXRQQkFBY2NvdW50U3VjY2VlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFBiYUFjY291bnQ6IHN0cmluZyA9ICcnO1xuICBwYmFBY2NvdW50UmVmOiBzdHJpbmcgPSAnJztcbiAgaXNQYmFBY2NvdW50U2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDYXJkUGF5bWVudFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUEJBRHJvcGRvd25TZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBpc1BCQUFjY291bnRQYXltZW50U3VjY2VzczogYm9vbGVhbiA9IGZhbHNlO1xuICBwYmFBY2NvdW50clBheW1lbnRSZXN1bHQ6IGFueTtcbiAgb3JnTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnUEFZTUVOVF9MSUInKSBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJBbGlhcyxcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBiYVBheU9yZGVyUmVmID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBiYVBheU9yZGVyUmVmO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdwYmEtcGF5bWVudCc7XG4gICAgdGhpcy5lcnJvck1zZyA9IG51bGw7XG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0UEJBYWNjb3VudERldGFpbHMoKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzdWx0ID0+IHtcbiAgICAgICAgICB0aGlzLmlzR2V0UEJBQWNjb3VudFN1Y2NlZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMub3JnTmFtZSA9IHJlc3VsdC5vcmdhbmlzYXRpb25FbnRpdHlSZXNwb25zZS5uYW1lO1xuICAgICAgICAgIHRoaXMucGJhQWNjb3VudExpc3QgPSByZXN1bHQub3JnYW5pc2F0aW9uRW50aXR5UmVzcG9uc2UucGF5bWVudEFjY291bnQ7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yTXNnID0gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgfVxuXG4gIGdldFBlcnNpc3RlZExhbmd1YWdlKCk6IFJweExhbmd1YWdlIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmluZCgoY29va2llKSA9PiBjb29raWUudHJpbSgpLnN0YXJ0c1dpdGgoJ2V4dWktcHJlZmVycmVkLWxhbmd1YWdlJyArICc9JykpPy5zcGxpdCgnPScpWzFdLnRyaW0oKSBhcyBScHhMYW5ndWFnZTtcbiAgfVxuXG4gIGJ1dHRvbkNoZWNrKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUGJhQWNjb3VudCAhPT0gJycgJiYgdGhpcy5wYmFBY2NvdW50UmVmICE9PSBcIlwiKSB7XG4gICAgICB0aGlzLmlzQ29udGludWVCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RwYmFhY2NvdW50KGFyZ3MpIHtcbiAgICBpZiAoYXJncy5jdXJyZW50VGFyZ2V0LmlkID09PSAncGJhQWNjb3VudE51bWJlcicpIHtcbiAgICAgIHRoaXMuaXNQQkFEcm9wZG93blNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYmFBY2NvdW50ID0gYXJncy50YXJnZXQudmFsdWU7XG4gICAgICB0aGlzLmJ1dHRvbkNoZWNrKCk7XG4gICAgfVxuICAgIGlmIChhcmdzLmN1cnJlbnRUYXJnZXQuaWQgPT09ICdwYmFBY2NvdW50UmVmJykge1xuICAgICAgdGhpcy5wYmFBY2NvdW50UmVmID0gYXJncy50YXJnZXQudmFsdWU7XG4gICAgICB0aGlzLmJ1dHRvbkNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZUFuZENvbnRpbnVlKCkge1xuXG4gICAgaWYgKHRoaXMuaXNQYmFBY2NvdW50U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuaXNJblN1ZmZpY2lhbnRGdW5kID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUEJBQWNjb3VudE5vdEV4aXN0ID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUEJBU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLnBiYUFjY291bnRMaXN0LmluZGV4T2YodGhpcy5zZWxlY3RlZFBiYUFjY291bnQpICE9PSAtMSkge1xuICAgICAgICBjb25zdCByZXF1ZXN0Qm9keSA9IG5ldyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50KFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQYmFBY2NvdW50LCB0aGlzLnBiYVBheU9yZGVyUmVmLm9yZGVyVG90YWxGZWVzLCB0aGlzLnBiYUFjY291bnRSZWYsIHRoaXMub3JnTmFtZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UucG9zdFBCQWFjY291bnRQYXltZW50KHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJSZWZJZCwgcmVxdWVzdEJvZHkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICByID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5wYmFBY2NvdW50clBheW1lbnRSZXN1bHQgPSBKU09OLnBhcnNlKHIpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMucGJhQWNjb3VudHJQYXltZW50UmVzdWx0ID0gcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5pc1BCQUFjY291bnRQYXltZW50U3VjY2VzcyA9IHRydWU7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlLnN0YXR1cyA9PSAnNDAyJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc0luU3VmZmljaWFudEZ1bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5zdGF0dXMgPT0gJzQxMCcpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNQQkFBY2NvdW50Tm90RXhpc3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5zdGF0dXMgPT0gJzQxMicpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNQQkFBY2NvdW50SG9sZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNQQkFTZXJ2ZXJFcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuXG4gICAgICAgIH0sIDUwMDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc1BCQVNlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNDYXJkUGF5bWVudFNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmNhcmRQYXltZW50KCk7XG4gICAgfVxuXG4gIH1cbiAgY2FyZFBheW1lbnQoKSB7XG4gICAgdGhpcy5pc0NhcmRQYXltZW50U3VjY2VzcyA9IHRydWU7XG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQoXG4gICAgICB0aGlzLnBiYVBheU9yZGVyUmVmLm9yZGVyVG90YWxGZWVzLCB0aGlzLmdldFBlcnNpc3RlZExhbmd1YWdlKCkpO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RXYXlzMlBheUNhcmRQYXltZW50KHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJSZWZJZCwgcmVxdWVzdEJvZHkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXN1bHQgPT4ge1xuICAgICAgICAgIGNvbnN0IHBheW1lbnRVcmwgPSBKU09OLnBhcnNlKHJlc3VsdCkubmV4dF91cmw7XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwYXltZW50VXJsO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0NhcmRQYXltZW50U3VjY2VzcyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gIH1cbiAgc2VsZWN0UGF5bWVudE1ldGhvZCh0eXBlOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZSA9PT0gJ1BCQScpIHtcbiAgICAgIHRoaXMuaXNQYmFBY2NvdW50U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFEcm9wZG93blNlbGVjdGVkID0gZmFsc2VcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYmFBY2NvdW50ID0gbnVsbDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdDQVJEJykge1xuICAgICAgdGhpcy5pc1BiYUFjY291bnRTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1BCQURyb3Bkb3duU2VsZWN0ZWQgPSBmYWxzZVxuICAgICAgdGhpcy5pc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IGZhbHNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdHJ1ZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdwYmEtcGF5bWVudCdcIj5cblxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNcIiAqbmdJZj1cIiFlcnJvck1zZyAmJiAhaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3MgJiYgIWlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gICAgPG9sIGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNfX2xpc3RcIj5cbiAgICAgIDxsaSBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW1cIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIiBjbGFzcz1cImdvdnVrLWJhY2stbGluayBwYmEtcGF5bWVudHMtMTYtZm9udFwiPkJhY2s8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvb2w+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRcIiAqbmdJZj1cIihwYmFBY2NvdW50TGlzdD8ubGVuZ3RoID4gMCB8fCBlcnJvck1zZykgJiYgIWlzSW5TdWZmaWNpYW50RnVuZCAmJiAhaXNQQkFBY2NvdW50Tm90RXhpc3QgJiYgIWlzUEJBU2VydmVyRXJyb3IgJiYgIWlzUEJBQWNjb3VudEhvbGQgJiYgIWlzUEJBQWNjb3VudFBheW1lbnRTdWNjZXNzICYmIGlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNc2dcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnkgcGJhLXBheW1lbnRzLWVycm9yLWJveC0tc2l6ZVwiIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIiA+XG4gICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSBnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZS1jdXN0b20gcGJhLXBheW1lbnRzLTI0LWZvbnRcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICAge3sgXCJUaGVyZSBpcyBhIHByb2JsZW1cIiAgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvaDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJwYmEtcGF5bWVudHMtZXJyb3ItMTYtZm9udFwiPlxuICAgICAgICAgICAge3sgXCJZb3VyIFBCQSBhY2NvdW50IGNhbm5vdCBiZSBmb3VuZC5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGJhLXBheW1lbnRzLWVycm9yLTE2LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwiSWYgeW91IGtub3cgeW91ciBvcmdhbmlzYXRpb24gaGFzIGEgUEJBLCB0cnkgYWdhaW4uXCIgfCBycHhUcmFuc2xhdGUgOiB7cGJhOiBcIlBCQVwifSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGJhLXBheW1lbnRzLWVycm9yLTE2LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwiWW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDxoMSBjbGFzcz1cImhlYWRpbmctbWVkaXVtIG1hcmdpbi10b3AtMTAtcHhcIj5QYXkgZmVlIHVzaW5nIFBheW1lbnQgYnkgQWNjb3VudCAoUEJBKTwvaDE+IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIG1hcmdpbi10b3AtMTAtcHhcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIHBiYS1wYXltZW50cy1nb3Z1a19fbGFiZWwgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAge3sgXCJBbW91bnQgdG8gcGF5XCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c3BhbiBjbGFzcz1cInBiYS1wYXltZW50cy0xOS1mb250XCI+e3twYmFQYXlPcmRlclJlZi5vcmRlclRvdGFsRmVlcyB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiICpuZ0lmPVwiIWVycm9yTXNnXCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb250YWN0LWhpbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwicGJhQWNjb3VudFwiIG5hbWU9XCJwYXltZW50U2VsZWN0aW9uXCIgdHlwZT1cInJhZGlvXCIgdmFsdWU9XCJQQkFcIiAoY2xpY2spPVwic2VsZWN0UGF5bWVudE1ldGhvZCgnUEJBJylcIiBkYXRhLWFyaWEtY29udHJvbHM9XCJwYmEtYWNjb3VudFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtZm9udC1ibGRcIiBmb3I9XCJwYmFBY2NvdW50XCI+XG4gICAgICAgICAgICAgIHt7IFwiUGF5IGZlZSB1c2luZyBQYXltZW50IGJ5IEFjY291bnQgKFBCQSlcIiB8IHJweFRyYW5zbGF0ZToge3BiYTogXCIoUEJBKVwifSB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiIGlkPVwiY29uZGl0aW9uYWwtY29udGFjdFwiICpuZ0lmPVwiaXNQYmFBY2NvdW50U2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIHBiYS1wYXltZW50cy1zZWxlY3QtYm94LS1zaXplXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIHBiYS1wYXltZW50cy1nb3Z1a19fbGFiZWwgcGJhLXBheW1lbnRzLTE5LWZvbnRcIiBmb3I9XCJwYmFBY2NvdW50TnVtYmVyXCI+XG4gICAgICAgICAgICAgICAge3sgXCJTZWxlY3QgYSBQQkFcIiB8IHJweFRyYW5zbGF0ZToge3BiYTogXCJQQkFcIn0gfX1cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBzaG9ydC1pbnB1dFwiIGlkPVwicGJhQWNjb3VudE51bWJlclwiIChjaGFuZ2UpPVwic2VsZWN0cGJhYWNjb3VudCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIHNlbGVjdGVkPSdzZWxlY3RlZCc+e3sgXCJTZWxlY3Qgb3B0aW9uXCIgfCBycHhUcmFuc2xhdGUgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uICAqbmdGb3I9XCJsZXQgcGJhQWNjb3VudCBvZiBwYmFBY2NvdW50TGlzdDtcIiB2YWx1ZT1cInt7cGJhQWNjb3VudH19XCI+e3twYmFBY2NvdW50fX08L29wdGlvbj5cbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgKm5nSWY9XCIhZXJyb3JNc2cgJiYgc2VsZWN0ZWRQYmFBY2NvdW50XCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIHBiYS1wYXltZW50cy1nb3Z1a19fbGFiZWwgcGJhLXBheW1lbnRzLTI0LWZvbnRcIiBmb3I9XCJwYmFBY2NvdW50TnVtYmVyXCI+XG4gICAgICAgICAgICAgICAge3sgXCJFbnRlciBhIHJlZmVyZW5jZSBmb3IgeW91ciBQQkEgYWNjb3VudCBzdGF0ZW1lbnRzXCIgfCBycHhUcmFuc2xhdGU6IHtwYmE6IFwiUEJBXCJ9IH19XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgaWQ9XCJldmVudC1uYW1lLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnQgcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnQtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICB7eyBcIlRoaXMgc2hvdWxkIGJlIHlvdXIgb3duIHVuaXF1ZSByZWZlcmVuY2UgdG8gaWRlbnRpZnkgdGhlIGNhc2UuIEl0IHdpbGwgYXBwZWFyIG9uIHlvdXIgc3RhdGVtZW50cy5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBwYmEtcGF5bWVudHMtcmVmLWJveC0tc2l6ZSBwYmEtcGF5bWVudHMtMTktZm9udFwiIGlkPVwicGJhQWNjb3VudFJlZlwiIChjaGFuZ2UpPVwic2VsZWN0cGJhYWNjb3VudCgkZXZlbnQpXCIgKGtleXVwKT1cInNlbGVjdHBiYWFjY291bnQoJGV2ZW50KVwiIG5hbWU9XCJwYmFBY2NvdW50UmVmXCIgdHlwZT1cInRleHRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwicGJhQWNjb3VudFJlZi1oaW50XCI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImNhcmRQYXltZW50XCIgbmFtZT1cInBheW1lbnRTZWxlY3Rpb25cIiB0eXBlPVwicmFkaW9cIiB2YWx1ZT1cImNhcmRcIiAoY2xpY2spPVwic2VsZWN0UGF5bWVudE1ldGhvZCgnQ0FSRCcpXCIgZGF0YS1hcmlhLWNvbnRyb2xzPVwiY2FyZC1wYXltZW50XCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy1mb250LWJsZFwiIGZvcj1cImNhcmRQYXltZW50XCI+XG4gICAgICAgICAgICAgIHt7IFwiUGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tLWdyb3VwXCIgICpuZ0lmPVwiZXJyb3JNc2dcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IHBiYS1wYXltZW50cy1tYXJnaW4tMTBcIiAoY2xpY2spPVwiZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpXCI+XG4gICAgICAgIHt7IFwiVmlldyBTZXJ2aWNlIFJlcXVlc3RcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtMjAtbWFyZ2luXCIgKGNsaWNrKT1cImNhcmRQYXltZW50KClcIj5cbiAgICAgICAge3sgXCJQYXkgYnkgY2FyZFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiICAqbmdJZj1cIiFlcnJvck1zZ1wiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImlzQ29udGludWVCdXR0b25kaXNhYmxlZFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwic2F2ZUFuZENvbnRpbnVlKClcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNQQkFEcm9wZG93blNlbGVjdGVkXCIgY2xhc3M9XCJ3aGl0ZVwiPnt7IFwiQ29udGludWVcIiB8IHJweFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1BCQURyb3Bkb3duU2VsZWN0ZWRcIiBjbGFzcz1cIndoaXRlXCI+e3sgXCJDb25maXJtIHBheW1lbnRcIiB8IHJweFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwYmFBY2NvdW50TGlzdD8ubGVuZ3RoIDw9IDAgJiYgIWVycm9yTXNnICYmIGlzR2V0UEJBQWNjb3VudFN1Y2NlZWQgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj4hPC9zcGFuPlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj57eyBcIldhcm5pbmdcIiB8IHJweFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cIndhcm5pbmctaGVhZGluZy1tXCI+e3sgXCJZb3UgZG9u4oCZdCBoYXZlIGEgcmVnaXN0ZXJlZCBQQkEuXCIgfCBycHhUcmFuc2xhdGU6IHtwYmE6IFwiUEJBXCJ9IH19PC9oMj5cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+e3sgXCJQYXkgYnkgY3JlZGl0IG9yIGRlYml0IGNhcmRcIiB8IHJweFRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB7eyBcIldlIHJlY29tbWVuZCB0aGF0IHlvdSBhcHBseSB0byBnZXQgYSBuZXcgUEJBIHRvIHBheSBmb3IgZmVlcy5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZCB5cGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwieW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZCBpZiB5b3UgbmVlZCB0byBwYXkgbm93XCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIj5cbiAgICAgICAgICAgICAge3sgXCJQYXkgYnkgY2FyZFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3A+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+e3sgXCJSZWdpc3RlciBhbiBleGlzdGluZyBQQkEgd2l0aCBNeUhNQ1RTXCIgfCBycHhUcmFuc2xhdGU6IHtwYmE6IFwiUEJBXCIsIG15aG1jdHM6IFwiTXlITUNUU1wifSB9fTwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB7eyBcIllvdSBtYXkgZmluZCBpdCBlYXNpZXIgaW4gZnV0dXJlIHRvIHBheSBieSBQQkEsIHlvdXIgb3JnYW5pc2F0aW9uIGFkbWluaXN0cmF0b3Igd2lsbCBuZWVkIHRvXG4gICAgICAgICAgICBlbWFpbFwiIHwgcnB4VHJhbnNsYXRlOiB7cGJhOiBcIlBCQVwifSB9fSA8YSBocmVmPVwibWFpbHRvOiBNeUhNQ1RTc3VwcG9ydEBqdXN0aWNlLmdvdi51a1wiPk15SE1DVFNzdXBwb3J0JiM2NDtqdXN0aWNlLmdvdi51azwvYT57eyBcInRvIGFzayBmb3IgeW91ciBQQkEgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIHlvdXJcbiAgICAgICAgICAgIE15SE1DVFMgYWNjb3VudC4gWW91IHNob3VsZCBpbmNsdWRlIHlvdXIgb3JnYW5pc2F0aW9uIG5hbWUgYW5kIFBCQSBudW1iZXIuXCIgfCBycHhUcmFuc2xhdGU6IHtwYmE6IFwiUEJBXCIsIG15aG1jdHM6IFwiTXlITUNUU1wifSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwiSXQgY2FuIHRoZW4gdGFrZSB1cCB0byAzIGRheXMgZm9yIHlvdXIgYWNjb3VudCB0byBiZSB1cGRhdGVkLiBZb3XigJlsbCBuZWVkIHRvIHN0YXJ0IHlvdXIgY2xhaW1cbiAgICAgICAgICAgIGFnYWluIHRvIHBheSB0aGUgZmVlLlwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBiYS1wYXltZW50cy1tYXJnaW4tdG9wLTEwXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy1tZWRpdW1cIj57eyBcIkFwcGx5IHRvIGdldCBhIG5ldyBQQkFcIiB8IHJweFRyYW5zbGF0ZToge3BiYTogXCJQQkFcIn0gfX08L2gyPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAge3sgXCJZb3XigJlsbCBuZWVkIHRvIHByb3ZpZGUgZGV0YWlscyBmb3IgeW91IGFuZCB5b3VyIG9yZ2FuaXNhdGlvbiwgaW5jbHVkaW5nIHRoZSByZXF1aXJlZCBjcmVkaXRcbiAgICAgICAgICAgICBsaW1pdCBmb3IgeW91ciBhY2NvdW50LlwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAge3sgXCJPbmNlIHlvdXIgYWNjb3VudCBoYXMgYmVlbiByZWdpc3RlcmVkLCB5b3XigJlsbCBuZWVkIHRvIHN0YXJ0IHlvdXIgY2xhaW0gYWdhaW4gdG8gcGF5IHRoZSBmZWUuXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB7eyBcIlJlYWQgbW9yZSBpbmZvcm1hdGlvbiBvblwiIHwgcnB4VHJhbnNsYXRlIH19IDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvaG1jdHMtcGF5bWVudC1ieS1hY2NvdW50LWZvci1vbmxpbmUtc2VydmljZXNcIj57eyBcInJlZ2lzdGVyaW5nIGZvciBQQkFcIiB8IHJweFRyYW5zbGF0ZToge3BiYTogXCJQQkFcIn0gfX08L2E+LlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0luU3VmZmljaWFudEZ1bmQgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeSBwYmEtcGF5bWVudHMtZXJyb3ItYm94LS1zaXplXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIGdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlLWN1c3RvbSBwYmEtcGF5bWVudHMtMjQtZm9udFwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgICAge3sgXCJUaGVyZSBpcyBhIHByb2JsZW1cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwYmEtcGF5bWVudHMtZXJyb3ItMTYtZm9udFwiPlxuICAgICAgICAgICAgICAgIHt7IFwiWW91IGRvbid0IGhhdmUgZW5vdWdoIGZ1bmRzIGluIHlvdXIgUEJBIGFjY291bnQgdG8gcGF5IGZvciB0aGlzIGZlZS5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwYmEtcGF5bWVudHMtZXJyb3ItMTYtZm9udFwiPlxuICAgICAgICAgICAgICAgIHt7IFwiSWYgeW91IGhhdmUgYWxyZWFkeSB0b3BwZWQgdXAgeW91ciBQQkEgYWNjb3VudCwgd2FpdCB1cCB0byAyNCBob3VycyBmb3IgdGhlIG5ldyBiYWxhbmNlIHRvIGJlY29tZSBhdmFpbGFibGUuXCIgfCBycHhUcmFuc2xhdGU6IHtwYmE6IFwiUEJBXCIsIG51bWJlcjogXCIyNFwifSB9fVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+e3sgXCJTaG91bGQgeW91IG5lZWQgYW55IGZ1cnRoZXIgYWR2aWNlXCIgfCBycHhUcmFuc2xhdGUgfX08L2gyPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAge3sgXCJFbWFpbFwiIHwgcnB4VHJhbnNsYXRlIH19IDxhIGhyZWY9XCJtYWlsdG86TWlkZGxlT2ZmaWNlLkREc2VydmljZXNAbGliZXJhdGEuY29tXCI+TWlkZGxlT2ZmaWNlLkREc2VydmljZXMmIzY0O2xpYmVyYXRhLmNvbTwvYT4ge3sgXCJvciBjYWxsXCIgfCBycHhUcmFuc2xhdGUgfX0gPGEgaHJlZj1cInRlbDowMTYzMy02NTItMTI1XCI+MDE2MzMgNjUyIDEyNTwvYT4gKHt7IFwib3B0aW9uXCIgfCBycHhUcmFuc2xhdGUgfX0gMykge3sgXCJ0byB0cnkgdG8gZml4IHRoZSBpc3N1ZS5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwieW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgcGJhLXBheW1lbnRzLW1hcmdpbi0xMFwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj5cbiAgICAgICAgICAgICAge3sgXCJWaWV3IFNlcnZpY2UgUmVxdWVzdFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiPlxuICAgICAgICAgICAgICB7eyBcIlBheSBieSBjYXJkXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1BCQUFjY291bnROb3RFeGlzdCAmJiBpc0NhcmRQYXltZW50U3VjY2Vzc1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4gICAgPG1haW4gY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCIgaWQ9XCJtYWluLWNvbnRlbnRcIiByb2xlPVwibWFpblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5IHBiYS1wYXltZW50cy1lcnJvci1ib3gtLXNpemVcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUgZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUtY3VzdG9tIHBiYS1wYXltZW50cy0yNC1mb250XCIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAgICAgICB7eyBcIlRoZXJlIGlzIGEgcHJvYmxlbVwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICAgICAgKHt7IFwiWW91ciBQQkEgYWNjb3VudFwiIHwgcnB4VHJhbnNsYXRlOiB7cGJhOiBcIlBCQVwifSB9fSkgKHt7IHNlbGVjdGVkUGJhQWNjb3VudCB9fSkgKHt7IFwibm8gbG9uZ2VyIGV4aXN0cy5cIiB8IHJweFRyYW5zbGF0ZSB9fSlcbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiPnt7IFwiU2hvdWxkIHlvdSBuZWVkIGFueSBmdXJ0aGVyIGFkdmljZVwiIHwgcnB4VHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnQgZ292dWstYm9keS13aWR0aFwiPlxuICAgICAgICAgICAge3sgXCJFbWFpbFwiIHwgcnB4VHJhbnNsYXRlIH19IDxhIGhyZWY9XCJtYWlsdG86TWlkZGxlT2ZmaWNlLkREc2VydmljZXNAbGliZXJhdGEuY29tXCI+TWlkZGxlT2ZmaWNlLkREc2VydmljZXMmIzY0O2xpYmVyYXRhLmNvbTwvYT4ge3sgXCJvciBjYWxsXCIgfCBycHhUcmFuc2xhdGUgfX0gPGEgaHJlZj1cInRlbDowMTYzMy02NTItMTI1XCI+MDE2MzMgNjUyIDEyNTwvYT4gKHt7IFwib3B0aW9uXCIgfCBycHhUcmFuc2xhdGUgfX0gMykge3sgXCJ0byB0cnkgdG8gZml4IHRoZSBpc3N1ZS5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwieW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgcGJhLXBheW1lbnRzLW1hcmdpbi0xMFwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj5cbiAgICAgICAgICAgICAge3sgXCJWaWV3IFNlcnZpY2UgUmVxdWVzdFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiPlxuICAgICAgICAgICAgICB7eyBcIlBheSBieSBjYXJkXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1BCQUFjY291bnRIb2xkICYmIGlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbiAgICA8bWFpbiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIiBpZD1cIm1haW4tY29udGVudFwiIHJvbGU9XCJtYWluXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnkgcGJhLXBheW1lbnRzLWVycm9yLWJveC0tc2l6ZVwiIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSBnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZS1jdXN0b20gcGJhLXBheW1lbnRzLTI0LWZvbnRcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IFwiVGhlcmUgaXMgYSBwcm9ibGVtXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicGJhLXBheW1lbnRzLWVycm9yLTE2LWZvbnRcIj5cbiAgICAgICAgICAgICAgICB7eyBcIllvdXIgUEJBIGFjY291bnQgXCIgfCBycHhUcmFuc2xhdGU6IHtwYmE6IFwiUEJBXCJ9IH19ICAoe3tzZWxlY3RlZFBiYUFjY291bnR9fSkge3sgXCIgaGFzIGJlZW4gcHV0IG9uIGhvbGQuXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiPnt7IFwiU2hvdWxkIHlvdSBuZWVkIGFueSBmdXJ0aGVyIGFkdmljZVwiIHwgcnB4VHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnQgZ292dWstYm9keS13aWR0aFwiPlxuICAgICAgICAgICAge3sgXCJFbWFpbFwiIHwgcnB4VHJhbnNsYXRlIH19IDxhIGhyZWY9XCJtYWlsdG86TWlkZGxlT2ZmaWNlLkREc2VydmljZXNAbGliZXJhdGEuY29tXCI+TWlkZGxlT2ZmaWNlLkREc2VydmljZXMmIzY0O2xpYmVyYXRhLmNvbTwvYT4ge3sgXCJvciBjYWxsXCIgfCBycHhUcmFuc2xhdGUgfX0gPGEgaHJlZj1cInRlbDowMTYzMy02NTItMTI1XCI+MDE2MzMgNjUyIDEyNTwvYT4gKHt7IFwib3B0aW9uXCIgfCBycHhUcmFuc2xhdGUgfX0gMykge3sgXCJ0byB0cnkgdG8gZml4IHRoZSBpc3N1ZS5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwieW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgcGJhLXBheW1lbnRzLW1hcmdpbi0xMFwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj5cbiAgICAgICAgICAgICAge3sgXCJWaWV3IFNlcnZpY2UgUmVxdWVzdFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiPlxuICAgICAgICAgICAgICB7eyBcIlBheSBieSBjYXJkXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1BCQVNlcnZlckVycm9yICYmIGlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbiAgICA8bWFpbiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIiBpZD1cIm1haW4tY29udGVudFwiIHJvbGU9XCJtYWluXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBiYS1wYXltZW50cy1tYXJnaW4tdG9wLTEwXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwicGJhLXBheW1lbnRzLWhlYWRpbmctbGdcIj57eyBcIlNvcnJ5LCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgc2VydmljZVwiIHwgcnB4VHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwiVHJ5IGFnYWluIGxhdGVyLlwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAge3sgXCJ5b3UgY2FuIGFsc28gcGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkLlwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tLWdyb3VwXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBwYmEtcGF5bWVudHMtbWFyZ2luLTEwXCIgKGNsaWNrKT1cImdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKVwiPlxuICAgICAgICAgICAgICB7eyBcIlZpZXcgU2VydmljZSBSZXF1ZXN0XCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnRzLTIwLW1hcmdpblwiIChjbGljayk9XCJjYXJkUGF5bWVudCgpXCI+XG4gICAgICAgICAgICAgIHt7IFwiUGF5IGJ5IGNhcmRcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3MgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcGFuZWwgZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiBwYmEtcGF5bWVudHMtLWNvbmZpcm1hdGlvblwiPlxuICAgICAgICAgIDxoMSBjbGFzcz1cImdvdnVrLXBhbmVsX190aXRsZSBwYmEtcGF5bWVudHMtLXRpdGxlIHdoaXRlXCI+XG4gICAgICAgICAgICAge3sgXCJQYXltZW50IHN1Y2Nlc3NmdWxcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXBhbmVsX19ib2R5IHBiYS1wYXltZW50c19fYm9keSB3aGl0ZVwiPlxuICAgICAgICAgICAgICB7eyBcIllvdXIgcGF5bWVudCByZWZlcmVuY2UgaXNcIiB8IHJweFRyYW5zbGF0ZSB9fSA8YnI+PHN0cm9uZyBjbGFzcz1cIndoaXRlXCI+e3twYmFBY2NvdW50clBheW1lbnRSZXN1bHQucGF5bWVudF9yZWZlcmVuY2V9fTwvc3Ryb25nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj57eyBcIlZpZXcgc2VydmljZSByZXF1ZXN0c1wiIHwgcnB4VHJhbnNsYXRlIH19PC9hPlxuICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbiAgICA8bWFpbiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIiBpZD1cIm1haW4tY29udGVudFwiIHJvbGU9XCJtYWluXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBiYS1wYXltZW50cy1tYXJnaW4tdG9wLTEwXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwicGJhLXBheW1lbnRzLWhlYWRpbmctbGdcIj57eyBcIlNvcnJ5LCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgc2VydmljZVwiIHwgcnB4VHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHt7IFwiVHJ5IGFnYWluIGxhdGVyLlwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDwhLS0gPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB5b3UgY2FuIGFsc28gPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJjYXJkUGF5bWVudCgpXCIgPnBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZDwvYT4uXG4gICAgICAgICAgPC9wPiAtLT5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwiZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpXCI+e3sgXCJWaWV3IHNlcnZpY2UgcmVxdWVzdHNcIiB8IHJweFRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cblxuXG4iXX0=