@vendasta/marketplace-apps 3.16.0 → 4.2.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/lib/_internal/app-pricing.api.service.mjs +3 -2
- package/esm2020/lib/_internal/category.api.service.mjs +3 -2
- package/esm2020/lib/_internal/interfaces/fields.interface.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2020/lib/_internal/marketplace-app-data.api.service.mjs +3 -2
- package/esm2020/lib/_internal/objects/fields.mjs +47 -10
- package/esm2020/lib/_internal/objects/index.mjs +2 -2
- package/esm2020/lib/_internal/partner.api.service.mjs +3 -2
- package/esm2020/lib/_internal/product-auxiliary-field-data.api.service.mjs +3 -2
- package/esm2020/lib/_internal/product-auxiliary-field-schema.api.service.mjs +9 -3
- package/esm2020/lib/index.mjs +1 -5
- package/esm2020/public_api.mjs +1 -1
- package/esm2020/v1/_generated/host.service.mjs +15 -54
- package/esm2020/v1/_generated/index.mjs +2 -0
- package/esm2020/v1/_internal/editions.api.service.mjs +30 -28
- package/esm2020/v1/_internal/marketplace-apps.api.service.mjs +78 -76
- package/esm2020/v1/_internal/vendor.api.service.mjs +24 -22
- package/esm2020/v1/index.mjs +2 -7
- package/fesm2015/vendasta-marketplace-apps-v1.mjs +149 -644
- package/fesm2015/vendasta-marketplace-apps-v1.mjs.map +1 -1
- package/fesm2015/vendasta-marketplace-apps.mjs +52 -166
- package/fesm2015/vendasta-marketplace-apps.mjs.map +1 -1
- package/fesm2020/vendasta-marketplace-apps-v1.mjs +148 -644
- package/fesm2020/vendasta-marketplace-apps-v1.mjs.map +1 -1
- package/fesm2020/vendasta-marketplace-apps.mjs +52 -166
- package/fesm2020/vendasta-marketplace-apps.mjs.map +1 -1
- package/lib/_internal/interfaces/fields.interface.d.ts +6 -3
- package/lib/_internal/interfaces/index.d.ts +1 -1
- package/lib/_internal/objects/fields.d.ts +12 -3
- package/lib/_internal/objects/index.d.ts +1 -1
- package/lib/_internal/product-auxiliary-field-schema.api.service.d.ts +3 -2
- package/lib/index.d.ts +0 -4
- package/package.json +1 -1
- package/v1/_generated/host.service.d.ts +2 -9
- package/v1/_generated/index.d.ts +1 -0
- package/v1/_internal/editions.api.service.d.ts +3 -2
- package/v1/_internal/marketplace-apps.api.service.d.ts +3 -2
- package/v1/_internal/vendor.api.service.d.ts +3 -2
- package/v1/index.d.ts +1 -6
- package/esm2020/lib/app-data.service.mjs +0 -34
- package/esm2020/lib/app-partner.service.mjs +0 -109
- package/esm2020/lib/app-pricing.service.mjs +0 -28
- package/esm2020/v1/addon.model.mjs +0 -83
- package/esm2020/v1/editions.service.mjs +0 -100
- package/esm2020/v1/file.model.mjs +0 -21
- package/esm2020/v1/marketplace-app.service.mjs +0 -161
- package/esm2020/v1/vendor.service.mjs +0 -118
- package/lib/app-data.service.d.ts +0 -12
- package/lib/app-partner.service.d.ts +0 -20
- package/lib/app-pricing.service.d.ts +0 -11
- package/v1/addon.model.d.ts +0 -13
- package/v1/editions.service.d.ts +0 -39
- package/v1/file.model.d.ts +0 -6
- package/v1/marketplace-app.service.d.ts +0 -54
- package/v1/vendor.service.d.ts +0 -23
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
// *********************************
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
8
|
import { GetMultiPricingRequest, GetMultiPricingResponse, } from './objects/';
|
|
9
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
9
|
+
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
|
+
import { HostService } from '../_generated/host.service';
|
|
10
11
|
import { map } from 'rxjs/operators';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@angular/common/http";
|
|
@@ -37,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
37
38
|
type: Injectable,
|
|
38
39
|
args: [{ providedIn: 'root' }]
|
|
39
40
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXByaWNpbmcuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tYXJrZXRwbGFjZV9hcHBzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9hcHAtcHJpY2luZy5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzlCLE1BQU0sWUFBWSxDQUFDO0FBS3BCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUduQyxNQUFNLE9BQU8sb0JBQW9CO0lBRzdCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0I7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRjlELFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztJQUdoRCxDQUFDO0lBRU8sVUFBVTtRQUNkLE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7YUFDckMsQ0FBQztZQUNGLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUFDLENBQTJEO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLENBQTBCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTBCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdEQUFnRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDekosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ1YsQ0FBQzs7aUhBckJRLG9CQUFvQjtxSEFBcEIsb0JBQW9CLGNBRFIsTUFBTTsyRkFDbEIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBHZXRNdWx0aVByaWNpbmdSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBHZXRNdWx0aVByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVByaWNpbmdSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBBcHBQcmljaW5nQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgaG9zdFNlcnZpY2U6IEhvc3RTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0TXVsdGlQcmljaW5nKHI6IEdldE11bHRpUHJpY2luZ1JlcXVlc3QgfCBHZXRNdWx0aVByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVByaWNpbmdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQcmljaW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVByaWNpbmdSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpUHJpY2luZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVByaWNpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21hcmtldHBsYWNlYXBwcy52Mi5BcHBQcmljaW5nL0dldE11bHRpUHJpY2luZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpUHJpY2luZ1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
// *********************************
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
8
|
import { DeleteCategoryRequest, GetCategoriesRequest, GetCategoriesResponse, UpsertRequest, UpsertResponse, } from './objects/';
|
|
9
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
9
|
+
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
|
+
import { HostService } from '../_generated/host.service';
|
|
10
11
|
import { map } from 'rxjs/operators';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@angular/common/http";
|
|
@@ -46,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
46
47
|
type: Injectable,
|
|
47
48
|
args: [{ providedIn: 'root' }]
|
|
48
49
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tYXJrZXRwbGFjZV9hcHBzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jYXRlZ29yeS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsY0FBYyxHQUNyQixNQUFNLFlBQVksQ0FBQztBQVFwQixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHbkMsTUFBTSxPQUFPLGtCQUFrQjtJQUczQixZQUFvQixJQUFnQixFQUFVLFdBQXdCO1FBQWxELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUY5RCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFHaEQsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUF5QztRQUM1QyxNQUFNLE9BQU8sR0FBRyxDQUFpQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFpQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTBCLElBQUksQ0FBQyxLQUFLLEdBQUcscUNBQXFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNySSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM5QyxDQUFDO0lBQ1YsQ0FBQztJQUNELGFBQWEsQ0FBQyxDQUF1RDtRQUNqRSxNQUFNLE9BQU8sR0FBRyxDQUF3QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF3QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUMsSUFBSSxDQUFDLEtBQUssR0FBRyw0Q0FBNEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25KLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDckQsQ0FBQztJQUNWLENBQUM7SUFDRCxjQUFjLENBQUMsQ0FBeUQ7UUFDcEUsTUFBTSxPQUFPLEdBQUcsQ0FBeUIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBeUIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyw2Q0FBNkMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUM5SixDQUFDOzsrR0FoQ1Esa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETixNQUFNOzJGQUNsQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIERlbGV0ZUNhdGVnb3J5UmVxdWVzdCxcbiAgICAgICAgR2V0Q2F0ZWdvcmllc1JlcXVlc3QsXG4gICAgICAgIEdldENhdGVnb3JpZXNSZXNwb25zZSxcbiAgICAgICAgVXBzZXJ0UmVxdWVzdCxcbiAgICAgICAgVXBzZXJ0UmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgRGVsZXRlQ2F0ZWdvcnlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRDYXRlZ29yaWVzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0Q2F0ZWdvcmllc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcHNlcnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcHNlcnRSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHVwc2VydChyOiBVcHNlcnRSZXF1ZXN0IHwgVXBzZXJ0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBzZXJ0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwc2VydFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBzZXJ0UmVxdWVzdD5yKSA6IG5ldyBVcHNlcnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBzZXJ0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tYXJrZXRwbGFjZWFwcHMudjIuQ2F0ZWdvcnkvVXBzZXJ0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBzZXJ0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0Q2F0ZWdvcmllcyhyOiBHZXRDYXRlZ29yaWVzUmVxdWVzdCB8IEdldENhdGVnb3JpZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRDYXRlZ29yaWVzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldENhdGVnb3JpZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldENhdGVnb3JpZXNSZXF1ZXN0PnIpIDogbmV3IEdldENhdGVnb3JpZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0Q2F0ZWdvcmllc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWFya2V0cGxhY2VhcHBzLnYyLkNhdGVnb3J5L0dldENhdGVnb3JpZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRDYXRlZ29yaWVzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlQ2F0ZWdvcnkocjogRGVsZXRlQ2F0ZWdvcnlSZXF1ZXN0IHwgRGVsZXRlQ2F0ZWdvcnlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZUNhdGVnb3J5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVDYXRlZ29yeVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlQ2F0ZWdvcnlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21hcmtldHBsYWNlYXBwcy52Mi5DYXRlZ29yeS9EZWxldGVDYXRlZ29yeVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21hcmtldHBsYWNlX2FwcHNfc2RrL3NyYy9saWIvX2ludGVybmFsL2ludGVyZmFjZXMvZmllbGRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBJbnRlcmZhY2VzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0ZpZWxkTWFza0ludGVyZmFjZX0gZnJvbSAnLi9maWVsZC1tYXNrLmludGVyZmFjZSc7XG5pbXBvcnQge1BhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZX0gZnJvbSAnLi9wYWdpbmcuaW50ZXJmYWNlJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBpZGVudGlmaWVyPzogRmllbGRTY2hlbWFJZGVudGlmaWVySW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYUludGVyZmFjZSB7XG4gICAgcGFydG5lcklkPzogc3RyaW5nO1xuICAgIGZpZWxkSWQ/OiBzdHJpbmc7XG4gICAgZmllbGRUeXBlPzogZS5BdXhpbGlhcnlEYXRhRmllbGRUeXBlO1xuICAgIGZpZWxkTmFtZT86IHN0cmluZztcbiAgICBmaWVsZERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGNyZWF0ZWQ/OiBEYXRlO1xuICAgIHVwZGF0ZWQ/OiBEYXRlO1xuICAgIGRyb3Bkb3duT3B0aW9ucz86IERyb3Bkb3duT3B0aW9uSW50ZXJmYWNlW107XG4gICAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xuICAgIGFyY2hpdmVkPzogRGF0ZTtcbiAgICBleHRlcm5hbElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1eGlsaWFyeURhdGFPYmplY3RJREludGVyZmFjZSB7XG4gICAgcGFydG5lcklkPzogc3RyaW5nO1xuICAgIG9iamVjdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpZWxkU2NoZW1hPzogQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duT3B0aW9uSW50ZXJmYWNlIHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZERhdGFVcHNlcnRPcGVyYXRpb25JbnRlcmZhY2Uge1xuICAgIGZpZWxkRGF0YUlkPzogc3RyaW5nO1xuICAgIGV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gICAgaW50ZWdlcj86IG51bWJlcjtcbiAgICBzdHJpbmc/OiBzdHJpbmc7XG4gICAgZGF0ZT86IERhdGU7XG4gICAgZHJvcGRvd25WYWx1ZT86IHN0cmluZztcbiAgICBjdXJyZW5jeVZhbHVlPzogbnVtYmVyO1xuICAgIGRlbGV0ZVZhbHVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNjaGVtYUlkZW50aWZpZXJJbnRlcmZhY2Uge1xuICAgIGZpZWxkSWQ/OiBzdHJpbmc7XG4gICAgZXh0ZXJuYWxJZD86IHN0cmluZztcbiAgICBwYXJ0bmVySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBvbmx5QXJjaGl2ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlkZW50aWZpZXI/OiBGaWVsZFNjaGVtYUlkZW50aWZpZXJJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGZpZWxkU2NoZW1hPzogQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWRlbnRpZmllcnM/OiBGaWVsZFNjaGVtYUlkZW50aWZpZXJJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBmaWVsZFNjaGVtYXM/OiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydG5lcklkPzogc3RyaW5nO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xuICAgIGZpbHRlcnM/OiBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBmaWVsZFNjaGVtYXM/OiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0QXV4aWxpYXJ5RGF0YVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGF1eGlsaWFyeURhdGFPYmplY3RJZD86IEF1eGlsaWFyeURhdGFPYmplY3RJREludGVyZmFjZTtcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0QXV4aWxpYXJ5RGF0YVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBqc29uU2NoZW1hPzogc3RyaW5nO1xuICAgIGpzb25EYXRhPzogc3RyaW5nO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuYXJjaGl2ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlkZW50aWZpZXI/OiBGaWVsZFNjaGVtYUlkZW50aWZpZXJJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmllbGRTY2hlbWE/OiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFJbnRlcmZhY2U7XG4gICAgZmllbGRNYXNrPzogRmllbGRNYXNrSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydEF1eGlsaWFyeURhdGFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBhdXhpbGlhcnlEYXRhT2JqZWN0SWQ/OiBBdXhpbGlhcnlEYXRhT2JqZWN0SURJbnRlcmZhY2U7XG4gICAgZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucz86IEZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbkludGVyZmFjZVtdO1xufVxuXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tYXJrZXRwbGFjZV9hcHBzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgQWN0aXZhdGlvbkluZm9ybWF0aW9uSW50ZXJmYWNlLFxuICAgIEFwcEludGVyZmFjZSxcbiAgICBBcHBLZXlJbnRlcmZhY2UsXG4gICAgQXBwUmVzdHJpY3Rpb25zSW50ZXJmYWNlLFxuICAgIEJhc2ljSW50ZWdyYXRpb25JbnRlcmZhY2UsXG4gICAgUmVxdWlyZWRQYXJlbnREZXRhaWxzSW50ZXJmYWNlLFxuICAgIEVkaXRpb25JbnRlcmZhY2UsXG4gICAgRWRpdGlvbklkZW50aWZpZXJJbnRlcmZhY2UsXG4gICAgRWRpdGlvbkluZm9ybWF0aW9uSW50ZXJmYWNlLFxuICAgIEVuZFVzZXJNYXJrZXRpbmdJbmZvcm1hdGlvbkludGVyZmFjZSxcbiAgICBFeHRlcm5hbElkZW50aWZpZXJzSW50ZXJmYWNlLFxuICAgIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc0ludGVyZmFjZSxcbiAgICBQZXJtaXNzaW9uTGlzdHNJbnRlcmZhY2UsXG4gICAgUHJpY2VJbnRlcmZhY2UsXG4gICAgUmVxdWlyZWRCdXNpbmVzc0RhdGFJbnRlcmZhY2UsXG4gICAgUmVxdWlyZWRQYXJlbnRJbnRlcmZhY2UsXG4gICAgU1NPSW50ZWdyYXRpb25JbnRlcmZhY2UsXG4gICAgU2hhcmVkTWFya2V0aW5nSW5mb3JtYXRpb25JbnRlcmZhY2UsXG4gICAgVHJpYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlLFxufSBmcm9tICcuL21hcmtldHBsYWNlLWFwcC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFwcFNldHRpbmdzSW50ZXJmYWNlLFxuICAgIEF1dG9BY3RpdmF0aW9uSW50ZXJmYWNlLFxuICAgIEJyYW5kaW5nSW50ZXJmYWNlLFxuICAgIEVkaXRpb25DaGFuZ2VJbnRlcmZhY2UsXG4gICAgVHJpYWxJbnRlcmZhY2UsXG59IGZyb20gJy4vYXBwLXNldHRpbmdzLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgVXBncmFkZURpYWxvZ0NvbnRlbnRJbnRlcmZhY2UsXG59IGZyb20gJy4vdXBncmFkZS1kaWFsb2ctY29udGVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFjY2Vzc0ludGVyZmFjZSxcbn0gZnJvbSAnLi9hbm5vdGF0aW9ucy5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFza0ludGVyZmFjZSxcbn0gZnJvbSAnLi9maWVsZC1tYXNrLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgR2V0QXBwU2V0dGluZ3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldEFwcFNldHRpbmdzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlBcHBSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQXBwUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0VXBncmFkZURpYWxvZ0NvbnRlbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFVwZ3JhZGVEaWFsb2dDb250ZW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEFwcFNldHRpbmdzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QXBwU2V0dGluZ3NSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UGFydG5lckVuYWJsZWRBcHBzUmVxdWVzdExpc3RBcHBzRmlsdGVySW50ZXJmYWNlLFxuICAgIExpc3RQYXJ0bmVyRW5hYmxlZEFwcHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RQYXJ0bmVyRW5hYmxlZEFwcHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBQcm9kdWN0U3VnZ2VzdGlvbkludGVyZmFjZSxcbiAgICBSZXBsYWNlQXBwU2V0dGluZ3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJlcGxhY2VBcHBTZXR0aW5nc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFJlcGxhY2VVcGdyYWRlRGlhbG9nQ29udGVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU3VnZ2VzdFByb2R1Y3RSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3BhcnRuZXItYXBpLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQXBwVGFnSW50ZXJmYWNlLFxuICAgIEdldE11bHRpQXBwRGF0YVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlBcHBEYXRhUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgS2luZFZhbHVlc0ludGVyZmFjZSxcbiAgICBMaXN0QXBwSURzQnlNdWx0aVRhZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0QnlNdWx0aVRhZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEJ5TXVsdGlUYWdSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RWYWx1ZXNCeU11bHRpS2luZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE1hcmtldHBsYWNlQXBwSW50ZXJmYWNlLFxuICAgIFNjb3BlZFRhZ0ludGVyZmFjZSxcbiAgICBUYWdJbnRlcmZhY2UsXG4gICAgVGFnQXBwc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgVW50YWdBcHBzUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9hcHAtZGF0YS1hcGkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBEZWxldGVDYXRlZ29yeVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0Q2F0ZWdvcmllc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0Q2F0ZWdvcmllc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE1hcmtldHBsYWNlQ2F0ZWdvcnlJbnRlcmZhY2UsXG4gICAgVXBzZXJ0UmVxdWVzdEludGVyZmFjZSxcbiAgICBVcHNlcnRSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9jYXRlZ29yeS1hcGkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcHBQcmljZUludGVyZmFjZSxcbiAgICBBcHBQcmljZXNJbnRlcmZhY2UsXG4gICAgQmlsbGluZ0NvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gICAgQ29tbWl0bWVudEludGVyZmFjZSxcbiAgICBEaXNjb3VudEludGVyZmFjZSxcbiAgICBGcmVxdWVuY3lQcmljZUludGVyZmFjZSxcbiAgICBGcmVxdWVuY3lQcmljZXNJbnRlcmZhY2UsXG4gICAgSW5zdGFuY2VQcmljZUludGVyZmFjZSxcbiAgICBBcHBQcmljZXNQcmljZXNGb3JDb250ZXh0c0VudHJ5SW50ZXJmYWNlLFxuICAgIFVuaXRQcmljZVByaWNlc0ZvckN1cnJlbmNpZXNFbnRyeUludGVyZmFjZSxcbiAgICBBcHBQcmljZVByaWNlc0ZvckVkaXRpb25zRW50cnlJbnRlcmZhY2UsXG4gICAgUHJpY2luZ1J1bGVJbnRlcmZhY2UsXG4gICAgUmVxdWVzdGVkQXBwSW50ZXJmYWNlLFxuICAgIFVuaXRQcmljZUludGVyZmFjZSxcbn0gZnJvbSAnLi9hcHAtcHJpY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBHZXRNdWx0aVByaWNpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpUHJpY2luZ1Jlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2FwcC1wcmljZS1hcGkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZSxcbn0gZnJvbSAnLi9wYWdpbmcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSxcbiAgICBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFJbnRlcmZhY2UsXG4gICAgQXV4aWxpYXJ5RGF0YU9iamVjdElESW50ZXJmYWNlLFxuICAgIENyZWF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRHJvcGRvd25PcHRpb25JbnRlcmZhY2UsXG4gICAgRmllbGREYXRhVXBzZXJ0T3BlcmF0aW9uSW50ZXJmYWNlLFxuICAgIEZpZWxkU2NoZW1hSWRlbnRpZmllckludGVyZmFjZSxcbiAgICBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgR2V0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEF1eGlsaWFyeURhdGFSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RBdXhpbGlhcnlEYXRhUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVW5hcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwc2VydEF1eGlsaWFyeURhdGFSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2ZpZWxkcy5pbnRlcmZhY2UnO1xuXG4iXX0=
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
// *********************************
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
8
|
import { GetMultiAppDataRequest, GetMultiAppDataResponse, ListAppIDsByMultiTagRequest, ListAppIDsByMultiTagResponse, ListByMultiTagRequest, ListByMultiTagResponse, ListValuesByMultiKindRequest, ListValuesByMultiKindResponse, TagAppsRequest, UntagAppsRequest, } from './objects/';
|
|
9
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
9
|
+
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
|
+
import { HostService } from '../_generated/host.service';
|
|
10
11
|
import { map } from 'rxjs/operators';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@angular/common/http";
|
|
@@ -60,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
60
61
|
type: Injectable,
|
|
61
62
|
args: [{ providedIn: 'root' }]
|
|
62
63
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2V0cGxhY2UtYXBwLWRhdGEuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tYXJrZXRwbGFjZV9hcHBzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9tYXJrZXRwbGFjZS1hcHAtZGF0YS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLGNBQWMsRUFDZCxnQkFBZ0IsR0FDdkIsTUFBTSxZQUFZLENBQUM7QUFhcEIsT0FBTyxFQUFDLFdBQVcsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUczRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHbkMsTUFBTSxPQUFPLDRCQUE0QjtJQUdyQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCO1FBQWxELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUY5RCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFHaEQsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUEyRDtRQUN2RSxNQUFNLE9BQU8sR0FBRyxDQUEwQixDQUFF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Q25ILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtDLElBQUksQ0FBQyxLQUFLLEdBQUcsdURBQXVELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUMvSixJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3RELENBQUM7SUFDVixDQUFDOzt5SEFsRFEsNEJBQTRCOzZIQUE1Qiw0QkFBNEIsY0FEaEIsTUFBTTsyRkFDbEIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBHZXRNdWx0aUFwcERhdGFSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUFwcERhdGFSZXNwb25zZSxcbiAgICAgICAgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXF1ZXN0LFxuICAgICAgICBMaXN0QXBwSURzQnlNdWx0aVRhZ1Jlc3BvbnNlLFxuICAgICAgICBMaXN0QnlNdWx0aVRhZ1JlcXVlc3QsXG4gICAgICAgIExpc3RCeU11bHRpVGFnUmVzcG9uc2UsXG4gICAgICAgIExpc3RWYWx1ZXNCeU11bHRpS2luZFJlcXVlc3QsXG4gICAgICAgIExpc3RWYWx1ZXNCeU11bHRpS2luZFJlc3BvbnNlLFxuICAgICAgICBUYWdBcHBzUmVxdWVzdCxcbiAgICAgICAgVW50YWdBcHBzUmVxdWVzdCxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBHZXRNdWx0aUFwcERhdGFSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUFwcERhdGFSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QXBwSURzQnlNdWx0aVRhZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0QnlNdWx0aVRhZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCeU11bHRpVGFnUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RWYWx1ZXNCeU11bHRpS2luZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RWYWx1ZXNCeU11bHRpS2luZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBUYWdBcHBzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVW50YWdBcHBzUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNYXJrZXRwbGFjZUFwcERhdGFBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRNdWx0aUFwcERhdGEocjogR2V0TXVsdGlBcHBEYXRhUmVxdWVzdCB8IEdldE11bHRpQXBwRGF0YVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpQXBwRGF0YVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUFwcERhdGFSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQXBwRGF0YVJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlBcHBEYXRhUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpQXBwRGF0YVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWFya2V0cGxhY2VhcHBzLnYyLk1hcmtldHBsYWNlQXBwRGF0YS9HZXRNdWx0aUFwcERhdGFcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUFwcERhdGFSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0QXBwSURzQnlNdWx0aVRhZyhyOiBMaXN0QXBwSURzQnlNdWx0aVRhZ1JlcXVlc3QgfCBMaXN0QXBwSURzQnlNdWx0aVRhZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RBcHBJRHNCeU11bHRpVGFnUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RBcHBJRHNCeU11bHRpVGFnUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0QXBwSURzQnlNdWx0aVRhZ1JlcXVlc3Q+cikgOiBuZXcgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEFwcElEc0J5TXVsdGlUYWdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21hcmtldHBsYWNlYXBwcy52Mi5NYXJrZXRwbGFjZUFwcERhdGEvTGlzdEFwcElEc0J5TXVsdGlUYWdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0QXBwSURzQnlNdWx0aVRhZ1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RWYWx1ZXNCeU11bHRpS2luZChyOiBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXF1ZXN0IHwgTGlzdFZhbHVlc0J5TXVsdGlLaW5kUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFZhbHVlc0J5TXVsdGlLaW5kUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RWYWx1ZXNCeU11bHRpS2luZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFZhbHVlc0J5TXVsdGlLaW5kUmVxdWVzdD5yKSA6IG5ldyBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFZhbHVlc0J5TXVsdGlLaW5kUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tYXJrZXRwbGFjZWFwcHMudjIuTWFya2V0cGxhY2VBcHBEYXRhL0xpc3RWYWx1ZXNCeU11bHRpS2luZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RWYWx1ZXNCeU11bHRpS2luZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHRhZ0FwcHMocjogVGFnQXBwc1JlcXVlc3QgfCBUYWdBcHBzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxUYWdBcHBzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxUYWdBcHBzUmVxdWVzdD5yKSA6IG5ldyBUYWdBcHBzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tYXJrZXRwbGFjZWFwcHMudjIuTWFya2V0cGxhY2VBcHBEYXRhL1RhZ0FwcHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHVudGFnQXBwcyhyOiBVbnRhZ0FwcHNSZXF1ZXN0IHwgVW50YWdBcHBzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVbnRhZ0FwcHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVudGFnQXBwc1JlcXVlc3Q+cikgOiBuZXcgVW50YWdBcHBzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tYXJrZXRwbGFjZWFwcHMudjIuTWFya2V0cGxhY2VBcHBEYXRhL1VudGFnQXBwc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdEJ5TXVsdGlUYWcocjogTGlzdEJ5TXVsdGlUYWdSZXF1ZXN0IHwgTGlzdEJ5TXVsdGlUYWdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QnlNdWx0aVRhZ1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QnlNdWx0aVRhZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEJ5TXVsdGlUYWdSZXF1ZXN0PnIpIDogbmV3IExpc3RCeU11bHRpVGFnUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RCeU11bHRpVGFnUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tYXJrZXRwbGFjZWFwcHMudjIuTWFya2V0cGxhY2VBcHBEYXRhL0xpc3RCeU11bHRpVGFnXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEJ5TXVsdGlUYWdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2V0cGxhY2UtYXBwLWRhdGEuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tYXJrZXRwbGFjZV9hcHBzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9tYXJrZXRwbGFjZS1hcHAtZGF0YS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLGNBQWMsRUFDZCxnQkFBZ0IsR0FDdkIsTUFBTSxZQUFZLENBQUM7QUFhcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR25DLE1BQU0sT0FBTyw0QkFBNEI7SUFHckMsWUFBb0IsSUFBZ0IsRUFBVSxXQUF3QjtRQUFsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGOUQsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0lBR2hELENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7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QUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFrQyxJQUFJLENBQUMsS0FBSyxHQUFHLHVEQUF1RCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDL0osSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ1YsQ0FBQzs7eUhBbERRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRGhCLE1BQU07MkZBQ2xCLDRCQUE0QjtrQkFEeEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgR2V0TXVsdGlBcHBEYXRhUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlBcHBEYXRhUmVzcG9uc2UsXG4gICAgICAgIExpc3RBcHBJRHNCeU11bHRpVGFnUmVxdWVzdCxcbiAgICAgICAgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXNwb25zZSxcbiAgICAgICAgTGlzdEJ5TXVsdGlUYWdSZXF1ZXN0LFxuICAgICAgICBMaXN0QnlNdWx0aVRhZ1Jlc3BvbnNlLFxuICAgICAgICBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXF1ZXN0LFxuICAgICAgICBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXNwb25zZSxcbiAgICAgICAgVGFnQXBwc1JlcXVlc3QsXG4gICAgICAgIFVudGFnQXBwc1JlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgR2V0TXVsdGlBcHBEYXRhUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlBcHBEYXRhUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBcHBJRHNCeU11bHRpVGFnUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEJ5TXVsdGlUYWdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QnlNdWx0aVRhZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVGFnQXBwc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVudGFnQXBwc1JlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWFya2V0cGxhY2VBcHBEYXRhQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgaG9zdFNlcnZpY2U6IEhvc3RTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0TXVsdGlBcHBEYXRhKHI6IEdldE11bHRpQXBwRGF0YVJlcXVlc3QgfCBHZXRNdWx0aUFwcERhdGFSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUFwcERhdGFSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlBcHBEYXRhUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUFwcERhdGFSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQXBwRGF0YVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUFwcERhdGFSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21hcmtldHBsYWNlYXBwcy52Mi5NYXJrZXRwbGFjZUFwcERhdGEvR2V0TXVsdGlBcHBEYXRhXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlBcHBEYXRhUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdEFwcElEc0J5TXVsdGlUYWcocjogTGlzdEFwcElEc0J5TXVsdGlUYWdSZXF1ZXN0IHwgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QXBwSURzQnlNdWx0aVRhZ1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QXBwSURzQnlNdWx0aVRhZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEFwcElEc0J5TXVsdGlUYWdSZXF1ZXN0PnIpIDogbmV3IExpc3RBcHBJRHNCeU11bHRpVGFnUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RBcHBJRHNCeU11bHRpVGFnUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tYXJrZXRwbGFjZWFwcHMudjIuTWFya2V0cGxhY2VBcHBEYXRhL0xpc3RBcHBJRHNCeU11bHRpVGFnXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEFwcElEc0J5TXVsdGlUYWdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0VmFsdWVzQnlNdWx0aUtpbmQocjogTGlzdFZhbHVlc0J5TXVsdGlLaW5kUmVxdWVzdCB8IExpc3RWYWx1ZXNCeU11bHRpS2luZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RWYWx1ZXNCeU11bHRpS2luZFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RWYWx1ZXNCeU11bHRpS2luZFJlcXVlc3Q+cikgOiBuZXcgTGlzdFZhbHVlc0J5TXVsdGlLaW5kUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RWYWx1ZXNCeU11bHRpS2luZFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWFya2V0cGxhY2VhcHBzLnYyLk1hcmtldHBsYWNlQXBwRGF0YS9MaXN0VmFsdWVzQnlNdWx0aUtpbmRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB0YWdBcHBzKHI6IFRhZ0FwcHNSZXF1ZXN0IHwgVGFnQXBwc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VGFnQXBwc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VGFnQXBwc1JlcXVlc3Q+cikgOiBuZXcgVGFnQXBwc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWFya2V0cGxhY2VhcHBzLnYyLk1hcmtldHBsYWNlQXBwRGF0YS9UYWdBcHBzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB1bnRhZ0FwcHMocjogVW50YWdBcHBzUmVxdWVzdCB8IFVudGFnQXBwc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VW50YWdBcHBzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVbnRhZ0FwcHNSZXF1ZXN0PnIpIDogbmV3IFVudGFnQXBwc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWFya2V0cGxhY2VhcHBzLnYyLk1hcmtldHBsYWNlQXBwRGF0YS9VbnRhZ0FwcHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RCeU11bHRpVGFnKHI6IExpc3RCeU11bHRpVGFnUmVxdWVzdCB8IExpc3RCeU11bHRpVGFnUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEJ5TXVsdGlUYWdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdEJ5TXVsdGlUYWdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RCeU11bHRpVGFnUmVxdWVzdD5yKSA6IG5ldyBMaXN0QnlNdWx0aVRhZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0QnlNdWx0aVRhZ1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWFya2V0cGxhY2VhcHBzLnYyLk1hcmtldHBsYWNlQXBwRGF0YS9MaXN0QnlNdWx0aVRhZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RCeU11bHRpVGFnUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
@@ -24,9 +24,6 @@ export class ArchiveAuxiliaryDataFieldSchemaRequest {
|
|
|
24
24
|
}
|
|
25
25
|
toApiJson() {
|
|
26
26
|
const toReturn = {};
|
|
27
|
-
if (typeof this.fieldId !== 'undefined') {
|
|
28
|
-
toReturn['fieldId'] = this.fieldId;
|
|
29
|
-
}
|
|
30
27
|
if (typeof this.identifier !== 'undefined' && this.identifier !== null) {
|
|
31
28
|
toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;
|
|
32
29
|
}
|
|
@@ -280,9 +277,6 @@ export class GetAuxiliaryDataFieldSchemaRequest {
|
|
|
280
277
|
}
|
|
281
278
|
toApiJson() {
|
|
282
279
|
const toReturn = {};
|
|
283
|
-
if (typeof this.fieldId !== 'undefined') {
|
|
284
|
-
toReturn['fieldId'] = this.fieldId;
|
|
285
|
-
}
|
|
286
280
|
if (typeof this.identifier !== 'undefined' && this.identifier !== null) {
|
|
287
281
|
toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;
|
|
288
282
|
}
|
|
@@ -312,6 +306,52 @@ export class GetAuxiliaryDataFieldSchemaResponse {
|
|
|
312
306
|
return toReturn;
|
|
313
307
|
}
|
|
314
308
|
}
|
|
309
|
+
export class GetMultiAuxiliaryDataFieldSchemaRequest {
|
|
310
|
+
constructor(kwargs) {
|
|
311
|
+
if (!kwargs) {
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
Object.assign(this, kwargs);
|
|
315
|
+
}
|
|
316
|
+
static fromProto(proto) {
|
|
317
|
+
let m = new GetMultiAuxiliaryDataFieldSchemaRequest();
|
|
318
|
+
m = Object.assign(m, proto);
|
|
319
|
+
if (proto.identifiers) {
|
|
320
|
+
m.identifiers = proto.identifiers.map(FieldSchemaIdentifier.fromProto);
|
|
321
|
+
}
|
|
322
|
+
return m;
|
|
323
|
+
}
|
|
324
|
+
toApiJson() {
|
|
325
|
+
const toReturn = {};
|
|
326
|
+
if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {
|
|
327
|
+
toReturn['identifiers'] = 'toApiJson' in this.identifiers ? this.identifiers.toApiJson() : this.identifiers;
|
|
328
|
+
}
|
|
329
|
+
return toReturn;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
export class GetMultiAuxiliaryDataFieldSchemaResponse {
|
|
333
|
+
constructor(kwargs) {
|
|
334
|
+
if (!kwargs) {
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
Object.assign(this, kwargs);
|
|
338
|
+
}
|
|
339
|
+
static fromProto(proto) {
|
|
340
|
+
let m = new GetMultiAuxiliaryDataFieldSchemaResponse();
|
|
341
|
+
m = Object.assign(m, proto);
|
|
342
|
+
if (proto.fieldSchemas) {
|
|
343
|
+
m.fieldSchemas = proto.fieldSchemas.map(AuxiliaryDataFieldSchema.fromProto);
|
|
344
|
+
}
|
|
345
|
+
return m;
|
|
346
|
+
}
|
|
347
|
+
toApiJson() {
|
|
348
|
+
const toReturn = {};
|
|
349
|
+
if (typeof this.fieldSchemas !== 'undefined' && this.fieldSchemas !== null) {
|
|
350
|
+
toReturn['fieldSchemas'] = 'toApiJson' in this.fieldSchemas ? this.fieldSchemas.toApiJson() : this.fieldSchemas;
|
|
351
|
+
}
|
|
352
|
+
return toReturn;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
315
355
|
export class ListAuxiliaryDataFieldSchemaRequest {
|
|
316
356
|
constructor(kwargs) {
|
|
317
357
|
if (!kwargs) {
|
|
@@ -448,9 +488,6 @@ export class UnarchiveAuxiliaryDataFieldSchemaRequest {
|
|
|
448
488
|
}
|
|
449
489
|
toApiJson() {
|
|
450
490
|
const toReturn = {};
|
|
451
|
-
if (typeof this.fieldId !== 'undefined') {
|
|
452
|
-
toReturn['fieldId'] = this.fieldId;
|
|
453
|
-
}
|
|
454
491
|
if (typeof this.identifier !== 'undefined' && this.identifier !== null) {
|
|
455
492
|
toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;
|
|
456
493
|
}
|
|
@@ -515,4 +552,4 @@ export class UpsertAuxiliaryDataRequest {
|
|
|
515
552
|
return toReturn;
|
|
516
553
|
}
|
|
517
554
|
}
|
|
518
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbWFya2V0cGxhY2VfYXBwc19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLHNDQUFzQztJQVcvQyxZQUFZLE1BQTBEO1FBQ2xFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBWkQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksc0NBQXNDLEVBQUUsQ0FBQztRQUNyRCxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQUM7UUFDekYsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBU0QsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQ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QUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FBQztRQUN6SyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FBQztRQUN6SyxJQUFJLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLGVBQXVCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7U0FBQztRQUN6TixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQzdGLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFFBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FB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QUFxQixFQUFFO1lBQUMsQ0FBQyxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUFDO1FBQzFILElBQUksS0FBSyxDQUFDLHlCQUF5QixFQUFFO1lBQUMsQ0FBQyxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUM3SSxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFTRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxxQkFBNkIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1NBQUM7UUFDN1AsSUFBSSxPQUFPLElBQUksQ0FBQyx5QkFBeUIsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLHlCQUF5QixLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyx5QkFBaUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1NBQUM7UUFDclIsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRmllbGRNYXNrIH0gZnJvbSAnLi9maWVsZC1tYXNrJztcbmltcG9ydCB7IFBhZ2VkUmVxdWVzdE9wdGlvbnMsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSB9IGZyb20gJy4vcGFnaW5nJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IGltcGxlbWVudHMgaS5BcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmllbGRJZDogc3RyaW5nO1xuICAgIGlkZW50aWZpZXI6IEZpZWxkU2NoZW1hSWRlbnRpZmllcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXJjaGl2ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaWRlbnRpZmllcikge20uaWRlbnRpZmllciA9IEZpZWxkU2NoZW1hSWRlbnRpZmllci5mcm9tUHJvdG8ocHJvdG8uaWRlbnRpZmllcik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmllbGRJZCddID0gdGhpcy5maWVsZElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkZW50aWZpZXIgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaWRlbnRpZmllciAhPT0gbnVsbCkge3RvUmV0dXJuWydpZGVudGlmaWVyJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmlkZW50aWZpZXIgPyAodGhpcy5pZGVudGlmaWVyIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmlkZW50aWZpZXI7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hIGltcGxlbWVudHMgaS5BdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIGZpZWxkSWQ6IHN0cmluZztcbiAgICBmaWVsZFR5cGU6IGUuQXV4aWxpYXJ5RGF0YUZpZWxkVHlwZTtcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcbiAgICBmaWVsZERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY3JlYXRlZDogRGF0ZTtcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIGRyb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25bXTtcbiAgICBjdXJyZW5jeUNvZGU6IHN0cmluZztcbiAgICBhcmNoaXZlZDogRGF0ZTtcbiAgICBleHRlcm5hbElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWEge1xuICAgICAgICBsZXQgbSA9IG5ldyBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWEoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZmllbGRUeXBlKSB7bS5maWVsZFR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkF1eGlsaWFyeURhdGFGaWVsZFR5cGU+KGUuQXV4aWxpYXJ5RGF0YUZpZWxkVHlwZSwgcHJvdG8uZmllbGRUeXBlKTt9XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLmRyb3Bkb3duT3B0aW9ucykge20uZHJvcGRvd25PcHRpb25zID0gcHJvdG8uZHJvcGRvd25PcHRpb25zLm1hcChEcm9wZG93bk9wdGlvbi5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLmFyY2hpdmVkKSB7bS5hcmNoaXZlZCA9IG5ldyBEYXRlKHByb3RvLmFyY2hpdmVkKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkSWQnXSA9IHRoaXMuZmllbGRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZFR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkVHlwZSddID0gdGhpcy5maWVsZFR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaWVsZE5hbWUnXSA9IHRoaXMuZmllbGROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkRGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkRGVzY3JpcHRpb24nXSA9IHRoaXMuZmllbGREZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnY3JlYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVhdGVkID8gKHRoaXMuY3JlYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZHJvcGRvd25PcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRyb3Bkb3duT3B0aW9ucyAhPT0gbnVsbCkge3RvUmV0dXJuWydkcm9wZG93bk9wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZHJvcGRvd25PcHRpb25zID8gKHRoaXMuZHJvcGRvd25PcHRpb25zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmRyb3Bkb3duT3B0aW9uczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW5jeUNvZGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1cnJlbmN5Q29kZSddID0gdGhpcy5jdXJyZW5jeUNvZGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXJjaGl2ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXJjaGl2ZWQgIT09IG51bGwpIHt0b1JldHVyblsnYXJjaGl2ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXJjaGl2ZWQgPyAodGhpcy5hcmNoaXZlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hcmNoaXZlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5leHRlcm5hbElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydleHRlcm5hbElkJ10gPSB0aGlzLmV4dGVybmFsSWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV4aWxpYXJ5RGF0YU9iamVjdElEIGltcGxlbWVudHMgaS5BdXhpbGlhcnlEYXRhT2JqZWN0SURJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIG9iamVjdElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdXhpbGlhcnlEYXRhT2JqZWN0SUQge1xuICAgICAgICBsZXQgbSA9IG5ldyBBdXhpbGlhcnlEYXRhT2JqZWN0SUQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkF1eGlsaWFyeURhdGFPYmplY3RJREludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRuZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydG5lcklkJ10gPSB0aGlzLnBhcnRuZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vYmplY3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnb2JqZWN0SWQnXSA9IHRoaXMub2JqZWN0SWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCBpbXBsZW1lbnRzIGkuQ3JlYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmllbGRTY2hlbWE6IEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENyZWF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBDcmVhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZpZWxkU2NoZW1hKSB7bS5maWVsZFNjaGVtYSA9IEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYS5mcm9tUHJvdG8ocHJvdG8uZmllbGRTY2hlbWEpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DcmVhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRTY2hlbWEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmllbGRTY2hlbWEgIT09IG51bGwpIHt0b1JldHVyblsnZmllbGRTY2hlbWEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmllbGRTY2hlbWEgPyAodGhpcy5maWVsZFNjaGVtYSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5maWVsZFNjaGVtYTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEcm9wZG93bk9wdGlvbiBpbXBsZW1lbnRzIGkuRHJvcGRvd25PcHRpb25JbnRlcmZhY2Uge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IERyb3Bkb3duT3B0aW9uIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRHJvcGRvd25PcHRpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkRyb3Bkb3duT3B0aW9uSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGFiZWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xhYmVsJ10gPSB0aGlzLmxhYmVsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2YWx1ZSddID0gdGhpcy52YWx1ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWVsZERhdGFVcHNlcnRPcGVyYXRpb24gaW1wbGVtZW50cyBpLkZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbkludGVyZmFjZSB7XG4gICAgZmllbGREYXRhSWQ6IHN0cmluZztcbiAgICBleHRlcm5hbElkOiBzdHJpbmc7XG4gICAgaW50ZWdlcjogbnVtYmVyO1xuICAgIHN0cmluZzogc3RyaW5nO1xuICAgIGRhdGU6IERhdGU7XG4gICAgZHJvcGRvd25WYWx1ZTogc3RyaW5nO1xuICAgIGN1cnJlbmN5VmFsdWU6IG51bWJlcjtcbiAgICBkZWxldGVWYWx1ZTogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IEZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbnRlZ2VyKSB7bS5pbnRlZ2VyID0gcGFyc2VJbnQocHJvdG8uaW50ZWdlciwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmRhdGUpIHttLmRhdGUgPSBuZXcgRGF0ZShwcm90by5kYXRlKTt9XG4gICAgICAgIGlmIChwcm90by5jdXJyZW5jeVZhbHVlKSB7bS5jdXJyZW5jeVZhbHVlID0gcGFyc2VJbnQocHJvdG8uY3VycmVuY3lWYWx1ZSwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5GaWVsZERhdGFVcHNlcnRPcGVyYXRpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZERhdGFJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmllbGREYXRhSWQnXSA9IHRoaXMuZmllbGREYXRhSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZXh0ZXJuYWxJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZXh0ZXJuYWxJZCddID0gdGhpcy5leHRlcm5hbElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmludGVnZXIgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ludGVnZXInXSA9IHRoaXMuaW50ZWdlcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdHJpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0cmluZyddID0gdGhpcy5zdHJpbmc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5kYXRlICE9PSBudWxsKSB7dG9SZXR1cm5bJ2RhdGUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZGF0ZSA/ICh0aGlzLmRhdGUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZGF0ZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kcm9wZG93blZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkcm9wZG93blZhbHVlJ10gPSB0aGlzLmRyb3Bkb3duVmFsdWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3VycmVuY3lWYWx1ZSddID0gdGhpcy5jdXJyZW5jeVZhbHVlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlbGV0ZVZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZWxldGVWYWx1ZSddID0gdGhpcy5kZWxldGVWYWx1ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWVsZFNjaGVtYUlkZW50aWZpZXIgaW1wbGVtZW50cyBpLkZpZWxkU2NoZW1hSWRlbnRpZmllckludGVyZmFjZSB7XG4gICAgZmllbGRJZDogc3RyaW5nO1xuICAgIGV4dGVybmFsSWQ6IHN0cmluZztcbiAgICBwYXJ0bmVySWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZpZWxkU2NoZW1hSWRlbnRpZmllciB7XG4gICAgICAgIGxldCBtID0gbmV3IEZpZWxkU2NoZW1hSWRlbnRpZmllcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRmllbGRTY2hlbWFJZGVudGlmaWVySW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmllbGRJZCddID0gdGhpcy5maWVsZElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4dGVybmFsSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2V4dGVybmFsSWQnXSA9IHRoaXMuZXh0ZXJuYWxJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJ0bmVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcnRuZXJJZCddID0gdGhpcy5wYXJ0bmVySWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RGaWx0ZXJzIGltcGxlbWVudHMgaS5MaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIG9ubHlBcmNoaXZlZDogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0RmlsdGVycyB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0RmlsdGVycygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub25seUFyY2hpdmVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydvbmx5QXJjaGl2ZWQnXSA9IHRoaXMub25seUFyY2hpdmVkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QgaW1wbGVtZW50cyBpLkdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpZWxkSWQ6IHN0cmluZztcbiAgICBpZGVudGlmaWVyOiBGaWVsZFNjaGVtYUlkZW50aWZpZXI7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pZGVudGlmaWVyKSB7bS5pZGVudGlmaWVyID0gRmllbGRTY2hlbWFJZGVudGlmaWVyLmZyb21Qcm90byhwcm90by5pZGVudGlmaWVyKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkSWQnXSA9IHRoaXMuZmllbGRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZGVudGlmaWVyICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmlkZW50aWZpZXIgIT09IG51bGwpIHt0b1JldHVyblsnaWRlbnRpZmllciddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5pZGVudGlmaWVyID8gKHRoaXMuaWRlbnRpZmllciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5pZGVudGlmaWVyO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlIGltcGxlbWVudHMgaS5HZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZmllbGRTY2hlbWE6IEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZmllbGRTY2hlbWEpIHttLmZpZWxkU2NoZW1hID0gQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hLmZyb21Qcm90byhwcm90by5maWVsZFNjaGVtYSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRTY2hlbWEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmllbGRTY2hlbWEgIT09IG51bGwpIHt0b1JldHVyblsnZmllbGRTY2hlbWEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmllbGRTY2hlbWEgPyAodGhpcy5maWVsZFNjaGVtYSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5maWVsZFNjaGVtYTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCBpbXBsZW1lbnRzIGkuTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIHBhZ2luZ09wdGlvbnM6IFBhZ2VkUmVxdWVzdE9wdGlvbnM7XG4gICAgZmlsdGVyczogTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RGaWx0ZXJzO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdPcHRpb25zKSB7bS5wYWdpbmdPcHRpb25zID0gUGFnZWRSZXF1ZXN0T3B0aW9ucy5mcm9tUHJvdG8ocHJvdG8ucGFnaW5nT3B0aW9ucyk7fVxuICAgICAgICBpZiAocHJvdG8uZmlsdGVycykge20uZmlsdGVycyA9IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0RmlsdGVycy5mcm9tUHJvdG8ocHJvdG8uZmlsdGVycyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhZ2luZ09wdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucGFnaW5nT3B0aW9ucyAhPT0gbnVsbCkge3RvUmV0dXJuWydwYWdpbmdPcHRpb25zJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBhZ2luZ09wdGlvbnMgPyAodGhpcy5wYWdpbmdPcHRpb25zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnBhZ2luZ09wdGlvbnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlsdGVycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5maWx0ZXJzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2ZpbHRlcnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmlsdGVycyA/ICh0aGlzLmZpbHRlcnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZmlsdGVyczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVzcG9uc2UgaW1wbGVtZW50cyBpLkxpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZmllbGRTY2hlbWFzOiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFbXTtcbiAgICBwYWdpbmdNZXRhZGF0YTogUGFnZWRSZXNwb25zZU1ldGFkYXRhO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZpZWxkU2NoZW1hcykge20uZmllbGRTY2hlbWFzID0gcHJvdG8uZmllbGRTY2hlbWFzLm1hcChBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWEuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdNZXRhZGF0YSkge20ucGFnaW5nTWV0YWRhdGEgPSBQYWdlZFJlc3BvbnNlTWV0YWRhdGEuZnJvbVByb3RvKHByb3RvLnBhZ2luZ01ldGFkYXRhKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRTY2hlbWFzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZpZWxkU2NoZW1hcyAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWVsZFNjaGVtYXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmllbGRTY2hlbWFzID8gKHRoaXMuZmllbGRTY2hlbWFzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpZWxkU2NoZW1hczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdpbmdNZXRhZGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdNZXRhZGF0YSAhPT0gbnVsbCkge3RvUmV0dXJuWydwYWdpbmdNZXRhZGF0YSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wYWdpbmdNZXRhZGF0YSA/ICh0aGlzLnBhZ2luZ01ldGFkYXRhIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnBhZ2luZ01ldGFkYXRhO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RBdXhpbGlhcnlEYXRhUmVxdWVzdCBpbXBsZW1lbnRzIGkuTGlzdEF1eGlsaWFyeURhdGFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBhdXhpbGlhcnlEYXRhT2JqZWN0SWQ6IEF1eGlsaWFyeURhdGFPYmplY3RJRDtcbiAgICBwYWdpbmdPcHRpb25zOiBQYWdlZFJlcXVlc3RPcHRpb25zO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdEF1eGlsaWFyeURhdGFSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdEF1eGlsaWFyeURhdGFSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmF1eGlsaWFyeURhdGFPYmplY3RJZCkge20uYXV4aWxpYXJ5RGF0YU9iamVjdElkID0gQXV4aWxpYXJ5RGF0YU9iamVjdElELmZyb21Qcm90byhwcm90by5hdXhpbGlhcnlEYXRhT2JqZWN0SWQpO31cbiAgICAgICAgaWYgKHByb3RvLnBhZ2luZ09wdGlvbnMpIHttLnBhZ2luZ09wdGlvbnMgPSBQYWdlZFJlcXVlc3RPcHRpb25zLmZyb21Qcm90byhwcm90by5wYWdpbmdPcHRpb25zKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdEF1eGlsaWFyeURhdGFSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV4aWxpYXJ5RGF0YU9iamVjdElkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCAhPT0gbnVsbCkge3RvUmV0dXJuWydhdXhpbGlhcnlEYXRhT2JqZWN0SWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXV4aWxpYXJ5RGF0YU9iamVjdElkID8gKHRoaXMuYXV4aWxpYXJ5RGF0YU9iamVjdElkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdpbmdPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBhZ2luZ09wdGlvbnMgIT09IG51bGwpIHt0b1JldHVyblsncGFnaW5nT3B0aW9ucyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wYWdpbmdPcHRpb25zID8gKHRoaXMucGFnaW5nT3B0aW9ucyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wYWdpbmdPcHRpb25zO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RBdXhpbGlhcnlEYXRhUmVzcG9uc2UgaW1wbGVtZW50cyBpLkxpc3RBdXhpbGlhcnlEYXRhUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGpzb25TY2hlbWE6IHN0cmluZztcbiAgICBqc29uRGF0YTogc3RyaW5nO1xuICAgIHBhZ2luZ01ldGFkYXRhOiBQYWdlZFJlc3BvbnNlTWV0YWRhdGE7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBMaXN0QXV4aWxpYXJ5RGF0YVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdEF1eGlsaWFyeURhdGFSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdNZXRhZGF0YSkge20ucGFnaW5nTWV0YWRhdGEgPSBQYWdlZFJlc3BvbnNlTWV0YWRhdGEuZnJvbVByb3RvKHByb3RvLnBhZ2luZ01ldGFkYXRhKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdEF1eGlsaWFyeURhdGFSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmpzb25TY2hlbWEgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2pzb25TY2hlbWEnXSA9IHRoaXMuanNvblNjaGVtYTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5qc29uRGF0YSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnanNvbkRhdGEnXSA9IHRoaXMuanNvbkRhdGE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nTWV0YWRhdGEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucGFnaW5nTWV0YWRhdGEgIT09IG51bGwpIHt0b1JldHVyblsncGFnaW5nTWV0YWRhdGEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nTWV0YWRhdGEgPyAodGhpcy5wYWdpbmdNZXRhZGF0YSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wYWdpbmdNZXRhZGF0YTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IGltcGxlbWVudHMgaS5VbmFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWVsZElkOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogRmllbGRTY2hlbWFJZGVudGlmaWVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVW5hcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFVuYXJjaGl2ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaWRlbnRpZmllcikge20uaWRlbnRpZmllciA9IEZpZWxkU2NoZW1hSWRlbnRpZmllci5mcm9tUHJvdG8ocHJvdG8uaWRlbnRpZmllcik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlVuYXJjaGl2ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaWVsZElkJ10gPSB0aGlzLmZpZWxkSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWRlbnRpZmllciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pZGVudGlmaWVyICE9PSBudWxsKSB7dG9SZXR1cm5bJ2lkZW50aWZpZXInXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuaWRlbnRpZmllciA/ICh0aGlzLmlkZW50aWZpZXIgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaWRlbnRpZmllcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IGltcGxlbWVudHMgaS5VcGRhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWVsZFNjaGVtYTogQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hO1xuICAgIGZpZWxkTWFzazogRmllbGRNYXNrO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVXBkYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFVwZGF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZmllbGRTY2hlbWEpIHttLmZpZWxkU2NoZW1hID0gQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hLmZyb21Qcm90byhwcm90by5maWVsZFNjaGVtYSk7fVxuICAgICAgICBpZiAocHJvdG8uZmllbGRNYXNrKSB7bS5maWVsZE1hc2sgPSBGaWVsZE1hc2suZnJvbVByb3RvKHByb3RvLmZpZWxkTWFzayk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlVwZGF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZFNjaGVtYSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5maWVsZFNjaGVtYSAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWVsZFNjaGVtYSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5maWVsZFNjaGVtYSA/ICh0aGlzLmZpZWxkU2NoZW1hIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpZWxkU2NoZW1hO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkTWFzayAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5maWVsZE1hc2sgIT09IG51bGwpIHt0b1JldHVyblsnZmllbGRNYXNrJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpZWxkTWFzayA/ICh0aGlzLmZpZWxkTWFzayBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5maWVsZE1hc2s7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXBzZXJ0QXV4aWxpYXJ5RGF0YVJlcXVlc3QgaW1wbGVtZW50cyBpLlVwc2VydEF1eGlsaWFyeURhdGFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBhdXhpbGlhcnlEYXRhT2JqZWN0SWQ6IEF1eGlsaWFyeURhdGFPYmplY3RJRDtcbiAgICBmaWVsZERhdGFVcHNlcnRPcGVyYXRpb25zOiBGaWVsZERhdGFVcHNlcnRPcGVyYXRpb25bXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFVwc2VydEF1eGlsaWFyeURhdGFSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVXBzZXJ0QXV4aWxpYXJ5RGF0YVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYXV4aWxpYXJ5RGF0YU9iamVjdElkKSB7bS5hdXhpbGlhcnlEYXRhT2JqZWN0SWQgPSBBdXhpbGlhcnlEYXRhT2JqZWN0SUQuZnJvbVByb3RvKHByb3RvLmF1eGlsaWFyeURhdGFPYmplY3RJZCk7fVxuICAgICAgICBpZiAocHJvdG8uZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucykge20uZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucyA9IHByb3RvLmZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbnMubWFwKEZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbi5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5VcHNlcnRBdXhpbGlhcnlEYXRhUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXhpbGlhcnlEYXRhT2JqZWN0SWQgIT09IG51bGwpIHt0b1JldHVyblsnYXV4aWxpYXJ5RGF0YU9iamVjdElkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCA/ICh0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXhpbGlhcnlEYXRhT2JqZWN0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5maWVsZERhdGFVcHNlcnRPcGVyYXRpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ2ZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucyA/ICh0aGlzLmZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
|
|
555
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbWFya2V0cGxhY2VfYXBwc19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLHNDQUFzQztJQVUvQyxZQUFZLE1BQTBEO1FBQ2xFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBWkQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksc0NBQXNDLEVBQUUsQ0FBQztRQUNyRCxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQUM7UUFDekYsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBU0QsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQ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QUksQ0FBQyx5QkFBaUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1NBQUM7UUFDclIsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtGaWVsZE1hc2t9IGZyb20gJy4vZmllbGQtbWFzayc7XG5pbXBvcnQge1BhZ2VkUmVxdWVzdE9wdGlvbnMsIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YX0gZnJvbSAnLi9wYWdpbmcnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgQXJjaGl2ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QgaW1wbGVtZW50cyBpLkFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBpZGVudGlmaWVyOiBGaWVsZFNjaGVtYUlkZW50aWZpZXI7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmlkZW50aWZpZXIpIHttLmlkZW50aWZpZXIgPSBGaWVsZFNjaGVtYUlkZW50aWZpZXIuZnJvbVByb3RvKHByb3RvLmlkZW50aWZpZXIpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkZW50aWZpZXIgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaWRlbnRpZmllciAhPT0gbnVsbCkge3RvUmV0dXJuWydpZGVudGlmaWVyJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmlkZW50aWZpZXIgPyAodGhpcy5pZGVudGlmaWVyIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmlkZW50aWZpZXI7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hIGltcGxlbWVudHMgaS5BdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIGZpZWxkSWQ6IHN0cmluZztcbiAgICBmaWVsZFR5cGU6IGUuQXV4aWxpYXJ5RGF0YUZpZWxkVHlwZTtcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcbiAgICBmaWVsZERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY3JlYXRlZDogRGF0ZTtcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIGRyb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25bXTtcbiAgICBjdXJyZW5jeUNvZGU6IHN0cmluZztcbiAgICBhcmNoaXZlZDogRGF0ZTtcbiAgICBleHRlcm5hbElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWEge1xuICAgICAgICBsZXQgbSA9IG5ldyBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWEoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZmllbGRUeXBlKSB7bS5maWVsZFR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkF1eGlsaWFyeURhdGFGaWVsZFR5cGU+KGUuQXV4aWxpYXJ5RGF0YUZpZWxkVHlwZSwgcHJvdG8uZmllbGRUeXBlKTt9XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLmRyb3Bkb3duT3B0aW9ucykge20uZHJvcGRvd25PcHRpb25zID0gcHJvdG8uZHJvcGRvd25PcHRpb25zLm1hcChEcm9wZG93bk9wdGlvbi5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLmFyY2hpdmVkKSB7bS5hcmNoaXZlZCA9IG5ldyBEYXRlKHByb3RvLmFyY2hpdmVkKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkSWQnXSA9IHRoaXMuZmllbGRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZFR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkVHlwZSddID0gdGhpcy5maWVsZFR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaWVsZE5hbWUnXSA9IHRoaXMuZmllbGROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkRGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkRGVzY3JpcHRpb24nXSA9IHRoaXMuZmllbGREZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnY3JlYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVhdGVkID8gKHRoaXMuY3JlYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZHJvcGRvd25PcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRyb3Bkb3duT3B0aW9ucyAhPT0gbnVsbCkge3RvUmV0dXJuWydkcm9wZG93bk9wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZHJvcGRvd25PcHRpb25zID8gKHRoaXMuZHJvcGRvd25PcHRpb25zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmRyb3Bkb3duT3B0aW9uczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW5jeUNvZGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1cnJlbmN5Q29kZSddID0gdGhpcy5jdXJyZW5jeUNvZGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXJjaGl2ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXJjaGl2ZWQgIT09IG51bGwpIHt0b1JldHVyblsnYXJjaGl2ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXJjaGl2ZWQgPyAodGhpcy5hcmNoaXZlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hcmNoaXZlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5leHRlcm5hbElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydleHRlcm5hbElkJ10gPSB0aGlzLmV4dGVybmFsSWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV4aWxpYXJ5RGF0YU9iamVjdElEIGltcGxlbWVudHMgaS5BdXhpbGlhcnlEYXRhT2JqZWN0SURJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIG9iamVjdElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdXhpbGlhcnlEYXRhT2JqZWN0SUQge1xuICAgICAgICBsZXQgbSA9IG5ldyBBdXhpbGlhcnlEYXRhT2JqZWN0SUQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkF1eGlsaWFyeURhdGFPYmplY3RJREludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRuZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydG5lcklkJ10gPSB0aGlzLnBhcnRuZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vYmplY3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnb2JqZWN0SWQnXSA9IHRoaXMub2JqZWN0SWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCBpbXBsZW1lbnRzIGkuQ3JlYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmllbGRTY2hlbWE6IEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENyZWF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBDcmVhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZpZWxkU2NoZW1hKSB7bS5maWVsZFNjaGVtYSA9IEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYS5mcm9tUHJvdG8ocHJvdG8uZmllbGRTY2hlbWEpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DcmVhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRTY2hlbWEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmllbGRTY2hlbWEgIT09IG51bGwpIHt0b1JldHVyblsnZmllbGRTY2hlbWEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmllbGRTY2hlbWEgPyAodGhpcy5maWVsZFNjaGVtYSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5maWVsZFNjaGVtYTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEcm9wZG93bk9wdGlvbiBpbXBsZW1lbnRzIGkuRHJvcGRvd25PcHRpb25JbnRlcmZhY2Uge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IERyb3Bkb3duT3B0aW9uIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRHJvcGRvd25PcHRpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkRyb3Bkb3duT3B0aW9uSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGFiZWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xhYmVsJ10gPSB0aGlzLmxhYmVsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2YWx1ZSddID0gdGhpcy52YWx1ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWVsZERhdGFVcHNlcnRPcGVyYXRpb24gaW1wbGVtZW50cyBpLkZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbkludGVyZmFjZSB7XG4gICAgZmllbGREYXRhSWQ6IHN0cmluZztcbiAgICBleHRlcm5hbElkOiBzdHJpbmc7XG4gICAgaW50ZWdlcjogbnVtYmVyO1xuICAgIHN0cmluZzogc3RyaW5nO1xuICAgIGRhdGU6IERhdGU7XG4gICAgZHJvcGRvd25WYWx1ZTogc3RyaW5nO1xuICAgIGN1cnJlbmN5VmFsdWU6IG51bWJlcjtcbiAgICBkZWxldGVWYWx1ZTogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IEZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbnRlZ2VyKSB7bS5pbnRlZ2VyID0gcGFyc2VJbnQocHJvdG8uaW50ZWdlciwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmRhdGUpIHttLmRhdGUgPSBuZXcgRGF0ZShwcm90by5kYXRlKTt9XG4gICAgICAgIGlmIChwcm90by5jdXJyZW5jeVZhbHVlKSB7bS5jdXJyZW5jeVZhbHVlID0gcGFyc2VJbnQocHJvdG8uY3VycmVuY3lWYWx1ZSwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5GaWVsZERhdGFVcHNlcnRPcGVyYXRpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZERhdGFJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmllbGREYXRhSWQnXSA9IHRoaXMuZmllbGREYXRhSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZXh0ZXJuYWxJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZXh0ZXJuYWxJZCddID0gdGhpcy5leHRlcm5hbElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmludGVnZXIgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ludGVnZXInXSA9IHRoaXMuaW50ZWdlcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdHJpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0cmluZyddID0gdGhpcy5zdHJpbmc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5kYXRlICE9PSBudWxsKSB7dG9SZXR1cm5bJ2RhdGUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZGF0ZSA/ICh0aGlzLmRhdGUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZGF0ZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kcm9wZG93blZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkcm9wZG93blZhbHVlJ10gPSB0aGlzLmRyb3Bkb3duVmFsdWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3VycmVuY3lWYWx1ZSddID0gdGhpcy5jdXJyZW5jeVZhbHVlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlbGV0ZVZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZWxldGVWYWx1ZSddID0gdGhpcy5kZWxldGVWYWx1ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWVsZFNjaGVtYUlkZW50aWZpZXIgaW1wbGVtZW50cyBpLkZpZWxkU2NoZW1hSWRlbnRpZmllckludGVyZmFjZSB7XG4gICAgZmllbGRJZDogc3RyaW5nO1xuICAgIGV4dGVybmFsSWQ6IHN0cmluZztcbiAgICBwYXJ0bmVySWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEZpZWxkU2NoZW1hSWRlbnRpZmllciB7XG4gICAgICAgIGxldCBtID0gbmV3IEZpZWxkU2NoZW1hSWRlbnRpZmllcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRmllbGRTY2hlbWFJZGVudGlmaWVySW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmllbGRJZCddID0gdGhpcy5maWVsZElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4dGVybmFsSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2V4dGVybmFsSWQnXSA9IHRoaXMuZXh0ZXJuYWxJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJ0bmVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcnRuZXJJZCddID0gdGhpcy5wYXJ0bmVySWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RGaWx0ZXJzIGltcGxlbWVudHMgaS5MaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIG9ubHlBcmNoaXZlZDogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0RmlsdGVycyB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0RmlsdGVycygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub25seUFyY2hpdmVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydvbmx5QXJjaGl2ZWQnXSA9IHRoaXMub25seUFyY2hpdmVkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QgaW1wbGVtZW50cyBpLkdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlkZW50aWZpZXI6IEZpZWxkU2NoZW1hSWRlbnRpZmllcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmlkZW50aWZpZXIpIHttLmlkZW50aWZpZXIgPSBGaWVsZFNjaGVtYUlkZW50aWZpZXIuZnJvbVByb3RvKHByb3RvLmlkZW50aWZpZXIpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5HZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWRlbnRpZmllciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pZGVudGlmaWVyICE9PSBudWxsKSB7dG9SZXR1cm5bJ2lkZW50aWZpZXInXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuaWRlbnRpZmllciA/ICh0aGlzLmlkZW50aWZpZXIgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaWRlbnRpZmllcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZSBpbXBsZW1lbnRzIGkuR2V0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGZpZWxkU2NoZW1hOiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWE7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZpZWxkU2NoZW1hKSB7bS5maWVsZFNjaGVtYSA9IEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYS5mcm9tUHJvdG8ocHJvdG8uZmllbGRTY2hlbWEpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5HZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkU2NoZW1hICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZpZWxkU2NoZW1hICE9PSBudWxsKSB7dG9SZXR1cm5bJ2ZpZWxkU2NoZW1hJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpZWxkU2NoZW1hID8gKHRoaXMuZmllbGRTY2hlbWEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZmllbGRTY2hlbWE7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR2V0TXVsdGlBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IGltcGxlbWVudHMgaS5HZXRNdWx0aUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlkZW50aWZpZXJzOiBGaWVsZFNjaGVtYUlkZW50aWZpZXJbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldE11bHRpQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEdldE11bHRpQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pZGVudGlmaWVycykge20uaWRlbnRpZmllcnMgPSBwcm90by5pZGVudGlmaWVycy5tYXAoRmllbGRTY2hlbWFJZGVudGlmaWVyLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldE11bHRpQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkZW50aWZpZXJzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmlkZW50aWZpZXJzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2lkZW50aWZpZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmlkZW50aWZpZXJzID8gKHRoaXMuaWRlbnRpZmllcnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaWRlbnRpZmllcnM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR2V0TXVsdGlBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZSBpbXBsZW1lbnRzIGkuR2V0TXVsdGlBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZmllbGRTY2hlbWFzOiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldE11bHRpQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRNdWx0aUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZpZWxkU2NoZW1hcykge20uZmllbGRTY2hlbWFzID0gcHJvdG8uZmllbGRTY2hlbWFzLm1hcChBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWEuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0TXVsdGlBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkU2NoZW1hcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5maWVsZFNjaGVtYXMgIT09IG51bGwpIHt0b1JldHVyblsnZmllbGRTY2hlbWFzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpZWxkU2NoZW1hcyA/ICh0aGlzLmZpZWxkU2NoZW1hcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5maWVsZFNjaGVtYXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QgaW1wbGVtZW50cyBpLkxpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgICBwYWdpbmdPcHRpb25zOiBQYWdlZFJlcXVlc3RPcHRpb25zO1xuICAgIGZpbHRlcnM6IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0RmlsdGVycztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucGFnaW5nT3B0aW9ucykge20ucGFnaW5nT3B0aW9ucyA9IFBhZ2VkUmVxdWVzdE9wdGlvbnMuZnJvbVByb3RvKHByb3RvLnBhZ2luZ09wdGlvbnMpO31cbiAgICAgICAgaWYgKHByb3RvLmZpbHRlcnMpIHttLmZpbHRlcnMgPSBMaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEZpbHRlcnMuZnJvbVByb3RvKHByb3RvLmZpbHRlcnMpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRuZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydG5lcklkJ10gPSB0aGlzLnBhcnRuZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdpbmdPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBhZ2luZ09wdGlvbnMgIT09IG51bGwpIHt0b1JldHVyblsncGFnaW5nT3B0aW9ucyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wYWdpbmdPcHRpb25zID8gKHRoaXMucGFnaW5nT3B0aW9ucyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wYWdpbmdPcHRpb25zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbHRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmlsdGVycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWx0ZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpbHRlcnMgPyAodGhpcy5maWx0ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpbHRlcnM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlIGltcGxlbWVudHMgaS5MaXN0QXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGZpZWxkU2NoZW1hczogQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hW107XG4gICAgcGFnaW5nTWV0YWRhdGE6IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5maWVsZFNjaGVtYXMpIHttLmZpZWxkU2NoZW1hcyA9IHByb3RvLmZpZWxkU2NoZW1hcy5tYXAoQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ucGFnaW5nTWV0YWRhdGEpIHttLnBhZ2luZ01ldGFkYXRhID0gUGFnZWRSZXNwb25zZU1ldGFkYXRhLmZyb21Qcm90byhwcm90by5wYWdpbmdNZXRhZGF0YSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkU2NoZW1hcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5maWVsZFNjaGVtYXMgIT09IG51bGwpIHt0b1JldHVyblsnZmllbGRTY2hlbWFzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpZWxkU2NoZW1hcyA/ICh0aGlzLmZpZWxkU2NoZW1hcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5maWVsZFNjaGVtYXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nTWV0YWRhdGEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucGFnaW5nTWV0YWRhdGEgIT09IG51bGwpIHt0b1JldHVyblsncGFnaW5nTWV0YWRhdGEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nTWV0YWRhdGEgPyAodGhpcy5wYWdpbmdNZXRhZGF0YSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wYWdpbmdNZXRhZGF0YTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0QXV4aWxpYXJ5RGF0YVJlcXVlc3QgaW1wbGVtZW50cyBpLkxpc3RBdXhpbGlhcnlEYXRhUmVxdWVzdEludGVyZmFjZSB7XG4gICAgYXV4aWxpYXJ5RGF0YU9iamVjdElkOiBBdXhpbGlhcnlEYXRhT2JqZWN0SUQ7XG4gICAgcGFnaW5nT3B0aW9uczogUGFnZWRSZXF1ZXN0T3B0aW9ucztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RBdXhpbGlhcnlEYXRhUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RBdXhpbGlhcnlEYXRhUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5hdXhpbGlhcnlEYXRhT2JqZWN0SWQpIHttLmF1eGlsaWFyeURhdGFPYmplY3RJZCA9IEF1eGlsaWFyeURhdGFPYmplY3RJRC5mcm9tUHJvdG8ocHJvdG8uYXV4aWxpYXJ5RGF0YU9iamVjdElkKTt9XG4gICAgICAgIGlmIChwcm90by5wYWdpbmdPcHRpb25zKSB7bS5wYWdpbmdPcHRpb25zID0gUGFnZWRSZXF1ZXN0T3B0aW9ucy5mcm9tUHJvdG8ocHJvdG8ucGFnaW5nT3B0aW9ucyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RBdXhpbGlhcnlEYXRhUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXhpbGlhcnlEYXRhT2JqZWN0SWQgIT09IG51bGwpIHt0b1JldHVyblsnYXV4aWxpYXJ5RGF0YU9iamVjdElkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCA/ICh0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXhpbGlhcnlEYXRhT2JqZWN0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdPcHRpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ09wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nT3B0aW9ucyA/ICh0aGlzLnBhZ2luZ09wdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nT3B0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0QXV4aWxpYXJ5RGF0YVJlc3BvbnNlIGltcGxlbWVudHMgaS5MaXN0QXV4aWxpYXJ5RGF0YVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBqc29uU2NoZW1hOiBzdHJpbmc7XG4gICAganNvbkRhdGE6IHN0cmluZztcbiAgICBwYWdpbmdNZXRhZGF0YTogUGFnZWRSZXNwb25zZU1ldGFkYXRhO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdEF1eGlsaWFyeURhdGFSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IExpc3RBdXhpbGlhcnlEYXRhUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucGFnaW5nTWV0YWRhdGEpIHttLnBhZ2luZ01ldGFkYXRhID0gUGFnZWRSZXNwb25zZU1ldGFkYXRhLmZyb21Qcm90byhwcm90by5wYWdpbmdNZXRhZGF0YSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RBdXhpbGlhcnlEYXRhUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5qc29uU2NoZW1hICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydqc29uU2NoZW1hJ10gPSB0aGlzLmpzb25TY2hlbWE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuanNvbkRhdGEgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2pzb25EYXRhJ10gPSB0aGlzLmpzb25EYXRhO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhZ2luZ01ldGFkYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBhZ2luZ01ldGFkYXRhICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ01ldGFkYXRhJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBhZ2luZ01ldGFkYXRhID8gKHRoaXMucGFnaW5nTWV0YWRhdGEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nTWV0YWRhdGE7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5hcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCBpbXBsZW1lbnRzIGkuVW5hcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWRlbnRpZmllcjogRmllbGRTY2hlbWFJZGVudGlmaWVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVW5hcmNoaXZlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFVuYXJjaGl2ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaWRlbnRpZmllcikge20uaWRlbnRpZmllciA9IEZpZWxkU2NoZW1hSWRlbnRpZmllci5mcm9tUHJvdG8ocHJvdG8uaWRlbnRpZmllcik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlVuYXJjaGl2ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZGVudGlmaWVyICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmlkZW50aWZpZXIgIT09IG51bGwpIHt0b1JldHVyblsnaWRlbnRpZmllciddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5pZGVudGlmaWVyID8gKHRoaXMuaWRlbnRpZmllciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5pZGVudGlmaWVyO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QgaW1wbGVtZW50cyBpLlVwZGF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpZWxkU2NoZW1hOiBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWE7XG4gICAgZmllbGRNYXNrOiBGaWVsZE1hc2s7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBVcGRhdGVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVXBkYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5maWVsZFNjaGVtYSkge20uZmllbGRTY2hlbWEgPSBBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWEuZnJvbVByb3RvKHByb3RvLmZpZWxkU2NoZW1hKTt9XG4gICAgICAgIGlmIChwcm90by5maWVsZE1hc2spIHttLmZpZWxkTWFzayA9IEZpZWxkTWFzay5mcm9tUHJvdG8ocHJvdG8uZmllbGRNYXNrKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVXBkYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpZWxkU2NoZW1hICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZpZWxkU2NoZW1hICE9PSBudWxsKSB7dG9SZXR1cm5bJ2ZpZWxkU2NoZW1hJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpZWxkU2NoZW1hID8gKHRoaXMuZmllbGRTY2hlbWEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZmllbGRTY2hlbWE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGRNYXNrICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZpZWxkTWFzayAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWVsZE1hc2snXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmllbGRNYXNrID8gKHRoaXMuZmllbGRNYXNrIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpZWxkTWFzazt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcHNlcnRBdXhpbGlhcnlEYXRhUmVxdWVzdCBpbXBsZW1lbnRzIGkuVXBzZXJ0QXV4aWxpYXJ5RGF0YVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGF1eGlsaWFyeURhdGFPYmplY3RJZDogQXV4aWxpYXJ5RGF0YU9iamVjdElEO1xuICAgIGZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbnM6IEZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbltdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVXBzZXJ0QXV4aWxpYXJ5RGF0YVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBVcHNlcnRBdXhpbGlhcnlEYXRhUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5hdXhpbGlhcnlEYXRhT2JqZWN0SWQpIHttLmF1eGlsaWFyeURhdGFPYmplY3RJZCA9IEF1eGlsaWFyeURhdGFPYmplY3RJRC5mcm9tUHJvdG8ocHJvdG8uYXV4aWxpYXJ5RGF0YU9iamVjdElkKTt9XG4gICAgICAgIGlmIChwcm90by5maWVsZERhdGFVcHNlcnRPcGVyYXRpb25zKSB7bS5maWVsZERhdGFVcHNlcnRPcGVyYXRpb25zID0gcHJvdG8uZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucy5tYXAoRmllbGREYXRhVXBzZXJ0T3BlcmF0aW9uLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlVwc2VydEF1eGlsaWFyeURhdGFSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV4aWxpYXJ5RGF0YU9iamVjdElkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZCAhPT0gbnVsbCkge3RvUmV0dXJuWydhdXhpbGlhcnlEYXRhT2JqZWN0SWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXV4aWxpYXJ5RGF0YU9iamVjdElkID8gKHRoaXMuYXV4aWxpYXJ5RGF0YU9iamVjdElkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmF1eGlsaWFyeURhdGFPYmplY3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZERhdGFVcHNlcnRPcGVyYXRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZpZWxkRGF0YVVwc2VydE9wZXJhdGlvbnMgIT09IG51bGwpIHt0b1JldHVyblsnZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5maWVsZERhdGFVcHNlcnRPcGVyYXRpb25zID8gKHRoaXMuZmllbGREYXRhVXBzZXJ0T3BlcmF0aW9ucyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5maWVsZERhdGFVcHNlcnRPcGVyYXRpb25zO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -15,5 +15,5 @@ export { DeleteCategoryRequest, GetCategoriesRequest, GetCategoriesResponse, Mar
|
|
|
15
15
|
export { AppPrice, AppPrices, BillingConfiguration, Commitment, Discount, FrequencyPrice, FrequencyPrices, InstancePrice, AppPricesPricesForContextsEntry, UnitPricePricesForCurrenciesEntry, AppPricePricesForEditionsEntry, PricingRule, RequestedApp, UnitPrice, } from './app-price';
|
|
16
16
|
export { GetMultiPricingRequest, GetMultiPricingResponse, } from './app-price-api';
|
|
17
17
|
export { PagedRequestOptions, PagedResponseMetadata, } from './paging';
|
|
18
|
-
export { ArchiveAuxiliaryDataFieldSchemaRequest, AuxiliaryDataFieldSchema, AuxiliaryDataObjectID, CreateAuxiliaryDataFieldSchemaRequest, DropdownOption, FieldDataUpsertOperation, FieldSchemaIdentifier, ListAuxiliaryDataFieldSchemaRequestFilters, GetAuxiliaryDataFieldSchemaRequest, GetAuxiliaryDataFieldSchemaResponse, ListAuxiliaryDataFieldSchemaRequest, ListAuxiliaryDataFieldSchemaResponse, ListAuxiliaryDataRequest, ListAuxiliaryDataResponse, UnarchiveAuxiliaryDataFieldSchemaRequest, UpdateAuxiliaryDataFieldSchemaRequest, UpsertAuxiliaryDataRequest, } from './fields';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
export { ArchiveAuxiliaryDataFieldSchemaRequest, AuxiliaryDataFieldSchema, AuxiliaryDataObjectID, CreateAuxiliaryDataFieldSchemaRequest, DropdownOption, FieldDataUpsertOperation, FieldSchemaIdentifier, ListAuxiliaryDataFieldSchemaRequestFilters, GetAuxiliaryDataFieldSchemaRequest, GetAuxiliaryDataFieldSchemaResponse, GetMultiAuxiliaryDataFieldSchemaRequest, GetMultiAuxiliaryDataFieldSchemaResponse, ListAuxiliaryDataFieldSchemaRequest, ListAuxiliaryDataFieldSchemaResponse, ListAuxiliaryDataRequest, ListAuxiliaryDataResponse, UnarchiveAuxiliaryDataFieldSchemaRequest, UpdateAuxiliaryDataFieldSchemaRequest, UpsertAuxiliaryDataRequest, } from './fields';
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tYXJrZXRwbGFjZV9hcHBzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsR0FBRyxFQUNILE1BQU0sRUFDTixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsS0FBSyxFQUNMLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsY0FBYyxFQUNkLDBCQUEwQixFQUMxQixrQkFBa0IsR0FDckIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLEtBQUssR0FDUixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDSCxvQkFBb0IsR0FDdkIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0gsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDSCxTQUFTLEdBQ1osTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQiw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsMkNBQTJDLEVBQzNDLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsa0NBQWtDLEVBQ2xDLHFCQUFxQixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsTUFBTSxFQUNOLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLGNBQWMsRUFDZCxTQUFTLEVBQ1QsR0FBRyxFQUNILGNBQWMsRUFDZCxnQkFBZ0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixjQUFjLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNILFFBQVEsRUFDUixTQUFTLEVBQ1Qsb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixRQUFRLEVBQ1IsY0FBYyxFQUNkLGVBQWUsRUFDZixhQUFhLEVBQ2IsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsV0FBVyxFQUNYLFlBQVksRUFDWixTQUFTLEdBQ1osTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNILHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN4QixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsc0NBQXNDLEVBQ3RDLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIscUNBQXFDLEVBQ3JDLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLDBDQUEwQyxFQUMxQyxrQ0FBa0MsRUFDbEMsbUNBQW1DLEVBQ25DLHVDQUF1QyxFQUN2Qyx3Q0FBd0MsRUFDeEMsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLHdDQUF3QyxFQUN4QyxxQ0FBcUMsRUFDckMsMEJBQTBCLEdBQzdCLE1BQU0sVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzIEluZGV4LlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5leHBvcnQge1xuICAgIEFjdGl2YXRpb25JbmZvcm1hdGlvbixcbiAgICBBcHAsXG4gICAgQXBwS2V5LFxuICAgIEFwcFJlc3RyaWN0aW9ucyxcbiAgICBCYXNpY0ludGVncmF0aW9uLFxuICAgIFJlcXVpcmVkUGFyZW50RGV0YWlscyxcbiAgICBFZGl0aW9uLFxuICAgIEVkaXRpb25JZGVudGlmaWVyLFxuICAgIEVkaXRpb25JbmZvcm1hdGlvbixcbiAgICBFbmRVc2VyTWFya2V0aW5nSW5mb3JtYXRpb24sXG4gICAgRXh0ZXJuYWxJZGVudGlmaWVycyxcbiAgICBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMsXG4gICAgUGVybWlzc2lvbkxpc3RzLFxuICAgIFByaWNlLFxuICAgIFJlcXVpcmVkQnVzaW5lc3NEYXRhLFxuICAgIFJlcXVpcmVkUGFyZW50LFxuICAgIFNTT0ludGVncmF0aW9uLFxuICAgIFNoYXJlZE1hcmtldGluZ0luZm9ybWF0aW9uLFxuICAgIFRyaWFsQ29uZmlndXJhdGlvbixcbn0gZnJvbSAnLi9tYXJrZXRwbGFjZS1hcHAnO1xuXG5leHBvcnQge1xuICAgIEFwcFNldHRpbmdzLFxuICAgIEF1dG9BY3RpdmF0aW9uLFxuICAgIEJyYW5kaW5nLFxuICAgIEVkaXRpb25DaGFuZ2UsXG4gICAgVHJpYWwsXG59IGZyb20gJy4vYXBwLXNldHRpbmdzJztcblxuZXhwb3J0IHtcbiAgICBVcGdyYWRlRGlhbG9nQ29udGVudCxcbn0gZnJvbSAnLi91cGdyYWRlLWRpYWxvZy1jb250ZW50JztcblxuZXhwb3J0IHtcbiAgICBBY2Nlc3MsXG59IGZyb20gJy4vYW5ub3RhdGlvbnMnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFzayxcbn0gZnJvbSAnLi9maWVsZC1tYXNrJztcblxuZXhwb3J0IHtcbiAgICBHZXRBcHBTZXR0aW5nc1JlcXVlc3QsXG4gICAgR2V0QXBwU2V0dGluZ3NSZXNwb25zZSxcbiAgICBHZXRNdWx0aUFwcFJlcXVlc3QsXG4gICAgR2V0TXVsdGlBcHBSZXNwb25zZSxcbiAgICBHZXRVcGdyYWRlRGlhbG9nQ29udGVudFJlcXVlc3QsXG4gICAgR2V0VXBncmFkZURpYWxvZ0NvbnRlbnRSZXNwb25zZSxcbiAgICBMaXN0QXBwU2V0dGluZ3NSZXF1ZXN0LFxuICAgIExpc3RBcHBTZXR0aW5nc1Jlc3BvbnNlLFxuICAgIExpc3RQYXJ0bmVyRW5hYmxlZEFwcHNSZXF1ZXN0TGlzdEFwcHNGaWx0ZXIsXG4gICAgTGlzdFBhcnRuZXJFbmFibGVkQXBwc1JlcXVlc3QsXG4gICAgTGlzdFBhcnRuZXJFbmFibGVkQXBwc1Jlc3BvbnNlLFxuICAgIFByb2R1Y3RTdWdnZXN0aW9uLFxuICAgIFJlcGxhY2VBcHBTZXR0aW5nc1JlcXVlc3QsXG4gICAgUmVwbGFjZUFwcFNldHRpbmdzUmVzcG9uc2UsXG4gICAgUmVwbGFjZVVwZ3JhZGVEaWFsb2dDb250ZW50UmVxdWVzdCxcbiAgICBTdWdnZXN0UHJvZHVjdFJlcXVlc3QsXG59IGZyb20gJy4vcGFydG5lci1hcGknO1xuXG5leHBvcnQge1xuICAgIEFwcFRhZyxcbiAgICBHZXRNdWx0aUFwcERhdGFSZXF1ZXN0LFxuICAgIEdldE11bHRpQXBwRGF0YVJlc3BvbnNlLFxuICAgIEtpbmRWYWx1ZXMsXG4gICAgTGlzdEFwcElEc0J5TXVsdGlUYWdSZXF1ZXN0LFxuICAgIExpc3RBcHBJRHNCeU11bHRpVGFnUmVzcG9uc2UsXG4gICAgTGlzdEJ5TXVsdGlUYWdSZXF1ZXN0LFxuICAgIExpc3RCeU11bHRpVGFnUmVzcG9uc2UsXG4gICAgTGlzdFZhbHVlc0J5TXVsdGlLaW5kUmVxdWVzdCxcbiAgICBMaXN0VmFsdWVzQnlNdWx0aUtpbmRSZXNwb25zZSxcbiAgICBNYXJrZXRwbGFjZUFwcCxcbiAgICBTY29wZWRUYWcsXG4gICAgVGFnLFxuICAgIFRhZ0FwcHNSZXF1ZXN0LFxuICAgIFVudGFnQXBwc1JlcXVlc3QsXG59IGZyb20gJy4vYXBwLWRhdGEtYXBpJztcblxuZXhwb3J0IHtcbiAgICBEZWxldGVDYXRlZ29yeVJlcXVlc3QsXG4gICAgR2V0Q2F0ZWdvcmllc1JlcXVlc3QsXG4gICAgR2V0Q2F0ZWdvcmllc1Jlc3BvbnNlLFxuICAgIE1hcmtldHBsYWNlQ2F0ZWdvcnksXG4gICAgVXBzZXJ0UmVxdWVzdCxcbiAgICBVcHNlcnRSZXNwb25zZSxcbn0gZnJvbSAnLi9jYXRlZ29yeS1hcGknO1xuXG5leHBvcnQge1xuICAgIEFwcFByaWNlLFxuICAgIEFwcFByaWNlcyxcbiAgICBCaWxsaW5nQ29uZmlndXJhdGlvbixcbiAgICBDb21taXRtZW50LFxuICAgIERpc2NvdW50LFxuICAgIEZyZXF1ZW5jeVByaWNlLFxuICAgIEZyZXF1ZW5jeVByaWNlcyxcbiAgICBJbnN0YW5jZVByaWNlLFxuICAgIEFwcFByaWNlc1ByaWNlc0ZvckNvbnRleHRzRW50cnksXG4gICAgVW5pdFByaWNlUHJpY2VzRm9yQ3VycmVuY2llc0VudHJ5LFxuICAgIEFwcFByaWNlUHJpY2VzRm9yRWRpdGlvbnNFbnRyeSxcbiAgICBQcmljaW5nUnVsZSxcbiAgICBSZXF1ZXN0ZWRBcHAsXG4gICAgVW5pdFByaWNlLFxufSBmcm9tICcuL2FwcC1wcmljZSc7XG5cbmV4cG9ydCB7XG4gICAgR2V0TXVsdGlQcmljaW5nUmVxdWVzdCxcbiAgICBHZXRNdWx0aVByaWNpbmdSZXNwb25zZSxcbn0gZnJvbSAnLi9hcHAtcHJpY2UtYXBpJztcblxuZXhwb3J0IHtcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSxcbn0gZnJvbSAnLi9wYWdpbmcnO1xuXG5leHBvcnQge1xuICAgIEFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0LFxuICAgIEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYSxcbiAgICBBdXhpbGlhcnlEYXRhT2JqZWN0SUQsXG4gICAgQ3JlYXRlQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCxcbiAgICBEcm9wZG93bk9wdGlvbixcbiAgICBGaWVsZERhdGFVcHNlcnRPcGVyYXRpb24sXG4gICAgRmllbGRTY2hlbWFJZGVudGlmaWVyLFxuICAgIExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0RmlsdGVycyxcbiAgICBHZXRBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0LFxuICAgIEdldEF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlLFxuICAgIEdldE11bHRpQXV4aWxpYXJ5RGF0YUZpZWxkU2NoZW1hUmVxdWVzdCxcbiAgICBHZXRNdWx0aUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlc3BvbnNlLFxuICAgIExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0LFxuICAgIExpc3RBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXNwb25zZSxcbiAgICBMaXN0QXV4aWxpYXJ5RGF0YVJlcXVlc3QsXG4gICAgTGlzdEF1eGlsaWFyeURhdGFSZXNwb25zZSxcbiAgICBVbmFyY2hpdmVBdXhpbGlhcnlEYXRhRmllbGRTY2hlbWFSZXF1ZXN0LFxuICAgIFVwZGF0ZUF1eGlsaWFyeURhdGFGaWVsZFNjaGVtYVJlcXVlc3QsXG4gICAgVXBzZXJ0QXV4aWxpYXJ5RGF0YVJlcXVlc3QsXG59IGZyb20gJy4vZmllbGRzJztcblxuIl19
|