UNPKG

@infordata-web/portal-common-component-lib

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.

103 lines 18.8 kB
import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { MieDelegheDTO } from '../../models/mie-deleghe-dto'; import { map, shareReplay } from 'rxjs/operators'; import { ConfigurationService } from '../../../configuration/configuration-service'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; import * as i2 from "../../../configuration/configuration-service"; export class DelegheService { constructor(http, configurationService) { this.http = http; this.configurationService = configurationService; this.DELEGA_VALIDATA = 'TRUE'; this.urlAnagrafe = this.configurationService.servicePaths.get("ANAGRAFE_MS_API_URL") + "/v1"; this.urlAnagrafe2 = this.configurationService.servicePaths.get("ANAGRAFE_MS_API_URL") + "/v2"; this.urlDeleghe = this.configurationService.servicePaths.get("DELEGHE_MS_API_URL") + "/v1"; this.urlDeposito = configurationService.servicePaths.get("DEPOSITO_MS_API_URL") + "/v1"; } getDatiSocieta(id) { // console.log('[getDatiSocieta - lib]', id); return this.http.put(this.urlDeposito + `/supporto/personagiuridica/delega`, id); } getPersona(id) { // console.log('[getPersona - lib]', id); return this.http.get(this.urlAnagrafe + `/personaFisica/${id}`); // return this.http.get<PersonaFisica>(this.urlAnagrafe + "/personaFisica/" + "{id}"); } getMieDeleghe() { return this.http.get(this.urlDeleghe + `/deleghe/mie`) .pipe(map(deleghe => { const deleghePF = deleghe.personeFisiche ? deleghe.personeFisiche.filter(d => this.DELEGA_VALIDATA == d.validata) : []; const deleghePG = deleghe.personeGiuridiche ? deleghe.personeGiuridiche.filter(d => this.DELEGA_VALIDATA == d.validata) : []; const delegheValidate = new MieDelegheDTO(); delegheValidate.personeFisiche = deleghePF; delegheValidate.personeGiuridiche = deleghePG; return delegheValidate; })); } getListaPfPaged(pageSize, pageNumber, data) { // return this.http.post(this.urlAnagrafe + `/personeFisiche?offset=0&pageNumber=${pageNumber}&pageSize=${pageSize}&paged=false&sort.sorted=false&sort.unsorted=false&unpaged=false`, data); return this.http.post(this.urlAnagrafe + `/personeFisiche?offset=0&pageNumber=${pageNumber}&pageSize=${pageSize}&paged=false&sort.sorted=false&sort.unsorted=false&unpaged=false`, data); } //TODO getListaPg(paginationData, filtroRicercaPersonaPG) { return this.http.post(this.urlAnagrafe + `/personeGiuridiche`, filtroRicercaPersonaPG, { params: paginationData }); } getListaPgPaged(pageSize, pageNumber, data) { return this.http.post(this.urlAnagrafe + `/personeGiuridiche?offset=0&pageNumber=${pageNumber}&pageSize=${pageSize}&paged=false&sort.sorted=false&sort.unsorted=false&unpaged=false`, data); } getPersonaGiuridicaCodiceFiscale(codiceFiscale) { // console.log('[getPersonaGiuridicaCodiceFiscale] - codiceFiscale', codiceFiscale); //TODO // const url: string = this.urlAnagrafe2 + `/personaGiuridica/codiceFiscale`; // SE_SI_TRATTA_DI_UNA_NUOVA_PG => SI_DEVE_CHIAMARE_LA_SEGUENTE_SERVIZIO const url = this.urlDeposito + `/supporto/personagiuridica`; // console.log('[getPersonaGiuridicaCodiceFiscale] - url', url); return this.http.put(url, codiceFiscale); } getPersonaFiscaleCodiceFiscale(codiceFiscale) { // console.log('[getPersonaFiscaleCodiceFiscale] - codiceFiscale', codiceFiscale); const url = this.urlAnagrafe2 + `/personaFisica/codiceFiscale`; // console.log('[getPersonaFiscaleCodiceFiscale] - url', url); return this.http.put(url, codiceFiscale); } getListRtsCodiceRegione(listaCodiceRegione) { // console.log('[getListRtsCodiceRegione] - listaCodiceRegione', listaCodiceRegione); const url = this.urlDeposito + `/rtsdto`; // console.log('[getListRtsCodiceRegione] - url', url); return this.http.put(url, listaCodiceRegione); } naturaRichiedente(request) { const url = this.urlDeposito + `/naturarichiedente`; // console.log('[naturaRichiedente] - url', url); // console.log('[naturaRichiedente] - request', request); return this.http.put(url, request); } getValidaPersonaFisica(request) { console.log('[getValidaPersonaFisica] - request', request); const url = this.urlDeposito + `/supporto`; console.log('[getValidaPersonaFisica] - url', url); return this.http.put(url, request); } getAllProvince() { const url = this.urlAnagrafe + `/province/mappa/`; console.log('[MappaProvince] - url', url); return this.http.get(url).pipe(shareReplay()); } } DelegheService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DelegheService_Factory() { return new DelegheService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigurationService)); }, token: DelegheService, providedIn: "root" }); DelegheService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; DelegheService.ctorParameters = () => [ { type: HttpClient }, { type: ConfigurationService } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdoZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2dldHRpL0RBRy9zb3JnZW50aS9naXRsYWItdGVybmkvY29tbW9uLWNvbXBvbmVudC1saWIvcHJvamVjdHMvcG9ydGFsLWNvbW1vbi1jb21wb25lbnQtbGliL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXBvc2l0aS9zZXJ2aWNlcy9kZWxlZ2hlLXNlcnZpY2VzL2RlbGVnaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsT0FBTyxFQUFnQixHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFTcEYsTUFBTSxPQUFPLGNBQWM7SUFTMUIsWUFDUyxJQUFnQixFQUNoQixvQkFBMEM7UUFEMUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBVG5ELG9CQUFlLEdBQUcsTUFBTSxDQUFDO1FBV3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDN0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM5RixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsS0FBSyxDQUFD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Q0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7O1lBN0dELFVBQVUsU0FBQztnQkFDWCxVQUFVLEVBQUUsTUFBTTthQUNsQjs7O1lBZFEsVUFBVTtZQU1WLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTWllRGVsZWdoZURUTyB9IGZyb20gJy4uLy4uL21vZGVscy9taWUtZGVsZWdoZS1kdG8nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUGVyc29uYUdpdXJpZGljYSB9IGZyb20gJy4uLy4uL21vZGVscy9wb3J0YWxlL3BlcnNvbmEtZ2l1cmlkaWNhLW1vZGVsJztcclxuaW1wb3J0IHsgUGVyc29uYUZpc2ljYSB9IGZyb20gJy4uLy4uL21vZGVscy9wb3J0YWxlL3BlcnNvbmEtZmlzaWNhLW1vZGVsJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24tc2VydmljZSc7XHJcbmltcG9ydCB7IFBlcnNvbmFHaXVyaWRpY2FEVE8gfSBmcm9tICcuLi8uLi9tb2RlbHMvcGVyc29uYS1naXVyaWRpY2EtZHRvJztcclxuaW1wb3J0IHsgTmF0dXJhUmljaGllZGVudGVSZXF1ZXN0RFRPIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdHVyYS1yaWNoaWVkZW50ZS1yZXF1ZXN0LmR0byc7XHJcbmltcG9ydCB7IE5hdHVyYVJpY2hpZWRlbnRlRFRPIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdHVyYS1yaWNoaWVkZW50ZS5kdG8nO1xyXG5pbXBvcnQgeyBSdHNEVE8gfSBmcm9tICcuLi8uLi9tb2RlbHMvcnRzLWR0byc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWxlZ2hlU2VydmljZSB7XHJcblxyXG5cdERFTEVHQV9WQUxJREFUQSA9ICdUUlVFJztcclxuXHRzZXJ2aWNlUGF0aHM6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblx0dXJsQW5hZ3JhZmU6IHN0cmluZztcclxuXHR1cmxEZWxlZ2hlOiBzdHJpbmc7XHJcblx0dXJsQW5hZ3JhZmUyOiBzdHJpbmc7XHJcblx0dXJsRGVwb3NpdG86IHN0cmluZztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZVxyXG5cdCkge1xyXG5cdFx0dGhpcy51cmxBbmFncmFmZSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2Uuc2VydmljZVBhdGhzLmdldChcIkFOQUdSQUZFX01TX0FQSV9VUkxcIikgKyBcIi92MVwiO1xyXG5cdFx0dGhpcy51cmxBbmFncmFmZTIgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnNlcnZpY2VQYXRocy5nZXQoXCJBTkFHUkFGRV9NU19BUElfVVJMXCIpICsgXCIvdjJcIjtcclxuXHRcdHRoaXMudXJsRGVsZWdoZSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2Uuc2VydmljZVBhdGhzLmdldChcIkRFTEVHSEVfTVNfQVBJX1VSTFwiKSArIFwiL3YxXCI7XHJcblx0XHR0aGlzLnVybERlcG9zaXRvID0gY29uZmlndXJhdGlvblNlcnZpY2Uuc2VydmljZVBhdGhzLmdldChcIkRFUE9TSVRPX01TX0FQSV9VUkxcIikgKyBcIi92MVwiO1xyXG5cdH1cclxuXHJcblx0Z2V0RGF0aVNvY2lldGEoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UGVyc29uYUdpdXJpZGljYT4ge1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ1tnZXREYXRpU29jaWV0YSAtIGxpYl0nLCBpZCk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnB1dDxQZXJzb25hR2l1cmlkaWNhPih0aGlzLnVybERlcG9zaXRvICsgYC9zdXBwb3J0by9wZXJzb25hZ2l1cmlkaWNhL2RlbGVnYWAsIGlkKTtcclxuXHR9XHJcblxyXG5cdGdldFBlcnNvbmEoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UGVyc29uYUZpc2ljYT4ge1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ1tnZXRQZXJzb25hIC0gbGliXScsIGlkKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0PFBlcnNvbmFGaXNpY2E+KHRoaXMudXJsQW5hZ3JhZmUgKyBgL3BlcnNvbmFGaXNpY2EvJHtpZH1gKTtcclxuXHRcdC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0PFBlcnNvbmFGaXNpY2E+KHRoaXMudXJsQW5hZ3JhZmUgKyBcIi9wZXJzb25hRmlzaWNhL1wiICsgXCJ7aWR9XCIpO1xyXG5cdH1cclxuXHJcblx0Z2V0TWllRGVsZWdoZSgpOiBPYnNlcnZhYmxlPE1pZURlbGVnaGVEVE8+IHtcclxuXHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldDxNaWVEZWxlZ2hlRFRPPih0aGlzLnVybERlbGVnaGUgKyBgL2RlbGVnaGUvbWllYClcclxuXHRcdFx0LnBpcGUobWFwKGRlbGVnaGUgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGRlbGVnaGVQRiA9IGRlbGVnaGUucGVyc29uZUZpc2ljaGUgP1xyXG5cdFx0XHRcdFx0ZGVsZWdoZS5wZXJzb25lRmlzaWNoZS5maWx0ZXIoZCA9PiB0aGlzLkRFTEVHQV9WQUxJREFUQSA9PSBkLnZhbGlkYXRhKVxyXG5cdFx0XHRcdFx0OiBbXTtcclxuXHJcblx0XHRcdFx0Y29uc3QgZGVsZWdoZVBHID0gZGVsZWdoZS5wZXJzb25lR2l1cmlkaWNoZSA/XHJcblx0XHRcdFx0XHRkZWxlZ2hlLnBlcnNvbmVHaXVyaWRpY2hlLmZpbHRlcihkID0+IHRoaXMuREVMRUdBX1ZBTElEQVRBID09IGQudmFsaWRhdGEpXHJcblx0XHRcdFx0XHQ6IFtdO1xyXG5cclxuXHRcdFx0XHRjb25zdCBkZWxlZ2hlVmFsaWRhdGUgPSBuZXcgTWllRGVsZWdoZURUTygpO1xyXG5cdFx0XHRcdGRlbGVnaGVWYWxpZGF0ZS5wZXJzb25lRmlzaWNoZSA9IGRlbGVnaGVQRjtcclxuXHRcdFx0XHRkZWxlZ2hlVmFsaWRhdGUucGVyc29uZUdpdXJpZGljaGUgPSBkZWxlZ2hlUEc7XHJcblxyXG5cdFx0XHRcdHJldHVybiBkZWxlZ2hlVmFsaWRhdGU7XHJcblx0XHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdGdldExpc3RhUGZQYWdlZChwYWdlU2l6ZSwgcGFnZU51bWJlciwgZGF0YSk6IE9ic2VydmFibGU8UGVyc29uYUZpc2ljYT4ge1xyXG5cdFx0Ly8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudXJsQW5hZ3JhZmUgKyBgL3BlcnNvbmVGaXNpY2hlP29mZnNldD0wJnBhZ2VOdW1iZXI9JHtwYWdlTnVtYmVyfSZwYWdlU2l6ZT0ke3BhZ2VTaXplfSZwYWdlZD1mYWxzZSZzb3J0LnNvcnRlZD1mYWxzZSZzb3J0LnVuc29ydGVkPWZhbHNlJnVucGFnZWQ9ZmFsc2VgLCBkYXRhKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdDxQZXJzb25hRmlzaWNhPih0aGlzLnVybEFuYWdyYWZlICsgYC9wZXJzb25lRmlzaWNoZT9vZmZzZXQ9MCZwYWdlTnVtYmVyPSR7cGFnZU51bWJlcn0mcGFnZVNpemU9JHtwYWdlU2l6ZX0mcGFnZWQ9ZmFsc2Umc29ydC5zb3J0ZWQ9ZmFsc2Umc29ydC51bnNvcnRlZD1mYWxzZSZ1bnBhZ2VkPWZhbHNlYCwgZGF0YSk7XHJcblx0fVxyXG5cclxuXHQvL1RPRE9cclxuXHRnZXRMaXN0YVBnKHBhZ2luYXRpb25EYXRhLCBmaWx0cm9SaWNlcmNhUGVyc29uYVBHOiBQZXJzb25hR2l1cmlkaWNhRFRPKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy51cmxBbmFncmFmZSArIGAvcGVyc29uZUdpdXJpZGljaGVgLCBmaWx0cm9SaWNlcmNhUGVyc29uYVBHLCB7IHBhcmFtczogcGFnaW5hdGlvbkRhdGEgfSk7XHJcblx0fVxyXG5cclxuXHRnZXRMaXN0YVBnUGFnZWQocGFnZVNpemUsIHBhZ2VOdW1iZXIsIGRhdGEpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnVybEFuYWdyYWZlICsgYC9wZXJzb25lR2l1cmlkaWNoZT9vZmZzZXQ9MCZwYWdlTnVtYmVyPSR7cGFnZU51bWJlcn0mcGFnZVNpemU9JHtwYWdlU2l6ZX0mcGFnZWQ9ZmFsc2Umc29ydC5zb3J0ZWQ9ZmFsc2Umc29ydC51bnNvcnRlZD1mYWxzZSZ1bnBhZ2VkPWZhbHNlYCwgZGF0YSk7XHJcblx0fVxyXG5cclxuXHRnZXRQZXJzb25hR2l1cmlkaWNhQ29kaWNlRmlzY2FsZShjb2RpY2VGaXNjYWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFBlcnNvbmFHaXVyaWRpY2E+IHtcclxuXHRcdC8vIGNvbnNvbGUubG9nKCdbZ2V0UGVyc29uYUdpdXJpZGljYUNvZGljZUZpc2NhbGVdIC0gY29kaWNlRmlzY2FsZScsIGNvZGljZUZpc2NhbGUpO1xyXG5cdFx0Ly9UT0RPXHJcblx0XHQvLyBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMudXJsQW5hZ3JhZmUyICsgYC9wZXJzb25hR2l1cmlkaWNhL2NvZGljZUZpc2NhbGVgO1xyXG5cdFx0Ly8gU0VfU0lfVFJBVFRBX0RJX1VOQV9OVU9WQV9QRyA9PiBTSV9ERVZFX0NISUFNQVJFX0xBX1NFR1VFTlRFX1NFUlZJWklPXHJcblx0XHRjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMudXJsRGVwb3NpdG8gKyBgL3N1cHBvcnRvL3BlcnNvbmFnaXVyaWRpY2FgO1xyXG5cclxuXHRcdC8vIGNvbnNvbGUubG9nKCdbZ2V0UGVyc29uYUdpdXJpZGljYUNvZGljZUZpc2NhbGVdIC0gdXJsJywgdXJsKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucHV0PFBlcnNvbmFHaXVyaWRpY2E+KHVybCwgY29kaWNlRmlzY2FsZSk7XHJcblx0fVxyXG5cclxuXHRnZXRQZXJzb25hRmlzY2FsZUNvZGljZUZpc2NhbGUoY29kaWNlRmlzY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQZXJzb25hRmlzaWNhPiB7XHJcblx0XHQvLyBjb25zb2xlLmxvZygnW2dldFBlcnNvbmFGaXNjYWxlQ29kaWNlRmlzY2FsZV0gLSBjb2RpY2VGaXNjYWxlJywgY29kaWNlRmlzY2FsZSk7XHJcblx0XHRjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMudXJsQW5hZ3JhZmUyICsgYC9wZXJzb25hRmlzaWNhL2NvZGljZUZpc2NhbGVgO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ1tnZXRQZXJzb25hRmlzY2FsZUNvZGljZUZpc2NhbGVdIC0gdXJsJywgdXJsKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucHV0PFBlcnNvbmFGaXNpY2E+KHVybCwgY29kaWNlRmlzY2FsZSk7XHJcblx0fVxyXG5cclxuXHRnZXRMaXN0UnRzQ29kaWNlUmVnaW9uZShsaXN0YUNvZGljZVJlZ2lvbmU6IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPEFycmF5PFJ0c0RUTz4+IHtcclxuXHRcdC8vIGNvbnNvbGUubG9nKCdbZ2V0TGlzdFJ0c0NvZGljZVJlZ2lvbmVdIC0gbGlzdGFDb2RpY2VSZWdpb25lJywgbGlzdGFDb2RpY2VSZWdpb25lKTtcclxuXHRcdGNvbnN0IHVybDogc3RyaW5nID0gdGhpcy51cmxEZXBvc2l0byArIGAvcnRzZHRvYDtcclxuXHRcdC8vIGNvbnNvbGUubG9nKCdbZ2V0TGlzdFJ0c0NvZGljZVJlZ2lvbmVdIC0gdXJsJywgdXJsKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucHV0PEFycmF5PFJ0c0RUTz4+KHVybCwgbGlzdGFDb2RpY2VSZWdpb25lKTtcclxuXHR9XHJcblxyXG5cdG5hdHVyYVJpY2hpZWRlbnRlKHJlcXVlc3Q6IE5hdHVyYVJpY2hpZWRlbnRlUmVxdWVzdERUTyk6IE9ic2VydmFibGU8QXJyYXk8TmF0dXJhUmljaGllZGVudGVEVE8+PiB7XHJcblx0XHRjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMudXJsRGVwb3NpdG8gKyBgL25hdHVyYXJpY2hpZWRlbnRlYDtcclxuXHRcdC8vIGNvbnNvbGUubG9nKCdbbmF0dXJhUmljaGllZGVudGVdIC0gdXJsJywgdXJsKTtcclxuXHRcdC8vIGNvbnNvbGUubG9nKCdbbmF0dXJhUmljaGllZGVudGVdIC0gcmVxdWVzdCcsIHJlcXVlc3QpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXJyYXk8TmF0dXJhUmljaGllZGVudGVEVE8+Pih1cmwsIHJlcXVlc3QpO1xyXG5cdH1cclxuXHJcblx0Z2V0VmFsaWRhUGVyc29uYUZpc2ljYShyZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGNvbnNvbGUubG9nKCdbZ2V0VmFsaWRhUGVyc29uYUZpc2ljYV0gLSByZXF1ZXN0JywgcmVxdWVzdCk7XHJcblx0XHRjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMudXJsRGVwb3NpdG8gKyBgL3N1cHBvcnRvYDtcclxuXHRcdGNvbnNvbGUubG9nKCdbZ2V0VmFsaWRhUGVyc29uYUZpc2ljYV0gLSB1cmwnLCB1cmwpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIHJlcXVlc3QpO1xyXG5cdH1cclxuXHRnZXRBbGxQcm92aW5jZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0Y29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLnVybEFuYWdyYWZlICsgYC9wcm92aW5jZS9tYXBwYS9gO1xyXG5cdFx0Y29uc29sZS5sb2coJ1tNYXBwYVByb3ZpbmNlXSAtIHVybCcsIHVybCk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCkucGlwZShzaGFyZVJlcGxheSgpKTtcclxuXHR9XHJcbn0iXX0=