@vendasta/billing 12.16.0 → 12.18.0
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.
- package/{esm2020 → esm2022}/lib/_generated/host.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/_internal/bank-reconciliation.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/billing.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/bundle.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/contract-document.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/contract.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/credit.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/discount.api.service.mjs +5 -5
- package/esm2022/lib/_internal/enums/billable-item.enum.mjs +19 -0
- package/esm2022/lib/_internal/enums/index.mjs +35 -0
- package/esm2022/lib/_internal/interfaces/billable-item.interface.mjs +2 -0
- package/{esm2020 → esm2022}/lib/_internal/invoice.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/merchant.api.service.mjs +5 -5
- package/esm2022/lib/_internal/objects/billable-item.mjs +835 -0
- package/{esm2020 → esm2022}/lib/_internal/payment-method.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/payment.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/pricing.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/product-summary.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/product.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/purchase.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/recurring-invoice.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/refund.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/retail-customer-configuration.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/sales-credit-note.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/sales-invoice.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/subscription-relationship.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/tax.api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/_internal/vendor.api.service.mjs +5 -5
- package/{fesm2020 → fesm2022}/vendasta-billing.mjs +238 -96
- package/fesm2022/vendasta-billing.mjs.map +1 -0
- package/lib/_internal/enums/billable-item.enum.d.ts +5 -0
- package/lib/_internal/enums/index.d.ts +1 -1
- package/lib/_internal/interfaces/billable-item.interface.d.ts +1 -0
- package/lib/_internal/objects/billable-item.d.ts +1 -0
- package/package.json +7 -13
- package/esm2020/lib/_internal/enums/billable-item.enum.mjs +0 -13
- package/esm2020/lib/_internal/enums/index.mjs +0 -35
- package/esm2020/lib/_internal/interfaces/billable-item.interface.mjs +0 -2
- package/esm2020/lib/_internal/objects/billable-item.mjs +0 -829
- package/fesm2015/vendasta-billing.mjs +0 -15963
- package/fesm2015/vendasta-billing.mjs.map +0 -1
- package/fesm2020/vendasta-billing.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/_generated/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/applied-discount.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/card.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/contract.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/currency.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/fee.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/frequency.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/invoice.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/merchant-report.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/merchant.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/month.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/payment-card.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/payment-processor.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/payment.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/payout.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/pricing-plan.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/product-summary.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/product.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/purchase.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/recurring-invoice.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/refund.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/report-run.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/sales-credit-note.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/sales-invoice.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/sort-direction.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/subscribe-validation.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/subscription-relationship.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/subscription.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/annotations.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/api.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/applied-bundle.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/applied-discount.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/applied-tax-rate.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/balance.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/bundle.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/commitment.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/common.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/contract-document.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/contract.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/credit.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/customer-summary.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/date-range.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/discount.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/external-account.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/fee.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/field-mask.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/invoice.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/merchant-report.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/merchant.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/metered-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/payment-card.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/payment.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/payout.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/pricing-plan-product.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/pricing-plan.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/product-pricing.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/product-summary.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/product.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/purchase.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/recurring-invoice.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/refund.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/report-run.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/retail-customer-configuration.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/sales-credit-note.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/sales-invoice.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/subscribe-validation.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/subscription-relationship.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/subscription.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/tax-rate.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/annotations.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/applied-bundle.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/applied-discount.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/applied-tax-rate.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/balance.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/bundle.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/commitment.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/common.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/contract-document.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/contract.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/credit.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/customer-summary.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/date-range.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/discount.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/external-account.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/fee.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/field-mask.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/invoice.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/merchant-report.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/merchant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/metered-component.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/payment-card.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/payment.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/payout.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/pricing-plan-product.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/pricing-plan.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/product-pricing.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/product-summary.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/product.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/purchase.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/recurring-invoice.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/refund.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/report-run.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/retail-customer-configuration.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/sales-credit-note.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/sales-invoice.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/subscribe-validation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/subscription-relationship.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/subscription.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/objects/tax-rate.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/currency-conversion-rate.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/vendasta-billing.mjs +0 -0
|
@@ -15,11 +15,11 @@ export class HostService {
|
|
|
15
15
|
get hostWithScheme() {
|
|
16
16
|
return 'https://' + this.host;
|
|
17
17
|
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: HostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: HostService, providedIn: 'root' }); }
|
|
18
20
|
}
|
|
19
|
-
|
|
20
|
-
HostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: HostService, providedIn: 'root' });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: HostService, decorators: [{
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: HostService, decorators: [{
|
|
22
22
|
type: Injectable,
|
|
23
23
|
args: [{ providedIn: 'root' }]
|
|
24
24
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLFdBQVcsR0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUM7QUFDaEYsTUFBTSxPQUFPLEdBQThCO0lBQ3ZDLE9BQU8sRUFBRSxnQ0FBZ0M7SUFDekMsTUFBTSxFQUFFLEVBQUU7SUFDVixNQUFNLEVBQUUsNEJBQTRCO0lBQ3BDLE1BQU0sRUFBRSw0QkFBNEI7SUFDcEMsWUFBWSxFQUFFLDRCQUE0QjtDQUM3QyxDQUFDO0FBR0YsTUFBTSxPQUFPLFdBQVc7SUFDcEIsSUFBSSxJQUFJO1FBQ0osT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQzs4R0FQUSxXQUFXO2tIQUFYLFdBQVcsY0FEQyxNQUFNOzsyRkFDbEIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XG5jb25zdCBlbnZpcm9ubWVudDogc3RyaW5nID0gKHdpbmRvdyA/IHdpbmRvd1snZW52aXJvbm1lbnQnXSA6ICdwcm9kJykgPz8gJ3Byb2QnO1xuY29uc3QgaG9zdE1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAnbG9jYWwnOiAnYmlsbGluZy1hcGkudmVuZGFzdGEtbG9jYWwuY29tJyxcbiAgICAndGVzdCc6ICcnLFxuICAgICdkZW1vJzogJ2JpbGxpbmctZGVtby5hcGlnYXRld2F5LmNvJyxcbiAgICAncHJvZCc6ICdiaWxsaW5nLXByb2QuYXBpZ2F0ZXdheS5jbycsXG4gICAgJ3Byb2R1Y3Rpb24nOiAnYmlsbGluZy1wcm9kLmFwaWdhdGV3YXkuY28nLFxufTtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgSG9zdFNlcnZpY2Uge1xuICAgIGdldCBob3N0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBob3N0TWFwW2Vudmlyb25tZW50LnRvTG93ZXJDYXNlKCldO1xuICAgIH1cblxuICAgIGdldCBob3N0V2l0aFNjaGVtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2h0dHBzOi8vJyArIHRoaXMuaG9zdDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -36,11 +36,11 @@ export class BankReconciliationApiService {
|
|
|
36
36
|
return this.http.post(this._host + "/billing.v1.BankReconciliationService/ReconcilePayout", request.toApiJson(), this.apiOptions())
|
|
37
37
|
.pipe(map(resp => ReconcilePayoutResponse.fromProto(resp)));
|
|
38
38
|
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BankReconciliationApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BankReconciliationApiService, providedIn: 'root' }); }
|
|
39
41
|
}
|
|
40
|
-
|
|
41
|
-
BankReconciliationApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BankReconciliationApiService, providedIn: 'root' });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BankReconciliationApiService, decorators: [{
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BankReconciliationApiService, decorators: [{
|
|
43
43
|
type: Injectable,
|
|
44
44
|
args: [{ providedIn: 'root' }]
|
|
45
|
-
}], ctorParameters:
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.HostService }] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1yZWNvbmNpbGlhdGlvbi5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2JpbGxpbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL2JhbmstcmVjb25jaWxpYXRpb24uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzlCLE1BQU0sWUFBWSxDQUFDO0FBT3BCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUduQyxNQUFNLE9BQU8sNEJBQTRCO0lBR3JDLFlBQW9CLElBQWdCLEVBQVUsV0FBd0I7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRjlELFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztJQUdoRCxDQUFDO0lBRU8sVUFBVTtRQUNkLE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7YUFDckMsQ0FBQztZQUNGLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQW1EO1FBQzNELE1BQU0sT0FBTyxHQUFHLENBQXNCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXNCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUErQixJQUFJLENBQUMsS0FBSyxHQUFHLG1EQUFtRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDeEosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNuRCxDQUFDO0lBQ1YsQ0FBQztJQUNELGVBQWUsQ0FBQyxDQUEyRDtRQUN2RSxNQUFNLE9BQU8sR0FBRyxDQUEwQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUEwQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUMsSUFBSSxDQUFDLEtBQUssR0FBRyx1REFBdUQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdkQsQ0FBQztJQUNWLENBQUM7OEdBNUJRLDRCQUE0QjtrSEFBNUIsNEJBQTRCLGNBRGhCLE1BQU07OzJGQUNsQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIExpc3RQYXlvdXRzUmVxdWVzdCxcbiAgICAgICAgTGlzdFBheW91dHNSZXNwb25zZSxcbiAgICAgICAgUmVjb25jaWxlUGF5b3V0UmVxdWVzdCxcbiAgICAgICAgUmVjb25jaWxlUGF5b3V0UmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgTGlzdFBheW91dHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UGF5b3V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZWNvbmNpbGVQYXlvdXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBSZWNvbmNpbGVQYXlvdXRSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBCYW5rUmVjb25jaWxpYXRpb25BcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBsaXN0UGF5b3V0cyhyOiBMaXN0UGF5b3V0c1JlcXVlc3QgfCBMaXN0UGF5b3V0c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RQYXlvdXRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQYXlvdXRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0UGF5b3V0c1JlcXVlc3Q+cikgOiBuZXcgTGlzdFBheW91dHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFBheW91dHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmFua1JlY29uY2lsaWF0aW9uU2VydmljZS9MaXN0UGF5b3V0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RQYXlvdXRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgcmVjb25jaWxlUGF5b3V0KHI6IFJlY29uY2lsZVBheW91dFJlcXVlc3QgfCBSZWNvbmNpbGVQYXlvdXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxSZWNvbmNpbGVQYXlvdXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVjb25jaWxlUGF5b3V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZWNvbmNpbGVQYXlvdXRSZXF1ZXN0PnIpIDogbmV3IFJlY29uY2lsZVBheW91dFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZWNvbmNpbGVQYXlvdXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmFua1JlY29uY2lsaWF0aW9uU2VydmljZS9SZWNvbmNpbGVQYXlvdXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBSZWNvbmNpbGVQYXlvdXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
|
|
@@ -234,11 +234,11 @@ export class BillingApiService {
|
|
|
234
234
|
const request = (r.toApiJson) ? r : new StartRevRecTemplateBackfillRequest(r);
|
|
235
235
|
return this.http.post(this._host + "/billing.v1.Billing/StartRevRecTemplateBackfill", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
|
|
236
236
|
}
|
|
237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BillingApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
238
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BillingApiService, providedIn: 'root' }); }
|
|
237
239
|
}
|
|
238
|
-
|
|
239
|
-
BillingApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BillingApiService, providedIn: 'root' });
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BillingApiService, decorators: [{
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BillingApiService, decorators: [{
|
|
241
241
|
type: Injectable,
|
|
242
242
|
args: [{ providedIn: 'root' }]
|
|
243
|
-
}], ctorParameters:
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2JpbGxpbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL2JpbGxpbmcuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MsZUFBZSxFQUNmLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsNEJBQTRCLEVBQzVCLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qix3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QUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ2xLLENBQUM7OzhHQXRSUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQmlsbEl0ZW1SZXF1ZXN0LFxuICAgICAgICBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3QsXG4gICAgICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2UsXG4gICAgICAgIENhbkJpbGxJdGVtUmVxdWVzdCxcbiAgICAgICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICAgICAgQ2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdCxcbiAgICAgICAgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdCxcbiAgICAgICAgQ2hhbmdlUmVuZXdhbERhdGVSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVNZXRlcmVkQ29tcG9uZW50UmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZVByaWNpbmdQbGFuUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgICAgIENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlVXNhZ2VSZXF1ZXN0LFxuICAgICAgICBEZWxldGVCaWxsYWJsZUl0ZW1SZXF1ZXN0LFxuICAgICAgICBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0LFxuICAgICAgICBFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0LFxuICAgICAgICBFeHBvcnRSZXNwb25zZSxcbiAgICAgICAgRXhwb3J0U3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlcXVlc3QsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlc3BvbnNlLFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0LFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZSxcbiAgICAgICAgR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlcXVlc3QsXG4gICAgICAgIEdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3lSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5SZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3QsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlLFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0LFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXNwb25zZSxcbiAgICAgICAgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0LFxuICAgICAgICBMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0Q29udHJhY3RzUmVxdWVzdCxcbiAgICAgICAgTGlzdENvbnRyYWN0c1Jlc3BvbnNlLFxuICAgICAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1JlcXVlc3QsXG4gICAgICAgIExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVzcG9uc2UsXG4gICAgICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdCxcbiAgICAgICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZSxcbiAgICAgICAgTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXF1ZXN0LFxuICAgICAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0LFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXNwb25zZSxcbiAgICAgICAgTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0LFxuICAgICAgICBMaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3QsXG4gICAgICAgIFJldmVyc2VTdWJzY3JpcHRpb25SZXF1ZXN0LFxuICAgICAgICBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0LFxuICAgICAgICBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0LFxuICAgICAgICBUaWNrQ29tcG9uZW50VXNhZ2VSZXF1ZXN0LFxuICAgICAgICBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVQcmljaW5nUGxhblJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQmlsbEl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENhbkJpbGxJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hhbmdlUmVuZXdhbERhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZXRlcmVkQ29tcG9uZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVByaWNpbmdQbGFuUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlVXNhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFeHBvcnRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRXhwb3J0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3lSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q29udHJhY3RzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFJldmVyc2VTdWJzY3JpcHRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBUaWNrQ29tcG9uZW50VXNhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVQcmljaW5nUGxhblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQmlsbGluZ0FwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNhbkJpbGxJdGVtKHI6IENhbkJpbGxJdGVtUmVxdWVzdCB8IENhbkJpbGxJdGVtUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDYW5CaWxsSXRlbVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2FuQmlsbEl0ZW1SZXF1ZXN0PnIpIDogbmV3IENhbkJpbGxJdGVtUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ2FuQmlsbEl0ZW1cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNhbkNyZWF0ZVN1YnNjcmlwdGlvbnMocjogQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QgfCBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdD5yKSA6IG5ldyBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9DYW5DcmVhdGVTdWJzY3JpcHRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZVN1YnNjcmlwdGlvbihyOiBDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IHwgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ3JlYXRlU3Vic2NyaXB0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVTdWJzY3JpcHRpb25zKHI6IENyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IHwgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVTdWJzY3JpcHRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ3JlYXRlU3Vic2NyaXB0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICByZXZlcnNlU3Vic2NyaXB0aW9uKHI6IFJldmVyc2VTdWJzY3JpcHRpb25SZXF1ZXN0IHwgUmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3Q+cikgOiBuZXcgUmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1JldmVyc2VTdWJzY3JpcHRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHNldFJlbmV3YWxTdGFydChyOiBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0IHwgU2V0UmVuZXdhbFN0YXJ0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldFJlbmV3YWxTdGFydFJlcXVlc3Q+cikgOiBuZXcgU2V0UmVuZXdhbFN0YXJ0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvU2V0UmVuZXdhbFN0YXJ0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBiaWxsSXRlbShyOiBCaWxsSXRlbVJlcXVlc3QgfCBCaWxsSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8QmlsbEl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEJpbGxJdGVtUmVxdWVzdD5yKSA6IG5ldyBCaWxsSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0JpbGxJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBiaWxsTXVsdGlwbGVJdGVtcyhyOiBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3QgfCBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEJpbGxNdWx0aXBsZUl0ZW1zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3Q+cikgOiBuZXcgQmlsbE11bHRpcGxlSXRlbXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QmlsbE11bHRpcGxlSXRlbXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9CaWxsTXVsdGlwbGVJdGVtc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0QmlsbGFibGVJdGVtKHI6IEdldEJpbGxhYmxlSXRlbVJlcXVlc3QgfCBHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0QmlsbGFibGVJdGVtUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpIDogbmV3IEdldEJpbGxhYmxlSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9HZXRCaWxsYWJsZUl0ZW1cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVN1YnNjcmlwdGlvbnMocjogR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdCB8IEdldE11bHRpU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpU3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldE11bHRpU3Vic2NyaXB0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RTdWJzY3JpcHRpb25zKHI6IExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdCB8IExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdD5yKSA6IG5ldyBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0xpc3RTdWJzY3JpcHRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBleHBvcnRTdWJzY3JpcHRpb25zKHI6IEV4cG9ydFN1YnNjcmlwdGlvbnNSZXF1ZXN0IHwgRXhwb3J0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEV4cG9ydFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdD5yKSA6IG5ldyBFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEV4cG9ydFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0V4cG9ydFN1YnNjcmlwdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBFeHBvcnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0UmV0YWlsU3Vic2NyaXB0aW9ucyhyOiBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3QgfCBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9MaXN0UmV0YWlsU3Vic2NyaXB0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdEJpbGxhYmxlSXRlbXMocjogTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0IHwgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QmlsbGFibGVJdGVtc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0PnIpIDogbmV3IExpc3RCaWxsYWJsZUl0ZW1zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RCaWxsYWJsZUl0ZW1zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdEJpbGxhYmxlSXRlbXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGV4cGlyZUJpbGxhYmxlSXRlbShyOiBFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0IHwgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3Q+cikgOiBuZXcgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvRXhwaXJlQmlsbGFibGVJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB1bmV4cGlyZUJpbGxhYmxlSXRlbShyOiBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3QgfCBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VW5leHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVuZXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdD5yKSA6IG5ldyBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1VuZXhwaXJlQmlsbGFibGVJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVCaWxsYWJsZUl0ZW0ocjogRGVsZXRlQmlsbGFibGVJdGVtUmVxdWVzdCB8IERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQmlsbGFibGVJdGVtUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0RlbGV0ZUJpbGxhYmxlSXRlbVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHMocjogTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0IHwgTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0PnIpIDogbmV3IExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RQcm9kdWN0U3VtbWFyaWVzKHI6IExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdCB8IExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByb2R1Y3RTdW1tYXJpZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFByb2R1Y3RTdW1tYXJpZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJvZHVjdFN1bW1hcmllc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0xpc3RQcm9kdWN0U3VtbWFyaWVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRQcm9kdWN0U3VtbWFyaWVzVG90YWwocjogR2V0UHJvZHVjdFN1bW1hcmllc1RvdGFsUmVxdWVzdCB8IEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcm9kdWN0U3VtbWFyaWVzVG90YWxSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3Q+cikgOiBuZXcgR2V0UHJvZHVjdFN1bW1hcmllc1RvdGFsUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdlbmVyYXRlQmlsbGFibGVJdGVtc0NzdihyOiBHZW5lcmF0ZUJpbGxhYmxlSXRlbXNDU1ZSZXF1ZXN0IHwgR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVxdWVzdD5yKSA6IG5ldyBHZW5lcmF0ZUJpbGxhYmxlSXRlbXNDU1ZSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlUHJpY2luZ1BsYW4ocjogQ3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0IHwgQ3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVQcmljaW5nUGxhblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVQcmljaW5nUGxhblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVByaWNpbmdQbGFuUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ3JlYXRlUHJpY2luZ1BsYW5cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVQcmljaW5nUGxhblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVByaWNpbmdQbGFuKHI6IFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdCB8IFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlUHJpY2luZ1BsYW5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlUHJpY2luZ1BsYW5SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVQcmljaW5nUGxhblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVQcmljaW5nUGxhblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1VwZGF0ZVByaWNpbmdQbGFuXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlUHJpY2luZ1BsYW5SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVByaWNpbmdQbGFuKHI6IEdldE11bHRpUHJpY2luZ1BsYW5SZXF1ZXN0IHwgR2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpUHJpY2luZ1BsYW5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvR2V0TXVsdGlQcmljaW5nUGxhblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpUHJpY2luZ1BsYW5SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVQcmljaW5nUGxhblByb2R1Y3QocjogQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCB8IENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdChyOiBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0IHwgVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0KHI6IERlbGV0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QgfCBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9EZWxldGVQcmljaW5nUGxhblByb2R1Y3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RQcmljaW5nUGxhblByb2R1Y3RzKHI6IExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdCB8IExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0xpc3RQcmljaW5nUGxhblByb2R1Y3RzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRQcmljaW5nUGxhblByb2R1Y3QocjogR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCB8IEdldFByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikgOiBuZXcgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldFByaWNpbmdQbGFuUHJvZHVjdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0KHI6IEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCB8IEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVByb2R1Y3RQcmljaW5nKHI6IEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXF1ZXN0IHwgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB0aWNrQ29tcG9uZW50VXNhZ2UocjogVGlja0NvbXBvbmVudFVzYWdlUmVxdWVzdCB8IFRpY2tDb21wb25lbnRVc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VGlja0NvbXBvbmVudFVzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxUaWNrQ29tcG9uZW50VXNhZ2VSZXF1ZXN0PnIpIDogbmV3IFRpY2tDb21wb25lbnRVc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1RpY2tDb21wb25lbnRVc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlTWV0ZXJlZENvbXBvbmVudChyOiBDcmVhdGVNZXRlcmVkQ29tcG9uZW50UmVxdWVzdCB8IENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9DcmVhdGVNZXRlcmVkQ29tcG9uZW50XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVVc2FnZShyOiBDcmVhdGVVc2FnZVJlcXVlc3QgfCBDcmVhdGVVc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlVXNhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVVzYWdlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVVc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NyZWF0ZVVzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0Q29udHJhY3RzKHI6IExpc3RDb250cmFjdHNSZXF1ZXN0IHwgTGlzdENvbnRyYWN0c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb250cmFjdHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdENvbnRyYWN0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdENvbnRyYWN0c1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbnRyYWN0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0Q29udHJhY3RzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdENvbnRyYWN0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RDb250cmFjdHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aUNvbnRyYWN0KHI6IEdldE11bHRpQ29udHJhY3RzUmVxdWVzdCB8IEdldE11bHRpQ29udHJhY3RzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlDb250cmFjdHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQ29udHJhY3RzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUNvbnRyYWN0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldE11bHRpQ29udHJhY3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3kocjogR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlcXVlc3QgfCBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdD5yKSA6IG5ldyBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3lSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9HZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RQcm9kdWN0cyhyOiBMaXN0UHJvZHVjdHNSZXF1ZXN0IHwgTGlzdFByb2R1Y3RzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByb2R1Y3RzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQcm9kdWN0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFByb2R1Y3RzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJvZHVjdHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFByb2R1Y3RzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdFByb2R1Y3RzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByb2R1Y3RzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlQcm9kdWN0KHI6IEdldE11bHRpUHJvZHVjdFJlcXVlc3QgfCBHZXRNdWx0aVByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVByb2R1Y3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcm9kdWN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVByb2R1Y3RSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpUHJvZHVjdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByb2R1Y3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9HZXRNdWx0aVByb2R1Y3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVByb2R1Y3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICByZXNldENvbnRyYWN0UHJpY2luZyhyOiBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3QgfCBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVzZXRDb250cmFjdFByaWNpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJlc2V0Q29udHJhY3RQcmljaW5nUmVxdWVzdD5yKSA6IG5ldyBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1Jlc2V0Q29udHJhY3RQcmljaW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRQdXJjaGFzZUNvc3QocjogR2V0UHVyY2hhc2VDb3N0UmVxdWVzdCB8IEdldFB1cmNoYXNlQ29zdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFB1cmNoYXNlQ29zdFJlcXVlc3Q+cikgOiBuZXcgR2V0UHVyY2hhc2VDb3N0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldFB1cmNoYXNlQ29zdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNoYW5nZUZyZXF1ZW5jeShyOiBDaGFuZ2VGcmVxdWVuY3lSZXF1ZXN0IHwgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDaGFuZ2VGcmVxdWVuY3lSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENoYW5nZUZyZXF1ZW5jeVJlcXVlc3Q+cikgOiBuZXcgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ2hhbmdlRnJlcXVlbmN5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjaGFuZ2VSZW5ld2FsRGF0ZShyOiBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3QgfCBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2hhbmdlUmVuZXdhbERhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENoYW5nZVJlbmV3YWxEYXRlUmVxdWVzdD5yKSA6IG5ldyBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NoYW5nZVJlbmV3YWxEYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjaGFuZ2VDdXN0b21Vbml0UHJpY2UocjogQ2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdCB8IENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDaGFuZ2VDdXN0b21Vbml0UHJpY2VSZXF1ZXN0PnIpIDogbmV3IENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NoYW5nZUN1c3RvbVVuaXRQcmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc3RhcnRSZXZSZWNUZW1wbGF0ZUJhY2tmaWxsKHI6IFN0YXJ0UmV2UmVjVGVtcGxhdGVCYWNrZmlsbFJlcXVlc3QgfCBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFN0YXJ0UmV2UmVjVGVtcGxhdGVCYWNrZmlsbFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U3RhcnRSZXZSZWNUZW1wbGF0ZUJhY2tmaWxsUmVxdWVzdD5yKSA6IG5ldyBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9TdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIFxufVxuIl19
|
|
243
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.HostService }] });
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2JpbGxpbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL2JpbGxpbmcuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MsZUFBZSxFQUNmLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsNEJBQTRCLEVBQzVCLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsaUNBQWlDLEVBQ2pDLGtDQUFrQyxFQUNsQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLHlCQUF5QixHQUNoQyxNQUFNLFlBQVksQ0FBQztBQTBFcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR25DLE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFBb0IsSUFBZ0IsRUFBVSxXQUF3QjtRQUFsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGOUQsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0lBR2hELENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBbUQ7UUFDM0QsTUFBTSxPQUFPLEdBQUcsQ0FBc0IsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBc0IsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxpQ0FBaUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNsSixDQUFDO0lBQ0Qsc0JBQXNCLENBQUMsQ0FBeUU7UUFDNUYsTUFBTSxPQUFPLEdBQUcsQ0FBaUMsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBaUMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTBDLElBQUksQ0FBQyxLQUFLLEdBQUcsNENBQTRDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM1SixJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzlELENBQUM7SUFDVixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsQ0FBaUU7UUFDaEYsTUFBTSxPQUFPLEdBQUcsQ0FBNkIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBNkIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyx3Q0FBd0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUN6SixDQUFDO0lBQ0QsbUJBQW1CLENBQUMsQ0FBbUU7UUFDbkYsTUFBTSxPQUFPLEdBQUcsQ0FBOEIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBOEIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXVDLElBQUksQ0FBQyxLQUFLLEdBQUcseUNBQXlDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN0SixJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDVixDQUFDO0lBQ0QsbUJBQW1CLENBQUMsQ0FBbUU7UUFDbkYsTUFBTSxPQUFPLEdBQUcsQ0FBOEIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBOEIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyx5Q0FBeUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUMxSixDQUFDO0lBQ0QsZUFBZSxDQUFDLENBQTJEO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLENBQTBCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTBCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcscUNBQXFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDdEosQ0FBQztJQUNELFFBQVEsQ0FBQyxDQUE2QztRQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFtQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFtQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyw4QkFBOEIsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUMvSSxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsQ0FBK0Q7UUFDN0UsTUFBTSxPQUFPLEdBQUcsQ0FBNEIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBNEIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXFDLElBQUksQ0FBQyxLQUFLLEdBQUcsdUNBQXVDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNsSixJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDVixDQUFDO0lBQ0QsZUFBZSxDQUFDLENBQTJEO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLENBQTBCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTBCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQyxJQUFJLENBQUMsS0FBSyxHQUFHLHFDQUFxQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDOUksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ1YsQ0FBQztJQUNELHFCQUFxQixDQUFDLENBQXVFO1FBQ3pGLE1BQU0sT0FBTyxHQUFHLENBQWdDLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQWdDLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4SSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF5QyxJQUFJLENBQUMsS0FBSyxHQUFHLDJDQUEyQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDMUosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM3RCxDQUFDO0lBQ1YsQ0FBQztJQUNELGlCQUFpQixDQUFDLENBQStEO1FBQzdFLE1BQU0sT0FBTyxHQUFHLENBQTRCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTRCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxQyxJQUFJLENBQUMsS0FBSyxHQUFHLHVDQUF1QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDbEosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ1YsQ0FBQztJQUNELG1CQUFtQixDQUFDLENBQW1FO1FBQ25GLE1BQU0sT0FBTyxHQUFHLENBQThCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQThCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEwQixJQUFJLENBQUMsS0FBSyxHQUFHLHlDQUF5QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDekksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDOUMsQ0FBQztJQUNWLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxDQUErRDtRQUNuRixNQUFNLE9BQU8sR0FBRyxDQUE0QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE0QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUMsSUFBSSxDQUFDLEtBQUssR0FBRyw2Q0FBNkMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNWLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxDQUErRDtRQUM3RSxNQUFNLE9BQU8sR0FBRyxDQUE0QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE0QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUMsSUFBSSxDQUFDLEtBQUssR0FBRyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2xKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNWLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxDQUFpRTtRQUNoRixNQUFNLE9BQU8sR0FBRyxDQUE2QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE2QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLHdDQUF3QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ3pKLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxDQUFxRTtRQUN0RixNQUFNLE9BQU8sR0FBRyxDQUErQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUErQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLDBDQUEwQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzNKLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxDQUFpRTtRQUNoRixNQUFNLE9BQU8sR0FBRyxDQUE2QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE2QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLHdDQUF3QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ3pKLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxDQUFpRjtRQUN4RyxNQUFNLE9BQU8sR0FBRyxDQUFxQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFxQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBOEMsSUFBSSxDQUFDLEtBQUssR0FBRyxnREFBZ0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3BLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbEUsQ0FBQztJQUNWLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxDQUFxRTtRQUN0RixNQUFNLE9BQU8sR0FBRyxDQUErQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUErQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0MsSUFBSSxDQUFDLEtBQUssR0FBRywwQ0FBMEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDNUQsQ0FBQztJQUNWLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxDQUE2RTtRQUNsRyxNQUFNLE9BQU8sR0FBRyxDQUFtQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFtQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsSUFBSSxDQUFDLEtBQUssR0FBRyw4Q0FBOEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNWLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxDQUE2RTtRQUNsRyxNQUFNLE9BQU8sR0FBRyxDQUFtQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFtQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsSUFBSSxDQUFDLEtBQUssR0FBRyw4Q0FBOEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNWLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxDQUErRDtRQUM3RSxNQUFNLE9BQU8sR0FBRyxDQUE0QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE0QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUMsSUFBSSxDQUFDLEtBQUssR0FBRyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2xKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNWLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxDQUErRDtRQUM3RSxNQUFNLE9BQU8sR0FBRyxDQUE0QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE0QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUMsSUFBSSxDQUFDLEtBQUssR0FBRyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2xKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNWLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxDQUFtRTtRQUNuRixNQUFNLE9BQU8sR0FBRyxDQUE4QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE4QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBdUMsSUFBSSxDQUFDLEtBQUssR0FBRyx5Q0FBeUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3RKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNWLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxDQUE2RTtRQUNsRyxNQUFNLE9BQU8sR0FBRyxDQUFtQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFtQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsSUFBSSxDQUFDLEtBQUssR0FBRyw4Q0FBOEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNWLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxDQUE2RTtRQUNsRyxNQUFNLE9BQU8sR0FBRyxDQUFtQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFtQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsSUFBSSxDQUFDLEtBQUssR0FBRyw4Q0FBOEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNWLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxDQUE2RTtRQUNsRyxNQUFNLE9BQU8sR0FBRyxDQUFtQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFtQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLDhDQUE4QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQy9KLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxDQUEyRTtRQUMvRixNQUFNLE9BQU8sR0FBRyxDQUFrQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFrQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMkMsSUFBSSxDQUFDLEtBQUssR0FBRyw2Q0FBNkMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzlKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNWLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxDQUF1RTtRQUN6RixNQUFNLE9BQU8sR0FBRyxDQUFnQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFnQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBeUMsSUFBSSxDQUFDLEtBQUssR0FBRywyQ0FBMkMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzFKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNWLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxDQUFpRjtRQUN4RyxNQUFNLE9BQU8sR0FBRyxDQUFxQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFxQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBOEMsSUFBSSxDQUFDLEtBQUssR0FBRyxnREFBZ0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3BLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbEUsQ0FBQztJQUNWLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxDQUF5RTtRQUM1RixNQUFNLE9BQU8sR0FBRyxDQUFpQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFpQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEMsSUFBSSxDQUFDLEtBQUssR0FBRyw0Q0FBNEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzVKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDOUQsQ0FBQztJQUNWLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxDQUFpRTtRQUNoRixNQUFNLE9BQU8sR0FBRyxDQUE2QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE2QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLHdDQUF3QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ3pKLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxDQUF5RTtRQUM1RixNQUFNLE9BQU8sR0FBRyxDQUFpQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFpQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLDRDQUE0QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzdKLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBbUQ7UUFDM0QsTUFBTSxPQUFPLEdBQUcsQ0FBc0IsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBc0IsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxpQ0FBaUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNsSixDQUFDO0lBQ0QsYUFBYSxDQUFDLENBQXVEO1FBQ2pFLE1BQU0sT0FBTyxHQUFHLENBQXdCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXdCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFpQyxJQUFJLENBQUMsS0FBSyxHQUFHLG1DQUFtQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDMUksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNyRCxDQUFDO0lBQ1YsQ0FBQztJQUNELGdCQUFnQixDQUFDLENBQStEO1FBQzVFLE1BQU0sT0FBTyxHQUFHLENBQTRCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTRCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxQyxJQUFJLENBQUMsS0FBSyxHQUFHLHNDQUFzQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDakosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ1YsQ0FBQztJQUNELDRCQUE0QixDQUFDLENBQXFGO1FBQzlHLE1BQU0sT0FBTyxHQUFHLENBQXVDLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXVDLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3SixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFnRCxJQUFJLENBQUMsS0FBSyxHQUFHLGtEQUFrRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDeEssSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNwRSxDQUFDO0lBQ1YsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFxRDtRQUM5RCxNQUFNLE9BQU8sR0FBRyxDQUF1QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF1QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0MsSUFBSSxDQUFDLEtBQUssR0FBRyxrQ0FBa0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDcEQsQ0FBQztJQUNWLENBQUM7SUFDRCxlQUFlLENBQUMsQ0FBMkQ7UUFDdkUsTUFBTSxPQUFPLEdBQUcsQ0FBMEIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBMEIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW1DLElBQUksQ0FBQyxLQUFLLEdBQUcscUNBQXFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM5SSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3ZELENBQUM7SUFDVixDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsQ0FBcUU7UUFDdEYsTUFBTSxPQUFPLEdBQUcsQ0FBK0IsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBK0IsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRywwQ0FBMEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUMzSixDQUFDO0lBQ0QsZUFBZSxDQUFDLENBQTJEO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLENBQTBCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTBCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQyxJQUFJLENBQUMsS0FBSyxHQUFHLHFDQUFxQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDOUksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ1YsQ0FBQztJQUNELGVBQWUsQ0FBQyxDQUEyRDtRQUN2RSxNQUFNLE9BQU8sR0FBRyxDQUEwQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUEwQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLHFDQUFxQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ3RKLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxDQUErRDtRQUM3RSxNQUFNLE9BQU8sR0FBRyxDQUE0QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE0QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLHVDQUF1QyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ3hKLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxDQUF1RTtRQUN6RixNQUFNLE9BQU8sR0FBRyxDQUFnQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFnQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLDJDQUEyQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzVKLENBQUM7SUFDRCwyQkFBMkIsQ0FBQyxDQUFtRjtRQUMzRyxNQUFNLE9BQU8sR0FBRyxDQUFzQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFzQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLGlEQUFpRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ2xLLENBQUM7OEdBdFJRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREwsTUFBTTs7MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQmlsbEl0ZW1SZXF1ZXN0LFxuICAgICAgICBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3QsXG4gICAgICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2UsXG4gICAgICAgIENhbkJpbGxJdGVtUmVxdWVzdCxcbiAgICAgICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICAgICAgQ2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdCxcbiAgICAgICAgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdCxcbiAgICAgICAgQ2hhbmdlUmVuZXdhbERhdGVSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVNZXRlcmVkQ29tcG9uZW50UmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZVByaWNpbmdQbGFuUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgICAgIENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlVXNhZ2VSZXF1ZXN0LFxuICAgICAgICBEZWxldGVCaWxsYWJsZUl0ZW1SZXF1ZXN0LFxuICAgICAgICBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0LFxuICAgICAgICBFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0LFxuICAgICAgICBFeHBvcnRSZXNwb25zZSxcbiAgICAgICAgRXhwb3J0U3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlcXVlc3QsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlc3BvbnNlLFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0LFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZSxcbiAgICAgICAgR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlcXVlc3QsXG4gICAgICAgIEdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3lSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5SZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3QsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlLFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0LFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXNwb25zZSxcbiAgICAgICAgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0LFxuICAgICAgICBMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0Q29udHJhY3RzUmVxdWVzdCxcbiAgICAgICAgTGlzdENvbnRyYWN0c1Jlc3BvbnNlLFxuICAgICAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1JlcXVlc3QsXG4gICAgICAgIExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVzcG9uc2UsXG4gICAgICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdCxcbiAgICAgICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZSxcbiAgICAgICAgTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXF1ZXN0LFxuICAgICAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0LFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXNwb25zZSxcbiAgICAgICAgTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0LFxuICAgICAgICBMaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3QsXG4gICAgICAgIFJldmVyc2VTdWJzY3JpcHRpb25SZXF1ZXN0LFxuICAgICAgICBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0LFxuICAgICAgICBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0LFxuICAgICAgICBUaWNrQ29tcG9uZW50VXNhZ2VSZXF1ZXN0LFxuICAgICAgICBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVQcmljaW5nUGxhblJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQmlsbEl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENhbkJpbGxJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hhbmdlUmVuZXdhbERhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZXRlcmVkQ29tcG9uZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVByaWNpbmdQbGFuUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJpY2luZ1BsYW5SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlVXNhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFeHBvcnRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRXhwb3J0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3lSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJpY2luZ1BsYW5SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRQdXJjaGFzZUNvc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q29udHJhY3RzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvZHVjdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFJldmVyc2VTdWJzY3JpcHRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBUaWNrQ29tcG9uZW50VXNhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVQcmljaW5nUGxhblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQmlsbGluZ0FwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNhbkJpbGxJdGVtKHI6IENhbkJpbGxJdGVtUmVxdWVzdCB8IENhbkJpbGxJdGVtUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDYW5CaWxsSXRlbVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2FuQmlsbEl0ZW1SZXF1ZXN0PnIpIDogbmV3IENhbkJpbGxJdGVtUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ2FuQmlsbEl0ZW1cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNhbkNyZWF0ZVN1YnNjcmlwdGlvbnMocjogQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QgfCBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdD5yKSA6IG5ldyBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9DYW5DcmVhdGVTdWJzY3JpcHRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZVN1YnNjcmlwdGlvbihyOiBDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IHwgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ3JlYXRlU3Vic2NyaXB0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVTdWJzY3JpcHRpb25zKHI6IENyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IHwgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVTdWJzY3JpcHRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ3JlYXRlU3Vic2NyaXB0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICByZXZlcnNlU3Vic2NyaXB0aW9uKHI6IFJldmVyc2VTdWJzY3JpcHRpb25SZXF1ZXN0IHwgUmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3Q+cikgOiBuZXcgUmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1JldmVyc2VTdWJzY3JpcHRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHNldFJlbmV3YWxTdGFydChyOiBTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0IHwgU2V0UmVuZXdhbFN0YXJ0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRSZW5ld2FsU3RhcnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldFJlbmV3YWxTdGFydFJlcXVlc3Q+cikgOiBuZXcgU2V0UmVuZXdhbFN0YXJ0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvU2V0UmVuZXdhbFN0YXJ0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBiaWxsSXRlbShyOiBCaWxsSXRlbVJlcXVlc3QgfCBCaWxsSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8QmlsbEl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEJpbGxJdGVtUmVxdWVzdD5yKSA6IG5ldyBCaWxsSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0JpbGxJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBiaWxsTXVsdGlwbGVJdGVtcyhyOiBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3QgfCBCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEJpbGxNdWx0aXBsZUl0ZW1zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxCaWxsTXVsdGlwbGVJdGVtc1JlcXVlc3Q+cikgOiBuZXcgQmlsbE11bHRpcGxlSXRlbXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QmlsbE11bHRpcGxlSXRlbXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9CaWxsTXVsdGlwbGVJdGVtc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEJpbGxNdWx0aXBsZUl0ZW1zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0QmlsbGFibGVJdGVtKHI6IEdldEJpbGxhYmxlSXRlbVJlcXVlc3QgfCBHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0QmlsbGFibGVJdGVtUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpIDogbmV3IEdldEJpbGxhYmxlSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9HZXRCaWxsYWJsZUl0ZW1cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRCaWxsYWJsZUl0ZW1SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVN1YnNjcmlwdGlvbnMocjogR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdCB8IEdldE11bHRpU3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpU3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldE11bHRpU3Vic2NyaXB0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpU3Vic2NyaXB0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RTdWJzY3JpcHRpb25zKHI6IExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdCB8IExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdD5yKSA6IG5ldyBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0xpc3RTdWJzY3JpcHRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBleHBvcnRTdWJzY3JpcHRpb25zKHI6IEV4cG9ydFN1YnNjcmlwdGlvbnNSZXF1ZXN0IHwgRXhwb3J0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEV4cG9ydFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdD5yKSA6IG5ldyBFeHBvcnRTdWJzY3JpcHRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEV4cG9ydFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0V4cG9ydFN1YnNjcmlwdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBFeHBvcnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0UmV0YWlsU3Vic2NyaXB0aW9ucyhyOiBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3QgfCBMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9MaXN0UmV0YWlsU3Vic2NyaXB0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdEJpbGxhYmxlSXRlbXMocjogTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0IHwgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QmlsbGFibGVJdGVtc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0PnIpIDogbmV3IExpc3RCaWxsYWJsZUl0ZW1zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RCaWxsYWJsZUl0ZW1zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdEJpbGxhYmxlSXRlbXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0QmlsbGFibGVJdGVtc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGV4cGlyZUJpbGxhYmxlSXRlbShyOiBFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0IHwgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFeHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3Q+cikgOiBuZXcgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvRXhwaXJlQmlsbGFibGVJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB1bmV4cGlyZUJpbGxhYmxlSXRlbShyOiBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3QgfCBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VW5leHBpcmVCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVuZXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdD5yKSA6IG5ldyBVbmV4cGlyZUJpbGxhYmxlSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1VuZXhwaXJlQmlsbGFibGVJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVCaWxsYWJsZUl0ZW0ocjogRGVsZXRlQmlsbGFibGVJdGVtUmVxdWVzdCB8IERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQmlsbGFibGVJdGVtUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVCaWxsYWJsZUl0ZW1SZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0RlbGV0ZUJpbGxhYmxlSXRlbVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHMocjogTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0IHwgTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0PnIpIDogbmV3IExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RQcm9kdWN0U3VtbWFyaWVzKHI6IExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdCB8IExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByb2R1Y3RTdW1tYXJpZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFByb2R1Y3RTdW1tYXJpZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJvZHVjdFN1bW1hcmllc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0xpc3RQcm9kdWN0U3VtbWFyaWVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByb2R1Y3RTdW1tYXJpZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRQcm9kdWN0U3VtbWFyaWVzVG90YWwocjogR2V0UHJvZHVjdFN1bW1hcmllc1RvdGFsUmVxdWVzdCB8IEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcm9kdWN0U3VtbWFyaWVzVG90YWxSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlcXVlc3Q+cikgOiBuZXcgR2V0UHJvZHVjdFN1bW1hcmllc1RvdGFsUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdlbmVyYXRlQmlsbGFibGVJdGVtc0NzdihyOiBHZW5lcmF0ZUJpbGxhYmxlSXRlbXNDU1ZSZXF1ZXN0IHwgR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVxdWVzdD5yKSA6IG5ldyBHZW5lcmF0ZUJpbGxhYmxlSXRlbXNDU1ZSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2VuZXJhdGVCaWxsYWJsZUl0ZW1zQ1NWUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlUHJpY2luZ1BsYW4ocjogQ3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0IHwgQ3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVQcmljaW5nUGxhblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVQcmljaW5nUGxhblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVByaWNpbmdQbGFuUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ3JlYXRlUHJpY2luZ1BsYW5cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVQcmljaW5nUGxhblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVByaWNpbmdQbGFuKHI6IFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdCB8IFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlUHJpY2luZ1BsYW5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlUHJpY2luZ1BsYW5SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVQcmljaW5nUGxhblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVQcmljaW5nUGxhblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1VwZGF0ZVByaWNpbmdQbGFuXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlUHJpY2luZ1BsYW5SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVByaWNpbmdQbGFuKHI6IEdldE11bHRpUHJpY2luZ1BsYW5SZXF1ZXN0IHwgR2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpUHJpY2luZ1BsYW5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByaWNpbmdQbGFuUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvR2V0TXVsdGlQcmljaW5nUGxhblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpUHJpY2luZ1BsYW5SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVQcmljaW5nUGxhblByb2R1Y3QocjogQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCB8IENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdChyOiBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0IHwgVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0KHI6IERlbGV0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QgfCBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9EZWxldGVQcmljaW5nUGxhblByb2R1Y3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RQcmljaW5nUGxhblByb2R1Y3RzKHI6IExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdCB8IExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0xpc3RQcmljaW5nUGxhblByb2R1Y3RzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRQcmljaW5nUGxhblByb2R1Y3QocjogR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCB8IEdldFByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Q+cikgOiBuZXcgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldFByaWNpbmdQbGFuUHJvZHVjdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0KHI6IEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCB8IEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVByb2R1Y3RQcmljaW5nKHI6IEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXF1ZXN0IHwgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpUHJvZHVjdFByaWNpbmdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB0aWNrQ29tcG9uZW50VXNhZ2UocjogVGlja0NvbXBvbmVudFVzYWdlUmVxdWVzdCB8IFRpY2tDb21wb25lbnRVc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VGlja0NvbXBvbmVudFVzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxUaWNrQ29tcG9uZW50VXNhZ2VSZXF1ZXN0PnIpIDogbmV3IFRpY2tDb21wb25lbnRVc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1RpY2tDb21wb25lbnRVc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlTWV0ZXJlZENvbXBvbmVudChyOiBDcmVhdGVNZXRlcmVkQ29tcG9uZW50UmVxdWVzdCB8IENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9DcmVhdGVNZXRlcmVkQ29tcG9uZW50XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVVc2FnZShyOiBDcmVhdGVVc2FnZVJlcXVlc3QgfCBDcmVhdGVVc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlVXNhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVVzYWdlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVVc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NyZWF0ZVVzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0Q29udHJhY3RzKHI6IExpc3RDb250cmFjdHNSZXF1ZXN0IHwgTGlzdENvbnRyYWN0c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb250cmFjdHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdENvbnRyYWN0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdENvbnRyYWN0c1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbnRyYWN0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0Q29udHJhY3RzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdENvbnRyYWN0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RDb250cmFjdHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aUNvbnRyYWN0KHI6IEdldE11bHRpQ29udHJhY3RzUmVxdWVzdCB8IEdldE11bHRpQ29udHJhY3RzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlDb250cmFjdHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDb250cmFjdHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQ29udHJhY3RzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUNvbnRyYWN0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldE11bHRpQ29udHJhY3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNvbnRyYWN0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3kocjogR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlcXVlc3QgfCBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdD5yKSA6IG5ldyBHZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE1lcmNoYW50V2hvbGVzYWxlQ3VycmVuY3lSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9HZXRNZXJjaGFudFdob2xlc2FsZUN1cnJlbmN5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TWVyY2hhbnRXaG9sZXNhbGVDdXJyZW5jeVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RQcm9kdWN0cyhyOiBMaXN0UHJvZHVjdHNSZXF1ZXN0IHwgTGlzdFByb2R1Y3RzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByb2R1Y3RzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQcm9kdWN0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFByb2R1Y3RzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJvZHVjdHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFByb2R1Y3RzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvTGlzdFByb2R1Y3RzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByb2R1Y3RzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlQcm9kdWN0KHI6IEdldE11bHRpUHJvZHVjdFJlcXVlc3QgfCBHZXRNdWx0aVByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVByb2R1Y3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcm9kdWN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVByb2R1Y3RSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpUHJvZHVjdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByb2R1Y3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9HZXRNdWx0aVByb2R1Y3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVByb2R1Y3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICByZXNldENvbnRyYWN0UHJpY2luZyhyOiBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3QgfCBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVzZXRDb250cmFjdFByaWNpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJlc2V0Q29udHJhY3RQcmljaW5nUmVxdWVzdD5yKSA6IG5ldyBSZXNldENvbnRyYWN0UHJpY2luZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL1Jlc2V0Q29udHJhY3RQcmljaW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRQdXJjaGFzZUNvc3QocjogR2V0UHVyY2hhc2VDb3N0UmVxdWVzdCB8IEdldFB1cmNoYXNlQ29zdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFB1cmNoYXNlQ29zdFJlcXVlc3Q+cikgOiBuZXcgR2V0UHVyY2hhc2VDb3N0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0dldFB1cmNoYXNlQ29zdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNoYW5nZUZyZXF1ZW5jeShyOiBDaGFuZ2VGcmVxdWVuY3lSZXF1ZXN0IHwgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDaGFuZ2VGcmVxdWVuY3lSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENoYW5nZUZyZXF1ZW5jeVJlcXVlc3Q+cikgOiBuZXcgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkJpbGxpbmcvQ2hhbmdlRnJlcXVlbmN5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjaGFuZ2VSZW5ld2FsRGF0ZShyOiBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3QgfCBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2hhbmdlUmVuZXdhbERhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENoYW5nZVJlbmV3YWxEYXRlUmVxdWVzdD5yKSA6IG5ldyBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NoYW5nZVJlbmV3YWxEYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjaGFuZ2VDdXN0b21Vbml0UHJpY2UocjogQ2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdCB8IENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDaGFuZ2VDdXN0b21Vbml0UHJpY2VSZXF1ZXN0PnIpIDogbmV3IENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CaWxsaW5nL0NoYW5nZUN1c3RvbVVuaXRQcmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc3RhcnRSZXZSZWNUZW1wbGF0ZUJhY2tmaWxsKHI6IFN0YXJ0UmV2UmVjVGVtcGxhdGVCYWNrZmlsbFJlcXVlc3QgfCBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFN0YXJ0UmV2UmVjVGVtcGxhdGVCYWNrZmlsbFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U3RhcnRSZXZSZWNUZW1wbGF0ZUJhY2tmaWxsUmVxdWVzdD5yKSA6IG5ldyBTdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQmlsbGluZy9TdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGxcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIFxufVxuIl19
|
|
@@ -40,11 +40,11 @@ export class BundleApiService {
|
|
|
40
40
|
return this.http.post(this._host + "/billing.v1.BundleService/List", request.toApiJson(), this.apiOptions())
|
|
41
41
|
.pipe(map(resp => ListBundlesResponse.fromProto(resp)));
|
|
42
42
|
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BundleApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BundleApiService, providedIn: 'root' }); }
|
|
43
45
|
}
|
|
44
|
-
|
|
45
|
-
BundleApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BundleApiService, providedIn: 'root' });
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BundleApiService, decorators: [{
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: BundleApiService, decorators: [{
|
|
47
47
|
type: Injectable,
|
|
48
48
|
args: [{ providedIn: 'root' }]
|
|
49
|
-
}], ctorParameters:
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.HostService }] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9faW50ZXJuYWwvYnVuZGxlLmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNDLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixtQkFBbUIsR0FDMUIsTUFBTSxZQUFZLENBQUM7QUFRcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR25DLE1BQU0sT0FBTyxnQkFBZ0I7SUFHekIsWUFBb0IsSUFBZ0IsRUFBVSxXQUF3QjtRQUFsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGOUQsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0lBR2hELENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBcUQ7UUFDeEQsTUFBTSxPQUFPLEdBQUcsQ0FBdUIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBdUIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxrQ0FBa0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNuSixDQUFDO0lBQ0QsUUFBUSxDQUFDLENBQXlEO1FBQzlELE1BQU0sT0FBTyxHQUFHLENBQXlCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXlCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFrQyxJQUFJLENBQUMsS0FBSyxHQUFHLG9DQUFvQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDNUksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ1YsQ0FBQztJQUNELElBQUksQ0FBQyxDQUFtRDtRQUNwRCxNQUFNLE9BQU8sR0FBRyxDQUFzQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFzQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBK0IsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBZ0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3JJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbkQsQ0FBQztJQUNWLENBQUM7OEdBaENRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREosTUFBTTs7MkZBQ2xCLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgR2V0TXVsdGlCdW5kbGVSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUJ1bmRsZVJlc3BvbnNlLFxuICAgICAgICBMaXN0QnVuZGxlc1JlcXVlc3QsXG4gICAgICAgIExpc3RCdW5kbGVzUmVzcG9uc2UsXG4gICAgICAgIFVwc2VydEJ1bmRsZVJlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgR2V0TXVsdGlCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUJ1bmRsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0QnVuZGxlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCdW5kbGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwc2VydEJ1bmRsZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQnVuZGxlQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgaG9zdFNlcnZpY2U6IEhvc3RTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgdXBzZXJ0KHI6IFVwc2VydEJ1bmRsZVJlcXVlc3QgfCBVcHNlcnRCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwc2VydEJ1bmRsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBzZXJ0QnVuZGxlUmVxdWVzdD5yKSA6IG5ldyBVcHNlcnRCdW5kbGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQnVuZGxlU2VydmljZS9VcHNlcnRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldE11bHRpKHI6IEdldE11bHRpQnVuZGxlUmVxdWVzdCB8IEdldE11bHRpQnVuZGxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlCdW5kbGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlCdW5kbGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQnVuZGxlUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUJ1bmRsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUJ1bmRsZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CdW5kbGVTZXJ2aWNlL0dldE11bHRpXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlCdW5kbGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0KHI6IExpc3RCdW5kbGVzUmVxdWVzdCB8IExpc3RCdW5kbGVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEJ1bmRsZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdEJ1bmRsZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RCdW5kbGVzUmVxdWVzdD5yKSA6IG5ldyBMaXN0QnVuZGxlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0QnVuZGxlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5CdW5kbGVTZXJ2aWNlL0xpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0QnVuZGxlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
|
|
@@ -35,11 +35,11 @@ export class ContractDocumentApiService {
|
|
|
35
35
|
const request = (r.toApiJson) ? r : new DeleteContractDocumentRequest(r);
|
|
36
36
|
return this.http.post(this._host + "/billing.v1.ContractDocumentService/Delete", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
|
|
37
37
|
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ContractDocumentApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ContractDocumentApiService, providedIn: 'root' }); }
|
|
38
40
|
}
|
|
39
|
-
|
|
40
|
-
ContractDocumentApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ContractDocumentApiService, providedIn: 'root' });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ContractDocumentApiService, decorators: [{
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ContractDocumentApiService, decorators: [{
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{ providedIn: 'root' }]
|
|
44
|
-
}], ctorParameters:
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.HostService }] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QtZG9jdW1lbnQuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb250cmFjdC1kb2N1bWVudC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyw2QkFBNkIsRUFDN0IsNEJBQTRCLEVBQzVCLDZCQUE2QixHQUNwQyxNQUFNLFlBQVksQ0FBQztBQU1wQixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHbkMsTUFBTSxPQUFPLDBCQUEwQjtJQUduQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCO1FBQWxELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUY5RCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFHaEQsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksQ0FBQyxDQUF1RTtRQUN4RSxNQUFNLE9BQU8sR0FBRyxDQUFnQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFnQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBeUMsSUFBSSxDQUFDLEtBQUssR0FBRywwQ0FBMEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3pKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNWLENBQUM7SUFDRCxNQUFNLENBQUMsQ0FBeUU7UUFDNUUsTUFBTSxPQUFPLEdBQUcsQ0FBaUMsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBaUMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyw0Q0FBNEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUM3SixDQUFDOzhHQXpCUSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQURkLE1BQU07OzJGQUNsQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIERlbGV0ZUNvbnRyYWN0RG9jdW1lbnRSZXF1ZXN0LFxuICAgICAgICBMaXN0Q29udHJhY3REb2N1bWVudHNSZXF1ZXN0LFxuICAgICAgICBMaXN0Q29udHJhY3REb2N1bWVudHNSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBEZWxldGVDb250cmFjdERvY3VtZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29udHJhY3REb2N1bWVudEFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGxpc3QocjogTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVxdWVzdCB8IExpc3RDb250cmFjdERvY3VtZW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb250cmFjdERvY3VtZW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0Q29udHJhY3REb2N1bWVudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RDb250cmFjdERvY3VtZW50c1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RDb250cmFjdERvY3VtZW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5Db250cmFjdERvY3VtZW50U2VydmljZS9MaXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlKHI6IERlbGV0ZUNvbnRyYWN0RG9jdW1lbnRSZXF1ZXN0IHwgRGVsZXRlQ29udHJhY3REb2N1bWVudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQ29udHJhY3REb2N1bWVudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlQ29udHJhY3REb2N1bWVudFJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlQ29udHJhY3REb2N1bWVudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5Db250cmFjdERvY3VtZW50U2VydmljZS9EZWxldGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIFxufVxuIl19
|
|
@@ -45,11 +45,11 @@ export class ContractApiService {
|
|
|
45
45
|
return this.http.post(this._host + "/billing.v1.ContractService/Update", request.toApiJson(), this.apiOptions())
|
|
46
46
|
.pipe(map(resp => UpdateContractResponse.fromProto(resp)));
|
|
47
47
|
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ContractApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ContractApiService, providedIn: 'root' }); }
|
|
48
50
|
}
|
|
49
|
-
|
|
50
|
-
ContractApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ContractApiService, providedIn: 'root' });
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ContractApiService, decorators: [{
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ContractApiService, decorators: [{
|
|
52
52
|
type: Injectable,
|
|
53
53
|
args: [{ providedIn: 'root' }]
|
|
54
|
-
}], ctorParameters:
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.HostService }] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb250cmFjdC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixpQ0FBaUMsR0FDeEMsTUFBTSxZQUFZLENBQUM7QUFVcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR25DLE1BQU0sT0FBTyxrQkFBa0I7SUFHM0IsWUFBb0IsSUFBZ0IsRUFBVSxXQUF3QjtRQUFsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGOUQsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0lBR2hELENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7SUFFRCxHQUFHLENBQUMsQ0FBbUQ7UUFDbkQsTUFBTSxPQUFPLEdBQUcsQ0FBc0IsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBc0IsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQStCLElBQUksQ0FBQyxLQUFLLEdBQUcsaUNBQWlDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN0SSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ25ELENBQUM7SUFDVixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsQ0FBaUY7UUFDaEcsTUFBTSxPQUFPLEdBQUcsQ0FBcUMsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBcUMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxnREFBZ0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNqSyxDQUFDO0lBQ0QsTUFBTSxDQUFDLENBQXlEO1FBQzVELE1BQU0sT0FBTyxHQUFHLENBQXlCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXlCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFrQyxJQUFJLENBQUMsS0FBSyxHQUFHLG9DQUFvQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDNUksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ1YsQ0FBQztJQUNELE1BQU0sQ0FBQyxDQUF5RDtRQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUF5QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF5QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBa0MsSUFBSSxDQUFDLEtBQUssR0FBRyxvQ0FBb0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzVJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdEQsQ0FBQztJQUNWLENBQUM7OEdBdkNRLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRE4sTUFBTTs7MkZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlQ29udHJhY3RSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVDb250cmFjdFJlc3BvbnNlLFxuICAgICAgICBHZXRDb250cmFjdFJlcXVlc3QsXG4gICAgICAgIEdldENvbnRyYWN0UmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZUNvbnRyYWN0UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlQ29udHJhY3RSZXNwb25zZSxcbiAgICAgICAgVXBkYXRlQ29udHJhY3RTdWJzY3JpcHRpb25SZXF1ZXN0LFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIENyZWF0ZUNvbnRyYWN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ29udHJhY3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udHJhY3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRDb250cmFjdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUNvbnRyYWN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUNvbnRyYWN0U3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb250cmFjdEFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldChyOiBHZXRDb250cmFjdFJlcXVlc3QgfCBHZXRDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENvbnRyYWN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldENvbnRyYWN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRDb250cmFjdFJlcXVlc3Q+cikgOiBuZXcgR2V0Q29udHJhY3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0Q29udHJhY3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ29udHJhY3RTZXJ2aWNlL0dldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldENvbnRyYWN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlU3Vic2NyaXB0aW9uKHI6IFVwZGF0ZUNvbnRyYWN0U3Vic2NyaXB0aW9uUmVxdWVzdCB8IFVwZGF0ZUNvbnRyYWN0U3Vic2NyaXB0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVDb250cmFjdFN1YnNjcmlwdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlQ29udHJhY3RTdWJzY3JpcHRpb25SZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUNvbnRyYWN0U3Vic2NyaXB0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkNvbnRyYWN0U2VydmljZS9VcGRhdGVTdWJzY3JpcHRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZShyOiBDcmVhdGVDb250cmFjdFJlcXVlc3QgfCBDcmVhdGVDb250cmFjdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUNvbnRyYWN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUNvbnRyYWN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVDb250cmFjdFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlQ29udHJhY3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQ29udHJhY3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuQ29udHJhY3RTZXJ2aWNlL0NyZWF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZUNvbnRyYWN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlKHI6IFVwZGF0ZUNvbnRyYWN0UmVxdWVzdCB8IFVwZGF0ZUNvbnRyYWN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlQ29udHJhY3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQ29udHJhY3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUNvbnRyYWN0UmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVDb250cmFjdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVDb250cmFjdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5Db250cmFjdFNlcnZpY2UvVXBkYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlQ29udHJhY3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
|
|
@@ -35,11 +35,11 @@ export class CreditApiService {
|
|
|
35
35
|
return this.http.post(this._host + "/billing.v1.CreditService/GetBalance", request.toApiJson(), this.apiOptions())
|
|
36
36
|
.pipe(map(resp => GetBalanceResponse.fromProto(resp)));
|
|
37
37
|
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: CreditApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: CreditApiService, providedIn: 'root' }); }
|
|
38
40
|
}
|
|
39
|
-
|
|
40
|
-
CreditApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: CreditApiService, providedIn: 'root' });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: CreditApiService, decorators: [{
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: CreditApiService, decorators: [{
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{ providedIn: 'root' }]
|
|
44
|
-
}], ctorParameters:
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.HostService }] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9faW50ZXJuYWwvY3JlZGl0LmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNDLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsa0JBQWtCLEdBQ3pCLE1BQU0sWUFBWSxDQUFDO0FBTXBCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUduQyxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0I7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRjlELFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztJQUdoRCxDQUFDO0lBRU8sVUFBVTtRQUNkLE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7YUFDckMsQ0FBQztZQUNGLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7SUFDTixDQUFDO0lBRUQsR0FBRyxDQUFDLENBQStDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLENBQW9CLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQW9CLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsK0JBQStCLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDaEosQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUFpRDtRQUN4RCxNQUFNLE9BQU8sR0FBRyxDQUFxQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFxQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBOEIsSUFBSSxDQUFDLEtBQUssR0FBRyxzQ0FBc0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzFJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbEQsQ0FBQztJQUNWLENBQUM7OEdBekJRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREosTUFBTTs7MkZBQ2xCLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQWRkQ3JlZGl0UmVxdWVzdCxcbiAgICAgICAgR2V0QmFsYW5jZVJlcXVlc3QsXG4gICAgICAgIEdldEJhbGFuY2VSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBBZGRDcmVkaXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRCYWxhbmNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0QmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENyZWRpdEFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGFkZChyOiBBZGRDcmVkaXRSZXF1ZXN0IHwgQWRkQ3JlZGl0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBZGRDcmVkaXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFkZENyZWRpdFJlcXVlc3Q+cikgOiBuZXcgQWRkQ3JlZGl0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkNyZWRpdFNlcnZpY2UvQWRkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRCYWxhbmNlKHI6IEdldEJhbGFuY2VSZXF1ZXN0IHwgR2V0QmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEJhbGFuY2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0QmFsYW5jZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0QmFsYW5jZVJlcXVlc3Q+cikgOiBuZXcgR2V0QmFsYW5jZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRCYWxhbmNlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkNyZWRpdFNlcnZpY2UvR2V0QmFsYW5jZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEJhbGFuY2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
|