@hmcts/ccpay-web-component 6.2.6 → 6.2.7-beta02

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVBheW1lbnRHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvaW50ZXJmYWNlcy9JUGF5bWVudEdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBkZWZpbmUgcGF5bWVudCBncm91cFxuaW1wb3J0IHtJRmVlfSBmcm9tICcuL0lGZWUnO1xuaW1wb3J0IHtJUGF5bWVudH0gZnJvbSAnLi9JUGF5bWVudCc7XG5pbXBvcnQge0lSZW1pc3Npb259IGZyb20gJy4vSVJlbWlzc2lvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRHcm91cCB7XG4gIHBheW1lbnRfZ3JvdXBfcmVmZXJlbmNlOiBzdHJpbmc7XG4gIHBheW1lbnRzOiBJUGF5bWVudFtdO1xuICByZW1pc3Npb25zOiBJUmVtaXNzaW9uW107XG4gIGZlZXM6IElGZWVbXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVBheW1lbnRHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvaW50ZXJmYWNlcy9JUGF5bWVudEdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBkZWZpbmUgcGF5bWVudCBncm91cFxuaW1wb3J0IHtJRmVlfSBmcm9tICcuL0lGZWUnO1xuaW1wb3J0IHtJUGF5bWVudH0gZnJvbSAnLi9JUGF5bWVudCc7XG5pbXBvcnQge0lSZW1pc3Npb259IGZyb20gJy4vSVJlbWlzc2lvbic7XG5pbXBvcnQge0lSZWZ1bmRMaXN0fSBmcm9tIFwiLi9JUmVmdW5kTGlzdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50R3JvdXAge1xuICBwYXltZW50X2dyb3VwX3JlZmVyZW5jZTogc3RyaW5nO1xuICBwYXltZW50czogSVBheW1lbnRbXTtcbiAgcmVtaXNzaW9uczogSVJlbWlzc2lvbltdO1xuICBmZWVzOiBJRmVlW107XG4gIHJlZnVuZHM6IElSZWZ1bmRMaXN0W107XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVJlZnVuZExpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2ludGVyZmFjZXMvSVJlZnVuZExpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWZ1bmRDb250YWN0RGV0YWlscyB9IGZyb20gJy4vSVJlZnVuZENvbnRhY3REZXRhaWxzJztcbmV4cG9ydCBpbnRlcmZhY2UgSVJlZnVuZExpc3Qge1xuICAgIGFtb3VudDogbnVtYmVyLFxuICAgIGNjZF9jYXNlX251bWJlcjogc3RyaW5nLFxuICAgIGRhdGVfY3JlYXRlZDogc3RyaW5nLFxuICAgIGRhdGVfdXBkYXRlZDogc3RyaW5nLFxuICAgIHBheW1lbnRfcmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgcmVhc29uOiBzdHJpbmcsXG4gICAgcmVhc29uX2NvZGU6IHN0cmluZyxcbiAgICByZWZ1bmRfcmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgcmVmdW5kX3N0YXR1czoge1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgIH0sXG4gICAgY29udGFjdF9kZXRhaWxzOiBJUmVmdW5kQ29udGFjdERldGFpbHMsXG4gICAgdXNlcl9mdWxsX25hbWU6IHN0cmluZyxcbiAgICBzZXJ2aWNlX3R5cGU6IHN0cmluZyxcbiAgICBjb2RlOnN0cmluZ1xuICB9Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVJlZnVuZExpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2ludGVyZmFjZXMvSVJlZnVuZExpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWZ1bmRDb250YWN0RGV0YWlscyB9IGZyb20gJy4vSVJlZnVuZENvbnRhY3REZXRhaWxzJztcbmV4cG9ydCBpbnRlcmZhY2UgSVJlZnVuZExpc3Qge1xuICAgIGFtb3VudDogbnVtYmVyLFxuICAgIGNjZF9jYXNlX251bWJlcjogc3RyaW5nLFxuICAgIGRhdGVfY3JlYXRlZDogc3RyaW5nLFxuICAgIGRhdGVfdXBkYXRlZDogc3RyaW5nLFxuICAgIHBheW1lbnRfcmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgcmVhc29uOiBzdHJpbmcsXG4gICAgcmVhc29uX2NvZGU6IHN0cmluZyxcbiAgICByZWZ1bmRfcmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgcmVmdW5kX3N0YXR1czoge1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgIH0sXG4gICAgY29udGFjdF9kZXRhaWxzOiBJUmVmdW5kQ29udGFjdERldGFpbHMsXG4gICAgdXNlcl9mdWxsX25hbWU6IHN0cmluZyxcbiAgICBzZXJ2aWNlX3R5cGU6IHN0cmluZyxcbiAgICBmZWVfaWRzOiBzdHJpbmcsXG4gICAgY29kZTpzdHJpbmdcbiAgfVxuIl19
@@ -79,6 +79,9 @@ export class PaymentLibComponent {
79
79
  orderRemissionTotal = 0.00;
80
80
  orderTotalPayments = 0.00;
81
81
  orderPendingPayments = 0.00;
82
+ paymentGroup;
83
+ overPaymentAmount = 0.00;
84
+ refunds;
82
85
  constructor(paymentLibService, cd, OrderslistService) {
83
86
  this.paymentLibService = paymentLibService;
84
87
  this.cd = cd;
@@ -122,6 +125,32 @@ export class PaymentLibComponent {
122
125
  this.isFromPayBubble = true;
123
126
  }
124
127
  }
128
+ // Refunds libs section.
129
+ /**
130
+ * This function is used to find out if the current refunds list are in progress for the fee passed as parameter
131
+ * @param fee this is the fee used to find out if the refunds are in progress.
132
+ */
133
+ isTheCurrentRefundInProcessForThisFee(fee) {
134
+ // No refunds
135
+ if (this.refunds == null || this.refunds.length === 0) {
136
+ return false;
137
+ }
138
+ return !this.isTheCurrentRefundRejectedForTheFee(fee.id.toString());
139
+ }
140
+ /**
141
+ * This function is used to find out if in current list of refunds all refunds has been rejected
142
+ * for the fee passed as parameter.
143
+ * @param feeCode this is the fee code used to find out all refunds rejected refunds.
144
+ */
145
+ isTheCurrentRefundRejectedForTheFee(feeCode) {
146
+ let refundsByFee = this.refunds.filter(refund => refund.fee_ids === feeCode);
147
+ let refundsByFeeAndRejected = this.refunds.filter(refund => refund.refund_status.name === 'Rejected');
148
+ // Refunds > 0 and overPayment --> refunds in process or Rejected.
149
+ if (refundsByFee.length === refundsByFeeAndRejected.length) {
150
+ return true;
151
+ }
152
+ return false;
153
+ }
125
154
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: PaymentLibComponent, deps: [{ token: i1.PaymentLibService }, { token: i0.ChangeDetectorRef }, { token: i2.OrderslistService }], target: i0.ɵɵFactoryTarget.Component });
126
155
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: PaymentLibComponent, selector: "ccpay-payment-lib", inputs: { API_ROOT: "API_ROOT", BULKSCAN_API_ROOT: "BULKSCAN_API_ROOT", REFUNDS_API_ROOT: "REFUNDS_API_ROOT", NOTIFICATION_API_ROOT: "NOTIFICATION_API_ROOT", CARDPAYMENTRETURNURL: "CARDPAYMENTRETURNURL", CCD_CASE_NUMBER: "CCD_CASE_NUMBER", EXC_REFERENCE: "EXC_REFERENCE", PAYMENT_METHOD: "PAYMENT_METHOD", VIEW: "VIEW", VIEWSERVICE: "VIEWSERVICE", PAYMENT_GROUP_REF: "PAYMENT_GROUP_REF", TAKEPAYMENT: "TAKEPAYMENT", SERVICEREQUEST: "SERVICEREQUEST", DCN_NUMBER: "DCN_NUMBER", SELECTED_OPTION: "SELECTED_OPTION", ISBSENABLE: "ISBSENABLE", ISSFENABLE: "ISSFENABLE", ISTURNOFF: "ISTURNOFF", CASETYPE: "CASETYPE", ISPAYMENTSTATUSENABLED: "ISPAYMENTSTATUSENABLED", rootUrl: "rootUrl", REFUNDLIST: "REFUNDLIST", USERID: "USERID", LOGGEDINUSERROLES: "LOGGEDINUSERROLES", LOGGEDINUSEREMAIL: "LOGGEDINUSEREMAIL", isFromServiceRequestPage: "isFromServiceRequestPage" }, providers: [{ provide: 'PAYMENT_LIB', useExisting: forwardRef(() => PaymentLibComponent) }], ngImport: i0, template: `
127
156
  <ccpay-refund-list [USERID]="USERID" [LOGGEDINUSERROLES]="LOGGEDINUSERROLES" [LOGGEDINUSEREMAIL]="LOGGEDINUSEREMAIL" *ngIf="viewName === 'refund-list'"></ccpay-refund-list>
@@ -285,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
285
314
  type: Input,
286
315
  args: ['isFromServiceRequestPage']
287
316
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9wYXltZW50LWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQStDbEUsTUFBTSxPQUFPLG1CQUFtQjtJQThEVjtJQUNWO0lBQ0E7SUEvRFMsUUFBUSxDQUFTO0lBQ1IsaUJBQWlCLENBQVM7SUFDM0IsZ0JBQWdCLENBQVM7SUFDcEIscUJBQXFCLENBQVM7SUFDL0Isb0JBQW9CLENBQVM7SUFDbEMsZUFBZSxDQUFTO0lBQzFCLGFBQWEsQ0FBUztJQUNyQixjQUFjLENBQVM7SUFDakMsSUFBSSxDQUFTO0lBQ04sV0FBVyxDQUFTO0lBQ2QsaUJBQWlCLENBQVU7SUFDakMsV0FBVyxDQUFVO0lBQ2xCLGNBQWMsQ0FBUztJQUMzQixVQUFVLENBQVM7SUFDZCxlQUFlLENBQVM7SUFDN0IsVUFBVSxDQUFVO0lBQ3BCLFVBQVUsQ0FBVTtJQUNyQixTQUFTLENBQVU7SUFDcEIsUUFBUSxDQUFTO0lBQ0gsc0JBQXNCLENBQVU7SUFDL0MsT0FBTyxDQUFVO0lBQ2QsVUFBVSxDQUFTO0lBQ3ZCLE1BQU0sQ0FBUztJQUNKLGlCQUFpQixDQUFRO0lBQ3pCLGlCQUFpQixDQUFTO0lBQ25CLHdCQUF3QixDQUFVO0lBRXJFLGFBQWEsQ0FBUztJQUN0QixZQUFZLENBQVM7SUFDckIsMkJBQTJCLEdBQVcsSUFBSSxDQUFDO0lBQzNDLHFCQUFxQixDQUFTO0lBQzlCLGdCQUFn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QUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDUyxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ1EsaUJBQWlCO3NCQUE1QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDSixXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNPLGVBQWU7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNILFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ0MsU0FBUztzQkFBNUIsS0FBSzt1QkFBQyxXQUFXO2dCQUNDLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFDZ0Isc0JBQXNCO3NCQUF0RCxLQUFLO3VCQUFDLHdCQUF3QjtnQkFDYixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0ssVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNGLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDYSxpQkFBaUI7c0JBQTVDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNFLGlCQUFpQjtzQkFBNUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ1Msd0JBQXdCO3NCQUExRCxLQUFLO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBheW1lbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL0lCU1BheW1lbnRzJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBheW1lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1wYXltZW50LWxpYicsXG4gIHRlbXBsYXRlOiBgXG4gIDxjY3BheS1yZWZ1bmQtbGlzdCBbVVNFUklEXT1cIlVTRVJJRFwiIFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiIFtMT0dHRURJTlVTRVJFTUFJTF09XCJMT0dHRURJTlVTRVJFTUFJTFwiICpuZ0lmPVwidmlld05hbWUgPT09ICdyZWZ1bmQtbGlzdCdcIj48L2NjcGF5LXJlZnVuZC1saXN0PlxuICAgIDxjY3BheS1wYXltZW50LWxpc3QgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3BheW1lbnQtbGlzdCdcIj48L2NjcGF5LXBheW1lbnQtbGlzdD5cbiAgICA8Y2NwYXktcmVmdW5kLXN0YXR1c1xuICAgIFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiXG4gICAgW0FQSV9ST09UXT1cIkFQSV9ST09UXCJcbiAgICAqbmdJZj1cInZpZXdOYW1lID09PSAncmVmdW5kc3RhdHVzbGlzdCdcIj4gPC9jY3BheS1yZWZ1bmQtc3RhdHVzID5cbiAgICA8Y2NwYXktcGF5bWVudC12aWV3IFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiICpuZ0lmPVwidmlld05hbWUgPT09ICdwYXltZW50LXZpZXcnXCJcbiAgICBbaXNUdXJuT2ZmXT1cIklTVFVSTk9GRlwiIFtpc1Rha2VQYXltZW50XT1cIlRBS0VQQVlNRU5UXCIgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiXG4gICAgW0lTUEFZTUVOVFNUQVRVU0VOQUJMRURdID0gXCJJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXCJcbiAgICA+PC9jY3BheS1wYXltZW50LXZpZXc+XG5cbiAgICA8Y2NwYXktcHJvY2Vzcy1yZWZ1bmQgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3Byb2Nlc3MtcmVmdW5kJ1wiXG4gICAgW3JlZnVuZFJlZmVyZW5jZV09XCJyZWZ1bmRSZWZlcmVuY2VcIlxuICAgIFtyZWZ1bmRsaXN0c291cmNlXT1cInJlZnVuZGxpc3Rzb3VyY2VcIlxuICAgID48L2NjcGF5LXByb2Nlc3MtcmVmdW5kPlxuICAgIDxjY3BheS1wYmEtcGF5bWVudCAqbmdJZj1cInZpZXdOYW1lID09PSAncGJhLXBheW1lbnQnXCJcbiAgICBbcGJhUGF5T3JkZXJSZWZdPVwicGJhUGF5T3JkZXJSZWZcIlxuICAgID48L2NjcGF5LXBiYS1wYXltZW50PlxuICAgIDxjY3BheS1jYXNlLXRyYW5zYWN0aW9ucyBbaXNUYWtlUGF5bWVudF09XCJpc1Rha2VQYXltZW50XCIgW2lzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZV09XCJpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2VcIiBbTE9HR0VESU5VU0VSUk9MRVNdPVwiTE9HR0VESU5VU0VSUk9MRVNcIiAqbmdJZj1cInZpZXdOYW1lID09PSAnY2FzZS10cmFuc2FjdGlvbnMnXCI+PC9jY3BheS1jYXNlLXRyYW5zYWN0aW9ucz5cbiAgICA8YXBwLW1hcmstdW5pZGVudGlmaWVkLXBheW1lbnQgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3VuaWRlbnRpZmllZFBhZ2UnXCJcbiAgICBbY2FzZVR5cGVdPVwiQ0FTRVRZUEVcIj48L2FwcC1tYXJrLXVuaWRlbnRpZmllZC1wYXltZW50PlxuICAgIDxhcHAtbWFyay11bnNvbGljaXRlZC1wYXltZW50ICpuZ0lmPVwidmlld05hbWUgPT09ICd1bnNvbGljaXRlZFBhZ2UnXCJcbiAgICBbY2FzZVR5cGVdPVwiQ0FTRVRZUEVcIj48L2FwcC1tYXJrLXVuc29saWNpdGVkLXBheW1lbnQ+XG4gICAgPGFwcC1hbGxvY2F0ZS1wYXltZW50cyAqbmdJZj1cInZpZXdOYW1lID09PSAnYWxsb2NhdGUtcGF5bWVudHMnXCJcbiAgICBbaXNUdXJuT2ZmXT1cIklTVFVSTk9GRlwiXG4gICAgW2Nhc2VUeXBlXT1cIkNBU0VUWVBFXCJcbiAgICA+PC9hcHAtYWxsb2NhdGUtcGF5bWVudHM+XG4gICAgPGNjcGF5LWZlZS1zdW1tYXJ5ICpuZ0lmPVwidmlld05hbWUgPT09ICdmZWUtc3VtbWFyeSdcIlxuICAgICAgW2NjZENhc2VOdW1iZXJdPVwiQ0NEX0NBU0VfTlVNQkVSXCJcbiAgICAgIFtwYXltZW50R3JvdXBSZWZdPVwicGF5bWVudEdyb3VwUmVmZXJlbmNlXCJcbiAgICAgIFtpc1R1cm5PZmZdPVwiSVNUVVJOT0ZGXCJcbiAgICAgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiXG4gICAgICA+PC9jY3BheS1mZWUtc3VtbWFyeT5cbiAgICA8Y2NwYXktcmVwb3J0cyAqbmdJZj1cInZpZXdOYW1lID09PSAncmVwb3J0cydcIlxuICAgIFtJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXSA9IFwiSVNQQVlNRU5UU1RBVFVTRU5BQkxFRFwiXG4gICAgPjwvY2NwYXktcmVwb3J0cz5cbiAgICBgLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6ICdQQVlNRU5UX0xJQicsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBheW1lbnRMaWJDb21wb25lbnQpIH1dXG59KVxuXG5leHBvcnQgY2xhc3MgUGF5bWVudExpYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnQVBJX1JPT1QnKSBBUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ0JVTEtTQ0FOX0FQSV9ST09UJykgQlVMS1NDQU5fQVBJX1JPT1Q6IHN0cmluZztcbiAgQElucHV0KCdSRUZVTkRTX0FQSV9ST09UJykgUkVGVU5EU19BUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ05PVElGSUNBVElPTl9BUElfUk9PVCcpIE5PVElGSUNBVElPTl9BUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ0NBUkRQQVlNRU5UUkVUVVJOVVJMJykgQ0FSRFBBWU1FTlRSRVRVUk5VUkw6IHN0cmluZztcbiAgQElucHV0KCdDQ0RfQ0FTRV9OVU1CRVInKSBDQ0RfQ0FTRV9OVU1CRVI6IHN0cmluZztcbiAgQElucHV0KCdFWENfUkVGRVJFTkNFJykgRVhDX1JFRkVSRU5DRTogc3RyaW5nO1xuICBASW5wdXQoJ1BBWU1FTlRfTUVUSE9EJykgUEFZTUVOVF9NRVRIT0Q6IHN0cmluZztcbiAgQElucHV0KCdWSUVXJykgVklFVzogc3RyaW5nO1xuICBASW5wdXQoJ1ZJRVdTRVJWSUNFJykgVklFV1NFUlZJQ0U6IHN0cmluZztcbiAgQElucHV0KCdQQVlNRU5UX0dST1VQX1JFRicpIFBBWU1FTlRfR1JPVVBfUkVGPzogc3RyaW5nO1xuICBASW5wdXQoJ1RBS0VQQVlNRU5UJykgVEFLRVBBWU1FTlQ6IGJvb2xlYW47XG4gIEBJbnB1dCgnU0VSVklDRVJFUVVFU1QnKSBTRVJWSUNFUkVRVUVTVDogc3RyaW5nO1xuICBASW5wdXQoJ0RDTl9OVU1CRVInKSBEQ05fTlVNQkVSOiBzdHJpbmc7XG4gIEBJbnB1dCgnU0VMRUNURURfT1BUSU9OJykgU0VMRUNURURfT1BUSU9OOiBzdHJpbmc7XG4gIEBJbnB1dCgnSVNCU0VOQUJMRScpIElTQlNFTkFCTEU6IEJvb2xlYW47XG4gIEBJbnB1dCgnSVNTRkVOQUJMRScpIElTU0ZFTkFCTEU6IGJvb2xlYW47XG4gIEBJbnB1dCgnSVNUVVJOT0ZGJykgSVNUVVJOT0ZGOiBib29sZWFuO1xuICBASW5wdXQoJ0NBU0VUWVBFJykgQ0FTRVRZUEU6IHN0cmluZztcbiAgQElucHV0KCdJU1BBWU1FTlRTVEFUVVNFTkFCTEVEJykgSVNQQVlNRU5UU1RBVFVTRU5BQkxFRDogYm9vbGVhbjtcbiAgQElucHV0KCdyb290VXJsJykgcm9vdFVybDogYm9vbGVhbjtcbiAgQElucHV0KCdSRUZVTkRMSVNUJykgUkVGVU5ETElTVDogc3RyaW5nO1xuICBASW5wdXQoJ1VTRVJJRCcpIFVTRVJJRDogc3RyaW5nO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUlJPTEVTJykgTE9HR0VESU5VU0VSUk9MRVM6IGFueVtdO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUkVNQUlMJykgTE9HR0VESU5VU0VSRU1BSUw6IHN0cmluZztcbiAgQElucHV0KCdpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UnKSBpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2U6IGJvb2xlYW47XG5cbiAgcGF5bWVudE1ldGhvZDogc3RyaW5nO1xuICBic3BheW1lbnRkY246IHN0cmluZztcbiAgdW5Qcm9jZXNzZWRQYXltZW50U2VydmljZUlkOiBzdHJpbmcgPSBudWxsO1xuICBwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZztcbiAgcGF5bWVudFJlZmVyZW5jZTogc3RyaW5nO1xuICByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZztcbiAgaXNGcm9tUGF5QnViYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHJlZnVuZGxpc3Rzb3VyY2U6IGFueTtcbiAgdmlld05hbWU6IHN0cmluZztcbiAgaXNUdXJuT2ZmOiBib29sZWFuO1xuICBjYXNlVHlwZTogc3RyaW5nO1xuICB1blByb2Nlc3NlZFBheW1lbnQ6IElCU1BheW1lbnRzID0gbnVsbDtcbiAgaXNSZWZ1bmRTdGF0dXNWaWV3OiBib29sZWFuO1xuICBpc1JlZGlyZWN0RnJvbUNhc2VUcmFuc2FjdGlvblBhZ2U6IHN0cmluZztcbiAgaXNDYWxsRnJvbVJlZnVuZExpc3Q6IGJvb2xlYW47XG4gIGlzRnJvbVJlZnVuZFN0YXR1c1BhZ2U6IGJvb2xlYW47XG4gIGlzY2FuY2VsQ2xpY2tlZDogYm9vbGVhbjtcbiAgaXNGcm9tUGF5bWVudERldGFpbFBhZ2U6IGJvb2xlYW47XG4gIHBiYVBheU9yZGVyUmVmOiBJUGF5bWVudDtcbiAgaXNUYWtlUGF5bWVudDogYm9vbGVhbjtcblxuICBvcmRlckRldGFpbDogYW55W107XG4gIG9yZGVyUmVmOiBzdHJpbmc7XG4gIG9yZGVyU3RhdHVzOiBzdHJpbmc7XG4gIG9yZGVyUGFydHk6IHN0cmluZztcbiAgb3JkZXJDcmVhdGVkOiBEYXRlO1xuICBvcmRlckNDREV2ZW50OiBzdHJpbmc7XG4gIHNlcnZpY2VSZXF1ZXN0VmFsdWU6IHN0cmluZztcbiAgb3JkZXJBZGRCdG5FbmFibGU6IGJvb2xlYW47XG4gIG9yZGVyRmVlc1RvdGFsOiBudW1iZXIgPSAwLjAwO1xuICBvcmRlclJlbWlzc2lvblRvdGFsOiBudW1iZXIgPSAwLjAwO1xuICBvcmRlclRvdGFsUGF5bWVudHM6IG51bWJlciA9IDAuMDA7XG4gIG9yZGVyUGVuZGluZ1BheW1lbnRzOiBudW1iZXIgPSAwLjAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlKSB7IH1cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMucGF5bWVudExpYlNlcnZpY2Uuc2V0QXBpUm9vdFVybCh0aGlzLkFQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldEJ1bGtTY2FuQXBpUm9vdFVybCh0aGlzLkJVTEtTQ0FOX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldFJlZnVuZG5kc0FwaVJvb3RVcmwodGhpcy5SRUZVTkRTX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldE5vdGljYXRpb25BcGlSb290VXJsKHRoaXMuTk9USUZJQ0FUSU9OX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldENhcmRQYXltZW50UmV0dXJuVXJsKHRoaXMuQ0FSRFBBWU1FTlRSRVRVUk5VUkwpO1xuXG4gICAgaWYgKHRoaXMuTE9HR0VESU5VU0VSUk9MRVMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRVc2VyUm9sZXNMaXN0KHRoaXMuTE9HR0VESU5VU0VSUk9MRVMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5QQVlNRU5UX0dST1VQX1JFRikge1xuICAgICAgdGhpcy5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSB0aGlzLlBBWU1FTlRfR1JPVVBfUkVGO1xuICAgIH1cbiAgICBpZiAodGhpcy5EQ05fTlVNQkVSKSB7XG4gICAgICB0aGlzLmJzcGF5bWVudGRjbiA9IHRoaXMuRENOX05VTUJFUjtcbiAgICB9XG4gICAgaWYgKHRoaXMuUkVGVU5ETElTVCA9PT0gXCJ0cnVlXCIpIHtcbiAgICAgIHRoaXMuVklFVyA9ICdyZWZ1bmQtbGlzdCc7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gdGhpcy5WSUVXO1xuICAgIH1cbiAgICBpZiAodGhpcy5WSUVXID09PSAnZmVlLXN1bW1hcnknKSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ2ZlZS1zdW1tYXJ5JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuVklFVyAhPT0gJ3JlcG9ydHMnICYmIHRoaXMuVklFVyAhPT0gJ3JlZnVuZC1saXN0Jykge1xuICAgICAgdGhpcy52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld05hbWUgPSB0aGlzLlZJRVc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNUYWtlUGF5bWVudCkge1xuICAgICAgdGhpcy5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLkFQSV9ST09UID09ICdhcGkvcGF5bWVudC1oaXN0b3J5Jykge1xuICAgICAgdGhpcy5pc0Zyb21QYXlCdWJibGUgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9wYXltZW50LWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQWtEbEUsTUFBTSxPQUFPLG1CQUFtQjtJQWtFVjtJQUNWO0lBQ0E7SUFuRVMsUUFBUSxDQUFTO0lBQ1IsaUJBQWlCLENBQVM7SUFDM0IsZ0JBQWdCLENBQVM7SUFDcEIscUJBQXFCLENBQVM7SUFDL0Isb0JBQW9CLENBQVM7SUFDbEMsZUFBZSxDQUFTO0lBQzFCLGFBQWEsQ0FBUztJQUNyQixjQUFjLENBQVM7SUFDakMsSUFBSSxDQUFTO0lBQ04sV0FBVyxDQUFTO0lBQ2QsaUJBQWlCLENBQVU7SUFDakMsV0FBVyxDQUFVO0lBQ2xCLGNBQWMsQ0FBUztJQUMzQixVQUFVLENBQVM7SUFDZCxlQUFlLENBQVM7SUFDN0IsVUFBVSxDQUFVO0lBQ3BCLFVBQVUsQ0FBVTtJQUNyQixTQUFTLENBQVU7SUFDcEIsUUFBUSxDQUFTO0lBQ0gsc0JBQXNCLENBQVU7SUFDL0MsT0FBTyxDQUFVO0lBQ2QsVUFBVSxDQUFTO0lBQ3ZCLE1BQU0sQ0FBUztJQUNKLGlCQUFpQixDQUFRO0lBQ3pCLGlCQUFpQixDQUFTO0lBQ25CLHdCQUF3QixDQUFVO0lBRXJFLGFBQWEsQ0FBUztJQUN0QixZQUFZLENBQVM7SUFDckIsMkJBQTJCLEdBQVcsSUFBSSxDQUFDO0lBQzNDLHFCQUFxQixDQUFTO0lBQzlCLGdCQUFn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S0FBSzt1QkFBQyxZQUFZO2dCQUNPLGVBQWU7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNILFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ0MsU0FBUztzQkFBNUIsS0FBSzt1QkFBQyxXQUFXO2dCQUNDLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFDZ0Isc0JBQXNCO3NCQUF0RCxLQUFLO3VCQUFDLHdCQUF3QjtnQkFDYixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0ssVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNGLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDYSxpQkFBaUI7c0JBQTVDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNFLGlCQUFpQjtzQkFBNUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ1Msd0JBQXdCO3NCQUExRCxLQUFLO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBheW1lbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL0lCU1BheW1lbnRzJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBheW1lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tIFwiLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXBcIjtcbmltcG9ydCB7SVJlZnVuZExpc3R9IGZyb20gXCIuL2ludGVyZmFjZXMvSVJlZnVuZExpc3RcIjtcbmltcG9ydCB7SUZlZX0gZnJvbSBcIi4vaW50ZXJmYWNlcy9JRmVlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LXBheW1lbnQtbGliJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGNjcGF5LXJlZnVuZC1saXN0IFtVU0VSSURdPVwiVVNFUklEXCIgW0xPR0dFRElOVVNFUlJPTEVTXT1cIkxPR0dFRElOVVNFUlJPTEVTXCIgW0xPR0dFRElOVVNFUkVNQUlMXT1cIkxPR0dFRElOVVNFUkVNQUlMXCIgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3JlZnVuZC1saXN0J1wiPjwvY2NwYXktcmVmdW5kLWxpc3Q+XG4gICAgPGNjcGF5LXBheW1lbnQtbGlzdCAqbmdJZj1cInZpZXdOYW1lID09PSAncGF5bWVudC1saXN0J1wiPjwvY2NwYXktcGF5bWVudC1saXN0PlxuICAgIDxjY3BheS1yZWZ1bmQtc3RhdHVzXG4gICAgW0xPR0dFRElOVVNFUlJPTEVTXT1cIkxPR0dFRElOVVNFUlJPTEVTXCJcbiAgICBbQVBJX1JPT1RdPVwiQVBJX1JPT1RcIlxuICAgICpuZ0lmPVwidmlld05hbWUgPT09ICdyZWZ1bmRzdGF0dXNsaXN0J1wiPiA8L2NjcGF5LXJlZnVuZC1zdGF0dXMgPlxuICAgIDxjY3BheS1wYXltZW50LXZpZXcgW0xPR0dFRElOVVNFUlJPTEVTXT1cIkxPR0dFRElOVVNFUlJPTEVTXCIgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3BheW1lbnQtdmlldydcIlxuICAgIFtpc1R1cm5PZmZdPVwiSVNUVVJOT0ZGXCIgW2lzVGFrZVBheW1lbnRdPVwiVEFLRVBBWU1FTlRcIiAgW2Nhc2VUeXBlXT1cIkNBU0VUWVBFXCJcbiAgICBbSVNQQVlNRU5UU1RBVFVTRU5BQkxFRF0gPSBcIklTUEFZTUVOVFNUQVRVU0VOQUJMRURcIlxuICAgID48L2NjcGF5LXBheW1lbnQtdmlldz5cblxuICAgIDxjY3BheS1wcm9jZXNzLXJlZnVuZCAqbmdJZj1cInZpZXdOYW1lID09PSAncHJvY2Vzcy1yZWZ1bmQnXCJcbiAgICBbcmVmdW5kUmVmZXJlbmNlXT1cInJlZnVuZFJlZmVyZW5jZVwiXG4gICAgW3JlZnVuZGxpc3Rzb3VyY2VdPVwicmVmdW5kbGlzdHNvdXJjZVwiXG4gICAgPjwvY2NwYXktcHJvY2Vzcy1yZWZ1bmQ+XG4gICAgPGNjcGF5LXBiYS1wYXltZW50ICpuZ0lmPVwidmlld05hbWUgPT09ICdwYmEtcGF5bWVudCdcIlxuICAgIFtwYmFQYXlPcmRlclJlZl09XCJwYmFQYXlPcmRlclJlZlwiXG4gICAgPjwvY2NwYXktcGJhLXBheW1lbnQ+XG4gICAgPGNjcGF5LWNhc2UtdHJhbnNhY3Rpb25zIFtpc1Rha2VQYXltZW50XT1cImlzVGFrZVBheW1lbnRcIiBbaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlXT1cImlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZVwiIFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiICpuZ0lmPVwidmlld05hbWUgPT09ICdjYXNlLXRyYW5zYWN0aW9ucydcIj48L2NjcGF5LWNhc2UtdHJhbnNhY3Rpb25zPlxuICAgIDxhcHAtbWFyay11bmlkZW50aWZpZWQtcGF5bWVudCAqbmdJZj1cInZpZXdOYW1lID09PSAndW5pZGVudGlmaWVkUGFnZSdcIlxuICAgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiPjwvYXBwLW1hcmstdW5pZGVudGlmaWVkLXBheW1lbnQ+XG4gICAgPGFwcC1tYXJrLXVuc29saWNpdGVkLXBheW1lbnQgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3Vuc29saWNpdGVkUGFnZSdcIlxuICAgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiPjwvYXBwLW1hcmstdW5zb2xpY2l0ZWQtcGF5bWVudD5cbiAgICA8YXBwLWFsbG9jYXRlLXBheW1lbnRzICpuZ0lmPVwidmlld05hbWUgPT09ICdhbGxvY2F0ZS1wYXltZW50cydcIlxuICAgIFtpc1R1cm5PZmZdPVwiSVNUVVJOT0ZGXCJcbiAgICBbY2FzZVR5cGVdPVwiQ0FTRVRZUEVcIlxuICAgID48L2FwcC1hbGxvY2F0ZS1wYXltZW50cz5cbiAgICA8Y2NwYXktZmVlLXN1bW1hcnkgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ2ZlZS1zdW1tYXJ5J1wiXG4gICAgICBbY2NkQ2FzZU51bWJlcl09XCJDQ0RfQ0FTRV9OVU1CRVJcIlxuICAgICAgW3BheW1lbnRHcm91cFJlZl09XCJwYXltZW50R3JvdXBSZWZlcmVuY2VcIlxuICAgICAgW2lzVHVybk9mZl09XCJJU1RVUk5PRkZcIlxuICAgICAgW2Nhc2VUeXBlXT1cIkNBU0VUWVBFXCJcbiAgICAgID48L2NjcGF5LWZlZS1zdW1tYXJ5PlxuICAgIDxjY3BheS1yZXBvcnRzICpuZ0lmPVwidmlld05hbWUgPT09ICdyZXBvcnRzJ1wiXG4gICAgW0lTUEFZTUVOVFNUQVRVU0VOQUJMRURdID0gXCJJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXCJcbiAgICA+PC9jY3BheS1yZXBvcnRzPlxuICAgIGAsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogJ1BBWU1FTlRfTElCJywgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGF5bWVudExpYkNvbXBvbmVudCkgfV1cbn0pXG5cbmV4cG9ydCBjbGFzcyBQYXltZW50TGliQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdBUElfUk9PVCcpIEFQSV9ST09UOiBzdHJpbmc7XG4gIEBJbnB1dCgnQlVMS1NDQU5fQVBJX1JPT1QnKSBCVUxLU0NBTl9BUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ1JFRlVORFNfQVBJX1JPT1QnKSBSRUZVTkRTX0FQSV9ST09UOiBzdHJpbmc7XG4gIEBJbnB1dCgnTk9USUZJQ0FUSU9OX0FQSV9ST09UJykgTk9USUZJQ0FUSU9OX0FQSV9ST09UOiBzdHJpbmc7XG4gIEBJbnB1dCgnQ0FSRFBBWU1FTlRSRVRVUk5VUkwnKSBDQVJEUEFZTUVOVFJFVFVSTlVSTDogc3RyaW5nO1xuICBASW5wdXQoJ0NDRF9DQVNFX05VTUJFUicpIENDRF9DQVNFX05VTUJFUjogc3RyaW5nO1xuICBASW5wdXQoJ0VYQ19SRUZFUkVOQ0UnKSBFWENfUkVGRVJFTkNFOiBzdHJpbmc7XG4gIEBJbnB1dCgnUEFZTUVOVF9NRVRIT0QnKSBQQVlNRU5UX01FVEhPRDogc3RyaW5nO1xuICBASW5wdXQoJ1ZJRVcnKSBWSUVXOiBzdHJpbmc7XG4gIEBJbnB1dCgnVklFV1NFUlZJQ0UnKSBWSUVXU0VSVklDRTogc3RyaW5nO1xuICBASW5wdXQoJ1BBWU1FTlRfR1JPVVBfUkVGJykgUEFZTUVOVF9HUk9VUF9SRUY/OiBzdHJpbmc7XG4gIEBJbnB1dCgnVEFLRVBBWU1FTlQnKSBUQUtFUEFZTUVOVDogYm9vbGVhbjtcbiAgQElucHV0KCdTRVJWSUNFUkVRVUVTVCcpIFNFUlZJQ0VSRVFVRVNUOiBzdHJpbmc7XG4gIEBJbnB1dCgnRENOX05VTUJFUicpIERDTl9OVU1CRVI6IHN0cmluZztcbiAgQElucHV0KCdTRUxFQ1RFRF9PUFRJT04nKSBTRUxFQ1RFRF9PUFRJT046IHN0cmluZztcbiAgQElucHV0KCdJU0JTRU5BQkxFJykgSVNCU0VOQUJMRTogQm9vbGVhbjtcbiAgQElucHV0KCdJU1NGRU5BQkxFJykgSVNTRkVOQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdJU1RVUk5PRkYnKSBJU1RVUk5PRkY6IGJvb2xlYW47XG4gIEBJbnB1dCgnQ0FTRVRZUEUnKSBDQVNFVFlQRTogc3RyaW5nO1xuICBASW5wdXQoJ0lTUEFZTUVOVFNUQVRVU0VOQUJMRUQnKSBJU1BBWU1FTlRTVEFUVVNFTkFCTEVEOiBib29sZWFuO1xuICBASW5wdXQoJ3Jvb3RVcmwnKSByb290VXJsOiBib29sZWFuO1xuICBASW5wdXQoJ1JFRlVORExJU1QnKSBSRUZVTkRMSVNUOiBzdHJpbmc7XG4gIEBJbnB1dCgnVVNFUklEJykgVVNFUklEOiBzdHJpbmc7XG4gIEBJbnB1dCgnTE9HR0VESU5VU0VSUk9MRVMnKSBMT0dHRURJTlVTRVJST0xFUzogYW55W107XG4gIEBJbnB1dCgnTE9HR0VESU5VU0VSRU1BSUwnKSBMT0dHRURJTlVTRVJFTUFJTDogc3RyaW5nO1xuICBASW5wdXQoJ2lzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZScpIGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZTogYm9vbGVhbjtcblxuICBwYXltZW50TWV0aG9kOiBzdHJpbmc7XG4gIGJzcGF5bWVudGRjbjogc3RyaW5nO1xuICB1blByb2Nlc3NlZFBheW1lbnRTZXJ2aWNlSWQ6IHN0cmluZyA9IG51bGw7XG4gIHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nO1xuICBwYXltZW50UmVmZXJlbmNlOiBzdHJpbmc7XG4gIHJlZnVuZFJlZmVyZW5jZTogc3RyaW5nO1xuICBpc0Zyb21QYXlCdWJibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmdW5kbGlzdHNvdXJjZTogYW55O1xuICB2aWV3TmFtZTogc3RyaW5nO1xuICBpc1R1cm5PZmY6IGJvb2xlYW47XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIHVuUHJvY2Vzc2VkUGF5bWVudDogSUJTUGF5bWVudHMgPSBudWxsO1xuICBpc1JlZnVuZFN0YXR1c1ZpZXc6IGJvb2xlYW47XG4gIGlzUmVkaXJlY3RGcm9tQ2FzZVRyYW5zYWN0aW9uUGFnZTogc3RyaW5nO1xuICBpc0NhbGxGcm9tUmVmdW5kTGlzdDogYm9vbGVhbjtcbiAgaXNGcm9tUmVmdW5kU3RhdHVzUGFnZTogYm9vbGVhbjtcbiAgaXNjYW5jZWxDbGlja2VkOiBib29sZWFuO1xuICBpc0Zyb21QYXltZW50RGV0YWlsUGFnZTogYm9vbGVhbjtcbiAgcGJhUGF5T3JkZXJSZWY6IElQYXltZW50O1xuICBpc1Rha2VQYXltZW50OiBib29sZWFuO1xuXG4gIG9yZGVyRGV0YWlsOiBhbnlbXTtcbiAgb3JkZXJSZWY6IHN0cmluZztcbiAgb3JkZXJTdGF0dXM6IHN0cmluZztcbiAgb3JkZXJQYXJ0eTogc3RyaW5nO1xuICBvcmRlckNyZWF0ZWQ6IERhdGU7XG4gIG9yZGVyQ0NERXZlbnQ6IHN0cmluZztcbiAgc2VydmljZVJlcXVlc3RWYWx1ZTogc3RyaW5nO1xuICBvcmRlckFkZEJ0bkVuYWJsZTogYm9vbGVhbjtcbiAgb3JkZXJGZWVzVG90YWw6IG51bWJlciA9IDAuMDA7XG4gIG9yZGVyUmVtaXNzaW9uVG90YWw6IG51bWJlciA9IDAuMDA7XG4gIG9yZGVyVG90YWxQYXltZW50czogbnVtYmVyID0gMC4wMDtcbiAgb3JkZXJQZW5kaW5nUGF5bWVudHM6IG51bWJlciA9IDAuMDA7XG5cbiAgcGF5bWVudEdyb3VwOklQYXltZW50R3JvdXBcbiAgb3ZlclBheW1lbnRBbW91bnQ6IG51bWJlciA9IDAuMDA7XG4gIHJlZnVuZHM6IElSZWZ1bmRMaXN0W107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXltZW50TGliU2VydmljZTogUGF5bWVudExpYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2UpIHsgfVxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5wYXltZW50TGliU2VydmljZS5zZXRBcGlSb290VXJsKHRoaXMuQVBJX1JPT1QpO1xuICAgIHRoaXMucGF5bWVudExpYlNlcnZpY2Uuc2V0QnVsa1NjYW5BcGlSb290VXJsKHRoaXMuQlVMS1NDQU5fQVBJX1JPT1QpO1xuICAgIHRoaXMucGF5bWVudExpYlNlcnZpY2Uuc2V0UmVmdW5kbmRzQXBpUm9vdFVybCh0aGlzLlJFRlVORFNfQVBJX1JPT1QpO1xuICAgIHRoaXMucGF5bWVudExpYlNlcnZpY2Uuc2V0Tm90aWNhdGlvbkFwaVJvb3RVcmwodGhpcy5OT1RJRklDQVRJT05fQVBJX1JPT1QpO1xuICAgIHRoaXMucGF5bWVudExpYlNlcnZpY2Uuc2V0Q2FyZFBheW1lbnRSZXR1cm5VcmwodGhpcy5DQVJEUEFZTUVOVFJFVFVSTlVSTCk7XG5cbiAgICBpZiAodGhpcy5MT0dHRURJTlVTRVJST0xFUy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldFVzZXJSb2xlc0xpc3QodGhpcy5MT0dHRURJTlVTRVJST0xFUyk7XG4gICAgfVxuICAgIGlmICh0aGlzLlBBWU1FTlRfR1JPVVBfUkVGKSB7XG4gICAgICB0aGlzLnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IHRoaXMuUEFZTUVOVF9HUk9VUF9SRUY7XG4gICAgfVxuICAgIGlmICh0aGlzLkRDTl9OVU1CRVIpIHtcbiAgICAgIHRoaXMuYnNwYXltZW50ZGNuID0gdGhpcy5EQ05fTlVNQkVSO1xuICAgIH1cbiAgICBpZiAodGhpcy5SRUZVTkRMSVNUID09PSBcInRydWVcIikge1xuICAgICAgdGhpcy5WSUVXID0gJ3JlZnVuZC1saXN0JztcbiAgICAgIHRoaXMudmlld05hbWUgPSB0aGlzLlZJRVc7XG4gICAgfVxuICAgIGlmICh0aGlzLlZJRVcgPT09ICdmZWUtc3VtbWFyeScpIHtcbiAgICAgIHRoaXMudmlld05hbWUgPSAnZmVlLXN1bW1hcnknO1xuICAgIH0gZWxzZSBpZiAodGhpcy5WSUVXICE9PSAncmVwb3J0cycgJiYgdGhpcy5WSUVXICE9PSAncmVmdW5kLWxpc3QnKSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3TmFtZSA9IHRoaXMuVklFVztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc1Rha2VQYXltZW50KSB7XG4gICAgICB0aGlzLlRBS0VQQVlNRU5UID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuQVBJX1JPT1QgPT0gJ2FwaS9wYXltZW50LWhpc3RvcnknKSB7XG4gICAgICB0aGlzLmlzRnJvbVBheUJ1YmJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVmdW5kcyBsaWJzIHNlY3Rpb24uXG5cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGZpbmQgb3V0IGlmIHRoZSBjdXJyZW50IHJlZnVuZHMgbGlzdCBhcmUgaW4gcHJvZ3Jlc3MgZm9yIHRoZSBmZWUgcGFzc2VkIGFzIHBhcmFtZXRlclxuICAgKiBAcGFyYW0gZmVlIHRoaXMgaXMgdGhlIGZlZSB1c2VkIHRvIGZpbmQgb3V0IGlmIHRoZSByZWZ1bmRzIGFyZSBpbiBwcm9ncmVzcy5cbiAgICovXG4gIGlzVGhlQ3VycmVudFJlZnVuZEluUHJvY2Vzc0ZvclRoaXNGZWUoZmVlOiBJRmVlKTogYm9vbGVhbntcbiAgICAvLyBObyByZWZ1bmRzXG4gICAgaWYgKHRoaXMucmVmdW5kcyA9PSBudWxsIHx8IHRoaXMucmVmdW5kcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLmlzVGhlQ3VycmVudFJlZnVuZFJlamVjdGVkRm9yVGhlRmVlKGZlZS5pZC50b1N0cmluZygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZmluZCBvdXQgaWYgaW4gY3VycmVudCBsaXN0IG9mIHJlZnVuZHMgYWxsIHJlZnVuZHMgaGFzIGJlZW4gcmVqZWN0ZWRcbiAgICogZm9yIHRoZSBmZWUgcGFzc2VkIGFzIHBhcmFtZXRlci5cbiAgICogQHBhcmFtIGZlZUNvZGUgdGhpcyBpcyB0aGUgZmVlIGNvZGUgdXNlZCB0byBmaW5kIG91dCBhbGwgcmVmdW5kcyByZWplY3RlZCByZWZ1bmRzLlxuICAgKi9cbiAgaXNUaGVDdXJyZW50UmVmdW5kUmVqZWN0ZWRGb3JUaGVGZWUoZmVlQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBsZXQgcmVmdW5kc0J5RmVlID0gdGhpcy5yZWZ1bmRzLmZpbHRlcihyZWZ1bmQgPT4gcmVmdW5kLmZlZV9pZHMgPT09IGZlZUNvZGUpO1xuICAgIGxldCByZWZ1bmRzQnlGZWVBbmRSZWplY3RlZCA9IHRoaXMucmVmdW5kcy5maWx0ZXIocmVmdW5kID0+IHJlZnVuZC5yZWZ1bmRfc3RhdHVzLm5hbWUgPT09ICdSZWplY3RlZCcpO1xuXG4gICAgLy8gUmVmdW5kcyA+IDAgIGFuZCBvdmVyUGF5bWVudCAtLT4gcmVmdW5kcyBpbiBwcm9jZXNzIG9yIFJlamVjdGVkLlxuICAgIGlmIChyZWZ1bmRzQnlGZWUubGVuZ3RoID09PSByZWZ1bmRzQnlGZWVBbmRSZWplY3RlZC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXG59XG4iXX0=
@@ -108,6 +108,10 @@ export class PaymentViewService {
108
108
  const url = `${this.paymentLibService.API_ROOT}/payment-failures/failure-report?date_from=${startDate}&date_to=${endDate}`;
109
109
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
110
110
  }
111
+ downloadTelephonyPaymentsReport(startDate, endDate) {
112
+ const url = `${this.paymentLibService.API_ROOT}/telephony-payments/telephony-payments-report?date_from=${startDate}&date_to=${endDate}`;
113
+ return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
114
+ }
111
115
  getBSfeature() {
112
116
  return this.https.get('api/payment-history/bulk-scan-feature', { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
113
117
  }
@@ -149,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
149
153
  providedIn: 'root'
150
154
  }]
151
155
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.WebComponentHttpClient }, { type: i3.LoggerService }, { type: i4.ErrorHandlerService }, { type: i5.PaymentLibService }] });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUkvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBV2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFPdkMscURBQXFEO0FBS3JELE1BQU0sT0FBTyxrQkFBa0I7SUFLVDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUlosVUFBVSxHQUEyQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU3RSxJQUFJLENBQU87SUFFbkIsWUFBb0IsSUFBZ0IsRUFDaEIsS0FBNkIsRUFDN0IsTUFBcUIsRUFDckIsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUpwQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUU3RCxpQkFBaUIsQ0FBQyxnQkFBd0IsRUFBRSxhQUFzQjtRQUdoRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRW5GLElBQUcsYUFBYSxJQUFJLFNBQVMsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFDLENBQUM7WUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLGFBQWEsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDaEcsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztpQkFDRCxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztRQUNKLENBQUM7YUFBSSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxhQUFhLEtBQUssTUFBTSxJQUFJLGFBQWEsS0FBSyxNQUFNLElBQUksYUFBYSxLQUFLLFFBQVEsSUFBSSxhQUFhLEtBQUssY0FBYyxDQUFDLENBQUM7Z0JBQ25KLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsa0JBQWtCLGdCQUFnQixFQUFFLENBQUMsQ0FBQztnQkFDeEUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSw0QkFBNEIsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDcEYsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztpQkFDRCxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztRQUVKLENBQUM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMscUJBQTZCO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFFN0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLG1CQUFtQixxQkFBcUIsRUFBRSxFQUFFO1lBQzNHLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUM7YUFDQyxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNOLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxnQkFBd0I7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbURBQW1ELEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUV4RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEscUNBQXFDLGdCQUFnQixFQUFFLEVBQUU7WUFDeEgsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQzthQUNDLElBQUksQ0FDSCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUNELG9CQUFvQjtRQUNsQixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLGVBQWUsQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckQsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNOLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxVQUFrQixFQUFFLElBQWdDO1FBQzFFLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsb0JBQW9CLFVBQVUsZ0JBQWdCLENBQUM7UUFDN0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNwQyxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQixDQUFDLFVBQWtCLEVBQUUsSUFBK0I7UUFDdkUsSUFBSSxTQUFTLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLG9CQUFvQixVQUFVLGVBQWUsQ0FBQztRQUM1RixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTRCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxvQ0FBb0MsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3ZHLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBQ0QsMEJBQTBCLENBQUMsSUFBaUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDekYsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxJQUFnQztRQUN4RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN6RixVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUNELHdCQUF3QixDQUFDLElBQWdDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3pGLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsOEJBQThCLENBQUMscUJBQTZCLEVBQUUsS0FBYSxFQUFFLElBQXlCO1FBQ3BHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxtQkFBbUIscUJBQXFCLFNBQVMsS0FBSyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN0SSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELHlCQUF5QixDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0RBQXNELEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQy9FLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBQ0QsbUJBQW1CLENBQUMsSUFBNEIsRUFBRSxlQUF1QjtRQUN2RSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsbUJBQW1CLGVBQWUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNySCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQTBCLEVBQUUsZUFBdUI7UUFDNUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLG1CQUFtQixlQUFlLDBCQUEwQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDL0gsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxVQUFrQixFQUFFLFNBQWlCLEVBQUUsT0FBYztRQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLDBCQUEwQixTQUFTLFlBQVksT0FBTyxnQkFBZ0IsVUFBVSxFQUFFLENBQUM7UUFDakksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxTQUFpQixFQUFFLE9BQWM7UUFDckQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSw4Q0FBOEMsU0FBUyxZQUFZLE9BQU8sRUFBRSxDQUFDO1FBQzNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBQ0QsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsdUNBQXVDLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BKLENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBRSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkosQ0FBQztJQUNELGVBQWUsQ0FBQyxVQUFrQjtRQUNoQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLGlDQUFpQyxVQUFVLEVBQUUsQ0FBQztRQUM1RixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBRSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELGFBQWEsQ0FBQyxjQUFvQztRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDQyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsaUJBQWlCLENBQUMsSUFBOEI7UUFDOUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDeEYsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsbUNBQW1DLENBQUMscUJBQTZCLEVBQUUsS0FBYSxFQUFFLElBQThCO1FBQzlHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxtQkFBbUIscUJBQXFCLFNBQVMsS0FBSyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzNJLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsd0JBQXdCLENBQUMsSUFBa0M7UUFDekQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHlCQUF5QixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDNUYsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFDRixpQkFBaUIsQ0FBQyxnQkFBd0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHFCQUFxQixnQkFBZ0IsRUFBRSxFQUFFO1lBQy9GLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQ0wsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7dUdBOUtVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQge0lQYXltZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQ29tcG9uZW50SHR0cENsaWVudCB9IGZyb20gJy4uL3NoYXJlZC9odHRwY2xpZW50L3dlYmNvbXBvbmVudC5odHRwLmNsaWVudCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQWRkUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFBheWh1YkFudGVubmFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXlodWJBbnRlbm5hUmVxdWVzdCc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHtJT3JkZXJSZWZlcmVuY2VGZWV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSU9yZGVyUmVmZXJlbmNlRmVlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQnO1xuaW1wb3J0IHsgUmVmdW5kc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlZnVuZHNSZXF1ZXN0JztcbmltcG9ydCB7IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG4vL2ltcG9ydCB7IGVycm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3V0aWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50Vmlld1NlcnZpY2Uge1xuICBwcml2YXRlIG9yZGVyc0xpc3QgID0gPEJlaGF2aW9yU3ViamVjdDxJT3JkZXJSZWZlcmVuY2VGZWVbXT4+bmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG5cbiAgcHJpdmF0ZSBtZXRhOiBNZXRhO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBodHRwczogV2ViQ29tcG9uZW50SHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyU2VydmljZTogRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwYXltZW50TGliU2VydmljZTogUGF5bWVudExpYlNlcnZpY2UpIHsgfVxuXG4gIGdldFBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZD86IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnQ+IHtcblxuXG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIGlmKHBheW1lbnRNZXRob2QgPT0gdW5kZWZpbmVkIHx8IHBheW1lbnRNZXRob2QgPT0gbnVsbCl7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgICB9ZWxzZXtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihwYXltZW50TWV0aG9kID09PSAnY2FyZCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2Nhc2gnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjaGVxdWUnIHx8IHBheW1lbnRNZXRob2QgPT09ICdwb3N0YWwgb3JkZXInID9cbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXJkLXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gIDpcbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jcmVkaXQtYWNjb3VudC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuXG4gICAgfVxuICB9XG5cbiAgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50R3JvdXBSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG4gIGdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9mZWUtcGF5LWFwcG9ydGlvbi8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbiAgZ2V0UEJBYWNjb3VudERldGFpbHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYmEtYWNjb3VudHNgO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgcG9zdFdheXMyUGF5Q2FyZFBheW1lbnQoc2VydmljZVJlZjogc3RyaW5nLCBib2R5OiBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vc2VydmljZS1yZXF1ZXN0LyR7c2VydmljZVJlZn0vY2FyZC1wYXltZW50c2A7XG4gICAgY29uc3QgcnVybCA9IHRoaXMucGF5bWVudExpYlNlcnZpY2UuQ0FSRFBBWU1FTlRSRVRVUk5VUkwucmVwbGFjZSgnLnByb2QnLCAnJyk7XG4gICAgYm9keVsncmV0dXJuLXVybCddID0gYCR7cnVybH0vcGF5bWVudGA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBCQWFjY291bnRQYXltZW50KHNlcnZpY2VSZWY6IHN0cmluZywgYm9keTogSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHJhbmRvbUtleSA9ICdpZGFtLWtleS0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygpLnNwbGl0KCcuJykuam9pbignLScpO1xuICAgIGJvZHlbJ2lkZW1wb3RlbmN5X2tleSddID0gcmFuZG9tS2V5O1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L3BiYS1wYXltZW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpO1xuICB9XG5cbiAgcG9zdEJTUGF5bWVudHMoYm9keTogQWxsb2NhdGVQYXltZW50UmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9idWxrLXNjYW4tcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbmlkZW50aWZpZWRQYXltZW50cyhib2R5OiBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1Vuc29saWNpdGVkUGF5bWVudHMoYm9keTogVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU0FsbG9jYXRpb25QYXltZW50cyhib2R5OiBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEdyb3VwV2l0aFJlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJlbWlzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9L2ZlZXMvJHtmZWVJZH0vcmVtaXNzaW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cChmZWVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cCBmb3I6ICcsIGZlZUlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5kZWxldGUoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vZmVlcy8ke2ZlZUlkfWApLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RQYXltZW50VG9QYXlIdWIoYm9keTogUGF5bWVudFRvUGF5aHViUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L2NhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50QW50ZW5uYVRvUGF5SHViKGJvZHk6IFBheWh1YkFudGVubmFSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vdGVsZXBob255LWNhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBkb3dubG9hZFNlbGVjdGVkUmVwb3J0KHJlcG9ydE5hbWU6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZXBvcnQvZGF0YT9kYXRlX2Zyb209JHtzdGFydERhdGV9JmRhdGVfdG89JHtlbmREYXRlfSZyZXBvcnRfdHlwZT0ke3JlcG9ydE5hbWV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGRvd25sb2FkRmFpbHVyZVJlcG9ydChzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZmFpbHVyZXMvZmFpbHVyZS1yZXBvcnQ/ZGF0ZV9mcm9tPSR7c3RhcnREYXRlfSZkYXRlX3RvPSR7ZW5kRGF0ZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0QlNmZWF0dXJlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KCdhcGkvcGF5bWVudC1oaXN0b3J5L2J1bGstc2Nhbi1mZWF0dXJlJywgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRTaXRlSUQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvcmVmZGF0YS9sZWdhY3ktc2l0ZXMnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFBhcnR5RGV0YWlscyhjYXNlTnVtYmVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2Nhc2UtcGF5bWVudC1vcmRlcnM/Y2FzZV9pZHM9JHtjYXNlTnVtYmVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuXG4gIHNldE9yZGVyc0xpc3Qob3JkZXJMZXZlbEZlZXM6IElPcmRlclJlZmVyZW5jZUZlZVtdKTogdm9pZCB7XG4gICAgdGhpcy5vcmRlcnNMaXN0Lm5leHQoT2JqZWN0LmFzc2lnbihbXSwgb3JkZXJMZXZlbEZlZXMpKTtcbn1cbiAgZ2V0T3JkZXJzTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcmRlcnNMaXN0O1xuICB9XG5cbiAgLy9pc3N1ZSByZWZ1bmRcbiAgcG9zdFJlZnVuZHNSZWFzb24oYm9keTogUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlZnVuZC1mb3ItcGF5bWVudGAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgLy8gcmV0cm8gcmVtaXNzaW9uc1xuICBwb3N0UGF5bWVudEdyb3VwV2l0aFJldHJvUmVtaXNzaW9ucyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZywgZmVlSWQ6IG51bWJlciwgYm9keTogQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfS9mZWVzLyR7ZmVlSWR9L3JldHJvLXJlbWlzc2lvbmAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKGJvZHk6UG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlZnVuZC1yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuIGdldFBheW1lbnRGYWlsdXJlKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZmFpbHVyZXMvJHtwYXltZW50UmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG59XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUkvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBV2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFPdkMscURBQXFEO0FBS3JELE1BQU0sT0FBTyxrQkFBa0I7SUFLVDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUlosVUFBVSxHQUEyQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU3RSxJQUFJLENBQU87SUFFbkIsWUFBb0IsSUFBZ0IsRUFDaEIsS0FBNkIsRUFDN0IsTUFBcUIsRUFDckIsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUpwQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUU3RCxpQkFBaUIs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SUFDSixDQUFDO0lBQ0YsaUJBQWlCLENBQUMsZ0JBQXdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxxQkFBcUIsZ0JBQWdCLEVBQUUsRUFBRTtZQUMvRixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUMsSUFBSSxDQUNMLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO3VHQWxMVSxrQkFBa0I7MkdBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHtJUGF5bWVudH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudCc7XG5pbXBvcnQge1BheW1lbnRMaWJTZXJ2aWNlfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYkNvbXBvbmVudEh0dHBDbGllbnQgfSBmcm9tICcuLi9zaGFyZWQvaHR0cGNsaWVudC93ZWJjb21wb25lbnQuaHR0cC5jbGllbnQnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7SVBheW1lbnRHcm91cH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudEdyb3VwJztcbmltcG9ydCB7IEFkZFJlbWlzc2lvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FkZFJlbWlzc2lvblJlcXVlc3QnO1xuaW1wb3J0IHsgUGF5bWVudFRvUGF5aHViUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUGF5bWVudFRvUGF5aHViUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXlodWJBbnRlbm5hUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUGF5aHViQW50ZW5uYVJlcXVlc3QnO1xuaW1wb3J0IHsgVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9VbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Vuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0JztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFsbG9jYXRlUGF5bWVudFJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FsbG9jYXRlUGF5bWVudFJlcXVlc3QnO1xuaW1wb3J0IHsgSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0JztcbmltcG9ydCB7SU9yZGVyUmVmZXJlbmNlRmVlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lPcmRlclJlZmVyZW5jZUZlZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQnO1xuaW1wb3J0IHsgSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50JztcbmltcG9ydCB7IFJlZnVuZHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9SZWZ1bmRzUmVxdWVzdCc7XG5pbXBvcnQgeyBBZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Bvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBQb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24nO1xuLy9pbXBvcnQgeyBlcnJvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy91dGlsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0ICA9IDxCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+Pm5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gIHByaXZhdGUgbWV0YTogTWV0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cHM6IFdlYkNvbXBvbmVudEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuICBnZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRNZXRob2Q/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50PiB7XG5cblxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnREZXRhaWxzIGZvcjogJywgcGF5bWVudFJlZmVyZW5jZSk7XG5cbiAgICBpZihwYXltZW50TWV0aG9kID09IHVuZGVmaW5lZCB8fCBwYXltZW50TWV0aG9kID09IG51bGwpe1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gICAgfWVsc2V7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4ocGF5bWVudE1ldGhvZCA9PT0gJ2NhcmQnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjYXNoJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2hlcXVlJyB8fCBwYXltZW50TWV0aG9kID09PSAncG9zdGFsIG9yZGVyJyA/XG4gICAgICAgICAgYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FyZC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9YCA6XG4gICAgICAgICAgYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY3JlZGl0LWFjY291bnQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcblxuICAgIH1cbiAgfVxuXG4gIGdldFBheW1lbnRHcm91cERldGFpbHMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50R3JvdXA+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50R3JvdXBEZXRhaWxzIGZvcjogJywgcGF5bWVudEdyb3VwUmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuICBnZXRBcHBvcnRpb25QYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50R3JvdXA+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50R3JvdXBEZXRhaWxzIGZvcjogJywgcGF5bWVudFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvZmVlLXBheS1hcHBvcnRpb24vJHtwYXltZW50UmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG4gIGdldFBCQWFjY291bnREZXRhaWxzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGJhLWFjY291bnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG4gIHBvc3RXYXlzMlBheUNhcmRQYXltZW50KHNlcnZpY2VSZWY6IHN0cmluZywgYm9keTogSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L2NhcmQtcGF5bWVudHNgO1xuICAgIGNvbnN0IHJ1cmwgPSB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkNBUkRQQVlNRU5UUkVUVVJOVVJMLnJlcGxhY2UoJy5wcm9kJywgJycpO1xuICAgIGJvZHlbJ3JldHVybi11cmwnXSA9IGAke3J1cmx9L3BheW1lbnRgO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QodXJsLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCByYW5kb21LZXkgPSAnaWRhbS1rZXktJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zcGxpdCgnLicpLmpvaW4oJy0nKTtcbiAgICBib2R5WydpZGVtcG90ZW5jeV9rZXknXSA9IHJhbmRvbUtleTtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9wYmEtcGF5bWVudHNgO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QodXJsLCBib2R5KTtcbiAgfVxuXG4gIHBvc3RCU1BheW1lbnRzKGJvZHk6IEFsbG9jYXRlUGF5bWVudFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvYnVsay1zY2FuLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5pZGVudGlmaWVkUGF5bWVudHMoYm9keTogVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbnNvbGljaXRlZFBheW1lbnRzKGJvZHk6IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNBbGxvY2F0aW9uUGF5bWVudHMoYm9keTogSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZW1pc3Npb25zKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nLCBmZWVJZDogbnVtYmVyLCBib2R5OiBBZGRSZW1pc3Npb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfS9mZWVzLyR7ZmVlSWR9L3JlbWlzc2lvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAoZmVlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAgZm9yOiAnLCBmZWVJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZGVsZXRlKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2ZlZXMvJHtmZWVJZH1gKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0UGF5bWVudFRvUGF5SHViKGJvZHk6IFBheW1lbnRUb1BheWh1YlJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS9jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEFudGVubmFUb1BheUh1Yihib2R5OiBQYXlodWJBbnRlbm5hUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L3RlbGVwaG9ueS1jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgZG93bmxvYWRTZWxlY3RlZFJlcG9ydChyZXBvcnROYW1lOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVwb3J0L2RhdGE/ZGF0ZV9mcm9tPSR7c3RhcnREYXRlfSZkYXRlX3RvPSR7ZW5kRGF0ZX0mcmVwb3J0X3R5cGU9JHtyZXBvcnROYW1lfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBkb3dubG9hZEZhaWx1cmVSZXBvcnQoc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWZhaWx1cmVzL2ZhaWx1cmUtcmVwb3J0P2RhdGVfZnJvbT0ke3N0YXJ0RGF0ZX0mZGF0ZV90bz0ke2VuZERhdGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gICBkb3dubG9hZFRlbGVwaG9ueVBheW1lbnRzUmVwb3J0KHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vdGVsZXBob255LXBheW1lbnRzL3RlbGVwaG9ueS1wYXltZW50cy1yZXBvcnQ/ZGF0ZV9mcm9tPSR7c3RhcnREYXRlfSZkYXRlX3RvPSR7ZW5kRGF0ZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gICAgfVxuICBnZXRCU2ZlYXR1cmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvYnVsay1zY2FuLWZlYXR1cmUnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFNpdGVJRCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9yZWZkYXRhL2xlZ2FjeS1zaXRlcycsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0UGFydHlEZXRhaWxzKGNhc2VOdW1iZXI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZS1wYXltZW50LW9yZGVycz9jYXNlX2lkcz0ke2Nhc2VOdW1iZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG5cbiAgc2V0T3JkZXJzTGlzdChvcmRlckxldmVsRmVlczogSU9yZGVyUmVmZXJlbmNlRmVlW10pOiB2b2lkIHtcbiAgICB0aGlzLm9yZGVyc0xpc3QubmV4dChPYmplY3QuYXNzaWduKFtdLCBvcmRlckxldmVsRmVlcykpO1xufVxuICBnZXRPcmRlcnNMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm9yZGVyc0xpc3Q7XG4gIH1cblxuICAvL2lzc3VlIHJlZnVuZFxuICBwb3N0UmVmdW5kc1JlYXNvbihib2R5OiBQb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVmdW5kLWZvci1wYXltZW50YCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICAvLyByZXRybyByZW1pc3Npb25zXG4gIHBvc3RQYXltZW50R3JvdXBXaXRoUmV0cm9SZW1pc3Npb25zKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nLCBmZWVJZDogbnVtYmVyLCBib2R5OiBBZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9L2ZlZXMvJHtmZWVJZH0vcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24oYm9keTpQb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbikge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVmdW5kLXJldHJvLXJlbWlzc2lvbmAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gZ2V0UGF5bWVudEZhaWx1cmUocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1mYWlsdXJlcy8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -34,6 +34,12 @@ export class XlFileService {
34
34
  worksheet = this.autoFitColumns(worksheet, json);
35
35
  worksheet = this.addRowData(worksheet, json, headers);
36
36
  }
37
+ else if (excelFileName.match('Telephony Payments') !== null) {
38
+ headers = ['Resp_Service Name', 'CCD_Ref', 'Payment Reference', 'Fee Code', 'Payment Date', 'Amount', 'Payment Status'];
39
+ worksheet = this.setTelphonyPaymentsReportHeaders(worksheet);
40
+ worksheet = this.autoFitColumns(worksheet, json);
41
+ worksheet = this.addRowData(worksheet, json, headers);
42
+ }
37
43
  else {
38
44
  headers = ['resp_service_id', 'resp_service_name', 'surplus_shortfall', 'balance', 'payment_amount', 'ccd_case_reference', 'ccd_exception_reference', 'processed_date', 'reason', 'explanation', 'user_name'];
39
45
  worksheet = this.setShortFallReportHeaders(worksheet);
@@ -160,6 +166,16 @@ export class XlFileService {
160
166
  worksheet.getCell('K1').value = "Updated Name";
161
167
  return worksheet;
162
168
  }
169
+ setTelphonyPaymentsReportHeaders(worksheet) {
170
+ worksheet.getCell('A1').value = "Resp_Service Name";
171
+ worksheet.getCell('B1').value = "CCD_Ref";
172
+ worksheet.getCell('C1').value = "Payment Reference";
173
+ worksheet.getCell('D1').value = "Fee Code";
174
+ worksheet.getCell('E1').value = "Payment Date";
175
+ worksheet.getCell('F1').value = "Amount";
176
+ worksheet.getCell('G1').value = "Payment Status";
177
+ return worksheet;
178
+ }
163
179
  sanitizeString(value) {
164
180
  if (value) {
165
181
  // Remove tabs, carriage returns, and newlines
@@ -178,4 +194,4 @@ export class XlFileService {
178
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: XlFileService, decorators: [{
179
195
  type: Injectable
180
196
  }], ctorParameters: () => [] });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy94bC1maWxlL3hsLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDOztBQUV4QyxNQUFNLFVBQVUsR0FBRyxpRkFBaUYsQ0FBQztBQUNyRyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFHaEMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsZ0JBQWdCLENBQUM7SUFFVixpQkFBaUIsQ0FBQyxJQUFXLEVBQUUsYUFBcUI7UUFDekQsSUFBSSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFJLElBQUksRUFBQyxDQUFDO1lBQzNDLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0osU0FBUyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsU0FBUyxHQUFHLElBQUksQ0FBQyxV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QUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQy9FLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7dUdBL0tRLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEV4Y2VsSlMgZnJvbSAnZXhjZWxqcyc7XG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5cbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWGxGaWxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2YXIgd29ya2Jvb2sgPSBuZXcgRXhjZWxKUy5Xb3JrYm9vaygpO1xuICAgIHZhciB3b3Jrc2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoZXhjZWxGaWxlTmFtZSk7XG4gICAgdmFyIGhlYWRlcnMgPSBbXTtcblxuICAgIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ0RhdGFfTG9zcycpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsnbG9zc19yZXNwJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuc2V0RGF0YUxvc3NSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYWRkUm93RGF0YSh3b3Jrc2hlZXQsanNvbixoZWFkZXJzKTtcbiAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnVW5wcm9jZXNzZWQnKSE9PSBudWxsKXtcbiAgICAgIGhlYWRlcnMgPSBbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnZXhjZXB0aW9uX3JlZicsJ2NjZF9yZWYnLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFVucHJvY2Vzc2VkUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH0gZWxzZSBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdQcm9jZXNzZWRfVW5hbGxvY2F0ZWQnKSE9PSBudWxsKXtcbiAgICAgIGhlYWRlcnMgPSBbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnYWxsb2NhdGlvbl9zdGF0dXMnLCdyZWNlaXZpbmdfb2ZmaWNlJywnYWxsb2NhdGlvbl9yZWFzb24nLCdjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZScsJ2NjZF9jYXNlX3JlZmVyZW5jZScsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywnZGF0ZV9iYW5rZWQnLCdiZ2NfYmF0Y2gnLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLmFkZFJvd0RhdGEod29ya3NoZWV0LGpzb24saGVhZGVycyk7XG4gICAgfSBlbHNlIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ1BheW1lbnQgZmFpbHVyZScpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsncGF5bWVudF9yZWZlcmVuY2UnLCdjY2RfcmVmZXJlbmNlJywnZG9jdW1lbnRfY29udHJvbF9udW1iZXInLCdvcmdfaWQnLCdzZXJ2aWNlX25hbWUnLCdmYWlsdXJlX3JlZmVyZW5jZScsJ2ZhaWx1cmVfcmVhc29uJywnZGlzcHV0ZWRfYW1vdW50JywnZXZlbnRfbmFtZScsJ2V2ZW50X2RhdGUnLCdyZXByZXNlbnRtZW50X3N0YXR1cycsJ3JlcHJlc2VudG1lbnRfZGF0ZScsJ3JlZnVuZF9yZWZlcmVuY2UnLCdyZWZ1bmRfYW1vdW50JywncmVmdW5kX2RhdGUnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFBheW1lbnRGYWlsdXJlUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzID0gWydyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ3N1cnBsdXNfc2hvcnRmYWxsJywnYmFsYW5jZScsJ3BheW1lbnRfYW1vdW50JywnY2NkX2Nhc2VfcmVmZXJlbmNlJywgJ2NjZF9leGNlcHRpb25fcmVmZXJlbmNlJywgJ3Byb2Nlc3NlZF9kYXRlJywgJ3JlYXNvbicsICdleHBsYW5hdGlvbicsICd1c2VyX25hbWUnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuYWRkUm93RGF0YSh3b3Jrc2hlZXQsanNvbixoZWFkZXJzKTtcbiAgICB9XG5cbiAgICB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCkudGhlbigoYnVmZmVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6IEVYQ0VMX1RZUEUgfSk7XG4gICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBgJHtleGNlbEZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRml0Q29sdW1ucyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCxqc29uOmFueSkgOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgbGV0IG9iamVjdE1heExlbmd0aCA9IFtdO1xuICAgIGxldCBDb2xXaWR0aCA9IFtdO1xuICAgIGxldCBvYmogPSA8YW55Pk9iamVjdDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwganNvbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgdmFsdWUgPSBvYmoudmFsdWVzKGpzb25baV0pO1xuICAgICAgICBsZXQga2V5ID0gb2JqLmtleXMoanNvbltpXSk7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdmFsdWUubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBpZih2YWx1ZVtqXSA9PT0gbnVsbCl7XG4gICAgICAgICAgICB2YWx1ZVtqXSA9ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPVxuICAgICAgICAgICAga2V5W2pdLmxlbmd0aCA+PSB2YWx1ZVtqXS5sZW5ndGhcbiAgICAgICAgICAgICAgPyBrZXlbal0ubGVuZ3RoKzJcbiAgICAgICAgICAgICAgOiB2YWx1ZVtqXS5sZW5ndGgrMTtcbiAgICAgICAgICAgICAgaWYoIHZhbHVlW2pdLmxlbmd0aCA9PT0gdW5kZWZpbmVkKXtcbiAgICAgICAgICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPSAga2V5W2pdLmxlbmd0aCsyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgIENvbFdpZHRoLnB1c2goeyd3aWR0aCc6ICtvYmplY3RNYXhMZW5ndGhbal19KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd29ya3NoZWV0LmNvbHVtbnMgPSBDb2xXaWR0aDtcbiAgICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIGFkZFJvd0RhdGEgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQsanNvbjphbnksaGVhZGVycykgOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoZWFkZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB3b3Jrc2hlZXQuY29sdW1uc1tpXS5rZXkgPSBoZWFkZXJzW2ldO1xuICAgIH1cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwganNvbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgcm93ID0ganNvbltpXTtcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJvdykge1xuICAgICAgICAgICAgICBpZiAocm93W2tleV0gJiYgdHlwZW9mIHJvd1trZXldID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJvd1trZXldID0gdGhpcy5zYW5pdGl6ZVN0cmluZyhyb3dba2V5XSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgd29ya3NoZWV0LmFkZFJvdyhyb3cpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdvcmtzaGVldDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0YUxvc3NSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IEV4Y2VsSlMuV29ya3NoZWV0KTogRXhjZWxKUy5Xb3Jrc2hlZXQge1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdBMScpLnZhbHVlID0gXCJMb3NzX1Jlc3BcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQjEnKS52YWx1ZSA9IFwiUGF5bWVudF9Bc3NldF9EQ05cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIkRhdGVfQmFua2VkXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkJHQ19CYXRjaFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJQYXltZW50X01ldGhvZFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJBbW91bnRcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRVbnByb2Nlc3NlZFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIkNDRF9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiQkdDX0JhdGNoXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkVudmVsb3BlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0sxJykudmFsdWUgPSBcIkFtb3VudFwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFByb2Nlc3NlZFVuYWxsb2NhdGVkUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCk6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0MxJykudmFsdWUgPSBcIkFsbG9jYXRpb25fU3RhdHVzXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIlJlY2VpdmluZ19PZmZpY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiQWxsb2NhdGlvbl9SZWFzb25cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiQ0NEX0V4Y2VwdGlvbl9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRzEnKS52YWx1ZSA9IFwiQ0NEX0Nhc2VfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIkVudmVsb3BlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0sxJykudmFsdWUgPSBcIkRhdGVfQmFua2VkXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0wxJykudmFsdWUgPSBcIkJHQ19CYXRjaFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdNMScpLnZhbHVlID0gXCJQYXltZW50X01ldGhvZFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdOMScpLnZhbHVlID0gXCJBbW91bnRcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYXltZW50RmFpbHVyZVJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlBheW1lbnQgcmVmZXJlbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIkNDRCByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiRG9jdW1lbnQgQ29udHJvbCBOdW1iZXJcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRDEnKS52YWx1ZSA9IFwiT3JnSURcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiU2VydmljZSBuYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIkZhaWx1cmUgcmVmZXJlbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIkZhaWx1cmUgcmVhc29uXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkRpc3B1dGVkIGFtb3VudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJFdmVudCBuYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIkV2ZW50IGRhdGVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSzEnKS52YWx1ZSA9IFwiUmVwcmVzZW50bWVudCBzdGF0dXNcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTDEnKS52YWx1ZSA9IFwiUmVwcmVzZW50bWVudCBkYXRlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ00xJykudmFsdWUgPSBcIlJlZnVuZCByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTjEnKS52YWx1ZSA9IFwiUmVmdW5kIGFtb3VudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdPMScpLnZhbHVlID0gXCJSZWZ1bmQgZGF0ZVwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJPdmVyIFBheW1lbnRfVW5kZXIgUGF5bWVudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdEMScpLnZhbHVlID0gXCJCYWxhbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0UxJykudmFsdWUgPSBcIlBheW1lbnRfQW1vdW50XCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIkNDRF9DYXNlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdHMScpLnZhbHVlID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIlByb2Nlc3NlZF9EYXRlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIlJlYXNvblwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJFeHBsYW5hdGlvblwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdLMScpLnZhbHVlID0gXCJVcGRhdGVkIE5hbWVcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzYW5pdGl6ZVN0cmluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgLy8gUmVtb3ZlIHRhYnMsIGNhcnJpYWdlIHJldHVybnMsIGFuZCBuZXdsaW5lc1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL15bXFx0XFxyXFxuQF0rfFtcXHRcXHJcXG5AXS9nLCAobWF0Y2gsIG9mZnNldCkgPT4gb2Zmc2V0ID09PSAwID8gJycgOiAnICcpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgJy0nIG9yICc9JyBvciAnKydcbiAgICAgICAgaWYgKHZhbHVlLmNoYXJBdCgwKSA9PT0gJy0nIHx8IHZhbHVlLmNoYXJBdCgwKSA9PT0gJz0nIHx8IHZhbHVlLmNoYXJBdCgwKSA9PT0gJysnKSB7XG4gICAgICAgICAgICAgdmFsdWUgPSBcIidcIiArIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbn1cbiJdfQ==
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy94bC1maWxlL3hsLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDOztBQUV4QyxNQUFNLFVBQVUsR0FBRyxpRkFBaUYsQ0FBQztBQUNyRyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFHaEMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsZ0JBQWdCLENBQUM7SUFFVixpQkFBaUIsQ0FBQyxJQUFXLEVBQUUsYUFBcUI7UUFDekQsSUFBSSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFJLElBQUksRUFBQyxDQUFDO1lBQzNDLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0osU0FBUyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsU0FBUyxHQUFHLElBQUksQ0FBQyxV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QUFLLENBQUM7WUFDekIsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzt1R0EvTFEsYUFBYTsyR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgRXhjZWxKUyBmcm9tICdleGNlbGpzJztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcblxuY29uc3QgRVhDRUxfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JztcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBYbEZpbGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgZXhwb3J0QXNFeGNlbEZpbGUoanNvbjogYW55W10sIGV4Y2VsRmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHZhciB3b3JrYm9vayA9IG5ldyBFeGNlbEpTLldvcmtib29rKCk7XG4gICAgdmFyIHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldChleGNlbEZpbGVOYW1lKTtcbiAgICB2YXIgaGVhZGVycyA9IFtdO1xuXG4gICAgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnRGF0YV9Mb3NzJykhPT0gbnVsbCl7XG4gICAgICBoZWFkZXJzID0gWydsb3NzX3Jlc3AnLCdwYXltZW50X2Fzc2V0X2RjbicsJ2Vudl9yZWYnLCdlbnZfaXRlbScsJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnZGF0ZV9iYW5rZWQnLCdiZ2NfYmF0Y2gnLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5zZXREYXRhTG9zc1JlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH0gZWxzZSBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdVbnByb2Nlc3NlZCcpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsncmVzcF9zZXJ2aWNlX2lkJywncmVzcF9zZXJ2aWNlX25hbWUnLCdleGNlcHRpb25fcmVmJywnY2NkX3JlZicsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0VW5wcm9jZXNzZWRSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLmFkZFJvd0RhdGEod29ya3NoZWV0LGpzb24saGVhZGVycyk7XG4gICAgfSBlbHNlIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ1Byb2Nlc3NlZF9VbmFsbG9jYXRlZCcpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsncmVzcF9zZXJ2aWNlX2lkJywncmVzcF9zZXJ2aWNlX25hbWUnLCdhbGxvY2F0aW9uX3N0YXR1cycsJ3JlY2VpdmluZ19vZmZpY2UnLCdhbGxvY2F0aW9uX3JlYXNvbicsJ2NjZF9leGNlcHRpb25fcmVmZXJlbmNlJywnY2NkX2Nhc2VfcmVmZXJlbmNlJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfbWV0aG9kJywnYW1vdW50J107XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXRQcm9jZXNzZWRVbmFsbG9jYXRlZFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuYWRkUm93RGF0YSh3b3Jrc2hlZXQsanNvbixoZWFkZXJzKTtcbiAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnUGF5bWVudCBmYWlsdXJlJykhPT0gbnVsbCl7XG4gICAgICBoZWFkZXJzID0gWydwYXltZW50X3JlZmVyZW5jZScsJ2NjZF9yZWZlcmVuY2UnLCdkb2N1bWVudF9jb250cm9sX251bWJlcicsJ29yZ19pZCcsJ3NlcnZpY2VfbmFtZScsJ2ZhaWx1cmVfcmVmZXJlbmNlJywnZmFpbHVyZV9yZWFzb24nLCdkaXNwdXRlZF9hbW91bnQnLCdldmVudF9uYW1lJywnZXZlbnRfZGF0ZScsJ3JlcHJlc2VudG1lbnRfc3RhdHVzJywncmVwcmVzZW50bWVudF9kYXRlJywncmVmdW5kX3JlZmVyZW5jZScsJ3JlZnVuZF9hbW91bnQnLCdyZWZ1bmRfZGF0ZSddO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0UGF5bWVudEZhaWx1cmVSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLmFkZFJvd0RhdGEod29ya3NoZWV0LGpzb24saGVhZGVycyk7XG4gICAgfWVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnVGVsZXBob255IFBheW1lbnRzJykhPT0gbnVsbCl7XG4gICAgICBoZWFkZXJzID0gWydSZXNwX1NlcnZpY2UgTmFtZScsJ0NDRF9SZWYnLCdQYXltZW50IFJlZmVyZW5jZScsJ0ZlZSBDb2RlJywnUGF5bWVudCBEYXRlJywnQW1vdW50JywnUGF5bWVudCBTdGF0dXMnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFRlbHBob255UGF5bWVudHNSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLmFkZFJvd0RhdGEod29ya3NoZWV0LGpzb24saGVhZGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhlYWRlcnMgPSBbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnc3VycGx1c19zaG9ydGZhbGwnLCdiYWxhbmNlJywncGF5bWVudF9hbW91bnQnLCdjY2RfY2FzZV9yZWZlcmVuY2UnLCAnY2NkX2V4Y2VwdGlvbl9yZWZlcmVuY2UnLCAncHJvY2Vzc2VkX2RhdGUnLCAncmVhc29uJywgJ2V4cGxhbmF0aW9uJywgJ3VzZXJfbmFtZSddO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0U2hvcnRGYWxsUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH1cblxuICAgIHdvcmtib29rLnhsc3gud3JpdGVCdWZmZXIoKS50aGVuKChidWZmZXIpID0+IHtcbiAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogRVhDRUxfVFlQRSB9KTtcbiAgICAgICAgICBGaWxlU2F2ZXIuc2F2ZUFzKGJsb2IsIGAke2V4Y2VsRmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT059YCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGF1dG9GaXRDb2x1bW5zICh3b3Jrc2hlZXQ6IEV4Y2VsSlMuV29ya3NoZWV0LGpzb246YW55KSA6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICBsZXQgb2JqZWN0TWF4TGVuZ3RoID0gW107XG4gICAgbGV0IENvbFdpZHRoID0gW107XG4gICAgbGV0IG9iaiA9IDxhbnk+T2JqZWN0O1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBqc29uLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCB2YWx1ZSA9IG9iai52YWx1ZXMoanNvbltpXSk7XG4gICAgICAgIGxldCBrZXkgPSBvYmoua2V5cyhqc29uW2ldKTtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB2YWx1ZS5sZW5ndGg7IGorKykge1xuICAgICAgICAgIGlmKHZhbHVlW2pdID09PSBudWxsKXtcbiAgICAgICAgICAgIHZhbHVlW2pdID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9iamVjdE1heExlbmd0aFtqXSA9XG4gICAgICAgICAgICBrZXlbal0ubGVuZ3RoID49IHZhbHVlW2pdLmxlbmd0aFxuICAgICAgICAgICAgICA/IGtleVtqXS5sZW5ndGgrMlxuICAgICAgICAgICAgICA6IHZhbHVlW2pdLmxlbmd0aCsxO1xuICAgICAgICAgICAgICBpZiggdmFsdWVbal0ubGVuZ3RoID09PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgICAgIG9iamVjdE1heExlbmd0aFtqXSA9ICBrZXlbal0ubGVuZ3RoKzI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgQ29sV2lkdGgucHVzaCh7J3dpZHRoJzogK29iamVjdE1heExlbmd0aFtqXX0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB3b3Jrc2hlZXQuY29sdW1ucyA9IENvbFdpZHRoO1xuICAgICAgcmV0dXJuIHdvcmtzaGVldDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUm93RGF0YSAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCxqc29uOmFueSxoZWFkZXJzKSA6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlYWRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHdvcmtzaGVldC5jb2x1bW5zW2ldLmtleSA9IGhlYWRlcnNbaV07XG4gICAgfVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBqc29uLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCByb3cgPSBqc29uW2ldO1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcm93KSB7XG4gICAgICAgICAgICAgIGlmIChyb3dba2V5XSAmJiB0eXBlb2Ygcm93W2tleV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcm93W2tleV0gPSB0aGlzLnNhbml0aXplU3RyaW5nKHJvd1trZXldKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB3b3Jrc2hlZXQuYWRkUm93KHJvdyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREYXRhTG9zc1JlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIkxvc3NfUmVzcFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJQYXltZW50X0Fzc2V0X0RDTlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJFbnZlbG9wZV9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRDEnKS52YWx1ZSA9IFwiRW52ZWxvcGVfSXRlbVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdFMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgSURcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIE5hbWVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRzEnKS52YWx1ZSA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSDEnKS52YWx1ZSA9IFwiQkdDX0JhdGNoXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIkFtb3VudFwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFVucHJvY2Vzc2VkUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCk6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0MxJykudmFsdWUgPSBcIkV4Y2VwdGlvbl9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRDEnKS52YWx1ZSA9IFwiQ0NEX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdFMScpLnZhbHVlID0gXCJEYXRlX0JhbmtlZFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdGMScpLnZhbHVlID0gXCJCR0NfQmF0Y2hcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRzEnKS52YWx1ZSA9IFwiUGF5bWVudF9Bc3NldF9EQ05cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSDEnKS52YWx1ZSA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSjEnKS52YWx1ZSA9IFwiUGF5bWVudF9NZXRob2RcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSzEnKS52YWx1ZSA9IFwiQW1vdW50XCI7XG4gICAgcmV0dXJuIHdvcmtzaGVldDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IEV4Y2VsSlMuV29ya3NoZWV0KTogRXhjZWxKUy5Xb3Jrc2hlZXQge1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdBMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgSURcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQjEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIE5hbWVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiQWxsb2NhdGlvbl9TdGF0dXNcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRDEnKS52YWx1ZSA9IFwiUmVjZWl2aW5nX09mZmljZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdFMScpLnZhbHVlID0gXCJBbGxvY2F0aW9uX1JlYXNvblwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdGMScpLnZhbHVlID0gXCJDQ0RfRXhjZXB0aW9uX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdHMScpLnZhbHVlID0gXCJDQ0RfQ2FzZV9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSDEnKS52YWx1ZSA9IFwiUGF5bWVudF9Bc3NldF9EQ05cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSTEnKS52YWx1ZSA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSzEnKS52YWx1ZSA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTDEnKS52YWx1ZSA9IFwiQkdDX0JhdGNoXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ00xJykudmFsdWUgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ04xJykudmFsdWUgPSBcIkFtb3VudFwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFBheW1lbnRGYWlsdXJlUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCk6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQTEnKS52YWx1ZSA9IFwiUGF5bWVudCByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQjEnKS52YWx1ZSA9IFwiQ0NEIHJlZmVyZW5jZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJEb2N1bWVudCBDb250cm9sIE51bWJlclwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdEMScpLnZhbHVlID0gXCJPcmdJRFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdFMScpLnZhbHVlID0gXCJTZXJ2aWNlIG5hbWVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiRmFpbHVyZSByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRzEnKS52YWx1ZSA9IFwiRmFpbHVyZSByZWFzb25cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSDEnKS52YWx1ZSA9IFwiRGlzcHV0ZWQgYW1vdW50XCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIkV2ZW50IG5hbWVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSjEnKS52YWx1ZSA9IFwiRXZlbnQgZGF0ZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdLMScpLnZhbHVlID0gXCJSZXByZXNlbnRtZW50IHN0YXR1c1wiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdMMScpLnZhbHVlID0gXCJSZXByZXNlbnRtZW50IGRhdGVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTTEnKS52YWx1ZSA9IFwiUmVmdW5kIHJlZmVyZW5jZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdOMScpLnZhbHVlID0gXCJSZWZ1bmQgYW1vdW50XCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ08xJykudmFsdWUgPSBcIlJlZnVuZCBkYXRlXCI7XG4gICAgcmV0dXJuIHdvcmtzaGVldDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2hvcnRGYWxsUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCk6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0MxJykudmFsdWUgPSBcIk92ZXIgUGF5bWVudF9VbmRlciBQYXltZW50XCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIkJhbGFuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiUGF5bWVudF9BbW91bnRcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiQ0NEX0Nhc2VfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIkV4Y2VwdGlvbl9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSDEnKS52YWx1ZSA9IFwiUHJvY2Vzc2VkX0RhdGVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSTEnKS52YWx1ZSA9IFwiUmVhc29uXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIkV4cGxhbmF0aW9uXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0sxJykudmFsdWUgPSBcIlVwZGF0ZWQgTmFtZVwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICAgIHByaXZhdGUgc2V0VGVscGhvbnlQYXltZW50c1JlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIE5hbWVcIjtcbiAgICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJDQ0RfUmVmXCI7XG4gICAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiUGF5bWVudCBSZWZlcmVuY2VcIjtcbiAgICAgIHdvcmtzaGVldC5nZXRDZWxsKCdEMScpLnZhbHVlID0gXCJGZWUgQ29kZVwiO1xuICAgICAgd29ya3NoZWV0LmdldENlbGwoJ0UxJykudmFsdWUgPSBcIlBheW1lbnQgRGF0ZVwiO1xuICAgICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIkFtb3VudFwiO1xuICAgICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIlBheW1lbnQgU3RhdHVzXCI7XG4gICAgICByZXR1cm4gd29ya3NoZWV0O1xuICAgIH1cblxuICBwcml2YXRlIHNhbml0aXplU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAvLyBSZW1vdmUgdGFicywgY2FycmlhZ2UgcmV0dXJucywgYW5kIG5ld2xpbmVzXG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXltcXHRcXHJcXG5AXSt8W1xcdFxcclxcbkBdL2csIChtYXRjaCwgb2Zmc2V0KSA9PiBvZmZzZXQgPT09IDAgPyAnJyA6ICcgJyk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyAnLScgb3IgJz0nIG9yICcrJ1xuICAgICAgICBpZiAodmFsdWUuY2hhckF0KDApID09PSAnLScgfHwgdmFsdWUuY2hhckF0KDApID09PSAnPScgfHwgdmFsdWUuY2hhckF0KDApID09PSAnKycpIHtcbiAgICAgICAgICAgICB2YWx1ZSA9IFwiJ1wiICsgdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxufVxuIl19