@annalib/anna-core 25.4.52 → 25.4.53

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.
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class GenericTooltipHtmlService {
4
- generateTableHTML(headers, rowData, tableHeading = "") {
4
+ static generateTableHTML(headers, rowData, tableHeading = "") {
5
5
  const rowsToSkip = {}; // Track rows to skip by index for rowspan
6
6
  // Start table HTML
7
7
  let tableHTML = "";
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
57
57
  providedIn: "root",
58
58
  }]
59
59
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRvb2x0aXAtaHRtbC5zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZ2VuZXJpYy10b29sdGlwLWh0bWwuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxpQkFBaUIsQ0FDYixPQUE4QixFQUM5QixPQUErQixFQUMvQixlQUF1QixFQUFFO1FBRXpCLE1BQU0sVUFBVSxHQUFnQyxFQUFFLENBQUMsQ0FBQywwQ0FBMEM7UUFFOUYsbUJBQW1CO1FBQ25CLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVuQixTQUFTO1lBQ0wsWUFBWSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxrREFBa0QsWUFBWSxVQUFVLENBQUM7UUFFL0csU0FBUyxJQUFJLGtGQUFrRixDQUFDO1FBRWhHLHNCQUFzQjtRQUN0QixTQUFTLElBQUksYUFBYSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN2QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxTQUFTLElBQUksTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFDSCxTQUFTLElBQUksZUFBZSxDQUFDO1FBRTdCLGdCQUFnQjtRQUNoQixTQUFTLElBQUksU0FBUyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDOUIsU0FBUyxJQUFJLE1BQU0sQ0FBQztZQUVwQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO2dCQUNwQyxxRUFBcUU7Z0JBQ3JFLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ3BFLGNBQWM7b0JBQ2QsT0FBTyxDQUFDLHNEQUFzRDtpQkFDakU7Z0JBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakcsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUVqRyw0REFBNEQ7Z0JBQzVELElBQUksR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUU7b0JBQzlCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBVyxDQUFDO29CQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO3dCQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7NEJBQUUsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQzdELFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO3FCQUMzRTtpQkFDSjtnQkFFRCxTQUFTLElBQUksTUFBTSxPQUFPLEdBQUcsT0FBTyxJQUFJLFFBQVEsT0FBTyxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxJQUFJLE9BQU8sQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILFNBQVMsSUFBSSxVQUFVLENBQUM7UUFFeEIsY0FBYztRQUNkLFNBQVMsSUFBSSxvQkFBb0IsQ0FBQztRQUVsQyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOytHQTlEUSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzs0RkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBJVG9vbHRpcFRhYmxlSGVhZGVyLCBJVG9vbHRpcFRhYmxlUm93RGF0YSB9IGZyb20gXCIuLi9tb2RlbHMvYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEdlbmVyaWNUb29sdGlwSHRtbFNlcnZpY2Uge1xyXG4gICAgZ2VuZXJhdGVUYWJsZUhUTUwoXHJcbiAgICAgICAgaGVhZGVyczogSVRvb2x0aXBUYWJsZUhlYWRlcltdLFxyXG4gICAgICAgIHJvd0RhdGE6IElUb29sdGlwVGFibGVSb3dEYXRhW10sXHJcbiAgICAgICAgdGFibGVIZWFkaW5nOiBzdHJpbmcgPSBcIlwiLFxyXG4gICAgKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCByb3dzVG9Ta2lwOiB7IFtrZXk6IG51bWJlcl06IG51bWJlcltdIH0gPSB7fTsgLy8gVHJhY2sgcm93cyB0byBza2lwIGJ5IGluZGV4IGZvciByb3dzcGFuXHJcblxyXG4gICAgICAgIC8vIFN0YXJ0IHRhYmxlIEhUTUxcclxuICAgICAgICBsZXQgdGFibGVIVE1MID0gXCJcIjtcclxuXHJcbiAgICAgICAgdGFibGVIVE1MID1cclxuICAgICAgICAgICAgdGFibGVIZWFkaW5nID09PSBcIlwiID8gdGFibGVIVE1MIDogYDxsYWJlbCBjbGFzcz1cImdlbmVyaWMtaW5uZXJIdG1sLXRhYmxlLWhlYWRpbmdcIj4ke3RhYmxlSGVhZGluZ308L2xhYmVsPmA7XHJcblxyXG4gICAgICAgIHRhYmxlSFRNTCArPSAnPHNlY3Rpb24gY2xhc3M9XCJnZW5lcmljLWlubmVySHRtbC10YWJsZS1jb250YWluZXJcIj48dGFibGUgY2xhc3M9XCJ0b29sdGlwLXRhYmxlXCI+JztcclxuXHJcbiAgICAgICAgLy8gR2VuZXJhdGUgaGVhZGVyIHJvd1xyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjx0aGVhZD48dHI+XCI7XHJcbiAgICAgICAgaGVhZGVycy5mb3JFYWNoKChoZWFkZXIpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29sc3BhbiA9IGhlYWRlci5jb2xzcGFuID8gYCBjb2xzcGFuPVwiJHtoZWFkZXIuY29sc3Bhbn1cImAgOiBcIlwiO1xyXG4gICAgICAgICAgICBjb25zdCByb3dzcGFuID0gaGVhZGVyLnJvd3NwYW4gPyBgIHJvd3NwYW49XCIke2hlYWRlci5yb3dzcGFufVwiYCA6IFwiXCI7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gaGVhZGVyLndpZHRoID8gYCB3aWR0aD1cIiR7aGVhZGVyLndpZHRofVwiYCA6IFwiXCI7XHJcbiAgICAgICAgICAgIHRhYmxlSFRNTCArPSBgPHRoJHtjb2xzcGFufSR7cm93c3Bhbn0ke3dpZHRofT4ke2hlYWRlci5uYW1lfTwvdGg+YDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0YWJsZUhUTUwgKz0gXCI8L3RyPjwvdGhlYWQ+XCI7XHJcblxyXG4gICAgICAgIC8vIEdlbmVyYXRlIHJvd3NcclxuICAgICAgICB0YWJsZUhUTUwgKz0gXCI8dGJvZHk+XCI7XHJcbiAgICAgICAgcm93RGF0YS5mb3JFYWNoKChyb3csIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHRhYmxlSFRNTCArPSBcIjx0cj5cIjtcclxuXHJcbiAgICAgICAgICAgIGhlYWRlcnMuZm9yRWFjaCgoaGVhZGVyLCBoZWFkZXJJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHBhcnQgb2YgYSByb3dzcGFuIGZyb20gcHJldmlvdXMgcm93XHJcbiAgICAgICAgICAgICAgICBpZiAocm93c1RvU2tpcFtyb3dJbmRleF0gJiYgcm93c1RvU2tpcFtyb3dJbmRleF0uaW5jbHVkZXMoaGVhZGVySW5kZXgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29sSW5kZXgrKztcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIFNraXAgdGhpcyBjb2x1bW4gZHVlIHRvIHJvd3NwYW4gZnJvbSBhIHByZXZpb3VzIHJvd1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxEYXRhID0gcm93W2hlYWRlci5rZXldIHx8IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb2xzcGFuID0gcm93W2Ake2hlYWRlci5rZXl9X2NvbHNwYW5gXSA/IGAgY29sc3Bhbj1cIiR7cm93W2Ake2hlYWRlci5rZXl9X2NvbHNwYW5gXX1cImAgOiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgcm93c3BhbiA9IHJvd1tgJHtoZWFkZXIua2V5fV9yb3dzcGFuYF0gPyBgIHJvd3NwYW49XCIke3Jvd1tgJHtoZWFkZXIua2V5fV9yb3dzcGFuYF19XCJgIDogXCJcIjtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBJZiByb3dzcGFuIGlzIGRlZmluZWQsIG1hcmsgZnV0dXJlIHJvd3MgdG8gc2tpcCB0aGlzIGNlbGxcclxuICAgICAgICAgICAgICAgIGlmIChyb3dbYCR7aGVhZGVyLmtleX1fcm93c3BhbmBdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93c1RvU3BhbiA9IHJvd1tgJHtoZWFkZXIua2V5fV9yb3dzcGFuYF0gYXMgbnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcm93c1RvU3BhbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcm93c1RvU2tpcFtyb3dJbmRleCArIGldKSByb3dzVG9Ta2lwW3Jvd0luZGV4ICsgaV0gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm93c1RvU2tpcFtyb3dJbmRleCArIGldLnB1c2goaGVhZGVySW5kZXgpOyAvLyBNYXJrIGNvbHVtbiB0byBiZSBza2lwcGVkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRhYmxlSFRNTCArPSBgPHRkJHtjb2xzcGFufSR7cm93c3Bhbn0+JHtjZWxsRGF0YX08L3RkPmA7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGFibGVIVE1MICs9IFwiPC90cj5cIjtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0YWJsZUhUTUwgKz0gXCI8L3Rib2R5PlwiO1xyXG5cclxuICAgICAgICAvLyBDbG9zZSB0YWJsZVxyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjwvdGFibGU+PC9zZWN0aW9uPlwiO1xyXG5cclxuICAgICAgICByZXR1cm4gdGFibGVIVE1MO1xyXG4gICAgfVxyXG59Il19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRvb2x0aXAtaHRtbC5zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZ2VuZXJpYy10b29sdGlwLWh0bWwuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUVsQyxNQUFNLENBQUMsaUJBQWlCLENBQ3BCLE9BQThCLEVBQzlCLE9BQStCLEVBQy9CLGVBQXVCLEVBQUU7UUFFekIsTUFBTSxVQUFVLEdBQWdDLEVBQUUsQ0FBQyxDQUFDLDBDQUEwQztRQUU5RixtQkFBbUI7UUFDbkIsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRW5CLFNBQVM7WUFDTCxZQUFZLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGtEQUFrRCxZQUFZLFVBQVUsQ0FBQztRQUUvRyxTQUFTLElBQUksa0ZBQWtGLENBQUM7UUFFaEcsc0JBQXNCO1FBQ3RCLFNBQVMsSUFBSSxhQUFhLENBQUM7UUFDM0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdELFNBQVMsSUFBSSxNQUFNLE9BQU8sR0FBRyxPQUFPLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQUNILFNBQVMsSUFBSSxlQUFlLENBQUM7UUFFN0IsZ0JBQWdCO1FBQ2hCLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUM5QixTQUFTLElBQUksTUFBTSxDQUFDO1lBRXBCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUU7Z0JBQ3BDLHFFQUFxRTtnQkFDckUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDcEUsY0FBYztvQkFDZCxPQUFPLENBQUMsc0RBQXNEO2lCQUNqRTtnQkFFRCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqRyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBRWpHLDREQUE0RDtnQkFDNUQsSUFBSSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsRUFBRTtvQkFDOUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFXLENBQUM7b0JBQzFELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQzs0QkFBRSxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDN0QsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7cUJBQzNFO2lCQUNKO2dCQUVELFNBQVMsSUFBSSxNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksUUFBUSxPQUFPLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7WUFFSCxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxJQUFJLFVBQVUsQ0FBQztRQUV4QixjQUFjO1FBQ2QsU0FBUyxJQUFJLG9CQUFvQixDQUFDO1FBRWxDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7K0dBL0RRLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRnRCLE1BQU07OzRGQUVULHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IElUb29sdGlwVGFibGVIZWFkZXIsIElUb29sdGlwVGFibGVSb3dEYXRhIH0gZnJvbSBcIi4uL21vZGVscy9hbm5hLW5vbi1lZGl0YWJsZS1ndC1tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuZXJpY1Rvb2x0aXBIdG1sU2VydmljZSB7XHJcbiAgICBcclxuICAgIHN0YXRpYyBnZW5lcmF0ZVRhYmxlSFRNTChcclxuICAgICAgICBoZWFkZXJzOiBJVG9vbHRpcFRhYmxlSGVhZGVyW10sXHJcbiAgICAgICAgcm93RGF0YTogSVRvb2x0aXBUYWJsZVJvd0RhdGFbXSxcclxuICAgICAgICB0YWJsZUhlYWRpbmc6IHN0cmluZyA9IFwiXCIsXHJcbiAgICApOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHJvd3NUb1NraXA6IHsgW2tleTogbnVtYmVyXTogbnVtYmVyW10gfSA9IHt9OyAvLyBUcmFjayByb3dzIHRvIHNraXAgYnkgaW5kZXggZm9yIHJvd3NwYW5cclxuXHJcbiAgICAgICAgLy8gU3RhcnQgdGFibGUgSFRNTFxyXG4gICAgICAgIGxldCB0YWJsZUhUTUwgPSBcIlwiO1xyXG5cclxuICAgICAgICB0YWJsZUhUTUwgPVxyXG4gICAgICAgICAgICB0YWJsZUhlYWRpbmcgPT09IFwiXCIgPyB0YWJsZUhUTUwgOiBgPGxhYmVsIGNsYXNzPVwiZ2VuZXJpYy1pbm5lckh0bWwtdGFibGUtaGVhZGluZ1wiPiR7dGFibGVIZWFkaW5nfTwvbGFiZWw+YDtcclxuXHJcbiAgICAgICAgdGFibGVIVE1MICs9ICc8c2VjdGlvbiBjbGFzcz1cImdlbmVyaWMtaW5uZXJIdG1sLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZSBjbGFzcz1cInRvb2x0aXAtdGFibGVcIj4nO1xyXG5cclxuICAgICAgICAvLyBHZW5lcmF0ZSBoZWFkZXIgcm93XHJcbiAgICAgICAgdGFibGVIVE1MICs9IFwiPHRoZWFkPjx0cj5cIjtcclxuICAgICAgICBoZWFkZXJzLmZvckVhY2goKGhlYWRlcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb2xzcGFuID0gaGVhZGVyLmNvbHNwYW4gPyBgIGNvbHNwYW49XCIke2hlYWRlci5jb2xzcGFufVwiYCA6IFwiXCI7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvd3NwYW4gPSBoZWFkZXIucm93c3BhbiA/IGAgcm93c3Bhbj1cIiR7aGVhZGVyLnJvd3NwYW59XCJgIDogXCJcIjtcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBoZWFkZXIud2lkdGggPyBgIHdpZHRoPVwiJHtoZWFkZXIud2lkdGh9XCJgIDogXCJcIjtcclxuICAgICAgICAgICAgdGFibGVIVE1MICs9IGA8dGgke2NvbHNwYW59JHtyb3dzcGFufSR7d2lkdGh9PiR7aGVhZGVyLm5hbWV9PC90aD5gO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjwvdHI+PC90aGVhZD5cIjtcclxuXHJcbiAgICAgICAgLy8gR2VuZXJhdGUgcm93c1xyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjx0Ym9keT5cIjtcclxuICAgICAgICByb3dEYXRhLmZvckVhY2goKHJvdywgcm93SW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdGFibGVIVE1MICs9IFwiPHRyPlwiO1xyXG5cclxuICAgICAgICAgICAgaGVhZGVycy5mb3JFYWNoKChoZWFkZXIsIGhlYWRlckluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgY3VycmVudCBjb2x1bW4gaXMgcGFydCBvZiBhIHJvd3NwYW4gZnJvbSBwcmV2aW91cyByb3dcclxuICAgICAgICAgICAgICAgIGlmIChyb3dzVG9Ta2lwW3Jvd0luZGV4XSAmJiByb3dzVG9Ta2lwW3Jvd0luZGV4XS5pbmNsdWRlcyhoZWFkZXJJbmRleCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb2xJbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gU2tpcCB0aGlzIGNvbHVtbiBkdWUgdG8gcm93c3BhbiBmcm9tIGEgcHJldmlvdXMgcm93XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbERhdGEgPSByb3dbaGVhZGVyLmtleV0gfHwgXCJcIjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHNwYW4gPSByb3dbYCR7aGVhZGVyLmtleX1fY29sc3BhbmBdID8gYCBjb2xzcGFuPVwiJHtyb3dbYCR7aGVhZGVyLmtleX1fY29sc3BhbmBdfVwiYCA6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3dzcGFuID0gcm93W2Ake2hlYWRlci5rZXl9X3Jvd3NwYW5gXSA/IGAgcm93c3Bhbj1cIiR7cm93W2Ake2hlYWRlci5rZXl9X3Jvd3NwYW5gXX1cImAgOiBcIlwiO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIElmIHJvd3NwYW4gaXMgZGVmaW5lZCwgbWFyayBmdXR1cmUgcm93cyB0byBza2lwIHRoaXMgY2VsbFxyXG4gICAgICAgICAgICAgICAgaWYgKHJvd1tgJHtoZWFkZXIua2V5fV9yb3dzcGFuYF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3dzVG9TcGFuID0gcm93W2Ake2hlYWRlci5rZXl9X3Jvd3NwYW5gXSBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCByb3dzVG9TcGFuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyb3dzVG9Ta2lwW3Jvd0luZGV4ICsgaV0pIHJvd3NUb1NraXBbcm93SW5kZXggKyBpXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dzVG9Ta2lwW3Jvd0luZGV4ICsgaV0ucHVzaChoZWFkZXJJbmRleCk7IC8vIE1hcmsgY29sdW1uIHRvIGJlIHNraXBwZWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGFibGVIVE1MICs9IGA8dGQke2NvbHNwYW59JHtyb3dzcGFufT4ke2NlbGxEYXRhfTwvdGQ+YDtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0YWJsZUhUTUwgKz0gXCI8L3RyPlwiO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjwvdGJvZHk+XCI7XHJcblxyXG4gICAgICAgIC8vIENsb3NlIHRhYmxlXHJcbiAgICAgICAgdGFibGVIVE1MICs9IFwiPC90YWJsZT48L3NlY3Rpb24+XCI7XHJcblxyXG4gICAgICAgIHJldHVybiB0YWJsZUhUTUw7XHJcbiAgICB9XHJcbn0iXX0=