sidesys-generic-ui 2.4.3 → 2.4.4

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 (29) hide show
  1. package/esm2022/lib/icon-material/s-icon-material.component.mjs +2 -2
  2. package/esm2022/lib/input/components/input/s-input-model.mjs +3 -1
  3. package/esm2022/lib/input/components/input/s-input.component.mjs +16 -23
  4. package/esm2022/lib/list-simple/s-list-simple.component.mjs +2 -2
  5. package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +4 -4
  6. package/esm2022/lib/modal/modal-confirm/models/modal-confirm.interface.mjs +1 -1
  7. package/esm2022/lib/select/select/s-select.component.mjs +8 -7
  8. package/esm2022/lib/table-complete/table-complete.component.mjs +14 -5
  9. package/esm2022/lib/table-double/table-double.component.mjs +163 -63
  10. package/esm2022/lib/table-double/table-double.model.mjs +1 -1
  11. package/esm2022/lib/table-double-complete/table-double-complete.component.mjs +256 -0
  12. package/esm2022/lib/table-double-complete/table-double-complete.model.mjs +2 -0
  13. package/esm2022/lib/table-t/s-tablet.component.mjs +7 -4
  14. package/esm2022/lib/table-t/table-actions-buttons/table-actions-buttons.component.mjs +2 -2
  15. package/esm2022/lib/tabs/s-tabs.component.mjs +2 -2
  16. package/esm2022/public-api.mjs +2 -1
  17. package/fesm2022/sidesys-generic-ui.mjs +461 -107
  18. package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
  19. package/lib/input/components/input/s-input-model.d.ts +2 -0
  20. package/lib/input/components/input/s-input.component.d.ts +2 -2
  21. package/lib/modal/modal-confirm/models/modal-confirm.interface.d.ts +1 -1
  22. package/lib/table-complete/table-complete.component.d.ts +4 -0
  23. package/lib/table-double/table-double.component.d.ts +39 -25
  24. package/lib/table-double/table-double.model.d.ts +19 -4
  25. package/lib/table-double-complete/table-double-complete.component.d.ts +38 -0
  26. package/lib/table-double-complete/table-double-complete.model.d.ts +37 -0
  27. package/lib/table-t/s-tablet.component.d.ts +2 -1
  28. package/package.json +1 -1
  29. package/public-api.d.ts +2 -0
@@ -29,13 +29,14 @@ export class SSelectComponent extends ControlValueAccessorDirective {
29
29
  return this.control;
30
30
  }
