@hmcts/ccpay-web-component 5.0.1-beta15 → 5.0.1-beta150

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 (105) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +8843 -6461
  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 +42 -38
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +754 -200
  7. package/esm2015/lib/components/case-transactions/case-transactions.component.js +70 -43
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +406 -0
  9. package/esm2015/lib/components/fee-summary/fee-summary.component.js +1 -3
  10. package/esm2015/lib/components/payment-view/payment-view.component.js +99 -22
  11. package/esm2015/lib/components/pba-payment/pba-payment.component.js +239 -0
  12. package/esm2015/lib/components/process-refund/process-refund.component.js +100 -9
  13. package/esm2015/lib/components/refund-list/refund-list.component.js +2 -2
  14. package/esm2015/lib/components/refund-status/refund-status.component.js +168 -70
  15. package/esm2015/lib/components/service-request/service-request.component.js +628 -0
  16. package/esm2015/lib/components/status-history/status-history.component.js +2 -2
  17. package/esm2015/lib/components/table/table.component.js +42 -19
  18. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +1 -2
  19. package/esm2015/lib/interfaces/IFee.js +3 -1
  20. package/esm2015/lib/interfaces/IPayment.js +3 -1
  21. package/esm2015/lib/interfaces/IPutNotificationRequest.js +25 -0
  22. package/esm2015/lib/interfaces/IRefundContactDetails.js +25 -0
  23. package/esm2015/lib/interfaces/IRefundList.js +5 -1
  24. package/esm2015/lib/interfaces/IRefundsNotifications.js +21 -0
  25. package/esm2015/lib/interfaces/IRemission.js +3 -1
  26. package/esm2015/lib/interfaces/IserviceRequestCardPayment.js +23 -0
  27. package/esm2015/lib/interfaces/IserviceRequestPbaPayment.js +28 -0
  28. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +6 -2
  29. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +18 -2
  30. package/esm2015/lib/payment-lib.component.js +62 -9
  31. package/esm2015/lib/payment-lib.module.js +8 -4
  32. package/esm2015/lib/payment-lib.service.js +31 -1
  33. package/esm2015/lib/services/notification/notification.service.js +85 -0
  34. package/esm2015/lib/services/orderslist.service.js +193 -1
  35. package/esm2015/lib/services/payment-view/payment-view.service.js +32 -1
  36. package/esm2015/lib/services/refunds/refunds.service.js +25 -3
  37. package/esm2015/lib/services/shared/error-handler.service.js +38 -5
  38. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +16 -3
  39. package/esm5/hmcts-ccpay-web-component.js +42 -38
  40. package/esm5/lib/components/add-remission/add-remission.component.js +877 -208
  41. package/esm5/lib/components/case-transactions/case-transactions.component.js +76 -47
  42. package/esm5/lib/components/contact-details/contact-details.component.js +431 -0
  43. package/esm5/lib/components/fee-summary/fee-summary.component.js +1 -3
  44. package/esm5/lib/components/payment-view/payment-view.component.js +104 -22
  45. package/esm5/lib/components/pba-payment/pba-payment.component.js +260 -0
  46. package/esm5/lib/components/process-refund/process-refund.component.js +103 -9
  47. package/esm5/lib/components/refund-list/refund-list.component.js +2 -2
  48. package/esm5/lib/components/refund-status/refund-status.component.js +200 -81
  49. package/esm5/lib/components/service-request/service-request.component.js +705 -0
  50. package/esm5/lib/components/status-history/status-history.component.js +2 -2
  51. package/esm5/lib/components/table/table.component.js +44 -19
  52. package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +1 -2
  53. package/esm5/lib/interfaces/IFee.js +3 -1
  54. package/esm5/lib/interfaces/IPayment.js +3 -1
  55. package/esm5/lib/interfaces/IPutNotificationRequest.js +23 -0
  56. package/esm5/lib/interfaces/IRefundContactDetails.js +25 -0
  57. package/esm5/lib/interfaces/IRefundList.js +5 -1
  58. package/esm5/lib/interfaces/IRefundsNotifications.js +21 -0
  59. package/esm5/lib/interfaces/IRemission.js +3 -1
  60. package/esm5/lib/interfaces/IserviceRequestCardPayment.js +22 -0
  61. package/esm5/lib/interfaces/IserviceRequestPbaPayment.js +25 -0
  62. package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +5 -2
  63. package/esm5/lib/interfaces/PostRefundRetroRemission.js +14 -2
  64. package/esm5/lib/payment-lib.component.js +58 -7
  65. package/esm5/lib/payment-lib.module.js +8 -4
  66. package/esm5/lib/payment-lib.service.js +45 -1
  67. package/esm5/lib/services/notification/notification.service.js +89 -0
  68. package/esm5/lib/services/orderslist.service.js +256 -1
  69. package/esm5/lib/services/payment-view/payment-view.service.js +45 -1
  70. package/esm5/lib/services/refunds/refunds.service.js +31 -3
  71. package/esm5/lib/services/shared/error-handler.service.js +38 -5
  72. package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +16 -3
  73. package/fesm2015/hmcts-ccpay-web-component.js +2628 -543
  74. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  75. package/fesm5/hmcts-ccpay-web-component.js +8791 -6355
  76. package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
  77. package/hmcts-ccpay-web-component.d.ts +41 -37
  78. package/hmcts-ccpay-web-component.metadata.json +1 -1
  79. package/lib/components/add-remission/add-remission.component.d.ts +51 -3
  80. package/lib/components/case-transactions/case-transactions.component.d.ts +7 -3
  81. package/lib/components/contact-details/contact-details.component.d.ts +47 -0
  82. package/lib/components/payment-view/payment-view.component.d.ts +14 -4
  83. package/lib/components/pba-payment/pba-payment.component.d.ts +32 -0
  84. package/lib/components/process-refund/process-refund.component.d.ts +12 -1
  85. package/lib/components/refund-status/refund-status.component.d.ts +22 -5
  86. package/lib/components/service-request/service-request.component.d.ts +105 -0
  87. package/lib/components/table/table.component.d.ts +6 -4
  88. package/lib/interfaces/IFee.d.ts +1 -0
  89. package/lib/interfaces/IPayment.d.ts +1 -0
  90. package/lib/interfaces/IPutNotificationRequest.d.ts +6 -0
  91. package/lib/interfaces/IRefundContactDetails.d.ts +9 -0
  92. package/lib/interfaces/IRefundList.d.ts +3 -0
  93. package/lib/interfaces/IRefundsNotifications.d.ts +16 -0
  94. package/lib/interfaces/IRemission.d.ts +1 -0
  95. package/lib/interfaces/IserviceRequestCardPayment.d.ts +6 -0
  96. package/lib/interfaces/IserviceRequestPbaPayment.d.ts +7 -0
  97. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +3 -1
  98. package/lib/interfaces/PostRefundRetroRemission.d.ts +6 -1
  99. package/lib/payment-lib.component.d.ts +20 -1
  100. package/lib/payment-lib.service.d.ts +6 -0
  101. package/lib/services/notification/notification.service.d.ts +15 -0
  102. package/lib/services/orderslist.service.d.ts +34 -0
  103. package/lib/services/payment-view/payment-view.service.d.ts +5 -0
  104. package/lib/services/refunds/refunds.service.d.ts +2 -0
  105. package/package.json +1 -1
@@ -21,6 +21,22 @@ export class OrderslistService {
21
21
  this.getOrderRefId = this.OrderRefId.asObservable();
22
22
  this.navigationPage = new BehaviorSubject("");
23
23
  this.getnavigationPage = this.navigationPage.asObservable();
24
+ this.orderRef = new BehaviorSubject("");
25
+ this.getorderRef = this.orderRef.asObservable();
26
+ this.orderCCDEvent = new BehaviorSubject("");
27
+ this.getorderCCDEvent = this.caseType.asObservable();
28
+ this.orderCreated = new BehaviorSubject(null);
29
+ this.getorderCreated = this.orderCreated.asObservable();
30
+ this.orderParty = new BehaviorSubject("");
31
+ this.getorderParty = this.orderParty.asObservable();
32
+ this.orderRemissionTotal = new BehaviorSubject(null);
33
+ this.getorderRemissionTotal = this.orderRemissionTotal.asObservable();
34
+ this.orderFeesTotal = new BehaviorSubject(null);
35
+ this.getorderFeesTotal = this.orderFeesTotal.asObservable();
36
+ this.orderTotalPayments = new BehaviorSubject(null);
37
+ this.getorderTotalPayments = this.orderTotalPayments.asObservable();
38
+ this.rolesList = new BehaviorSubject(null);
39
+ this.orderDetail = new BehaviorSubject(null);
24
40
  this.paymentPageView = new BehaviorSubject(null);
25
41
  }
