ngx-sp-infra 3.13.7-test → 3.13.8-test
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/service/tenant.service.mjs +1 -2
- package/esm2022/lib/widgets/applied-filters/applied-filters.component.mjs +9 -3
- package/esm2022/lib/widgets/content-container/content-container.component.mjs +1 -4
- package/fesm2022/ngx-sp-infra.mjs +8 -6
- package/fesm2022/ngx-sp-infra.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -20,7 +20,6 @@ export class TenantService {
|
|
|
20
20
|
// #region ==========> UTILS <==========
|
|
21
21
|
validateTenant(tenantId) {
|
|
22
22
|
if (!tenantId || tenantId === 0) {
|
|
23
|
-
console.log(tenantId);
|
|
24
23
|
this._messageService.showAlertInfo("Você deve selecionar um domínio para executar esta opção.");
|
|
25
24
|
console.error("Você deve selecionar um domínio para executar esta opção.");
|
|
26
25
|
throw new Error("Você deve selecionar um domínio para executar esta opção.");
|
|
@@ -36,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
36
35
|
providedIn: 'root'
|
|
37
36
|
}]
|
|
38
37
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.MessageService }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9zZXJ2aWNlL3RlbmFudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRM0MsTUFBTSxPQUFPLGFBQWE7SUFFeEIsNkNBQTZDO0lBRTdDLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IscUJBQXFCO0lBRXJCLGlCQUFpQjtJQUNqQixRQUFRO0lBQ1Isb0JBQW9CO0lBRXBCLGdEQUFnRDtJQUdoRCxpREFBaUQ7SUFDakQsWUFDVSxNQUFjLEVBQ2QsZUFBK0I7UUFEL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtJQUNyQyxDQUFDO0lBQ0wsb0RBQW9EO0lBR3BELHdDQUF3QztJQUNqQyxjQUFjLENBQUMsUUFBaUI7UUFDckMsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsMkRBQTJELENBQUMsQ0FBQTtZQUMvRixPQUFPLENBQUMsS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7WUFFM0UsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1lBQzdFLG1DQUFtQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzsrR0FoQ1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2UvbWVzc2FnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50U2VydmljZSB7XG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cbiAgLy8gI3JlZ2lvbiBQUklWQVRFXG4gIC8vIFsuLi5dXG4gIC8vICNlbmRyZWdpb24gUFJJVkFURVxuXG4gIC8vICNyZWdpb24gUFVCTElDXG4gIC8vIFsuLi5dXG4gIC8vICNlbmRyZWdpb24gUFVCTElDXG5cbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IElOSVRJQUxJWkFUSU9OIDw9PT09PT09PT09XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXG4gICkgeyB9XG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gSU5JVElBTElaQVRJT04gPD09PT09PT09PT1cblxuXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cbiAgcHVibGljIHZhbGlkYXRlVGVuYW50KHRlbmFudElkPzogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0ZW5hbnRJZCB8fCB0ZW5hbnRJZCA9PT0gMCkge1xuICAgICAgdGhpcy5fbWVzc2FnZVNlcnZpY2Uuc2hvd0FsZXJ0SW5mbyhcIlZvY8OqIGRldmUgc2VsZWNpb25hciB1bSBkb23DrW5pbyBwYXJhIGV4ZWN1dGFyIGVzdGEgb3DDp8Ojby5cIilcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJWb2PDqiBkZXZlIHNlbGVjaW9uYXIgdW0gZG9tw61uaW8gcGFyYSBleGVjdXRhciBlc3RhIG9ww6fDo28uXCIpO1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJWb2PDqiBkZXZlIHNlbGVjaW9uYXIgdW0gZG9tw61uaW8gcGFyYSBleGVjdXRhciBlc3RhIG9ww6fDo28uXCIpO1xuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL2hvbWVcIl0pO1xuICAgIH1cbiAgfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XG5cbn1cbiJdfQ==
|
|
@@ -30,14 +30,20 @@ export class AppliedFiltersComponent {
|
|
|
30
30
|
// #endregion ==========> INITIALIZATION <==========
|
|
31
31
|
// #region ==========> UTILS <==========
|
|
32
32
|
clearFilter(control) {
|
|
33
|
+
console.log("control:", control);
|
|
34
|
+
console.log("filtrosAplicados:", this.filtrosAplicados);
|
|
35
|
+
console.log("filtrosAplicadosInterno:", this.filtrosAplicadosInterno);
|
|
33
36
|
this.removeFilter.emit({ control: control, value: this.valueToReset });
|
|
37
|
+
const todosVazios = this.filtrosAplicadosInterno?.every(f => f.value === this.valueToReset);
|
|
38
|
+
if (todosVazios)
|
|
39
|
+
delete this.filtrosAplicadosInterno;
|
|
34
40
|
}
|
|
35
41
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppliedFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AppliedFiltersComponent, selector: "lib-applied-filters", inputs: { filtrosAplicados: "filtrosAplicados", aliasNames: "aliasNames", valueToReset: "valueToReset", theme: "theme" }, outputs: { removeFilter: "removeFilter" }, ngImport: i0, template: "<div *ngIf=\"
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AppliedFiltersComponent, selector: "lib-applied-filters", inputs: { filtrosAplicados: "filtrosAplicados", aliasNames: "aliasNames", valueToReset: "valueToReset", theme: "theme" }, outputs: { removeFilter: "removeFilter" }, ngImport: i0, template: "<div *ngIf=\"filtrosAplicadosInterno && filtrosAplicadosInterno.length > 0\" class=\"d-flex flex-row my-3\">\n <div class=\"filter-list-text pe-1 fw-bold fs-6\">Filtros:</div>\n <div class=\"filter-list ps-1 d-flex flex-row flex-wrap gap-2 px-1\">\n @for (filtro of filtrosAplicadosInterno; track $index) {\n <button *ngIf=\"filtro.value !== undefined && filtro.value !== null && filtro.value !== ''\" class=\"btn btn-sm btn-outline-{{theme}} rounded-pill gap-2 position-relative\">\n <b>{{ aliasNames[$index] }}</b>: {{ filtro.value | formatByType }}\n\n <span *ngIf=\"Array.isArray(filtro.value) && filtro.value.length > 1\" class=\"badge text-bg-{{theme}}\"\n [tooltip]=\"filtro.value.join(', ')\" >\n {{ filtro.value.length }} selecionados\n </span>\n\n <lib-icon iconName=\"fechar\" iconSize=\"small\" tooltip=\"Limpar este campo\" (click)=\"filtro.value = valueToReset; clearFilter(filtro.label)\" />\n </button>\n }\n @empty {\n <span>Nenhum filtro efetivamente aplicado</span>\n }\n </div>\n</div>", styles: [".filter-list-text{width:fit-content}.filter-list{width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: i3.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "pipe", type: i4.FormatByTypePipe, name: "formatByType" }] }); }
|
|
37
43
|
}
|
|
38
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppliedFiltersComponent, decorators: [{
|
|
39
45
|
type: Component,
|
|
40
|
-
args: [{ selector: 'lib-applied-filters', template: "<div *ngIf=\"
|
|
46
|
+
args: [{ selector: 'lib-applied-filters', template: "<div *ngIf=\"filtrosAplicadosInterno && filtrosAplicadosInterno.length > 0\" class=\"d-flex flex-row my-3\">\n <div class=\"filter-list-text pe-1 fw-bold fs-6\">Filtros:</div>\n <div class=\"filter-list ps-1 d-flex flex-row flex-wrap gap-2 px-1\">\n @for (filtro of filtrosAplicadosInterno; track $index) {\n <button *ngIf=\"filtro.value !== undefined && filtro.value !== null && filtro.value !== ''\" class=\"btn btn-sm btn-outline-{{theme}} rounded-pill gap-2 position-relative\">\n <b>{{ aliasNames[$index] }}</b>: {{ filtro.value | formatByType }}\n\n <span *ngIf=\"Array.isArray(filtro.value) && filtro.value.length > 1\" class=\"badge text-bg-{{theme}}\"\n [tooltip]=\"filtro.value.join(', ')\" >\n {{ filtro.value.length }} selecionados\n </span>\n\n <lib-icon iconName=\"fechar\" iconSize=\"small\" tooltip=\"Limpar este campo\" (click)=\"filtro.value = valueToReset; clearFilter(filtro.label)\" />\n </button>\n }\n @empty {\n <span>Nenhum filtro efetivamente aplicado</span>\n }\n </div>\n</div>", styles: [".filter-list-text{width:fit-content}.filter-list{width:max-content}\n"] }]
|
|
41
47
|
}], ctorParameters: () => [], propDecorators: { filtrosAplicados: [{
|
|
42
48
|
type: Input,
|
|
43
49
|
args: [{ required: true }]
|
|
@@ -51,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
51
57
|
}], removeFilter: [{
|
|
52
58
|
type: Output
|
|
53
59
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGllZC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1pbmZyYS9zcmMvbGliL3dpZGdldHMvYXBwbGllZC1maWx0ZXJzL2FwcGxpZWQtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2FwcGxpZWQtZmlsdGVycy9hcHBsaWVkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXZFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsNkNBQTZDO0lBRTdDLG9CQUFvQjtJQUNwQixJQUFjLEtBQUssS0FBbUIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBR3JELHVCQUF1QjtJQUV2QixpQkFBaUI7SUFDakIsSUFDVyxnQkFBZ0IsS0FBMEMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzNHLElBQVcsZ0JBQWdCLENBQUMsS0FBMEM7UUFDcEUsZ0VBQWdFO1FBQ2hFLGlIQUFpSDtRQUNqSCxxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BGLENBQUM7SUFRRCxvQkFBb0I7SUFFcEIsZ0RBQWdEO0lBR2hELGlEQUFpRDtJQUNqRDtRQXpCTyw0QkFBdUIsR0FBNkIsRUFBRSxDQUFDO1FBYW5DLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFFNUMsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DLFVBQUssR0FBVyxTQUFTLENBQUM7UUFFekIsaUJBQVksR0FBNEQsSUFBSSxZQUFZLEVBQTZDLENBQUM7SUFPaEksQ0FBQztJQUNqQixvREFBb0Q7SUFHcEQsd0NBQXdDO0lBQ2pDLFdBQVcsQ0FBQyxPQUFlO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RixJQUFJLFdBQVc7WUFBRSxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN2RCxDQUFDOytHQTlDVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixnT0NScEMseW1DQW1CTTs7NEZEWE8sdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjt3REFnQnBCLGdCQUFnQjtzQkFEMUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBU0UsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdHJvc0FwbGljYWRvc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRyb3MtYXBsaWNhZG9zL2ZpbHRyb3MtYXBsaWNhZG9zLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcGxpZWQtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHBsaWVkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYXBwbGllZC1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWVkRmlsdGVyc0NvbXBvbmVudCB7XG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cbiAgLy8gI3JlZ2lvbiBQUk9URUNURURcbiAgcHJvdGVjdGVkIGdldCBBcnJheSgpOiB0eXBlb2YgQXJyYXkgeyByZXR1cm4gQXJyYXk7IH1cblxuICBwdWJsaWMgZmlsdHJvc0FwbGljYWRvc0ludGVybm8/OiBGaWx0cm9zQXBsaWNhZG9zTW9kZWxbXSA9IFtdO1xuICAvLyAjZW5kcmVnaW9uIFBST1RFQ1RFRFxuXG4gIC8vICNyZWdpb24gUFVCTElDXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBnZXQgZmlsdHJvc0FwbGljYWRvcygpOiBGaWx0cm9zQXBsaWNhZG9zTW9kZWxbXSB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmZpbHRyb3NBcGxpY2Fkb3NJbnRlcm5vOyB9XG4gIHB1YmxpYyBzZXQgZmlsdHJvc0FwbGljYWRvcyh2YWx1ZTogRmlsdHJvc0FwbGljYWRvc01vZGVsW10gfCB1bmRlZmluZWQpIHtcbiAgICAvLyBBcXVpIGV1IGVzdG91IGNyaWFuZG8gdW1hIGPDs3BpYSBkb3MgdmFsb3JlcyBxdWUgc8OjbyByZWNlYmlkb3NcbiAgICAvLyBwb2lzIHF1YW5kbyB1c2Ftb3MgYSBtZXNtYSByZWZlcsOqbmNpYSBkbyBvYmpldG8gb3JpZ2luYWwgZWxlIHNlbXByZSBzZSBhbHRlcmFyw6EgY29tIGJhc2Ugbm8gdmFsb3IgZG8gb3JpZ2luYWwsXG4gICAgLy8gbsOjbyBpbXBvcnRhIHF1YW50YXMgY8OzcGlhcyBleGlzdGFtXG4gICAgdGhpcy5maWx0cm9zQXBsaWNhZG9zSW50ZXJubyA9IHZhbHVlID8gdmFsdWUubWFwKG9iaiA9PiAoeyAuLi5vYmogfSkpIDogdW5kZWZpbmVkO1xuICB9XG4gIFxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhbGlhc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICBcbiAgQElucHV0KCkgdmFsdWVUb1Jlc2V0OiBudWxsIHwgc3RyaW5nID0gbnVsbDtcbiAgQElucHV0KCkgdGhlbWU6IHN0cmluZyA9IFwicHJpbWFyeVwiO1xuXG4gIEBPdXRwdXQoKSByZW1vdmVGaWx0ZXI6IEV2ZW50RW1pdHRlcjx7IGNvbnRyb2w6IHN0cmluZywgdmFsdWU6IG51bGwgfCBzdHJpbmcgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgY29udHJvbDogc3RyaW5nLCB2YWx1ZTogbnVsbCB8IHN0cmluZyB9PigpO1xuICAvLyAjZW5kcmVnaW9uIFBVQkxJQ1xuXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxuXG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBJTklUSUFMSVpBVElPTiA8PT09PT09PT09PVxuICBjb25zdHJ1Y3RvcigpIHsgfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IElOSVRJQUxJWkFUSU9OIDw9PT09PT09PT09XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XG4gIHB1YmxpYyBjbGVhckZpbHRlcihjb250cm9sOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyhcImNvbnRyb2w6XCIsIGNvbnRyb2wpO1xuICAgIGNvbnNvbGUubG9nKFwiZmlsdHJvc0FwbGljYWRvczpcIiwgdGhpcy5maWx0cm9zQXBsaWNhZG9zKTtcbiAgICBjb25zb2xlLmxvZyhcImZpbHRyb3NBcGxpY2Fkb3NJbnRlcm5vOlwiLCB0aGlzLmZpbHRyb3NBcGxpY2Fkb3NJbnRlcm5vKTtcbiAgICBcbiAgICB0aGlzLnJlbW92ZUZpbHRlci5lbWl0KHsgY29udHJvbDogY29udHJvbCwgdmFsdWU6IHRoaXMudmFsdWVUb1Jlc2V0IH0pO1xuXG4gICAgY29uc3QgdG9kb3NWYXppb3MgPSB0aGlzLmZpbHRyb3NBcGxpY2Fkb3NJbnRlcm5vPy5ldmVyeShmID0+IGYudmFsdWUgPT09IHRoaXMudmFsdWVUb1Jlc2V0KTtcbiAgICBpZiAodG9kb3NWYXppb3MpIGRlbGV0ZSB0aGlzLmZpbHRyb3NBcGxpY2Fkb3NJbnRlcm5vO1xuICB9XG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cblxufVxuIiwiPGRpdiAqbmdJZj1cImZpbHRyb3NBcGxpY2Fkb3NJbnRlcm5vICYmIGZpbHRyb3NBcGxpY2Fkb3NJbnRlcm5vLmxlbmd0aCA+IDBcIiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBteS0zXCI+XG4gICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWxpc3QtdGV4dCBwZS0xIGZ3LWJvbGQgZnMtNlwiPkZpbHRyb3M6PC9kaXY+XG4gICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWxpc3QgcHMtMSBkLWZsZXggZmxleC1yb3cgZmxleC13cmFwIGdhcC0yIHB4LTFcIj5cbiAgICAgIEBmb3IgKGZpbHRybyBvZiBmaWx0cm9zQXBsaWNhZG9zSW50ZXJubzsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlsdHJvLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgZmlsdHJvLnZhbHVlICE9PSBudWxsICYmIGZpbHRyby52YWx1ZSAhPT0gJydcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUte3t0aGVtZX19IHJvdW5kZWQtcGlsbCBnYXAtMiBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPGI+e3sgYWxpYXNOYW1lc1skaW5kZXhdIH19PC9iPjoge3sgZmlsdHJvLnZhbHVlIHwgZm9ybWF0QnlUeXBlIH19XG5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiQXJyYXkuaXNBcnJheShmaWx0cm8udmFsdWUpICYmIGZpbHRyby52YWx1ZS5sZW5ndGggPiAxXCIgY2xhc3M9XCJiYWRnZSB0ZXh0LWJnLXt7dGhlbWV9fVwiXG4gICAgICAgICAgICAgICBbdG9vbHRpcF09XCJmaWx0cm8udmFsdWUuam9pbignLCAnKVwiID5cbiAgICAgICAgICAgICAgIHt7IGZpbHRyby52YWx1ZS5sZW5ndGggfX0gc2VsZWNpb25hZG9zXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxsaWItaWNvbiBpY29uTmFtZT1cImZlY2hhclwiIGljb25TaXplPVwic21hbGxcIiB0b29sdGlwPVwiTGltcGFyIGVzdGUgY2FtcG9cIiAoY2xpY2spPVwiZmlsdHJvLnZhbHVlID0gdmFsdWVUb1Jlc2V0OyBjbGVhckZpbHRlcihmaWx0cm8ubGFiZWwpXCIgLz5cbiAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGVtcHR5IHtcbiAgICAgICAgIDxzcGFuPk5lbmh1bSBmaWx0cm8gZWZldGl2YW1lbnRlIGFwbGljYWRvPC9zcGFuPlxuICAgICAgfVxuICAgPC9kaXY+XG48L2Rpdj4iXX0=
|