31
31
  getTitle() {
32
- if (this.value) {
33
- const index = this.config.options.findIndex(item => item.value === this.value.toString());
34
- this.activeIndex = index;
32
+ if (!this.config?.options?.length) {
33
+ return '';
35
34
  }
36
- return this.activeIndex || this.activeIndex === 0
37
- ? this.config.options[this.activeIndex].title
38
- : '';
35
+ if (this.value === null || this.value === undefined) {
36
+ return '';
37
+ }
38
+ const option = this.config.options.find(item => item.value === this.value.toString());
39
+ return option?.title ?? '';
39
40
  }
40
41
  onInput(event) {
41
42
  const input = event.target;
@@ -117,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
117
118
  type: HostListener,
118
119
  args: ['document:click']
119
120
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvc2VsZWN0L3NlbGVjdC9zLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9zZWxlY3Qvc2VsZWN0L3Mtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBaUJ6RCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsNkJBQWdDO0lBWXZFLFlBQ0UsUUFBa0IsRUFDVixnQkFBeUM7UUFFakQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRlIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQVp6QyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNoQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUzQyxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsVUFBSyxHQUFRLFNBQVMsQ0FBQztRQUN2QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBTzNCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJ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SSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQTJEUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFVckIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3Rvcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTU2VsZWN0U2ltcGxlTW9kZWwgfSBmcm9tICcuLi9zLXNlbGVjdC1tb2RlbCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2lucHV0L2RpcmVjdGl2ZXMvY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSU5QVVRfU0laRSB9IGZyb20gJy4uLy4uL2lucHV0L2VudW1zL3NpemUuZW51bSc7XG5pbXBvcnQgeyBTZWxlY3ROYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3Mtc2VsZWN0LXNlcnZpY2UnO1xuaW1wb3J0IHsgU1NlbGVjdCB9IGZyb20gJy4vcy1zZWxlY3QtbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLi9zLXNlbGVjdC1zdHlsZS5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU1NlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTU2VsZWN0Q29tcG9uZW50PFQ+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VD4ge1xuICBASW5wdXQoKSBjb25maWchOiBTU2VsZWN0O1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBcbiAgSU5QVVRfU0laRSA9IElOUFVUX1NJWkU7XG4gIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBhY3RpdmVJbmRleCE6IG51bWJlcjtcbiAgdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcbiAgY2xpY2tJbnNpZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgc2VsZWN0TmF2U2VydmljZTogU2VsZWN0TmF2aWdhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgZ2V0Q29udHJvbCgpIHtcbiAgICBpZiAodGhpcy5jb250cm9sID09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuICh0aGlzLmNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbDtcbiAgfVxuXG4gIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb25maWcub3B0aW9ucy5maW5kSW5kZXgoXG4gICAgICAgIGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdGhpcy52YWx1ZS50b1N0cmluZygpXG4gICAgICApO1xuICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVJbmRleCB8fCB0aGlzLmFjdGl2ZUluZGV4ID09PSAwXG4gICAgICA/IHRoaXMuY29uZmlnLm9wdGlvbnNbdGhpcy5hY3RpdmVJbmRleF0udGl0bGVcbiAgICAgIDogJyc7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy52YWx1ZSA9IGlucHV0LnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcudXNlRm9ybUNvbnRyb2wpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RlZFZhbHVlKGU6IFNTZWxlY3RTaW1wbGVNb2RlbCkge1xuICAgIHRoaXMuY29udHJvbFxuICAgICAgPyB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZS52YWx1ZS50b1N0cmluZygpKVxuICAgICAgOiAodGhpcy52YWx1ZSA9IGUudmFsdWUpO1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLmNvbmZpZy5vcHRpb25zPy5pbmRleE9mKGUpO1xuICAgIHRoaXMudmFsdWUgPSBlLnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkJsdXIoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgY2xpY2tlZCgpIHtcbiAgICB0aGlzLmNsaWNrSW5zaWRlID0gdHJ1ZTtcbiAgICBpZiAoKCF0aGlzLmNvbmZpZy5kaXNhYmxlZCAmJiAhdGhpcy5jb250cm9sPy5kaXNhYmxlZCkgJiYgIXRoaXMuY29uZmlnLnJlYWRPbmx5KSB7XG4gICAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICAgIHRoaXMub25Gb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcbiAgY2xpY2tlZE91dCgpIHtcbiAgICBpZiAodGhpcy5pc09wZW4gJiYgIXRoaXMuY2xpY2tJbnNpZGUpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLm9uQmx1cigpO1xuICAgIH1cbiAgICB0aGlzLmNsaWNrSW5zaWRlID0gZmFsc2U7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5ibHVyLm5leHQoKTtcbiAgfVxuXG5cbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5mb2N1cy5uZXh0KCk7XG4gIH1cblxuICBvbktleURvd25NYWluKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYodGhpcy5jb25maWcucmVhZE9ubHkgfHwgdGhpcy5jb25maWcuZGlzYWJsZWQpIHJldHVyblxuICAgIHRoaXMuaXNPcGVuID0gdGhpcy5zZWxlY3ROYXZTZXJ2aWNlLm9uS2V5RG93bk1haW4oZXZlbnQsIHRoaXMuaXNPcGVuKTtcbiAgfVxuXG4gIG9uS2V5RG93bkl0ZW1zKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpdGVtOiBTU2VsZWN0U2ltcGxlTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IHRoaXMuc2VsZWN0TmF2U2VydmljZS5vbktleURvd25JdGVtcyhcbiAgICAgIGV2ZW50LFxuICAgICAgaXRlbSxcbiAgICAgIHRoaXMuaXNPcGVuLFxuICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlLmJpbmQodGhpcyksXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxyXG4gICpuZ0lmPVwiY29uZmlnXCJcclxuICBjbGFzcz1cInMtc2VsZWN0XCJcclxuICBbbmdDbGFzc109XCJjb25maWcuZGlzYWJsZWQgfHwgY29udHJvbD8uZGlzYWJsZWQgPyAncy1zZWxlY3QtLWRpc2FibGVkJyA6ICcnXCI+XHJcbiAgPHNwYW4gKm5nSWY9XCJjb25maWcubGFiZWxcIiBjbGFzcz1cInMtc2VsZWN0LS1zZWxlY3QtbGFiZWxcIlxyXG4gICAgPnt7IGNvbmZpZy5sYWJlbCB9fVxyXG4gICAgPHNwYW4gY2xhc3M9XCJzLXNlbGVjdC0tcmVxdWlyZWRcIiAqbmdJZj1cImNvbmZpZz8ucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInMtc2VsZWN0X19tYWluIGN1cnNvclwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICd0aGVtZS1yZWQnOiAoY29udHJvbCAmJiBjb250cm9sLmludmFsaWQgJiYgaXNGb2N1c2VkICksXHJcbiAgICAgICdpcy1vcGVuJzogaXNPcGVuLFxyXG4gICAgICAncmVhZG9ubHknOiBjb25maWcucmVhZE9ubHksXHJcbiAgICAgICdzbSc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5TTSxcclxuICAgICAgJ21kJzogKGNvbmZpZy5zaXplID8/IElOUFVUX1NJWkUuTUQpID09PSBJTlBVVF9TSVpFLk1EXHJcbiAgICB9XCJcclxuICAgIHRhYkluZGV4PVwiMFwiXHJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd25NYWluKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fbWFpbl9fc2VsZWN0ZWQtb3B0aW9uIHNlbGVjdC1zaW1wbGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInMtc2VsZWN0X19tYWluX19zZWxlY3RlZC1vcHRpb25fX2xlZnRcIiAqbmdJZj1cInZhbHVlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2w7IGVsc2Ugbm90VXNlRm9ybUNvbnRyb2xcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaXNwbGF5XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgW3JlYWRPbmx5XT1cImNvbmZpZy5yZWFkT25seSB8fCBjb25maWcuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbaWRdPVwiY29uZmlnLmlkID8gY29uZmlnLmlkIDogJydcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0Q29udHJvbCgpXCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgLz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFVzZUZvcm1Db250cm9sPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpc3BsYXlcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwiY29uZmlnLnJlYWRPbmx5IHx8IGNvbmZpZy5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtpZF09XCJjb25maWcuaWQgPyBjb25maWcuaWQgOiAnJ1wiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcclxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIiAvPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPHNwYW4+e3sgZ2V0VGl0bGUoKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fbWFpbl9fc2VsZWN0ZWQtb3B0aW9uX19sZWZ0XCIgKm5nSWY9XCIhdmFsdWVcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInMtc2VsZWN0X19tYWluX19zZWxlY3RlZC1vcHRpb25fX2xlZnRfX2NvbnRlbnQtb3B0aW9uXCJcclxuICAgICAgICAgICpuZ0lmPVwiIXZhbHVlXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlzcGxheVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwbGFjZWhvbGRlclwiPnt7IGNvbmZpZy5wbGFjZWhvbGRlciB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fbWFpbl9fc2VsZWN0ZWQtb3B0aW9uX19yaWdodFwiPlxyXG4gICAgICAgIDxzLWljb24tbWF0XHJcbiAgICAgICAgICAqbmdJZj1cIiFjb25maWcucmVhZE9ubHlcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ7eyBpc09wZW4gPyAnaXMtb3Blbi1hcnJvdycgOiAnJyB9fVwiXHJcbiAgICAgICAgICA+e3sgaXNPcGVuID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZScgfX08L3MtaWNvbi1tYXRcclxuICAgICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgICA8cy12YWxpZGF0aW9uLWVycm9yXHJcbiAgICAqbmdJZj1cIiFjb25maWcuaGlkZUVycm9yVGV4dCAmJiBjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiBpc0ZvY3VzZWRcIlxyXG4gICAgW2N1c3RvbUVycm9yTWVzc2FnZXNdPVwiY29uZmlnLmVycm9yTWVzc2FnZXMgPz8gdW5kZWZpbmVkXCJcclxuICAgIFtlcnJvcnNdPVwiY29udHJvbC5lcnJvcnNcIj5cclxuICA8L3MtdmFsaWRhdGlvbi1lcnJvcj5cclxuICA8cy1lcnJvci1jb250cm9sXHJcbiAgICAqbmdJZj1cIiFjb25maWcuaGlkZUVycm9yVGV4dCAmJiBjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiBjb25maWcuZXJyb3JUZXh0XCJcclxuICAgIHRoZW1lPVwicmVkXCI+XHJcbiAgICB7eyBjb25maWcuZXJyb3JUZXh0IH19XHJcbiAgPC9zLWVycm9yLWNvbnRyb2w+XHJcbiAgPHMtZXJyb3ItY29udHJvbFxyXG4gICAgKm5nSWY9XCIhY29uZmlnLmhpZGVFcnJvclRleHQgJiYgIWNvbmZpZy5lcnJvclRleHQgJiYgY29udHJvbCAmJiAhY29udHJvbC5lcnJvcnMgJiYgY29uZmlnLmhlbHBUZXh0XCI+XHJcbiAgICB7eyBjb25maWcuaGVscFRleHQgfX1cclxuICA8L3MtZXJyb3ItY29udHJvbD5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fb3B0aW9uc1wiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2xhYmVsLW9mZic6ICFjb25maWcubGFiZWwsXHJcbiAgICAgICdzbSc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5TTSxcclxuICAgICAgJ21kJzogKGNvbmZpZy5zaXplID8/IElOUFVUX1NJWkUuTUQpID09PSBJTlBVVF9TSVpFLk1EXHJcbiAgICAgIH1cIiAqbmdJZj1cImlzT3BlblwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJzLXNlbGVjdF9fb3B0aW9ucy1zaW1wbGVcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwicy1zZWxlY3RfX2l0ZW1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICdzbSc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5TTSxcclxuICAgICAgICAgICdtZCc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5NRCxcclxuICAgICAgICAgICduby1kaXNwbGF5JzogIWNvbmZpZy5kaXNwbGF5XHJcbiAgICAgICAgICB9XCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb25maWcub3B0aW9uczsgaW5kZXggYXMgaVwiXHJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVJbmRleFwiXHJcbiAgICAgICAgKGNsaWNrKT1cImdldFNlbGVjdGVkVmFsdWUoaXRlbSlcIlxyXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bkl0ZW1zKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgIHRhYmluZGV4PVwiMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnQgc2VsZWN0LXNpbXBsZVwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbmZpZy5kaXNwbGF5ID09PSAnZG90J1wiIGNsYXNzPVwiZG90XCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdwcm9maWxlJ1wiIGNsYXNzPVwiY29udGVudC1hdmF0YXJcIj5cclxuICAgICAgICAgICAgPHMtYXZhdGFyXHJcbiAgICAgICAgICAgICAgc2l6ZT1cIjI0XCJcclxuICAgICAgICAgICAgICBbZGlzcGxheV09XCJpdGVtLnVzZXI/LmRpc3BsYXlcIlxyXG4gICAgICAgICAgICAgIFtzdGF0dXNdPVwiaXRlbS51c2VyPy5zdGF0dXNcIlxyXG4gICAgICAgICAgICAgIFt1cmxQcm9maWxlSW1hZ2VdPVwiaXRlbS51c2VyPy51cmxcIj48L3MtYXZhdGFyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8cy1pY29uLW1hdFxyXG4gICAgICAgICAgICBbc2l6ZV09XCIoY29uZmlnLnNpemUgPz8gSU5QVVRfU0laRS5NRCkgPT09IElOUFVUX1NJWkUuU00gPyAnMTcnIDogJzIyJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaWNvblBlcnNvblwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdpY29ucGVyc29uJ1wiXHJcbiAgICAgICAgICAgID5wZXJzb25fb3V0bGluZTwvcy1pY29uLW1hdFxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24tdmFsdWVcIj5cclxuICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCIgKm5nSWY9XCJpID09PSBhY3RpdmVJbmRleFwiPlxyXG4gICAgICAgICAgPHMtaWNvbi1tYXQgY2xhc3M9XCJpY29uLWNoZWNrXCI+Y2hlY2s8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGlzcGxheT5cclxuICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdkb3QnXCIgY2xhc3M9XCJkb3RcIj48L2Rpdj5cclxuICA8cy1pY29uLW1hdFxyXG4gICAgW3NpemVdPVwiKGNvbmZpZy5zaXplID8/IElOUFVUX1NJWkUuTUQpID09PSBJTlBVVF9TSVpFLlNNID8gJzE3JyA6ICcyMidcIlxyXG4gICAgY2xhc3M9XCJpY29uUGVyc29uXCJcclxuICAgICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdpY29ucGVyc29uJ1wiXHJcbiAgICA+cGVyc29uX291dGxpbmU8L3MtaWNvbi1tYXRcclxuICA+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJcclxuICAgICAgY29uZmlnPy5kaXNwbGF5ID09PSAncHJvZmlsZScgJiZcclxuICAgICAgKGFjdGl2ZUluZGV4IHx8IHRoaXMuYWN0aXZlSW5kZXggPT09IDApICYmXHJcbiAgICAgIGNvbmZpZy5vcHRpb25zW2FjdGl2ZUluZGV4XT8udXNlclxyXG4gICAgXCJcclxuICAgIGNsYXNzPVwiY29udGVudC1hdmF0YXJcIj5cclxuICAgIDxzLWF2YXRhclxyXG4gICAgICBzaXplPVwiMjRcIlxyXG4gICAgICBbc3RhdHVzXT1cImNvbmZpZy5vcHRpb25zW2FjdGl2ZUluZGV4XS51c2VyPy5zdGF0dXMgPz8gbnVsbFwiXHJcbiAgICAgIFtkaXNwbGF5XT1cImNvbmZpZy5vcHRpb25zW2FjdGl2ZUluZGV4XS51c2VyPy5kaXNwbGF5ID8/IHVuZGVmaW5lZFwiXHJcbiAgICAgIFt1cmxQcm9maWxlSW1hZ2VdPVwiXHJcbiAgICAgICAgY29uZmlnLm9wdGlvbnNbYWN0aXZlSW5kZXhdLnVzZXI/LnVybCA/PyB1bmRlZmluZWRcclxuICAgICAgXCI+PC9zLWF2YXRhcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvc2VsZWN0L3NlbGVjdC9zLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9zZWxlY3Qvc2VsZWN0L3Mtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBaUJ6RCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsNkJBQWdDO0lBWXZFLFlBQ0UsUUFBa0IsRUFDVixnQkFBeUM7UUFFakQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRlIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQVp6QyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNoQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUzQyxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsVUFBSyxHQUFRLFNBQVMsQ0FBQztRQUN2QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBTzNCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJ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LElBQUk7c0JBQWIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBMERQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQVVyQixVQUFVO3NCQURULFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNTZWxlY3RTaW1wbGVNb2RlbCB9IGZyb20gJy4uL3Mtc2VsZWN0LW1vZGVsJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vaW5wdXQvZGlyZWN0aXZlcy9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJTlBVVF9TSVpFIH0gZnJvbSAnLi4vLi4vaW5wdXQvZW51bXMvc2l6ZS5lbnVtJztcbmltcG9ydCB7IFNlbGVjdE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vcy1zZWxlY3Qtc2VydmljZSc7XG5pbXBvcnQgeyBTU2VsZWN0IH0gZnJvbSAnLi9zLXNlbGVjdC1tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Mtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Mtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uL3Mtc2VsZWN0LXN0eWxlLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNTZWxlY3RDb21wb25lbnQ8VD4gZXh0ZW5kcyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZTxUPiB7XG4gIEBJbnB1dCgpIGNvbmZpZyE6IFNTZWxlY3Q7XG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIFxuICBJTlBVVF9TSVpFID0gSU5QVVRfU0laRTtcbiAgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIGFjdGl2ZUluZGV4ITogbnVtYmVyO1xuICB2YWx1ZTogYW55ID0gdW5kZWZpbmVkO1xuICBjbGlja0luc2lkZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBzZWxlY3ROYXZTZXJ2aWNlOiBTZWxlY3ROYXZpZ2F0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cblxuICBnZXRDb250cm9sKCkge1xuICAgIGlmICh0aGlzLmNvbnRyb2wgPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gKHRoaXMuY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb250cm9sO1xuICB9XG5cbiAgZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwgfHwgdGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuY29uZmlnLm9wdGlvbnMuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgPT09IHRoaXMudmFsdWUudG9TdHJpbmcoKSk7XG4gICAgcmV0dXJuIG9wdGlvbj8udGl0bGUgPz8gJyc7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy52YWx1ZSA9IGlucHV0LnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcudXNlRm9ybUNvbnRyb2wpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RlZFZhbHVlKGU6IFNTZWxlY3RTaW1wbGVNb2RlbCkge1xuICAgIHRoaXMuY29udHJvbFxuICAgICAgPyB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZS52YWx1ZS50b1N0cmluZygpKVxuICAgICAgOiAodGhpcy52YWx1ZSA9IGUudmFsdWUpO1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLmNvbmZpZy5vcHRpb25zPy5pbmRleE9mKGUpO1xuICAgIHRoaXMudmFsdWUgPSBlLnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkJsdXIoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgY2xpY2tlZCgpIHtcbiAgICB0aGlzLmNsaWNrSW5zaWRlID0gdHJ1ZTtcbiAgICBpZiAoKCF0aGlzLmNvbmZpZy5kaXNhYmxlZCAmJiAhdGhpcy5jb250cm9sPy5kaXNhYmxlZCkgJiYgIXRoaXMuY29uZmlnLnJlYWRPbmx5KSB7XG4gICAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICAgIHRoaXMub25Gb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcbiAgY2xpY2tlZE91dCgpIHtcbiAgICBpZiAodGhpcy5pc09wZW4gJiYgIXRoaXMuY2xpY2tJbnNpZGUpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLm9uQmx1cigpO1xuICAgIH1cbiAgICB0aGlzLmNsaWNrSW5zaWRlID0gZmFsc2U7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5ibHVyLm5leHQoKTtcbiAgfVxuXG5cbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5mb2N1cy5uZXh0KCk7XG4gIH1cblxuICBvbktleURvd25NYWluKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYodGhpcy5jb25maWcucmVhZE9ubHkgfHwgdGhpcy5jb25maWcuZGlzYWJsZWQpIHJldHVyblxuICAgIHRoaXMuaXNPcGVuID0gdGhpcy5zZWxlY3ROYXZTZXJ2aWNlLm9uS2V5RG93bk1haW4oZXZlbnQsIHRoaXMuaXNPcGVuKTtcbiAgfVxuXG4gIG9uS2V5RG93bkl0ZW1zKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpdGVtOiBTU2VsZWN0U2ltcGxlTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IHRoaXMuc2VsZWN0TmF2U2VydmljZS5vbktleURvd25JdGVtcyhcbiAgICAgIGV2ZW50LFxuICAgICAgaXRlbSxcbiAgICAgIHRoaXMuaXNPcGVuLFxuICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlLmJpbmQodGhpcyksXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxyXG4gICpuZ0lmPVwiY29uZmlnXCJcclxuICBjbGFzcz1cInMtc2VsZWN0XCJcclxuICBbbmdDbGFzc109XCJjb25maWcuZGlzYWJsZWQgfHwgY29udHJvbD8uZGlzYWJsZWQgPyAncy1zZWxlY3QtLWRpc2FibGVkJyA6ICcnXCI+XHJcbiAgPHNwYW4gKm5nSWY9XCJjb25maWcubGFiZWxcIiBjbGFzcz1cInMtc2VsZWN0LS1zZWxlY3QtbGFiZWxcIlxyXG4gICAgPnt7IGNvbmZpZy5sYWJlbCB9fVxyXG4gICAgPHNwYW4gY2xhc3M9XCJzLXNlbGVjdC0tcmVxdWlyZWRcIiAqbmdJZj1cImNvbmZpZz8ucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInMtc2VsZWN0X19tYWluIGN1cnNvclwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICd0aGVtZS1yZWQnOiAoY29udHJvbCAmJiBjb250cm9sLmludmFsaWQgJiYgaXNGb2N1c2VkICksXHJcbiAgICAgICdpcy1vcGVuJzogaXNPcGVuLFxyXG4gICAgICAncmVhZG9ubHknOiBjb25maWcucmVhZE9ubHksXHJcbiAgICAgICdzbSc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5TTSxcclxuICAgICAgJ21kJzogKGNvbmZpZy5zaXplID8/IElOUFVUX1NJWkUuTUQpID09PSBJTlBVVF9TSVpFLk1EXHJcbiAgICB9XCJcclxuICAgIHRhYkluZGV4PVwiMFwiXHJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd25NYWluKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fbWFpbl9fc2VsZWN0ZWQtb3B0aW9uIHNlbGVjdC1zaW1wbGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInMtc2VsZWN0X19tYWluX19zZWxlY3RlZC1vcHRpb25fX2xlZnRcIiAqbmdJZj1cInZhbHVlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2w7IGVsc2Ugbm90VXNlRm9ybUNvbnRyb2xcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaXNwbGF5XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgW3JlYWRPbmx5XT1cImNvbmZpZy5yZWFkT25seSB8fCBjb25maWcuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbaWRdPVwiY29uZmlnLmlkID8gY29uZmlnLmlkIDogJydcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0Q29udHJvbCgpXCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgLz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFVzZUZvcm1Db250cm9sPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpc3BsYXlcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwiY29uZmlnLnJlYWRPbmx5IHx8IGNvbmZpZy5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtpZF09XCJjb25maWcuaWQgPyBjb25maWcuaWQgOiAnJ1wiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcclxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIiAvPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPHNwYW4+e3sgZ2V0VGl0bGUoKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fbWFpbl9fc2VsZWN0ZWQtb3B0aW9uX19sZWZ0XCIgKm5nSWY9XCIhdmFsdWVcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInMtc2VsZWN0X19tYWluX19zZWxlY3RlZC1vcHRpb25fX2xlZnRfX2NvbnRlbnQtb3B0aW9uXCJcclxuICAgICAgICAgICpuZ0lmPVwiIXZhbHVlXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlzcGxheVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwbGFjZWhvbGRlclwiPnt7IGNvbmZpZy5wbGFjZWhvbGRlciB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fbWFpbl9fc2VsZWN0ZWQtb3B0aW9uX19yaWdodFwiPlxyXG4gICAgICAgIDxzLWljb24tbWF0XHJcbiAgICAgICAgICAqbmdJZj1cIiFjb25maWcucmVhZE9ubHlcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ7eyBpc09wZW4gPyAnaXMtb3Blbi1hcnJvdycgOiAnJyB9fVwiXHJcbiAgICAgICAgICA+e3sgaXNPcGVuID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZScgfX08L3MtaWNvbi1tYXRcclxuICAgICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgICA8cy12YWxpZGF0aW9uLWVycm9yXHJcbiAgICAqbmdJZj1cIiFjb25maWcuaGlkZUVycm9yVGV4dCAmJiBjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiBpc0ZvY3VzZWRcIlxyXG4gICAgW2N1c3RvbUVycm9yTWVzc2FnZXNdPVwiY29uZmlnLmVycm9yTWVzc2FnZXMgPz8gdW5kZWZpbmVkXCJcclxuICAgIFtlcnJvcnNdPVwiY29udHJvbC5lcnJvcnNcIj5cclxuICA8L3MtdmFsaWRhdGlvbi1lcnJvcj5cclxuICA8cy1lcnJvci1jb250cm9sXHJcbiAgICAqbmdJZj1cIiFjb25maWcuaGlkZUVycm9yVGV4dCAmJiBjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiBjb25maWcuZXJyb3JUZXh0XCJcclxuICAgIHRoZW1lPVwicmVkXCI+XHJcbiAgICB7eyBjb25maWcuZXJyb3JUZXh0IH19XHJcbiAgPC9zLWVycm9yLWNvbnRyb2w+XHJcbiAgPHMtZXJyb3ItY29udHJvbFxyXG4gICAgKm5nSWY9XCIhY29uZmlnLmhpZGVFcnJvclRleHQgJiYgIWNvbmZpZy5lcnJvclRleHQgJiYgY29udHJvbCAmJiAhY29udHJvbC5lcnJvcnMgJiYgY29uZmlnLmhlbHBUZXh0XCI+XHJcbiAgICB7eyBjb25maWcuaGVscFRleHQgfX1cclxuICA8L3MtZXJyb3ItY29udHJvbD5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzLXNlbGVjdF9fb3B0aW9uc1wiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2xhYmVsLW9mZic6ICFjb25maWcubGFiZWwsXHJcbiAgICAgICdzbSc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5TTSxcclxuICAgICAgJ21kJzogKGNvbmZpZy5zaXplID8/IElOUFVUX1NJWkUuTUQpID09PSBJTlBVVF9TSVpFLk1EXHJcbiAgICAgIH1cIiAqbmdJZj1cImlzT3BlblwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJzLXNlbGVjdF9fb3B0aW9ucy1zaW1wbGVcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwicy1zZWxlY3RfX2l0ZW1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICdzbSc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5TTSxcclxuICAgICAgICAgICdtZCc6IChjb25maWcuc2l6ZSA/PyBJTlBVVF9TSVpFLk1EKSA9PT0gSU5QVVRfU0laRS5NRCxcclxuICAgICAgICAgICduby1kaXNwbGF5JzogIWNvbmZpZy5kaXNwbGF5XHJcbiAgICAgICAgICB9XCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb25maWcub3B0aW9uczsgaW5kZXggYXMgaVwiXHJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVJbmRleFwiXHJcbiAgICAgICAgKGNsaWNrKT1cImdldFNlbGVjdGVkVmFsdWUoaXRlbSlcIlxyXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bkl0ZW1zKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgIHRhYmluZGV4PVwiMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxlZnQgc2VsZWN0LXNpbXBsZVwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbmZpZy5kaXNwbGF5ID09PSAnZG90J1wiIGNsYXNzPVwiZG90XCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdwcm9maWxlJ1wiIGNsYXNzPVwiY29udGVudC1hdmF0YXJcIj5cclxuICAgICAgICAgICAgPHMtYXZhdGFyXHJcbiAgICAgICAgICAgICAgc2l6ZT1cIjI0XCJcclxuICAgICAgICAgICAgICBbZGlzcGxheV09XCJpdGVtLnVzZXI/LmRpc3BsYXlcIlxyXG4gICAgICAgICAgICAgIFtzdGF0dXNdPVwiaXRlbS51c2VyPy5zdGF0dXNcIlxyXG4gICAgICAgICAgICAgIFt1cmxQcm9maWxlSW1hZ2VdPVwiaXRlbS51c2VyPy51cmxcIj48L3MtYXZhdGFyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8cy1pY29uLW1hdFxyXG4gICAgICAgICAgICBbc2l6ZV09XCIoY29uZmlnLnNpemUgPz8gSU5QVVRfU0laRS5NRCkgPT09IElOUFVUX1NJWkUuU00gPyAnMTcnIDogJzIyJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaWNvblBlcnNvblwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdpY29ucGVyc29uJ1wiXHJcbiAgICAgICAgICAgID5wZXJzb25fb3V0bGluZTwvcy1pY29uLW1hdFxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24tdmFsdWVcIj5cclxuICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXJpZ2h0XCIgKm5nSWY9XCJpID09PSBhY3RpdmVJbmRleFwiPlxyXG4gICAgICAgICAgPHMtaWNvbi1tYXQgY2xhc3M9XCJpY29uLWNoZWNrXCI+Y2hlY2s8L3MtaWNvbi1tYXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGlzcGxheT5cclxuICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdkb3QnXCIgY2xhc3M9XCJkb3RcIj48L2Rpdj5cclxuICA8cy1pY29uLW1hdFxyXG4gICAgW3NpemVdPVwiKGNvbmZpZy5zaXplID8/IElOUFVUX1NJWkUuTUQpID09PSBJTlBVVF9TSVpFLlNNID8gJzE3JyA6ICcyMidcIlxyXG4gICAgY2xhc3M9XCJpY29uUGVyc29uXCJcclxuICAgICpuZ0lmPVwiY29uZmlnLmRpc3BsYXkgPT09ICdpY29ucGVyc29uJ1wiXHJcbiAgICA+cGVyc29uX291dGxpbmU8L3MtaWNvbi1tYXRcclxuICA+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJcclxuICAgICAgY29uZmlnPy5kaXNwbGF5ID09PSAncHJvZmlsZScgJiZcclxuICAgICAgKGFjdGl2ZUluZGV4IHx8IHRoaXMuYWN0aXZlSW5kZXggPT09IDApICYmXHJcbiAgICAgIGNvbmZpZy5vcHRpb25zW2FjdGl2ZUluZGV4XT8udXNlclxyXG4gICAgXCJcclxuICAgIGNsYXNzPVwiY29udGVudC1hdmF0YXJcIj5cclxuICAgIDxzLWF2YXRhclxyXG4gICAgICBzaXplPVwiMjRcIlxyXG4gICAgICBbc3RhdHVzXT1cImNvbmZpZy5vcHRpb25zW2FjdGl2ZUluZGV4XS51c2VyPy5zdGF0dXMgPz8gbnVsbFwiXHJcbiAgICAgIFtkaXNwbGF5XT1cImNvbmZpZy5vcHRpb25zW2FjdGl2ZUluZGV4XS51c2VyPy5kaXNwbGF5ID8/IHVuZGVmaW5lZFwiXHJcbiAgICAgIFt1cmxQcm9maWxlSW1hZ2VdPVwiXHJcbiAgICAgICAgY29uZmlnLm9wdGlvbnNbYWN0aXZlSW5kZXhdLnVzZXI/LnVybCA/PyB1bmRlZmluZWRcclxuICAgICAgXCI+PC9zLWF2YXRhcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,4 +1,5 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
1
+ import { Component, EventEmitter, inject, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { STranslateService } from '../../public-api';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
4
5
  import * as i2 from "../toolbar-top/toolbar-top.component";
@@ -22,6 +23,8 @@ export class TableCompleteComponent {
22
23
  this.searchEvent = new EventEmitter();
23
24
  this.bottomStatusBarEvent = new EventEmitter();
24
25
  this.scrollEvent = new EventEmitter();
26
+ this._sTranslateService = inject(STranslateService);
27
+ this.searchText = '';
25
28
  }
26
29
  ngOnChanges(changes) {
27
30
  if (changes['config']) {
@@ -30,12 +33,17 @@ export class TableCompleteComponent {
30
33
  }
31
34
  ngOnInit() {
32
35
  this.filtersDisabled();
36
+ this.emptyConfigSearch = {
37
+ image: 'assets/empty/empty-search.png',
38
+ title: this._sTranslateService.instant('ui.generic.emptySearch.title'),
39
+ detail: this._sTranslateService.instant('ui.generic.emptySearch.detail'),
40
+ };
33
41
  }
34
42
  filtersDisabled() {
35
43
  if (this.config.configToolbarTop) {
36
44
  this.config.configToolbarTop = {
37
45
  ...this.config.configToolbarTop,
38
- filtersDisabled: this.config.totalItems === 0,
46
+ filtersDisabled: this.config.totalItems === 0 && this.searchText === '',
39
47
  };
40
48
  }
41
49
  }
@@ -52,6 +60,7 @@ export class TableCompleteComponent {
52
60
  this.deleteEvent.emit();
53
61
  }
54
62
  search(text) {
63
+ this.searchText = text;
55
64
  this.searchEvent.emit(text);
56
65
  }
57
66
  select(value) {
@@ -87,11 +96,11 @@ export class TableCompleteComponent {
87
96
  this.scrollEvent.emit();
88
97
  }
89
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableCompleteComponent, selector: "s-table-complete", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", checkAllEvent: "checkAllEvent", deleteEvent: "deleteEvent", emptyEvent: "emptyEvent", filterEvent: "filterEvent", orderByEvent: "orderByEvent", pageEvent: "pageEvent", paginationEvent: "paginationEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent", bottomStatusBarEvent: "bottomStatusBarEvent", scrollEvent: "scrollEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SToolbarTopComponent, selector: "s-toolbar-top", inputs: ["config"], outputs: ["actionEvent", "deleteEvent", "filterEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent"] }, { kind: "component", type: i3.EmptyComponent, selector: "s-empty", inputs: ["config"], outputs: ["buttonEvent"] }, { kind: "component", type: i4.STabletComponent, selector: "s-tablet", inputs: ["data", "loading", "caption", "header", "bodyloading", "body", "configColumn", "loadingScroll"], outputs: ["updateDataEvent", "ordenByEvent", "checkAllEvent", "scrollEvent"] }, { kind: "directive", type: i4.STemplate, selector: "[STemplate]", inputs: ["STemplate"] }, { kind: "component", type: i5.SPaginationComponent, selector: "s-pagination", inputs: ["showing", "to", "of", "items", "empty", "disabled", "pageNumber", "totalItems", "pageSize", "pageSizes"], outputs: ["pageEmitter", "paginationEmitter"] }, { kind: "component", type: i6.SBottomStatusBarComponent, selector: "s-bottom-status-bar", inputs: ["config"], outputs: ["stateChange", "stateChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableCompleteComponent, selector: "s-table-complete", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", checkAllEvent: "checkAllEvent", deleteEvent: "deleteEvent", emptyEvent: "emptyEvent", filterEvent: "filterEvent", orderByEvent: "orderByEvent", pageEvent: "pageEvent", paginationEvent: "paginationEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent", bottomStatusBarEvent: "bottomStatusBarEvent", scrollEvent: "scrollEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n [isTreeMode]=\"config.isTreeMode ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n @if (searchText) {\n <s-empty [config]=\"emptyConfigSearch\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n } @else {\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n }\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SToolbarTopComponent, selector: "s-toolbar-top", inputs: ["config"], outputs: ["actionEvent", "deleteEvent", "filterEvent", "multiSelectEvent", "pillButtonEvent", "selectEvent", "searchEvent"] }, { kind: "component", type: i3.EmptyComponent, selector: "s-empty", inputs: ["config"], outputs: ["buttonEvent"] }, { kind: "component", type: i4.STabletComponent, selector: "s-tablet", inputs: ["data", "loading", "caption", "header", "bodyloading", "body", "configColumn", "isTreeMode", "loadingScroll"], outputs: ["updateDataEvent", "ordenByEvent", "checkAllEvent", "scrollEvent"] }, { kind: "directive", type: i4.STemplate, selector: "[STemplate]", inputs: ["STemplate"] }, { kind: "component", type: i5.SPaginationComponent, selector: "s-pagination", inputs: ["showing", "to", "of", "items", "empty", "disabled", "pageNumber", "totalItems", "pageSize", "pageSizes"], outputs: ["pageEmitter", "paginationEmitter"] }, { kind: "component", type: i6.SBottomStatusBarComponent, selector: "s-bottom-status-bar", inputs: ["config"], outputs: ["stateChange", "stateChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
91
100
  }
92
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableCompleteComponent, decorators: [{
93
102
  type: Component,
94
- args: [{ selector: 's-table-complete', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"] }]
103
+ args: [{ selector: 's-table-complete', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-table-complete\">\n <s-toolbar-top\n *ngIf=\"config.configToolbarTop\"\n [config]=\"config.configToolbarTop\"\n (searchEvent)=\"search($event)\"\n (actionEvent)=\"action()\"\n (deleteEvent)=\"delete()\"\n (filterEvent)=\"filter($event)\"\n (multiSelectEvent)=\"multiSelect($event)\"\n (pillButtonEvent)=\"pillButton()\"\n (selectEvent)=\"select($event)\">\n </s-toolbar-top>\n <div class=\"s-table-complete__table\" *ngIf=\"config.columns\">\n <s-tablet\n [configColumn]=\"config.columns\"\n [loading]=\"config.totalItems === 0\"\n [loadingScroll]=\"config.loadingScroll ?? false\"\n [isTreeMode]=\"config.isTreeMode ?? false\"\n (ordenByEvent)=\"ordenEvent($event)\"\n (checkAllEvent)=\"checkAll($event)\"\n (scrollEvent)=\"onScroll()\">\n <ng-template STemplate=\"body\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template STemplate=\"bodyloading\" #notItems>\n @if (searchText) {\n <s-empty [config]=\"emptyConfigSearch\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n } @else {\n <s-empty *ngIf=\"config.emptyConfig\" [config]=\"config.emptyConfig\" (buttonEvent)=\"buttonEmpty()\"></s-empty>\n }\n </ng-template>\n </s-tablet>\n </div>\n @if (config.configBottomStatusBar) {\n <s-bottom-status-bar\n [config]=\"config.configBottomStatusBar()\"\n (stateChangeEvent)=\"selectionControlChange($event)\" />\n }\n @if (!config.scroll) {\n @if (!config.hidePagination) {\n <div class=\"s-table-complete__pagination\">\n <section>\n <s-pagination\n *ngIf=\"config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [showing]=\"config.paginationText.showing\"\n [of]=\"config.paginationText.of\"\n [items]=\"config.paginationText.items\"\n [empty]=\"config.paginationText.empty\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n [totalItems]=\"config.totalItems ?? 0\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n <s-pagination\n *ngIf=\"!config.paginationText\"\n [disabled]=\"config.totalItems === 0\"\n [pageNumber]=\"config.pageNumber ?? 0\"\n [totalItems]=\"config.totalItems ?? 0\"\n [pageSize]=\"config.pageSize ?? 0\"\n [pageSizes]=\"config.pageSizes ? config.pageSizes : undefined\"\n (pageEmitter)=\"goToPage($event)\"\n (paginationEmitter)=\"pagination($event)\">\n </s-pagination>\n </section>\n </div>\n }\n }\n</section>\n", styles: [".s-table-complete{width:100%;box-shadow:var(--E000);border-radius:.5rem}.s-table-complete__table{background:var(--neutrals-1200)!important}.s-table-complete__pagination{background-color:var(--neutrals-1200);border-top:.031rem solid var(--secondary-300);border-radius:0 0 .5rem .5rem;padding:1rem}.s-table-complete .border-bottom{border-bottom:.031rem solid var(--secondary-300)}.s-table-complete s-tablet .pre-s-tablet{height:37rem;background-color:var(--primary-100)}.s-table-complete .s-scroll::-webkit-scrollbar-track{background-color:var(--neutrals-1200)}\n"] }]
95
104
  }], propDecorators: { config: [{
96
105
  type: Input
97
106
  }], actionEvent: [{
@@ -123,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
123
132
  }], scrollEvent: [{
124
133
  type: Output
125
134
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBa0N2QixNQUFNLE9BQU8sc0JBQXNCO0lBTm5DO1FBUVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQzNDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ25E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QUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTVG9vbGJhclRvcCB9IGZyb20gJy4uL3Rvb2xiYXItdG9wJztcbmltcG9ydCB7IFNFbXB0eSB9IGZyb20gJy4uL2VtcHR5L2VtcHR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWdDb2x1bW4sIFNvcnRUYWJsZSB9IGZyb20gJy4uL3RhYmxlLXQnO1xuaW1wb3J0IHsgSVBhZ2VTaXplcyB9IGZyb20gJy4uL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU0JvdHRvbVN0YXR1c0JhciB9IGZyb20gJy4uL2JvdHRvbS1zdGF0dXMtYmFyJztcblxuZXhwb3J0IGludGVyZmFjZSBTVGFibGVDb21wbGV0ZSB7XG4gIGNvbHVtbnM6IENvbmZpZ0NvbHVtbltdO1xuICBwYWdlTnVtYmVyPzogbnVtYmVyO1xuICB0b3RhbEl0ZW1zPzogbnVtYmVyO1xuICBjb25maWdCb3R0b21TdGF0dXNCYXI/OiBXcml0YWJsZVNpZ25hbDxTQm90dG9tU3RhdHVzQmFyPjtcbiAgY29uZmlnVG9vbGJhclRvcD86IFNUb29sYmFyVG9wO1xuICBlbXB0eUNvbmZpZz86IFNFbXB0eTtcbiAgaGlkZVBhZ2luYXRpb24/OiBib29sZWFuO1xuICBzY3JvbGw/OiBib29sZWFuO1xuICBsb2FkaW5nU2Nyb2xsPzogYm9vbGVhbjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHBhZ2VTaXplcz86IElQYWdlU2l6ZXNbXTtcbiAgcGFnaW5hdGlvblRleHQ/OiB7XG4gICAgc2hvd2luZzogc3RyaW5nO1xuICAgIHRvOiBzdHJpbmc7XG4gICAgb2Y6IHN0cmluZztcbiAgICBpdGVtczogc3RyaW5nO1xuICAgIGVtcHR5OiBzdHJpbmc7XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtdGFibGUtY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb25maWchOiBTVGFibGVDb21wbGV0ZTtcbiAgQE91dHB1dCgpIGFjdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2hlY2tBbGxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgZW1wdHlFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgQE91dHB1dCgpIG9yZGVyQnlFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydFRhYmxlPigpO1xuICBAT3V0cHV0KCkgcGFnZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgcGlsbEJ1dHRvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBib3R0b21TdGF0dXNCYXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNjcm9sbEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIHRoaXMuZmlsdGVyc0Rpc2FibGVkKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIGZpbHRlcnNEaXNhYmxlZCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCkge1xuICAgICAgdGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCA9IHtcbiAgICAgICAgLi4udGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCxcbiAgICAgICAgZmlsdGVyc0Rpc2FibGVkOiB0aGlzLmNvbmZpZy50b3RhbEl0ZW1zID09PSAwLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FsbChldmVudDogYW55KSB7XG4gICAgdGhpcy5jaGVja0FsbEV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb3JkZW5FdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5vcmRlckJ5RXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBhY3Rpb24oKSB7XG4gICAgdGhpcy5hY3Rpb25FdmVudC5lbWl0KCk7XG4gIH1cblxuICBkZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGVFdmVudC5lbWl0KCk7XG4gIH1cblxuICBzZWFyY2godGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHRleHQpO1xuICB9XG5cbiAgc2VsZWN0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodmFsdWUpO1xuICB9XG5cbiAgbXVsdGlTZWxlY3QodmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdEV2ZW50LmVtaXQodmFsdWUpO1xuICB9XG5cbiAgZmlsdGVyKHZhbHVlczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmZpbHRlckV2ZW50LmVtaXQodmFsdWVzKTtcbiAgfVxuXG4gIHBpbGxCdXR0b24oKSB7XG4gICAgdGhpcy5waWxsQnV0dG9uRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgYnV0dG9uRW1wdHkoKSB7XG4gICAgdGhpcy5lbXB0eUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGdvVG9QYWdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMuY29uZmlnLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xuICAgIHRoaXMucGFnZUV2ZW50LmVtaXQocGFnZU51bWJlcik7XG4gIH1cblxuICBwYWdpbmF0aW9uKHBhZ2luYXRpb246IG51bWJlcikge1xuICAgIHRoaXMucGFnaW5hdGlvbkV2ZW50LmVtaXQocGFnaW5hdGlvbik7XG4gIH1cblxuICBzZWxlY3Rpb25Db250cm9sQ2hhbmdlKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5ib3R0b21TdGF0dXNCYXJFdmVudC5lbWl0KHN0YXRlKTtcbiAgfVxuXG4gIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcuc2Nyb2xsIHx8IHRoaXMuY29uZmlnLmxvYWRpbmdTY3JvbGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb25maWcubG9hZGluZ1Njcm9sbCA9IHRydWU7XG4gICAgdGhpcy5zY3JvbGxFdmVudC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwicy10YWJsZS1jb21wbGV0ZVwiPlxuICA8cy10b29sYmFyLXRvcFxuICAgICpuZ0lmPVwiY29uZmlnLmNvbmZpZ1Rvb2xiYXJUb3BcIlxuICAgIFtjb25maWddPVwiY29uZmlnLmNvbmZpZ1Rvb2xiYXJUb3BcIlxuICAgIChzZWFyY2hFdmVudCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgKGFjdGlvbkV2ZW50KT1cImFjdGlvbigpXCJcbiAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlKClcIlxuICAgIChmaWx0ZXJFdmVudCk9XCJmaWx0ZXIoJGV2ZW50KVwiXG4gICAgKG11bHRpU2VsZWN0RXZlbnQpPVwibXVsdGlTZWxlY3QoJGV2ZW50KVwiXG4gICAgKHBpbGxCdXR0b25FdmVudCk9XCJwaWxsQnV0dG9uKClcIlxuICAgIChzZWxlY3RFdmVudCk9XCJzZWxlY3QoJGV2ZW50KVwiPlxuICA8L3MtdG9vbGJhci10b3A+XG4gIDxkaXYgY2xhc3M9XCJzLXRhYmxlLWNvbXBsZXRlX190YWJsZVwiICpuZ0lmPVwiY29uZmlnLmNvbHVtbnNcIj5cbiAgICA8cy10YWJsZXRcbiAgICAgIFtjb25maWdDb2x1bW5dPVwiY29uZmlnLmNvbHVtbnNcIlxuICAgICAgW2xvYWRpbmddPVwiY29uZmlnLnRvdGFsSXRlbXMgPT09IDBcIlxuICAgICAgW2xvYWRpbmdTY3JvbGxdPVwiY29uZmlnLmxvYWRpbmdTY3JvbGwgPz8gZmFsc2VcIlxuICAgICAgKG9yZGVuQnlFdmVudCk9XCJvcmRlbkV2ZW50KCRldmVudClcIlxuICAgICAgKGNoZWNrQWxsRXZlbnQpPVwiY2hlY2tBbGwoJGV2ZW50KVwiXG4gICAgICAoc2Nyb2xsRXZlbnQpPVwib25TY3JvbGwoKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFNUZW1wbGF0ZT1cImJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBTVGVtcGxhdGU9XCJib2R5bG9hZGluZ1wiICNub3RJdGVtcz5cbiAgICAgICAgPHMtZW1wdHkgKm5nSWY9XCJjb25maWcuZW1wdHlDb25maWdcIiBbY29uZmlnXT1cImNvbmZpZy5lbXB0eUNvbmZpZ1wiIChidXR0b25FdmVudCk9XCJidXR0b25FbXB0eSgpXCI+PC9zLWVtcHR5PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3MtdGFibGV0PlxuICA8L2Rpdj5cbiAgQGlmIChjb25maWcuY29uZmlnQm90dG9tU3RhdHVzQmFyKSB7XG4gICAgPHMtYm90dG9tLXN0YXR1cy1iYXJcbiAgICAgIFtjb25maWddPVwiY29uZmlnLmNvbmZpZ0JvdHRvbVN0YXR1c0JhcigpXCJcbiAgICAgIChzdGF0ZUNoYW5nZUV2ZW50KT1cInNlbGVjdGlvbkNvbnRyb2xDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gIH1cbiAgQGlmICghY29uZmlnLnNjcm9sbCkge1xuICAgIEBpZiAoIWNvbmZpZy5oaWRlUGFnaW5hdGlvbikge1xuICAgICAgPGRpdiBjbGFzcz1cInMtdGFibGUtY29tcGxldGVfX3BhZ2luYXRpb25cIj5cbiAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgPHMtcGFnaW5hdGlvblxuICAgICAgICAgICAgKm5nSWY9XCJjb25maWcucGFnaW5hdGlvblRleHRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy50b3RhbEl0ZW1zID09PSAwXCJcbiAgICAgICAgICAgIFtzaG93aW5nXT1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dC5zaG93aW5nXCJcbiAgICAgICAgICAgIFtvZl09XCJjb25maWcucGFnaW5hdGlvblRleHQub2ZcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dC5pdGVtc1wiXG4gICAgICAgICAgICBbZW1wdHldPVwiY29uZmlnLnBhZ2luYXRpb25UZXh0LmVtcHR5XCJcbiAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cImNvbmZpZy5wYWdlTnVtYmVyID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplXT1cImNvbmZpZy5wYWdlU2l6ZSA/PyAwXCJcbiAgICAgICAgICAgIFtwYWdlU2l6ZXNdPVwiY29uZmlnLnBhZ2VTaXplcyA/IGNvbmZpZy5wYWdlU2l6ZXMgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgW3RvdGFsSXRlbXNdPVwiY29uZmlnLnRvdGFsSXRlbXMgPz8gMFwiXG4gICAgICAgICAgICAocGFnZUVtaXR0ZXIpPVwiZ29Ub1BhZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAocGFnaW5hdGlvbkVtaXR0ZXIpPVwicGFnaW5hdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgPC9zLXBhZ2luYXRpb24+XG4gICAgICAgICAgPHMtcGFnaW5hdGlvblxuICAgICAgICAgICAgKm5nSWY9XCIhY29uZmlnLnBhZ2luYXRpb25UZXh0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maWcudG90YWxJdGVtcyA9PT0gMFwiXG4gICAgICAgICAgICBbcGFnZU51bWJlcl09XCJjb25maWcucGFnZU51bWJlciA/PyAwXCJcbiAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cImNvbmZpZy50b3RhbEl0ZW1zID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplXT1cImNvbmZpZy5wYWdlU2l6ZSA/PyAwXCJcbiAgICAgICAgICAgIFtwYWdlU2l6ZXNdPVwiY29uZmlnLnBhZ2VTaXplcyA/IGNvbmZpZy5wYWdlU2l6ZXMgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgKHBhZ2VFbWl0dGVyKT1cImdvVG9QYWdlKCRldmVudClcIlxuICAgICAgICAgICAgKHBhZ2luYXRpb25FbWl0dGVyKT1cInBhZ2luYXRpb24oJGV2ZW50KVwiPlxuICAgICAgICAgIDwvcy1wYWdpbmF0aW9uPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIH1cbjwvc2VjdGlvbj5cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29tcGxldGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtY29tcGxldGUvdGFibGUtY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztBQThCckQsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVFZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUMzQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzdDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDaEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxnQkFBVyxHQUFHLElBQUksWUFB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LENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyRCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBMUdVLHNCQUFzQjttR0FBdEIsc0JBQXNCLDRpQkMvQ25DLG96RkF1RUE7OzRGRHhCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTVG9vbGJhclRvcCB9IGZyb20gJy4uL3Rvb2xiYXItdG9wJztcbmltcG9ydCB7IFNFbXB0eSB9IGZyb20gJy4uL2VtcHR5L2VtcHR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWdDb2x1bW4sIFNvcnRUYWJsZSB9IGZyb20gJy4uL3RhYmxlLXQnO1xuaW1wb3J0IHsgSVBhZ2VTaXplcyB9IGZyb20gJy4uL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU0JvdHRvbVN0YXR1c0JhciB9IGZyb20gJy4uL2JvdHRvbS1zdGF0dXMtYmFyJztcbmltcG9ydCB7IFNUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1RhYmxlQ29tcGxldGUge1xuICBjb2x1bW5zOiBDb25maWdDb2x1bW5bXTtcbiAgcGFnZU51bWJlcj86IG51bWJlcjtcbiAgdG90YWxJdGVtcz86IG51bWJlcjtcbiAgY29uZmlnQm90dG9tU3RhdHVzQmFyPzogV3JpdGFibGVTaWduYWw8U0JvdHRvbVN0YXR1c0Jhcj47XG4gIGNvbmZpZ1Rvb2xiYXJUb3A/OiBTVG9vbGJhclRvcDtcbiAgZW1wdHlDb25maWc/OiBTRW1wdHk7XG4gIGhpZGVQYWdpbmF0aW9uPzogYm9vbGVhbjtcbiAgc2Nyb2xsPzogYm9vbGVhbjtcbiAgbG9hZGluZ1Njcm9sbD86IGJvb2xlYW47XG4gIHBhZ2VTaXplPzogbnVtYmVyO1xuICBwYWdlU2l6ZXM/OiBJUGFnZVNpemVzW107XG4gIGlzVHJlZU1vZGU/OiBib29sZWFuO1xuICBwYWdpbmF0aW9uVGV4dD86IHtcbiAgICBzaG93aW5nOiBzdHJpbmc7XG4gICAgdG86IHN0cmluZztcbiAgICBvZjogc3RyaW5nO1xuICAgIGl0ZW1zOiBzdHJpbmc7XG4gICAgZW1wdHk6IHN0cmluZztcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncy10YWJsZS1jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbmZpZyE6IFNUYWJsZUNvbXBsZXRlO1xuICBAT3V0cHV0KCkgYWN0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjaGVja0FsbEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgZGVsZXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBlbXB0eUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgZmlsdGVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgb3JkZXJCeUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0VGFibGU+KCk7XG4gIEBPdXRwdXQoKSBwYWdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHBhZ2luYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gIEBPdXRwdXQoKSBwaWxsQnV0dG9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGJvdHRvbVN0YXR1c0JhckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgc2Nyb2xsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfc1RyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoU1RyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIGVtcHR5Q29uZmlnU2VhcmNoITogU0VtcHR5O1xuICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5maWx0ZXJzRGlzYWJsZWQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnNEaXNhYmxlZCgpO1xuICAgIHRoaXMuZW1wdHlDb25maWdTZWFyY2ggPSB7XG4gICAgICBpbWFnZTogJ2Fzc2V0cy9lbXB0eS9lbXB0eS1zZWFyY2gucG5nJyxcbiAgICAgIHRpdGxlOiB0aGlzLl9zVHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd1aS5nZW5lcmljLmVtcHR5U2VhcmNoLnRpdGxlJyksXG4gICAgICBkZXRhaWw6IHRoaXMuX3NUcmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLmdlbmVyaWMuZW1wdHlTZWFyY2guZGV0YWlsJyksXG4gICAgfTtcbiAgfVxuXG4gIGZpbHRlcnNEaXNhYmxlZCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCkge1xuICAgICAgdGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCA9IHtcbiAgICAgICAgLi4udGhpcy5jb25maWcuY29uZmlnVG9vbGJhclRvcCxcbiAgICAgICAgZmlsdGVyc0Rpc2FibGVkOiB0aGlzLmNvbmZpZy50b3RhbEl0ZW1zID09PSAwICYmIHRoaXMuc2VhcmNoVGV4dCA9PT0gJycsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrQWxsKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNoZWNrQWxsRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvcmRlbkV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9yZGVyQnlFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGFjdGlvbigpIHtcbiAgICB0aGlzLmFjdGlvbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGRlbGV0ZSgpIHtcbiAgICB0aGlzLmRlbGV0ZUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHNlYXJjaCh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0ZXh0O1xuICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh0ZXh0KTtcbiAgfVxuXG4gIHNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIG11bHRpU2VsZWN0KHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMubXVsdGlTZWxlY3RFdmVudC5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGZpbHRlcih2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5maWx0ZXJFdmVudC5lbWl0KHZhbHVlcyk7XG4gIH1cblxuICBwaWxsQnV0dG9uKCkge1xuICAgIHRoaXMucGlsbEJ1dHRvbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGJ1dHRvbkVtcHR5KCkge1xuICAgIHRoaXMuZW1wdHlFdmVudC5lbWl0KCk7XG4gIH1cblxuICBnb1RvUGFnZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLmNvbmZpZy5wYWdlTnVtYmVyID0gcGFnZU51bWJlcjtcbiAgICB0aGlzLnBhZ2VFdmVudC5lbWl0KHBhZ2VOdW1iZXIpO1xuICB9XG5cbiAgcGFnaW5hdGlvbihwYWdpbmF0aW9uOiBudW1iZXIpIHtcbiAgICB0aGlzLnBhZ2luYXRpb25FdmVudC5lbWl0KHBhZ2luYXRpb24pO1xuICB9XG5cbiAgc2VsZWN0aW9uQ29udHJvbENoYW5nZShzdGF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYm90dG9tU3RhdHVzQmFyRXZlbnQuZW1pdChzdGF0ZSk7XG4gIH1cblxuICBvblNjcm9sbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnNjcm9sbCB8fCB0aGlzLmNvbmZpZy5sb2FkaW5nU2Nyb2xsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY29uZmlnLmxvYWRpbmdTY3JvbGwgPSB0cnVlO1xuICAgIHRoaXMuc2Nyb2xsRXZlbnQuZW1pdCgpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cInMtdGFibGUtY29tcGxldGVcIj5cbiAgPHMtdG9vbGJhci10b3BcbiAgICAqbmdJZj1cImNvbmZpZy5jb25maWdUb29sYmFyVG9wXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZy5jb25maWdUb29sYmFyVG9wXCJcbiAgICAoc2VhcmNoRXZlbnQpPVwic2VhcmNoKCRldmVudClcIlxuICAgIChhY3Rpb25FdmVudCk9XCJhY3Rpb24oKVwiXG4gICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZSgpXCJcbiAgICAoZmlsdGVyRXZlbnQpPVwiZmlsdGVyKCRldmVudClcIlxuICAgIChtdWx0aVNlbGVjdEV2ZW50KT1cIm11bHRpU2VsZWN0KCRldmVudClcIlxuICAgIChwaWxsQnV0dG9uRXZlbnQpPVwicGlsbEJ1dHRvbigpXCJcbiAgICAoc2VsZWN0RXZlbnQpPVwic2VsZWN0KCRldmVudClcIj5cbiAgPC9zLXRvb2xiYXItdG9wPlxuICA8ZGl2IGNsYXNzPVwicy10YWJsZS1jb21wbGV0ZV9fdGFibGVcIiAqbmdJZj1cImNvbmZpZy5jb2x1bW5zXCI+XG4gICAgPHMtdGFibGV0XG4gICAgICBbY29uZmlnQ29sdW1uXT1cImNvbmZpZy5jb2x1bW5zXCJcbiAgICAgIFtsb2FkaW5nXT1cImNvbmZpZy50b3RhbEl0ZW1zID09PSAwXCJcbiAgICAgIFtsb2FkaW5nU2Nyb2xsXT1cImNvbmZpZy5sb2FkaW5nU2Nyb2xsID8/IGZhbHNlXCJcbiAgICAgIFtpc1RyZWVNb2RlXT1cImNvbmZpZy5pc1RyZWVNb2RlID8/IGZhbHNlXCJcbiAgICAgIChvcmRlbkJ5RXZlbnQpPVwib3JkZW5FdmVudCgkZXZlbnQpXCJcbiAgICAgIChjaGVja0FsbEV2ZW50KT1cImNoZWNrQWxsKCRldmVudClcIlxuICAgICAgKHNjcm9sbEV2ZW50KT1cIm9uU2Nyb2xsKClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBTVGVtcGxhdGU9XCJib2R5XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgU1RlbXBsYXRlPVwiYm9keWxvYWRpbmdcIiAjbm90SXRlbXM+XG4gICAgICAgIEBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgICAgIDxzLWVtcHR5IFtjb25maWddPVwiZW1wdHlDb25maWdTZWFyY2hcIiAoYnV0dG9uRXZlbnQpPVwiYnV0dG9uRW1wdHkoKVwiPjwvcy1lbXB0eT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHMtZW1wdHkgKm5nSWY9XCJjb25maWcuZW1wdHlDb25maWdcIiBbY29uZmlnXT1cImNvbmZpZy5lbXB0eUNvbmZpZ1wiIChidXR0b25FdmVudCk9XCJidXR0b25FbXB0eSgpXCI+PC9zLWVtcHR5PlxuICAgICAgICB9XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcy10YWJsZXQ+XG4gIDwvZGl2PlxuICBAaWYgKGNvbmZpZy5jb25maWdCb3R0b21TdGF0dXNCYXIpIHtcbiAgICA8cy1ib3R0b20tc3RhdHVzLWJhclxuICAgICAgW2NvbmZpZ109XCJjb25maWcuY29uZmlnQm90dG9tU3RhdHVzQmFyKClcIlxuICAgICAgKHN0YXRlQ2hhbmdlRXZlbnQpPVwic2VsZWN0aW9uQ29udHJvbENoYW5nZSgkZXZlbnQpXCIgLz5cbiAgfVxuICBAaWYgKCFjb25maWcuc2Nyb2xsKSB7XG4gICAgQGlmICghY29uZmlnLmhpZGVQYWdpbmF0aW9uKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwicy10YWJsZS1jb21wbGV0ZV9fcGFnaW5hdGlvblwiPlxuICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICA8cy1wYWdpbmF0aW9uXG4gICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29uZmlnLnRvdGFsSXRlbXMgPT09IDBcIlxuICAgICAgICAgICAgW3Nob3dpbmddPVwiY29uZmlnLnBhZ2luYXRpb25UZXh0LnNob3dpbmdcIlxuICAgICAgICAgICAgW29mXT1cImNvbmZpZy5wYWdpbmF0aW9uVGV4dC5vZlwiXG4gICAgICAgICAgICBbaXRlbXNdPVwiY29uZmlnLnBhZ2luYXRpb25UZXh0Lml0ZW1zXCJcbiAgICAgICAgICAgIFtlbXB0eV09XCJjb25maWcucGFnaW5hdGlvblRleHQuZW1wdHlcIlxuICAgICAgICAgICAgW3BhZ2VOdW1iZXJdPVwiY29uZmlnLnBhZ2VOdW1iZXIgPz8gMFwiXG4gICAgICAgICAgICBbcGFnZVNpemVdPVwiY29uZmlnLnBhZ2VTaXplID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplc109XCJjb25maWcucGFnZVNpemVzID8gY29uZmlnLnBhZ2VTaXplcyA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICBbdG90YWxJdGVtc109XCJjb25maWcudG90YWxJdGVtcyA/PyAwXCJcbiAgICAgICAgICAgIChwYWdlRW1pdHRlcik9XCJnb1RvUGFnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChwYWdpbmF0aW9uRW1pdHRlcik9XCJwYWdpbmF0aW9uKCRldmVudClcIj5cbiAgICAgICAgICA8L3MtcGFnaW5hdGlvbj5cbiAgICAgICAgICA8cy1wYWdpbmF0aW9uXG4gICAgICAgICAgICAqbmdJZj1cIiFjb25maWcucGFnaW5hdGlvblRleHRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy50b3RhbEl0ZW1zID09PSAwXCJcbiAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cImNvbmZpZy5wYWdlTnVtYmVyID8/IDBcIlxuICAgICAgICAgICAgW3RvdGFsSXRlbXNdPVwiY29uZmlnLnRvdGFsSXRlbXMgPz8gMFwiXG4gICAgICAgICAgICBbcGFnZVNpemVdPVwiY29uZmlnLnBhZ2VTaXplID8/IDBcIlxuICAgICAgICAgICAgW3BhZ2VTaXplc109XCJjb25maWcucGFnZVNpemVzID8gY29uZmlnLnBhZ2VTaXplcyA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAocGFnZUVtaXR0ZXIpPVwiZ29Ub1BhZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAocGFnaW5hdGlvbkVtaXR0ZXIpPVwicGFnaW5hdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgPC9zLXBhZ2luYXRpb24+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9zZWN0aW9uPlxuIl19