26
42
  /**
@@ -140,6 +156,123 @@ export class OrderslistService {
140
156
  getpaymentPageView() {
141
157
  return this.paymentPageView;
142
158
  }
159
+ /**
160
+ * @param {?} rolesList
161
+ * @return {?}
162
+ */
163
+ setUserRolesList(rolesList) {
164
+ this.rolesList.next(Object.assign([], rolesList));
165
+ }
166
+ /**
167
+ * @return {?}
168
+ */
169
+ getUserRolesList() {
170
+ return this.rolesList;
171
+ }
172
+ /**
173
+ * @param {?} orderDetail
174
+ * @return {?}
175
+ */
176
+ setorderDetail(orderDetail) {
177
+ this.orderDetail.next(Object.assign([], orderDetail));
178
+ }
179
+ /**
180
+ * @return {?}
181
+ */
182
+ getorderDetail() {
183
+ return this.orderDetail;
184
+ }
185
+ /**
186
+ * @param {?} orderRef
187
+ * @return {?}
188
+ */
189
+ setOrderRef(orderRef) {
190
+ this.orderRef.next(orderRef);
191
+ }
192
+ /**
193
+ * @return {?}
194
+ */
195
+ getorderRefs() {
196
+ return this.orderRef;
197
+ }
198
+ /**
199
+ * @param {?} orderCCDEvent
200
+ * @return {?}
201
+ */
202
+ setorderCCDEvent(orderCCDEvent) {
203
+ this.orderCCDEvent.next(orderCCDEvent);
204
+ }
205
+ /**
206
+ * @return {?}
207
+ */
208
+ getorderCCDEvents() {
209
+ return this.orderCCDEvent;
210
+ }
211
+ /**
212
+ * @param {?} orderCreated
213
+ * @return {?}
214
+ */
215
+ setorderCreated(orderCreated) {
216
+ this.orderCreated.next(orderCreated);
217
+ }
218
+ /**
219
+ * @return {?}
220
+ */
221
+ getorderCreateds() {
222
+ return this.orderCreated;
223
+ }
224
+ /**
225
+ * @param {?} orderParty
226
+ * @return {?}
227
+ */
228
+ setorderParty(orderParty) {
229
+ this.orderParty.next(orderParty);
230
+ }
231
+ /**
232
+ * @return {?}
233
+ */
234
+ getorderPartys() {
235
+ return this.orderParty;
236
+ }
237
+ /**
238
+ * @param {?} orderRemissionTotal
239
+ * @return {?}
240
+ */
241
+ setorderRemissionTotal(orderRemissionTotal) {
242
+ this.orderRemissionTotal.next(orderRemissionTotal);
243
+ }
244
+ /**
245
+ * @return {?}
246
+ */
247
+ getorderRemissionTotals() {
248
+ return this.orderRemissionTotal;
249
+ }
250
+ /**
251
+ * @param {?} orderFeesTotal
252
+ * @return {?}
253
+ */
254
+ setorderFeesTotal(orderFeesTotal) {
255
+ this.orderFeesTotal.next(orderFeesTotal);
256
+ }
257
+ /**
258
+ * @return {?}
259
+ */
260
+ getorderFeesTotals() {
261
+ return this.orderFeesTotal;
262
+ }
263
+ /**
264
+ * @param {?} orderTotalPayments
265
+ * @return {?}
266
+ */
267
+ setorderTotalPayments(orderTotalPayments) {
268
+ this.orderTotalPayments.next(orderTotalPayments);
269
+ }
270
+ /**
271
+ * @return {?}
272
+ */
273
+ getoorderTotalPaymentss() {
274
+ return this.orderTotalPayments;
275
+ }
143
276
  }
