@experteam-mx/ngx-services 18.9.17 → 18.9.18
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/esm2022/lib/apis/api-invoices.service.mjs +56 -1
- package/esm2022/lib/apis/models/api-invoices.interfaces.mjs +1 -1
- package/esm2022/lib/apis/models/api-invoices.types.mjs +1 -1
- package/fesm2022/experteam-mx-ngx-services.mjs +55 -0
- package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
- package/lib/apis/api-invoices.service.d.ts +38 -1
- package/lib/apis/models/api-invoices.interfaces.d.ts +30 -20
- package/lib/apis/models/api-invoices.types.d.ts +42 -1
- package/package.json +1 -1
|
@@ -383,6 +383,61 @@ export class ApiInvoicesService {
|
|
|
383
383
|
return this.http.get(`${this.url}/operation/print/xml/${documentId}`)
|
|
384
384
|
.pipe(map(({ data }) => data));
|
|
385
385
|
}
|
|
386
|
+
/**
|
|
387
|
+
* Retrieves a list of providers based on the provided query parameters.
|
|
388
|
+
* @param params - Query parameters to filter or paginate the providers list
|
|
389
|
+
* @returns An Observable that emits the providers data
|
|
390
|
+
*/
|
|
391
|
+
getProviders(params) {
|
|
392
|
+
return this.http.get(`${this.url}/providers`, { params })
|
|
393
|
+
.pipe(map(({ data }) => data));
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Retrieves the document type ranges based on the provided query parameters.
|
|
397
|
+
* @param params - The query parameters to filter document type ranges
|
|
398
|
+
* @returns An Observable that emits the document type ranges data
|
|
399
|
+
*/
|
|
400
|
+
getDocumentsTypesRanges(params) {
|
|
401
|
+
return this.http.get(`${this.url}/document-type-ranges`, { params })
|
|
402
|
+
.pipe(map(({ data }) => data));
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Creates a new document type range.
|
|
406
|
+
* @param body - The document type range data to create
|
|
407
|
+
* @returns An observable that emits the created document type range
|
|
408
|
+
*/
|
|
409
|
+
postDocumentTypeRange(body) {
|
|
410
|
+
return this.http.post(`${this.url}/document-type-ranges`, body)
|
|
411
|
+
.pipe(map(({ data }) => data));
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Deletes a document type range by its identifier.
|
|
415
|
+
* @param id - The unique identifier of the document type range to delete
|
|
416
|
+
* @returns An Observable that emits the deleted DocumentTypeRangeOut object
|
|
417
|
+
*/
|
|
418
|
+
deleteDocumentsTypesRange(id) {
|
|
419
|
+
return this.http.delete(`${this.url}/document-type-ranges/${id}`)
|
|
420
|
+
.pipe(map(({ data }) => data));
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Updates a document type range for a given ID.
|
|
424
|
+
* @param id - The unique identifier of the document type range to update
|
|
425
|
+
* @param data - The document type range data to update
|
|
426
|
+
* @returns An Observable that emits the updated DocumentTypeRangeOut object
|
|
427
|
+
*/
|
|
428
|
+
putDocumentsTypeRange(id, data) {
|
|
429
|
+
return this.http.put(`${this.url}/document-type-ranges/${id}`, data)
|
|
430
|
+
.pipe(map(({ data }) => data));
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Retrieves the list of document types available for a specific country.
|
|
434
|
+
* @param params - Query parameters to filter or customize the country document types request
|
|
435
|
+
* @returns Observable containing the country document types data
|
|
436
|
+
*/
|
|
437
|
+
getCountryDocumentsTypes(params) {
|
|
438
|
+
return this.http.get(`${this.url}/country-document-types`, { params })
|
|
439
|
+
.pipe(map(({ data }) => data));
|
|
440
|
+
}
|
|
386
441
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInvoicesService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
387
442
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInvoicesService, providedIn: 'root' });
|
|
388
443
|
}
|
|
@@ -395,4 +450,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
395
450
|
type: Inject,
|
|
396
451
|
args: ['env']
|
|
397
452
|
}] }, { type: i1.HttpClient }] });
|
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWludm9pY2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktaW52b2ljZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUEyQ3RDLE1BQU0sT0FBTyxrQkFBa0I7SUFFSjtJQUNmO0lBRlYsWUFDeUIsWUFBeUIsRUFDeEMsSUFBZ0I7UUFERCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3RCLENBQUM7SUFFTDs7OztPQUlHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUE7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUUsSUFBeUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyxxQkFBcUIsRUFBRSxJQUFJLENBQUM7YUFDNUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gseUJBQXlCLENBQUUsRUFBVTtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF3QyxHQUFHLElBQUksQ0FBQyxHQUFHLHVDQUF1QyxFQUFFLEVBQUUsQ0FBQzthQUNoSCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFD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LEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQzt3R0E5WlUsa0JBQWtCLGtCQUVuQixLQUFLOzRHQUZKLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBDYW5jZWxQYXltZW50UmVjZWlwdEluLFxyXG4gIENvdW50cnlQYXltZW50VHlwZUZpZWxkSW4sXHJcbiAgQ291bnRyeVBheW1lbnRUeXBlRmllbGRPdXQsXHJcbiAgQ291bnRyeVBheW1lbnRUeXBlRmllbGRzT3V0LFxyXG4gIENvdW50cnlQYXltZW50VHlwZUluLFxyXG4gIENvdW50cnlQYXltZW50VHlwZU91dCxcclxuICBDb3VudHJ5UGF5bWVudFR5cGVzT3V0LFxyXG4gIEN1c3RvbWVyRG9jdW1lbnRUeXBlc091dCxcclxuICBDdXN0b21lcnNPdXQsXHJcbiAgQ3VzdG9tZXJUeXBlc091dCxcclxuICBEb2N1bWVudFN0YXR1c2VzT3V0LFxyXG4gIEdldERvY3VtZW50c091dCxcclxuICBPcGVyYXRpb25BY2NvdW50UGF5bWVudEluLFxyXG4gIE9wZXJhdGlvbkFjY291bnRQYXltZW50T3V0LFxyXG4gIE9wZXJhdGlvbkNhbmNlbEJpbGxpbmdJbixcclxuICBPcGVyYXRpb25DYW5jZWxCaWxsaW5nT3V0LFxyXG4gIE9wZXJhdGlvbkRvY3VtZW50SW4sXHJcbiAgT3BlcmF0aW9uRG9jdW1lbnRPdXQsXHJcbiAgT3BlcmF0aW9uRG9jdW1lbnRSZXF1ZXN0c091dCxcclxuICBPcGVyYXRpb25QcmludERvY3VtZW50T3V0LFxyXG4gIE9wZXJhdGlvblByaW50WG1sT3V0LFxyXG4gIE9wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxJbixcclxuICBPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsT3V0LFxyXG4gIFBheW1lbnRUeXBlRmllbGRBY2NvdW50SW4sXHJcbiAgUGF5bWVudFR5cGVGaWVsZEFjY291bnRPdXQsXHJcbiAgUGF5bWVudFR5cGVGaWVsZEFjY291bnRzT3V0LFxyXG4gIFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZUluLFxyXG4gIFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZU91dCxcclxuICBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVzT3V0LFxyXG4gIFBheW1lbnRUeXBlc091dCxcclxuICBQcmludENvbGxlY3Rpb25SZWNlaXB0T3V0LFxyXG4gIFRvbGVyYW5jZUluLFxyXG4gIFRvbGVyYW5jZU91dCxcclxuICBUb2xlcmFuY2VzT3V0LFxyXG59IGZyb20gJy4vbW9kZWxzL2FwaS1pbnZvaWNlcy50eXBlcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcywgUXVlcnlQYXJhbXMgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpSW52b2ljZXNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIEFQSSBVUkwgZm9yIGludm9pY2VzIGZyb20gdGhlIGVudmlyb25tZW50cyBjb25maWd1cmF0aW9uLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgQVBJIFVSTCBmb3IgaW52b2ljZXMuXHJcbiAgICovXHJcbiAgZ2V0IHVybCAoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50cy5hcGlJbnZvaWNlc1VybCA/PyAnJ1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYW4gb3BlcmF0aW9uIGRvY3VtZW50IHRvIHRoZSBzZXJ2ZXIgYW5kIHByb2Nlc3NlcyB0aGUgcmVzcG9uc2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09wZXJhdGlvbkRvY3VtZW50SW59IGJvZHkgLSBUaGUgaW5wdXQgZGF0YSBmb3IgdGhlIG9wZXJhdGlvbiBkb2N1bWVudC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9wZXJhdGlvbkRvY3VtZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBwcm9jZXNzZWQgb3BlcmF0aW9uIGRvY3VtZW50IG91dHB1dC5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uRG9jdW1lbnQgKGJvZHk6IE9wZXJhdGlvbkRvY3VtZW50SW4pOiBPYnNlcnZhYmxlPE9wZXJhdGlvbkRvY3VtZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxPcGVyYXRpb25Eb2N1bWVudE91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vZG9jdW1lbnRgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYW5kIHJldHVybnMgdGhlIGNvbGxlY3Rpb24gcmVjZWlwdCBkYXRhIGZvciBhIGdpdmVuIGNvbGxlY3Rpb24gSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gZm9yIHdoaWNoIHRoZSByZWNlaXB0IG5lZWRzIHRvIGJlIHJldHJpZXZlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFByaW50Q29sbGVjdGlvblJlY2VpcHRPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGNvbGxlY3Rpb24gcmVjZWlwdCBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFByaW50Q29sbGVjdGlvblJlY2VpcHQgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFByaW50Q29sbGVjdGlvblJlY2VpcHRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UHJpbnRDb2xsZWN0aW9uUmVjZWlwdE91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vcHJpbnQvY29sbGVjdGlvbi1yZWNlaXB0LyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBhY2NvdW50IHBheW1lbnQgb3BlcmF0aW9uIGJ5IHNlbmRpbmcgYSBQT1NUIHJlcXVlc3QgdG8gdGhlIHNwZWNpZmllZCBlbmRwb2ludC5cclxuICAgKiBQcm9jZXNzZXMgdGhlIHJlc3BvbnNlIGFuZCByZXR1cm5zIHRoZSBvcGVyYXRpb24gZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uQWNjb3VudFBheW1lbnRJbn0gYm9keSBUaGUgcGF5bG9hZCBjb250YWluaW5nIGluZm9ybWF0aW9uIGZvciB0aGUgYWNjb3VudCBwYXltZW50IG9wZXJhdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9wZXJhdGlvbkFjY291bnRQYXltZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcHJvY2Vzc2VkIGFjY291bnQgcGF5bWVudCBvcGVyYXRpb24gZGF0YS5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uQWNjb3VudFBheW1lbnQgKGJvZHk6IE9wZXJhdGlvbkFjY291bnRQYXltZW50SW4pOiBPYnNlcnZhYmxlPE9wZXJhdGlvbkFjY291bnRQYXltZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxPcGVyYXRpb25BY2NvdW50UGF5bWVudE91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vYWNjb3VudC1wYXltZW50YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxzIGEgcGF5bWVudCByZWNlaXB0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBpbnB1dC5cclxuICAgKiBUaGlzIG1ldGhvZCBzZW5kcyBhIFBPU1QgcmVxdWVzdCB0byBjYW5jZWwgYSBkb2N1bWVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBib2R5IFRoZSBkYXRhIHJlcXVpcmVkIHRvIGNhbmNlbCB0aGUgcGF5bWVudCByZWNlaXB0LCBlbmNhcHN1bGF0ZWQgaW4gYSBDYW5jZWxQYXltZW50UmVjZWlwdEluIG9iamVjdC5cclxuICAgKiBAcmV0dXJuIEFuIE9ic2VydmFibGUgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgdGhlIGNhbmNlbGxhdGlvbi4gRW1pdHMgYW4gZW1wdHkgb2JqZWN0IG9uIHN1Y2Nlc3MuXHJcbiAgICovXHJcbiAgcG9zdE9wZXJhdGlvbkNhbmNlbERvY3VtZW50IChib2R5OiBDYW5jZWxQYXltZW50UmVjZWlwdEluKTogT2JzZXJ2YWJsZTx7fT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8e30+PihgJHt0aGlzLnVybH0vb3BlcmF0aW9uL2NhbmNlbC1kb2N1bWVudGAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY2FuY2VsIGJpbGxpbmcgZm9yIGEgc3BlY2lmaWMgb3BlcmF0aW9uLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2FuY2VsbGF0aW9uIHJlcXVlc3QuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5pbnZvaWNlSWQgLSBUaGUgSUQgb2YgdGhlIGludm9pY2UgdG8gYmUgY2FuY2VsZWQuXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcy5ib2R5IC0gQWRkaXRpb25hbCBkYXRhIHRvIGJlIHNlbnQgaW4gdGhlIHJlcXVlc3QgYm9keS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9wZXJhdGlvbkNhbmNlbEJpbGxpbmdPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSByZXN1bHQgb2YgdGhlIGNhbmNlbGxhdGlvbiBvcGVyYXRpb24uXHJcbiAgICovXHJcbiAgcG9zdE9wZXJhdGlvbkNhbmNlbEJpbGxpbmcgKHsgaW52b2ljZUlkLCAuLi5ib2R5IH06IE9wZXJhdGlvbkNhbmNlbEJpbGxpbmdJbik6IE9ic2VydmFibGU8T3BlcmF0aW9uQ2FuY2VsQmlsbGluZ091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8T3BlcmF0aW9uQ2FuY2VsQmlsbGluZ091dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vY2FuY2VsLWJpbGxpbmcvJHtpbnZvaWNlSWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBjdXN0b21lciB0eXBlcyBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBvciBjdXN0b21pemUgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDdXN0b21lclR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgY3VzdG9tZXIgdHlwZXMgZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICovXHJcbiAgZ2V0Q3VzdG9tZXJUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q3VzdG9tZXJUeXBlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDdXN0b21lclR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L2N1c3RvbWVyLXR5cGVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgZG9jdW1lbnQgdHlwZXMgc3BlY2lmaWMgdG8gYSBnaXZlbiBjb3VudHJ5LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgY29udGFpbmluZyBjb3VudHJ5LXNwZWNpZmljIGluZm9ybWF0aW9uLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q3VzdG9tZXJEb2N1bWVudFR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgZG9jdW1lbnQgdHlwZXMgYXZhaWxhYmxlIGZvciB0aGUgc3BlY2lmaWVkIGNvdW50cnkuXHJcbiAgICovXHJcbiAgZ2V0Q3VzdG9tZXJEb2N1bWVudFR5cGVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDdXN0b21lckRvY3VtZW50VHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q3VzdG9tZXJEb2N1bWVudFR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L2N1c3RvbWVyLWNvdW50cnktZG9jdW1lbnQtdHlwZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgY3VzdG9tZXIgaW52b2ljZSBkZXRhaWxzIGZpbHRlcmVkIGJ5IGEgY3VzdG9tIGludm9pY2UgdHlwZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7SW52b2ljZVR5cGVDdXN0b21QYXJhbXNJbn0gcGFyYW1zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZpbHRlciBwYXJhbWV0ZXJzIGZvciB0aGUgY3VzdG9tIGludm9pY2UgdHlwZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEN1c3RvbWVyc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyBjdXN0b21lciBpbnZvaWNlIGRldGFpbHMgb2YgdGhlIHNwZWNpZmllZCB0eXBlLlxyXG4gICAqL1xyXG4gIGdldEN1c3RvbWVycyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q3VzdG9tZXJzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEN1c3RvbWVyc091dD4+KGAke3RoaXMudXJsfS9jdXN0b21lcnNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBvciB1cGRhdGUgYW4gZXh0ZXJuYWwgc2hpcG1lbnQgb3BlcmF0aW9uLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsSW59IHBhcmFtcyAtIFRoZSBpbnB1dCBwYXJhbWV0ZXJzIGZvciB0aGUgZXh0ZXJuYWwgc2hpcG1lbnQgb3BlcmF0aW9uLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbE91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSBleHRlcm5hbCBzaGlwbWVudCBvcGVyYXRpb24uXHJcbiAgICovXHJcbiAgcG9zdE9wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWwgKHBhcmFtczogT3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbEluKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsT3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9zaGlwbWVudC9leHRlcm5hbGAsIHBhcmFtcylcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcm9jZXNzZXMgYW4gZXh0ZXJuYWwgcGF5bWVudCBvcGVyYXRpb24gZm9yIGEgc2hpcG1lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxJbn0gcGFyYW1zIC0gVGhlIGlucHV0IHBhcmFtZXRlcnMgcmVxdWlyZWQgZm9yIHRoZSBleHRlcm5hbCBwYXltZW50IG9wZXJhdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgZXh0ZXJuYWwgcGF5bWVudCBvcGVyYXRpb24gZm9yIGEgc2hpcG1lbnQuXHJcbiAgICovXHJcbiAgcG9zdE9wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxQYXltZW50IChwYXJhbXM6IE9wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxJbik6IE9ic2VydmFibGU8T3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8T3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbE91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vc2hpcG1lbnQvZXh0ZXJuYWwvcGF5bWVudGAsIHBhcmFtcylcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYW5kIHJldHVybnMgYmlsbGluZyBvcGVyYXRpb24gcHJpbnQgZGV0YWlscyBmb3IgYSBnaXZlbiBkb2N1bWVudCBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkb2N1bWVudElkIC0gVGhlIElEIG9mIHRoZSBkb2N1bWVudCBmb3Igd2hpY2ggdG8gZmV0Y2ggdGhlIHByaW50IGJpbGxpbmcgb3BlcmF0aW9uIGRldGFpbHMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPcGVyYXRpb25QcmludERvY3VtZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcHJpbnQgYmlsbGluZyBvcGVyYXRpb24gZGV0YWlscyBmb3IgdGhlIHNwZWNpZmllZCBkb2N1bWVudC5cclxuICAgKi9cclxuICBnZXRPcGVyYXRpb25QcmludERvY3VtZW50IChkb2N1bWVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE9wZXJhdGlvblByaW50RG9jdW1lbnRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8T3BlcmF0aW9uUHJpbnREb2N1bWVudE91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vcHJpbnQvZG9jdW1lbnQvJHtkb2N1bWVudElkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhbGwgY291bnRyeSBwYXltZW50IHR5cGVzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gUXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgb3IgY3VzdG9taXplIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlc091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIGNvdW50cnkgcGF5bWVudCB0eXBlcyBmZXRjaGVkIGZyb20gdGhlIHNlcnZlci5cclxuICAgKi9cclxuICBnZXRDb3VudHJ5UGF5bWVudFR5cGVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvdW50cnlQYXltZW50VHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyeS1wYXltZW50LXR5cGVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIGNvdW50cnkgcGF5bWVudCB0eXBlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIElEIG9mIHRoZSBjb3VudHJ5IHBheW1lbnQgdHlwZSB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtDb3VudHJ5UGF5bWVudFR5cGVJbn0gYm9keSAtIFRoZSB1cGRhdGVkIGRhdGEgZm9yIHRoZSBjb3VudHJ5IHBheW1lbnQgdHlwZS5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgdXBkYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwdXRDb3VudHJ5UGF5bWVudFR5cGUgKGlkOiBudW1iZXIsIGJvZHk6IENvdW50cnlQYXltZW50VHlwZUluKTogT2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8Q291bnRyeVBheW1lbnRUeXBlT3V0Pj4oYCR7dGhpcy51cmx9L2NvdW50cnktcGF5bWVudC10eXBlcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGFuIGV4aXN0aW5nIGNvdW50cnkgcGF5bWVudCB0eXBlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjb3VudHJ5IHBheW1lbnQgdHlwZSB0byBiZSBkZWxldGVkLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSBkZWxldGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIGRlbGV0ZUNvdW50cnlQYXltZW50VHlwZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPENvdW50cnlQYXltZW50VHlwZU91dD4+KGAke3RoaXMudXJsfS9jb3VudHJ5LXBheW1lbnQtdHlwZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIG5ldyBjb3VudHJ5IHBheW1lbnQgdHlwZSByZXNvdXJjZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7Q291bnRyeVBheW1lbnRUeXBlSW59IGJvZHkgLSBUaGUgaW5wdXQgcGFyYW1ldGVycyByZXF1aXJlZCBmb3IgY3JlYXRlIGEgbmV3IGNvdW50cnkgcGF5bWVudCB0eXBlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgY3JlYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwb3N0Q291bnRyeVBheW1lbnRUeXBlIChib2R5OiBDb3VudHJ5UGF5bWVudFR5cGVJbik6IE9ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyeS1wYXltZW50LXR5cGVzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYW5kIHJldHVybnMgYSBjb3VudHJ5IHBheW1lbnQgdHlwZSBmb3IgYSBnaXZlbiBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBJRCBvZiB0aGUgY291bnRyeSBwYXltZW50IHR5cGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBzaG93IG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBnZXRDb3VudHJ5UGF5bWVudFR5cGUgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyeS1wYXltZW50LXR5cGVzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGFsbCBjb3VudHJ5IHBheW1lbnQgdHlwZSBmaWVsZHMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBvciBjdXN0b21pemUgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVGaWVsZHNPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBjb3VudHJ5IHBheW1lbnQgdHlwZSBmaWVsZHMgZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICovXHJcbiAgZ2V0Q291bnRyeVBheW1lbnRUeXBlRmllbGRzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVGaWVsZHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeVBheW1lbnRUeXBlRmllbGRzT3V0Pj4oYCR7dGhpcy51cmx9L2NvdW50cnktcGF5bWVudC10eXBlLWZpZWxkc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgbmV3IGNvdW50cnkgcGF5bWVudCB0eXBlIGZpZWxkIHJlc291cmNlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDb3VudHJ5UGF5bWVudFR5cGVGaWVsZElufSBib2R5IC0gVGhlIGlucHV0IHBhcmFtZXRlcnMgcmVxdWlyZWQgZm9yIGNyZWF0ZSBhIG5ldyBjb3VudHJ5IHBheW1lbnQgdHlwZSBmaWVsZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZUZpZWxkT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgY3JlYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwb3N0Q291bnRyeVBheW1lbnRUeXBlRmllbGQgKGJvZHk6IENvdW50cnlQYXltZW50VHlwZUZpZWxkSW4pOiBPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZUZpZWxkT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxDb3VudHJ5UGF5bWVudFR5cGVGaWVsZE91dD4+KGAke3RoaXMudXJsfS9jb3VudHJ5LXBheW1lbnQtdHlwZS1maWVsZHNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgY291bnRyeSBwYXltZW50IHR5cGUgZmllbGQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIGNvdW50cnkgcGF5bWVudCB0eXBlIGZpZWxkIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0NvdW50cnlQYXltZW50VHlwZUZpZWxkSW59IGJvZHkgLSBUaGUgdXBkYXRlZCBkYXRhIGZvciB0aGUgY291bnRyeSBwYXltZW50IHR5cGUgZmllbGQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlRmllbGRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgdXBkYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwdXRDb3VudHJ5UGF5bWVudFR5cGVGaWVsZCAoaWQ6IG51bWJlciwgYm9keTogQ291bnRyeVBheW1lbnRUeXBlRmllbGRJbik6IE9ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlRmllbGRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8Q291bnRyeVBheW1lbnRUeXBlRmllbGRPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyeS1wYXltZW50LXR5cGUtZmllbGRzLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGFsbCBwYXltZW50IHR5cGVzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gUXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgb3IgY3VzdG9taXplIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UGF5bWVudFR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcGF5bWVudCB0eXBlcyBmZXRjaGVkIGZyb20gdGhlIHNlcnZlci5cclxuICAgKi9cclxuICBnZXRQYXltZW50VHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFBheW1lbnRUeXBlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxQYXltZW50VHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vcGF5bWVudC10eXBlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhbGwgcGF5bWVudCB0eXBlIGZpZWxkcyBjYXJkLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gUXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgb3IgY3VzdG9taXplIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlc091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHBheW1lbnQgdHlwZSBmaWVsZHMgY2FyZCBmZXRjaGVkIGZyb20gdGhlIHNlcnZlci5cclxuICAgKi9cclxuICBnZXRQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vcGF5bWVudC10eXBlLWZpZWxkLWNhcmQtdHlwZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIG5ldyBwYXltZW50IHR5cGUgZmllbGQgY2FyZCByZXNvdXJjZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlSW59IGJvZHkgLSBUaGUgaW5wdXQgcGFyYW1ldGVycyByZXF1aXJlZCBmb3IgY3JlYXRlIGEgbmV3IHBheW1lbnQgdHlwZSBmaWVsZCBjYXJkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgY3JlYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwb3N0Q291bnRyeVBheW1lbnRUeXBlRmllbGRDYXJkVHlwZSAoYm9keTogUGF5bWVudFR5cGVGaWVsZENhcmRUeXBlSW4pOiBPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlT3V0Pj4oYCR7dGhpcy51cmx9L3BheW1lbnQtdHlwZS1maWVsZC1jYXJkLXR5cGVzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIHBheW1lbnQgdHlwZSBmaWVsZCBjYXJkLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIElEIG9mIHRoZSBwYXltZW50IHR5cGUgZmllbGQgY2FyZCB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVJbn0gYm9keSAtIFRoZSB1cGRhdGVkIGRhdGEgZm9yIHRoZSBwYXltZW50IHR5cGUgZmllbGQgY2FyZC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgdXBkYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwdXRDb3VudHJ5UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlIChpZDogbnVtYmVyLCBib2R5OiBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVJbik6IE9ic2VydmFibGU8UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZU91dD4+KGAke3RoaXMudXJsfS9wYXltZW50LXR5cGUtZmllbGQtY2FyZC10eXBlcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhbGwgcGF5bWVudCB0eXBlIGZpZWxkcyBhY2NvdW50cy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIG9yIGN1c3RvbWl6ZSB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRBY2NvdW50c091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHBheW1lbnQgdHlwZSBmaWVsZHMgYWNjb3VudHMgZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICovXHJcbiAgZ2V0UGF5bWVudFR5cGVGaWVsZEFjY291bnRzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQWNjb3VudHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UGF5bWVudFR5cGVGaWVsZEFjY291bnRzT3V0Pj4oYCR7dGhpcy51cmx9L3BheW1lbnQtdHlwZS1maWVsZC1hY2NvdW50c2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgbmV3IHBheW1lbnQgdHlwZSBmaWVsZCBhY2NvdW50IHJlc291cmNlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtQYXltZW50VHlwZUZpZWxkQWNjb3VudElufSBib2R5IC0gVGhlIGlucHV0IHBhcmFtZXRlcnMgcmVxdWlyZWQgZm9yIGNyZWF0ZSBhIG5ldyBwYXltZW50IHR5cGUgZmllbGQgYWNjb3VudC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRBY2NvdW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgY3JlYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwb3N0Q291bnRyeVBheW1lbnRUeXBlRmllbGRBY2NvdW50IChib2R5OiBQYXltZW50VHlwZUZpZWxkQWNjb3VudEluKTogT2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQWNjb3VudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8UGF5bWVudFR5cGVGaWVsZEFjY291bnRPdXQ+PihgJHt0aGlzLnVybH0vcGF5bWVudC10eXBlLWZpZWxkLWFjY291bnRzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIHBheW1lbnQgdHlwZSBmaWVsZCBhY2NvdW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIElEIG9mIHRoZSBwYXltZW50IHR5cGUgZmllbGQgYWNjb3VudCB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtQYXltZW50VHlwZUZpZWxkQWNjb3VudElufSBib2R5IC0gVGhlIHVwZGF0ZWQgZGF0YSBmb3IgdGhlIHBheW1lbnQgdHlwZSBmaWVsZCBhY2NvdW50LlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRBY2NvdW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIHVwZGF0ZSBvcGVyYXRpb24uXHJcbiAgICovXHJcbiAgcHV0Q291bnRyeVBheW1lbnRUeXBlRmllbGRBY2NvdW50IChpZDogbnVtYmVyLCBib2R5OiBQYXltZW50VHlwZUZpZWxkQWNjb3VudEluKTogT2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQWNjb3VudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxQYXltZW50VHlwZUZpZWxkQWNjb3VudE91dD4+KGAke3RoaXMudXJsfS9wYXltZW50LXR5cGUtZmllbGQtYWNjb3VudHMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdG9sZXJhbmNlIGRhdGEgZnJvbSB0aGUgc2VydmVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gdXNlIGZvciBxdWVyeWluZyB0b2xlcmFuY2VzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VG9sZXJhbmNlc091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHRvbGVyYW5jZSBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFRvbGVyYW5jZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFRvbGVyYW5jZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8VG9sZXJhbmNlc091dD4+KGAke3RoaXMudXJsfS90b2xlcmFuY2VzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIHRvbGVyYW5jZSBkZXRhaWwgZm9yIGEgZ2l2ZW4gaWRlbnRpZmllci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRvbGVyYW5jZSB0byByZXRyaWV2ZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFRvbGVyYW5jZU91dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgdG9sZXJhbmNlIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0VG9sZXJhbmNlIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUb2xlcmFuY2VPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8VG9sZXJhbmNlT3V0Pj4oYCR7dGhpcy51cmx9L3RvbGVyYW5jZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgcmVxdWVzdCB0byB1cGRhdGUgb3IgY3JlYXRlIGEgdG9sZXJhbmNlIHJlY29yZCB1c2luZyB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7VG9sZXJhbmNlSW59IGJvZHkgLSBUaGUgdG9sZXJhbmNlIGlucHV0IG9iamVjdCBjb250YWluaW5nIHRoZSBkYXRhIHRvIGJlIHNlbnQgaW4gdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxUb2xlcmFuY2VPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVwZGF0ZWQgb3IgY3JlYXRlZCB0b2xlcmFuY2Ugb3V0cHV0IG9iamVjdC5cclxuICAgKi9cclxuICBwb3N0VG9sZXJhbmNlIChib2R5OiBUb2xlcmFuY2VJbik6IE9ic2VydmFibGU8VG9sZXJhbmNlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxUb2xlcmFuY2VPdXQ+PihgJHt0aGlzLnVybH0vdG9sZXJhbmNlc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgdG9sZXJhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBJRCB1c2luZyB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgdG9sZXJhbmNlIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge1RvbGVyYW5jZUlufSBib2R5IC0gVGhlIGRhdGEgdG8gdXBkYXRlIHRoZSB0b2xlcmFuY2Ugd2l0aC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFRvbGVyYW5jZU91dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgdXBkYXRlZCB0b2xlcmFuY2UgaW5mb3JtYXRpb24uXHJcbiAgICovXHJcbiAgcHV0VG9sZXJhbmNlIChpZDogbnVtYmVyLCBib2R5OiBUb2xlcmFuY2VJbik6IE9ic2VydmFibGU8VG9sZXJhbmNlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFRvbGVyYW5jZU91dD4+KGAke3RoaXMudXJsfS90b2xlcmFuY2VzLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIHRoZSB0b2xlcmFuY2UgZW50cnkgY29ycmVzcG9uZGluZyB0byB0aGUgZ2l2ZW4gSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHRvbGVyYW5jZSB0byBiZSBkZWxldGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8e30+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgZGVsZXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBkZWxldGVUb2xlcmFuY2UgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPHt9Pj4oYCR7dGhpcy51cmx9L3RvbGVyYW5jZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgZG9jdW1lbnQgcmVxdWVzdHMgYXNzb2NpYXRlZCB3aXRoIGEgZG9jdW1lbnQgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkb2N1bWVudC5cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRvY3VtZW50IHJlcXVlc3RzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0T3BlcmF0aW9uRG9jdW1lbnRSZXF1ZXN0cyAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8T3BlcmF0aW9uRG9jdW1lbnRSZXF1ZXN0c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxPcGVyYXRpb25Eb2N1bWVudFJlcXVlc3RzT3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9kb2N1bWVudC9yZXF1ZXN0cy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBkb2N1bWVudHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIGFuZCBwYWdpbmF0ZSB0aGUgZG9jdW1lbnRzXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBkb2N1bWVudHMgZGF0YSB3aGVuIHRoZSBIVFRQIHJlcXVlc3QgY29tcGxldGVzXHJcbiAgICovXHJcbiAgZ2V0RG9jdW1lbnRzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxHZXREb2N1bWVudHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8R2V0RG9jdW1lbnRzT3V0Pj4oYCR7dGhpcy51cmx9L2RvY3VtZW50c2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBkb2N1bWVudCBzdGF0dXMgdmFsdWVzIGZyb20gdGhlIEFQSS5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgR0VUIHJlcXVlc3QgdG8gdGhlIHNlcnZpY2UncyBgL2RvY3VtZW50LXN0YXR1c2AgZW5kcG9pbnQgdXNpbmcgdGhlIHN1cHBsaWVkIHF1ZXJ5IHBhcmFtZXRlcnNcclxuICAgKiBhbmQgcmV0dXJucyB0aGUgZGVjb2RlZCBgZGF0YWAgcGF5bG9hZCBmcm9tIHRoZSBBUEkgc3VjY2VzcyBlbnZlbG9wZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGFwcGx5IHRvIHRoZSByZXF1ZXN0IChlLmcuIGZpbHRlcmluZywgcGFnaW5hdGlvbiwgc2VhcmNoKS5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYSBEb2N1bWVudFN0YXR1c2VzT3V0IG9iamVjdCBjb250YWluaW5nIHRoZSBkb2N1bWVudCBzdGF0dXMgZGF0YS5cclxuICAgKi9cclxuICBnZXREb2N1bWVudFN0YXR1c2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxEb2N1bWVudFN0YXR1c2VzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPERvY3VtZW50U3RhdHVzZXNPdXQ+PihgJHt0aGlzLnVybH0vZG9jdW1lbnQtc3RhdHVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIFhNTCBwcmludCByZXByZXNlbnRhdGlvbiBmb3IgYSBnaXZlbiBvcGVyYXRpb24gKGludm9pY2UpLlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBHRVQgcmVxdWVzdCB0byB0aGUgYmFja2VuZCBlbmRwb2ludCBgL29wZXJhdGlvbi9wcmludC94bWwve2RvY3VtZW50SWR9YCBhbmRcclxuICAgKiB1bndyYXBzIHRoZSBgZGF0YWAgZmllbGQgZnJvbSB0aGUgQVBJIHN1Y2Nlc3MgcmVzcG9uc2UgYmVmb3JlIGVtaXR0aW5nIGl0LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGRvY3VtZW50SWQgLSBUaGUgbnVtZXJpYyBpZGVudGlmaWVyIG9mIHRoZSBkb2N1bWVudCB0byBmZXRjaC5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIE9wZXJhdGlvblByaW50WG1sT3V0IHBheWxvYWQgb24gc3VjY2VzcyBhbmQgY29tcGxldGVzLlxyXG4gICAqICAgICAgICAgIFRoZSBPYnNlcnZhYmxlIHdpbGwgZXJyb3IgaWYgdGhlIEhUVFAgcmVxdWVzdCBmYWlscyBvciB0aGUgcmVzcG9uc2UgZG9lcyBub3QgY29udGFpbiB0aGUgZXhwZWN0ZWQgZGF0YS5cclxuICAgKi9cclxuICBnZXRPcGVyYXRpb25QcmludFhtbCAoZG9jdW1lbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25QcmludFhtbE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxPcGVyYXRpb25QcmludFhtbE91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vcHJpbnQveG1sLyR7ZG9jdW1lbnRJZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
|
|
453
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWludm9pY2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktaW52b2ljZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFnRHRDLE1BQU0sT0FBTyxrQkFBa0I7SUFFSjtJQUNmO0lBRlYsWUFDeUIsWUFBeUIsRUFDeEMsSUFBZ0I7UUFERCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3RCLENBQUM7SUFFTDs7OztPQUlHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUE7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUUsSUFBeUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyxxQkFBcUIsRUFBRSxJQUFJLENBQUM7YUFDNUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gseUJBQXlCLENBQUUsRUFBVTtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF3QyxHQUFHLElBQUksQ0FBQyxHQUFHLHVDQUF1QyxFQUFFLEVBQUUsQ0FBQzthQUNoSCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFD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QUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxxQkFBcUIsQ0FBRSxFQUFVLEVBQUUsSUFBeUI7UUFDMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDO2FBQ25HLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0JBQXdCLENBQUUsTUFBbUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0MsR0FBRyxJQUFJLENBQUMsR0FBRyx5QkFBeUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQ3hHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBM2RVLGtCQUFrQixrQkFFbkIsS0FBSzs0R0FGSixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7XHJcbiAgQ2FuY2VsUGF5bWVudFJlY2VpcHRJbixcclxuICBDb3VudHJ5RG9jdW1lbnRUeXBlc091dCxcclxuICBDb3VudHJ5UGF5bWVudFR5cGVGaWVsZEluLFxyXG4gIENvdW50cnlQYXltZW50VHlwZUZpZWxkT3V0LFxyXG4gIENvdW50cnlQYXltZW50VHlwZUZpZWxkc091dCxcclxuICBDb3VudHJ5UGF5bWVudFR5cGVJbixcclxuICBDb3VudHJ5UGF5bWVudFR5cGVPdXQsXHJcbiAgQ291bnRyeVBheW1lbnRUeXBlc091dCxcclxuICBDdXN0b21lckRvY3VtZW50VHlwZXNPdXQsXHJcbiAgQ3VzdG9tZXJzT3V0LFxyXG4gIEN1c3RvbWVyVHlwZXNPdXQsXHJcbiAgRG9jdW1lbnRTdGF0dXNlc091dCxcclxuICBEb2N1bWVudFR5cGVSYW5nZUluLFxyXG4gIERvY3VtZW50VHlwZVJhbmdlT3V0LFxyXG4gIERvY3VtZW50VHlwZVJhbmdlc091dCxcclxuICBHZXREb2N1bWVudHNPdXQsXHJcbiAgT3BlcmF0aW9uQWNjb3VudFBheW1lbnRJbixcclxuICBPcGVyYXRpb25BY2NvdW50UGF5bWVudE91dCxcclxuICBPcGVyYXRpb25DYW5jZWxCaWxsaW5nSW4sXHJcbiAgT3BlcmF0aW9uQ2FuY2VsQmlsbGluZ091dCxcclxuICBPcGVyYXRpb25Eb2N1bWVudEluLFxyXG4gIE9wZXJhdGlvbkRvY3VtZW50T3V0LFxyXG4gIE9wZXJhdGlvbkRvY3VtZW50UmVxdWVzdHNPdXQsXHJcbiAgT3BlcmF0aW9uUHJpbnREb2N1bWVudE91dCxcclxuICBPcGVyYXRpb25QcmludFhtbE91dCxcclxuICBPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsSW4sXHJcbiAgT3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbE91dCxcclxuICBQYXltZW50VHlwZUZpZWxkQWNjb3VudEluLFxyXG4gIFBheW1lbnRUeXBlRmllbGRBY2NvdW50T3V0LFxyXG4gIFBheW1lbnRUeXBlRmllbGRBY2NvdW50c091dCxcclxuICBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVJbixcclxuICBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVPdXQsXHJcbiAgUGF5bWVudFR5cGVGaWVsZENhcmRUeXBlc091dCxcclxuICBQYXltZW50VHlwZXNPdXQsXHJcbiAgUHJpbnRDb2xsZWN0aW9uUmVjZWlwdE91dCxcclxuICBQcm92aWRlcnNPdXQsXHJcbiAgVG9sZXJhbmNlSW4sXHJcbiAgVG9sZXJhbmNlT3V0LFxyXG4gIFRvbGVyYW5jZXNPdXQsXHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLWludm9pY2VzLnR5cGVzJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzLCBRdWVyeVBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlJbnZvaWNlc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgQVBJIFVSTCBmb3IgaW52b2ljZXMgZnJvbSB0aGUgZW52aXJvbm1lbnRzIGNvbmZpZ3VyYXRpb24uXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBBUEkgVVJMIGZvciBpbnZvaWNlcy5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaUludm9pY2VzVXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhbiBvcGVyYXRpb24gZG9jdW1lbnQgdG8gdGhlIHNlcnZlciBhbmQgcHJvY2Vzc2VzIHRoZSByZXNwb25zZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uRG9jdW1lbnRJbn0gYm9keSAtIFRoZSBpbnB1dCBkYXRhIGZvciB0aGUgb3BlcmF0aW9uIGRvY3VtZW50LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T3BlcmF0aW9uRG9jdW1lbnRPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHByb2Nlc3NlZCBvcGVyYXRpb24gZG9jdW1lbnQgb3V0cHV0LlxyXG4gICAqL1xyXG4gIHBvc3RPcGVyYXRpb25Eb2N1bWVudCAoYm9keTogT3BlcmF0aW9uRG9jdW1lbnRJbik6IE9ic2VydmFibGU8T3BlcmF0aW9uRG9jdW1lbnRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPE9wZXJhdGlvbkRvY3VtZW50T3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9kb2N1bWVudGAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhbmQgcmV0dXJucyB0aGUgY29sbGVjdGlvbiByZWNlaXB0IGRhdGEgZm9yIGEgZ2l2ZW4gY29sbGVjdGlvbiBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiBmb3Igd2hpY2ggdGhlIHJlY2VpcHQgbmVlZHMgdG8gYmUgcmV0cmlldmVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UHJpbnRDb2xsZWN0aW9uUmVjZWlwdE91dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgY29sbGVjdGlvbiByZWNlaXB0IGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0UHJpbnRDb2xsZWN0aW9uUmVjZWlwdCAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJpbnRDb2xsZWN0aW9uUmVjZWlwdE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxQcmludENvbGxlY3Rpb25SZWNlaXB0T3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9wcmludC9jb2xsZWN0aW9uLXJlY2VpcHQvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIGFjY291bnQgcGF5bWVudCBvcGVyYXRpb24gYnkgc2VuZGluZyBhIFBPU1QgcmVxdWVzdCB0byB0aGUgc3BlY2lmaWVkIGVuZHBvaW50LlxyXG4gICAqIFByb2Nlc3NlcyB0aGUgcmVzcG9uc2UgYW5kIHJldHVybnMgdGhlIG9wZXJhdGlvbiBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPcGVyYXRpb25BY2NvdW50UGF5bWVudElufSBib2R5IFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBhY2NvdW50IHBheW1lbnQgb3BlcmF0aW9uLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T3BlcmF0aW9uQWNjb3VudFBheW1lbnRPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBwcm9jZXNzZWQgYWNjb3VudCBwYXltZW50IG9wZXJhdGlvbiBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RPcGVyYXRpb25BY2NvdW50UGF5bWVudCAoYm9keTogT3BlcmF0aW9uQWNjb3VudFBheW1lbnRJbik6IE9ic2VydmFibGU8T3BlcmF0aW9uQWNjb3VudFBheW1lbnRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPE9wZXJhdGlvbkFjY291bnRQYXltZW50T3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9hY2NvdW50LXBheW1lbnRgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmNlbHMgYSBwYXltZW50IHJlY2VpcHQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGlucHV0LlxyXG4gICAqIFRoaXMgbWV0aG9kIHNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNhbmNlbCBhIGRvY3VtZW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGJvZHkgVGhlIGRhdGEgcmVxdWlyZWQgdG8gY2FuY2VsIHRoZSBwYXltZW50IHJlY2VpcHQsIGVuY2Fwc3VsYXRlZCBpbiBhIENhbmNlbFBheW1lbnRSZWNlaXB0SW4gb2JqZWN0LlxyXG4gICAqIEByZXR1cm4gQW4gT2JzZXJ2YWJsZSByZXByZXNlbnRpbmcgdGhlIHJlc3VsdCBvZiB0aGUgY2FuY2VsbGF0aW9uLiBFbWl0cyBhbiBlbXB0eSBvYmplY3Qgb24gc3VjY2Vzcy5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uQ2FuY2VsRG9jdW1lbnQgKGJvZHk6IENhbmNlbFBheW1lbnRSZWNlaXB0SW4pOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24vY2FuY2VsLWRvY3VtZW50YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIFBPU1QgcmVxdWVzdCB0byBjYW5jZWwgYmlsbGluZyBmb3IgYSBzcGVjaWZpYyBvcGVyYXRpb24uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjYW5jZWxsYXRpb24gcmVxdWVzdC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLmludm9pY2VJZCAtIFRoZSBJRCBvZiB0aGUgaW52b2ljZSB0byBiZSBjYW5jZWxlZC5cclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zLmJvZHkgLSBBZGRpdGlvbmFsIGRhdGEgdG8gYmUgc2VudCBpbiB0aGUgcmVxdWVzdCBib2R5LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T3BlcmF0aW9uQ2FuY2VsQmlsbGluZ091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHJlc3VsdCBvZiB0aGUgY2FuY2VsbGF0aW9uIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uQ2FuY2VsQmlsbGluZyAoeyBpbnZvaWNlSWQsIC4uLmJvZHkgfTogT3BlcmF0aW9uQ2FuY2VsQmlsbGluZ0luKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25DYW5jZWxCaWxsaW5nT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxPcGVyYXRpb25DYW5jZWxCaWxsaW5nT3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9jYW5jZWwtYmlsbGluZy8ke2ludm9pY2VJZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYSBsaXN0IG9mIGN1c3RvbWVyIHR5cGVzIGZyb20gdGhlIHNlcnZlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIG9yIGN1c3RvbWl6ZSB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEN1c3RvbWVyVHlwZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBjdXN0b21lciB0eXBlcyBmZXRjaGVkIGZyb20gdGhlIHNlcnZlci5cclxuICAgKi9cclxuICBnZXRDdXN0b21lclR5cGVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDdXN0b21lclR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEN1c3RvbWVyVHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vY3VzdG9tZXItdHlwZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBkb2N1bWVudCB0eXBlcyBzcGVjaWZpYyB0byBhIGdpdmVuIGNvdW50cnkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyBjb250YWluaW5nIGNvdW50cnktc3BlY2lmaWMgaW5mb3JtYXRpb24uXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDdXN0b21lckRvY3VtZW50VHlwZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBkb2N1bWVudCB0eXBlcyBhdmFpbGFibGUgZm9yIHRoZSBzcGVjaWZpZWQgY291bnRyeS5cclxuICAgKi9cclxuICBnZXRDdXN0b21lckRvY3VtZW50VHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEN1c3RvbWVyRG9jdW1lbnRUeXBlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDdXN0b21lckRvY3VtZW50VHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vY3VzdG9tZXItY291bnRyeS1kb2N1bWVudC10eXBlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBjdXN0b21lciBpbnZvaWNlIGRldGFpbHMgZmlsdGVyZWQgYnkgYSBjdXN0b20gaW52b2ljZSB0eXBlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtJbnZvaWNlVHlwZUN1c3RvbVBhcmFtc0lufSBwYXJhbXMgLSBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgZmlsdGVyIHBhcmFtZXRlcnMgZm9yIHRoZSBjdXN0b20gaW52b2ljZSB0eXBlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q3VzdG9tZXJzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIGN1c3RvbWVyIGludm9pY2UgZGV0YWlscyBvZiB0aGUgc3BlY2lmaWVkIHR5cGUuXHJcbiAgICovXHJcbiAgZ2V0Q3VzdG9tZXJzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDdXN0b21lcnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q3VzdG9tZXJzT3V0Pj4oYCR7dGhpcy51cmx9L2N1c3RvbWVyc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY3JlYXRlIG9yIHVwZGF0ZSBhbiBleHRlcm5hbCBzaGlwbWVudCBvcGVyYXRpb24uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxJbn0gcGFyYW1zIC0gVGhlIGlucHV0IHBhcmFtZXRlcnMgZm9yIHRoZSBleHRlcm5hbCBzaGlwbWVudCBvcGVyYXRpb24uXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIGV4dGVybmFsIHNoaXBtZW50IG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbCAocGFyYW1zOiBPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsSW4pOiBPYnNlcnZhYmxlPE9wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPE9wZXJhdGlvblNoaXBtZW50RXh0ZXJuYWxPdXQ+PihgJHt0aGlzLnVybH0vb3BlcmF0aW9uL3NoaXBtZW50L2V4dGVybmFsYCwgcGFyYW1zKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb2Nlc3NlcyBhbiBleHRlcm5hbCBwYXltZW50IG9wZXJhdGlvbiBmb3IgYSBzaGlwbWVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbElufSBwYXJhbXMgLSBUaGUgaW5wdXQgcGFyYW1ldGVycyByZXF1aXJlZCBmb3IgdGhlIGV4dGVybmFsIHBheW1lbnQgb3BlcmF0aW9uLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbE91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSBleHRlcm5hbCBwYXltZW50IG9wZXJhdGlvbiBmb3IgYSBzaGlwbWVudC5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbFBheW1lbnQgKHBhcmFtczogT3BlcmF0aW9uU2hpcG1lbnRFeHRlcm5hbEluKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsT3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9zaGlwbWVudC9leHRlcm5hbC9wYXltZW50YCwgcGFyYW1zKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbmQgcmV0dXJucyBiaWxsaW5nIG9wZXJhdGlvbiBwcmludCBkZXRhaWxzIGZvciBhIGdpdmVuIGRvY3VtZW50IElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGRvY3VtZW50SWQgLSBUaGUgSUQgb2YgdGhlIGRvY3VtZW50IGZvciB3aGljaCB0byBmZXRjaCB0aGUgcHJpbnQgYmlsbGluZyBvcGVyYXRpb24gZGV0YWlscy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9wZXJhdGlvblByaW50RG9jdW1lbnRPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBwcmludCBiaWxsaW5nIG9wZXJhdGlvbiBkZXRhaWxzIGZvciB0aGUgc3BlY2lmaWVkIGRvY3VtZW50LlxyXG4gICAqL1xyXG4gIGdldE9wZXJhdGlvblByaW50RG9jdW1lbnQgKGRvY3VtZW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8T3BlcmF0aW9uUHJpbnREb2N1bWVudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxPcGVyYXRpb25QcmludERvY3VtZW50T3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9wcmludC9kb2N1bWVudC8ke2RvY3VtZW50SWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGFsbCBjb3VudHJ5IHBheW1lbnQgdHlwZXMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBvciBjdXN0b21pemUgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgY291bnRyeSBwYXltZW50IHR5cGVzIGZldGNoZWQgZnJvbSB0aGUgc2VydmVyLlxyXG4gICAqL1xyXG4gIGdldENvdW50cnlQYXltZW50VHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeVBheW1lbnRUeXBlc091dD4+KGAke3RoaXMudXJsfS9jb3VudHJ5LXBheW1lbnQtdHlwZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgY291bnRyeSBwYXltZW50IHR5cGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIGNvdW50cnkgcGF5bWVudCB0eXBlIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0NvdW50cnlQYXltZW50VHlwZUlufSBib2R5IC0gVGhlIHVwZGF0ZWQgZGF0YSBmb3IgdGhlIGNvdW50cnkgcGF5bWVudCB0eXBlLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSB1cGRhdGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHB1dENvdW50cnlQYXltZW50VHlwZSAoaWQ6IG51bWJlciwgYm9keTogQ291bnRyeVBheW1lbnRUeXBlSW4pOiBPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyeS1wYXltZW50LXR5cGVzLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYW4gZXhpc3RpbmcgY291bnRyeSBwYXltZW50IHR5cGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvdW50cnkgcGF5bWVudCB0eXBlIHRvIGJlIGRlbGV0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIGRlbGV0ZSBvcGVyYXRpb24uXHJcbiAgICovXHJcbiAgZGVsZXRlQ291bnRyeVBheW1lbnRUeXBlIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVN1Y2Nlc3M8Q291bnRyeVBheW1lbnRUeXBlT3V0Pj4oYCR7dGhpcy51cmx9L2NvdW50cnktcGF5bWVudC10eXBlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgbmV3IGNvdW50cnkgcGF5bWVudCB0eXBlIHJlc291cmNlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDb3VudHJ5UGF5bWVudFR5cGVJbn0gYm9keSAtIFRoZSBpbnB1dCBwYXJhbWV0ZXJzIHJlcXVpcmVkIGZvciBjcmVhdGUgYSBuZXcgY291bnRyeSBwYXltZW50IHR5cGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBjcmVhdGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHBvc3RDb3VudHJ5UGF5bWVudFR5cGUgKGJvZHk6IENvdW50cnlQYXltZW50VHlwZUluKTogT2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPENvdW50cnlQYXltZW50VHlwZU91dD4+KGAke3RoaXMudXJsfS9jb3VudHJ5LXBheW1lbnQtdHlwZXNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbmQgcmV0dXJucyBhIGNvdW50cnkgcGF5bWVudCB0eXBlIGZvciBhIGdpdmVuIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIElEIG9mIHRoZSBjb3VudHJ5IHBheW1lbnQgdHlwZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHNob3cgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIGdldENvdW50cnlQYXltZW50VHlwZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvdW50cnlQYXltZW50VHlwZU91dD4+KGAke3RoaXMudXJsfS9jb3VudHJ5LXBheW1lbnQtdHlwZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYWxsIGNvdW50cnkgcGF5bWVudCB0eXBlIGZpZWxkcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIG9yIGN1c3RvbWl6ZSB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZUZpZWxkc091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIGNvdW50cnkgcGF5bWVudCB0eXBlIGZpZWxkcyBmZXRjaGVkIGZyb20gdGhlIHNlcnZlci5cclxuICAgKi9cclxuICBnZXRDb3VudHJ5UGF5bWVudFR5cGVGaWVsZHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENvdW50cnlQYXltZW50VHlwZUZpZWxkc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDb3VudHJ5UGF5bWVudFR5cGVGaWVsZHNPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyeS1wYXltZW50LXR5cGUtZmllbGRzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBuZXcgY291bnRyeSBwYXltZW50IHR5cGUgZmllbGQgcmVzb3VyY2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0NvdW50cnlQYXltZW50VHlwZUZpZWxkSW59IGJvZHkgLSBUaGUgaW5wdXQgcGFyYW1ldGVycyByZXF1aXJlZCBmb3IgY3JlYXRlIGEgbmV3IGNvdW50cnkgcGF5bWVudCB0eXBlIGZpZWxkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlRmllbGRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBjcmVhdGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHBvc3RDb3VudHJ5UGF5bWVudFR5cGVGaWVsZCAoYm9keTogQ291bnRyeVBheW1lbnRUeXBlRmllbGRJbik6IE9ic2VydmFibGU8Q291bnRyeVBheW1lbnRUeXBlRmllbGRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPENvdW50cnlQYXltZW50VHlwZUZpZWxkT3V0Pj4oYCR7dGhpcy51cmx9L2NvdW50cnktcGF5bWVudC10eXBlLWZpZWxkc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBjb3VudHJ5IHBheW1lbnQgdHlwZSBmaWVsZC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBJRCBvZiB0aGUgY291bnRyeSBwYXltZW50IHR5cGUgZmllbGQgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7Q291bnRyeVBheW1lbnRUeXBlRmllbGRJbn0gYm9keSAtIFRoZSB1cGRhdGVkIGRhdGEgZm9yIHRoZSBjb3VudHJ5IHBheW1lbnQgdHlwZSBmaWVsZC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVGaWVsZE91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSB1cGRhdGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHB1dENvdW50cnlQYXltZW50VHlwZUZpZWxkIChpZDogbnVtYmVyLCBib2R5OiBDb3VudHJ5UGF5bWVudFR5cGVGaWVsZEluKTogT2JzZXJ2YWJsZTxDb3VudHJ5UGF5bWVudFR5cGVGaWVsZE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxDb3VudHJ5UGF5bWVudFR5cGVGaWVsZE91dD4+KGAke3RoaXMudXJsfS9jb3VudHJ5LXBheW1lbnQtdHlwZS1maWVsZHMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYWxsIHBheW1lbnQgdHlwZXMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBvciBjdXN0b21pemUgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQYXltZW50VHlwZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBwYXltZW50IHR5cGVzIGZldGNoZWQgZnJvbSB0aGUgc2VydmVyLlxyXG4gICAqL1xyXG4gIGdldFBheW1lbnRUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8UGF5bWVudFR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFBheW1lbnRUeXBlc091dD4+KGAke3RoaXMudXJsfS9wYXltZW50LXR5cGVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGFsbCBwYXltZW50IHR5cGUgZmllbGRzIGNhcmQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBvciBjdXN0b21pemUgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcGF5bWVudCB0eXBlIGZpZWxkcyBjYXJkIGZldGNoZWQgZnJvbSB0aGUgc2VydmVyLlxyXG4gICAqL1xyXG4gIGdldFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlc091dD4+KGAke3RoaXMudXJsfS9wYXltZW50LXR5cGUtZmllbGQtY2FyZC10eXBlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgbmV3IHBheW1lbnQgdHlwZSBmaWVsZCBjYXJkIHJlc291cmNlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVJbn0gYm9keSAtIFRoZSBpbnB1dCBwYXJhbWV0ZXJzIHJlcXVpcmVkIGZvciBjcmVhdGUgYSBuZXcgcGF5bWVudCB0eXBlIGZpZWxkIGNhcmQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBjcmVhdGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHBvc3RDb3VudHJ5UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlIChib2R5OiBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVJbik6IE9ic2VydmFibGU8UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVPdXQ+PihgJHt0aGlzLnVybH0vcGF5bWVudC10eXBlLWZpZWxkLWNhcmQtdHlwZXNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgcGF5bWVudCB0eXBlIGZpZWxkIGNhcmQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIHBheW1lbnQgdHlwZSBmaWVsZCBjYXJkIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge1BheW1lbnRUeXBlRmllbGRDYXJkVHlwZUlufSBib2R5IC0gVGhlIHVwZGF0ZWQgZGF0YSBmb3IgdGhlIHBheW1lbnQgdHlwZSBmaWVsZCBjYXJkLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSB1cGRhdGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHB1dENvdW50cnlQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGUgKGlkOiBudW1iZXIsIGJvZHk6IFBheW1lbnRUeXBlRmllbGRDYXJkVHlwZUluKTogT2JzZXJ2YWJsZTxQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8UGF5bWVudFR5cGVGaWVsZENhcmRUeXBlT3V0Pj4oYCR7dGhpcy51cmx9L3BheW1lbnQtdHlwZS1maWVsZC1jYXJkLXR5cGVzLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGFsbCBwYXltZW50IHR5cGUgZmllbGRzIGFjY291bnRzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gUXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgb3IgY3VzdG9taXplIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UGF5bWVudFR5cGVGaWVsZEFjY291bnRzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcGF5bWVudCB0eXBlIGZpZWxkcyBhY2NvdW50cyBmZXRjaGVkIGZyb20gdGhlIHNlcnZlci5cclxuICAgKi9cclxuICBnZXRQYXltZW50VHlwZUZpZWxkQWNjb3VudHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRBY2NvdW50c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxQYXltZW50VHlwZUZpZWxkQWNjb3VudHNPdXQ+PihgJHt0aGlzLnVybH0vcGF5bWVudC10eXBlLWZpZWxkLWFjY291bnRzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBuZXcgcGF5bWVudCB0eXBlIGZpZWxkIGFjY291bnQgcmVzb3VyY2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1BheW1lbnRUeXBlRmllbGRBY2NvdW50SW59IGJvZHkgLSBUaGUgaW5wdXQgcGFyYW1ldGVycyByZXF1aXJlZCBmb3IgY3JlYXRlIGEgbmV3IHBheW1lbnQgdHlwZSBmaWVsZCBhY2NvdW50LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UGF5bWVudFR5cGVGaWVsZEFjY291bnRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBjcmVhdGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHBvc3RDb3VudHJ5UGF5bWVudFR5cGVGaWVsZEFjY291bnQgKGJvZHk6IFBheW1lbnRUeXBlRmllbGRBY2NvdW50SW4pOiBPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRBY2NvdW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxQYXltZW50VHlwZUZpZWxkQWNjb3VudE91dD4+KGAke3RoaXMudXJsfS9wYXltZW50LXR5cGUtZmllbGQtYWNjb3VudHNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgcGF5bWVudCB0eXBlIGZpZWxkIGFjY291bnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIHBheW1lbnQgdHlwZSBmaWVsZCBhY2NvdW50IHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge1BheW1lbnRUeXBlRmllbGRBY2NvdW50SW59IGJvZHkgLSBUaGUgdXBkYXRlZCBkYXRhIGZvciB0aGUgcGF5bWVudCB0eXBlIGZpZWxkIGFjY291bnQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8UGF5bWVudFR5cGVGaWVsZEFjY291bnRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgdXBkYXRlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwdXRDb3VudHJ5UGF5bWVudFR5cGVGaWVsZEFjY291bnQgKGlkOiBudW1iZXIsIGJvZHk6IFBheW1lbnRUeXBlRmllbGRBY2NvdW50SW4pOiBPYnNlcnZhYmxlPFBheW1lbnRUeXBlRmllbGRBY2NvdW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFBheW1lbnRUeXBlRmllbGRBY2NvdW50T3V0Pj4oYCR7dGhpcy51cmx9L3BheW1lbnQtdHlwZS1maWVsZC1hY2NvdW50cy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0b2xlcmFuY2UgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byB1c2UgZm9yIHF1ZXJ5aW5nIHRvbGVyYW5jZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxUb2xlcmFuY2VzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgdG9sZXJhbmNlIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0VG9sZXJhbmNlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8VG9sZXJhbmNlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxUb2xlcmFuY2VzT3V0Pj4oYCR7dGhpcy51cmx9L3RvbGVyYW5jZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgdG9sZXJhbmNlIGRldGFpbCBmb3IgYSBnaXZlbiBpZGVudGlmaWVyLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdG9sZXJhbmNlIHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VG9sZXJhbmNlT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSB0b2xlcmFuY2UgZGF0YS5cclxuICAgKi9cclxuICBnZXRUb2xlcmFuY2UgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRvbGVyYW5jZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxUb2xlcmFuY2VPdXQ+PihgJHt0aGlzLnVybH0vdG9sZXJhbmNlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSByZXF1ZXN0IHRvIHVwZGF0ZSBvciBjcmVhdGUgYSB0b2xlcmFuY2UgcmVjb3JkIHVzaW5nIHRoZSBwcm92aWRlZCBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtUb2xlcmFuY2VJbn0gYm9keSAtIFRoZSB0b2xlcmFuY2UgaW5wdXQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRhdGEgdG8gYmUgc2VudCBpbiB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFRvbGVyYW5jZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXBkYXRlZCBvciBjcmVhdGVkIHRvbGVyYW5jZSBvdXRwdXQgb2JqZWN0LlxyXG4gICAqL1xyXG4gIHBvc3RUb2xlcmFuY2UgKGJvZHk6IFRvbGVyYW5jZUluKTogT2JzZXJ2YWJsZTxUb2xlcmFuY2VPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFRvbGVyYW5jZU91dD4+KGAke3RoaXMudXJsfS90b2xlcmFuY2VzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSB0b2xlcmFuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIElEIHVzaW5nIHRoZSBwcm92aWRlZCBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSB0b2xlcmFuY2UgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7VG9sZXJhbmNlSW59IGJvZHkgLSBUaGUgZGF0YSB0byB1cGRhdGUgdGhlIHRvbGVyYW5jZSB3aXRoLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VG9sZXJhbmNlT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSB1cGRhdGVkIHRvbGVyYW5jZSBpbmZvcm1hdGlvbi5cclxuICAgKi9cclxuICBwdXRUb2xlcmFuY2UgKGlkOiBudW1iZXIsIGJvZHk6IFRvbGVyYW5jZUluKTogT2JzZXJ2YWJsZTxUb2xlcmFuY2VPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8VG9sZXJhbmNlT3V0Pj4oYCR7dGhpcy51cmx9L3RvbGVyYW5jZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgdGhlIHRvbGVyYW5jZSBlbnRyeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgdG9sZXJhbmNlIHRvIGJlIGRlbGV0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTx7fT59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSBkZWxldGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIGRlbGV0ZVRvbGVyYW5jZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8e30+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVN1Y2Nlc3M8e30+PihgJHt0aGlzLnVybH0vdG9sZXJhbmNlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBkb2N1bWVudCByZXF1ZXN0cyBhc3NvY2lhdGVkIHdpdGggYSBkb2N1bWVudCBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRvY3VtZW50LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZG9jdW1lbnQgcmVxdWVzdHMgZGF0YS5cclxuICAgKi9cclxuICBnZXRPcGVyYXRpb25Eb2N1bWVudFJlcXVlc3RzIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25Eb2N1bWVudFJlcXVlc3RzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPE9wZXJhdGlvbkRvY3VtZW50UmVxdWVzdHNPdXQ+PihgJHt0aGlzLnVybH0vb3BlcmF0aW9uL2RvY3VtZW50L3JlcXVlc3RzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGRvY3VtZW50cyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgYW5kIHBhZ2luYXRlIHRoZSBkb2N1bWVudHNcclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRvY3VtZW50cyBkYXRhIHdoZW4gdGhlIEhUVFAgcmVxdWVzdCBjb21wbGV0ZXNcclxuICAgKi9cclxuICBnZXREb2N1bWVudHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEdldERvY3VtZW50c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxHZXREb2N1bWVudHNPdXQ+PihgJHt0aGlzLnVybH0vZG9jdW1lbnRzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGRvY3VtZW50IHN0YXR1cyB2YWx1ZXMgZnJvbSB0aGUgQVBJLlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBHRVQgcmVxdWVzdCB0byB0aGUgc2VydmljZSdzIGAvZG9jdW1lbnQtc3RhdHVzYCBlbmRwb2ludCB1c2luZyB0aGUgc3VwcGxpZWQgcXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqIGFuZCByZXR1cm5zIHRoZSBkZWNvZGVkIGBkYXRhYCBwYXlsb2FkIGZyb20gdGhlIEFQSSBzdWNjZXNzIGVudmVsb3BlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgdG8gYXBwbHkgdG8gdGhlIHJlcXVlc3QgKGUuZy4gZmlsdGVyaW5nLCBwYWdpbmF0aW9uLCBzZWFyY2gpLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhIERvY3VtZW50U3RhdHVzZXNPdXQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRvY3VtZW50IHN0YXR1cyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldERvY3VtZW50U3RhdHVzZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPERvY3VtZW50U3RhdHVzZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8RG9jdW1lbnRTdGF0dXNlc091dD4+KGAke3RoaXMudXJsfS9kb2N1bWVudC1zdGF0dXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgWE1MIHByaW50IHJlcHJlc2VudGF0aW9uIGZvciBhIGdpdmVuIG9wZXJhdGlvbiAoaW52b2ljZSkuXHJcbiAgICpcclxuICAgKiBTZW5kcyBhbiBIVFRQIEdFVCByZXF1ZXN0IHRvIHRoZSBiYWNrZW5kIGVuZHBvaW50IGAvb3BlcmF0aW9uL3ByaW50L3htbC97ZG9jdW1lbnRJZH1gIGFuZFxyXG4gICAqIHVud3JhcHMgdGhlIGBkYXRhYCBmaWVsZCBmcm9tIHRoZSBBUEkgc3VjY2VzcyByZXNwb25zZSBiZWZvcmUgZW1pdHRpbmcgaXQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZG9jdW1lbnRJZCAtIFRoZSBudW1lcmljIGlkZW50aWZpZXIgb2YgdGhlIGRvY3VtZW50IHRvIGZldGNoLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgT3BlcmF0aW9uUHJpbnRYbWxPdXQgcGF5bG9hZCBvbiBzdWNjZXNzIGFuZCBjb21wbGV0ZXMuXHJcbiAgICogICAgICAgICAgVGhlIE9ic2VydmFibGUgd2lsbCBlcnJvciBpZiB0aGUgSFRUUCByZXF1ZXN0IGZhaWxzIG9yIHRoZSByZXNwb25zZSBkb2VzIG5vdCBjb250YWluIHRoZSBleHBlY3RlZCBkYXRhLlxyXG4gICAqL1xyXG4gIGdldE9wZXJhdGlvblByaW50WG1sIChkb2N1bWVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE9wZXJhdGlvblByaW50WG1sT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPE9wZXJhdGlvblByaW50WG1sT3V0Pj4oYCR7dGhpcy51cmx9L29wZXJhdGlvbi9wcmludC94bWwvJHtkb2N1bWVudElkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBwcm92aWRlcnMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIG9yIHBhZ2luYXRlIHRoZSBwcm92aWRlcnMgbGlzdFxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcHJvdmlkZXJzIGRhdGFcclxuICAgKi9cclxuICBnZXRQcm92aWRlcnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFByb3ZpZGVyc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxQcm92aWRlcnNPdXQ+PihgJHt0aGlzLnVybH0vcHJvdmlkZXJzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGRvY3VtZW50IHR5cGUgcmFuZ2VzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgZG9jdW1lbnQgdHlwZSByYW5nZXNcclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRvY3VtZW50IHR5cGUgcmFuZ2VzIGRhdGFcclxuICAgKi9cclxuICBnZXREb2N1bWVudHNUeXBlc1JhbmdlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8RG9jdW1lbnRUeXBlUmFuZ2VzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPERvY3VtZW50VHlwZVJhbmdlc091dD4+KGAke3RoaXMudXJsfS9kb2N1bWVudC10eXBlLXJhbmdlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyBkb2N1bWVudCB0eXBlIHJhbmdlLlxyXG4gICAqIEBwYXJhbSBib2R5IC0gVGhlIGRvY3VtZW50IHR5cGUgcmFuZ2UgZGF0YSB0byBjcmVhdGVcclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGNyZWF0ZWQgZG9jdW1lbnQgdHlwZSByYW5nZVxyXG4gICAqL1xyXG4gIHBvc3REb2N1bWVudFR5cGVSYW5nZSAoYm9keTogRG9jdW1lbnRUeXBlUmFuZ2VJbik6IE9ic2VydmFibGU8RG9jdW1lbnRUeXBlUmFuZ2VPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPERvY3VtZW50VHlwZVJhbmdlT3V0Pj4oYCR7dGhpcy51cmx9L2RvY3VtZW50LXR5cGUtcmFuZ2VzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIGEgZG9jdW1lbnQgdHlwZSByYW5nZSBieSBpdHMgaWRlbnRpZmllci5cclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRvY3VtZW50IHR5cGUgcmFuZ2UgdG8gZGVsZXRlXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBkZWxldGVkIERvY3VtZW50VHlwZVJhbmdlT3V0IG9iamVjdFxyXG4gICAqL1xyXG4gIGRlbGV0ZURvY3VtZW50c1R5cGVzUmFuZ2UgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPHt9Pj4oYCR7dGhpcy51cmx9L2RvY3VtZW50LXR5cGUtcmFuZ2VzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGEgZG9jdW1lbnQgdHlwZSByYW5nZSBmb3IgYSBnaXZlbiBJRC5cclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRvY3VtZW50IHR5cGUgcmFuZ2UgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgZG9jdW1lbnQgdHlwZSByYW5nZSBkYXRhIHRvIHVwZGF0ZVxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXBkYXRlZCBEb2N1bWVudFR5cGVSYW5nZU91dCBvYmplY3RcclxuICAgKi9cclxuICBwdXREb2N1bWVudHNUeXBlUmFuZ2UgKGlkOiBudW1iZXIsIGRhdGE6IERvY3VtZW50VHlwZVJhbmdlSW4pOiBPYnNlcnZhYmxlPERvY3VtZW50VHlwZVJhbmdlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPERvY3VtZW50VHlwZVJhbmdlT3V0Pj4oYCR7dGhpcy51cmx9L2RvY3VtZW50LXR5cGUtcmFuZ2VzLyR7aWR9YCwgZGF0YSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgZG9jdW1lbnQgdHlwZXMgYXZhaWxhYmxlIGZvciBhIHNwZWNpZmljIGNvdW50cnkuXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIG9yIGN1c3RvbWl6ZSB0aGUgY291bnRyeSBkb2N1bWVudCB0eXBlcyByZXF1ZXN0XHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjb3VudHJ5IGRvY3VtZW50IHR5cGVzIGRhdGFcclxuICAgKi9cclxuICBnZXRDb3VudHJ5RG9jdW1lbnRzVHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENvdW50cnlEb2N1bWVudFR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvdW50cnlEb2N1bWVudFR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L2NvdW50cnktZG9jdW1lbnQtdHlwZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWludm9pY2VzLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9tb2RlbHMvYXBpLWludm9pY2VzLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2ZUxlc3NMYXJhdmVsTW9kZWwsIExhcmF2ZWxNb2RlbCwgVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBDdXJyZW5jeSwgSWRlbnRpZmljYXRpb25UeXBlIH0gZnJvbSAnLi9hcGktY2F0YWxvZy5pbnRlcmZhY2VzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgZG9jdW1lbnRfdHlwZV9yYW5nZV9pZDogbnVtYmVyXHJcbiAgZG9jdW1lbnRfbnVtYmVyOiBudW1iZXJcclxuICBkb2N1bWVudF9wcmVmaXg6IHN0cmluZ1xyXG4gIGRvY3VtZW50X3N1ZmZpeDogc3RyaW5nXHJcbiAgZG9jdW1lbnRfbnVtYmVyX29yaWdpbmFsOiBudW1iZXJcclxuICBkb2N1bWVudF9wcmVmaXhfb3JpZ2luYWw6IHN0cmluZ1xyXG4gIGRvY3VtZW50X3N1ZmZpeF9vcmlnaW5hbDogc3RyaW5nXHJcbiAgY3VzdG9tZXJfaWQ6IG51bWJlclxyXG4gIGN1c3RvbWVyX2NvbXBhbnlfbmFtZTogc3RyaW5nXHJcbiAgY3VzdG9tZXJfZW1haWw6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2FkZHJlc3NfbGluZTE6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2lkZW50aWZpY2F0aW9uX251bWJlcjogc3RyaW5nXHJcbiAgY3VzdG9tZXJfaWRlbnRpZmljYXRpb25fdHlwZV9pZDogbnVtYmVyXHJcbiAgcHJvdmlkZXJfbmFtZTogc3RyaW5nXHJcbiAgcHJvdmlkZXJfaWRlbnRpZmljYXRpb25fbnVtYmVyOiBudW1iZXJcclxuICBkb2N1bWVudF9hdXRob3JpemF0aW9uX251bWJlcjogc3RyaW5nXHJcbiAgcHJvdmlkZXJfZXh0cmFfZmllbGRzOiB7XHJcbiAgICBwaG9uZTogc3RyaW5nXHJcbiAgICBmYXg6IHN0cmluZ1xyXG4gIH1cclxuICBkb2N1bWVudF9pZDogbnVtYmVyXHJcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZ1xyXG4gIGV4dHJhX2ZpZWxkczoge1xyXG4gICAgb2JzZXJ2YXRpb246IHN0cmluZ1xyXG4gICAgZG9jdW1lbnRfZGF0ZTogc3RyaW5nXHJcbiAgfVxyXG4gIGN1c3RvbWVyX2FkZHJlc3NfbGluZTI6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2FkZHJlc3NfbGluZTM6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX3Bvc3RhbF9jb2RlOiBzdHJpbmdcclxuICBjdXN0b21lcl9zdGF0ZTogc3RyaW5nXHJcbiAgY3VzdG9tZXJfY291bnR5X25hbWU6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2NpdHlfbmFtZTogc3RyaW5nXHJcbiAgY3VzdG9tZXJfY291bnRyeV9pZDogbnVtYmVyXHJcbiAgc3RhdHVzOiBudW1iZXJcclxuICB1c2VyX2lkOiBudW1iZXJcclxuICBjdXN0b21lcl9mdWxsX25hbWU6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX3Bob25lX2NvZGU6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX3Bob25lX251bWJlcjogc3RyaW5nXHJcbiAgZ210X29mZnNldDogc3RyaW5nXHJcbiAgY3VzdG9tZXJfdHlwZV9pZDogbnVtYmVyXHJcbiAgY3VzdG9tZXJfZXh0cmFfZmllbGRzOiBzdHJpbmdcclxuICBpbnN0YWxsYXRpb25faWQ6IG51bWJlclxyXG4gIGV4Y2hhbmdlOiBudW1iZXJcclxuICBhdXRob3JpemF0aW9uX251bWJlcnM6IHN0cmluZ1xyXG4gIGV4dHJhX2ZpZWxkc19qc29uOiBzdHJpbmdcclxuICBwcm92aWRlcl9leHRyYV9maWVsZHNfanNvbjogc3RyaW5nXHJcbiAgZG9jdW1lbnRfdHlwZV9yYW5nZTogRG9jdW1lbnRUeXBlUmFuZ2VcclxuICBpdGVtczogRG9jdW1lbnRJdGVtW11cclxuICBkb2N1bWVudF9wYXltZW50czogRG9jdW1lbnRQYXltZW50W11cclxuICBwYXltZW50czogUGF5bWVudFtdXHJcbiAgZG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50VHlwZVJhbmdlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBpZDogbnVtYmVyXHJcbiAgcHJvdmlkZXJfaWQ6IG51bWJlclxyXG4gIG1vZGVsX3R5cGU6IHN0cmluZ1xyXG4gIG1vZGVsX2lkOiBudW1iZXJcclxuICBpbml0X251bWJlcjogbnVtYmVyXHJcbiAgZmluYWxfbnVtYmVyOiBudW1iZXJcclxuICBjdXJyZW50X251bWJlcjogbnVtYmVyXHJcbiAgdXNlZF9udW1iZXJzOiBudW1iZXJcclxuICBtaW5fdW50aWxfbWFpbDogbnVtYmVyXHJcbiAgcHJlZml4OiBzdHJpbmdcclxuICBzYXBfcHJlZml4OiBzdHJpbmdcclxuICBzdWZmaXg6IHN0cmluZ1xyXG4gIHNhcF9zdWZmaXg6IHN0cmluZ1xyXG4gIGV4dGVybmFsX2dlbmVyYXRlZDogYm9vbGVhblxyXG4gIGF1dGhvcml6YXRpb25fbnVtYmVyOiBzdHJpbmdcclxuICBlbnZpcm9ubWVudDogc3RyaW5nXHJcbiAgaXNfbWFudWFsOiBib29sZWFuXHJcbiAgYXV0b19hY3RpdmF0aW9uOiBib29sZWFuXHJcbiAgYWN0aXZhdGlvbl9rZXk6IHN0cmluZ1xyXG4gIGF1dGhvcml6YXRpb25fbGFiZWw6IHN0cmluZ1xyXG4gIHZhbGlkX3NpbmNlOiBzdHJpbmdcclxuICB2YWxpZF91bnRpbDogc3RyaW5nXHJcbiAgY3JlYXRlZF9hdDogc3RyaW5nXHJcbiAgdXBkYXRlZF9hdDogc3RyaW5nXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbiAgY291bnRyeV9kb2N1bWVudF90eXBlX2lkOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudEl0ZW0gZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGlkOiBudW1iZXJcclxuICBkb2N1bWVudF9pZDogbnVtYmVyXHJcbiAgZGV0YWlsczoge1xyXG4gICAgY29kZTogc3RyaW5nXHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgICByZWxhdGlvbjogc3RyaW5nXHJcbiAgfSB8IHtcclxuICAgIGNvZGU6IHN0cmluZ1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gICAgaGVhZGVyOiB7XHJcbiAgICAgIGF3Yk51bWJlcjogc3RyaW5nXHJcbiAgICAgIGFjY291bnROdW1iZXI6IHN0cmluZ1xyXG4gICAgICBwaWVjZXM6IHN0cmluZ1tdXHJcbiAgICAgIHRvdGFsOiBudW1iZXJcclxuICAgIH1cclxuICAgIHRpY2tldF9kYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPlxyXG4gIH0gfCB7XHJcbiAgICBhY2NvdW50OiBudW1iZXJcclxuICAgIGNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmN5X2lkOiBudW1iZXJcclxuICAgIGN1c3RvbWVyX2NvbXBhbnlfbmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIG1vZGVsX29yaWdpbjogc3RyaW5nXHJcbiAgbW9kZWxfdHlwZTogc3RyaW5nXHJcbiAgbW9kZWxfaWQ6IG51bWJlclxyXG4gIHF1YW50aXR5OiBudW1iZXJcclxuICB1bml0X3ByaWNlOiBudW1iZXJcclxuICBzdWJ0b3RhbDogbnVtYmVyXHJcbiAgdGF4X2RldGFpbDoge31cclxuICB0b3RhbDogbnVtYmVyXHJcbiAgY3JlYXRlZF9hdDogc3RyaW5nXHJcbiAgdXBkYXRlZF9hdDogc3RyaW5nXHJcbiAgZGlzY291bnQ6IDBcclxuICBkZXRhaWxzX2pzb246IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UGF5bWVudCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgZG9jdW1lbnRfaWQ6IG51bWJlclxyXG4gIHBheW1lbnRfaWQ6IG51bWJlclxyXG4gIGFtb3VudDogbnVtYmVyXHJcbiAgcGF5bWVudDogUGF5bWVudFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnQgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGFtb3VudDogbnVtYmVyXHJcbiAgY291bnRyeV9yZWZlcmVuY2VfY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIGV4Y2hhbmdlOiBudW1iZXJcclxuICBjb21wYW55X2NvdW50cnlfcGF5bWVudF90eXBlX2lkOiBudW1iZXJcclxuICBkdWVfZGF0ZTogc3RyaW5nXHJcbiAgcmVjZWl2ZWQ6IG51bWJlclxyXG4gIHN0YXR1czogbnVtYmVyXHJcbiAgZGV0YWlsczoge31cclxuICB0cmFuc2FjdGlvbl9pZDogc3RyaW5nXHJcbiAgZ210X29mZnNldDogc3RyaW5nXHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfaWQ6IG51bWJlclxyXG4gIG9wZW5pbmdfaWQ6IG51bWJlclxyXG4gIGluc3RhbGxhdGlvbl9pZDogbnVtYmVyXHJcbiAgZGV0YWlsc19qc29uOiBzdHJpbmdcclxuICBwYXltZW50X2FkanVzdG1lbnQ6IHt9XHJcbiAgcGl2b3Q6IHtcclxuICAgIGRvY3VtZW50X2lkOiBudW1iZXJcclxuICAgIHBheW1lbnRfaWQ6IG51bWJlclxyXG4gICAgYW1vdW50OiBudW1iZXJcclxuICB9XHJcbiAgY291bnRyeVBheW1lbnRUeXBlOiBDb3VudHJ5UGF5bWVudFR5cGVcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lciBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgaWRlbnRpZmljYXRpb25fbnVtYmVyOiBudW1iZXJcclxuICBjb21wYW55X25hbWU6IHN0cmluZ1xyXG4gIGZ1bGxfbmFtZTogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIHBob25lX2NvZGU6IHN0cmluZyB8IG51bGxcclxuICBwaG9uZV9udW1iZXI6IG51bWJlciB8IG51bGxcclxuICBiaXJ0aF9kYXRlOiBzdHJpbmcgfCBudWxsXHJcbiAgcG9zdGFsX2NvZGU6IG51bWJlciB8IG51bGxcclxuICBzdGF0ZTogc3RyaW5nIHwgbnVsbFxyXG4gIGNvdW50eV9uYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgY2l0eV9uYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgYWRkcmVzc19saW5lMTogc3RyaW5nXHJcbiAgYWRkcmVzc19saW5lMjogc3RyaW5nIHwgbnVsbFxyXG4gIGFkZHJlc3NfbGluZTM6IHN0cmluZyB8IG51bGxcclxuICBjb21wYW55X2lkOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvbl90eXBlX2lkOiBudW1iZXJcclxuICBleHRyYV9maWVsZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsPlxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGN1c3RvbWVyX3R5cGVfaWQ6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyVHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgaWRlbnRpZmljYXRpb25fdHlwZV9jdXN0b21lcl90eXBlczogSWRlbnRpZmljYXRpb25UeXBlQ3VzdG9tZXJbXVxyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpY2F0aW9uVHlwZUN1c3RvbWVyIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjdXN0b21lcl90eXBlX2lkOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvbl90eXBlX2lkOiBudW1iZXJcclxuICBjdXN0b21lcl9pZDogbnVtYmVyIHwgbnVsbFxyXG4gIGlkZW50aWZpY2F0aW9uVHlwZTogSWRlbnRpZmljYXRpb25UeXBlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeVBheW1lbnRUeXBlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBwYXltZW50X3R5cGVfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGJpbGxpbmdfcGF5bWVudF9jb2RlOiBzdHJpbmdcclxuICBjYW5fdG9sZXJhbmNlOiBib29sZWFuXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfZmllbGRzOiBDb3VudHJ5UGF5bWVudFR5cGVGaWVsZFtdXHJcbiAgcGF5bWVudF90eXBlOiBQYXltZW50VHlwZVxyXG4gIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25zXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeVBheW1lbnRUeXBlRmllbGQgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2lkOiBudW1iZXJcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxyXG4gIGZvcm1hdDogc3RyaW5nXHJcbiAgaXNfcmVxdWlyZWQ6IGJvb2xlYW5cclxuICBjYXRhbG9nOiBzdHJpbmdbXSB8IG51bGxcclxuICByZWdleDogc3RyaW5nIHwgbnVsbFxyXG4gIGlzX2ludGVyZmFjZTogYm9vbGVhblxyXG4gIGlzX2JhbmtfcmVmZXJlbmNlOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudFR5cGUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGZpZWxkczoge1xyXG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXHJcbiAgfSxcclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2ZpZWxkX2lkOiBudW1iZXJcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb2RlOiBzdHJpbmdcclxuICBhY2NvdW50YWJsZV9hY2NvdW50OiBzdHJpbmdcclxuICBhY2NvdW50YWJsZV9hY2NvdW50X3VzZDogc3RyaW5nIHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRUeXBlRmllbGRBY2NvdW50IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb3VudHJ5X3BheW1lbnRfdHlwZV9maWVsZF9pZDogbnVtYmVyXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgYWNjb3VudDogc3RyaW5nXHJcbiAgYWNjb3VudGFibGVfYWNjb3VudDogc3RyaW5nXHJcbiAgY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIGN1cnJlbmN5OiBDdXJyZW5jeVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvbGVyYW5jZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgdG9sZXJhbmNlX3R5cGU6IG51bWJlclxyXG4gIG1pbl9hbW91bnQ6IG51bWJlclxyXG4gIG1heF9hbW91bnQ6IG51bWJlclxyXG4gIHRvbGVyYW5jZTogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJDb3VudHJ5RG9jdW1lbnRUeXBlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBpZGVudGlmaWNhdGlvbl90eXBlX2N1c3RvbWVyX3R5cGVfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfZG9jdW1lbnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9kb2N1bWVudF90eXBlOiBDb3VudHJ5RG9jdW1lbnRUeXBlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeURvY3VtZW50VHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgZG9jdW1lbnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgZG9jdW1lbnRfY2F0ZWdvcnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGFzc29jaWF0ZWRfcGF5bWVudDogYm9vbGVhblxyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGRvY3VtZW50X3R5cGU6IERvY3VtZW50VHlwZSxcclxuICBkb2N1bWVudF9jYXRlZ29yeTogRG9jdW1lbnRDYXRlZ29yeVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50VHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbW92ZW1lbnRfdHlwZTogbnVtYmVyXHJcbiAgbG9jYWxfY29kZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRDYXRlZ29yeSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgaXNfZWxlY3Ryb25pYzogYm9vbGVhblxyXG4gIHRheGFibGU6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UmVxdWVzdHMgZXh0ZW5kcyBBY3RpdmVMZXNzTGFyYXZlbE1vZGVsIHtcclxuICBkb2N1bWVudF9pZDogc3RyaW5nXHJcbiAgZG9jdW1lbnRfc3RhdHVzX2NvZGU6IHN0cmluZ1xyXG4gIHNlcnZpY2U6IHN0cmluZ1xyXG4gIHRpbWVzOiBzdHJpbmdbXVxyXG4gIG9ic2VydmF0aW9uOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFN0YXR1cyBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29kZTogbnVtYmVyXHJcbn1cclxuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWludm9pY2VzLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9tb2RlbHMvYXBpLWludm9pY2VzLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2ZUxlc3NMYXJhdmVsTW9kZWwsIExhcmF2ZWxNb2RlbCwgVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBDdXJyZW5jeSwgSWRlbnRpZmljYXRpb25UeXBlIH0gZnJvbSAnLi9hcGktY2F0YWxvZy5pbnRlcmZhY2VzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgZG9jdW1lbnRfdHlwZV9yYW5nZV9pZDogbnVtYmVyXHJcbiAgZG9jdW1lbnRfbnVtYmVyOiBudW1iZXJcclxuICBkb2N1bWVudF9wcmVmaXg6IHN0cmluZ1xyXG4gIGRvY3VtZW50X3N1ZmZpeDogc3RyaW5nXHJcbiAgZG9jdW1lbnRfbnVtYmVyX29yaWdpbmFsOiBudW1iZXJcclxuICBkb2N1bWVudF9wcmVmaXhfb3JpZ2luYWw6IHN0cmluZ1xyXG4gIGRvY3VtZW50X3N1ZmZpeF9vcmlnaW5hbDogc3RyaW5nXHJcbiAgY3VzdG9tZXJfaWQ6IG51bWJlclxyXG4gIGN1c3RvbWVyX2NvbXBhbnlfbmFtZTogc3RyaW5nXHJcbiAgY3VzdG9tZXJfZW1haWw6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2FkZHJlc3NfbGluZTE6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2lkZW50aWZpY2F0aW9uX251bWJlcjogc3RyaW5nXHJcbiAgY3VzdG9tZXJfaWRlbnRpZmljYXRpb25fdHlwZV9pZDogbnVtYmVyXHJcbiAgcHJvdmlkZXJfbmFtZTogc3RyaW5nXHJcbiAgcHJvdmlkZXJfaWRlbnRpZmljYXRpb25fbnVtYmVyOiBudW1iZXJcclxuICBkb2N1bWVudF9hdXRob3JpemF0aW9uX251bWJlcjogc3RyaW5nXHJcbiAgcHJvdmlkZXJfZXh0cmFfZmllbGRzOiB7XHJcbiAgICBwaG9uZTogc3RyaW5nXHJcbiAgICBmYXg6IHN0cmluZ1xyXG4gIH1cclxuICBkb2N1bWVudF9pZDogbnVtYmVyXHJcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZ1xyXG4gIGV4dHJhX2ZpZWxkczoge1xyXG4gICAgb2JzZXJ2YXRpb246IHN0cmluZ1xyXG4gICAgZG9jdW1lbnRfZGF0ZTogc3RyaW5nXHJcbiAgfVxyXG4gIGN1c3RvbWVyX2FkZHJlc3NfbGluZTI6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2FkZHJlc3NfbGluZTM6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX3Bvc3RhbF9jb2RlOiBzdHJpbmdcclxuICBjdXN0b21lcl9zdGF0ZTogc3RyaW5nXHJcbiAgY3VzdG9tZXJfY291bnR5X25hbWU6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX2NpdHlfbmFtZTogc3RyaW5nXHJcbiAgY3VzdG9tZXJfY291bnRyeV9pZDogbnVtYmVyXHJcbiAgc3RhdHVzOiBudW1iZXJcclxuICB1c2VyX2lkOiBudW1iZXJcclxuICBjdXN0b21lcl9mdWxsX25hbWU6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX3Bob25lX2NvZGU6IHN0cmluZ1xyXG4gIGN1c3RvbWVyX3Bob25lX251bWJlcjogc3RyaW5nXHJcbiAgZ210X29mZnNldDogc3RyaW5nXHJcbiAgY3VzdG9tZXJfdHlwZV9pZDogbnVtYmVyXHJcbiAgY3VzdG9tZXJfZXh0cmFfZmllbGRzOiBzdHJpbmdcclxuICBpbnN0YWxsYXRpb25faWQ6IG51bWJlclxyXG4gIGV4Y2hhbmdlOiBudW1iZXJcclxuICBhdXRob3JpemF0aW9uX251bWJlcnM6IHN0cmluZ1xyXG4gIGV4dHJhX2ZpZWxkc19qc29uOiBzdHJpbmdcclxuICBwcm92aWRlcl9leHRyYV9maWVsZHNfanNvbjogc3RyaW5nXHJcbiAgZG9jdW1lbnRfdHlwZV9yYW5nZTogRG9jdW1lbnRUeXBlUmFuZ2VcclxuICBpdGVtczogRG9jdW1lbnRJdGVtW11cclxuICBkb2N1bWVudF9wYXltZW50czogRG9jdW1lbnRQYXltZW50W11cclxuICBwYXltZW50czogUGF5bWVudFtdXHJcbiAgZG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50VHlwZVJhbmdlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBhY3RpdmF0aW9uX2tleTogc3RyaW5nIHwgbnVsbFxyXG4gIGF1dGhvcml6YXRpb25fbGFiZWw6IHN0cmluZyB8IG51bGxcclxuICBhdXRob3JpemF0aW9uX251bWJlcjogc3RyaW5nIHwgbnVsbFxyXG4gIGF1dG9fYWN0aXZhdGlvbjogYm9vbGVhblxyXG4gIGNvdW50cnlfZG9jdW1lbnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgY3VycmVudF9udW1iZXI6IG51bWJlclxyXG4gIGRheXNfdW50aWxfZXhwaXJlX21haWw6IG51bWJlclxyXG4gIGVudmlyb25tZW50OiBzdHJpbmdcclxuICBleHRlcm5hbF9nZW5lcmF0ZWQ6IGJvb2xlYW5cclxuICBmaW5hbF9udW1iZXI6IG51bWJlclxyXG4gIGluaXRfbnVtYmVyOiBudW1iZXJcclxuICBpc19tYW51YWw6IGJvb2xlYW5cclxuICBtaW5fdW50aWxfbWFpbDogbnVtYmVyXHJcbiAgbW9kZWxfaWQ6IG51bWJlclxyXG4gIG1vZGVsX3R5cGU6IHN0cmluZ1xyXG4gIHByZWZpeDogc3RyaW5nXHJcbiAgcHJvdmlkZXJfaWQ6IG51bWJlclxyXG4gIHNhcF9wcmVmaXg6IHN0cmluZ1xyXG4gIHNhcF9zdWZmaXg6IHN0cmluZyB8IG51bGxcclxuICBzdWZmaXg6IHN0cmluZyB8IG51bGxcclxuICB1c2VkX251bWJlcnM6IG51bWJlclxyXG4gIHZhbGlkX3NpbmNlOiBzdHJpbmdcclxuICB2YWxpZF91bnRpbDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRJdGVtIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBpZDogbnVtYmVyXHJcbiAgZG9jdW1lbnRfaWQ6IG51bWJlclxyXG4gIGRldGFpbHM6IHtcclxuICAgIGNvZGU6IHN0cmluZ1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gICAgcmVsYXRpb246IHN0cmluZ1xyXG4gIH0gfCB7XHJcbiAgICBjb2RlOiBzdHJpbmdcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICAgIGhlYWRlcjoge1xyXG4gICAgICBhd2JOdW1iZXI6IHN0cmluZ1xyXG4gICAgICBhY2NvdW50TnVtYmVyOiBzdHJpbmdcclxuICAgICAgcGllY2VzOiBzdHJpbmdbXVxyXG4gICAgICB0b3RhbDogbnVtYmVyXHJcbiAgICB9XHJcbiAgICB0aWNrZXRfZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVsbD5cclxuICB9IHwge1xyXG4gICAgYWNjb3VudDogbnVtYmVyXHJcbiAgICBjb3VudHJ5X3JlZmVyZW5jZV9jdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgICBjdXN0b21lcl9jb21wYW55X25hbWU6IHN0cmluZ1xyXG4gIH1cclxuICBtb2RlbF9vcmlnaW46IHN0cmluZ1xyXG4gIG1vZGVsX3R5cGU6IHN0cmluZ1xyXG4gIG1vZGVsX2lkOiBudW1iZXJcclxuICBxdWFudGl0eTogbnVtYmVyXHJcbiAgdW5pdF9wcmljZTogbnVtYmVyXHJcbiAgc3VidG90YWw6IG51bWJlclxyXG4gIHRheF9kZXRhaWw6IHt9XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xyXG4gIHVwZGF0ZWRfYXQ6IHN0cmluZ1xyXG4gIGRpc2NvdW50OiAwXHJcbiAgZGV0YWlsc19qc29uOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFBheW1lbnQgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGRvY3VtZW50X2lkOiBudW1iZXJcclxuICBwYXltZW50X2lkOiBudW1iZXJcclxuICBhbW91bnQ6IG51bWJlclxyXG4gIHBheW1lbnQ6IFBheW1lbnRcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBhbW91bnQ6IG51bWJlclxyXG4gIGNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmN5X2lkOiBudW1iZXJcclxuICBleGNoYW5nZTogbnVtYmVyXHJcbiAgY29tcGFueV9jb3VudHJ5X3BheW1lbnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgZHVlX2RhdGU6IHN0cmluZ1xyXG4gIHJlY2VpdmVkOiBudW1iZXJcclxuICBzdGF0dXM6IG51bWJlclxyXG4gIGRldGFpbHM6IHt9XHJcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZ1xyXG4gIGdtdF9vZmZzZXQ6IHN0cmluZ1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2lkOiBudW1iZXJcclxuICBvcGVuaW5nX2lkOiBudW1iZXJcclxuICBpbnN0YWxsYXRpb25faWQ6IG51bWJlclxyXG4gIGRldGFpbHNfanNvbjogc3RyaW5nXHJcbiAgcGF5bWVudF9hZGp1c3RtZW50OiB7fVxyXG4gIHBpdm90OiB7XHJcbiAgICBkb2N1bWVudF9pZDogbnVtYmVyXHJcbiAgICBwYXltZW50X2lkOiBudW1iZXJcclxuICAgIGFtb3VudDogbnVtYmVyXHJcbiAgfVxyXG4gIGNvdW50cnlQYXltZW50VHlwZTogQ291bnRyeVBheW1lbnRUeXBlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXIgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGlkZW50aWZpY2F0aW9uX251bWJlcjogbnVtYmVyXHJcbiAgY29tcGFueV9uYW1lOiBzdHJpbmdcclxuICBmdWxsX25hbWU6IHN0cmluZ1xyXG4gIGVtYWlsOiBzdHJpbmdcclxuICBwaG9uZV9jb2RlOiBzdHJpbmcgfCBudWxsXHJcbiAgcGhvbmVfbnVtYmVyOiBudW1iZXIgfCBudWxsXHJcbiAgYmlydGhfZGF0ZTogc3RyaW5nIHwgbnVsbFxyXG4gIHBvc3RhbF9jb2RlOiBudW1iZXIgfCBudWxsXHJcbiAgc3RhdGU6IHN0cmluZyB8IG51bGxcclxuICBjb3VudHlfbmFtZTogc3RyaW5nIHwgbnVsbFxyXG4gIGNpdHlfbmFtZTogc3RyaW5nIHwgbnVsbFxyXG4gIGFkZHJlc3NfbGluZTE6IHN0cmluZ1xyXG4gIGFkZHJlc3NfbGluZTI6IHN0cmluZyB8IG51bGxcclxuICBhZGRyZXNzX2xpbmUzOiBzdHJpbmcgfCBudWxsXHJcbiAgY29tcGFueV9pZDogbnVtYmVyXHJcbiAgaWRlbnRpZmljYXRpb25fdHlwZV9pZDogbnVtYmVyXHJcbiAgZXh0cmFfZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbD5cclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBjdXN0b21lcl90eXBlX2lkOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lclR5cGUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGlkZW50aWZpY2F0aW9uX3R5cGVfY3VzdG9tZXJfdHlwZXM6IElkZW50aWZpY2F0aW9uVHlwZUN1c3RvbWVyW11cclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWNhdGlvblR5cGVDdXN0b21lciBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY3VzdG9tZXJfdHlwZV9pZDogbnVtYmVyXHJcbiAgaWRlbnRpZmljYXRpb25fdHlwZV9pZDogbnVtYmVyXHJcbiAgY3VzdG9tZXJfaWQ6IG51bWJlciB8IG51bGxcclxuICBpZGVudGlmaWNhdGlvblR5cGU6IElkZW50aWZpY2F0aW9uVHlwZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlQYXltZW50VHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgcGF5bWVudF90eXBlX2lkOiBudW1iZXJcclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBuYW1lOiBzdHJpbmdcclxuICBiaWxsaW5nX3BheW1lbnRfY29kZTogc3RyaW5nXHJcbiAgY2FuX3RvbGVyYW5jZTogYm9vbGVhblxyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2ZpZWxkczogQ291bnRyeVBheW1lbnRUeXBlRmllbGRbXVxyXG4gIHBheW1lbnRfdHlwZTogUGF5bWVudFR5cGVcclxuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uc1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlQYXltZW50VHlwZUZpZWxkIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb3VudHJ5X3BheW1lbnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcclxuICBmb3JtYXQ6IHN0cmluZ1xyXG4gIGlzX3JlcXVpcmVkOiBib29sZWFuXHJcbiAgY2F0YWxvZzogc3RyaW5nW10gfCBudWxsXHJcbiAgcmVnZXg6IHN0cmluZyB8IG51bGxcclxuICBpc19pbnRlcmZhY2U6IGJvb2xlYW5cclxuICBpc19iYW5rX3JlZmVyZW5jZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRUeXBlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBmaWVsZHM6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xyXG4gIH0sXHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudFR5cGVGaWVsZENhcmRUeXBlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb3VudHJ5X3BheW1lbnRfdHlwZV9maWVsZF9pZDogbnVtYmVyXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgYWNjb3VudGFibGVfYWNjb3VudDogc3RyaW5nXHJcbiAgYWNjb3VudGFibGVfYWNjb3VudF91c2Q6IHN0cmluZyB8IG51bGxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50VHlwZUZpZWxkQWNjb3VudCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfZmllbGRfaWQ6IG51bWJlclxyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGFjY291bnQ6IHN0cmluZ1xyXG4gIGFjY291bnRhYmxlX2FjY291bnQ6IHN0cmluZ1xyXG4gIGN1cnJlbmN5X2lkOiBudW1iZXJcclxuICBjdXJyZW5jeTogQ3VycmVuY3lcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUb2xlcmFuY2UgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIHRvbGVyYW5jZV90eXBlOiBudW1iZXJcclxuICBtaW5fYW1vdW50OiBudW1iZXJcclxuICBtYXhfYW1vdW50OiBudW1iZXJcclxuICB0b2xlcmFuY2U6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyQ291bnRyeURvY3VtZW50VHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgaWRlbnRpZmljYXRpb25fdHlwZV9jdXN0b21lcl90eXBlX2lkOiBudW1iZXJcclxuICBjb3VudHJ5X2RvY3VtZW50X3R5cGVfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfZG9jdW1lbnRfdHlwZTogQ291bnRyeURvY3VtZW50VHlwZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlEb2N1bWVudFR5cGUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGRvY3VtZW50X3R5cGVfaWQ6IG51bWJlclxyXG4gIGRvY3VtZW50X2NhdGVnb3J5X2lkOiBudW1iZXJcclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBhc3NvY2lhdGVkX3BheW1lbnQ6IGJvb2xlYW5cclxuICBuYW1lOiBzdHJpbmdcclxuICBkb2N1bWVudF90eXBlOiBEb2N1bWVudFR5cGUsXHJcbiAgZG9jdW1lbnRfY2F0ZWdvcnk6IERvY3VtZW50Q2F0ZWdvcnlcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFR5cGUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG1vdmVtZW50X3R5cGU6IG51bWJlclxyXG4gIGxvY2FsX2NvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50Q2F0ZWdvcnkgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGlzX2VsZWN0cm9uaWM6IGJvb2xlYW5cclxuICB0YXhhYmxlOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFJlcXVlc3RzIGV4dGVuZHMgQWN0aXZlTGVzc0xhcmF2ZWxNb2RlbCB7XHJcbiAgZG9jdW1lbnRfaWQ6IHN0cmluZ1xyXG4gIGRvY3VtZW50X3N0YXR1c19jb2RlOiBzdHJpbmdcclxuICBzZXJ2aWNlOiBzdHJpbmdcclxuICB0aW1lczogc3RyaW5nW11cclxuICBvYnNlcnZhdGlvbjogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRTdGF0dXMgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvZGU6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBtb2RlbF90eXBlOiBzdHJpbmdcclxuICBtb2RlbF9pZDogbnVtYmVyXHJcbiAgYnVzeW5lc3NfbmFtZTogc3RyaW5nXHJcbiAgaWRlbnRpZmljYXRpb25fbnVtYmVyOiBzdHJpbmdcclxuICBpZGVudGlmaWNhdGlvbl90eXBlX2lkOiBudW1iZXJcclxuICBhZGRyZXNzX2xpbmUxOiBzdHJpbmdcclxuICBhZGRyZXNzX2xpbmUyOiBzdHJpbmdcclxuICBhZGRyZXNzX2xpbmUzOiBzdHJpbmdcclxuICBleHRyYV9maWVsZHM6IFtdXHJcbiAgY29tcGFueV9jb3VudHJ5X2lkOiBudW1iZXJcclxuICBmb290ZXI6IHN0cmluZ1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWludm9pY2VzLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1pbnZvaWNlcy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb3VudHJ5RG9jdW1lbnRUeXBlLFxyXG4gIENvdW50cnlQYXltZW50VHlwZSxcclxuICBDb3VudHJ5UGF5bWVudFR5cGVGaWVsZCxcclxuICBDdXN0b21lcixcclxuICBDdXN0b21lckNvdW50cnlEb2N1bWVudFR5cGUsXHJcbiAgQ3VzdG9tZXJUeXBlLFxyXG4gIERvY3VtZW50LFxyXG4gIERvY3VtZW50UmVxdWVzdHMsXHJcbiAgRG9jdW1lbnRTdGF0dXMsXHJcbiAgRG9jdW1lbnRUeXBlUmFuZ2UsXHJcbiAgUGF5bWVudFR5cGUsXHJcbiAgUGF5bWVudFR5cGVGaWVsZEFjY291bnQsXHJcbiAgUGF5bWVudFR5cGVGaWVsZENhcmRUeXBlLFxyXG4gIFByb3ZpZGVyLFxyXG4gIFRvbGVyYW5jZVxyXG59IGZyb20gJy4vYXBpLWludm9pY2VzLmludGVyZmFjZXMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhdGlvbkFjY291bnRQYXltZW50SW4ge1xyXG4gIGRvY3VtZW50X3R5cGVfcmFuZ2VfaWQ6IG51bWJlciB8IG51bGxcclxuICBkb2N1bWVudF9udW1iZXI6IHN0cmluZyB8IG51bGxcclxuICBvYnNlcnZhdGlvbjogc3RyaW5nIHwgbnVsbFxyXG4gIGRvY3VtZW50X2RhdGU6IHN0cmluZyB8IG51bGxcclxuICB0b3RhbF9hbW91bnQ6IG51bWJlclxyXG4gIGNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmN5X2lkOiBudW1iZXJcclxuICBjdXN0b21lcjoge1xyXG4gICAgY29tcGFueV9uYW1lOiBzdHJpbmdcclxuICAgIGZ1bGxfbmFtZTogc3RyaW5nXHJcbiAgICBhY2NvdW50X251bWJlcjogc3RyaW5nXHJcbiAgICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICB9XHJcbiAgcGF5bWVudHM6IEFjY291bnRQYXltZW50W11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQWNjb3VudFBheW1lbnQgPSB7XHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmN5X2lkOiBudW1iZXJcclxuICBhbW91bnQ6IG51bWJlclxyXG4gIGV4Y2hhbmdlOiBzdHJpbmdcclxuICBkdWVfZGF0ZTogc3RyaW5nXHJcbiAgcmVjZWl2ZWQ6IG51bWJlclxyXG4gIHN0YXR1cz86IGJvb2xlYW5cclxuICBkZXRhaWxzPzoge31cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25BY2NvdW50UGF5bWVudE91dCB7XHJcbiAgZG9jdW1lbnQ6IERvY3VtZW50XHJcbiAgdHJhbnNhY3Rpb25faWQ6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmludENvbGxlY3Rpb25SZWNlaXB0T3V0ID0ge1xyXG4gIGNvbGxlY3Rpb25fcmVjZWlwdDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbFBheW1lbnRSZWNlaXB0SW4gPSB7XHJcbiAgZG9jdW1lbnRfaWQ6IG51bWJlclxyXG4gIGlzX2NhbmNlbGVkX2ludm9pY2U6IGJvb2xlYW5cclxuICBjYW5jZWxsYXRpb25fcmVhc29uX2lkOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BlcmF0aW9uQ2FuY2VsQmlsbGluZ0luID0ge1xyXG4gIGludm9pY2VJZDogbnVtYmVyXHJcbiAgY2FuY2VsbGF0aW9uX3JlYXNvbl9pZDogbnVtYmVyXHJcbiAgY2FuY2VsX3BheW1lbnQ6IGJvb2xlYW5cclxuICBzZW5kX3NoaXBtZW50czogYm9vbGVhblxyXG4gIGxvY2FsX2NhbmNlbD86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BlcmF0aW9uQ2FuY2VsQmlsbGluZ091dCA9IHtcclxuICBjcmVkaXROb3RlRG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGVyYXRpb25Eb2N1bWVudEluID0ge1xyXG4gIGNvdW50cnlfZG9jdW1lbnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgZG9jdW1lbnRfaWQ6IG51bWJlclxyXG4gIGN1c3RvbWVyOiB7XHJcbiAgICBjdXN0b21lcl90eXBlX2lkOiBudW1iZXJcclxuICAgIGNvbXBhbnlfbmFtZTogc3RyaW5nXHJcbiAgICBmdWxsX25hbWU6IHN0cmluZ1xyXG4gICAgZW1haWw6IHN0cmluZ1xyXG4gICAgcGhvbmVfY29kZTogc3RyaW5nIHwgbnVsbFxyXG4gICAgcGhvbmVfbnVtYmVyOiBzdHJpbmcgfCBudWxsXHJcbiAgICBhZGRyZXNzX2xpbmUxOiBzdHJpbmcgfCBudWxsXHJcbiAgICBhZGRyZXNzX2xpbmUyOiBzdHJpbmcgfCBudWxsXHJcbiAgICBhZGRyZXNzX2xpbmUzOiBzdHJpbmcgfCBudWxsXHJcbiAgICBpZGVudGlmaWNhdGlvbl9udW1iZXI6IHN0cmluZ1xyXG4gICAgaWRlbnRpZmljYXRpb25fdHlwZV9pZDogbnVtYmVyXHJcbiAgICBwb3N0YWxfY29kZTogc3RyaW5nIHwgbnVsbFxyXG4gICAgc3RhdGU6IHN0cmluZyB8IG51bGxcclxuICAgIGNvdW50eV9uYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgICBjaXR5X25hbWU6IHN0cmluZyB8IG51bGxcclxuICAgIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gICAgZXh0cmFfZmllbGRzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfSB8IG51bGxcclxuICB9LFxyXG4gIGRvY3VtZW50X2V4dHJhX2ZpZWxkczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIH0gfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wZXJhdGlvbkRvY3VtZW50T3V0ID0ge1xyXG4gIGRvY3VtZW50OiBEb2N1bWVudFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJbnZvaWNlVHlwZUN1c3RvbVBhcmFtc0luID0ge1xyXG4gIGlkZW50aWZpY2F0aW9uTnVtYmVyOiBzdHJpbmdcclxuICBpZGVudGlmaWNhdGlvblR5cGVpZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wZXJhdGlvblByaW50RG9jdW1lbnRPdXQgPSB7XHJcbiAgZG9jdW1lbnQ6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lclR5cGVzT3V0ID0ge1xyXG4gIGN1c3RvbWVyX3R5cGVzOiBDdXN0b21lclR5cGVbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJzT3V0ID0ge1xyXG4gIGN1c3RvbWVyczogQ3VzdG9tZXJbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsT3V0ID0ge1xyXG4gIGRvY3VtZW50OiBEb2N1bWVudFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGVyYXRpb25TaGlwbWVudEV4dGVybmFsSW4gPSB7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyRG9jdW1lbnRUeXBlc091dCA9IHtcclxuICBjdXN0b21lcl9jb3VudHJ5X2RvY3VtZW50X3R5cGVzOiBDdXN0b21lckNvdW50cnlEb2N1bWVudFR5cGVbXTtcclxuICB0b3RhbDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5UGF5bWVudFR5cGVzT3V0ID0ge1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlczogQ291bnRyeVBheW1lbnRUeXBlW11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlQYXltZW50VHlwZU91dCA9IHtcclxuICBjb3VudHJ5X3BheW1lbnRfdHlwZTogQ291bnRyeVBheW1lbnRUeXBlXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlQYXltZW50VHlwZUluID0ge1xyXG4gIHBheW1lbnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgYmlsbGluZ19wYXltZW50X2NvZGU6IHN0cmluZ1xyXG4gIGNhbl90b2xlcmFuY2U6IGJvb2xlYW5cclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeVBheW1lbnRUeXBlRmllbGRzT3V0ID0ge1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2ZpZWxkczogQ291bnRyeVBheW1lbnRUeXBlRmllbGRbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeVBheW1lbnRUeXBlRmllbGRPdXQgPSB7XHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfZmllbGQ6IENvdW50cnlQYXltZW50VHlwZUZpZWxkXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlQYXltZW50VHlwZUZpZWxkSW4gPSB7XHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfaWQ6IG51bWJlclxyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXHJcbiAgZm9ybWF0OiBzdHJpbmdcclxuICBpc19yZXF1aXJlZDogYm9vbGVhblxyXG4gIGNhdGFsb2c6IHN0cmluZ1tdIHwgbnVsbFxyXG4gIGlzX2ludGVyZmFjZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50VHlwZXNPdXQgPSB7XHJcbiAgcGF5bWVudF90eXBlczogUGF5bWVudFR5cGVbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVGaWVsZENhcmRUeXBlc091dCA9IHtcclxuICBjb3VudHJ5X3BheW1lbnRfdHlwZV9maWVsZF9jYXJkX3R5cGVzOiBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVGaWVsZENhcmRUeXBlSW4gPSB7XHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfZmllbGRfaWQ6IG51bWJlclxyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGFjY291bnRhYmxlX2FjY291bnQ6IHN0cmluZ1xyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVPdXQgPSB7XHJcbiAgY291bnRyeV9wYXltZW50X3R5cGVfZmllbGRfY2FyZF90eXBlOiBQYXltZW50VHlwZUZpZWxkQ2FyZFR5cGVcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVGaWVsZEFjY291bnRzT3V0ID0ge1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2ZpZWxkX2FjY291bnRzOiBQYXltZW50VHlwZUZpZWxkQWNjb3VudFtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50VHlwZUZpZWxkQWNjb3VudEluID0ge1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2ZpZWxkX2lkOiBudW1iZXJcclxuICBuYW1lOiBzdHJpbmdcclxuICBhY2NvdW50OiBzdHJpbmdcclxuICBhY2NvdW50YWJsZV9hY2NvdW50OiBzdHJpbmdcclxuICBjdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRUeXBlRmllbGRBY2NvdW50T3V0ID0ge1xyXG4gIGNvdW50cnlfcGF5bWVudF90eXBlX2ZpZWxkX2FjY291bnQ6IFBheW1lbnRUeXBlRmllbGRBY2NvdW50XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRvbGVyYW5jZXNPdXQgPSB7XHJcbiAgdG9sZXJhbmNlczogVG9sZXJhbmNlW11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRvbGVyYW5jZUluID0ge1xyXG4gIGNvbXBhbnlfY291bnRyeV9pZDogbnVtYmVyXHJcbiAgdG9sZXJhbmNlX3R5cGU6IG51bWJlclxyXG4gIG1pbl9hbW91bnQ6IG51bWJlclxyXG4gIG1heF9hbW91bnQ6IG51bWJlclxyXG4gIHRvbGVyYW5jZTogbnVtYmVyXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbn1cclxuZXhwb3J0IHR5cGUgVG9sZXJhbmNlT3V0ID0ge1xyXG4gIHRvbGVyYW5jZTogVG9sZXJhbmNlXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wZXJhdGlvbkRvY3VtZW50UmVxdWVzdHNPdXQgPSB7XHJcbiAgcmVxdWVzdHM6IERvY3VtZW50UmVxdWVzdHNbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHZXREb2N1bWVudHNPdXQgPSB7XHJcbiAgZG9jdW1lbnRzOiBEb2N1bWVudFtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEb2N1bWVudFN0YXR1c2VzT3V0ID0ge1xyXG4gIGRvY3VtZW50X3N0YXR1czogRG9jdW1lbnRTdGF0dXNbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BlcmF0aW9uUHJpbnRYbWxPdXQgPSB7XHJcbiAgeG1sOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRG9jdW1lbnRUeXBlUmFuZ2VzT3V0ID0ge1xyXG4gIGRvY3VtZW50X3R5cGVfcmFuZ2VzOiBEb2N1bWVudFR5cGVSYW5nZVtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEb2N1bWVudFR5cGVSYW5nZUluID0ge1xyXG4gIGFjdGl2YXRpb25fa2V5Pzogc3RyaW5nXHJcbiAgYXV0aG9yaXphdGlvbl9sYWJlbD86IHN0cmluZ1xyXG4gIGF1dGhvcml6YXRpb25fbnVtYmVyPzogc3RyaW5nXHJcbiAgYXV0b19hY3RpdmF0aW9uOiBib29sZWFuXHJcbiAgY291bnRyeV9kb2N1bWVudF90eXBlX2lkOiBudW1iZXJcclxuICBjdXJyZW50X251bWJlcjogbnVtYmVyXHJcbiAgZGF5c191bnRpbF9leHBpcmVfbWFpbDogbnVtYmVyXHJcbiAgZW52aXJvbm1lbnQ/OiBzdHJpbmdcclxuICBleHRlcm5hbF9nZW5lcmF0ZWQ/OiBib29sZWFuXHJcbiAgZmluYWxfbnVtYmVyOiBudW1iZXJcclxuICBpbml0X251bWJlcjogbnVtYmVyXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbiAgaXNfbWFudWFsPzogYm9vbGVhblxyXG4gIG1pbl91bnRpbF9tYWlsOiBudW1iZXJcclxuICBtb2RlbF9pZDogbnVtYmVyXHJcbiAgbW9kZWxfdHlwZTogc3RyaW5nXHJcbiAgcHJlZml4OiBzdHJpbmdcclxuICBwcm92aWRlcl9pZDogbnVtYmVyXHJcbiAgc2FwX3ByZWZpeDogc3RyaW5nXHJcbiAgc2FwX3N1ZmZpeD86IHN0cmluZ1xyXG4gIHN1ZmZpeD86IHN0cmluZ1xyXG4gIHVzZWRfbnVtYmVyczogbnVtYmVyXHJcbiAgdmFsaWRfc2luY2U6IHN0cmluZ1xyXG4gIHZhbGlkX3VudGlsOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRG9jdW1lbnRUeXBlUmFuZ2VPdXQgPSB7XHJcbiAgZG9jdW1lbnRfdHlwZV9yYW5nZTogRG9jdW1lbnRUeXBlUmFuZ2VcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlcnNPdXQge1xyXG4gIHByb3ZpZGVyczogUHJvdmlkZXJbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3VudHJ5RG9jdW1lbnRUeXBlc091dCB7XHJcbiAgY291bnRyeV9kb2N1bWVudF90eXBlczogQ291bnRyeURvY3VtZW50VHlwZVtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcbiJdfQ==
|
|
@@ -3338,6 +3338,61 @@ class ApiInvoicesService {
|
|
|
3338
3338
|
return this.http.get(`${this.url}/operation/print/xml/${documentId}`)
|
|
3339
3339
|
.pipe(map(({ data }) => data));
|
|
3340
3340
|
}
|
|
3341
|
+
/**
|
|
3342
|
+
* Retrieves a list of providers based on the provided query parameters.
|
|
3343
|
+
* @param params - Query parameters to filter or paginate the providers list
|
|
3344
|
+
* @returns An Observable that emits the providers data
|
|
3345
|
+
*/
|
|
3346
|
+
getProviders(params) {
|
|
3347
|
+
return this.http.get(`${this.url}/providers`, { params })
|
|
3348
|
+
.pipe(map(({ data }) => data));
|
|
3349
|
+
}
|
|
3350
|
+
/**
|
|
3351
|
+
* Retrieves the document type ranges based on the provided query parameters.
|
|
3352
|
+
* @param params - The query parameters to filter document type ranges
|
|
3353
|
+
* @returns An Observable that emits the document type ranges data
|
|
3354
|
+
*/
|
|
3355
|
+
getDocumentsTypesRanges(params) {
|
|
3356
|
+
return this.http.get(`${this.url}/document-type-ranges`, { params })
|
|
3357
|
+
.pipe(map(({ data }) => data));
|
|
3358
|
+
}
|
|
3359
|
+
/**
|
|
3360
|
+
* Creates a new document type range.
|
|
3361
|
+
* @param body - The document type range data to create
|
|
3362
|
+
* @returns An observable that emits the created document type range
|
|
3363
|
+
*/
|
|
3364
|
+
postDocumentTypeRange(body) {
|
|
3365
|
+
return this.http.post(`${this.url}/document-type-ranges`, body)
|
|
3366
|
+
.pipe(map(({ data }) => data));
|
|
3367
|
+
}
|
|
3368
|
+
/**
|
|
3369
|
+
* Deletes a document type range by its identifier.
|
|
3370
|
+
* @param id - The unique identifier of the document type range to delete
|
|
3371
|
+
* @returns An Observable that emits the deleted DocumentTypeRangeOut object
|
|
3372
|
+
*/
|
|
3373
|
+
deleteDocumentsTypesRange(id) {
|
|
3374
|
+
return this.http.delete(`${this.url}/document-type-ranges/${id}`)
|
|
3375
|
+
.pipe(map(({ data }) => data));
|
|
3376
|
+
}
|
|
3377
|
+
/**
|
|
3378
|
+
* Updates a document type range for a given ID.
|
|
3379
|
+
* @param id - The unique identifier of the document type range to update
|
|
3380
|
+
* @param data - The document type range data to update
|
|
3381
|
+
* @returns An Observable that emits the updated DocumentTypeRangeOut object
|
|
3382
|
+
*/
|
|
3383
|
+
putDocumentsTypeRange(id, data) {
|
|
3384
|
+
return this.http.put(`${this.url}/document-type-ranges/${id}`, data)
|
|
3385
|
+
.pipe(map(({ data }) => data));
|
|
3386
|
+
}
|
|
3387
|
+
/**
|
|
3388
|
+
* Retrieves the list of document types available for a specific country.
|
|
3389
|
+
* @param params - Query parameters to filter or customize the country document types request
|
|
3390
|
+
* @returns Observable containing the country document types data
|
|
3391
|
+
*/
|
|
3392
|
+
getCountryDocumentsTypes(params) {
|
|
3393
|
+
return this.http.get(`${this.url}/country-document-types`, { params })
|
|
3394
|
+
.pipe(map(({ data }) => data));
|
|
3395
|
+
}
|
|
3341
3396
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInvoicesService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3342
3397
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInvoicesService, providedIn: 'root' });
|
|
3343
3398
|
}
|