@hmcts/ccpay-web-component 4.0.0-beta526 → 4.0.0-beta527

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 (196) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +6641 -2945
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-ccpay-web-component.js +33 -26
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +849 -144
  7. package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +196 -276
  8. package/esm2015/lib/components/card-details/card-details.component.js +22 -34
  9. package/esm2015/lib/components/case-transactions/case-transactions.component.js +726 -537
  10. package/esm2015/lib/components/error-banner/error-banner.component.js +5 -17
  11. package/esm2015/lib/components/fee-summary/fee-summary.component.js +146 -257
  12. package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +86 -143
  13. package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +106 -162
  14. package/esm2015/lib/components/page-not-found.component.js +3 -4
  15. package/esm2015/lib/components/payment-list/payment-list.component.js +22 -80
  16. package/esm2015/lib/components/payment-view/payment-view.component.js +319 -137
  17. package/esm2015/lib/components/pba-details/pba-details.component.js +5 -32
  18. package/esm2015/lib/components/process-refund/process-refund.component.js +380 -0
  19. package/esm2015/lib/components/processed-payments/processed-payments.component.js +13 -41
  20. package/esm2015/lib/components/refund-list/refund-list.component.js +140 -0
  21. package/esm2015/lib/components/refund-status/refund-status.component.js +509 -0
  22. package/esm2015/lib/components/refunds/refunds.component.js +23 -0
  23. package/esm2015/lib/components/reports/reports.component.js +55 -116
  24. package/esm2015/lib/components/status-history/status-history.component.js +28 -42
  25. package/esm2015/lib/components/table/table.component.js +171 -0
  26. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +115 -113
  27. package/esm2015/lib/interfaces/AddRemissionRequest.js +2 -3
  28. package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +21 -0
  29. package/esm2015/lib/interfaces/AllocatePaymentRequest.js +2 -3
  30. package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
  31. package/esm2015/lib/interfaces/IBSPayments.js +38 -35
  32. package/esm2015/lib/interfaces/ICardDetails.js +14 -13
  33. package/esm2015/lib/interfaces/IFee.js +44 -43
  34. package/esm2015/lib/interfaces/IOrderReferenceFee.js +25 -0
  35. package/esm2015/lib/interfaces/IPatchRefundAction.js +15 -0
  36. package/esm2015/lib/interfaces/IPayment.js +56 -55
  37. package/esm2015/lib/interfaces/IPaymentGroup.js +12 -11
  38. package/esm2015/lib/interfaces/IPaymentStatus.js +2 -3
  39. package/esm2015/lib/interfaces/IPaymentView.js +17 -0
  40. package/esm2015/lib/interfaces/IPayments.js +6 -5
  41. package/esm2015/lib/interfaces/IRefundAction.js +15 -0
  42. package/esm2015/lib/interfaces/IRefundList.js +29 -0
  43. package/esm2015/lib/interfaces/IRefundReasons.js +19 -0
  44. package/esm2015/lib/interfaces/IRefundRejectReason.js +15 -0
  45. package/esm2015/lib/interfaces/IRefundStatus.js +23 -0
  46. package/esm2015/lib/interfaces/IRefundStatusHistory.js +15 -0
  47. package/esm2015/lib/interfaces/IRemission.js +18 -17
  48. package/esm2015/lib/interfaces/IResubmitRefundRequest.js +21 -0
  49. package/esm2015/lib/interfaces/IStatusHistories.js +12 -11
  50. package/esm2015/lib/interfaces/IStatusHistory.js +14 -13
  51. package/esm2015/lib/interfaces/IssueRefundRequest.js +25 -0
  52. package/esm2015/lib/interfaces/PayhubAntennaRequest.js +3 -4
  53. package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +3 -4
  54. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +17 -0
  55. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +21 -0
  56. package/esm2015/lib/interfaces/RefundsRequest.js +21 -0
  57. package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
  58. package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
  59. package/esm2015/lib/payment-lib.component.js +71 -9
  60. package/esm2015/lib/payment-lib.module.js +29 -6
  61. package/esm2015/lib/payment-lib.service.js +18 -4
  62. package/esm2015/lib/pipes/capitalize.pipe.js +24 -0
  63. package/esm2015/lib/pipes/ccd-hyphens.pipe.js +3 -4
  64. package/esm2015/lib/pipes/key-value.pipe.js +3 -4
  65. package/esm2015/lib/pipes/sanitize-html.pipe.js +7 -5
  66. package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +37 -14
  67. package/esm2015/lib/services/card-details/card-details.service.js +19 -8
  68. package/esm2015/lib/services/case-transactions/case-transactions.service.js +19 -8
  69. package/esm2015/lib/services/orderslist.service.js +211 -0
  70. package/esm2015/lib/services/payment-list/payment-list.service.js +19 -8
  71. package/esm2015/lib/services/payment-view/payment-view.service.js +81 -10
  72. package/esm2015/lib/services/refunds/refunds.service.js +203 -0
  73. package/esm2015/lib/services/shared/error-handler.service.js +6 -4
  74. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +27 -9
  75. package/esm2015/lib/services/shared/logger/console-logger.service.js +7 -5
  76. package/esm2015/lib/services/shared/logger/logger.service.js +7 -5
  77. package/esm2015/lib/services/status-history/status-history.service.js +19 -8
  78. package/esm2015/lib/services/xl-file/xl-file.service.js +56 -51
  79. package/esm2015/public_api.js +1 -2
  80. package/esm5/hmcts-ccpay-web-component.js +33 -26
  81. package/esm5/lib/components/add-remission/add-remission.component.js +917 -51
  82. package/esm5/lib/components/allocate-payments/allocate-payments.component.js +205 -62
  83. package/esm5/lib/components/card-details/card-details.component.js +20 -7
  84. package/esm5/lib/components/case-transactions/case-transactions.component.js +797 -71
  85. package/esm5/lib/components/error-banner/error-banner.component.js +3 -4
  86. package/esm5/lib/components/fee-summary/fee-summary.component.js +149 -44
  87. package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +84 -29
  88. package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +104 -40
  89. package/esm5/lib/components/page-not-found.component.js +3 -4
  90. package/esm5/lib/components/payment-list/payment-list.component.js +21 -8
  91. package/esm5/lib/components/payment-view/payment-view.component.js +379 -21
  92. package/esm5/lib/components/pba-details/pba-details.component.js +3 -4
  93. package/esm5/lib/components/process-refund/process-refund.component.js +456 -0
  94. package/esm5/lib/components/processed-payments/processed-payments.component.js +11 -6
  95. package/esm5/lib/components/refund-list/refund-list.component.js +143 -0
  96. package/esm5/lib/components/refund-status/refund-status.component.js +568 -0
  97. package/esm5/lib/components/refunds/refunds.component.js +29 -0
  98. package/esm5/lib/components/reports/reports.component.js +54 -25
  99. package/esm5/lib/components/status-history/status-history.component.js +27 -9
  100. package/esm5/lib/components/table/table.component.js +201 -0
  101. package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +126 -24
  102. package/esm5/lib/interfaces/AddRemissionRequest.js +2 -3
  103. package/esm5/lib/interfaces/AddRetroRemissionRequest.js +19 -0
  104. package/esm5/lib/interfaces/AllocatePaymentRequest.js +2 -3
  105. package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
  106. package/esm5/lib/interfaces/IBSPayments.js +38 -35
  107. package/esm5/lib/interfaces/ICardDetails.js +14 -13
  108. package/esm5/lib/interfaces/IFee.js +44 -43
  109. package/esm5/lib/interfaces/IOrderReferenceFee.js +25 -0
  110. package/esm5/lib/interfaces/IPatchRefundAction.js +15 -0
  111. package/esm5/lib/interfaces/IPayment.js +56 -55
  112. package/esm5/lib/interfaces/IPaymentGroup.js +12 -11
  113. package/esm5/lib/interfaces/IPaymentStatus.js +2 -3
  114. package/esm5/lib/interfaces/IPaymentView.js +17 -0
  115. package/esm5/lib/interfaces/IPayments.js +6 -5
  116. package/esm5/lib/interfaces/IRefundAction.js +15 -0
  117. package/esm5/lib/interfaces/IRefundList.js +29 -0
  118. package/esm5/lib/interfaces/IRefundReasons.js +19 -0
  119. package/esm5/lib/interfaces/IRefundRejectReason.js +15 -0
  120. package/esm5/lib/interfaces/IRefundStatus.js +23 -0
  121. package/esm5/lib/interfaces/IRefundStatusHistory.js +15 -0
  122. package/esm5/lib/interfaces/IRemission.js +18 -17
  123. package/esm5/lib/interfaces/IResubmitRefundRequest.js +19 -0
  124. package/esm5/lib/interfaces/IStatusHistories.js +12 -11
  125. package/esm5/lib/interfaces/IStatusHistory.js +14 -13
  126. package/esm5/lib/interfaces/IssueRefundRequest.js +22 -0
  127. package/esm5/lib/interfaces/PayhubAntennaRequest.js +3 -4
  128. package/esm5/lib/interfaces/PaymentToPayhubRequest.js +3 -4
  129. package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +16 -0
  130. package/esm5/lib/interfaces/PostRefundRetroRemission.js +19 -0
  131. package/esm5/lib/interfaces/RefundsRequest.js +19 -0
  132. package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
  133. package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
  134. package/esm5/lib/payment-lib.component.js +58 -7
  135. package/esm5/lib/payment-lib.module.js +29 -6
  136. package/esm5/lib/payment-lib.service.js +25 -4
  137. package/esm5/lib/pipes/capitalize.pipe.js +32 -0
  138. package/esm5/lib/pipes/ccd-hyphens.pipe.js +3 -4
  139. package/esm5/lib/pipes/key-value.pipe.js +3 -4
  140. package/esm5/lib/pipes/sanitize-html.pipe.js +7 -5
  141. package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +37 -14
  142. package/esm5/lib/services/card-details/card-details.service.js +19 -8
  143. package/esm5/lib/services/case-transactions/case-transactions.service.js +19 -8
  144. package/esm5/lib/services/orderslist.service.js +276 -0
  145. package/esm5/lib/services/payment-list/payment-list.service.js +19 -8
  146. package/esm5/lib/services/payment-view/payment-view.service.js +112 -10
  147. package/esm5/lib/services/refunds/refunds.service.js +243 -0
  148. package/esm5/lib/services/shared/error-handler.service.js +6 -4
  149. package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +27 -9
  150. package/esm5/lib/services/shared/logger/console-logger.service.js +7 -5
  151. package/esm5/lib/services/shared/logger/logger.service.js +7 -5
  152. package/esm5/lib/services/status-history/status-history.service.js +19 -8
  153. package/esm5/lib/services/xl-file/xl-file.service.js +62 -51
  154. package/esm5/public_api.js +1 -2
  155. package/fesm2015/hmcts-ccpay-web-component.js +3886 -2230
  156. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  157. package/fesm5/hmcts-ccpay-web-component.js +6742 -2856
  158. package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
  159. package/hmcts-ccpay-web-component.d.ts +31 -23
  160. package/hmcts-ccpay-web-component.metadata.json +1 -1
  161. package/lib/components/add-remission/add-remission.component.d.ts +72 -2
  162. package/lib/components/allocate-payments/allocate-payments.component.d.ts +16 -4
  163. package/lib/components/case-transactions/case-transactions.component.d.ts +52 -1
  164. package/lib/components/fee-summary/fee-summary.component.d.ts +3 -1
  165. package/lib/components/payment-view/payment-view.component.d.ts +37 -1
  166. package/lib/components/process-refund/process-refund.component.d.ts +53 -0
  167. package/lib/components/refund-list/refund-list.component.d.ts +23 -0
  168. package/lib/components/refund-status/refund-status.component.d.ts +68 -0
  169. package/lib/components/refunds/refunds.component.d.ts +5 -0
  170. package/lib/components/status-history/status-history.component.d.ts +1 -0
  171. package/lib/components/table/table.component.d.ts +35 -0
  172. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +15 -4
  173. package/lib/interfaces/AddRetroRemissionRequest.d.ts +5 -0
  174. package/lib/interfaces/IBSPayments.d.ts +1 -0
  175. package/lib/interfaces/IOrderReferenceFee.d.ts +9 -0
  176. package/lib/interfaces/IPatchRefundAction.d.ts +4 -0
  177. package/lib/interfaces/IPaymentView.d.ts +5 -0
  178. package/lib/interfaces/IRefundAction.d.ts +4 -0
  179. package/lib/interfaces/IRefundList.d.ts +14 -0
  180. package/lib/interfaces/IRefundReasons.d.ts +6 -0
  181. package/lib/interfaces/IRefundRejectReason.d.ts +4 -0
  182. package/lib/interfaces/IRefundStatus.d.ts +8 -0
  183. package/lib/interfaces/IRefundStatusHistory.d.ts +5 -0
  184. package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -0
  185. package/lib/interfaces/IssueRefundRequest.d.ts +6 -0
  186. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +4 -0
  187. package/lib/interfaces/PostRefundRetroRemission.d.ts +5 -0
  188. package/lib/interfaces/RefundsRequest.d.ts +5 -0
  189. package/lib/payment-lib.component.d.ts +18 -1
  190. package/lib/payment-lib.service.d.ts +3 -0
  191. package/lib/pipes/capitalize.pipe.d.ts +5 -0
  192. package/lib/services/orderslist.service.d.ts +40 -0
  193. package/lib/services/payment-view/payment-view.service.d.ts +12 -0
  194. package/lib/services/refunds/refunds.service.d.ts +30 -0
  195. package/lib/services/xl-file/xl-file.service.d.ts +6 -6
  196. package/package.json +5 -1