144
277
  OrderslistService.decorators = [
145
278
  { type: Injectable, args: [{
@@ -202,10 +335,69 @@ if (false) {
202
335
  OrderslistService.prototype.navigationPage;
203
336
  /** @type {?} */
204
337
  OrderslistService.prototype.getnavigationPage;
338
+ /**
339
+ * @type {?}
340
+ * @private
341
+ */
342
+ OrderslistService.prototype.orderRef;
343
+ /** @type {?} */
344
+ OrderslistService.prototype.getorderRef;
345
+ /**
346
+ * @type {?}
347
+ * @private
348
+ */
349
+ OrderslistService.prototype.orderCCDEvent;
350
+ /** @type {?} */
351
+ OrderslistService.prototype.getorderCCDEvent;
352
+ /**
353
+ * @type {?}
354
+ * @private
355
+ */
356
+ OrderslistService.prototype.orderCreated;
357
+ /** @type {?} */
358
+ OrderslistService.prototype.getorderCreated;
359
+ /**
360
+ * @type {?}
361
+ * @private
362
+ */
363
+ OrderslistService.prototype.orderParty;
364
+ /** @type {?} */
365
+ OrderslistService.prototype.getorderParty;
366
+ /**
367
+ * @type {?}
368
+ * @private
369
+ */
370
+ OrderslistService.prototype.orderRemissionTotal;
371
+ /** @type {?} */
372
+ OrderslistService.prototype.getorderRemissionTotal;
373
+ /**
374
+ * @type {?}
375
+ * @private
376
+ */
377
+ OrderslistService.prototype.orderFeesTotal;
378
+ /** @type {?} */
379
+ OrderslistService.prototype.getorderFeesTotal;
380
+ /**
381
+ * @type {?}
382
+ * @private
383
+ */
384
+ OrderslistService.prototype.orderTotalPayments;
385
+ /** @type {?} */
386
+ OrderslistService.prototype.getorderTotalPayments;
387
+ /**
388
+ * @type {?}
389
+ * @private
390
+ */
391
+ OrderslistService.prototype.rolesList;
392
+ /**
393
+ * @type {?}
394
+ * @private
395
+ */
396
+ OrderslistService.prototype.orderDetail;
205
397
  /**
206
398
  * @type {?}
207
399
  * @private
208
400
  */
209
401
  OrderslistService.prototype.paymentPageView;
210
402
  }
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUW5ELE1BQU0sT0FBTyxpQkFBaUI7SUFrQjVCO1FBakJRLGVBQVUsR0FBMEMsSUFBSSxlQUFlLENBQXVCLElBQUksQ0FBQyxDQUFDO1FBQ3BHLGVBQVUsR0FBaUMsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDdkQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEQsOEJBQXlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0RCw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN0RSxnQ0FBMkIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksZUFBZSxD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QXVEOzs7OztJQUV2RCw0Q0FBaUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SU9yZGVyUmVmZXJlbmNlRmVlfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lPcmRlclJlZmVyZW5jZUZlZSc7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgSVBheW1lbnRWaWV3IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JUGF5bWVudFZpZXcnOyAgXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyc2xpc3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0OiBCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJT3JkZXJSZWZlcmVuY2VGZWVbXT4obnVsbCk7XG4gIHByaXZhdGUgcmVmdW5kVmlldzogQmVoYXZpb3JTdWJqZWN0PElSZWZ1bmRMaXN0PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVJlZnVuZExpc3Q+KG51bGwpO1xuICBwcml2YXRlIGNhc2VUeXBlID0gbmV3IEJlaGF2aW9yU3ViamVjdChcIlwiKTtcbiAgZ2V0Y2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIGZlZUV4aXN0cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4obnVsbCk7XG4gIGdldEZlZUV4aXN0ID0gdGhpcy5mZWVFeGlzdHMuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgY2NkQ2FzZU51bWJlciA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJcIik7XG4gIGdldENDRENhc2VOdW1iZXJmb3JSZWZ1bmQgPSB0aGlzLmNjZENhc2VOdW1iZXIuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihudWxsKTtcbiAgZ2V0aXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdGhpcy5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgT3JkZXJSZWZJZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJcIik7XG4gIGdldE9yZGVyUmVmSWQgPSB0aGlzLk9yZGVyUmVmSWQuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgbmF2aWdhdGlvblBhZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFwiXCIpO1xuICBnZXRuYXZpZ2F0aW9uUGFnZSA9IHRoaXMubmF2aWdhdGlvblBhZ2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBwYXltZW50UGFnZVZpZXc6IEJlaGF2aW9yU3ViamVjdDxJUGF5bWVudFZpZXc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUGF5bWVudFZpZXc+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgc2V0T3JkZXJzTGlzdChvcmRlckxldmVsRmVlczogSU9yZGVyUmVmZXJlbmNlRmVlW10pOiB2b2lkIHtcbiAgICB0aGlzLm9yZGVyc0xpc3QubmV4dChPYmplY3QuYXNzaWduKFtdLCBvcmRlckxldmVsRmVlcykpO1xuICB9XG4gIGdldE9yZGVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJzTGlzdDtcbiAgfVxuXG4gIHNldFJlZnVuZFZpZXcocmVmdW5kTGlzdDogSVJlZnVuZExpc3QpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnVuZFZpZXcubmV4dChPYmplY3QuYXNzaWduKFtdLCByZWZ1bmRMaXN0KSk7XG4gIH1cbiAgZ2V0UmVmdW5kVmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZ1bmRWaWV3O1xuICB9XG5cbiAgc2V0Q2FzZVR5cGUoY2FzZVR5cGU6IHN0cmluZyl7XG4gICAgdGhpcy5jYXNlVHlwZS5uZXh0KGNhc2VUeXBlKTtcbiAgfVxuICBnZXRDYXNlVHlwZSgpe1xuICAgIHJldHVybiB0aGlzLmNhc2VUeXBlO1xuICB9XG5cbiAgc2V0Q0NEQ2FzZU51bWJlcihjY2RDYXNlTnVtYmVyOiBzdHJpbmcpe1xuICAgIHRoaXMuY2NkQ2FzZU51bWJlci5uZXh0KGNjZENhc2VOdW1iZXIpO1xuICB9XG4gIGdldENDRENhc2VOdW1iZXIoKXtcbiAgICByZXR1cm4gdGhpcy5jY2RDYXNlTnVtYmVyO1xuICB9XG5cbiAgc2V0RmVlRXhpc3RzKGZlZUV4aXN0czogYm9vbGVhbil7XG4gICAgdGhpcy5mZWVFeGlzdHMubmV4dChmZWVFeGlzdHMpO1xuICB9XG4gIGdldEZlZUV4aXN0cygpe1xuICAgIHJldHVybiB0aGlzLmZlZUV4aXN0cztcbiAgfSBcblxuICBzZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UoaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlOiBib29sZWFuKXtcbiAgICB0aGlzLmlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZS5uZXh0KGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZSk7XG4gIH1cbiAgZ2V0aXNGcm9tU2VydmljZVJlcXVlc3RQYWdlcygpe1xuICAgIHJldHVybiB0aGlzLmlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZTtcbiAgfVxuXG4gIHNldE9yZGVyUmVmSWQoT3JkZXJSZWZJZDogc3RyaW5nKXtcbiAgICB0aGlzLk9yZGVyUmVmSWQubmV4dChPcmRlclJlZklkKTtcbiAgfVxuICBnZXRTZWxlY3RlZE9yZGVyUmVmSWQoKXtcbiAgICByZXR1cm4gdGhpcy5PcmRlclJlZklkO1xuICB9XG5cbiAgc2V0bmF2aWdhdGlvblBhZ2UobmF2aWdhdGlvblBhZ2U6IHN0cmluZyl7XG4gICAgdGhpcy5uYXZpZ2F0aW9uUGFnZS5uZXh0KG5hdmlnYXRpb25QYWdlKTtcbiAgfVxuICBnZXRuYXZpZ2F0aW9uUGFnZVZhbHVlKCl7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblBhZ2U7XG4gIH1cblxuICBzZXRwYXltZW50UGFnZVZpZXcocGF5bWVudHBhZ2VMaXN0OiBJUGF5bWVudFZpZXcpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnRQYWdlVmlldy5uZXh0KE9iamVjdC5hc3NpZ24oW10sIHBheW1lbnRwYWdlTGlzdCkpO1xuICB9XG4gIGdldHBheW1lbnRQYWdlVmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50UGFnZVZpZXc7XG4gIH1cbn1cbiJdfQ==
403
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUW5ELE1BQU0sT0FBTyxpQkFBaUI7SUFvQzVCO1FBbkNRLGVBQVUsR0FBMEMsSUFBSSxlQUFlLENBQXVCLElBQUksQ0FBQyxDQUFDO1FBQ3BHLGVBQVUsR0FBaUMsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDdkQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEQsOEJBQXlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0RCw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN0RSxnQ0FBMkIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksZUFBZSxD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QkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7O0lBQ0QsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7OztZQXJLRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7Ozs7Ozs7SUFFQyx1Q0FBNEc7Ozs7O0lBQzVHLHVDQUEwRjs7Ozs7SUFDMUYscUNBQTJDOztJQUMzQyx3Q0FBMkM7Ozs7O0lBQzNDLHNDQUF1RDs7SUFDdkQsd0NBQTRDOzs7OztJQUM1QywwQ0FBZ0Q7O0lBQ2hELHNEQUE4RDs7Ozs7SUFDOUQscURBQXNFOztJQUN0RSx3REFBMkU7Ozs7O0lBQzNFLHVDQUE2Qzs7SUFDN0MsMENBQStDOzs7OztJQUMvQywyQ0FBaUQ7O0lBQ2pELDhDQUF1RDs7Ozs7SUFFdkQscUNBQTJDOztJQUMzQyx3Q0FBMkM7Ozs7O0lBQzNDLDBDQUFnRDs7SUFDaEQsNkNBQWdEOzs7OztJQUNoRCx5Q0FBdUQ7O0lBQ3ZELDRDQUFtRDs7Ozs7SUFDbkQsdUNBQTZDOztJQUM3QywwQ0FBK0M7Ozs7O0lBQy9DLGdEQUFnRTs7SUFDaEUsbURBQWlFOzs7OztJQUNqRSwyQ0FBMkQ7O0lBQzNELDhDQUF1RDs7Ozs7SUFDdkQsK0NBQStEOztJQUMvRCxrREFBK0Q7Ozs7O0lBQy9ELHNDQUE2RTs7Ozs7SUFFN0Usd0NBQStFOzs7OztJQUUvRSw0Q0FBaUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SU9yZGVyUmVmZXJlbmNlRmVlfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lPcmRlclJlZmVyZW5jZUZlZSc7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgSVBheW1lbnRWaWV3IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JUGF5bWVudFZpZXcnOyAgXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyc2xpc3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0OiBCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJT3JkZXJSZWZlcmVuY2VGZWVbXT4obnVsbCk7XG4gIHByaXZhdGUgcmVmdW5kVmlldzogQmVoYXZpb3JTdWJqZWN0PElSZWZ1bmRMaXN0PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVJlZnVuZExpc3Q+KG51bGwpO1xuICBwcml2YXRlIGNhc2VUeXBlID0gbmV3IEJlaGF2aW9yU3ViamVjdChcIlwiKTtcbiAgZ2V0Y2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIGZlZUV4aXN0cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4obnVsbCk7XG4gIGdldEZlZUV4aXN0ID0gdGhpcy5mZWVFeGlzdHMuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgY2NkQ2FzZU51bWJlciA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJcIik7XG4gIGdldENDRENhc2VOdW1iZXJmb3JSZWZ1bmQgPSB0aGlzLmNjZENhc2VOdW1iZXIuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihudWxsKTtcbiAgZ2V0aXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdGhpcy5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgT3JkZXJSZWZJZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJcIik7XG4gIGdldE9yZGVyUmVmSWQgPSB0aGlzLk9yZGVyUmVmSWQuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgbmF2aWdhdGlvblBhZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFwiXCIpO1xuICBnZXRuYXZpZ2F0aW9uUGFnZSA9IHRoaXMubmF2aWdhdGlvblBhZ2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBvcmRlclJlZiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJcIik7XG4gIGdldG9yZGVyUmVmID0gdGhpcy5vcmRlclJlZi5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSBvcmRlckNDREV2ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcIlwiKTtcbiAgZ2V0b3JkZXJDQ0RFdmVudCA9IHRoaXMuY2FzZVR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgb3JkZXJDcmVhdGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlPihudWxsKTtcbiAgZ2V0b3JkZXJDcmVhdGVkID0gdGhpcy5vcmRlckNyZWF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgb3JkZXJQYXJ0eSA9IG5ldyBCZWhhdmlvclN1YmplY3QoXCJcIik7XG4gIGdldG9yZGVyUGFydHkgPSB0aGlzLm9yZGVyUGFydHkuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgb3JkZXJSZW1pc3Npb25Ub3RhbCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihudWxsKTtcbiAgZ2V0b3JkZXJSZW1pc3Npb25Ub3RhbCA9IHRoaXMub3JkZXJSZW1pc3Npb25Ub3RhbC5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSBvcmRlckZlZXNUb3RhbCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihudWxsKTtcbiAgZ2V0b3JkZXJGZWVzVG90YWwgPSB0aGlzLm9yZGVyRmVlc1RvdGFsLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIG9yZGVyVG90YWxQYXltZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihudWxsKTtcbiAgZ2V0b3JkZXJUb3RhbFBheW1lbnRzID0gdGhpcy5vcmRlclRvdGFsUGF5bWVudHMuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgcm9sZXNMaXN0OiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4obnVsbCk7XG5cbiAgcHJpdmF0ZSBvcmRlckRldGFpbDogQmVoYXZpb3JTdWJqZWN0PGFueVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KG51bGwpO1xuXG4gIHByaXZhdGUgcGF5bWVudFBhZ2VWaWV3OiBCZWhhdmlvclN1YmplY3Q8SVBheW1lbnRWaWV3PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVBheW1lbnRWaWV3PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHNldE9yZGVyc0xpc3Qob3JkZXJMZXZlbEZlZXM6IElPcmRlclJlZmVyZW5jZUZlZVtdKTogdm9pZCB7XG4gICAgdGhpcy5vcmRlcnNMaXN0Lm5leHQoT2JqZWN0LmFzc2lnbihbXSwgb3JkZXJMZXZlbEZlZXMpKTtcbiAgfVxuICBnZXRPcmRlcnNMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm9yZGVyc0xpc3Q7XG4gIH1cblxuICBzZXRSZWZ1bmRWaWV3KHJlZnVuZExpc3Q6IElSZWZ1bmRMaXN0KTogdm9pZCB7XG4gICAgdGhpcy5yZWZ1bmRWaWV3Lm5leHQoT2JqZWN0LmFzc2lnbihbXSwgcmVmdW5kTGlzdCkpO1xuICB9XG4gIGdldFJlZnVuZFZpZXcoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVmdW5kVmlldztcbiAgfVxuXG4gIHNldENhc2VUeXBlKGNhc2VUeXBlOiBzdHJpbmcpe1xuICAgIHRoaXMuY2FzZVR5cGUubmV4dChjYXNlVHlwZSk7XG4gIH1cbiAgZ2V0Q2FzZVR5cGUoKXtcbiAgICByZXR1cm4gdGhpcy5jYXNlVHlwZTtcbiAgfVxuXG4gIHNldENDRENhc2VOdW1iZXIoY2NkQ2FzZU51bWJlcjogc3RyaW5nKXtcbiAgICB0aGlzLmNjZENhc2VOdW1iZXIubmV4dChjY2RDYXNlTnVtYmVyKTtcbiAgfVxuICBnZXRDQ0RDYXNlTnVtYmVyKCl7XG4gICAgcmV0dXJuIHRoaXMuY2NkQ2FzZU51bWJlcjtcbiAgfVxuXG4gIHNldEZlZUV4aXN0cyhmZWVFeGlzdHM6IGJvb2xlYW4pe1xuICAgIHRoaXMuZmVlRXhpc3RzLm5leHQoZmVlRXhpc3RzKTtcbiAgfVxuICBnZXRGZWVFeGlzdHMoKXtcbiAgICByZXR1cm4gdGhpcy5mZWVFeGlzdHM7XG4gIH0gXG5cbiAgc2V0aXNGcm9tU2VydmljZVJlcXVlc3RQYWdlKGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZTogYm9vbGVhbil7XG4gICAgdGhpcy5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UubmV4dChpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UpO1xuICB9XG4gIGdldGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZXMoKXtcbiAgICByZXR1cm4gdGhpcy5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2U7XG4gIH1cblxuICBzZXRPcmRlclJlZklkKE9yZGVyUmVmSWQ6IHN0cmluZyl7XG4gICAgdGhpcy5PcmRlclJlZklkLm5leHQoT3JkZXJSZWZJZCk7XG4gIH1cbiAgZ2V0U2VsZWN0ZWRPcmRlclJlZklkKCl7XG4gICAgcmV0dXJuIHRoaXMuT3JkZXJSZWZJZDtcbiAgfVxuXG4gIHNldG5hdmlnYXRpb25QYWdlKG5hdmlnYXRpb25QYWdlOiBzdHJpbmcpe1xuICAgIHRoaXMubmF2aWdhdGlvblBhZ2UubmV4dChuYXZpZ2F0aW9uUGFnZSk7XG4gIH1cbiAgZ2V0bmF2aWdhdGlvblBhZ2VWYWx1ZSgpe1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25QYWdlO1xuICB9XG5cbiAgc2V0cGF5bWVudFBhZ2VWaWV3KHBheW1lbnRwYWdlTGlzdDogSVBheW1lbnRWaWV3KTogdm9pZCB7XG4gICAgdGhpcy5wYXltZW50UGFnZVZpZXcubmV4dChPYmplY3QuYXNzaWduKFtdLCBwYXltZW50cGFnZUxpc3QpKTtcbiAgfVxuICBnZXRwYXltZW50UGFnZVZpZXcoKSB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFBhZ2VWaWV3O1xuICB9XG5cbiAgc2V0VXNlclJvbGVzTGlzdChyb2xlc0xpc3Q6YW55W10pOiB2b2lkIHtcbiAgICB0aGlzLnJvbGVzTGlzdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIHJvbGVzTGlzdCkpO1xuICB9XG4gIGdldFVzZXJSb2xlc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXNMaXN0O1xuICB9XG5cbiAgc2V0b3JkZXJEZXRhaWwob3JkZXJEZXRhaWw6YW55W10pOiB2b2lkIHtcbiAgICB0aGlzLm9yZGVyRGV0YWlsLm5leHQoT2JqZWN0LmFzc2lnbihbXSwgb3JkZXJEZXRhaWwpKTtcbiAgfVxuICBnZXRvcmRlckRldGFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcmRlckRldGFpbDtcbiAgfVxuXG4gIHNldE9yZGVyUmVmKG9yZGVyUmVmOiBzdHJpbmcpe1xuICAgIHRoaXMub3JkZXJSZWYubmV4dChvcmRlclJlZik7XG4gIH1cbiAgZ2V0b3JkZXJSZWZzKCl7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJSZWY7XG4gIH1cblxuICBzZXRvcmRlckNDREV2ZW50KG9yZGVyQ0NERXZlbnQ6IHN0cmluZyl7XG4gICAgdGhpcy5vcmRlckNDREV2ZW50Lm5leHQob3JkZXJDQ0RFdmVudCk7XG4gIH1cbiAgZ2V0b3JkZXJDQ0RFdmVudHMoKXtcbiAgICByZXR1cm4gdGhpcy5vcmRlckNDREV2ZW50O1xuICB9XG5cbiAgc2V0b3JkZXJDcmVhdGVkKG9yZGVyQ3JlYXRlZDogRGF0ZSl7XG4gICAgdGhpcy5vcmRlckNyZWF0ZWQubmV4dChvcmRlckNyZWF0ZWQpO1xuICB9XG4gIGdldG9yZGVyQ3JlYXRlZHMoKXtcbiAgICByZXR1cm4gdGhpcy5vcmRlckNyZWF0ZWQ7XG4gIH1cblxuICBzZXRvcmRlclBhcnR5KG9yZGVyUGFydHk6IHN0cmluZyl7XG4gICAgdGhpcy5vcmRlclBhcnR5Lm5leHQob3JkZXJQYXJ0eSk7XG4gIH1cbiAgZ2V0b3JkZXJQYXJ0eXMoKXtcbiAgICByZXR1cm4gdGhpcy5vcmRlclBhcnR5O1xuICB9XG5cbiAgc2V0b3JkZXJSZW1pc3Npb25Ub3RhbChvcmRlclJlbWlzc2lvblRvdGFsOiBudW1iZXIpe1xuICAgIHRoaXMub3JkZXJSZW1pc3Npb25Ub3RhbC5uZXh0KG9yZGVyUmVtaXNzaW9uVG90YWwpO1xuICB9XG4gIGdldG9yZGVyUmVtaXNzaW9uVG90YWxzKCl7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJSZW1pc3Npb25Ub3RhbDtcbiAgfVxuXG4gIHNldG9yZGVyRmVlc1RvdGFsKG9yZGVyRmVlc1RvdGFsOiBudW1iZXIpe1xuICAgIHRoaXMub3JkZXJGZWVzVG90YWwubmV4dChvcmRlckZlZXNUb3RhbCk7XG4gIH1cbiAgZ2V0b3JkZXJGZWVzVG90YWxzKCl7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJGZWVzVG90YWw7XG4gIH1cblxuICBzZXRvcmRlclRvdGFsUGF5bWVudHMob3JkZXJUb3RhbFBheW1lbnRzOiBudW1iZXIpe1xuICAgIHRoaXMub3JkZXJUb3RhbFBheW1lbnRzLm5leHQob3JkZXJUb3RhbFBheW1lbnRzKTtcbiAgfVxuICBnZXRvb3JkZXJUb3RhbFBheW1lbnRzcygpe1xuICAgIHJldHVybiB0aGlzLm9yZGVyVG90YWxQYXltZW50cztcbiAgfVxufVxuIl19
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { Injectable } from '@angular/core';
6
6
  import { HttpClient } from '@angular/common/http';
7
+ import { v4 as uuidv4 } from 'uuid';
7
8
  import { PaymentLibService } from '../../payment-lib.service';
8
9
  import { WebComponentHttpClient } from '../shared/httpclient/webcomponent.http.client';
9
10
  import { ErrorHandlerService } from '../shared/error-handler.service';
@@ -68,6 +69,36 @@ export class PaymentViewService {
68
69
  })
69
70
  .pipe(catchError(this.errorHandlerService.handleError));
70
71
  }
72
+ /**
73
+ * @return {?}
74
+ */
75
+ getPBAaccountDetails() {
76
+ /** @type {?} */
77
+ const url = `${this.paymentLibService.API_ROOT}/pba-accounts`;
78
+ return this.http.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
79
+ }
80
+ /**
81
+ * @param {?} serviceRef
82
+ * @param {?} body
83
+ * @return {?}
84
+ */
85
+ postWays2PayCardPayment(serviceRef, body) {
86
+ /** @type {?} */
87
+ const url = `${this.paymentLibService.API_ROOT}/service-request/${serviceRef}/card-payments`;
88
+ body['return-url'] = `${this.paymentLibService.CARDPAYMENTRETURNURL}/payment`;
89
+ return this.https.post(url, body).pipe(catchError(this.errorHandlerService.handleError));
90
+ }
91
+ /**
92
+ * @param {?} serviceRef
93
+ * @param {?} body
94
+ * @return {?}
95
+ */
96
+ postPBAaccountPayment(serviceRef, body) {
97
+ body['idempotency_key'] = uuidv4();
98
+ /** @type {?} */
99
+ const url = `${this.paymentLibService.API_ROOT}/service-request/${serviceRef}/pba-payments`;
100
+ return this.https.post(url, body);
101
+ }
71
102
  /**
72
103
  * @param {?} body
73
104
  * @return {?}
@@ -251,4 +282,4 @@ if (false) {
251
282
  */
252
283
  PaymentViewService.prototype.paymentLibService;
253
284
  }
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBSS9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVN2QyxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7OztJQUs3QixZQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUFJLG1CQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBQSxDQUFDO0lBUXpCLENBQUM7Ozs7OztJQUU3RCxpQkFBaUIsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQjtRQUMvRCxJQUFJLENB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O1lBcElGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQTNCUSxVQUFVO1lBS1Ysc0JBQXNCO1lBR3RCLGFBQWE7WUFGYixtQkFBbUI7WUFGcEIsaUJBQWlCOzs7Ozs7OztJQXlCdkIsd0NBQXFGOzs7OztJQUVyRixrQ0FBbUI7Ozs7O0lBRVAsa0NBQXdCOzs7OztJQUN4QixtQ0FBcUM7Ozs7O0lBQ3JDLG9DQUE2Qjs7Ozs7SUFDN0IsaURBQWdEOzs7OztJQUNoRCwrQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuXG5pbXBvcnQge0lQYXltZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQ29tcG9uZW50SHR0cENsaWVudCB9IGZyb20gJy4uL3NoYXJlZC9odHRwY2xpZW50L3dlYmNvbXBvbmVudC5odHRwLmNsaWVudCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQWRkUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFBheWh1YkFudGVubmFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXlodWJBbnRlbm5hUmVxdWVzdCc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHtJT3JkZXJSZWZlcmVuY2VGZWV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSU9yZGVyUmVmZXJlbmNlRmVlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVmdW5kc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlZnVuZHNSZXF1ZXN0JztcbmltcG9ydCB7IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRWaWV3U2VydmljZSB7XG4gIHByaXZhdGUgb3JkZXJzTGlzdCAgPSA8QmVoYXZpb3JTdWJqZWN0PElPcmRlclJlZmVyZW5jZUZlZVtdPj5uZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcblxuICBwcml2YXRlIG1ldGE6IE1ldGE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGh0dHBzOiBXZWJDb21wb25lbnRIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJTZXJ2aWNlOiBQYXltZW50TGliU2VydmljZSkgeyB9XG5cbiAgZ2V0UGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nLCBwYXltZW50TWV0aG9kOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50PiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihwYXltZW50TWV0aG9kID09PSAnY2FyZCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2Nhc2gnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjaGVxdWUnIHx8IHBheW1lbnRNZXRob2QgPT09ICdwb3N0YWwgb3JkZXInID9cbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXJkLXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gIDpcbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jcmVkaXQtYWNjb3VudC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50R3JvdXBSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG4gIGdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9mZWUtcGF5LWFwcG9ydGlvbi8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0QlNQYXltZW50cyhib2R5OiBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2J1bGstc2Nhbi1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1VuaWRlbnRpZmllZFBheW1lbnRzKGJvZHk6IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5zb2xpY2l0ZWRQYXltZW50cyhib2R5OiBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTQWxsb2NhdGlvblBheW1lbnRzKGJvZHk6IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50R3JvdXBXaXRoUmVtaXNzaW9ucyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZywgZmVlSWQ6IG51bWJlciwgYm9keTogQWRkUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZW1pc3Npb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwKGZlZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwIGZvcjogJywgZmVlSWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmRlbGV0ZShgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9mZWVzLyR7ZmVlSWR9YCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdFBheW1lbnRUb1BheUh1Yihib2R5OiBQYXltZW50VG9QYXlodWJSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRBbnRlbm5hVG9QYXlIdWIoYm9keTogUGF5aHViQW50ZW5uYVJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS90ZWxlcGhvbnktY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIGRvd25sb2FkU2VsZWN0ZWRSZXBvcnQocmVwb3J0TmFtZTogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlcG9ydC9kYXRhP2RhdGVfZnJvbT0ke3N0YXJ0RGF0ZX0mZGF0ZV90bz0ke2VuZERhdGV9JnJlcG9ydF90eXBlPSR7cmVwb3J0TmFtZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0QlNmZWF0dXJlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KCdhcGkvcGF5bWVudC1oaXN0b3J5L2J1bGstc2Nhbi1mZWF0dXJlJywgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRTaXRlSUQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvcmVmZGF0YS9sZWdhY3ktc2l0ZXMnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFBhcnR5RGV0YWlscyhjYXNlTnVtYmVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2Nhc2UtcGF5bWVudC1vcmRlcnM/Y2FzZV9pZHM9JHtjYXNlTnVtYmVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBcbiAgc2V0T3JkZXJzTGlzdChvcmRlckxldmVsRmVlczogSU9yZGVyUmVmZXJlbmNlRmVlW10pOiB2b2lkIHtcbiAgICB0aGlzLm9yZGVyc0xpc3QubmV4dChPYmplY3QuYXNzaWduKFtdLCBvcmRlckxldmVsRmVlcykpO1xufVxuICBnZXRPcmRlcnNMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm9yZGVyc0xpc3Q7XG4gIH1cblxuICAvL2lzc3VlIHJlZnVuZFxuICBwb3N0UmVmdW5kc1JlYXNvbihib2R5OiBQb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVmdW5kLWZvci1wYXltZW50YCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICAvLyByZXRybyByZW1pc3Npb25zXG4gIHBvc3RQYXltZW50R3JvdXBXaXRoUmV0cm9SZW1pc3Npb25zKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nLCBmZWVJZDogbnVtYmVyLCBib2R5OiBBZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9L2ZlZXMvJHtmZWVJZH0vcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24oYm9keTpQb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbikge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVmdW5kLXJldHJvLXJlbWlzc2lvbmAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG59XG4iXX0=
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVl2QyxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7OztJQUs3QixZQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUFJLG1CQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBQSxDQUFDO0lBUXpCLENBQUM7Ozs7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O1lBR3RCLGFBQWE7WUFGYixtQkFBbUI7WUFGcEIsaUJBQWlCOzs7Ozs7OztJQTRCdkIsd0NBQXFGOzs7OztJQUVyRixrQ0FBbUI7Ozs7O0lBRVAsa0NBQXdCOzs7OztJQUN4QixtQ0FBcUM7Ozs7O0lBQ3JDLG9DQUE2Qjs7Ozs7SUFDN0IsaURBQWdEOzs7OztJQUNoRCwrQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQge0lQYXltZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQ29tcG9uZW50SHR0cENsaWVudCB9IGZyb20gJy4uL3NoYXJlZC9odHRwY2xpZW50L3dlYmNvbXBvbmVudC5odHRwLmNsaWVudCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQWRkUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFBheWh1YkFudGVubmFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXlodWJBbnRlbm5hUmVxdWVzdCc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHtJT3JkZXJSZWZlcmVuY2VGZWV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSU9yZGVyUmVmZXJlbmNlRmVlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQnO1xuaW1wb3J0IHsgUmVmdW5kc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlZnVuZHNSZXF1ZXN0JztcbmltcG9ydCB7IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBlcnJvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy91dGlsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0ICA9IDxCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+Pm5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gIHByaXZhdGUgbWV0YTogTWV0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cHM6IFdlYkNvbXBvbmVudEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuICBnZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRNZXRob2Q6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnQ+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50RGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KHBheW1lbnRNZXRob2QgPT09ICdjYXJkJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2FzaCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2NoZXF1ZScgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ3Bvc3RhbCBvcmRlcicgP1xuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NhcmQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAgOlxuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NyZWRpdC1hY2NvdW50LXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBnZXRQYXltZW50R3JvdXBEZXRhaWxzKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRHcm91cFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbiAgZ2V0QXBwb3J0aW9uUGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2ZlZS1wYXktYXBwb3J0aW9uLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuICBnZXRQQkFhY2NvdW50RGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BiYS1hY2NvdW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0V2F5czJQYXlDYXJkUGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9jYXJkLXBheW1lbnRzYDtcbiAgICBib2R5WydyZXR1cm4tdXJsJ10gPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkNBUkRQQVlNRU5UUkVUVVJOVVJMfS9wYXltZW50YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGJvZHlbJ2lkZW1wb3RlbmN5X2tleSddID0gdXVpZHY0KCk7IFxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L3BiYS1wYXltZW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpO1xuICB9XG5cbiAgcG9zdEJTUGF5bWVudHMoYm9keTogQWxsb2NhdGVQYXltZW50UmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9idWxrLXNjYW4tcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbmlkZW50aWZpZWRQYXltZW50cyhib2R5OiBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1Vuc29saWNpdGVkUGF5bWVudHMoYm9keTogVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU0FsbG9jYXRpb25QYXltZW50cyhib2R5OiBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEdyb3VwV2l0aFJlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJlbWlzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9L2ZlZXMvJHtmZWVJZH0vcmVtaXNzaW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cChmZWVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cCBmb3I6ICcsIGZlZUlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5kZWxldGUoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vZmVlcy8ke2ZlZUlkfWApLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RQYXltZW50VG9QYXlIdWIoYm9keTogUGF5bWVudFRvUGF5aHViUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L2NhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50QW50ZW5uYVRvUGF5SHViKGJvZHk6IFBheWh1YkFudGVubmFSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vdGVsZXBob255LWNhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBkb3dubG9hZFNlbGVjdGVkUmVwb3J0KHJlcG9ydE5hbWU6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZXBvcnQvZGF0YT9kYXRlX2Zyb209JHtzdGFydERhdGV9JmRhdGVfdG89JHtlbmREYXRlfSZyZXBvcnRfdHlwZT0ke3JlcG9ydE5hbWV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldEJTZmVhdHVyZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9idWxrLXNjYW4tZmVhdHVyZScsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0U2l0ZUlEKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KCdhcGkvcGF5bWVudC1oaXN0b3J5L3JlZmRhdGEvbGVnYWN5LXNpdGVzJywgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRQYXJ0eURldGFpbHMoY2FzZU51bWJlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXNlLXBheW1lbnQtb3JkZXJzP2Nhc2VfaWRzPSR7Y2FzZU51bWJlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgXG4gIHNldE9yZGVyc0xpc3Qob3JkZXJMZXZlbEZlZXM6IElPcmRlclJlZmVyZW5jZUZlZVtdKTogdm9pZCB7XG4gICAgdGhpcy5vcmRlcnNMaXN0Lm5leHQoT2JqZWN0LmFzc2lnbihbXSwgb3JkZXJMZXZlbEZlZXMpKTtcbn1cbiAgZ2V0T3JkZXJzTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcmRlcnNMaXN0O1xuICB9XG5cbiAgLy9pc3N1ZSByZWZ1bmRcbiAgcG9zdFJlZnVuZHNSZWFzb24oYm9keTogUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlZnVuZC1mb3ItcGF5bWVudGAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgLy8gcmV0cm8gcmVtaXNzaW9uc1xuICBwb3N0UGF5bWVudEdyb3VwV2l0aFJldHJvUmVtaXNzaW9ucyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZywgZmVlSWQ6IG51bWJlciwgYm9keTogQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfS9mZWVzLyR7ZmVlSWR9L3JldHJvLXJlbWlzc2lvbmAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKGJvZHk6UG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlZnVuZC1yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -116,6 +116,15 @@ export class RefundsService {
116
116
  postIssueRefund(body) {
117
117
  return this.https.post(`${this.paymentLibService.REFUNDS_API_ROOT}/refund`, body).pipe(catchError(this.errorHandlerService.handleError));
118
118
  }
119
+ /**
120
+ * @param {?} body
121
+ * @param {?} refundRef
122
+ * @param {?} notificationType
123
+ * @return {?}
124
+ */
125
+ putResendOrEdit(body, refundRef, notificationType) {
126
+ return this.https.put(`${this.paymentLibService.REFUNDS_API_ROOT}/resend/notification/${refundRef}?notificationType=${notificationType}`, body).pipe(catchError(this.errorHandlerService.handleError));
127
+ }
119
128
  /**
120
129
  * @param {?} body
121
130
  * @param {?} refund_reference
@@ -145,11 +154,24 @@ export class RefundsService {
145
154
  }
146
155
  headers['X-Requested-With'] = 'XMLHttpRequest';
147
156
  if (csrfToken.content === null) {
148
- headers['CSRF-Token'] = document.cookie.split(';').find((/**
157
+ if (document.cookie.split(';').find((/**
149
158
  * @param {?} row
150
159
  * @return {?}
151
160
  */
152
- row => row.startsWith(' XSRF-TOKEN'))).split('=')[1];
161
+ row => row.startsWith('XSRF-TOKEN'))).split('=')[1] !== undefined) {
162
+ headers['CSRF-Token'] = document.cookie.split(';').find((/**
163
+ * @param {?} row
164
+ * @return {?}
165
+ */
166
+ row => row.startsWith('XSRF-TOKEN'))).split('=')[1];
167
+ }
168
+ else {
169
+ headers['CSRF-Token'] = document.cookie.split(';').find((/**
170
+ * @param {?} row
171
+ * @return {?}
172
+ */
173
+ row => row.startsWith(' XSRF-TOKEN'))).split('=')[1];
174
+ }
153
175
  }
