@libs-ui/components-table 0.2.185 → 0.2.187

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.
@@ -24,10 +24,10 @@ export class LibsUiTableCalculatorColumnPipe {
24
24
  const widthCalculator = (percent / 100) * offsetWidth;
25
25
  return this.getStyleUpdate(widthCalculator, header.ngStyle);
26
26
  }
27
+ const width = this.getWidthPxOfStyle(header);
27
28
  if (totalPxWidthHeader > offsetWidth || header.keepWidthIsPxColumnIfTableWidthGrandTotalColumnsHeader || totalPercentWidthHeader) {
28
- return header.ngStyle;
29
+ return this.getStyleUpdate(width, header.ngStyle);
29
30
  }
30
- const width = this.getWidthPxOfStyle(header);
31
31
  const widthCalculator = (width / totalPxWidthHeader) * offsetWidth;
32
32
  return this.getStyleUpdate(widthCalculator, header.ngStyle);
33
33
  }
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
77
77
  standalone: true
78
78
  }]
79
79
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRvci1jb2x1bW4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy90YWJsZS9zcmMvcGlwZXMvY2FsY3VsYXRvci1jb2x1bW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFRcEQsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxTQUFTLENBQUMsTUFBc0MsRUFBRSxXQUFtQixFQUFFLGdCQUE0QyxFQUFFLGlCQUE2QztRQUNoSyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLE1BQU0sdUJBQXVCLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEgsTUFBTSx1REFBdUQsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlC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LENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RSxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFDRCxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMvQixRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakMsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxjQUFjLENBQUMsZUFBdUIsRUFBRSxPQUFvQjtRQUNsRSxPQUFPO1lBQ0wsR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFLE9BQU8sZUFBZSxJQUFJO1lBQ2hDLEtBQUssRUFBRSxHQUFHLGVBQWUsSUFBSTtZQUM3QixRQUFRLEVBQUUsR0FBRyxlQUFlLElBQUk7U0FDakMsQ0FBQztJQUNKLENBQUM7d0dBN0VVLCtCQUErQjtzR0FBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUwzQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQ0FBaUM7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElUYWJsZUhlYWRlckNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFibGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUWVBFX09CSkVDVCB9IGZyb20gJ0BsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXMnO1xuQFBpcGUoe1xuICBuYW1lOiAnTGlic1VpVGFibGVDYWxjdWxhdG9yQ29sdW1uUGlwZScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaWJzVWlUYWJsZUNhbGN1bGF0b3JDb2x1bW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShoZWFkZXI6IElUYWJsZUhlYWRlckNvbmZpZyB8IHVuZGVmaW5lZCwgb2Zmc2V0V2lkdGg6IG51bWJlciwgaGVhZGVyTGVmdENvbmZpZz86IEFycmF5PElUYWJsZUhlYWRlckNvbmZpZz4sIGhlYWRlclJpZ2h0Q29uZmlnPzogQXJyYXk8SVRhYmxlSGVhZGVyQ29uZmlnPik6IFRZUEVfT0JKRUNUIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWhlYWRlcj8ubmdTdHlsZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBtaXhIZWFkZXJDb25maWcgPSBbLi4uKGhlYWRlckxlZnRDb25maWcgfHwgW10pLCAuLi4oaGVhZGVyUmlnaHRDb25maWcgfHwgW10pXTtcblxuICAgIGxldCB0b3RhbFB4V2lkdGhIZWFkZXIgPSBtaXhIZWFkZXJDb25maWcucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIHRoaXMuZ2V0V2lkdGhQeE9mU3R5bGUoY3VyciksIDApO1xuICAgIGNvbnN0IHRvdGFsUGVyY2VudFdpZHRoSGVhZGVyID0gbWl4SGVhZGVyQ29uZmlnLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyB0aGlzLmdldFdpZHRoUGVyY2VudE9mU3R5bGUoY3VyciksIDApO1xuICAgIGNvbnN0IHRvdGFsV2lkdGhJc1B4Q29sdW1uSWZUYWJsZVdpZHRoR3JhbmRUb3RhbENvbHVtbnNIZWFkZXIgPSBtaXhIZWFkZXJDb25maWcucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIChjdXJyLmtlZXBXaWR0aElzUHhDb2x1bW5JZlRhYmxlV2lkdGhHcmFuZFRvdGFsQ29sdW1uc0hlYWRlciA/IHRoaXMuZ2V0V2lkdGhQeE9mU3R5bGUoY3VycikgOiAwKSwgMCk7XG5cbiAgICBpZiAobWl4SGVhZGVyQ29uZmlnLnNvbWUoaGVhZGVyID0+IGhlYWRlci5pc1Nob3dJbmRleE9uUm93KSkge1xuICAgICAgb2Zmc2V0V2lkdGggLT0gNTA7XG4gICAgfVxuXG4gICAgaWYgKHRvdGFsV2lkdGhJc1B4Q29sdW1uSWZUYWJsZVdpZHRoR3JhbmRUb3RhbENvbHVtbnNIZWFkZXIpIHtcbiAgICAgIG9mZnNldFdpZHRoIC09IHRvdGFsV2lkdGhJc1B4Q29sdW1uSWZUYWJsZVdpZHRoR3JhbmRUb3RhbENvbHVtbnNIZWFkZXI7XG4gICAgICB0b3RhbFB4V2lkdGhIZWFkZXIgLT0gdG90YWxXaWR0aElzUHhDb2x1bW5JZlRhYmxlV2lkdGhHcmFuZFRvdGFsQ29sdW1uc0hlYWRlcjtcbiAgICB9XG5cbiAgICBsZXQgcGVyY2VudCA9IHRoaXMuZ2V0V2lkdGhQZXJjZW50T2ZTdHlsZShoZWFkZXIpO1xuICAgIGlmIChwZXJjZW50KSB7XG4gICAgICBvZmZzZXRXaWR0aCAtPSB0b3RhbFB4V2lkdGhIZWFkZXI7XG4gICAgICBjb25zdCBwZXJjZW50RGl2aWRlID0gKHRvdGFsUGVyY2VudFdpZHRoSGVhZGVyIC0gMTAwKSAvIG1peEhlYWRlckNvbmZpZy5sZW5ndGg7XG4gICAgICBwZXJjZW50IC09IHBlcmNlbnREaXZpZGU7XG4gICAgICBjb25zdCB3aWR0aENhbGN1bGF0b3IgPSAocGVyY2VudCAvIDEwMCkgKiBvZmZzZXRXaWR0aDtcbiAgICAgIHJldHVybiB0aGlzLmdldFN0eWxlVXBkYXRlKHdpZHRoQ2FsY3VsYXRvciwgaGVhZGVyLm5nU3R5bGUpO1xuICAgIH1cblxuICAgIGlmICh0b3RhbFB4V2lkdGhIZWFkZXIgPiBvZmZzZXRXaWR0aCB8fCBoZWFkZXIua2VlcFdpZHRoSXNQeENvbHVtbklmVGFibGVXaWR0aEdyYW5kVG90YWxDb2x1bW5zSGVhZGVyIHx8IHRvdGFsUGVyY2VudFdpZHRoSGVhZGVyKSB7XG4gICAgICByZXR1cm4gaGVhZGVyLm5nU3R5bGU7XG4gICAgfVxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRXaWR0aFB4T2ZTdHlsZShoZWFkZXIpO1xuICAgIGNvbnN0IHdpZHRoQ2FsY3VsYXRvciA9ICh3aWR0aCAvIHRvdGFsUHhXaWR0aEhlYWRlcikgKiBvZmZzZXRXaWR0aDtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHlsZVVwZGF0ZSh3aWR0aENhbGN1bGF0b3IsIGhlYWRlci5uZ1N0eWxlKTtcblxuICB9XG5cbiAgcHJpdmF0ZSBnZXRXaWR0aFB4T2ZTdHlsZShoZWFkZXJHZXRXaWR0aDogSVRhYmxlSGVhZGVyQ29uZmlnKTogbnVtYmVyIHtcbiAgICBsZXQgeyBmbGV4LCB3aWR0aCwgbWF4V2lkdGggfSA9IGhlYWRlckdldFdpZHRoLm5nU3R5bGUgfHwge307XG4gICAgaWYgKGZsZXg/LmluY2x1ZGVzKCclJykgfHwgd2lkdGg/LmluY2x1ZGVzKCclJykgfHwgbWF4V2lkdGg/LmluY2x1ZGVzKCclJykpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICB3aWR0aCA9IHBhcnNlSW50KHdpZHRoIHx8ICcwJyk7XG4gICAgbWF4V2lkdGggPSBwYXJzZUludChtYXhXaWR0aCB8fCAnMCcpO1xuICAgIGZsZXggPSBwYXJzZUludCgoZmxleCB8fCAnMCcpLnNwbGl0KCcgJykucG9wKCkgfHwgJzAnKTtcblxuICAgIGlmICghZmxleCAmJiAhd2lkdGggJiYgIW1heFdpZHRoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgY29uc3Qgd2lkdGhNYXggPSBNYXRoLm1heCh3aWR0aCwgbWF4V2lkdGgsIGZsZXgpO1xuICAgIHJldHVybiB3aWR0aE1heDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2lkdGhQZXJjZW50T2ZTdHlsZShoZWFkZXJHZXRXaWR0aDogSVRhYmxlSGVhZGVyQ29uZmlnKTogbnVtYmVyIHtcbiAgICBsZXQgeyBmbGV4LCB3aWR0aCwgbWF4V2lkdGggfSA9IGhlYWRlckdldFdpZHRoLm5nU3R5bGUgfHwge307XG4gICAgaWYgKGZsZXg/LmluY2x1ZGVzKCdweCcpIHx8IHdpZHRoPy5pbmNsdWRlcygncHgnKSB8fCBtYXhXaWR0aD8uaW5jbHVkZXMoJ3B4JykpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICB3aWR0aCA9IHBhcnNlSW50KHdpZHRoIHx8ICcwJyk7XG4gICAgbWF4V2lkdGggPSBwYXJzZUludChtYXhXaWR0aCB8fCAnMCcpO1xuICAgIGZsZXggPSBwYXJzZUludCgoZmxleCB8fCAnMCcpLnNwbGl0KCcgJykucG9wKCkgfHwgJzAnKTtcbiAgICBpZiAoIWZsZXggJiYgIXdpZHRoICYmICFtYXhXaWR0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGNvbnN0IHdpZHRoTWF4ID0gTWF0aC5tYXgod2lkdGgsIG1heFdpZHRoLCBmbGV4KTtcbiAgICByZXR1cm4gd2lkdGhNYXg7XG4gIH1cblxuICBwcml2YXRlIGdldFN0eWxlVXBkYXRlKHdpZHRoQ2FsY3VsYXRvcjogbnVtYmVyLCBuZ1N0eWxlOiBUWVBFX09CSkVDVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5uZ1N0eWxlLFxuICAgICAgZmxleDogYDAgMCAke3dpZHRoQ2FsY3VsYXRvcn1weGAsXG4gICAgICB3aWR0aDogYCR7d2lkdGhDYWxjdWxhdG9yfXB4YCxcbiAgICAgIG1heFdpZHRoOiBgJHt3aWR0aENhbGN1bGF0b3J9cHhgXG4gICAgfTtcbiAgfVxufVxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRvci1jb2x1bW4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy90YWJsZS9zcmMvcGlwZXMvY2FsY3VsYXRvci1jb2x1bW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFRcEQsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxTQUFTLENBQUMsTUFBc0MsRUFBRSxXQUFtQixFQUFFLGdCQUE0QyxFQUFFLGlCQUE2QztRQUNoSyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLE1BQU0sdUJBQXVCLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEgsTUFBTSx1REFBdUQsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlC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LENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzlFLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUNELEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxlQUF1QixFQUFFLE9BQW9CO1FBQ2xFLE9BQU87WUFDTCxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsT0FBTyxlQUFlLElBQUk7WUFDaEMsS0FBSyxFQUFFLEdBQUcsZUFBZSxJQUFJO1lBQzdCLFFBQVEsRUFBRSxHQUFHLGVBQWUsSUFBSTtTQUNqQyxDQUFDO0lBQ0osQ0FBQzt3R0E3RVUsK0JBQStCO3NHQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBTDNDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGlDQUFpQztvQkFDdkMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRhYmxlSGVhZGVyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90YWJsZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRZUEVfT0JKRUNUIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5AUGlwZSh7XG4gIG5hbWU6ICdMaWJzVWlUYWJsZUNhbGN1bGF0b3JDb2x1bW5QaXBlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaVRhYmxlQ2FsY3VsYXRvckNvbHVtblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGhlYWRlcjogSVRhYmxlSGVhZGVyQ29uZmlnIHwgdW5kZWZpbmVkLCBvZmZzZXRXaWR0aDogbnVtYmVyLCBoZWFkZXJMZWZ0Q29uZmlnPzogQXJyYXk8SVRhYmxlSGVhZGVyQ29uZmlnPiwgaGVhZGVyUmlnaHRDb25maWc/OiBBcnJheTxJVGFibGVIZWFkZXJDb25maWc+KTogVFlQRV9PQkpFQ1QgfCB1bmRlZmluZWQge1xuICAgIGlmICghaGVhZGVyPy5uZ1N0eWxlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG1peEhlYWRlckNvbmZpZyA9IFsuLi4oaGVhZGVyTGVmdENvbmZpZyB8fCBbXSksIC4uLihoZWFkZXJSaWdodENvbmZpZyB8fCBbXSldO1xuXG4gICAgbGV0IHRvdGFsUHhXaWR0aEhlYWRlciA9IG1peEhlYWRlckNvbmZpZy5yZWR1Y2UoKGFjYywgY3VycikgPT4gYWNjICsgdGhpcy5nZXRXaWR0aFB4T2ZTdHlsZShjdXJyKSwgMCk7XG4gICAgY29uc3QgdG90YWxQZXJjZW50V2lkdGhIZWFkZXIgPSBtaXhIZWFkZXJDb25maWcucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIHRoaXMuZ2V0V2lkdGhQZXJjZW50T2ZTdHlsZShjdXJyKSwgMCk7XG4gICAgY29uc3QgdG90YWxXaWR0aElzUHhDb2x1bW5JZlRhYmxlV2lkdGhHcmFuZFRvdGFsQ29sdW1uc0hlYWRlciA9IG1peEhlYWRlckNvbmZpZy5yZWR1Y2UoKGFjYywgY3VycikgPT4gYWNjICsgKGN1cnIua2VlcFdpZHRoSXNQeENvbHVtbklmVGFibGVXaWR0aEdyYW5kVG90YWxDb2x1bW5zSGVhZGVyID8gdGhpcy5nZXRXaWR0aFB4T2ZTdHlsZShjdXJyKSA6IDApLCAwKTtcblxuICAgIGlmIChtaXhIZWFkZXJDb25maWcuc29tZShoZWFkZXIgPT4gaGVhZGVyLmlzU2hvd0luZGV4T25Sb3cpKSB7XG4gICAgICBvZmZzZXRXaWR0aCAtPSA1MDtcbiAgICB9XG5cbiAgICBpZiAodG90YWxXaWR0aElzUHhDb2x1bW5JZlRhYmxlV2lkdGhHcmFuZFRvdGFsQ29sdW1uc0hlYWRlcikge1xuICAgICAgb2Zmc2V0V2lkdGggLT0gdG90YWxXaWR0aElzUHhDb2x1bW5JZlRhYmxlV2lkdGhHcmFuZFRvdGFsQ29sdW1uc0hlYWRlcjtcbiAgICAgIHRvdGFsUHhXaWR0aEhlYWRlciAtPSB0b3RhbFdpZHRoSXNQeENvbHVtbklmVGFibGVXaWR0aEdyYW5kVG90YWxDb2x1bW5zSGVhZGVyO1xuICAgIH1cblxuICAgIGxldCBwZXJjZW50ID0gdGhpcy5nZXRXaWR0aFBlcmNlbnRPZlN0eWxlKGhlYWRlcik7XG4gICAgaWYgKHBlcmNlbnQpIHtcbiAgICAgIG9mZnNldFdpZHRoIC09IHRvdGFsUHhXaWR0aEhlYWRlcjtcbiAgICAgIGNvbnN0IHBlcmNlbnREaXZpZGUgPSAodG90YWxQZXJjZW50V2lkdGhIZWFkZXIgLSAxMDApIC8gbWl4SGVhZGVyQ29uZmlnLmxlbmd0aDtcbiAgICAgIHBlcmNlbnQgLT0gcGVyY2VudERpdmlkZTtcbiAgICAgIGNvbnN0IHdpZHRoQ2FsY3VsYXRvciA9IChwZXJjZW50IC8gMTAwKSAqIG9mZnNldFdpZHRoO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U3R5bGVVcGRhdGUod2lkdGhDYWxjdWxhdG9yLCBoZWFkZXIubmdTdHlsZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmdldFdpZHRoUHhPZlN0eWxlKGhlYWRlcik7XG4gICAgaWYgKHRvdGFsUHhXaWR0aEhlYWRlciA+IG9mZnNldFdpZHRoIHx8IGhlYWRlci5rZWVwV2lkdGhJc1B4Q29sdW1uSWZUYWJsZVdpZHRoR3JhbmRUb3RhbENvbHVtbnNIZWFkZXIgfHwgdG90YWxQZXJjZW50V2lkdGhIZWFkZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFN0eWxlVXBkYXRlKHdpZHRoLCBoZWFkZXIubmdTdHlsZSk7XG4gICAgfVxuICAgIGNvbnN0IHdpZHRoQ2FsY3VsYXRvciA9ICh3aWR0aCAvIHRvdGFsUHhXaWR0aEhlYWRlcikgKiBvZmZzZXRXaWR0aDtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHlsZVVwZGF0ZSh3aWR0aENhbGN1bGF0b3IsIGhlYWRlci5uZ1N0eWxlKTtcblxuICB9XG5cbiAgcHJpdmF0ZSBnZXRXaWR0aFB4T2ZTdHlsZShoZWFkZXJHZXRXaWR0aDogSVRhYmxlSGVhZGVyQ29uZmlnKTogbnVtYmVyIHtcbiAgICBsZXQgeyBmbGV4LCB3aWR0aCwgbWF4V2lkdGggfSA9IGhlYWRlckdldFdpZHRoLm5nU3R5bGUgfHwge307XG4gICAgaWYgKGZsZXg/LmluY2x1ZGVzKCclJykgfHwgd2lkdGg/LmluY2x1ZGVzKCclJykgfHwgbWF4V2lkdGg/LmluY2x1ZGVzKCclJykpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICB3aWR0aCA9IHBhcnNlSW50KHdpZHRoIHx8ICcwJyk7XG4gICAgbWF4V2lkdGggPSBwYXJzZUludChtYXhXaWR0aCB8fCAnMCcpO1xuICAgIGZsZXggPSBwYXJzZUludCgoZmxleCB8fCAnMCcpLnNwbGl0KCcgJykucG9wKCkgfHwgJzAnKTtcblxuICAgIGlmICghZmxleCAmJiAhd2lkdGggJiYgIW1heFdpZHRoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgY29uc3Qgd2lkdGhNYXggPSBNYXRoLm1heCh3aWR0aCwgbWF4V2lkdGgsIGZsZXgpO1xuICAgIHJldHVybiB3aWR0aE1heDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2lkdGhQZXJjZW50T2ZTdHlsZShoZWFkZXJHZXRXaWR0aDogSVRhYmxlSGVhZGVyQ29uZmlnKTogbnVtYmVyIHtcbiAgICBsZXQgeyBmbGV4LCB3aWR0aCwgbWF4V2lkdGggfSA9IGhlYWRlckdldFdpZHRoLm5nU3R5bGUgfHwge307XG4gICAgaWYgKGZsZXg/LmluY2x1ZGVzKCdweCcpIHx8IHdpZHRoPy5pbmNsdWRlcygncHgnKSB8fCBtYXhXaWR0aD8uaW5jbHVkZXMoJ3B4JykpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICB3aWR0aCA9IHBhcnNlSW50KHdpZHRoIHx8ICcwJyk7XG4gICAgbWF4V2lkdGggPSBwYXJzZUludChtYXhXaWR0aCB8fCAnMCcpO1xuICAgIGZsZXggPSBwYXJzZUludCgoZmxleCB8fCAnMCcpLnNwbGl0KCcgJykucG9wKCkgfHwgJzAnKTtcbiAgICBpZiAoIWZsZXggJiYgIXdpZHRoICYmICFtYXhXaWR0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGNvbnN0IHdpZHRoTWF4ID0gTWF0aC5tYXgod2lkdGgsIG1heFdpZHRoLCBmbGV4KTtcbiAgICByZXR1cm4gd2lkdGhNYXg7XG4gIH1cblxuICBwcml2YXRlIGdldFN0eWxlVXBkYXRlKHdpZHRoQ2FsY3VsYXRvcjogbnVtYmVyLCBuZ1N0eWxlOiBUWVBFX09CSkVDVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5uZ1N0eWxlLFxuICAgICAgZmxleDogYDAgMCAke3dpZHRoQ2FsY3VsYXRvcn1weGAsXG4gICAgICB3aWR0aDogYCR7d2lkdGhDYWxjdWxhdG9yfXB4YCxcbiAgICAgIG1heFdpZHRoOiBgJHt3aWR0aENhbGN1bGF0b3J9cHhgXG4gICAgfTtcbiAgfVxufVxuIl19