@@ -0,0 +1,143 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Input } from '@angular/core';
6
+ import { RefundsService } from '../../services/refunds/refunds.service';
7
+ var RefundListComponent = /** @class */ (function () {
8
+ function RefundListComponent(refundService) {
9
+ this.refundService = refundService;
10
+ this.submittedRefundList = [];
11
+ this.rejectedRefundList = [];
12
+ this.approvalStatus = 'sent for approval';
13
+ this.rejectStatus = 'sent back';
14
+ this.errorMessage = null;
15
+ this.isAuthorized = true;
16
+ }
17
+ /**
18
+ * @return {?}
19
+ */
20
+ RefundListComponent.prototype.ngOnInit = /**
21
+ * @return {?}
22
+ */
23
+ function () {
24
+ var _this = this;
25
+ // this.refundService.getUserDetails().subsc
26
+ // userdetail => {
27
+ // console.log('govindu');
28
+ // console.log(userdetail.headers);
29
+ // console.log('govindu1');
30
+ // console.log(userdetail.headers.get('Set-Cookie'));
31
+ // console.log(userdetail);
32
+ // console.log(userdetail['data']);
33
+ // } );
34
+ this.userLst = this.LOGGEDINUSERROLES;
35
+ if (this.LOGGEDINUSERROLES.some((/**
36
+ * @param {?} i
37
+ * @return {?}
38
+ */
39
+ function (i) { return i.includes('payments-refund-approver'); }))) {
40
+ // this.isApproveTableVisible = true;
41
+ this.isAuthorized = true;
42
+ }
43
+ else {
44
+ this.isApproveTableVisible = false;
45
+ this.isAuthorized = false;
46
+ }
47
+ this.tableApprovalHeader = 'Refunds to be approved';
48
+ this.tableRejectedHeader = 'Refunds returned to caseworker';
49
+ // if(this.dropdownvalue !== 'caseworker-probate-authorize') {
50
+ // this.isAuthorized = false;
51
+ // } else {
52
+ // this.isAuthorized = true;
53
+ // }
54
+ if (this.isAuthorized) {
55
+ this.refundService.getRefundList(this.approvalStatus, true).subscribe((/**
56
+ * @param {?} refundList
57
+ * @return {?}
58
+ */
59
+ function (refundList) {
60
+ _this.submittedRefundList = refundList['refund_list'];
61
+ _this.isApproveTableVisible = true;
62
+ })),
63
+ (/**
64
+ * @param {?} error
65
+ * @return {?}
66
+ */
67
+ function (error) {
68
+ _this.errorMessage = error.replace(/"/g, "");
69
+ });
70
+ }
71
+ this.refundService.getRefundList(this.rejectStatus, false).subscribe((/**
72
+ * @param {?} refundList
73
+ * @return {?}
74
+ */
75
+ function (refundList) {
76
+ _this.rejectedRefundList = refundList['refund_list'];
77
+ _this.isRejectTableVisible = true;
78
+ })),
79
+ (/**
80
+ * @param {?} error
81
+ * @return {?}
82
+ */
83
+ function (error) {
84
+ _this.errorMessage = error.replace(/"/g, "");
85
+ });
86
+ };
87
+ RefundListComponent.decorators = [
88
+ { type: Component, args: [{
89
+ selector: 'ccpay-refund-list',
90
+ template: "\n\n<div class=\"hmcts-page-heading\">\n <div class=\"hmcts-page-heading__title\">\n <h1 class=\"govuk-heading-xl\">Refund list</h1>\n <!-- <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>Select Option</option>\n <option *ngFor=\"let name of userLst;\" value=\"{{name}}\">{{name}}</option>\n </select> -->\n </div>\n</div>\n\n<ng-container *ngIf=\"isAuthorized\">\n<div class=\"hmcts-page-heading\">\n <div class=\"hmcts-page-heading__title\">\n <h2 class=\"govuk-heading-l\">{{tableApprovalHeader}}</h2>\n </div>\n </div>\n <div *ngIf=\"!isApproveTableVisible\">\n <div class=\"govuk-label dropdpwn\" >No records to display</div>\n </div>\n</ng-container>\n \n<ng-container *ngIf=\"isApproveTableVisible\">\n \n <div><ccpay-table [DATASOURCE]=\"submittedRefundList\" [STATUS]=\"approvalStatus\" [errorMessage]=\"errorMessage\"></ccpay-table></div>\n</ng-container>\n\n\n<div class=\"hmcts-page-heading\">\n <div class=\"hmcts-page-heading__title\">\n <h2 class=\"govuk-heading-l\">{{tableRejectedHeader}}</h2>\n </div>\n \n </div>\n <div *ngIf=\"!isRejectTableVisible\">\n <div class=\"govuk-label dropdpwn\">No records to display</div>\n </div>\n<ng-container *ngIf=\"isRejectTableVisible\">\n \n <div><ccpay-table [DATASOURCE]=\"rejectedRefundList\" [STATUS]=\"rejectStatus\" [errorMessage]=\"errorMessage\"></ccpay-table></div>\n</ng-container>\n\n\n",
91
+ styles: [".govuk-heading-xl{font-size:48px;padding-top:1em}.govuk-heading-l{font-size:36px}.govuk-label{font-size:19px}.hmcts-page-heading{width:110%}"]
92
+ }] }
93
+ ];
94
+ /** @nocollapse */
95
+ RefundListComponent.ctorParameters = function () { return [
96
+ { type: RefundsService }
97
+ ]; };
98
+ RefundListComponent.propDecorators = {
99
+ USERID: [{ type: Input, args: ['USERID',] }],
100
+ LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
101
+ LOGGEDINUSEREMAIL: [{ type: Input, args: ['LOGGEDINUSEREMAIL',] }]
102
+ };
103
+ return RefundListComponent;
104
+ }());
105
+ export { RefundListComponent };
106
+ if (false) {
107
+ /** @type {?} */
108
+ RefundListComponent.prototype.USERID;
109
+ /** @type {?} */
110
+ RefundListComponent.prototype.LOGGEDINUSERROLES;
111
+ /** @type {?} */
112
+ RefundListComponent.prototype.LOGGEDINUSEREMAIL;
113
+ /** @type {?} */
114
+ RefundListComponent.prototype.tableApprovalHeader;
115
+ /** @type {?} */
116
+ RefundListComponent.prototype.tableRejectedHeader;
117
+ /** @type {?} */
118
+ RefundListComponent.prototype.submittedRefundList;
119
+ /** @type {?} */
120
+ RefundListComponent.prototype.rejectedRefundList;
121
+ /** @type {?} */
122
+ RefundListComponent.prototype.approvalStatus;
123
+ /** @type {?} */
124
+ RefundListComponent.prototype.rejectStatus;
125
+ /** @type {?} */
126
+ RefundListComponent.prototype.errorMessage;
127
+ /** @type {?} */
128
+ RefundListComponent.prototype.isApproveTableVisible;
129
+ /** @type {?} */
130
+ RefundListComponent.prototype.isRejectTableVisible;
131
+ /** @type {?} */
132
+ RefundListComponent.prototype.dropdownvalue;
133
+ /** @type {?} */
134
+ RefundListComponent.prototype.isAuthorized;
135
+ /** @type {?} */
136
+ RefundListComponent.prototype.userLst;
137
+ /**
138
+ * @type {?}
139
+ * @private
140
+ */
141
+ RefundListComponent.prototype.refundService;
142
+ }
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9yZWZ1bmQtbGlzdC9yZWZ1bmQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUd4RTtJQVVFLDZCQUFvQixhQUE2QjtRQUE3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFLakQsd0JBQW1CLEdBQWtCLEVBQUUsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBa0IsRUFBRSxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsbUJBQW1CLENBQUM7UUFDckMsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0IsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFJcEIsaUJBQVksR0FBWSxJQUFJLENBQUM7SUFaN0IsQ0FBQzs7OztJQWNELHNDQUFROzs7SUFBUjtRQUFBLGlCQXNEQztRQXBEQyw0Q0FBNEM7UUFDNUMscUJBQXFCO1FBQ3JCLDhCQUE4QjtRQUM5Qix1Q0FBdUM7UUFDdkMsK0JBQStCO1FBQy9CLHlEQUF5RDtRQUN6RCwrQkFBK0I7UUFDL0IsdUNBQXVDO1FBQ3ZDLFNBQVM7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUd0QyxJQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQSxDQUFDLElBQUcsT0FBQSxDQUFDLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLEVBQXRDLENBQXNDLEVBQUMsRUFBQztZQUMzRSxzQ0FBc0M7WUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDM0I7UUFHRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsd0JBQXdCLENBQUM7UUFDcEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdDQUFnQyxDQUFDO1FBRTVELDhEQUE4RDtRQUM5RCwrQkFBK0I7UUFDL0IsV0FBVztRQUNYLDhCQUE4QjtRQUM5QixJQUFJO1FBRUwsSUFBRyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUMsSUFBSSxDQUFDLENBQUMsU0FBUzs7OztZQUNsRSxVQUFBLFVBQVU7Z0JBQ1IsS0FBSSxDQUFDLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDckQsS0FBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNwQyxDQUFDLEVBQ0Y7Ozs7O2dCQUNELFVBQUMsS0FBVTtvQkFDVCxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDLENBQUEsQ0FBQztTQUNIO1FBRUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxLQUFLLENBQUMsQ0FBQyxTQUFTOzs7O1FBQ2pFLFVBQUEsVUFBVTtZQUNSLEtBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEQsS0FBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDLEVBQ0Y7Ozs7O1lBQ0QsVUFBQyxLQUFVO2dCQUNULEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFBLENBQUM7SUFFSixDQUFDOztnQkEvRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLG1nREFBMkM7O2lCQUU1Qzs7OztnQkFQUSxjQUFjOzs7eUJBU3BCLEtBQUssU0FBQyxRQUFRO29DQUNkLEtBQUssU0FBQyxtQkFBbUI7b0NBQ3pCLEtBQUssU0FBQyxtQkFBbUI7O0lBb0Y1QiwwQkFBQztDQUFBLEFBNUZELElBNEZDO1NBdkZZLG1CQUFtQjs7O0lBQzlCLHFDQUFnQzs7SUFDaEMsZ0RBQXFEOztJQUNyRCxnREFBcUQ7O0lBS3JELGtEQUE0Qjs7SUFDNUIsa0RBQTRCOztJQUM1QixrREFBd0M7O0lBQ3hDLGlEQUF1Qzs7SUFDdkMsNkNBQXFDOztJQUNyQywyQ0FBMkI7O0lBQzNCLDJDQUFvQjs7SUFDcEIsb0RBQThCOztJQUM5QixtREFBNkI7O0lBQzdCLDRDQUFzQjs7SUFDdEIsMkNBQTZCOztJQUM3QixzQ0FBTzs7Ozs7SUFkSyw0Q0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWZ1bmRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlZnVuZHMvcmVmdW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IElSZWZ1bmRMaXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kTGlzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LXJlZnVuZC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZnVuZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVmdW5kLWxpc3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlZnVuZExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ1VTRVJJRCcpIFVTRVJJRDogc3RyaW5nO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUlJPTEVTJykgTE9HR0VESU5VU0VSUk9MRVM6IGFueVtdO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUkVNQUlMJykgTE9HR0VESU5VU0VSRU1BSUw6c3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmdW5kU2VydmljZTogUmVmdW5kc1NlcnZpY2UpIHtcbiAgfVxuXG4gIHRhYmxlQXBwcm92YWxIZWFkZXI6IHN0cmluZztcbiAgdGFibGVSZWplY3RlZEhlYWRlcjogc3RyaW5nO1xuICBzdWJtaXR0ZWRSZWZ1bmRMaXN0OiBJUmVmdW5kTGlzdFtdID0gW107XG4gIHJlamVjdGVkUmVmdW5kTGlzdDogSVJlZnVuZExpc3RbXSA9IFtdO1xuICBhcHByb3ZhbFN0YXR1cyA9ICdzZW50IGZvciBhcHByb3ZhbCc7XG4gIHJlamVjdFN0YXR1cyA9ICdzZW50IGJhY2snO1xuICBlcnJvck1lc3NhZ2UgPSBudWxsO1xuICBpc0FwcHJvdmVUYWJsZVZpc2libGU6Ym9vbGVhbjtcbiAgaXNSZWplY3RUYWJsZVZpc2libGU6Ym9vbGVhbjtcbiAgZHJvcGRvd252YWx1ZTogc3RyaW5nO1xuICBpc0F1dGhvcml6ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICB1c2VyTHN0XG4gIG5nT25Jbml0KCkge1xuICAgIFxuICAgIC8vIHRoaXMucmVmdW5kU2VydmljZS5nZXRVc2VyRGV0YWlscygpLnN1YnNjXG4gICAgLy8gICB1c2VyZGV0YWlsID0+IHsgXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCdnb3ZpbmR1Jyk7XG4gICAgLy8gICAgIGNvbnNvbGUubG9nKHVzZXJkZXRhaWwuaGVhZGVycyk7XG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCdnb3ZpbmR1MScpO1xuICAgIC8vICAgICBjb25zb2xlLmxvZyh1c2VyZGV0YWlsLmhlYWRlcnMuZ2V0KCdTZXQtQ29va2llJykpO1xuICAgIC8vICAgICBjb25zb2xlLmxvZyh1c2VyZGV0YWlsKTtcbiAgICAvLyAgICAgY29uc29sZS5sb2codXNlcmRldGFpbFsnZGF0YSddKTtcbiAgICAvLyAgIH0gKTtcbiAgICB0aGlzLnVzZXJMc3QgPSB0aGlzLkxPR0dFRElOVVNFUlJPTEVTO1xuXG4gICAgXG4gICAgaWYodGhpcy5MT0dHRURJTlVTRVJST0xFUy5zb21lKGkgPT5pLmluY2x1ZGVzKCdwYXltZW50cy1yZWZ1bmQtYXBwcm92ZXInKSkpe1xuICAgIC8vICB0aGlzLmlzQXBwcm92ZVRhYmxlVmlzaWJsZSA9IHRydWU7XG4gICAgICB0aGlzLmlzQXV0aG9yaXplZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNBcHByb3ZlVGFibGVWaXNpYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmlzQXV0aG9yaXplZCA9IGZhbHNlO1xuICAgIH1cblxuICBcbiAgICB0aGlzLnRhYmxlQXBwcm92YWxIZWFkZXIgPSAnUmVmdW5kcyB0byBiZSBhcHByb3ZlZCc7XG4gICAgdGhpcy50YWJsZVJlamVjdGVkSGVhZGVyID0gJ1JlZnVuZHMgcmV0dXJuZWQgdG8gY2FzZXdvcmtlcic7XG5cbiAgICAvLyBpZih0aGlzLmRyb3Bkb3dudmFsdWUgIT09ICdjYXNld29ya2VyLXByb2JhdGUtYXV0aG9yaXplJykge1xuICAgIC8vICAgdGhpcy5pc0F1dGhvcml6ZWQgPSBmYWxzZTtcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgdGhpcy5pc0F1dGhvcml6ZWQgPSB0cnVlO1xuICAgIC8vIH1cblxuICAgaWYodGhpcy5pc0F1dGhvcml6ZWQpIHtcbiAgICB0aGlzLnJlZnVuZFNlcnZpY2UuZ2V0UmVmdW5kTGlzdCh0aGlzLmFwcHJvdmFsU3RhdHVzLHRydWUpLnN1YnNjcmliZShcbiAgICAgIHJlZnVuZExpc3QgPT4ge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZFJlZnVuZExpc3QgPSByZWZ1bmRMaXN0WydyZWZ1bmRfbGlzdCddO1xuICAgICAgICB0aGlzLmlzQXBwcm92ZVRhYmxlVmlzaWJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgKSxcbiAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgIH07XG4gIH1cblxuICAgIHRoaXMucmVmdW5kU2VydmljZS5nZXRSZWZ1bmRMaXN0KHRoaXMucmVqZWN0U3RhdHVzLGZhbHNlKS5zdWJzY3JpYmUoXG4gICAgICByZWZ1bmRMaXN0ID0+IHtcbiAgICAgICAgdGhpcy5yZWplY3RlZFJlZnVuZExpc3QgPSByZWZ1bmRMaXN0WydyZWZ1bmRfbGlzdCddO1xuICAgICAgICB0aGlzLmlzUmVqZWN0VGFibGVWaXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICApLFxuICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlcGxhY2UoL1wiL2csXCJcIik7XG4gICAgfTtcblxuICB9XG5cbiAgLy8gc2VsZWN0Y2hhbmdlKGFyZ3MpeyBcbiAgLy8gICB0aGlzLmRyb3Bkb3dudmFsdWUgPSBhcmdzLnRhcmdldC52YWx1ZTtcbiAgLy8gICBpZihhcmdzLnRhcmdldC52YWx1ZSA9PT0gJ2Nhc2V3b3JrZXItcHJvYmF0ZS1hdXRob3JpemUnKSB7XG4gIC8vICAgICB0aGlzLmlzQXBwcm92ZVRhYmxlVmlzaWJsZSA9IHRydWU7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIHRoaXMuaXNBcHByb3ZlVGFibGVWaXNpYmxlID0gZmFsc2U7XG4gIC8vICAgfVxuICAvLyAgIHRoaXMubmdPbkluaXQoKTtcbiAgICBcbiAgLy8gfSBcbiAgXG59Il19