@infordata-web/portal-common-component-lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.
161 lines • 26.7 kB
JavaScript
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
import { MatPaginator } from '@angular/material/paginator';
import { MatTableDataSource } from '@angular/material/table';
import { Subject } from 'rxjs';
import { PersonaGiuridicaDTO } from '../../models/persona-giuridica-dto';
import { ComponentOutputStatus } from '../../normalizzazione/component-output-status';
import { DelegheService } from '../../services/deleghe-services/deleghe.service';
export class RicercaPgComponent {
constructor(delegheService) {
this.delegheService = delegheService;
this.showRagioneSociale = true;
this.showPartitaIVA = true;
// @Output()
// personaGiuridicaSelezionata: EventEmitter<PersonaGiuridica> = new EventEmitter<PersonaGiuridica>();
this.done = new EventEmitter();
this.resetForm = new Subject();
this.codiceFiscale = "";
this.ragioneSociale = "";
this.partitaIVA = "";
this.offset = 0;
this.pageNumber = 0;
this.pageSize = 5;
this.paged = true;
this.viewIntPg = false;
this.viewResultTable = false;
this.resLenPg = 0;
this.validationFormPG = false;
this.displayedColumns = [
'ragioneSociale',
'pIva',
'codFiscale',
'seleziona'
];
}
ngOnInit() {
}
personaGiuridicaReady(pgStatus) {
var _a, _b;
// console.log("[personaGiuridicaReady]", pgStatus);
this.validationFormPG = pgStatus.status;
if (pgStatus.output.codiceFiscale != undefined) {
this.codiceFiscale = pgStatus === null || pgStatus === void 0 ? void 0 : pgStatus.output.codiceFiscale.toUpperCase().trim();
}
if (((_a = pgStatus.output) === null || _a === void 0 ? void 0 : _a.ragioneSociale) != undefined) {
this.ragioneSociale = pgStatus === null || pgStatus === void 0 ? void 0 : pgStatus.output.ragioneSociale.toUpperCase().trim();
}
if (((_b = pgStatus.output) === null || _b === void 0 ? void 0 : _b.partitaIVA) != undefined) {
this.partitaIVA = pgStatus === null || pgStatus === void 0 ? void 0 : pgStatus.output.partitaIVA.toUpperCase().trim();
}
//TODO
// this.changesPersonaGiuridica$.next(
// pgStatus.mapValue(pg => (rap: LegaleRappresentanteDTO) => rap.datiSocieta = pg)
// );
}
getListaPg() {
this.listaPg = '';
this.dataSource = new MatTableDataSource(this.listaPg);
const pg = new PersonaGiuridicaDTO();
pg.codiceFiscale = this.codiceFiscale;
pg.ragioneSociale = this.ragioneSociale;
pg.partitaIVA = this.partitaIVA;
if (pg.codiceFiscale != "" && pg.partitaIVA == "" && pg.ragioneSociale == "") {
console.log("[Ricerca Anagrafe Tributaria]");
this.delegheService.getPersonaGiuridicaCodiceFiscale(pg.codiceFiscale).pipe(
// pluck("datiPersonaGiuridica")
)
.subscribe((res) => {
console.log('[pg]', res);
this.listaPg = res;
// console.log('[listaPg]', this.listaPg);
if (this.listaPg) {
this.showNoResults = false;
this.viewIntPg = true;
this.viewResultTable = true;
// this.dataSource = new MatTableDataSource(this.listaPg['content']);
this.dataSource = new MatTableDataSource([this.listaPg]);
// this.dataSource = new MatTableDataSource([res]);
// this.dataSource.paginator = this.paginator;
// this.resLenPg = res['content'].length;
this.resLenPg = 1;
}
else {
this.showNoResults = true;
this.viewIntPg = false;
this.viewResultTable = false;
this.resLenPg = 0;
}
}, err => {
// console.log('[errore - getListaPfPaged]', err);
this.showNoResults = true;
this.viewIntPg = false;
this.viewResultTable = false;
this.resLenPg = 0;
});
}
else {
console.log("[Ricerca Sul Portale]");
this.delegheService.getListaPgPaged(this.pageSize, this.pageNumber, pg).subscribe((res) => {
console.log('[pg]', res);
this.listaPg = res;
// console.log('[listaPg]', this.listaPg);
if (this.listaPg) {
this.showNoResults = false;
this.viewIntPg = true;
this.viewResultTable = true;
this.dataSource = new MatTableDataSource(this.listaPg['content']);
this.dataSource.paginator = this.paginator;
this.resLenPg = res['content'].length;
}
else {
this.showNoResults = true;
this.viewIntPg = false;
this.viewResultTable = false;
this.resLenPg = 0;
}
}, err => {
// console.log('[errore - getListaPfPaged]', err);
this.showNoResults = true;
this.viewIntPg = false;
this.viewResultTable = false;
this.resLenPg = 0;
});
}
}
pulisciForm() {
this.resetForm.next(true);
this.viewResultTable = false;
this.dataSource = new MatTableDataSource(null);
this.viewIntPg = false;
// console.log('[pulisciForm - resetForm]', this.resetForm);
}
areSearchParameterValid() {
return (this.validationFormPG &&
(this.codiceFiscale != "" ||
this.ragioneSociale != "" ||
this.partitaIVA != ""));
}
personaGiuridicaSelected(row) {
// console.log('[PersonaGiuridica]', row);
this.done.emit(ComponentOutputStatus.of(true, row));
}
}
RicercaPgComponent.decorators = [
{ type: Component, args: [{
selector: 'lib-ricerca-pg',
template: "<!-- <p>ricerca-pg works!</p> -->\r\n<!-- <div class=\"row\">\r\n\t<div class=\"col-12\">\r\n\t\t<p class=\"h6\"> {{'ricerca-nel-portale-dag' | traduzione}} </p>\r\n\t</div>\r\n</div> -->\r\n<!-- <div class=\"row\">\r\n\t<div class=\"col-12\">\r\n\t\t<p class=\"mt-3\">{{'spiegazione' | traduzione }}</p>\r\n\t</div>\r\n</div> -->\r\n<!-- <lib-persona-giuridica\r\n\t(done)=\"personaGiuridicaReady($event)\"\r\n\t[namespace]=\"namespace\"\r\n\t[resetForm]=\"resetForm\"\r\n\t[validatorFormControl]=\"false\"\r\n>\r\n</lib-persona-giuridica> -->\r\n<lib-pg\r\n\t(done)=\"personaGiuridicaReady($event)\"\r\n\t[resetForm]=\"resetForm\"\r\n\t[showPartitaIVA]=\"showPartitaIVA\"\r\n\t[showRagioneSociale]=\"showRagioneSociale\"\r\n>\r\n</lib-pg>\r\n<div class=\"col-12\">\r\n\t<div class=\"float-right mt-4\">\r\n\t\t<button\r\n\t\t\t(click)=\"pulisciForm();\"\r\n\t\t\tmat-stroked-button color=\"primary\"\r\n\t\t\tclass=\"mr-3\"\r\n\t\t\t[disabled]=\"!areSearchParameterValid()\"\r\n\t\t> {{'pulisci' | traduzione | uppercase}}\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\t(click)=\"getListaPg();\"\r\n\t\t\tmat-flat-button color=\"primary\"\r\n\t\t\t[disabled]=\"!areSearchParameterValid()\"\r\n\t\t>{{'ricerca' | traduzione | uppercase}}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n<br>\r\n<br>\r\n<div class=\"col-12\">\r\n\t<ng-container>\r\n\t\t<div class=\"col-md-12 mt-3\">\r\n\t\t\t<div *ngIf=\"showNoResults\">\r\n\t\t\t\t<p>\r\n\t\t\t\t\t{{'nessuno-risultato' | traduzione}}\r\n\t\t\t\t</p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div *ngIf=\"viewIntPg\" class=\"mb-5\">\r\n\t\t\t<div class=\"col-md-12 mt-3\">\r\n\t\t\t\t<mat-chip-list>\r\n\t\t\t\t\t<p class=\"mr-3 mb-0\">{{'totale-risultati' | traduzione }} : {{resLenPg}}</p>\r\n\t\t\t\t</mat-chip-list>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div [hidden]=\"!viewResultTable\">\r\n\t\t\t<mat-table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8 mt-3 border\">\r\n\r\n\t\t\t\t<!-- Ragione Sociale Column -->\r\n\t\t\t\t<ng-container matColumnDef=\"ragioneSociale\">\r\n\t\t\t\t\t<mat-header-cell *matHeaderCellDef> {{'ragione-sociale' | traduzione }} </mat-header-cell>\r\n\t\t\t\t\t<mat-cell *matCellDef=\"let element\"> {{element.datiPersonaGiuridica.ragioneSociale}} </mat-cell>\r\n\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t<!-- PIVA Column -->\r\n\t\t\t\t<ng-container matColumnDef=\"pIva\">\r\n\t\t\t\t\t<mat-header-cell *matHeaderCellDef> {{'pIva' | traduzione }} </mat-header-cell>\r\n\t\t\t\t\t<mat-cell *matCellDef=\"let element\"> {{element.datiPersonaGiuridica.partitaIVA}} </mat-cell>\r\n\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t<!-- Codice Fiscale Column -->\r\n\t\t\t\t<ng-container matColumnDef=\"codFiscale\">\r\n\t\t\t\t\t<mat-header-cell *matHeaderCellDef> {{'codice-fiscale' | traduzione }} </mat-header-cell>\r\n\t\t\t\t\t<mat-cell *matCellDef=\"let element\"> {{element.datiPersonaGiuridica.codiceFiscale}} </mat-cell>\r\n\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t<!-- Selezione Column -->\r\n\t\t\t\t<ng-container matColumnDef=\"seleziona\">\r\n\t\t\t\t\t<mat-header-cell *matHeaderCellDef> {{'seleziona' | traduzione}} </mat-header-cell>\r\n\t\t\t\t\t<mat-cell *matCellDef=\"let element\">\r\n\t\t\t\t\t\t<button (click)=\"personaGiuridicaSelected(element)\" mat-flat-button color=\"primary\">\r\n\t\t\t\t\t\t\t{{'seleziona' | traduzione}}\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</mat-cell>\r\n\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t<mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\r\n\t\t\t\t<mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\r\n\r\n\t\t\t</mat-table>\r\n\t\t\t<mat-paginator [pageSizeOptions]=\"[5, 10, 20]\" showFirstLastButtons></mat-paginator>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n",
styles: [".mat-header-cell{background-color:#dce9f5;color:#092644!important;font-weight:600}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-right:2px solid rgba(0,0,0,.54);border-top:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}"]
},] }
];
RicercaPgComponent.ctorParameters = () => [
{ type: DelegheService }
];
RicercaPgComponent.propDecorators = {
namespace: [{ type: Input }],
readOnly: [{ type: Input }],
showRagioneSociale: [{ type: Input }],
showPartitaIVA: [{ type: Input }],
done: [{ type: Output }],
paginator: [{ type: ViewChild, args: [MatPaginator, { static: true },] }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljZXJjYS1wZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHJvZ2V0dGkvREFHL3NvcmdlbnRpL2dpdGxhYi10ZXJuaS9jb21tb24tY29tcG9uZW50LWxpYi9wcm9qZWN0cy9wb3J0YWwtY29tbW9uLWNvbXBvbmVudC1saWIvc3JjLyIsInNvdXJjZXMiOlsibGliL2RlcG9zaXRpL2NvbW1vbi1jb21wb25lbnQvcmljZXJjYS1wZy9yaWNlcmNhLXBnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsWUFBWSxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV2RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFPL0UsTUFBTSxPQUFPLGtCQUFrQjtJQW1EOUIsWUFDUyxjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUEzQ3ZDLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUduQyxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUUvQixZQUFZO1FBQ1osc0dBQXNHO1FBR3RHLFNBQUksR0FFQSxJQUFJLFlBQVksRUFBMkMsQ0FBQztRQUVoRSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUVuQyxrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixlQUFVLEdBQVcsRUFB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QUFDLGFBQWEsSUFBSSxFQUFFO2dCQUN4QixJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsR0FBcUI7UUFDN0MsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7WUFuTEQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHFxSEFBMEM7O2FBRTFDOzs7WUFOTyxjQUFjOzs7d0JBU3BCLEtBQUs7dUJBR0wsS0FBSztpQ0FHTCxLQUFLOzZCQUdMLEtBQUs7bUJBTUwsTUFBTTt3QkF1Qk4sU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0UGFnaW5hdG9yLCBQYWdlRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7TWF0VGFibGVEYXRhU291cmNlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UGVyc29uYUdpdXJpZGljYURUT30gZnJvbSAnLi4vLi4vbW9kZWxzL3BlcnNvbmEtZ2l1cmlkaWNhLWR0byc7XHJcbmltcG9ydCB7UGVyc29uYUdpdXJpZGljYX0gZnJvbSAnLi4vLi4vbW9kZWxzL3BvcnRhbGUvcGVyc29uYS1naXVyaWRpY2EtbW9kZWwnO1xyXG5pbXBvcnQge0NvbXBvbmVudE91dHB1dFN0YXR1c30gZnJvbSAnLi4vLi4vbm9ybWFsaXp6YXppb25lL2NvbXBvbmVudC1vdXRwdXQtc3RhdHVzJztcclxuaW1wb3J0IHtEZWxlZ2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGVsZWdoZS1zZXJ2aWNlcy9kZWxlZ2hlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsaWItcmljZXJjYS1wZycsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JpY2VyY2EtcGcuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3JpY2VyY2EtcGcuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSaWNlcmNhUGdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdG5hbWVzcGFjZTogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdHJlYWRPbmx5OiBib29sZWFuO1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdHNob3dSYWdpb25lU29jaWFsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0c2hvd1BhcnRpdGFJVkE6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvLyBAT3V0cHV0KClcclxuXHQvLyBwZXJzb25hR2l1cmlkaWNhU2VsZXppb25hdGE6IEV2ZW50RW1pdHRlcjxQZXJzb25hR2l1cmlkaWNhPiA9IG5ldyBFdmVudEVtaXR0ZXI8UGVyc29uYUdpdXJpZGljYT4oKTtcclxuXHJcblx0QE91dHB1dCgpXHJcblx0ZG9uZTogRXZlbnRFbWl0dGVyPFxyXG5cdFx0Q29tcG9uZW50T3V0cHV0U3RhdHVzPFBlcnNvbmFHaXVyaWRpY2E+XHJcblx0PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcG9uZW50T3V0cHV0U3RhdHVzPFBlcnNvbmFHaXVyaWRpY2E+PigpO1xyXG5cclxuXHRyZXNldEZvcm0gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuXHRjb2RpY2VGaXNjYWxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cdHJhZ2lvbmVTb2NpYWxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cdHBhcnRpdGFJVkE6IHN0cmluZyA9IFwiXCI7XHJcblxyXG5cdGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+O1xyXG5cdGxpc3RhUGc7XHJcblx0b2Zmc2V0OiBudW1iZXIgPSAwO1xyXG5cdHBhZ2VOdW1iZXI6IG51bWJlciA9IDA7XHJcblx0cGFnZVNpemU6IG51bWJlciA9IDU7XHJcblx0cGFnZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdHNob3dOb1Jlc3VsdHM6IGJvb2xlYW47XHJcblx0dmlld0ludFBnOiBib29sZWFuID0gZmFsc2U7XHJcblx0dmlld1Jlc3VsdFRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblx0cmVzTGVuUGcgPSAwO1xyXG5cdHZhbGlkYXRpb25Gb3JtUEc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0QFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuXHRwYWdlRXZlbnQ6IFBhZ2VFdmVudDtcclxuXHJcblx0ZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXHJcblx0XHQncmFnaW9uZVNvY2lhbGUnLFxyXG5cdFx0J3BJdmEnLFxyXG5cdFx0J2NvZEZpc2NhbGUnLFxyXG5cdFx0J3NlbGV6aW9uYSdcclxuXHRdO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZGVsZWdoZVNlcnZpY2U6IERlbGVnaGVTZXJ2aWNlLFxyXG5cdCkgeyB9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdH1cclxuXHJcblx0cGVyc29uYUdpdXJpZGljYVJlYWR5KHBnU3RhdHVzOiBDb21wb25lbnRPdXRwdXRTdGF0dXM8UGVyc29uYUdpdXJpZGljYURUTz4pIHtcclxuXHRcdC8vIGNvbnNvbGUubG9nKFwiW3BlcnNvbmFHaXVyaWRpY2FSZWFkeV1cIiwgcGdTdGF0dXMpO1xyXG5cdFx0dGhpcy52YWxpZGF0aW9uRm9ybVBHID0gcGdTdGF0dXMuc3RhdHVzO1xyXG5cclxuXHRcdGlmIChwZ1N0YXR1cy5vdXRwdXQuY29kaWNlRmlzY2FsZSAhPSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5jb2RpY2VGaXNjYWxlID0gcGdTdGF0dXM/Lm91dHB1dC5jb2RpY2VGaXNjYWxlLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHBnU3RhdHVzLm91dHB1dD8ucmFnaW9uZVNvY2lhbGUgIT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHRoaXMucmFnaW9uZVNvY2lhbGUgPSBwZ1N0YXR1cz8ub3V0cHV0LnJhZ2lvbmVTb2NpYWxlLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHBnU3RhdHVzLm91dHB1dD8ucGFydGl0YUlWQSAhPSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5wYXJ0aXRhSVZBID0gcGdTdGF0dXM/Lm91dHB1dC5wYXJ0aXRhSVZBLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vVE9ET1xyXG5cdFx0Ly8gdGhpcy5jaGFuZ2VzUGVyc29uYUdpdXJpZGljYSQubmV4dChcclxuXHRcdC8vIFx0cGdTdGF0dXMubWFwVmFsdWUocGcgPT4gKHJhcDogTGVnYWxlUmFwcHJlc2VudGFudGVEVE8pID0+IHJhcC5kYXRpU29jaWV0YSA9IHBnKVxyXG5cdFx0Ly8gKTtcclxuXHR9XHJcblxyXG5cdGdldExpc3RhUGcoKSB7XHJcblx0XHR0aGlzLmxpc3RhUGcgPSAnJztcclxuXHRcdHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5saXN0YVBnKTtcclxuXHJcblx0XHRjb25zdCBwZyA9IG5ldyBQZXJzb25hR2l1cmlkaWNhRFRPKCk7XHJcblx0XHRwZy5jb2RpY2VGaXNjYWxlID0gdGhpcy5jb2RpY2VGaXNjYWxlO1xyXG5cdFx0cGcucmFnaW9uZVNvY2lhbGUgPSB0aGlzLnJhZ2lvbmVTb2NpYWxlO1xyXG5cdFx0cGcucGFydGl0YUlWQSA9IHRoaXMucGFydGl0YUlWQTtcclxuXHJcblx0XHRpZiAocGcuY29kaWNlRmlzY2FsZSAhPSBcIlwiICYmIHBnLnBhcnRpdGFJVkEgPT0gXCJcIiAmJiBwZy5yYWdpb25lU29jaWFsZSA9PSBcIlwiKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKFwiW1JpY2VyY2EgQW5hZ3JhZmUgVHJpYnV0YXJpYV1cIik7XHJcblx0XHRcdHRoaXMuZGVsZWdoZVNlcnZpY2UuZ2V0UGVyc29uYUdpdXJpZGljYUNvZGljZUZpc2NhbGUocGcuY29kaWNlRmlzY2FsZSkucGlwZShcclxuXHRcdFx0XHQvLyBwbHVjayhcImRhdGlQZXJzb25hR2l1cmlkaWNhXCIpXHJcblx0XHRcdClcclxuXHRcdFx0XHQuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdFx0KHJlczogUGVyc29uYUdpdXJpZGljYSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnW3BnXScsIHJlcyk7XHJcblx0XHRcdFx0XHRcdHRoaXMubGlzdGFQZyA9IHJlcztcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ1tsaXN0YVBnXScsIHRoaXMubGlzdGFQZyk7XHJcblx0XHRcdFx0XHRcdGlmICh0aGlzLmxpc3RhUGcpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNob3dOb1Jlc3VsdHMgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnZpZXdJbnRQZyA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy52aWV3UmVzdWx0VGFibGUgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5saXN0YVBnWydjb250ZW50J10pO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoW3RoaXMubGlzdGFQZ10pO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoW3Jlc10pO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuXHRcdFx0XHRcdFx0XHQvLyB0aGlzLnJlc0xlblBnID0gcmVzWydjb250ZW50J10ubGVuZ3RoO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMucmVzTGVuUGcgPSAxO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc2hvd05vUmVzdWx0cyA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy52aWV3SW50UGcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnZpZXdSZXN1bHRUYWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMucmVzTGVuUGcgPSAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZXJyID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ1tlcnJvcmUgLSBnZXRMaXN0YVBmUGFnZWRdJywgZXJyKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93Tm9SZXN1bHRzID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0dGhpcy52aWV3SW50UGcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy52aWV3UmVzdWx0VGFibGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZXNMZW5QZyA9IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Y29uc29sZS5sb2coXCJbUmljZXJjYSBTdWwgUG9ydGFsZV1cIik7XHJcblx0XHRcdHRoaXMuZGVsZWdoZVNlcnZpY2UuZ2V0TGlzdGFQZ1BhZ2VkKHRoaXMucGFnZVNpemUsIHRoaXMucGFnZU51bWJlciwgcGcpLnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzOiBQZXJzb25hR2l1cmlkaWNhKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnW3BnXScsIHJlcyk7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RhUGcgPSByZXM7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZygnW2xpc3RhUGddJywgdGhpcy5saXN0YVBnKTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLmxpc3RhUGcpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93Tm9SZXN1bHRzID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMudmlld0ludFBnID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0dGhpcy52aWV3UmVzdWx0VGFibGUgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMubGlzdGFQZ1snY29udGVudCddKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnJlc0xlblBnID0gcmVzWydjb250ZW50J10ubGVuZ3RoO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93Tm9SZXN1bHRzID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0dGhpcy52aWV3SW50UGcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy52aWV3UmVzdWx0VGFibGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZXNMZW5QZyA9IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnIgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ1tlcnJvcmUgLSBnZXRMaXN0YVBmUGFnZWRdJywgZXJyKTtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd05vUmVzdWx0cyA9IHRydWU7XHJcblx0XHRcdFx0XHR0aGlzLnZpZXdJbnRQZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy52aWV3UmVzdWx0VGFibGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMucmVzTGVuUGcgPSAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVsaXNjaUZvcm0oKSB7XHJcblx0XHR0aGlzLnJlc2V0Rm9ybS5uZXh0KHRydWUpO1xyXG5cdFx0dGhpcy52aWV3UmVzdWx0VGFibGUgPSBmYWxzZTtcclxuXHRcdHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UobnVsbCk7XHJcblx0XHR0aGlzLnZpZXdJbnRQZyA9IGZhbHNlO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ1twdWxpc2NpRm9ybSAtIHJlc2V0Rm9ybV0nLCB0aGlzLnJlc2V0Rm9ybSk7XHJcblx0fVxyXG5cclxuXHRhcmVTZWFyY2hQYXJhbWV0ZXJWYWxpZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAoXHJcblx0XHRcdHRoaXMudmFsaWRhdGlvbkZvcm1QRyAmJlxyXG5cdFx0XHQodGhpcy5jb2RpY2VGaXNjYWxlICE9IFwiXCIgfHxcclxuXHRcdFx0XHR0aGlzLnJhZ2lvbmVTb2NpYWxlICE9IFwiXCIgfHxcclxuXHRcdFx0XHR0aGlzLnBhcnRpdGFJVkEgIT0gXCJcIilcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwZXJzb25hR2l1cmlkaWNhU2VsZWN0ZWQocm93OiBQZXJzb25hR2l1cmlkaWNhKSB7XHJcblx0XHQvLyBjb25zb2xlLmxvZygnW1BlcnNvbmFHaXVyaWRpY2FdJywgcm93KTtcclxuXHRcdHRoaXMuZG9uZS5lbWl0KENvbXBvbmVudE91dHB1dFN0YXR1cy5vZih0cnVlLCByb3cpKTtcclxuXHR9XHJcbn1cclxuIl19