154
176
  else {
155
177
  headers['CSRF-Token'] = csrfToken.content;
@@ -200,4 +222,4 @@ if (false) {
200
222
  */
201
223
  RefundsService.prototype.meta;
202
224
  }
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcmVmdW5kcy9yZWZ1bmRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBVTFDLE1BQU0sT0FBTyxjQUFjOzs7Ozs7OztJQUV6QixZQUFvQixJQUFnQixFQUMxQixLQUE2QixFQUNuQixtQkFBd0MsRUFDeEMsaUJBQW9DLEVBQ3BDLElBQVU7UUFKVixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQ25CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxTQUFJLEdBQUosSUFBSSxDQUFNO0lBQ2QsQ0FBQzs7OztJQUVqQixnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsVUFBVSxFQUFFO1lBQzdGLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7YUFDRyxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUks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QUNMLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1NBQzNDO1FBQ0QsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUM5QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzs7WUFuSEEsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBZk8sVUFBVTtZQUdULHNCQUFzQjtZQUR2QixtQkFBbUI7WUFFbkIsaUJBQWlCO1lBSGhCLElBQUk7Ozs7Ozs7O0lBaUJDLDhCQUF3Qjs7Ozs7SUFDbEMsK0JBQXFDOzs7OztJQUMzQiw2Q0FBZ0Q7Ozs7O0lBQ2hELDJDQUE0Qzs7Ozs7SUFDNUMsOEJBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYkNvbXBvbmVudEh0dHBDbGllbnQgfSBmcm9tICcuLi9zaGFyZWQvaHR0cGNsaWVudC93ZWJjb21wb25lbnQuaHR0cC5jbGllbnQnO1xuaW1wb3J0IHtQYXltZW50TGliU2VydmljZX0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge2NhdGNoRXJyb3J9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElSZWZ1bmRSZWFzb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kUmVhc29ucyc7XG5pbXBvcnQgeyBJUGF0Y2hSZWZ1bmRBY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXRjaFJlZnVuZEFjdGlvbic7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgSXNzdWVSZWZ1bmRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc3N1ZVJlZnVuZFJlcXVlc3QnO1xuaW1wb3J0IHsgSVJlc3VibWl0UmVmdW5kUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlc3VibWl0UmVmdW5kUmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVmdW5kU3RhdHVzSGlzdG9yeSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZFN0YXR1c0hpc3RvcnknO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVmdW5kc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGh0dHBzOiBXZWJDb21wb25lbnRIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGFcbiAgICAgICAgICAgICAgKSB7IH1cblxuICBnZXRSZWZ1bmRSZWFzb25zKCk6IE9ic2VydmFibGU8SVJlZnVuZFJlYXNvbnNbXT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVJlZnVuZFJlYXNvbnNbXT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9yZWFzb25zYCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0UmVmdW5kUmVqZWN0UmVhc29ucygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9yZWplY3Rpb24tcmVhc29uc2AsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgZ2V0UmVmdW5kQWN0aW9ucyhyZWZ1bmRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9LyR7cmVmdW5kUmVmZXJlbmNlfS9hY3Rpb25zYCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG5wYXRjaFJlZnVuZEFjdGlvbnMoYm9keTpJUGF0Y2hSZWZ1bmRBY3Rpb24sIHJlZnVuZFJlZmVyZW5jZTogc3RyaW5nLCByZXZpZXdlckFjdGlvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgLy8gY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyh7fSk7XG4gIHJldHVybiB0aGlzLmh0dHBzLnBhdGNoKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vJHtyZWZ1bmRSZWZlcmVuY2V9L2FjdGlvbi8ke3Jldmlld2VyQWN0aW9ufWAsIGJvZHkpXG4gIC5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5nZXRSZWZ1bmRMaXN0KHJlZnVuZHN0YXR1cz86IHN0cmluZywgc2VsZmV4Y2x1c2l2ZT86Ym9vbGVhbik6IE9ic2VydmFibGU8SVJlZnVuZExpc3RbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElSZWZ1bmRMaXN0W10+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0/c3RhdHVzPSR7cmVmdW5kc3RhdHVzfSZleGNsdWRlQ3VycmVudFVzZXI9JHtzZWxmZXhjbHVzaXZlfWAsIFxuICAgIHtcbiAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbn0pXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xufVxuXG5nZXRSZWZ1bmRTdGF0dXNIaXN0b3J5KHJlZmVyZW5jZT86IHN0cmluZykge1xuICByZXR1cm4gdGhpcy5odHRwLmdldDxJUmVmdW5kU3RhdHVzSGlzdG9yeT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS8ke3JlZmVyZW5jZX0vc3RhdHVzLWhpc3RvcnlgLCBcbiAge1xuICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbn0pXG4gIC5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5nZXRSZWZ1bmRTdGF0dXNMaXN0KGNjZENhc2VOdW1iZXI6c3RyaW5nKTogT2JzZXJ2YWJsZTxJUmVmdW5kTGlzdFtdPiB7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0PElSZWZ1bmRMaXN0W10+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0/Y2NkQ2FzZU51bWJlcj0ke2NjZENhc2VOdW1iZXJ9YCwge1xuICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbn0pXG4gIC5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5nZXRVc2VyRGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9nZXQtdXNlci1kZXRhaWxzYCwge1xuICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICB9KVxuICAgIC5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbn1cbiBcbnBvc3RJc3N1ZVJlZnVuZChib2R5OiBJc3N1ZVJlZnVuZFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVmdW5kYCwgYm9keSkucGlwZShcbiAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgKTtcbn1cblxucGF0Y2hSZXN1Ym1pdFJlZnVuZChib2R5OiBJUmVzdWJtaXRSZWZ1bmRSZXF1ZXN0LCByZWZ1bmRfcmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAvLyBjb25zdCBvcHRzID0gdGhpcy5hZGRIZWFkZXJzKHt9KTtcbiAgcmV0dXJuIHRoaXMuaHR0cHMucGF0Y2goYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9yZXN1Ym1pdC8ke3JlZnVuZF9yZWZlcmVuY2V9YCwgYm9keSkucGlwZShcbiAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgKTtcbn1cblxuYWRkSGVhZGVycyhvcHRpb25zOiBhbnkpOiBhbnkge1xuICBjb25zdCBjc3JmVG9rZW4gPSB0aGlzLm1ldGEuZ2V0VGFnKCduYW1lPWNzcmYtdG9rZW4nKTtcbiAgY29uc3QgaGVhZGVycyA9IHt9O1xuICBpZiAob3B0aW9ucy5oZWFkZXJzKSB7XG4gICAgb3B0aW9ucy5oZWFkZXJzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBoZWFkZXJzW2VsZW1lbnRdID0gb3B0aW9ucy5oZWFkZXJzLmdldChlbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuICBoZWFkZXJzWydYLVJlcXVlc3RlZC1XaXRoJ10gPSAnWE1MSHR0cFJlcXVlc3QnO1xuICBpZiAoY3NyZlRva2VuLmNvbnRlbnQgPT09IG51bGwpIHtcbiAgICBoZWFkZXJzWydDU1JGLVRva2VuJ10gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aCgnIFhTUkYtVE9LRU4nKSkuc3BsaXQoJz0nKVsxXTtcbiAgfSBlbHNlIHtcbiAgICBoZWFkZXJzWydDU1JGLVRva2VuJ10gPSBjc3JmVG9rZW4uY29udGVudDtcbiAgfVxuICBvcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoaGVhZGVycyk7XG4gIG9wdGlvbnMucmVzcG9uc2VUeXBlID0gJ3RleHQnO1xuICByZXR1cm4gb3B0aW9ucztcbn1cbn1cbiJdfQ==
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcmVmdW5kcy9yZWZ1bmRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBWTFDLE1BQU0sT0FBTyxjQUFjOzs7Ozs7OztJQUV6QixZQUFvQixJQUFnQixFQUMxQixLQUE2QixFQUNuQixtQkFBd0MsRUFDeEMsaUJBQW9DLEVBQ3BDLElBQVU7UUFKVixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQ25CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxTQUFJLEdBQUosSUFBSSxDQUFNO0lBQ2QsQ0FBQzs7OztJQUVqQixnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsVUFBVSxFQUFFO1lBQzdGLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7YUFDRyxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUks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WUFFbkIsaUJBQWlCO1lBSGhCLElBQUk7Ozs7Ozs7O0lBbUJDLDhCQUF3Qjs7Ozs7SUFDbEMsK0JBQXFDOzs7OztJQUMzQiw2Q0FBZ0Q7Ozs7O0lBQ2hELDJDQUE0Qzs7Ozs7SUFDNUMsOEJBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYkNvbXBvbmVudEh0dHBDbGllbnQgfSBmcm9tICcuLi9zaGFyZWQvaHR0cGNsaWVudC93ZWJjb21wb25lbnQuaHR0cC5jbGllbnQnO1xuaW1wb3J0IHtQYXltZW50TGliU2VydmljZX0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge2NhdGNoRXJyb3J9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElSZWZ1bmRSZWFzb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kUmVhc29ucyc7XG5pbXBvcnQgeyBJUGF0Y2hSZWZ1bmRBY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXRjaFJlZnVuZEFjdGlvbic7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgSXNzdWVSZWZ1bmRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc3N1ZVJlZnVuZFJlcXVlc3QnO1xuaW1wb3J0IHsgSVJlc3VibWl0UmVmdW5kUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlc3VibWl0UmVmdW5kUmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVmdW5kU3RhdHVzSGlzdG9yeSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZFN0YXR1c0hpc3RvcnknO1xuaW1wb3J0IHsgSVB1dE5vdGlmaWNhdGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQdXROb3RpZmljYXRpb25SZXF1ZXN0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVmdW5kc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGh0dHBzOiBXZWJDb21wb25lbnRIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGFcbiAgICAgICAgICAgICAgKSB7IH1cblxuICBnZXRSZWZ1bmRSZWFzb25zKCk6IE9ic2VydmFibGU8SVJlZnVuZFJlYXNvbnNbXT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVJlZnVuZFJlYXNvbnNbXT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9yZWFzb25zYCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0UmVmdW5kUmVqZWN0UmVhc29ucygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9yZWplY3Rpb24tcmVhc29uc2AsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgZ2V0UmVmdW5kQWN0aW9ucyhyZWZ1bmRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9LyR7cmVmdW5kUmVmZXJlbmNlfS9hY3Rpb25zYCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG5wYXRjaFJlZnVuZEFjdGlvbnMoYm9keTpJUGF0Y2hSZWZ1bmRBY3Rpb24sIHJlZnVuZFJlZmVyZW5jZTogc3RyaW5nLCByZXZpZXdlckFjdGlvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgLy8gY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyh7fSk7XG4gIHJldHVybiB0aGlzLmh0dHBzLnBhdGNoKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vJHtyZWZ1bmRSZWZlcmVuY2V9L2FjdGlvbi8ke3Jldmlld2VyQWN0aW9ufWAsIGJvZHkpXG4gIC5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5nZXRSZWZ1bmRMaXN0KHJlZnVuZHN0YXR1cz86IHN0cmluZywgc2VsZmV4Y2x1c2l2ZT86Ym9vbGVhbik6IE9ic2VydmFibGU8SVJlZnVuZExpc3RbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElSZWZ1bmRMaXN0W10+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0/c3RhdHVzPSR7cmVmdW5kc3RhdHVzfSZleGNsdWRlQ3VycmVudFVzZXI9JHtzZWxmZXhjbHVzaXZlfWAsIFxuICAgIHtcbiAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbn0pXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xufVxuXG5nZXRSZWZ1bmRTdGF0dXNIaXN0b3J5KHJlZmVyZW5jZT86IHN0cmluZykge1xuICByZXR1cm4gdGhpcy5odHRwLmdldDxJUmVmdW5kU3RhdHVzSGlzdG9yeT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS8ke3JlZmVyZW5jZX0vc3RhdHVzLWhpc3RvcnlgLCBcbiAge1xuICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbn0pXG4gIC5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5nZXRSZWZ1bmRTdGF0dXNMaXN0KGNjZENhc2VOdW1iZXI6c3RyaW5nKTogT2JzZXJ2YWJsZTxJUmVmdW5kTGlzdFtdPiB7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0PElSZWZ1bmRMaXN0W10+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0/Y2NkQ2FzZU51bWJlcj0ke2NjZENhc2VOdW1iZXJ9YCwge1xuICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbn0pXG4gIC5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5nZXRVc2VyRGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9nZXQtdXNlci1kZXRhaWxzYCwge1xuICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICB9KVxuICAgIC5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbn1cbiBcbnBvc3RJc3N1ZVJlZnVuZChib2R5OiBJc3N1ZVJlZnVuZFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVmdW5kYCwgYm9keSkucGlwZShcbiAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgKTtcbn1cblxucHV0UmVzZW5kT3JFZGl0KGJvZHk6IElQdXROb3RpZmljYXRpb25SZXF1ZXN0LCByZWZ1bmRSZWY6c3RyaW5nLCBub3RpZmljYXRpb25UeXBlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiB0aGlzLmh0dHBzLnB1dChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9L3Jlc2VuZC9ub3RpZmljYXRpb24vJHtyZWZ1bmRSZWZ9P25vdGlmaWNhdGlvblR5cGU9JHtub3RpZmljYXRpb25UeXBlfWAsIGJvZHkpLnBpcGUoXG4gICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICk7XG59XG5cbnBhdGNoUmVzdWJtaXRSZWZ1bmQoYm9keTogSVJlc3VibWl0UmVmdW5kUmVxdWVzdCwgcmVmdW5kX3JlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgLy8gY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyh7fSk7XG4gIHJldHVybiB0aGlzLmh0dHBzLnBhdGNoKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVzdWJtaXQvJHtyZWZ1bmRfcmVmZXJlbmNlfWAsIGJvZHkpLnBpcGUoXG4gICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICk7XG59XG5cbmFkZEhlYWRlcnMob3B0aW9uczogYW55KTogYW55IHtcbiAgY29uc3QgY3NyZlRva2VuID0gdGhpcy5tZXRhLmdldFRhZygnbmFtZT1jc3JmLXRva2VuJyk7XG4gIGNvbnN0IGhlYWRlcnMgPSB7fTtcbiAgaWYgKG9wdGlvbnMuaGVhZGVycykge1xuICAgIG9wdGlvbnMuaGVhZGVycy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgaGVhZGVyc1tlbGVtZW50XSA9IG9wdGlvbnMuaGVhZGVycy5nZXQoZWxlbWVudCk7XG4gICAgfSk7XG4gIH1cbiAgaGVhZGVyc1snWC1SZXF1ZXN0ZWQtV2l0aCddID0gJ1hNTEh0dHBSZXF1ZXN0JztcbiAgaWYgKGNzcmZUb2tlbi5jb250ZW50ID09PSBudWxsKSB7XG4gICAgaWYoIGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZpbmQocm93ID0+IHJvdy5zdGFydHNXaXRoKCdYU1JGLVRPS0VOJykpLnNwbGl0KCc9JylbMV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaGVhZGVyc1snQ1NSRi1Ub2tlbiddID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmluZChyb3cgPT4gcm93LnN0YXJ0c1dpdGgoJ1hTUkYtVE9LRU4nKSkuc3BsaXQoJz0nKVsxXTtcbiAgICAgIFxuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzWydDU1JGLVRva2VuJ10gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aCgnIFhTUkYtVE9LRU4nKSkuc3BsaXQoJz0nKVsxXTtcbiAgICB9XG4gICAgXG4gIH0gZWxzZSB7XG4gICAgaGVhZGVyc1snQ1NSRi1Ub2tlbiddID0gY3NyZlRva2VuLmNvbnRlbnQ7XG4gIH1cbiAgb3B0aW9ucy5oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpO1xuICBvcHRpb25zLnJlc3BvbnNlVHlwZSA9ICd0ZXh0JztcbiAgcmV0dXJuIG9wdGlvbnM7XG59XG59XG4iXX0=
@@ -21,20 +21,53 @@ export class ErrorHandlerService {
21
21
  else {
22
22
  // The backend returned an unsuccessful response code.
23
23
  if (err.status === 404) {
24
- if (!err.error) {
25
- errorMessage = 'Not found';
24
+ if (typeof err.error === 'string' && err.error !== undefined) {
25
+ if (err.error.length > 60) {
26
+ if (JSON.parse(err.error).statusCode !== undefined && JSON.parse(err.error).statusCode === 500) {
27
+ errorMessage = 'Internal server error';
28
+ }
29
+ else {
30
+ if (err.error.length > 60) {
31
+ errorMessage = JSON.parse(err.error).error;
32
+ }
33
+ else {
34
+ errorMessage = err.error;
35
+ }
36
+ }
37
+ }
38
+ else {
39
+ errorMessage = err.error;
40
+ }
26
41
  }
27
42
  else {
28
- errorMessage = err.error;
43
+ errorMessage = JSON.parse(err.error).error;
29
44
  }
30
45
  }
46
+ else if (err.status === 500) {
47
+ errorMessage = 'Internal server error';
48
+ }
31
49
  else if (err.error.messsage === undefined) {
32
50
  if (typeof err.error === 'object') {
33
51
  errorMessage = JSON.parse(JSON.stringify(err.error)).error;
34
52
  }
35
53
  else {
36
54
  if (typeof err.error === 'string' && err.error !== undefined) {
37
- errorMessage = err.error;
55
+ if (err.error.length > 60) {
56
+ if (JSON.parse(err.error).statusCode !== undefined && JSON.parse(err.error).statusCode === 500) {
57
+ errorMessage = 'Internal server error';
58
+ }
59
+ else {
60
+ if (err.error.length > 60) {
61
+ errorMessage = JSON.parse(err.error).error;
62
+ }
63
+ else {
64
+ errorMessage = err.error;
65
+ }
66
+ }
67
+ }
68
+ else {
69
+ errorMessage = err.error;
70
+ }
38
71
  }
39
72
  else {
40
73
  errorMessage = JSON.parse(err.error).error;
@@ -72,4 +105,4 @@ ErrorHandlerService.decorators = [
72
105
  /** @nocollapse */
73
106
  ErrorHandlerService.ctorParameters = () => [];
74
107
  /** @nocollapse */ ErrorHandlerService.ngInjectableDef = i0.defineInjectable({ factory: function ErrorHandlerService_Factory() { return new ErrorHandlerService(); }, token: ErrorHandlerService, providedIn: "root" });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsZ0JBQWdCLENBQUM7Ozs7O0lBR2pCLFdBQVcsQ0FBQyxHQUFzQjs7WUFDNUIsWUFBb0I7UUFDeEIsSUFBSSxHQUFHLENBQUMsS0FBSyxZQUFZLEtBQUssRUFBRTtZQUM5QiwyQ0FBMkM7WUFDM0MsWUFBWSxHQUFHLHNCQUFzQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzFEO2FBQU07WUFDTCxzREFBc0Q7WUFDdEQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsWUFBWSxHQUFHLFdBQVcsQ0FBQztpQkFDNUI7cUJBQU07b0JBQ0wsWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7aUJBQzFCO2FBQ0Y7aUJBQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7Z0JBQzNDLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtvQkFDakMsWUFBWSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7aUJBQzdEO3FCQUFNO29CQUNMLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTt3QkFDNUQsWUFBWSxHQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUM7cUJBQzNCO3lCQUFNO3dCQUNMLFlBQVksR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7cUJBQzdDO2lCQUVGO2FBRUY7aUJBQU07Z0JBQ0wsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7b0JBQ25DLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3ZDO3FCQUFNO29CQUNMLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDL0I7YUFFRjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7Ozs7SUFHRCxxQkFBcUIsQ0FBQyxZQUFZO1FBQ2hDLE9BQU87WUFDTCxLQUFLLEVBQUUscUNBQXFDO1lBQzVDLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQztJQUNKLENBQUM7OztZQXRERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfdGhyb3cgfSBmcm9tICdyeGpzL29ic2VydmFibGUvdGhyb3cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvc3JjL3V0aWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuXG5leHBvcnQgY2xhc3MgRXJyb3JIYW5kbGVyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuXG4gIGhhbmRsZUVycm9yKGVycjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICBpZiAoZXJyLmVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIC8vIEEgY2xpZW50LXNpZGUgb3IgbmV0d29yayBlcnJvciBvY2N1cnJlZC5cbiAgICAgIGVycm9yTWVzc2FnZSA9IGBBbiBlcnJvciBvY2N1cnJlZDogJHtlcnIuZXJyb3IubWVzc2FnZX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgYmFja2VuZCByZXR1cm5lZCBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgY29kZS5cbiAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgaWYgKCFlcnIuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAnTm90IGZvdW5kJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnIuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZXJyLmVycm9yLm1lc3NzYWdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYoIHR5cGVvZiBlcnIuZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZXJyLmVycm9yKSkuZXJyb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBlcnIuZXJyb3IgPT09ICdzdHJpbmcnICYmIGVyci5lcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgZXJyLmVycm9yO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgSlNPTi5wYXJzZShlcnIuZXJyb3IpLmVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVyci5lcnJvci5tZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtlcnIuZXJyb3IubWVzc2FnZX1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2Vyci5lcnJvcn1gO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gX3Rocm93KGVycm9yTWVzc2FnZSk7XG4gIH1cblxuXG4gIGdldFNlcnZlckVycm9yTWVzc2FnZShpc0Vycm9yRXhpc3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IFwiVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIHNlcnZpY2VcIixcbiAgICAgIGJvZHk6IFwiVHJ5IGFnYWluIGxhdGVyXCIsXG4gICAgICBzaG93RXJyb3I6IGlzRXJyb3JFeGlzdFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsZ0JBQWdCLENBQUM7Ozs7O0lBR2pCLFdBQVcsQ0FBQyxHQUFzQjs7WUFDNUIsWUFBb0I7UUFDeEIsSUFBSSxHQUFHLENBQUMsS0FBSyxZQUFZLEtBQUssRUFBRTtZQUM5QiwyQ0FBMkM7WUFDM0MsWUFBWSxHQUFHLHNCQUFzQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzFEO2FBQU07WUFDTCxzREFBc0Q7WUFDdEQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFFdEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO29CQUU1RCxJQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRTt3QkFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQzlGOzRCQUNFLFlBQVksR0FBRyx1QkFBdUIsQ0FBQzt5QkFDeEM7NkJBQU07NEJBQ0wsSUFBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7Z0NBQ3hCLFlBQVksR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7NkJBQzdDO2lDQUFNO2dDQUNMLFlBQVksR0FBSSxHQUFHLENBQUMsS0FBSyxDQUFDOzZCQUMzQjt5QkFFRjtxQkFDRjt5QkFBTTt3QkFDTCxZQUFZLEdBQUksR0FBRyxDQUFDLEtBQUssQ0FBQztxQkFDM0I7aUJBQ0Y7cUJBQU07b0JBQ0wsWUFBWSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDN0M7YUFFRjtpQkFDSSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dCQUMzQixZQUFZLEdBQUcsdUJBQXVCLENBQUM7YUFDeEM7aUJBQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7Z0JBQzNDLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtvQkFDakMsWUFBWSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7aUJBQzdEO3FCQUFNO29CQUNMLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTt3QkFFNUQsSUFBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7NEJBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUM5RjtnQ0FDRSxZQUFZLEdBQUcsdUJBQXVCLENBQUM7NkJBQ3hDO2lDQUFNO2dDQUNMLElBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFO29DQUN4QixZQUFZLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO2lDQUM3QztxQ0FBTTtvQ0FDTCxZQUFZLEdBQUksR0FBRyxDQUFDLEtBQUssQ0FBQztpQ0FDM0I7NkJBRUY7eUJBQ0Y7NkJBQU07NEJBQ0wsWUFBWSxHQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUM7eUJBQzNCO3FCQUNGO3lCQUFNO3dCQUNMLFlBQVksR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7cUJBQzdDO2lCQUVGO2FBRUY7aUJBQU07Z0JBQ0wsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7b0JBQ25DLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3ZDO3FCQUFNO29CQUNMLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDL0I7YUFFRjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7Ozs7SUFHRCxxQkFBcUIsQ0FBQyxZQUFZO1FBQ2hDLE9BQU87WUFDTCxLQUFLLEVBQUUscUNBQXFDO1lBQzVDLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQztJQUNKLENBQUM7OztZQXpGRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfdGhyb3cgfSBmcm9tICdyeGpzL29ic2VydmFibGUvdGhyb3cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvc3JjL3V0aWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuXG5leHBvcnQgY2xhc3MgRXJyb3JIYW5kbGVyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuXG4gIGhhbmRsZUVycm9yKGVycjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICBpZiAoZXJyLmVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIC8vIEEgY2xpZW50LXNpZGUgb3IgbmV0d29yayBlcnJvciBvY2N1cnJlZC5cbiAgICAgIGVycm9yTWVzc2FnZSA9IGBBbiBlcnJvciBvY2N1cnJlZDogJHtlcnIuZXJyb3IubWVzc2FnZX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgYmFja2VuZCByZXR1cm5lZCBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgY29kZS5cbiAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDQpIHtcblxuICAgICAgICBpZiAodHlwZW9mIGVyci5lcnJvciA9PT0gJ3N0cmluZycgJiYgZXJyLmVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICBcbiAgICAgICAgICBpZihlcnIuZXJyb3IubGVuZ3RoID4gNjApIHtcbiAgICAgICAgICAgIGlmIChKU09OLnBhcnNlKGVyci5lcnJvcikuc3RhdHVzQ29kZSAhPT0gdW5kZWZpbmVkICYmIEpTT04ucGFyc2UoZXJyLmVycm9yKS5zdGF0dXNDb2RlID09PSA1MDApXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYoZXJyLmVycm9yLmxlbmd0aCA+IDYwKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gIEpTT04ucGFyc2UoZXJyLmVycm9yKS5lcnJvcjtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgZXJyLmVycm9yO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgZXJyLmVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgSlNPTi5wYXJzZShlcnIuZXJyb3IpLmVycm9yO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZXJyLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InO1xuICAgICAgfSBlbHNlIGlmIChlcnIuZXJyb3IubWVzc3NhZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiggdHlwZW9mIGVyci5lcnJvciA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlcnIuZXJyb3IpKS5lcnJvcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGVyci5lcnJvciA9PT0gJ3N0cmluZycgJiYgZXJyLmVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICBcbiAgICAgICAgICAgIGlmKGVyci5lcnJvci5sZW5ndGggPiA2MCkge1xuICAgICAgICAgICAgICBpZiAoSlNPTi5wYXJzZShlcnIuZXJyb3IpLnN0YXR1c0NvZGUgIT09IHVuZGVmaW5lZCAmJiBKU09OLnBhcnNlKGVyci5lcnJvcikuc3RhdHVzQ29kZSA9PT0gNTAwKVxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gJ0ludGVybmFsIHNlcnZlciBlcnJvcic7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYoZXJyLmVycm9yLmxlbmd0aCA+IDYwKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgSlNPTi5wYXJzZShlcnIuZXJyb3IpLmVycm9yO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAgZXJyLmVycm9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gIGVyci5lcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gIEpTT04ucGFyc2UoZXJyLmVycm9yKS5lcnJvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChlcnIuZXJyb3IubWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZXJyLmVycm9yLm1lc3NhZ2V9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtlcnIuZXJyb3J9YDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIF90aHJvdyhlcnJvck1lc3NhZ2UpO1xuICB9XG5cblxuICBnZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoaXNFcnJvckV4aXN0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBcIlRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJ2aWNlXCIsXG4gICAgICBib2R5OiBcIlRyeSBhZ2FpbiBsYXRlclwiLFxuICAgICAgc2hvd0Vycm9yOiBpc0Vycm9yRXhpc3RcbiAgICB9O1xuICB9XG59XG4iXX0=