@senior-gestao-pessoas/payroll-core 9.8.0 → 9.9.0-feature-hcmgdp-12490-b88ad694

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.
Files changed (37) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +618 -64
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +2 -0
  6. package/components/transportation-voucher-scale-lookup/autocomplete.service.d.ts +31 -0
  7. package/components/transportation-voucher-scale-lookup/index.d.ts +5 -0
  8. package/components/transportation-voucher-scale-lookup/lookup.service.d.ts +47 -0
  9. package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.d.ts +80 -0
  10. package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.d.ts +8 -0
  11. package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.d.ts +2 -0
  12. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +87 -50
  13. package/esm2015/components/transportation-voucher-scale-lookup/autocomplete.service.js +114 -0
  14. package/esm2015/components/transportation-voucher-scale-lookup/index.js +6 -0
  15. package/esm2015/components/transportation-voucher-scale-lookup/lookup.service.js +147 -0
  16. package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +215 -0
  17. package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +17 -0
  18. package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +31 -0
  19. package/esm2015/public_api.js +2 -1
  20. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +88 -50
  21. package/esm5/components/transportation-voucher-scale-lookup/autocomplete.service.js +128 -0
  22. package/esm5/components/transportation-voucher-scale-lookup/index.js +6 -0
  23. package/esm5/components/transportation-voucher-scale-lookup/lookup.service.js +152 -0
  24. package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +223 -0
  25. package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +19 -0
  26. package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +34 -0
  27. package/esm5/public_api.js +2 -1
  28. package/fesm2015/senior-gestao-pessoas-payroll-core.js +583 -66
  29. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  30. package/fesm5/senior-gestao-pessoas-payroll-core.js +615 -66
  31. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  32. package/locale/en-US.json +5 -1
  33. package/locale/es-ES.json +5 -1
  34. package/locale/pt-BR.json +5 -1
  35. package/package.json +1 -1
  36. package/public_api.d.ts +1 -0
  37. package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
@@ -44,6 +44,7 @@ export declare class InputRestAutoCompleteComponent implements OnInit {
44
44
  private isDropdown;
45
45
  isSituationDefinition: boolean;
46
46
  multiple: boolean;
47
+ isTransportationVoucherScaleGroup: boolean;
47
48
  serviceType: ServiceType;
48
49
  onBlur: EventEmitter<any>;
49
50
  onSelect: EventEmitter<any>;
@@ -52,6 +53,7 @@ export declare class InputRestAutoCompleteComponent implements OnInit {
52
53
  constructor(service: InputRestAutoCompleteService);
53
54
  ngOnInit(): void;
54
55
  filterQuery(event: any): any;
56
+ private getQueryConfiguration;
55
57
  formaterResponce(result: any): any[];
56
58
  getParamsRest(search: string): object;
57
59
  getConditionsRest(search: string): {
@@ -0,0 +1,31 @@
1
+ import { HttpClientService } from '../shared/http-client.service';
2
+ import { ServiceType } from '../../core/enums/serviceType';
3
+ export declare class AutocompleteService {
4
+ private httpClienteService;
5
+ constructor(httpClienteService: HttpClientService);
6
+ getAutoComplete(entity: string, params: object, searchFields: any, codeIsString: boolean, service: ServiceType): import("rxjs").Observable<any>;
7
+ getAutoCompleteQuery(query: string, params: object, service?: ServiceType): import("rxjs").Observable<any>;
8
+ /**
9
+ * Gera os parametros de pesquisa via pesquisa na grid
10
+ * @param filterData
11
+ */
12
+ private generateGridParameters;
13
+ /**
14
+ * Gera a string de consulta CRUD de um campo.
15
+ * @param type Tipo do campo.
16
+ * @param attribute Nome do atribute da entidade
17
+ * @param value Valor do campo
18
+ */
19
+ private getParameterByType;
20
+ /**
21
+ * Retorna o filtro formatador para ser chamdo no endpoint
22
+ * @param valueFilterSearch valor pra adicionar no filtro
23
+ */
24
+ private getParameterBySearchType;
25
+ /**
26
+ * Formata o filtro quando for "Ou"
27
+ * @param attribute Nome do atributo da entidade.
28
+ * @param value Valor da propriedade do objeto.
29
+ */
30
+ private getSearchFilterString;
31
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./transportation-voucher-scale-lookup.component";
2
+ export * from "./transportation-voucher-scale-lookup.module";
3
+ export * from "./transportation-voucher-scale-lookup.dto";
4
+ export * from "./autocomplete.service";
5
+ export * from "./lookup.service";
@@ -0,0 +1,47 @@
1
+ import { HttpClient } from "@angular/common/http";
2
+ import { TranslateService } from "@ngx-translate/core";
3
+ import { FormField } from "@seniorsistemas/angular-components";
4
+ import { MessageService } from "primeng/api";
5
+ import { Observable } from "rxjs";
6
+ export declare class LookupService {
7
+ private http;
8
+ private messageService;
9
+ private translateService;
10
+ private concatFields;
11
+ private concatOtherFields;
12
+ private lookupDisplayField;
13
+ private httpPostParams;
14
+ private page;
15
+ constructor(http: HttpClient, messageService: MessageService, translateService: TranslateService);
16
+ lookupRequestPost(httpPostParams: any, endpoint: string, concatFields: Array<FormField>, lookupDisplayField: string): Observable<any>;
17
+ postConfigPageSize(httpPostParams: any): void;
18
+ /**
19
+ * POST
20
+ * @param endpoint Busca e faz o tratamento dos dados do lookup.
21
+ * @param httpParams HttpParams
22
+ */
23
+ private postDataLookup;
24
+ /**
25
+ * Converte o valor do campo para apresentação no lookup.
26
+ *
27
+ * @param content Valor do campo para conversão.
28
+ * @param field FormField do campo.
29
+ */
30
+ private convertLookupFieldValue;
31
+ /**
32
+ * Converte os dados para visualização na grid
33
+ * @param content
34
+ */
35
+ private convertGridFieldValue;
36
+ /**
37
+ * Faz a concatenação de valores do registro para ser apresentado no lookup ao selecionar o dado.
38
+ * @param contentValue Valor do registro.
39
+ */
40
+ private generateDisplayFieldValue;
41
+ /**
42
+ * Faz a requisição POST na URL do lookup.
43
+ * @param endpoint - URL do endpoint.
44
+ * @param httpParams - Parâmetros HTTP.
45
+ */
46
+ private postUrlDataLookup;
47
+ }
@@ -0,0 +1,80 @@
1
+ import { OnDestroy, OnInit, ElementRef, EventEmitter, AfterViewInit, ChangeDetectorRef } from "@angular/core";
2
+ import { FormGroup } from "@angular/forms";
3
+ import { TranslateService } from "@ngx-translate/core";
4
+ import { FieldType, FormField } from "@seniorsistemas/angular-components";
5
+ import { BehaviorSubject } from "rxjs";
6
+ import { AutocompleteService } from "./autocomplete.service";
7
+ import { LookupService } from "./lookup.service";
8
+ export declare class TransportationVoucherScaleLookupComponent implements OnInit, OnDestroy, AfterViewInit {
9
+ private autocompleteService;
10
+ private lookupService;
11
+ private translate;
12
+ private cdr;
13
+ transportationVoucherScaleEl: ElementRef;
14
+ required: boolean;
15
+ disabled: boolean;
16
+ form: FormGroup;
17
+ name: string;
18
+ onSelect: EventEmitter<any>;
19
+ onClear: EventEmitter<any>;
20
+ onBlur: EventEmitter<any>;
21
+ lookupSuggestions: any[];
22
+ searchGridData: FormField[];
23
+ suggestionsObservable: BehaviorSubject<any>;
24
+ totalRecords: number;
25
+ private concatFieldsName;
26
+ private concatName;
27
+ gridFields: FormField[];
28
+ searchFields: (FormField | {
29
+ name: string;
30
+ label: any;
31
+ type: FieldType;
32
+ dataKey?: undefined;
33
+ appendTo?: undefined;
34
+ fullWidth?: undefined;
35
+ onSearch?: undefined;
36
+ suggestionsObservable?: undefined;
37
+ displayField?: undefined;
38
+ } | {
39
+ name: string;
40
+ type: FieldType;
41
+ label: any;
42
+ dataKey: string;
43
+ appendTo: string;
44
+ fullWidth: boolean;
45
+ onSearch: (val: string) => void;
46
+ suggestionsObservable: BehaviorSubject<any>;
47
+ displayField: string;
48
+ })[];
49
+ transportationVoucherScaleFilterForm: FormGroup;
50
+ private unsubscribe;
51
+ private initialLoad;
52
+ constructor(autocompleteService: AutocompleteService, lookupService: LookupService, translate: TranslateService, cdr: ChangeDetectorRef);
53
+ ngOnInit(): void;
54
+ ngAfterViewInit(): void;
55
+ ngOnDestroy(): void;
56
+ /**
57
+ * Evento disparado ao selecionar um item no lookup
58
+ */
59
+ selectOption(event: any): void;
60
+ /**
61
+ * Evento disparado ao limpar o campo
62
+ */
63
+ onClearItem(event: any): void;
64
+ /**
65
+ * Requisição de busca no lookup
66
+ */
67
+ searchRequest($event: any): void;
68
+ /**
69
+ * Formata o evento de pesquisa
70
+ */
71
+ private getValueEvent;
72
+ /**
73
+ * Busca dados do autocomplete
74
+ */
75
+ private getAutoComplete;
76
+ /**
77
+ * Busca dados via query customizada
78
+ */
79
+ private getAutocompleteQuery;
80
+ }
@@ -0,0 +1,8 @@
1
+ export declare class TransportationVoucherScaleLookupDto {
2
+ private code?;
3
+ private searchText?;
4
+ private transportationVoucherScaleGroupId?;
5
+ private page;
6
+ constructor(payload: any);
7
+ getToFilter(): this;
8
+ }
@@ -0,0 +1,2 @@
1
+ export declare class TransportationVoucherScaleLookupModule {
2
+ }
@@ -21,62 +21,96 @@ let InputRestAutoCompleteComponent = class InputRestAutoCompleteComponent {
21
21
  ngOnInit() { }
22
22
  filterQuery(event) {
23
23
  const query = event.query;
24
- if (!(isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
24
+ if (!(Number.isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
25
25
  try {
26
- if (this.isTimetrackingSituation) {
27
- return this.service
28
- .query('autocompleteTimetrackingSituation', {
29
- valueSearch: query,
30
- referenceDate: this.referenceDate,
31
- })
32
- .subscribe(payload => this.formaterResponce(payload.result));
33
- }
34
- else if (this.isDismissalReason) {
35
- const params = { valueSearch: query };
36
- if (this.referenceDate) {
37
- params['referenceDate'] = this.referenceDate;
38
- }
39
- return this.service
40
- .query('autocompleteDismissalReason', params, ServiceType.GENERAL_REGISTER)
41
- .subscribe(payload => this.formaterResponce(payload.result));
42
- }
43
- else if (this.usingType && this.usingType.length) {
44
- return this.service
45
- .query('autocompleteOtherCompanyFilterUsingType', {
46
- searchText: query,
47
- usingType: this.usingType,
48
- })
49
- .subscribe(payload => this.formaterResponce(payload.result));
50
- }
51
- else if (this.isDepartmentFromCompany) {
52
- return this.service
53
- .query('autocompleteDepartmentQuery', {
54
- searchText: query,
55
- companyId: this.companyId,
56
- referenceDate: this.referenceDate,
57
- })
58
- .subscribe(payload => this.formaterResponce(payload.result));
59
- }
60
- else if (this.isSituationDefinition) {
61
- const params = { searchText: query };
62
- return this.service
63
- .query('autocompleteSituationDefinitionQuery', params, ServiceType.ORGANIZATION_REGISTER)
64
- .subscribe(payload => this.formaterResponce(payload.result));
65
- }
66
- else if (this.isWagetype) {
67
- const params = { searchText: query, companyId: this.companyId };
68
- return this.service
69
- .query('autocompleteWagetypeQuery', params, ServiceType.ENTRY)
70
- .subscribe(payload => this.formaterResponce(payload.result));
71
- }
72
- this.service
73
- .query('autocomplete', this.getParamsRest(query), this.serviceType).subscribe(payload => this.formaterResponce(payload.result));
26
+ const queryConfig = this.getQueryConfiguration(query);
27
+ return this.service
28
+ .query(queryConfig.endpoint, queryConfig.params, queryConfig.serviceType)
29
+ .subscribe(payload => this.formaterResponce(payload.result));
74
30
  }
75
31
  catch (e) {
76
32
  console.log(e);
77
33
  }
78
34
  }
79
35
  }
36
+ getQueryConfiguration(query) {
37
+ const queryStrategies = [
38
+ {
39
+ condition: () => this.isTimetrackingSituation,
40
+ endpoint: 'autocompleteTimetrackingSituation',
41
+ params: () => ({
42
+ valueSearch: query,
43
+ referenceDate: this.referenceDate,
44
+ }),
45
+ serviceType: this.serviceType,
46
+ },
47
+ {
48
+ condition: () => this.isDismissalReason,
49
+ endpoint: 'autocompleteDismissalReason',
50
+ params: () => {
51
+ const params = { valueSearch: query };
52
+ if (this.referenceDate) {
53
+ params['referenceDate'] = this.referenceDate;
54
+ }
55
+ return params;
56
+ },
57
+ serviceType: ServiceType.GENERAL_REGISTER,
58
+ },
59
+ {
60
+ condition: () => this.usingType && this.usingType.length,
61
+ endpoint: 'autocompleteOtherCompanyFilterUsingType',
62
+ params: () => ({
63
+ searchText: query,
64
+ usingType: this.usingType,
65
+ }),
66
+ serviceType: this.serviceType,
67
+ },
68
+ {
69
+ condition: () => this.isDepartmentFromCompany,
70
+ endpoint: 'autocompleteDepartmentQuery',
71
+ params: () => ({
72
+ searchText: query,
73
+ companyId: this.companyId,
74
+ referenceDate: this.referenceDate,
75
+ }),
76
+ serviceType: this.serviceType,
77
+ },
78
+ {
79
+ condition: () => this.isSituationDefinition,
80
+ endpoint: 'autocompleteSituationDefinitionQuery',
81
+ params: () => ({ searchText: query }),
82
+ serviceType: ServiceType.ORGANIZATION_REGISTER,
83
+ },
84
+ {
85
+ condition: () => this.isWagetype,
86
+ endpoint: 'autocompleteWagetypeQuery',
87
+ params: () => ({
88
+ searchText: query,
89
+ companyId: this.companyId,
90
+ }),
91
+ serviceType: ServiceType.ENTRY,
92
+ },
93
+ {
94
+ condition: () => this.isTransportationVoucherScaleGroup,
95
+ endpoint: 'autocompleteTransportationVoucherScaleGroupQuery',
96
+ params: () => ({ searchText: query }),
97
+ serviceType: ServiceType.GENERAL_REGISTER,
98
+ },
99
+ ];
100
+ const strategy = queryStrategies.find(s => s.condition());
101
+ if (strategy) {
102
+ return {
103
+ endpoint: strategy.endpoint,
104
+ params: strategy.params(),
105
+ serviceType: strategy.serviceType,
106
+ };
107
+ }
108
+ return {
109
+ endpoint: 'autocomplete',
110
+ params: this.getParamsRest(query),
111
+ serviceType: this.serviceType,
112
+ };
113
+ }
80
114
  formaterResponce(result) {
81
115
  this.suggestions = [];
82
116
  const valsResult = [];
@@ -289,6 +323,9 @@ tslib_1.__decorate([
289
323
  tslib_1.__decorate([
290
324
  Input()
291
325
  ], InputRestAutoCompleteComponent.prototype, "multiple", void 0);
326
+ tslib_1.__decorate([
327
+ Input()
328
+ ], InputRestAutoCompleteComponent.prototype, "isTransportationVoucherScaleGroup", void 0);
292
329
  tslib_1.__decorate([
293
330
  Input()
294
331
  ], InputRestAutoCompleteComponent.prototype, "serviceType", void 0);
@@ -309,4 +346,4 @@ InputRestAutoCompleteComponent = tslib_1.__decorate([
309
346
  })
310
347
  ], InputRestAutoCompleteComponent);
311
348
  export { InputRestAutoCompleteComponent };
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0QsSUFBYSw4QkFBOEIsR0FBM0MsTUFBYSw4QkFBOEI7SUErRXpDLFlBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBbkR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxRQUFRLEtBQUksQ0FB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QURDLEtBQUssRUFBRTtnRUFDVTtBQUVsQjtJQURDLEtBQUssRUFBRTtzRUFDYztBQUV0QjtJQURDLEtBQUssRUFBRTs2REFDTTtBQUVkO0lBREMsS0FBSyxFQUFFO29FQUNhO0FBRXJCO0lBREMsS0FBSyxFQUFFOytEQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFOytEQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFOzJFQUNvQjtBQUU1QjtJQURDLEtBQUssRUFBRTtrRUFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTs0REFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTsrREFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTsrRUFDeUI7QUFFakM7SUFEQyxLQUFLLEVBQUU7K0VBQ3lCO0FBRWpDO0lBREMsS0FBSyxFQUFFO2lFQUNVO0FBRWxCO0lBREMsS0FBSyxFQUFFO3FFQUNjO0FBRXRCO0lBREMsS0FBSyxFQUFFO3lFQUNtQjtBQUUzQjtJQURDLEtBQUssRUFBRTtvRUFDZTtBQUV2QjtJQURDLEtBQUssRUFBRTtpRUFDWTtBQUVwQjtJQURDLEtBQUssRUFBRTs2RUFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7a0VBQ1k7QUFHcEI7SUFEQyxLQUFLLEVBQUU7NkVBQ3VCO0FBRS9CO0lBREMsS0FBSyxFQUFFO2dFQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFO21FQUN1QztBQUUvQztJQURDLE1BQU0sRUFBRTs4REFDc0M7QUFFL0M7SUFEQyxNQUFNLEVBQUU7Z0VBQ3dDO0FBRWpEO0lBREMsTUFBTSxFQUFFOytEQUN1QztBQTNFckMsOEJBQThCO0lBTDFDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsbW9DQUF3RDs7S0FFekQsQ0FBQztHQUNXLDhCQUE4QixDQTZQMUM7U0E3UFksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBfbW9tZW50LCBpc1ZhbGlkIH0gZnJvbSAnLi4vdXRpbHMvaGVscGVycyc7XG5pbXBvcnQgeyBJbnB1dFJlc3RBdXRvQ29tcGxldGVTZXJ2aWNlIH0gZnJvbSAnLi9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUuc2VydmljZSc7XG5pbXBvcnQgeyBTZXJ2aWNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2VydmljZVR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDb25kaXRpb25zIHtcbiAgZmllbGRzOiBBcnJheTxzdHJpbmdbXT47XG4gIGZpZWxkVHlwZTogc3RyaW5nO1xuICBleHByZXNzaW9uOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFJlc3RBdXRvQ29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdhdXRvQ29tcGxldGVPYmplY3QnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfYXV0b0NvbXBsZXRlT2JqZWN0OiBFbGVtZW50UmVmO1xuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHRhYmxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG9yZGVyOiBBcnJheTxhbnlbXT47XG4gIEBJbnB1dCgpXG4gIGVuYWJsZUVudGl0eUZpbHRlcnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBjb25kaXRpb25zRmllbGRzPzogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBjb25kaXRpb25zOiBBcnJheTxJQ29uZGl0aW9ucz47XG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKVxuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGRyb3Bkb3duOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBmb3JjZVNlbGVjdGlvbiA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIGVycm9yOiBvYmplY3Q7XG4gIEBJbnB1dCgpXG4gIGVtcHR5TWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBrZXlDb2RlPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBrZXlOYW1lID0gJ25hbWUnO1xuICBASW5wdXQoKVxuICBjb25jYXRGaWVsZHNGb3JOYW1lPzogYW55W107XG4gIEBJbnB1dCgpXG4gIGl0ZW1TZWxlY3Q6IGFueTtcbiAgQElucHV0KClcbiAgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKVxuICBpbnB1dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlzVGltZXRyYWNraW5nU2l0dWF0aW9uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc0RlcGFydG1lbnRGcm9tQ29tcGFueTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgY29tcGFueUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHJlZmVyZW5jZURhdGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgaXNEaXNtaXNzYWxSZWFzb246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGtleVRvRXhjbHVkZTogYW55ID0gW107XG4gIEBJbnB1dCgpXG4gIHVzaW5nVHlwZTogYW55ID0gW107XG4gIEBJbnB1dCgpXG4gIG1pbkNoYXJhY3RlcnNUb1NlYXJjaCA9IDM7XG4gIEBJbnB1dCgpXG4gIGlzV2FnZXR5cGU6IGJvb2xlYW47XG4gIHByaXZhdGUgaXNEcm9wZG93bjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgaXNTaXR1YXRpb25EZWZpbml0aW9uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMO1xuICBAT3V0cHV0KClcbiAgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHN1Z2dlc3Rpb25zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZmlsdGVyUXVlcnkoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICBpZiAoIShpc05hTihxdWVyeSkgJiYgcXVlcnkudG9TdHJpbmcoKS5sZW5ndGggPCB0aGlzLm1pbkNoYXJhY3RlcnNUb1NlYXJjaCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICh0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVUaW1ldHJhY2tpbmdTaXR1YXRpb24nLCB7XG4gICAgICAgICAgICAgIHZhbHVlU2VhcmNoOiBxdWVyeSxcbiAgICAgICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGlzbWlzc2FsUmVhc29uKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0geyB2YWx1ZVNlYXJjaDogcXVlcnkgfTtcbiAgICAgICAgICBpZiAodGhpcy5yZWZlcmVuY2VEYXRlKSB7XG4gICAgICAgICAgICBwYXJhbXNbJ3JlZmVyZW5jZURhdGUnXSA9IHRoaXMucmVmZXJlbmNlRGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVEaXNtaXNzYWxSZWFzb24nLCBwYXJhbXMsIFNlcnZpY2VUeXBlLkdFTkVSQUxfUkVHSVNURVIpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVPdGhlckNvbXBhbnlGaWx0ZXJVc2luZ1R5cGUnLCB7XG4gICAgICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgICAgICB1c2luZ1R5cGU6IHRoaXMudXNpbmdUeXBlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGVwYXJ0bWVudEZyb21Db21wYW55KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVEZXBhcnRtZW50UXVlcnknLCB7XG4gICAgICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgICAgICBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkLFxuICAgICAgICAgICAgICByZWZlcmVuY2VEYXRlOiB0aGlzLnJlZmVyZW5jZURhdGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTaXR1YXRpb25EZWZpbml0aW9uKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0geyBzZWFyY2hUZXh0OiBxdWVyeSB9O1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlU2l0dWF0aW9uRGVmaW5pdGlvblF1ZXJ5JywgcGFyYW1zLCBTZXJ2aWNlVHlwZS5PUkdBTklaQVRJT05fUkVHSVNURVIpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1dhZ2V0eXBlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IHNlYXJjaFRleHQ6IHF1ZXJ5LCBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkIH07XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAucXVlcnkoJ2F1dG9jb21wbGV0ZVdhZ2V0eXBlUXVlcnknLCBwYXJhbXMsIFNlcnZpY2VUeXBlLkVOVFJZKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGUnLCB0aGlzLmdldFBhcmFtc1Jlc3QocXVlcnkpLCB0aGlzLnNlcnZpY2VUeXBlKS5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0ZXJSZXNwb25jZShyZXN1bHQpIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gW107XG4gICAgY29uc3QgdmFsc1Jlc3VsdCA9IFtdO1xuICAgIHJlc3VsdC5tYXAodmFsdWUgPT4ge1xuICAgICAgY29uc3QgdmFsdWVDb25jYXQgPSB7XG4gICAgICAgIHRhYmxlSWQ6IHZhbHVlLnRhYmxlSWQsXG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uIHx8IHRoaXMuaXNEaXNtaXNzYWxSZWFzb24gfHwgKHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCkpIHtcbiAgICAgICAgaWYgKHRoaXMua2V5VG9FeGNsdWRlLmluY2x1ZGVzKHZhbHVlLmZpZWxkcyAmJiB2YWx1ZS5maWVsZHNbMl0gJiYgdmFsdWUuZmllbGRzWzJdLnZhbHVlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcblxuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2NvZGUnKS5tYXAoY29kZSA9PiAoY29kZSA/IChjb2RlLnZhbHVlICs9ICcgLSAnKSA6ICcnKSlbMF07XG4gICAgICAgIGlmICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGggJiYgKCFmaWVsZE5hbWUgfHwgZmllbGROYW1lID09PSAndW5kZWZpbmVkJykpIHtcbiAgICAgICAgICBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ25hbWUnKS5tYXAobmFtZSA9PiAobmFtZSA/IG5hbWUudmFsdWUgOiAnJykpWzBdO1xuXG4gICAgICAgIHZhbHVlQ29uY2F0Lm5hbWUgPSBmaWVsZE5hbWU7XG4gICAgICAgIHZhbHNSZXN1bHQucHVzaCh2YWx1ZUNvbmNhdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9ICcnO1xuICAgICAgICBpZiAodGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lKSB7XG4gICAgICAgICAgdGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lLm1hcCh2YWwgPT4ge1xuICAgICAgICAgICAgLy8gc2UgbyBjYW1wbyBmb3IgZGF0YSwgZm9ybWF0YSBwcm8gbG9jYWxlIGRvIHVzdcOhcmlvXG4gICAgICAgICAgICBpZiAodmFsLmluY2x1ZGVzKCdkYXRlJykgfHwgdmFsLmluY2x1ZGVzKCdCaXJ0aGRheScpKSB7XG4gICAgICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbF0gPSBfbW9tZW50KHZhbHVlQ29uY2F0W3ZhbF0pLmZvcm1hdCgnREQvTU0vWVlZWScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGROYW1lICs9IHZhbHVlQ29uY2F0W3ZhbF0gKyAnIC0gJztcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUuc2xpY2UoMCwgLTMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLmtleUNvZGUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleUNvZGVdICsgJyAtICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmtleU5hbWUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleU5hbWVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbLi4udmFsc1Jlc3VsdF07XG4gICAgcmV0dXJuIHZhbHNSZXN1bHQ7XG4gIH1cblxuICBnZXRQYXJhbXNSZXN0KHNlYXJjaDogc3RyaW5nKTogb2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFibGU6IHRoaXMudGFibGUsXG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgb3JkZXI6IHRoaXMub3JkZXIsXG4gICAgICBjb25kaXRpb25zOiB0aGlzLmdldENvbmRpdGlvbnNSZXN0KHNlYXJjaCksXG4gICAgICBlbmFibGVFbnRpdHlGaWx0ZXJzOiB0aGlzLmVuYWJsZUVudGl0eUZpbHRlcnMsXG4gICAgfTtcbiAgfVxuXG4gIGdldENvbmRpdGlvbnNSZXN0KHNlYXJjaDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29uZGl0aW9zUmV0dXJuID0gW1xuICAgICAge1xuICAgICAgICBmaWVsZHM6IHRoaXMuY29uZGl0aW9uc0ZpZWxkcyB8fCB0aGlzLmZpZWxkcyxcbiAgICAgICAgZXhwcmVzc2lvbjogJ0xJS0UnLFxuICAgICAgICB2YWx1ZTogYCR7c2VhcmNofWAsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5jb25kaXRpb25zKSB7XG4gICAgICB0aGlzLmNvbmRpdGlvbnMubWFwKHZhbCA9PiB7XG4gICAgICAgIGlmIChbJ0lTX05VTEwnLCAnSVNfTk9UX05VTEwnLCAnSVNfVFJVRSddLmluY2x1ZGVzKHZhbC5leHByZXNzaW9uKSB8fCBpc1ZhbGlkKHZhbC52YWx1ZSkpIHtcbiAgICAgICAgICBjb25kaXRpb3NSZXR1cm4ucHVzaCh2YWwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZGl0aW9zUmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dGVybml6YSBhIGZ1bsOnw6NvIGRlIHNlbGVjdCBkYXMgb3DDp8O1ZXNcbiAgICogPGlucHV0LXJlc3QtYXV0by1jb21wbGV0ZSAob25TZWxlY3QpPVwib25TZWxlY3RIYW5kbGUoJGV2ZW50KVwiID48L2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZT5cbiAgICogQHBhcmFtIG9wdGlvblxuICAgKi9cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gIH1cblxuICBhc3luYyBvbkNsZWFySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGF3YWl0IHRoaXMub25DbGVhci5lbWl0KG9wdGlvbik7XG4gICAgdGhpcy5mb3JtLmdldCh0aGlzLm5hbWUpLnJlc2V0KCk7XG4gIH1cblxuICBvbkJsdXJJdGVtKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgaWYgKCF0aGlzLmlzRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLm9uQmx1ci5lbWl0KG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNEcm9wZG93biA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJvcGRvd25DbGljaygpIHtcbiAgICB0aGlzLmlzRHJvcGRvd24gPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGF1dG9Db21wbGV0ZU9iamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b0NvbXBsZXRlT2JqZWN0O1xuICB9XG59XG4iXX0=
349
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0QsSUFBYSw4QkFBOEIsR0FBM0MsTUFBYSw4QkFBOEI7SUFpRnpDLFlBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBckR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxRQUFRLEtBQUksQ0FB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Q3VCO0FBRS9CO0lBREMsS0FBSyxFQUFFO2dFQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFO3lGQUNtQztBQUUzQztJQURDLEtBQUssRUFBRTttRUFDdUM7QUFFL0M7SUFEQyxNQUFNLEVBQUU7OERBQ3NDO0FBRS9DO0lBREMsTUFBTSxFQUFFO2dFQUN3QztBQUVqRDtJQURDLE1BQU0sRUFBRTsrREFDdUM7QUE3RXJDLDhCQUE4QjtJQUwxQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLG1vQ0FBd0Q7O0tBRXpELENBQUM7R0FDVyw4QkFBOEIsQ0EwUzFDO1NBMVNZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgX21vbWVudCwgaXNWYWxpZCB9IGZyb20gJy4uL3V0aWxzL2hlbHBlcnMnO1xuaW1wb3J0IHsgSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSB9IGZyb20gJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NlcnZpY2VUeXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZGl0aW9ucyB7XG4gIGZpZWxkczogQXJyYXk8c3RyaW5nW10+O1xuICBmaWVsZFR5cGU6IHN0cmluZztcbiAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRSZXN0QXV0b0NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnYXV0b0NvbXBsZXRlT2JqZWN0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2F1dG9Db21wbGV0ZU9iamVjdDogRWxlbWVudFJlZjtcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICB0YWJsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBvcmRlcjogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBlbmFibGVFbnRpdHlGaWx0ZXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBmaWVsZHM6IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uc0ZpZWxkcz86IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uczogQXJyYXk8SUNvbmRpdGlvbnM+O1xuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkcm9wZG93bjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZm9yY2VTZWxlY3Rpb24gPSB0cnVlO1xuICBASW5wdXQoKVxuICBlcnJvcjogb2JqZWN0O1xuICBASW5wdXQoKVxuICBlbXB0eU1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5Q29kZT86IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5TmFtZSA9ICduYW1lJztcbiAgQElucHV0KClcbiAgY29uY2F0RmllbGRzRm9yTmFtZT86IGFueVtdO1xuICBASW5wdXQoKVxuICBpdGVtU2VsZWN0OiBhbnk7XG4gIEBJbnB1dCgpXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KClcbiAgaW5wdXRJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpc1RpbWV0cmFja2luZ1NpdHVhdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgaXNEZXBhcnRtZW50RnJvbUNvbXBhbnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGNvbXBhbnlJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWZlcmVuY2VEYXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlzRGlzbWlzc2FsUmVhc29uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBrZXlUb0V4Y2x1ZGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICB1c2luZ1R5cGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICBtaW5DaGFyYWN0ZXJzVG9TZWFyY2ggPSAzO1xuICBASW5wdXQoKVxuICBpc1dhZ2V0eXBlOiBib29sZWFuO1xuICBwcml2YXRlIGlzRHJvcGRvd246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGlzU2l0dWF0aW9uRGVmaW5pdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgaXNUcmFuc3BvcnRhdGlvblZvdWNoZXJTY2FsZUdyb3VwOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMO1xuICBAT3V0cHV0KClcbiAgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHN1Z2dlc3Rpb25zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZmlsdGVyUXVlcnkoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICBpZiAoIShOdW1iZXIuaXNOYU4ocXVlcnkpICYmIHF1ZXJ5LnRvU3RyaW5nKCkubGVuZ3RoIDwgdGhpcy5taW5DaGFyYWN0ZXJzVG9TZWFyY2gpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBxdWVyeUNvbmZpZyA9IHRoaXMuZ2V0UXVlcnlDb25maWd1cmF0aW9uKHF1ZXJ5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5xdWVyeShxdWVyeUNvbmZpZy5lbmRwb2ludCwgcXVlcnlDb25maWcucGFyYW1zLCBxdWVyeUNvbmZpZy5zZXJ2aWNlVHlwZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlDb25maWd1cmF0aW9uKHF1ZXJ5OiBzdHJpbmcpOiB7IGVuZHBvaW50OiBzdHJpbmc7IHBhcmFtczogYW55OyBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUgfSB7XG4gICAgY29uc3QgcXVlcnlTdHJhdGVnaWVzID0gW1xuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNUaW1ldHJhY2tpbmdTaXR1YXRpb24sXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlVGltZXRyYWNraW5nU2l0dWF0aW9uJyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiAoe1xuICAgICAgICAgIHZhbHVlU2VhcmNoOiBxdWVyeSxcbiAgICAgICAgICByZWZlcmVuY2VEYXRlOiB0aGlzLnJlZmVyZW5jZURhdGUsXG4gICAgICAgIH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogdGhpcy5zZXJ2aWNlVHlwZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmRpdGlvbjogKCkgPT4gdGhpcy5pc0Rpc21pc3NhbFJlYXNvbixcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVEaXNtaXNzYWxSZWFzb24nLFxuICAgICAgICBwYXJhbXM6ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IHZhbHVlU2VhcmNoOiBxdWVyeSB9O1xuICAgICAgICAgIGlmICh0aGlzLnJlZmVyZW5jZURhdGUpIHtcbiAgICAgICAgICAgIHBhcmFtc1sncmVmZXJlbmNlRGF0ZSddID0gdGhpcy5yZWZlcmVuY2VEYXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgICAgICB9LFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuR0VORVJBTF9SRUdJU1RFUixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmRpdGlvbjogKCkgPT4gdGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZU90aGVyQ29tcGFueUZpbHRlclVzaW5nVHlwZScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICB1c2luZ1R5cGU6IHRoaXMudXNpbmdUeXBlLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNEZXBhcnRtZW50RnJvbUNvbXBhbnksXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlRGVwYXJ0bWVudFF1ZXJ5JyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiAoe1xuICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgIGNvbXBhbnlJZDogdGhpcy5jb21wYW55SWQsXG4gICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNTaXR1YXRpb25EZWZpbml0aW9uLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZVNpdHVhdGlvbkRlZmluaXRpb25RdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHsgc2VhcmNoVGV4dDogcXVlcnkgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZS5PUkdBTklaQVRJT05fUkVHSVNURVIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNXYWdldHlwZSxcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVXYWdldHlwZVF1ZXJ5JyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiAoe1xuICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgIGNvbXBhbnlJZDogdGhpcy5jb21wYW55SWQsXG4gICAgICAgIH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuRU5UUlksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNUcmFuc3BvcnRhdGlvblZvdWNoZXJTY2FsZUdyb3VwLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZVRyYW5zcG9ydGF0aW9uVm91Y2hlclNjYWxlR3JvdXBRdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHsgc2VhcmNoVGV4dDogcXVlcnkgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZS5HRU5FUkFMX1JFR0lTVEVSLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSBxdWVyeVN0cmF0ZWdpZXMuZmluZChzID0+IHMuY29uZGl0aW9uKCkpO1xuICAgIFxuICAgIGlmIChzdHJhdGVneSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZW5kcG9pbnQ6IHN0cmF0ZWd5LmVuZHBvaW50LFxuICAgICAgICBwYXJhbXM6IHN0cmF0ZWd5LnBhcmFtcygpLFxuICAgICAgICBzZXJ2aWNlVHlwZTogc3RyYXRlZ3kuc2VydmljZVR5cGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZScsXG4gICAgICBwYXJhbXM6IHRoaXMuZ2V0UGFyYW1zUmVzdChxdWVyeSksXG4gICAgICBzZXJ2aWNlVHlwZTogdGhpcy5zZXJ2aWNlVHlwZSxcbiAgICB9O1xuICB9XG5cbiAgZm9ybWF0ZXJSZXNwb25jZShyZXN1bHQpIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gW107XG4gICAgY29uc3QgdmFsc1Jlc3VsdCA9IFtdO1xuICAgIHJlc3VsdC5tYXAodmFsdWUgPT4ge1xuICAgICAgY29uc3QgdmFsdWVDb25jYXQgPSB7XG4gICAgICAgIHRhYmxlSWQ6IHZhbHVlLnRhYmxlSWQsXG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uIHx8IHRoaXMuaXNEaXNtaXNzYWxSZWFzb24gfHwgKHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCkpIHtcbiAgICAgICAgaWYgKHRoaXMua2V5VG9FeGNsdWRlLmluY2x1ZGVzKHZhbHVlLmZpZWxkcyAmJiB2YWx1ZS5maWVsZHNbMl0gJiYgdmFsdWUuZmllbGRzWzJdLnZhbHVlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcblxuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2NvZGUnKS5tYXAoY29kZSA9PiAoY29kZSA/IChjb2RlLnZhbHVlICs9ICcgLSAnKSA6ICcnKSlbMF07XG4gICAgICAgIGlmICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGggJiYgKCFmaWVsZE5hbWUgfHwgZmllbGROYW1lID09PSAndW5kZWZpbmVkJykpIHtcbiAgICAgICAgICBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ25hbWUnKS5tYXAobmFtZSA9PiAobmFtZSA/IG5hbWUudmFsdWUgOiAnJykpWzBdO1xuXG4gICAgICAgIHZhbHVlQ29uY2F0Lm5hbWUgPSBmaWVsZE5hbWU7XG4gICAgICAgIHZhbHNSZXN1bHQucHVzaCh2YWx1ZUNvbmNhdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9ICcnO1xuICAgICAgICBpZiAodGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lKSB7XG4gICAgICAgICAgdGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lLm1hcCh2YWwgPT4ge1xuICAgICAgICAgICAgLy8gc2UgbyBjYW1wbyBmb3IgZGF0YSwgZm9ybWF0YSBwcm8gbG9jYWxlIGRvIHVzdcOhcmlvXG4gICAgICAgICAgICBpZiAodmFsLmluY2x1ZGVzKCdkYXRlJykgfHwgdmFsLmluY2x1ZGVzKCdCaXJ0aGRheScpKSB7XG4gICAgICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbF0gPSBfbW9tZW50KHZhbHVlQ29uY2F0W3ZhbF0pLmZvcm1hdCgnREQvTU0vWVlZWScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGROYW1lICs9IHZhbHVlQ29uY2F0W3ZhbF0gKyAnIC0gJztcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUuc2xpY2UoMCwgLTMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLmtleUNvZGUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleUNvZGVdICsgJyAtICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmtleU5hbWUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleU5hbWVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbLi4udmFsc1Jlc3VsdF07XG4gICAgcmV0dXJuIHZhbHNSZXN1bHQ7XG4gIH1cblxuICBnZXRQYXJhbXNSZXN0KHNlYXJjaDogc3RyaW5nKTogb2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFibGU6IHRoaXMudGFibGUsXG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgb3JkZXI6IHRoaXMub3JkZXIsXG4gICAgICBjb25kaXRpb25zOiB0aGlzLmdldENvbmRpdGlvbnNSZXN0KHNlYXJjaCksXG4gICAgICBlbmFibGVFbnRpdHlGaWx0ZXJzOiB0aGlzLmVuYWJsZUVudGl0eUZpbHRlcnMsXG4gICAgfTtcbiAgfVxuXG4gIGdldENvbmRpdGlvbnNSZXN0KHNlYXJjaDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29uZGl0aW9zUmV0dXJuID0gW1xuICAgICAge1xuICAgICAgICBmaWVsZHM6IHRoaXMuY29uZGl0aW9uc0ZpZWxkcyB8fCB0aGlzLmZpZWxkcyxcbiAgICAgICAgZXhwcmVzc2lvbjogJ0xJS0UnLFxuICAgICAgICB2YWx1ZTogYCR7c2VhcmNofWAsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5jb25kaXRpb25zKSB7XG4gICAgICB0aGlzLmNvbmRpdGlvbnMubWFwKHZhbCA9PiB7XG4gICAgICAgIGlmIChbJ0lTX05VTEwnLCAnSVNfTk9UX05VTEwnLCAnSVNfVFJVRSddLmluY2x1ZGVzKHZhbC5leHByZXNzaW9uKSB8fCBpc1ZhbGlkKHZhbC52YWx1ZSkpIHtcbiAgICAgICAgICBjb25kaXRpb3NSZXR1cm4ucHVzaCh2YWwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZGl0aW9zUmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dGVybml6YSBhIGZ1bsOnw6NvIGRlIHNlbGVjdCBkYXMgb3DDp8O1ZXNcbiAgICogPGlucHV0LXJlc3QtYXV0by1jb21wbGV0ZSAob25TZWxlY3QpPVwib25TZWxlY3RIYW5kbGUoJGV2ZW50KVwiID48L2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZT5cbiAgICogQHBhcmFtIG9wdGlvblxuICAgKi9cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gIH1cblxuICBhc3luYyBvbkNsZWFySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGF3YWl0IHRoaXMub25DbGVhci5lbWl0KG9wdGlvbik7XG4gICAgdGhpcy5mb3JtLmdldCh0aGlzLm5hbWUpLnJlc2V0KCk7XG4gIH1cblxuICBvbkJsdXJJdGVtKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgaWYgKCF0aGlzLmlzRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLm9uQmx1ci5lbWl0KG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNEcm9wZG93biA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJvcGRvd25DbGljaygpIHtcbiAgICB0aGlzLmlzRHJvcGRvd24gPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGF1dG9Db21wbGV0ZU9iamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b0NvbXBsZXRlT2JqZWN0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,114 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClientService } from '../shared/http-client.service';
4
+ import { CoreFieldType } from '../../core/enums/coreFieldType';
5
+ import { FieldType } from '@seniorsistemas/angular-components';
6
+ import * as _moment from 'moment';
7
+ import { map } from 'rxjs/operators';
8
+ import { ServiceType } from '../../core/enums/serviceType';
9
+ const moment = _moment;
10
+ let AutocompleteService = class AutocompleteService {
11
+ constructor(httpClienteService) {
12
+ this.httpClienteService = httpClienteService;
13
+ }
14
+ getAutoComplete(entity, params, searchFields, codeIsString, service) {
15
+ const getParams = this.generateGridParameters(params, searchFields, codeIsString);
16
+ return this.httpClienteService.getAutoComplete(entity, getParams, service)
17
+ .pipe(map((result) => result && result.contents));
18
+ }
19
+ getAutoCompleteQuery(query, params, service = ServiceType.PAYROLL) {
20
+ return this.httpClienteService.query(query, params, service)
21
+ .pipe(map((data) => data && data.result));
22
+ }
23
+ /**
24
+ * Gera os parametros de pesquisa via pesquisa na grid
25
+ * @param filterData
26
+ */
27
+ generateGridParameters(filterData, searchFields, codeIsString) {
28
+ let gridParameters = "";
29
+ Object.keys(filterData).forEach((attribute) => {
30
+ const filterSearchField = searchFields && searchFields.filter(field => attribute === field.name)[0];
31
+ let filterQueryString = null;
32
+ let operatorsQuery = "";
33
+ let searchField = filterSearchField && filterSearchField.type;
34
+ if (!filterSearchField && attribute != CoreFieldType.searchValue)
35
+ searchField = FieldType.String;
36
+ if (!filterSearchField && attribute === CoreFieldType.searchValue)
37
+ searchField = CoreFieldType.searchValue;
38
+ if (gridParameters)
39
+ operatorsQuery = " and ";
40
+ filterQueryString = this.getParameterByType(searchField, attribute, filterData[attribute], codeIsString);
41
+ if (filterQueryString)
42
+ gridParameters += ` ${operatorsQuery} ${filterQueryString}`;
43
+ });
44
+ return gridParameters;
45
+ }
46
+ /**
47
+ * Gera a string de consulta CRUD de um campo.
48
+ * @param type Tipo do campo.
49
+ * @param attribute Nome do atribute da entidade
50
+ * @param value Valor do campo
51
+ */
52
+ getParameterByType(type, attribute, value, codeIsString) {
53
+ if (!value && type != CoreFieldType.searchValue)
54
+ return `${attribute} is null`;
55
+ if (value && value === 'not null' && type != CoreFieldType.searchValue)
56
+ return `${attribute} is not null`;
57
+ switch (type) {
58
+ case FieldType.Date:
59
+ return `${attribute} eq '${moment(value).format('YYYY-MM-DD')}'`;
60
+ case FieldType.Enum:
61
+ return `${attribute} eq '${value}'`;
62
+ case FieldType.Integer:
63
+ return `${attribute} eq ${value}`;
64
+ case FieldType.Autocomplete:
65
+ return `${attribute} eq '${value.id}'`;
66
+ case CoreFieldType.searchValue:
67
+ return `${this.getParameterBySearchType(value, codeIsString)}`;
68
+ default:
69
+ return this.getSearchFilterString(attribute, value);
70
+ }
71
+ }
72
+ /**
73
+ * Retorna o filtro formatador para ser chamdo no endpoint
74
+ * @param valueFilterSearch valor pra adicionar no filtro
75
+ */
76
+ getParameterBySearchType(valueFilterSearch, codeIsString) {
77
+ let searchFilter = "";
78
+ if (valueFilterSearch) {
79
+ for (const [key, value] of Object.entries(valueFilterSearch)) {
80
+ if (key === "code" && Number(value)) {
81
+ const hasQuote = codeIsString ? "'" : "";
82
+ if (searchFilter)
83
+ searchFilter += ` or ${key} eq ${hasQuote}${value}${hasQuote}`;
84
+ else
85
+ searchFilter += `${key} eq ${hasQuote}${value}${hasQuote}`;
86
+ }
87
+ else if (key != "code") {
88
+ if (searchFilter)
89
+ searchFilter += ` or ${this.getSearchFilterString(key, value)}`;
90
+ else
91
+ searchFilter += this.getSearchFilterString(key, value);
92
+ }
93
+ }
94
+ searchFilter = searchFilter ? `(${searchFilter})` : '';
95
+ }
96
+ return searchFilter;
97
+ }
98
+ /**
99
+ * Formata o filtro quando for "Ou"
100
+ * @param attribute Nome do atributo da entidade.
101
+ * @param value Valor da propriedade do objeto.
102
+ */
103
+ getSearchFilterString(attribute, value) {
104
+ return `contains(tolower(${attribute}), '${value.toLowerCase()}')`;
105
+ }
106
+ };
107
+ AutocompleteService.ctorParameters = () => [
108
+ { type: HttpClientService }
109
+ ];
110
+ AutocompleteService = tslib_1.__decorate([
111
+ Injectable()
112
+ ], AutocompleteService);
113
+ export { AutocompleteService };
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvYXV0b2NvbXBsZXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUd2QixJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQUU1QixZQUFvQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtJQUFJLENBQUM7SUFFdkQsZUFBZSxDQUFDLE1BQWMsRUFBRSxNQUFjLEVBQUUsWUFBaUIsRUFBRSxZQUFxQixFQUFFLE9BQW9CO1FBQ2pILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQzthQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxN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RUFBRSxLQUFVO1FBQ3ZELE9BQU8sb0JBQW9CLFNBQVMsT0FBTyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztJQUN2RSxDQUFDO0NBQ0osQ0FBQTs7WUE1RjJDLGlCQUFpQjs7QUFGaEQsbUJBQW1CO0lBRC9CLFVBQVUsRUFBRTtHQUNBLG1CQUFtQixDQThGL0I7U0E5RlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvaHR0cC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb3JlRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9jb3JlRmllbGRUeXBlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0ICogYXMgX21vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NlcnZpY2VUeXBlJztcblxuY29uc3QgbW9tZW50ID0gX21vbWVudDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50ZVNlcnZpY2U6IEh0dHBDbGllbnRTZXJ2aWNlKSB7IH1cblxuICAgIHB1YmxpYyBnZXRBdXRvQ29tcGxldGUoZW50aXR5OiBzdHJpbmcsIHBhcmFtczogb2JqZWN0LCBzZWFyY2hGaWVsZHM6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuLCBzZXJ2aWNlOiBTZXJ2aWNlVHlwZSkge1xuICAgICAgICBjb25zdCBnZXRQYXJhbXMgPSB0aGlzLmdlbmVyYXRlR3JpZFBhcmFtZXRlcnMocGFyYW1zLCBzZWFyY2hGaWVsZHMsIGNvZGVJc1N0cmluZyk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRlU2VydmljZS5nZXRBdXRvQ29tcGxldGUoZW50aXR5LCBnZXRQYXJhbXMsIHNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0ICYmIHJlc3VsdC5jb250ZW50cykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBdXRvQ29tcGxldGVRdWVyeShxdWVyeTogc3RyaW5nLCBwYXJhbXM6IG9iamVjdCwgc2VydmljZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRlU2VydmljZS5xdWVyeShxdWVyeSwgcGFyYW1zLCBzZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUobWFwKChkYXRhKSA9PiBkYXRhICYmIGRhdGEucmVzdWx0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VyYSBvcyBwYXJhbWV0cm9zIGRlIHBlc3F1aXNhIHZpYSBwZXNxdWlzYSBuYSBncmlkXG4gICAgICogQHBhcmFtIGZpbHRlckRhdGFcbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlR3JpZFBhcmFtZXRlcnMoZmlsdGVyRGF0YTogb2JqZWN0LCBzZWFyY2hGaWVsZHM6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGdyaWRQYXJhbWV0ZXJzID0gXCJcIjtcbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVyRGF0YSkuZm9yRWFjaCgoYXR0cmlidXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlclNlYXJjaEZpZWxkID0gc2VhcmNoRmllbGRzICYmIHNlYXJjaEZpZWxkcy5maWx0ZXIoZmllbGQgPT4gYXR0cmlidXRlID09PSBmaWVsZC5uYW1lKVswXTtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJRdWVyeVN0cmluZyA9IG51bGw7XG4gICAgICAgICAgICBsZXQgb3BlcmF0b3JzUXVlcnkgPSBcIlwiO1xuICAgICAgICAgICAgbGV0IHNlYXJjaEZpZWxkOiBhbnkgPSBmaWx0ZXJTZWFyY2hGaWVsZCAmJiBmaWx0ZXJTZWFyY2hGaWVsZC50eXBlO1xuICAgICAgICAgICAgaWYgKCFmaWx0ZXJTZWFyY2hGaWVsZCAmJiBhdHRyaWJ1dGUgIT0gQ29yZUZpZWxkVHlwZS5zZWFyY2hWYWx1ZSkgc2VhcmNoRmllbGQgPSBGaWVsZFR5cGUuU3RyaW5nO1xuICAgICAgICAgICAgaWYgKCFmaWx0ZXJTZWFyY2hGaWVsZCAmJiBhdHRyaWJ1dGUgPT09IENvcmVGaWVsZFR5cGUuc2VhcmNoVmFsdWUpIHNlYXJjaEZpZWxkID0gQ29yZUZpZWxkVHlwZS5zZWFyY2hWYWx1ZTtcbiAgICAgICAgICAgIGlmIChncmlkUGFyYW1ldGVycykgb3BlcmF0b3JzUXVlcnkgPSBcIiBhbmQgXCI7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeVN0cmluZyA9IHRoaXMuZ2V0UGFyYW1ldGVyQnlUeXBlKHNlYXJjaEZpZWxkLCBhdHRyaWJ1dGUsIGZpbHRlckRhdGFbYXR0cmlidXRlXSwgY29kZUlzU3RyaW5nKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJRdWVyeVN0cmluZykgZ3JpZFBhcmFtZXRlcnMgKz0gYCAke29wZXJhdG9yc1F1ZXJ5fSAke2ZpbHRlclF1ZXJ5U3RyaW5nfWA7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZ3JpZFBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VyYSBhIHN0cmluZyBkZSBjb25zdWx0YSBDUlVEIGRlIHVtIGNhbXBvLlxuICAgICAqIEBwYXJhbSB0eXBlIFRpcG8gZG8gY2FtcG8uXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZSBOb21lIGRvIGF0cmlidXRlIGRhIGVudGlkYWRlXG4gICAgICogQHBhcmFtIHZhbHVlIFZhbG9yIGRvIGNhbXBvXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJCeVR5cGUodHlwZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF2YWx1ZSAmJiB0eXBlICE9IENvcmVGaWVsZFR5cGUuc2VhcmNoVmFsdWUpIHJldHVybiBgJHthdHRyaWJ1dGV9IGlzIG51bGxgO1xuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUgPT09ICdub3QgbnVsbCcgJiYgdHlwZSAhPSBDb3JlRmllbGRUeXBlLnNlYXJjaFZhbHVlKSByZXR1cm4gYCR7YXR0cmlidXRlfSBpcyBub3QgbnVsbGA7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7YXR0cmlidXRlfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpfSdgO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7YXR0cmlidXRlfSBlcSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkludGVnZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke2F0dHJpYnV0ZX0gZXEgJHt2YWx1ZX1gO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHthdHRyaWJ1dGV9IGVxICcke3ZhbHVlLmlkfSdgO1xuICAgICAgICAgICAgY2FzZSBDb3JlRmllbGRUeXBlLnNlYXJjaFZhbHVlOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLmdldFBhcmFtZXRlckJ5U2VhcmNoVHlwZSh2YWx1ZSwgY29kZUlzU3RyaW5nKX1gO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWFyY2hGaWx0ZXJTdHJpbmcoYXR0cmlidXRlLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRvcm5hIG8gZmlsdHJvIGZvcm1hdGFkb3IgcGFyYSBzZXIgY2hhbWRvIG5vIGVuZHBvaW50XG4gICAgICogQHBhcmFtIHZhbHVlRmlsdGVyU2VhcmNoIHZhbG9yIHByYSBhZGljaW9uYXIgbm8gZmlsdHJvXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJCeVNlYXJjaFR5cGUodmFsdWVGaWx0ZXJTZWFyY2g6IGFueSwgY29kZUlzU3RyaW5nOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHNlYXJjaEZpbHRlciA9IFwiXCI7XG4gICAgICAgIGlmICh2YWx1ZUZpbHRlclNlYXJjaCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWVGaWx0ZXJTZWFyY2gpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gXCJjb2RlXCIgJiYgTnVtYmVyKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYXNRdW90ZSA9IGNvZGVJc1N0cmluZyA/IFwiJ1wiIDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlYXJjaEZpbHRlcilcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZpbHRlciArPSBgIG9yICR7a2V5fSBlcSAke2hhc1F1b3RlfSR7dmFsdWV9JHtoYXNRdW90ZX1gO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hGaWx0ZXIgKz0gYCR7a2V5fSBlcSAke2hhc1F1b3RlfSR7dmFsdWV9JHtoYXNRdW90ZX1gO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ICE9IFwiY29kZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWFyY2hGaWx0ZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hGaWx0ZXIgKz0gYCBvciAke3RoaXMuZ2V0U2VhcmNoRmlsdGVyU3RyaW5nKGtleSwgdmFsdWUpfWA7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZpbHRlciArPSB0aGlzLmdldFNlYXJjaEZpbHRlclN0cmluZyhrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWFyY2hGaWx0ZXIgPSBzZWFyY2hGaWx0ZXIgPyBgKCR7c2VhcmNoRmlsdGVyfSlgIDogJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlYXJjaEZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXRhIG8gZmlsdHJvIHF1YW5kbyBmb3IgXCJPdVwiXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZSBOb21lIGRvIGF0cmlidXRvIGRhIGVudGlkYWRlLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBWYWxvciBkYSBwcm9wcmllZGFkZSBkbyBvYmpldG8uXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRTZWFyY2hGaWx0ZXJTdHJpbmcoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGNvbnRhaW5zKHRvbG93ZXIoJHthdHRyaWJ1dGV9KSwgJyR7dmFsdWUudG9Mb3dlckNhc2UoKX0nKWA7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,6 @@
1
+ export * from "./transportation-voucher-scale-lookup.component";
2
+ export * from "./transportation-voucher-scale-lookup.module";
3
+ export * from "./transportation-voucher-scale-lookup.dto";
4
+ export * from "./autocomplete.service";
5
+ export * from "./lookup.service";
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90cmFuc3BvcnRhdGlvbi12b3VjaGVyLXNjYWxlLWxvb2t1cC5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyYW5zcG9ydGF0aW9uLXZvdWNoZXItc2NhbGUtbG9va3VwLmR0b1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0b2NvbXBsZXRlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb2t1cC5zZXJ2aWNlXCI7XG4iXX0=