@agorapulse/ui-charts 17.1.2 → 17.1.3

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.
Binary file
@@ -5,6 +5,9 @@ export class ChartBarOptions extends ChartOptions {
5
5
  chart: {
6
6
  type: 'bar',
7
7
  },
8
+ legend: {
9
+ symbolHeight: 10,
10
+ },
8
11
  xAxis: {
9
12
  categories: undefined,
10
13
  gridLineWidth: 0,
@@ -101,4 +104,4 @@ export class ChartBarOptions extends ChartOptions {
101
104
  }
102
105
  }
103
106
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYmFyLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWJhci9jaGFydC1iYXItb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTNELE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQVk7SUFDN0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFnQixFQUFFLHdCQUFpQztRQUNoRSxNQUFNLG9CQUFvQixHQUFZO1lBQ2xDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsS0FBSzthQUNkO1lBQ0QsS0FBSyxFQUFFO2dCQUNILFVBQVUsRUFBRSxTQUFTO2dCQUNyQixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxFQUFFO29CQUNKLEtBQUssRUFBRSxRQUFRO29CQUNmLFNBQVM7d0JBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDOzRCQUNsRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7d0JBQzFELENBQUM7d0JBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxDQUFDO29CQUNELEtBQUssRUFBRTt3QkFDSCxLQUFLLEVBQUUsR0FBRztxQkFDYjtpQkFDSjtnQkFDRCxJQUFJLEVBQUUsVUFBVTthQUNuQjtZQUNELEtBQUssRUFBRTtnQkFDSCxJQUFJLEVB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RyxRQUFRLENBQUM7WUFDbkQsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFJLE9BQU8sQ0FBQyxLQUFzQixDQUFDLE1BQU0sQ0FBQztZQUMzRCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFdBQVcsQ0FBQyxTQUFTLEdBQUc7b0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUc7b0JBQzdCLE9BQU8sMkZBQ0gsSUFBSSxDQUFDLEtBQ1Qsb0JBQW9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztnQkFDeEYsQ0FBQyxDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zLCBTZXJpZXNCYXJPcHRpb25zLCBYQXhpc09wdGlvbnMsIFlBeGlzT3B0aW9ucyB9IGZyb20gJ2hpZ2hjaGFydHMnO1xuaW1wb3J0IHsgQ2hhcnRPcHRpb25zLCBtZXJnZURlZXAgfSBmcm9tICcuLi9jaGFydC1vcHRpb25zJztcbmltcG9ydCB7IENoYXJ0Q29sb3IgfSBmcm9tICcuLy4uL2NoYXJ0LWNvbG9ycyc7XG5pbXBvcnQgeyBQbG90Um91bmRlZFNlcmllc09wdGlvbnMsIFNlcmllc1JvdW5kZWRCYXJPcHRpb25zIH0gZnJvbSAnLi8uLi9oaWdoY2hhcnQtc2VyaWVzLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIENoYXJ0QmFyT3B0aW9ucyBleHRlbmRzIENoYXJ0T3B0aW9ucyB7XG4gICAgc3RhdGljIGJ1aWxkQmFycyhvcHRpb25zOiBPcHRpb25zLCBzZWxlY3RpdmVSb3VuZGluZ0VuYWJsZWQ6IGJvb2xlYW4pOiBPcHRpb25zIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdENvbHVtbk9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBjaGFydDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdiYXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHhBeGlzOiB7XG4gICAgICAgICAgICAgICAgY2F0ZWdvcmllczogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGdyaWRMaW5lV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgbGluZVdpZHRoOiAwLFxuICAgICAgICAgICAgICAgIHJldmVyc2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0aWNrV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyKCk6IHN0cmluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID4gMTYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS50b1N0cmluZygpLnN1YnN0cmluZygwLCAxNSkgKyAnLi4uJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2NhdGVnb3J5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB5QXhpczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdsaW5lYXInLFxuICAgICAgICAgICAgICAgIG1pblRpY2tJbnRlcnZhbDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwbG90T3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGJhcjoge1xuICAgICAgICAgICAgICAgICAgICBtYXhQb2ludFdpZHRoOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRXaWR0aDogMjAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZXJpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgZGVmYXVsdENvbHVtbk9wdGlvbnMucGxvdE9wdGlvbnMgPz89IHt9O1xuICAgICAgICBpZiAoc2VsZWN0aXZlUm91bmRpbmdFbmFibGVkKSB7XG4gICAgICAgICAgICBkZWZhdWx0Q29sdW1uT3B0aW9ucy5wbG90T3B0aW9ucy5iYXIgPz89IHt9O1xuICAgICAgICAgICAgZGVmYXVsdENvbHVtbk9wdGlvbnMucGxvdE9wdGlvbnMuYmFyLnN0YWNraW5nID0gJ25vcm1hbCc7XG4gICAgICAgICAgICBkZWZhdWx0Q29sdW1uT3B0aW9ucy5wbG90T3B0aW9ucy5iYXIuZXZlbnRzID0ge1xuICAgICAgICAgICAgICAgIGhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgICAgIENoYXJ0T3B0aW9ucy5yZWRyYXdXaXRoSGlnaGVzdEVkZ2VzUm91bmRlZEZvclN0YWNrZWRCYXJDaGFydCh0aGlzLmNoYXJ0KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNob3coKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgICAgIENoYXJ0T3B0aW9ucy5yZWRyYXdXaXRoSGlnaGVzdEVkZ2VzUm91bmRlZEZvclN0YWNrZWRCYXJDaGFydCh0aGlzLmNoYXJ0KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHNlcmllc09wdGlvbnM6IFBsb3RSb3VuZGVkU2VyaWVzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXNUb3BMZWZ0OiAxMDAsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzVG9wUmlnaHQ6IDEwMCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBkZWZhdWx0Q29sdW1uT3B0aW9ucy5wbG90T3B0aW9ucy5zZXJpZXMgPSBzZXJpZXNPcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdXBlci5idWlsZChtZXJnZURlZXAoZGVmYXVsdENvbHVtbk9wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29uZmlndXJlQmFyKFxuICAgICAgICBzZXJpZXM6IFNlcmllc0Jhck9wdGlvbnNbXSxcbiAgICAgICAgY2F0ZWdvcmllczogc3RyaW5nW10sXG4gICAgICAgIG9wdGlvbnM6IE9wdGlvbnMsXG4gICAgICAgIG9wcG9zaXRlOiBib29sZWFuLFxuICAgICAgICBjb2xvcjogQ2hhcnRDb2xvcixcbiAgICAgICAgbGFiZWxEYXRlRm9ybWF0Pzogc3RyaW5nXG4gICAgKTogdm9pZCB7XG4gICAgICAgIENoYXJ0T3B0aW9ucy5jb25maWd1cmUoc2VyaWVzLCBvcHRpb25zLCBjb2xvciwgbGFiZWxEYXRlRm9ybWF0KTtcbiAgICAgICAgaWYgKGNhdGVnb3JpZXMgJiYgY2F0ZWdvcmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIChvcHRpb25zLnhBeGlzIGFzIFhBeGlzT3B0aW9ucykuY2F0ZWdvcmllcyA9IGNhdGVnb3JpZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wcG9zaXRlICYmIHNlcmllcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IG5lZ2F0aXZlU2VyaWUgPSBzZXJpZXNbMF0gYXMgU2VyaWVzUm91bmRlZEJhck9wdGlvbnM7XG4gICAgICAgICAgICBuZWdhdGl2ZVNlcmllLmJvcmRlclJhZGl1c0JvdHRvbUxlZnQgPSAxMDA7XG4gICAgICAgICAgICBuZWdhdGl2ZVNlcmllLmJvcmRlclJhZGl1c0JvdHRvbVJpZ2h0ID0gMTAwO1xuICAgICAgICAgICAgbmVnYXRpdmVTZXJpZS5ib3JkZXJSYWRpdXNUb3BMZWZ0ID0gMDtcbiAgICAgICAgICAgIG5lZ2F0aXZlU2VyaWUuYm9yZGVyUmFkaXVzVG9wUmlnaHQgPSAwO1xuICAgICAgICAgICAgbmVnYXRpdmVTZXJpZS5kYXRhID0gbmVnYXRpdmVTZXJpZS5kYXRhPy5tYXAoKHBvaW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocG9pbnQgJiYgaXNOYU4ocG9pbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wb2ludCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IC1NYXRoLmFicyhwb2ludC55KSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc05hTihwb2ludCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1NYXRoLmFicyhwb2ludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBwb2ludDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMucGxvdE9wdGlvbnM/LnNlcmllcykge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMucGxvdE9wdGlvbnMuc2VyaWVzLnN0YWNraW5nID0gJ25vcm1hbCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB5QXhpc0xhYmVscyA9IChvcHRpb25zLnlBeGlzIGFzIFlBeGlzT3B0aW9ucykubGFiZWxzO1xuICAgICAgICAgICAgaWYgKHlBeGlzTGFiZWxzKSB7XG4gICAgICAgICAgICAgICAgeUF4aXNMYWJlbHMuZm9ybWF0dGVyID0gZnVuY3Rpb24gKCk6IHN0cmluZyB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLmFicygrdGhpcy52YWx1ZSkgKyAnJSc7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnRvb2x0aXApIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnRvb2x0aXAucG9pbnRGb3JtYXR0ZXIgPSBmdW5jdGlvbiAoKTogc3RyaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxNHB4OyBjb2xvcjogIzM0NDU2MzsgbWFyZ2luOiA2cHggOHB4IDAgOHB4O1wiPjxzcGFuIHN0eWxlPVwiY29sb3I6JHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29sb3JcbiAgICAgICAgICAgICAgICAgICAgfTtcIj5cXHUyNUNGPC9zcGFuPiAke3RoaXMuc2VyaWVzLm5hbWV9OiA8Yj4ke01hdGguYWJzKHRoaXMueSA/PyAwKSArICclJ308L2I+PC9kaXY+YDtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYmFyLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWJhci9jaGFydC1iYXItb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTNELE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQVk7SUFDN0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFnQixFQUFFLHdCQUFpQztRQUNoRSxNQUFNLG9CQUFvQixHQUFZO1lBQ2xDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsS0FBSzthQUNkO1lBQ0QsTUFBTSxFQUFFO2dCQUNKLFlBQVksRUFBRSxFQUFFO2FBQ25CO1lBQ0QsS0FBSyxFQUFFO2dCQUNILFVBQVUsRUFBRSxTQUFTO2dCQUNyQixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxFQUFFO29CQUNKLEtBQUssRUFBRSxRQUFRO29CQUNmLFNBQVM7d0JBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDOzRCQUNsRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7d0JBQzFELENBQUM7d0JBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxDQUFDO29CQUNELEtBQUssRUFBRTt3QkFDSCxLQUFLLEVBQUUsR0FBRztxQkFDYjtpQkFDSjtnQkFDRCxJQUFJLEVB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QzlCLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDbkQsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFJLE9BQU8sQ0FBQyxLQUFzQixDQUFDLE1BQU0sQ0FBQztZQUMzRCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFdBQVcsQ0FBQyxTQUFTLEdBQUc7b0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUc7b0JBQzdCLE9BQU8sMkZBQ0gsSUFBSSxDQUFDLEtBQ1Qsb0JBQW9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztnQkFDeEYsQ0FBQyxDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zLCBTZXJpZXNCYXJPcHRpb25zLCBYQXhpc09wdGlvbnMsIFlBeGlzT3B0aW9ucyB9IGZyb20gJ2hpZ2hjaGFydHMnO1xuaW1wb3J0IHsgQ2hhcnRPcHRpb25zLCBtZXJnZURlZXAgfSBmcm9tICcuLi9jaGFydC1vcHRpb25zJztcbmltcG9ydCB7IENoYXJ0Q29sb3IgfSBmcm9tICcuLy4uL2NoYXJ0LWNvbG9ycyc7XG5pbXBvcnQgeyBQbG90Um91bmRlZFNlcmllc09wdGlvbnMsIFNlcmllc1JvdW5kZWRCYXJPcHRpb25zIH0gZnJvbSAnLi8uLi9oaWdoY2hhcnQtc2VyaWVzLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIENoYXJ0QmFyT3B0aW9ucyBleHRlbmRzIENoYXJ0T3B0aW9ucyB7XG4gICAgc3RhdGljIGJ1aWxkQmFycyhvcHRpb25zOiBPcHRpb25zLCBzZWxlY3RpdmVSb3VuZGluZ0VuYWJsZWQ6IGJvb2xlYW4pOiBPcHRpb25zIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdENvbHVtbk9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBjaGFydDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdiYXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgICAgICAgIHN5bWJvbEhlaWdodDogMTAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeEF4aXM6IHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yaWVzOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgZ3JpZExpbmVXaWR0aDogMCxcbiAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgcmV2ZXJzZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHRpY2tXaWR0aDogMCxcbiAgICAgICAgICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZXIoKTogc3RyaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUudG9TdHJpbmcoKS5sZW5ndGggPiAxNikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDE1KSArICcuLi4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnY2F0ZWdvcnknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHlBeGlzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2xpbmVhcicsXG4gICAgICAgICAgICAgICAgbWluVGlja0ludGVydmFsOiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsb3RPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFyOiB7XG4gICAgICAgICAgICAgICAgICAgIG1heFBvaW50V2lkdGg6IDE4LFxuICAgICAgICAgICAgICAgICAgICBwb2ludFdpZHRoOiAyMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNlcmllczoge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMCxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBkZWZhdWx0Q29sdW1uT3B0aW9ucy5wbG90T3B0aW9ucyA/Pz0ge307XG4gICAgICAgIGlmIChzZWxlY3RpdmVSb3VuZGluZ0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGRlZmF1bHRDb2x1bW5PcHRpb25zLnBsb3RPcHRpb25zLmJhciA/Pz0ge307XG4gICAgICAgICAgICBkZWZhdWx0Q29sdW1uT3B0aW9ucy5wbG90T3B0aW9ucy5iYXIuc3RhY2tpbmcgPSAnbm9ybWFsJztcbiAgICAgICAgICAgIGRlZmF1bHRDb2x1bW5PcHRpb25zLnBsb3RPcHRpb25zLmJhci5ldmVudHMgPSB7XG4gICAgICAgICAgICAgICAgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgICAgQ2hhcnRPcHRpb25zLnJlZHJhd1dpdGhIaWdoZXN0RWRnZXNSb3VuZGVkRm9yU3RhY2tlZEJhckNoYXJ0KHRoaXMuY2hhcnQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2hvdygpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgICAgQ2hhcnRPcHRpb25zLnJlZHJhd1dpdGhIaWdoZXN0RWRnZXNSb3VuZGVkRm9yU3RhY2tlZEJhckNoYXJ0KHRoaXMuY2hhcnQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWVzT3B0aW9uczogUGxvdFJvdW5kZWRTZXJpZXNPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1c1RvcExlZnQ6IDEwMCxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXNUb3BSaWdodDogMTAwLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGRlZmF1bHRDb2x1bW5PcHRpb25zLnBsb3RPcHRpb25zLnNlcmllcyA9IHNlcmllc09wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1cGVyLmJ1aWxkKG1lcmdlRGVlcChkZWZhdWx0Q29sdW1uT3B0aW9ucywgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjb25maWd1cmVCYXIoXG4gICAgICAgIHNlcmllczogU2VyaWVzQmFyT3B0aW9uc1tdLFxuICAgICAgICBjYXRlZ29yaWVzOiBzdHJpbmdbXSxcbiAgICAgICAgb3B0aW9uczogT3B0aW9ucyxcbiAgICAgICAgb3Bwb3NpdGU6IGJvb2xlYW4sXG4gICAgICAgIGNvbG9yOiBDaGFydENvbG9yLFxuICAgICAgICBsYWJlbERhdGVGb3JtYXQ/OiBzdHJpbmdcbiAgICApOiB2b2lkIHtcbiAgICAgICAgQ2hhcnRPcHRpb25zLmNvbmZpZ3VyZShzZXJpZXMsIG9wdGlvbnMsIGNvbG9yLCBsYWJlbERhdGVGb3JtYXQpO1xuICAgICAgICBpZiAoY2F0ZWdvcmllcyAmJiBjYXRlZ29yaWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgKG9wdGlvbnMueEF4aXMgYXMgWEF4aXNPcHRpb25zKS5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3Bwb3NpdGUgJiYgc2VyaWVzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgY29uc3QgbmVnYXRpdmVTZXJpZSA9IHNlcmllc1swXSBhcyBTZXJpZXNSb3VuZGVkQmFyT3B0aW9ucztcbiAgICAgICAgICAgIG5lZ2F0aXZlU2VyaWUuYm9yZGVyUmFkaXVzQm90dG9tTGVmdCA9IDEwMDtcbiAgICAgICAgICAgIG5lZ2F0aXZlU2VyaWUuYm9yZGVyUmFkaXVzQm90dG9tUmlnaHQgPSAxMDA7XG4gICAgICAgICAgICBuZWdhdGl2ZVNlcmllLmJvcmRlclJhZGl1c1RvcExlZnQgPSAwO1xuICAgICAgICAgICAgbmVnYXRpdmVTZXJpZS5ib3JkZXJSYWRpdXNUb3BSaWdodCA9IDA7XG4gICAgICAgICAgICBuZWdhdGl2ZVNlcmllLmRhdGEgPSBuZWdhdGl2ZVNlcmllLmRhdGE/Lm1hcCgocG9pbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwb2ludCAmJiBpc05hTihwb2ludCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnBvaW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgeTogLU1hdGguYWJzKHBvaW50LnkpLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzTmFOKHBvaW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLU1hdGguYWJzKHBvaW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBvaW50O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5wbG90T3B0aW9ucz8uc2VyaWVzKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5wbG90T3B0aW9ucy5zZXJpZXMuc3RhY2tpbmcgPSAnbm9ybWFsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHlBeGlzTGFiZWxzID0gKG9wdGlvbnMueUF4aXMgYXMgWUF4aXNPcHRpb25zKS5sYWJlbHM7XG4gICAgICAgICAgICBpZiAoeUF4aXNMYWJlbHMpIHtcbiAgICAgICAgICAgICAgICB5QXhpc0xhYmVscy5mb3JtYXR0ZXIgPSBmdW5jdGlvbiAoKTogc3RyaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE1hdGguYWJzKCt0aGlzLnZhbHVlKSArICclJztcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMudG9vbHRpcCkge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMudG9vbHRpcC5wb2ludEZvcm1hdHRlciA9IGZ1bmN0aW9uICgpOiBzdHJpbmcge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjMzQ0NTYzOyBtYXJnaW46IDZweCA4cHggMCA4cHg7XCI+PHNwYW4gc3R5bGU9XCJjb2xvcjoke1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclxuICAgICAgICAgICAgICAgICAgICB9O1wiPlxcdTI1Q0Y8L3NwYW4+ICR7dGhpcy5zZXJpZXMubmFtZX06IDxiPiR7TWF0aC5hYnModGhpcy55ID8/IDApICsgJyUnfTwvYj48L2Rpdj5gO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -118,7 +118,7 @@ export class ChartOptions {
118
118
  },
119
119
  labels: {
120
120
  style: {
121
- color: ChartColors.GREY_COLORS[40],
121
+ color: ChartColors.GREY_COLORS[85],
122
122
  fontSize: '12px',
123
123
  },
124
124
  },
@@ -133,7 +133,7 @@ export class ChartOptions {
133
133
  },
134
134
  labels: {
135
135
  style: {
136
- color: ChartColors.GREY_COLORS[40],
136
+ color: ChartColors.GREY_COLORS[85],
137
137
  fontSize: '12px',
138
138
  },
139
139
  },
@@ -251,4 +251,4 @@ function deepCopy(source) {
251
251
  }
252
252
  return newObject;
253
253
  }
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY2hhcnRzL3NyYy9saWIvY2hhcnQtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsVUFBVSxFQUFzQyxNQUFNLFlBQVksQ0FBQztBQUNuRixPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsTUFBTSxPQUFPLFlBQVk7SUFDckIsTUFBTSxDQUFVLG1CQUFtQixHQUFXLGVBQWUsQ0FBQztJQUM5RCxNQUFNLENBQVUsZUFBZSxHQUFZO1FBQ3ZDOzs7Ozs7Ozs7Ozs7WUFZSTtRQUNKLEtBQUssRUFBRTtZQUNILFlBQVksRUFBRSxFQUFFO1lBQ2hCLE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixXQUFXLEVBQUU7b0JBQ1QsS0FBSyxFQUFFO3dCQUNILElBQUksRUFBRSxXQUFXLENBQUMsV0FBVzt3QkFDN0IsQ0FBQyxFQUFFLENBQUM7d0JBQ0osS0FBSyxFQUFFOzRCQUNILEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQzs0QkFDbkMsUUFBUSxFQUFFLE1BQU07eUJBQ25CO3dCQUNELE1BQU0sRUFBRTs0QkFDSixLQUFLLEVBQUU7Z0NBQ0gsSUFBSSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDOzZCQUNuQzt5QkFDSjtxQkFDSjtpQkFDSjthQUNKO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxJQUFJO2FBQ2hCO1lBQ0QsTUFBTSxFQUFFLE9BQU87WUFDZixLQUFLLEVBQUU7Z0JBQ0gsVUFBVSxFQUFFLDRDQUE0QzthQUMzRDtTQUNKO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsTUFBTSxFQUFFO2dCQUNKLEtBQUssRUFBRTtvQkFDSCxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7aUJB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QUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLE1BQVc7SUFDekIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDLENBQUMsOENBQThDO0lBQ2pFLENBQUM7SUFDRCwrQ0FBK0M7SUFDL0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN2QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QiwrREFBK0Q7WUFDOUQsU0FBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnQsIGRhdGVGb3JtYXQsIE9wdGlvbnMsIFNlcmllcywgU2VyaWVzT3B0aW9uc1R5cGUgfSBmcm9tICdoaWdoY2hhcnRzJztcbmltcG9ydCB7IENoYXJ0Q29sb3IsIENoYXJ0Q29sb3JzIH0gZnJvbSAnLi9jaGFydC1jb2xvcnMnO1xuaW1wb3J0IHsgU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMgfSBmcm9tICcuL2hpZ2hjaGFydC1zZXJpZXMubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRPcHRpb25zIHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9EQVRFX0ZPUk1BVDogc3RyaW5nID0gJyVBLCAlYiAlZSwgJVknO1xuICAgIHN0YXRpYyByZWFkb25seSBERUZBVUxUX09QVElPTlM6IE9wdGlvbnMgPSB7XG4gICAgICAgIC8qbGFuZzoge1xuICAgICAgICAgICAgZGVjaW1hbFBvaW50OiAobWFuYWdlciAmJiBtYW5hZ2VyLmxvY2FsZSAhPT0gJ2VuJykgPyAnLCcgOiAnLicsXG4gICAgICAgICAgICByZXNldFpvb206IHJlc2V0Wm9vbUxhYmVsLFxuICAgICAgICAgICAgcmVzZXRab29tVGl0bGU6IHJlc2V0Wm9vbUh0bWxUaXRsZSxcbiAgICAgICAgICAgIHNob3J0TW9udGhzOiBbXG4gICAgICAgICAgICAgICAgc2hvcnRKYW51YXJ5LCBzaG9ydEZlYnJ1YXJ5LCBzaG9ydE1hcmNoLCBzaG9ydEFwcmlsLCBzaG9ydE1heSwgc2hvcnRKdW5lLFxuICAgICAgICAgICAgICAgIHNob3J0SnVseSwgc2hvcnRBdWd1c3QsIHNob3J0U2VwdGVtYmVyLCBzaG9ydE9jdG9iZXIsIHNob3J0Tm92ZW1iZXIsIHNob3J0RGVjZW1iZXJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0aG91c2FuZHNTZXA6IChtYW5hZ2VyICYmIG1hbmFnZXIubG9jYWxlICE9PSAnZW4nKSA/ICcgJyA6ICcsJyxcbiAgICAgICAgICAgIHdlZWtkYXlzOiB0aGlzLndlZWtEYXlzLFxuICAgICAgICAgICAgem9vbUluOiB6b29tSW5IdG1sVGl0bGUsXG4gICAgICAgICAgICB6b29tT3V0OiB6b29tT3V0SHRtbFRpdGxlXG4gICAgICAgIH0sKi9cbiAgICAgICAgY2hhcnQ6IHtcbiAgICAgICAgICAgIHNwYWNpbmdSaWdodDogMjAsXG4gICAgICAgICAgICB6b29taW5nOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3h5JyxcbiAgICAgICAgICAgICAgICByZXNldEJ1dHRvbjoge1xuICAgICAgICAgICAgICAgICAgICB0aGVtZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogQ2hhcnRDb2xvcnMuV0hJVEVfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgICAgICByOiA0LFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbMTAwXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IENoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzVdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFubmluZzoge1xuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFuS2V5OiAnc2hpZnQnLFxuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkF2ZXJ0YSwgJ09wZW4gU2FucycsIEhlbHZldGljYSwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY29sb3JBeGlzOiB7XG4gICAgICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbNjBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVkaXRzOiB7XG4gICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgICBib3JkZXJXaWR0aDogMCxcbiAgICAgICAgICAgIGl0ZW1TdHlsZToge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1s2MF0sXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpdGVtSG92ZXJTdHlsZToge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMDBdLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHBsb3RPcHRpb25zOiB7XG4gICAgICAgICAgICBzZXJpZXM6IHtcbiAgICAgICAgICAgICAgICBzdGF0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaG92ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3M6IDAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb25uZWN0TnVsbHM6IHRydWUsXG4gICAgICAgICAgICAgICAgbGluZVdpZHRoOiA0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbmF2aWdhdGlvbjoge1xuICAgICAgICAgICAgYnV0dG9uT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHk6IDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgdGV4dDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IENoYXJ0Q29sb3JzLldISVRFX0NPTE9SLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA0LFxuICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDAsXG4gICAgICAgICAgICBkYXRlVGltZUxhYmVsRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIGRheTogQ2hhcnRPcHRpb25zLkRFRkFVTFRfREFURV9GT1JNQVQsXG4gICAgICAgICAgICAgICAgd2VlazogQ2hhcnRPcHRpb25zLkRFRkFVTFRfREFURV9GT1JNQVQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hhZG93OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IENoYXJ0Q29sb3JzLkJMQUNLX0NPTE9SLFxuICAgICAgICAgICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgICAgICAgICAgb2Zmc2V0WTogMixcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjAyLFxuICAgICAgICAgICAgICAgIHdpZHRoOiA2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNwbGl0OiBmYWxzZSxcbiAgICAgICAgICAgIHNoYXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUhUTUw6IHRydWUsXG4gICAgICAgICAgICBoZWFkZXJGb3JtYXQ6XG4gICAgICAgICAgICAgICAgYDxkaXYgc3R5bGU9XCJib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMF19OyBwYWRkaW5nOiAwIDhweCA3cHhcIj5gICtcbiAgICAgICAgICAgICAgICBgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEycHg7IGNvbG9yOiAke0NoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzYwXX1cIj57cG9pbnQua2V5fTwvc3Bhbj48L2Rpdj5gLFxuICAgICAgICAgICAgcG9pbnRGb3JtYXQ6XG4gICAgICAgICAgICAgICAgYDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke0NoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzEwMF19OyBtYXJnaW46IDZweCA4cHggMCA4cHg7XCI+YCArXG4gICAgICAgICAgICAgICAgJzxzcGFuIHN0eWxlPVwiY29sb3I6e3BvaW50LmNvbG9yfVwiPlxcdTI1Q0Y8L3NwYW4+IHtzZXJpZXMubmFtZX06IDxiPntwb2ludC55fTwvYj48L2Rpdj4nLFxuICAgICAgICB9LFxuICAgICAgICB4QXhpczoge1xuICAgICAgICAgICAgZ3JpZExpbmVDb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbMTBdLFxuICAgICAgICAgICAgbGluZUNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMF0sXG4gICAgICAgICAgICB0aWNrQ29sb3I6IENoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzEwXSxcbiAgICAgICAgICAgIGdyaWRMaW5lV2lkdGg6IDEsXG4gICAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgICAgIHRleHQ6IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IENoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzQwXSxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgeUF4aXM6IHtcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbHM6IGZhbHNlLFxuICAgICAgICAgICAgZ3JpZExpbmVDb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbMTBdLFxuICAgICAgICAgICAgbGluZUNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMF0sXG4gICAgICAgICAgICBncmlkTGluZVdpZHRoOiAxLFxuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1s0MF0sXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIHN0YXRpYyBidWlsZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiBtZXJnZURlZXAoQ2hhcnRPcHRpb25zLkRFRkFVTFRfT1BUSU9OUywgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbmZpZ3VyZShzZXJpZXM6IFNlcmllc09wdGlvbnNUeXBlW10sIG9wdGlvbnM6IE9wdGlvbnMsIGNvbG9yOiBDaGFydENvbG9yIHwgdW5kZWZpbmVkLCBsYWJlbERhdGVGb3JtYXQ/OiBzdHJpbmcpIHtcbiAgICAgICAgLy8gQ29uZmlndXJlIGF4aXNcbiAgICAgICAgb3B0aW9ucy54QXhpcyA9IG1lcmdlRGVlcChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiAoKTogc3RyaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlRm9ybWF0KGxhYmVsRGF0ZUZvcm1hdCA/PyAnJW0vJWQnLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC8vbWluVGlja0ludGVydmFsOiAyNCAqIDYwICogNjAgKiAxMDAwIC8vIE9uZSBkYXlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcHRpb25zLnhBeGlzXG4gICAgICAgICk7XG4gICAgICAgIC8vIENvbmZpZ3VyZSBzZXJpZXNcbiAgICAgICAgaWYgKHNlcmllcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBvcHRpb25zLnNlcmllcyA9IHNlcmllcztcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxlZ2VuZCkge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMubGVnZW5kLmVuYWJsZWQgPSBzZXJpZXMubGVuZ3RoID49IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcHRpb25zLmNvbG9ycyA9IENoYXJ0Q29sb3JzLmdldENvbG9ycyhzZXJpZXMubGVuZ3RoLCBjb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgcmVkcmF3V2l0aEhpZ2hlc3RFZGdlc1JvdW5kZWQoY2hhcnQ6IENoYXJ0KTogdm9pZCB7XG4gICAgICAgIGNoYXJ0LnNlcmllcy5mb3JFYWNoKChzZXJpZSwgc2VyaWVJbmRleDogbnVtYmVyLCBhcnIpID0+IHtcbiAgICAgICAgICAgIENoYXJ0T3B0aW9ucy5yb3VuZEhpZ2hlc3RTZXJpZShhcnIsIHNlcmllLm9wdGlvbnMgYXMgU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMsIHNlcmllSW5kZXgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY2hhcnQucmVkcmF3KHRydWUpO1xuICAgIH1cblxuICAgIHN0YXRpYyByb3VuZEhpZ2hlc3RTZXJpZShzZXJpZXM6IFNlcmllc1tdLCBzZXJpZTogU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMsIHNlcmllSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCByb3VuZGVkT3B0aW9uTWFwOiBudW1iZXJbXSA9IFtdO1xuICAgICAgICBsZXQgYm9yZGVyUmFkaXVzID0gMDtcbiAgICAgICAgaWYgKHNlcmllLmRhdGEpIHtcbiAgICAgICAgICAgIHNlcmllLmRhdGEuZm9yRWFjaCgocG9pbnQsIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYWxsIHByZXZpb3VzIHN0YWNrZWQgZGF0YSBhdCB0aGUgc2FtZSBhYnNjaXNzYSAobG9jYXRlZCBoaWdoZXIgb24gdGhlIGdyYXBoKSBhcmUgbWlzc2luZyBvciBoYXZlIGEgdmFsdWUgb2YgMFxuICAgICAgICAgICAgICAgIC8vIGlmIHNvLCBpdCBtZWFucyB0aGF0IHRoaXMgcG9pbnQgaXMgdGhlIHZpc3VhbCB0b3Agb2YgdGhlIGNvbHVtbiwgc28gd2Ugc2hvdWxkIHJvdW5kIGl0XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91bmRlZENvbHVtbkVuYWJsZWQgPSBzZXJpZXMuc2xpY2UoMCwgc2VyaWVJbmRleCkuZXZlcnkob3RoZXJTZXJpZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3RoZXJTZXJpZS52aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludEF0U2FtZUFic2Npc3NhID0gKG90aGVyU2VyaWUub3B0aW9ucyBhcyBTZXJpZXNSb3VuZGVkQ29sdW1uT3B0aW9ucykuZGF0YT8uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyUG9pbnQgPT4gKG90aGVyUG9pbnQgYXMgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgbnVsbF0pWzBdID09PSAocG9pbnQgYXMgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgbnVsbF0pWzBdXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhcG9pbnRBdFNhbWVBYnNjaXNzYSB8fCAocG9pbnRBdFNhbWVBYnNjaXNzYSBhcyBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBudWxsXSlbMV0gPT09IDA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzID0gcm91bmRlZENvbHVtbkVuYWJsZWQgPyAxMDAgOiAwO1xuICAgICAgICAgICAgICAgIHJvdW5kZWRPcHRpb25NYXBbY29sdW1uSW5kZXhdID0gYm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzZXJpZS5ib3JkZXJSYWRpdXNUb3BMZWZ0ID0gcm91bmRlZE9wdGlvbk1hcDtcbiAgICAgICAgICAgIHNlcmllLmJvcmRlclJhZGl1c1RvcFJpZ2h0ID0gcm91bmRlZE9wdGlvbk1hcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyByZWRyYXdXaXRoSGlnaGVzdEVkZ2VzUm91bmRlZEZvclN0YWNrZWRCYXJDaGFydChjaGFydDogQ2hhcnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VyaWVzT3B0aW9ucyA9IGNoYXJ0LnNlcmllc1swXT8ub3B0aW9ucyBhcyBTZXJpZXNSb3VuZGVkQ29sdW1uT3B0aW9ucztcbiAgICAgICAgaWYgKHNlcmllc09wdGlvbnMuZGF0YSkge1xuICAgICAgICAgICAgY29uc3QgZ2xvYmFsUm91bmRlZE1hcDogYm9vbGVhbltdID0gQXJyYXkoc2VyaWVzT3B0aW9ucy5kYXRhLmxlbmd0aCkuZmlsbChmYWxzZSk7XG4gICAgICAgICAgICBjaGFydC5zZXJpZXMuZm9yRWFjaChzZXJpZSA9PiBDaGFydE9wdGlvbnMucm91bmRIaWdoZXN0U2VyaWVzRm9yU3RhY2tlZEJhckNoYXJ0KHNlcmllLCBnbG9iYWxSb3VuZGVkTWFwKSk7XG4gICAgICAgICAgICBjaGFydC5yZWRyYXcodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgcm91bmRIaWdoZXN0U2VyaWVzRm9yU3RhY2tlZEJhckNoYXJ0KHNlcmllOiBTZXJpZXMsIGdsb2JhbFJvdW5kZWRNYXA6IGJvb2xlYW5bXSk6IHZvaWQge1xuICAgICAgICBpZiAoZ2xvYmFsUm91bmRlZE1hcC5ldmVyeShyb3VuZGVkID0+IHJvdW5kZWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VyaWVPcHRpb25zID0gKHNlcmllLm9wdGlvbnMgYXMgU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMpO1xuICAgICAgICBpZiAoc2VyaWVPcHRpb25zLmRhdGEgJiYgc2VyaWUudmlzaWJsZSkge1xuICAgICAgICAgICAgY29uc3QgYm9yZGVyUmFkaXVzTWFwOiBudW1iZXJbXSA9IEFycmF5KHNlcmllT3B0aW9ucy5kYXRhLmxlbmd0aCkuZmlsbCgwKTtcbiAgICAgICAgICAgIHNlcmllT3B0aW9ucy5kYXRhLmZvckVhY2goKHBvaW50LCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcG9pbnQgYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgIGlmICghZ2xvYmFsUm91bmRlZE1hcFtjb2x1bW5JbmRleF0gJiYgdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUm91bmRlZE1hcFtjb2x1bW5JbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXNNYXBbY29sdW1uSW5kZXhdID0gMTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2VyaWVPcHRpb25zLmJvcmRlclJhZGl1c1RvcExlZnQgPSBib3JkZXJSYWRpdXNNYXA7XG4gICAgICAgICAgICBzZXJpZU9wdGlvbnMuYm9yZGVyUmFkaXVzVG9wUmlnaHQgPSBib3JkZXJSYWRpdXNNYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdChpdGVtOiBhbnkpIHtcbiAgICByZXR1cm4gaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZURlZXAodGFyZ2V0OiBhbnksIHNvdXJjZTogYW55KSB7XG4gICAgY29uc3Qgb3V0cHV0ID0gZGVlcENvcHkodGFyZ2V0KTtcbiAgICBpZiAoaXNPYmplY3QodGFyZ2V0KSAmJiBpc09iamVjdChzb3VyY2UpKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGlmICghKGtleSBpbiB0YXJnZXQpKSBPYmplY3QuYXNzaWduKG91dHB1dCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgZWxzZSBvdXRwdXRba2V5XSA9IG1lcmdlRGVlcCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKG91dHB1dCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiBkZWVwQ29weShzb3VyY2U6IGFueSkge1xuICAgIGlmICh0eXBlb2Ygc291cmNlICE9PSAnb2JqZWN0JyB8fCBzb3VyY2UgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTsgLy8gUmV0dXJuIHRoZSB2YWx1ZSBpZiBzb3VyY2UgaXMgbm90IGFuIG9iamVjdFxuICAgIH1cbiAgICAvLyBDcmVhdGUgYW4gYXJyYXkgb3Igb2JqZWN0IHRvIGhvbGQgdGhlIHZhbHVlc1xuICAgIGNvbnN0IG5ld09iamVjdCA9IEFycmF5LmlzQXJyYXkoc291cmNlKSA/IFtdIDoge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChzb3VyY2UuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgLy8gUmVjdXJzaXZlbHkgKGRlZXApIGNvcHkgZm9yIG5lc3RlZCBvYmplY3RzLCBpbmNsdWRpbmcgYXJyYXlzXG4gICAgICAgICAgICAobmV3T2JqZWN0IGFzIGFueSlba2V5XSA9IGRlZXBDb3B5KHNvdXJjZVtrZXldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqZWN0O1xufVxuIl19
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY2hhcnRzL3NyYy9saWIvY2hhcnQtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsVUFBVSxFQUFzQyxNQUFNLFlBQVksQ0FBQztBQUNuRixPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsTUFBTSxPQUFPLFlBQVk7SUFDckIsTUFBTSxDQUFVLG1CQUFtQixHQUFXLGVBQWUsQ0FBQztJQUM5RCxNQUFNLENBQVUsZUFBZSxHQUFZO1FBQ3ZDOzs7Ozs7Ozs7Ozs7WUFZSTtRQUNKLEtBQUssRUFBRTtZQUNILFlBQVksRUFBRSxFQUFFO1lBQ2hCLE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixXQUFXLEVBQUU7b0JBQ1QsS0FBSyxFQUFFO3dCQUNILElBQUksRUFBRSxXQUFXLENBQUMsV0FBVzt3QkFDN0IsQ0FBQyxFQUFFLENBQUM7d0JBQ0osS0FBSyxFQUFFOzRCQUNILEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQzs0QkFDbkMsUUFBUSxFQUFFLE1BQU07eUJBQ25CO3dCQUNELE1BQU0sRUFBRTs0QkFDSixLQUFLLEVBQUU7Z0NBQ0gsSUFBSSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDOzZCQUNuQzt5QkFDSjtxQkFDSjtpQkFDSjthQUNKO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxJQUFJO2FBQ2hCO1lBQ0QsTUFBTSxFQUFFLE9BQU87WUFDZixLQUFLLEVBQUU7Z0JBQ0gsVUFBVSxFQUFFLDRDQUE0QzthQUMzRDtTQUNKO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsTUFBTSxFQUFFO2dCQUNKLEtBQUssRUFBRTtvQkFDSCxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSxLQUFLO1NBQ2pCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osV0FBVyxFQUFFLENBQUM7WUFDZCxTQUFTLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxRQUFRLEVBQUUsTUFBTTtnQkFDaEIsVUFBVSxFQUFFLFFBQVE7YUFDdkI7WUFDRCxjQUFjLEVBQUU7Z0JBQ1osS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxVQUFVLEVBQUUsTUFBTTthQUNyQjtTQUNKO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsTUFBTSxFQUFFO2dCQUNKLE1BQU0sRUFBRTtvQkFDSixLQUFLLEVBQUU7d0JBQ0gsVUFBVSxFQUFFLENBQUM7cUJBQ2hCO2lCQUNKO2dCQUNELFlBQVksRUFBRSxJQUFJO2dCQUNsQixTQUFTLEVBQUUsQ0FBQzthQUNmO1NBQ0o7UUFDRCxVQUFVLEVBQUU7WUFDUixhQUFhLEVBQUU7Z0JBQ1gsQ0FBQyxFQUFFLENBQUM7YUFDUDtTQUNKO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxlQUFlLEVBQUUsV0FBVyxDQUFDLFdBQVc7WUFDeEMsWUFBWSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUUsQ0FBQztZQUNkLG9CQUFvQixFQUFFO2dCQUNsQixHQUFHLEVBQUUsWUFBWSxDQUFDLG1CQUFtQjtnQkFDckMsSUFBSSxFQUFFLFlBQVksQ0FBQyxtQkFBbUI7YUFDekM7WUFDRCxNQUFNLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXO2dCQUM5QixPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsSUFBSTtnQkFDYixLQUFLLEVBQUUsQ0FBQzthQUNYO1lBQ0QsS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJO1lBQ2IsWUFBWSxFQUNSLHdDQUF3QyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyx3QkFBd0I7Z0JBQzNGLHdDQUF3QyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyw0QkFBNEI7WUFDbkcsV0FBVyxFQUNQLHVDQUF1QyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEI7Z0JBQy9GLHVGQUF1RjtTQUM5RjtRQUNELEtBQUssRUFBRTtZQUNILGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxTQUFTLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3RDLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsSUFBSTthQUNiO1lBQ0QsTUFBTSxFQUFFO2dCQUNKLEtBQUssRUFBRTtvQkFDSCxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLFFBQVEsRUFBRSxNQUFNO2lCQUNuQjthQUNKO1NBQ0o7UUFDRCxLQUFLLEVBQUU7WUFDSCxhQUFhLEVBQUUsS0FBSztZQUNwQixhQUFhLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDMUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3RDLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsSUFBSTthQUNiO1lBQ0QsTUFBTSxFQUFFO2dCQUNKLEtBQUssRUFBRTtvQkFDSCxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLFFBQVEsRUFBRSxNQUFNO2lCQUNuQjthQUNKO1NBQ0o7S0FDSixDQUFDO0lBRUYsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFnQjtRQUN6QixPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQTJCLEVBQUUsT0FBZ0IsRUFBRSxLQUE2QixFQUFFLGVBQXdCO1FBQ25ILGlCQUFpQjtRQUNqQixPQUFPLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FDckI7WUFDSSxNQUFNLEVBQUU7Z0JBQ0osU0FBUyxFQUFFO29CQUNQLDZEQUE2RDtvQkFDN0QsYUFBYTtvQkFDYixPQUFPLFVBQVUsQ0FBQyxlQUFlLElBQUksT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUQsQ0FBQzthQUNKO1lBQ0QsaURBQWlEO1NBQ3BELEVBQ0QsT0FBTyxDQUFDLEtBQUssQ0FDaEIsQ0FBQztRQUNGLG1CQUFtQjtRQUNuQixJQUFJLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUN4QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELE9BQU8sQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQVk7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBa0IsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNwRCxZQUFZLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFxQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pHLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQWdCLEVBQUUsS0FBaUMsRUFBRSxVQUFrQjtRQUM1RixNQUFNLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDdEMseUhBQXlIO2dCQUN6SCx5RkFBeUY7Z0JBQ3pGLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUN0QixPQUFPLElBQUksQ0FBQztvQkFDaEIsQ0FBQztvQkFDRCxNQUFNLG1CQUFtQixHQUFJLFVBQVUsQ0FBQyxPQUFzQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQ3JGLFVBQVUsQ0FBQyxFQUFFLENBQUUsVUFBK0MsQ0FBQyxDQUFDLENBQUMsS0FBTSxLQUEwQyxDQUFDLENBQUMsQ0FBQyxDQUN2SCxDQUFDO29CQUNGLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSyxtQkFBd0QsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RHLENBQUMsQ0FBQyxDQUFDO2dCQUNILFlBQVksR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUNqRCxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztZQUM3QyxLQUFLLENBQUMsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsK0NBQStDLENBQUMsS0FBWTtRQUMvRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQXFDLENBQUM7UUFDN0UsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsTUFBTSxnQkFBZ0IsR0FBYyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsb0NBQW9DLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUMxRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLEtBQWEsRUFBRSxnQkFBMkI7UUFDbEYsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUksS0FBSyxDQUFDLE9BQXNDLENBQUM7UUFDbkUsSUFBSSxZQUFZLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQyxNQUFNLGVBQWUsR0FBYSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUUsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7Z0JBQzdDLE1BQU0sS0FBSyxHQUFHLEtBQWUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUMvRCxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ3JDLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILFlBQVksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUM7WUFDbkQsWUFBWSxDQUFDLG9CQUFvQixHQUFHLGVBQWUsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQzs7QUFHTCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVM7SUFDOUIsT0FBTyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFXLEVBQUUsTUFBVztJQUM5QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQztvQkFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7b0JBQy9ELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUM7aUJBQU0sQ0FBQztnQkFDSixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLE1BQVc7SUFDekIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDLENBQUMsOENBQThDO0lBQ2pFLENBQUM7SUFDRCwrQ0FBK0M7SUFDL0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN2QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QiwrREFBK0Q7WUFDOUQsU0FBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnQsIGRhdGVGb3JtYXQsIE9wdGlvbnMsIFNlcmllcywgU2VyaWVzT3B0aW9uc1R5cGUgfSBmcm9tICdoaWdoY2hhcnRzJztcbmltcG9ydCB7IENoYXJ0Q29sb3IsIENoYXJ0Q29sb3JzIH0gZnJvbSAnLi9jaGFydC1jb2xvcnMnO1xuaW1wb3J0IHsgU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMgfSBmcm9tICcuL2hpZ2hjaGFydC1zZXJpZXMubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRPcHRpb25zIHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9EQVRFX0ZPUk1BVDogc3RyaW5nID0gJyVBLCAlYiAlZSwgJVknO1xuICAgIHN0YXRpYyByZWFkb25seSBERUZBVUxUX09QVElPTlM6IE9wdGlvbnMgPSB7XG4gICAgICAgIC8qbGFuZzoge1xuICAgICAgICAgICAgZGVjaW1hbFBvaW50OiAobWFuYWdlciAmJiBtYW5hZ2VyLmxvY2FsZSAhPT0gJ2VuJykgPyAnLCcgOiAnLicsXG4gICAgICAgICAgICByZXNldFpvb206IHJlc2V0Wm9vbUxhYmVsLFxuICAgICAgICAgICAgcmVzZXRab29tVGl0bGU6IHJlc2V0Wm9vbUh0bWxUaXRsZSxcbiAgICAgICAgICAgIHNob3J0TW9udGhzOiBbXG4gICAgICAgICAgICAgICAgc2hvcnRKYW51YXJ5LCBzaG9ydEZlYnJ1YXJ5LCBzaG9ydE1hcmNoLCBzaG9ydEFwcmlsLCBzaG9ydE1heSwgc2hvcnRKdW5lLFxuICAgICAgICAgICAgICAgIHNob3J0SnVseSwgc2hvcnRBdWd1c3QsIHNob3J0U2VwdGVtYmVyLCBzaG9ydE9jdG9iZXIsIHNob3J0Tm92ZW1iZXIsIHNob3J0RGVjZW1iZXJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0aG91c2FuZHNTZXA6IChtYW5hZ2VyICYmIG1hbmFnZXIubG9jYWxlICE9PSAnZW4nKSA/ICcgJyA6ICcsJyxcbiAgICAgICAgICAgIHdlZWtkYXlzOiB0aGlzLndlZWtEYXlzLFxuICAgICAgICAgICAgem9vbUluOiB6b29tSW5IdG1sVGl0bGUsXG4gICAgICAgICAgICB6b29tT3V0OiB6b29tT3V0SHRtbFRpdGxlXG4gICAgICAgIH0sKi9cbiAgICAgICAgY2hhcnQ6IHtcbiAgICAgICAgICAgIHNwYWNpbmdSaWdodDogMjAsXG4gICAgICAgICAgICB6b29taW5nOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3h5JyxcbiAgICAgICAgICAgICAgICByZXNldEJ1dHRvbjoge1xuICAgICAgICAgICAgICAgICAgICB0aGVtZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogQ2hhcnRDb2xvcnMuV0hJVEVfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgICAgICByOiA0LFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbMTAwXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IENoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzVdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFubmluZzoge1xuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFuS2V5OiAnc2hpZnQnLFxuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkF2ZXJ0YSwgJ09wZW4gU2FucycsIEhlbHZldGljYSwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY29sb3JBeGlzOiB7XG4gICAgICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbNjBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVkaXRzOiB7XG4gICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgICBib3JkZXJXaWR0aDogMCxcbiAgICAgICAgICAgIGl0ZW1TdHlsZToge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1s2MF0sXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpdGVtSG92ZXJTdHlsZToge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMDBdLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHBsb3RPcHRpb25zOiB7XG4gICAgICAgICAgICBzZXJpZXM6IHtcbiAgICAgICAgICAgICAgICBzdGF0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaG92ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3M6IDAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb25uZWN0TnVsbHM6IHRydWUsXG4gICAgICAgICAgICAgICAgbGluZVdpZHRoOiA0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbmF2aWdhdGlvbjoge1xuICAgICAgICAgICAgYnV0dG9uT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHk6IDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgdGV4dDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IENoYXJ0Q29sb3JzLldISVRFX0NPTE9SLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA0LFxuICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDAsXG4gICAgICAgICAgICBkYXRlVGltZUxhYmVsRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIGRheTogQ2hhcnRPcHRpb25zLkRFRkFVTFRfREFURV9GT1JNQVQsXG4gICAgICAgICAgICAgICAgd2VlazogQ2hhcnRPcHRpb25zLkRFRkFVTFRfREFURV9GT1JNQVQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hhZG93OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IENoYXJ0Q29sb3JzLkJMQUNLX0NPTE9SLFxuICAgICAgICAgICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgICAgICAgICAgb2Zmc2V0WTogMixcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjAyLFxuICAgICAgICAgICAgICAgIHdpZHRoOiA2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNwbGl0OiBmYWxzZSxcbiAgICAgICAgICAgIHNoYXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUhUTUw6IHRydWUsXG4gICAgICAgICAgICBoZWFkZXJGb3JtYXQ6XG4gICAgICAgICAgICAgICAgYDxkaXYgc3R5bGU9XCJib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMF19OyBwYWRkaW5nOiAwIDhweCA3cHhcIj5gICtcbiAgICAgICAgICAgICAgICBgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEycHg7IGNvbG9yOiAke0NoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzYwXX1cIj57cG9pbnQua2V5fTwvc3Bhbj48L2Rpdj5gLFxuICAgICAgICAgICAgcG9pbnRGb3JtYXQ6XG4gICAgICAgICAgICAgICAgYDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke0NoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzEwMF19OyBtYXJnaW46IDZweCA4cHggMCA4cHg7XCI+YCArXG4gICAgICAgICAgICAgICAgJzxzcGFuIHN0eWxlPVwiY29sb3I6e3BvaW50LmNvbG9yfVwiPlxcdTI1Q0Y8L3NwYW4+IHtzZXJpZXMubmFtZX06IDxiPntwb2ludC55fTwvYj48L2Rpdj4nLFxuICAgICAgICB9LFxuICAgICAgICB4QXhpczoge1xuICAgICAgICAgICAgZ3JpZExpbmVDb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbMTBdLFxuICAgICAgICAgICAgbGluZUNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMF0sXG4gICAgICAgICAgICB0aWNrQ29sb3I6IENoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzEwXSxcbiAgICAgICAgICAgIGdyaWRMaW5lV2lkdGg6IDEsXG4gICAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgICAgIHRleHQ6IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IENoYXJ0Q29sb3JzLkdSRVlfQ09MT1JTWzg1XSxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgeUF4aXM6IHtcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbHM6IGZhbHNlLFxuICAgICAgICAgICAgZ3JpZExpbmVDb2xvcjogQ2hhcnRDb2xvcnMuR1JFWV9DT0xPUlNbMTBdLFxuICAgICAgICAgICAgbGluZUNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1sxMF0sXG4gICAgICAgICAgICBncmlkTGluZVdpZHRoOiAxLFxuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBDaGFydENvbG9ycy5HUkVZX0NPTE9SU1s4NV0sXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIHN0YXRpYyBidWlsZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiBtZXJnZURlZXAoQ2hhcnRPcHRpb25zLkRFRkFVTFRfT1BUSU9OUywgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbmZpZ3VyZShzZXJpZXM6IFNlcmllc09wdGlvbnNUeXBlW10sIG9wdGlvbnM6IE9wdGlvbnMsIGNvbG9yOiBDaGFydENvbG9yIHwgdW5kZWZpbmVkLCBsYWJlbERhdGVGb3JtYXQ/OiBzdHJpbmcpIHtcbiAgICAgICAgLy8gQ29uZmlndXJlIGF4aXNcbiAgICAgICAgb3B0aW9ucy54QXhpcyA9IG1lcmdlRGVlcChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiAoKTogc3RyaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlRm9ybWF0KGxhYmVsRGF0ZUZvcm1hdCA/PyAnJW0vJWQnLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC8vbWluVGlja0ludGVydmFsOiAyNCAqIDYwICogNjAgKiAxMDAwIC8vIE9uZSBkYXlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcHRpb25zLnhBeGlzXG4gICAgICAgICk7XG4gICAgICAgIC8vIENvbmZpZ3VyZSBzZXJpZXNcbiAgICAgICAgaWYgKHNlcmllcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBvcHRpb25zLnNlcmllcyA9IHNlcmllcztcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxlZ2VuZCkge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMubGVnZW5kLmVuYWJsZWQgPSBzZXJpZXMubGVuZ3RoID49IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcHRpb25zLmNvbG9ycyA9IENoYXJ0Q29sb3JzLmdldENvbG9ycyhzZXJpZXMubGVuZ3RoLCBjb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgcmVkcmF3V2l0aEhpZ2hlc3RFZGdlc1JvdW5kZWQoY2hhcnQ6IENoYXJ0KTogdm9pZCB7XG4gICAgICAgIGNoYXJ0LnNlcmllcy5mb3JFYWNoKChzZXJpZSwgc2VyaWVJbmRleDogbnVtYmVyLCBhcnIpID0+IHtcbiAgICAgICAgICAgIENoYXJ0T3B0aW9ucy5yb3VuZEhpZ2hlc3RTZXJpZShhcnIsIHNlcmllLm9wdGlvbnMgYXMgU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMsIHNlcmllSW5kZXgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY2hhcnQucmVkcmF3KHRydWUpO1xuICAgIH1cblxuICAgIHN0YXRpYyByb3VuZEhpZ2hlc3RTZXJpZShzZXJpZXM6IFNlcmllc1tdLCBzZXJpZTogU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMsIHNlcmllSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCByb3VuZGVkT3B0aW9uTWFwOiBudW1iZXJbXSA9IFtdO1xuICAgICAgICBsZXQgYm9yZGVyUmFkaXVzID0gMDtcbiAgICAgICAgaWYgKHNlcmllLmRhdGEpIHtcbiAgICAgICAgICAgIHNlcmllLmRhdGEuZm9yRWFjaCgocG9pbnQsIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYWxsIHByZXZpb3VzIHN0YWNrZWQgZGF0YSBhdCB0aGUgc2FtZSBhYnNjaXNzYSAobG9jYXRlZCBoaWdoZXIgb24gdGhlIGdyYXBoKSBhcmUgbWlzc2luZyBvciBoYXZlIGEgdmFsdWUgb2YgMFxuICAgICAgICAgICAgICAgIC8vIGlmIHNvLCBpdCBtZWFucyB0aGF0IHRoaXMgcG9pbnQgaXMgdGhlIHZpc3VhbCB0b3Agb2YgdGhlIGNvbHVtbiwgc28gd2Ugc2hvdWxkIHJvdW5kIGl0XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91bmRlZENvbHVtbkVuYWJsZWQgPSBzZXJpZXMuc2xpY2UoMCwgc2VyaWVJbmRleCkuZXZlcnkob3RoZXJTZXJpZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3RoZXJTZXJpZS52aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludEF0U2FtZUFic2Npc3NhID0gKG90aGVyU2VyaWUub3B0aW9ucyBhcyBTZXJpZXNSb3VuZGVkQ29sdW1uT3B0aW9ucykuZGF0YT8uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyUG9pbnQgPT4gKG90aGVyUG9pbnQgYXMgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgbnVsbF0pWzBdID09PSAocG9pbnQgYXMgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgbnVsbF0pWzBdXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhcG9pbnRBdFNhbWVBYnNjaXNzYSB8fCAocG9pbnRBdFNhbWVBYnNjaXNzYSBhcyBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBudWxsXSlbMV0gPT09IDA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzID0gcm91bmRlZENvbHVtbkVuYWJsZWQgPyAxMDAgOiAwO1xuICAgICAgICAgICAgICAgIHJvdW5kZWRPcHRpb25NYXBbY29sdW1uSW5kZXhdID0gYm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzZXJpZS5ib3JkZXJSYWRpdXNUb3BMZWZ0ID0gcm91bmRlZE9wdGlvbk1hcDtcbiAgICAgICAgICAgIHNlcmllLmJvcmRlclJhZGl1c1RvcFJpZ2h0ID0gcm91bmRlZE9wdGlvbk1hcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyByZWRyYXdXaXRoSGlnaGVzdEVkZ2VzUm91bmRlZEZvclN0YWNrZWRCYXJDaGFydChjaGFydDogQ2hhcnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VyaWVzT3B0aW9ucyA9IGNoYXJ0LnNlcmllc1swXT8ub3B0aW9ucyBhcyBTZXJpZXNSb3VuZGVkQ29sdW1uT3B0aW9ucztcbiAgICAgICAgaWYgKHNlcmllc09wdGlvbnMuZGF0YSkge1xuICAgICAgICAgICAgY29uc3QgZ2xvYmFsUm91bmRlZE1hcDogYm9vbGVhbltdID0gQXJyYXkoc2VyaWVzT3B0aW9ucy5kYXRhLmxlbmd0aCkuZmlsbChmYWxzZSk7XG4gICAgICAgICAgICBjaGFydC5zZXJpZXMuZm9yRWFjaChzZXJpZSA9PiBDaGFydE9wdGlvbnMucm91bmRIaWdoZXN0U2VyaWVzRm9yU3RhY2tlZEJhckNoYXJ0KHNlcmllLCBnbG9iYWxSb3VuZGVkTWFwKSk7XG4gICAgICAgICAgICBjaGFydC5yZWRyYXcodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgcm91bmRIaWdoZXN0U2VyaWVzRm9yU3RhY2tlZEJhckNoYXJ0KHNlcmllOiBTZXJpZXMsIGdsb2JhbFJvdW5kZWRNYXA6IGJvb2xlYW5bXSk6IHZvaWQge1xuICAgICAgICBpZiAoZ2xvYmFsUm91bmRlZE1hcC5ldmVyeShyb3VuZGVkID0+IHJvdW5kZWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VyaWVPcHRpb25zID0gKHNlcmllLm9wdGlvbnMgYXMgU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMpO1xuICAgICAgICBpZiAoc2VyaWVPcHRpb25zLmRhdGEgJiYgc2VyaWUudmlzaWJsZSkge1xuICAgICAgICAgICAgY29uc3QgYm9yZGVyUmFkaXVzTWFwOiBudW1iZXJbXSA9IEFycmF5KHNlcmllT3B0aW9ucy5kYXRhLmxlbmd0aCkuZmlsbCgwKTtcbiAgICAgICAgICAgIHNlcmllT3B0aW9ucy5kYXRhLmZvckVhY2goKHBvaW50LCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcG9pbnQgYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgIGlmICghZ2xvYmFsUm91bmRlZE1hcFtjb2x1bW5JbmRleF0gJiYgdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUm91bmRlZE1hcFtjb2x1bW5JbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXNNYXBbY29sdW1uSW5kZXhdID0gMTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2VyaWVPcHRpb25zLmJvcmRlclJhZGl1c1RvcExlZnQgPSBib3JkZXJSYWRpdXNNYXA7XG4gICAgICAgICAgICBzZXJpZU9wdGlvbnMuYm9yZGVyUmFkaXVzVG9wUmlnaHQgPSBib3JkZXJSYWRpdXNNYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdChpdGVtOiBhbnkpIHtcbiAgICByZXR1cm4gaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZURlZXAodGFyZ2V0OiBhbnksIHNvdXJjZTogYW55KSB7XG4gICAgY29uc3Qgb3V0cHV0ID0gZGVlcENvcHkodGFyZ2V0KTtcbiAgICBpZiAoaXNPYmplY3QodGFyZ2V0KSAmJiBpc09iamVjdChzb3VyY2UpKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGlmICghKGtleSBpbiB0YXJnZXQpKSBPYmplY3QuYXNzaWduKG91dHB1dCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XG4gICAgICAgICAgICAgICAgZWxzZSBvdXRwdXRba2V5XSA9IG1lcmdlRGVlcCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKG91dHB1dCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiBkZWVwQ29weShzb3VyY2U6IGFueSkge1xuICAgIGlmICh0eXBlb2Ygc291cmNlICE9PSAnb2JqZWN0JyB8fCBzb3VyY2UgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTsgLy8gUmV0dXJuIHRoZSB2YWx1ZSBpZiBzb3VyY2UgaXMgbm90IGFuIG9iamVjdFxuICAgIH1cbiAgICAvLyBDcmVhdGUgYW4gYXJyYXkgb3Igb2JqZWN0IHRvIGhvbGQgdGhlIHZhbHVlc1xuICAgIGNvbnN0IG5ld09iamVjdCA9IEFycmF5LmlzQXJyYXkoc291cmNlKSA/IFtdIDoge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChzb3VyY2UuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgLy8gUmVjdXJzaXZlbHkgKGRlZXApIGNvcHkgZm9yIG5lc3RlZCBvYmplY3RzLCBpbmNsdWRpbmcgYXJyYXlzXG4gICAgICAgICAgICAobmV3T2JqZWN0IGFzIGFueSlba2V5XSA9IGRlZXBDb3B5KHNvdXJjZVtrZXldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqZWN0O1xufVxuIl19
@@ -392,7 +392,7 @@ class ChartOptions {
392
392
  },
393
393
  labels: {
394
394
  style: {
395
- color: ChartColors.GREY_COLORS[40],
395
+ color: ChartColors.GREY_COLORS[85],
396
396
  fontSize: '12px',
397
397
  },
398
398
  },
@@ -407,7 +407,7 @@ class ChartOptions {
407
407
  },
408
408
  labels: {
409
409
  style: {
410
- color: ChartColors.GREY_COLORS[40],
410
+ color: ChartColors.GREY_COLORS[85],
411
411
  fontSize: '12px',
412
412
  },
413
413
  },
@@ -532,6 +532,9 @@ class ChartBarOptions extends ChartOptions {
532
532
  chart: {
533
533
  type: 'bar',
534
534
  },
535
+ legend: {
536
+ symbolHeight: 10,
537
+ },
535
538
  xAxis: {
536
539
  categories: undefined,
537
540
  gridLineWidth: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-charts.mjs","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/abstract-chart.component.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.html","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.html","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.html","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.html","../../../libs/ui-charts/src/lib/chart-mixed/chart-mixed-options.model.ts","../../../libs/ui-charts/src/lib/chart-mixed/chart-mixed.component.ts","../../../libs/ui-charts/src/lib/chart-mixed/chart-mixed.component.html","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.html","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.html","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nexport const borderRadiusPlugin = function (H: any) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed: any) {\n // @ts-ignore\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n // @ts-ignore\n proceed.call(this);\n\n // @ts-ignore\n if (!this.points) {\n return;\n }\n\n if (\n borderRadiusTopLeftSettings ||\n borderRadiusTopRightSettings ||\n borderRadiusBottomLeftSettings ||\n borderRadiusBottomRightSettings\n ) {\n // @ts-ignore\n this.points.forEach(function (point) {\n roundPoint(\n borderRadiusTopLeftSettings,\n borderRadiusTopRightSettings,\n borderRadiusBottomLeftSettings,\n borderRadiusBottomRightSettings,\n point,\n H,\n topMargin,\n bottomMargin\n );\n });\n }\n });\n};\n\nfunction roundPoint(\n borderRadiusTopLeftSettings: string | any[],\n borderRadiusTopRightSettings: string | any[],\n borderRadiusBottomLeftSettings: string | any[],\n borderRadiusBottomRightSettings: string | any[],\n point: { shapeArgs: { width?: any; height?: any; x?: any; y?: any; d?: any[] }; index: string | number; dlBox: any; shapeType: string },\n H: { relativeLength: (arg0: any, arg1: any) => any },\n topMargin: any,\n bottomMargin: any\n) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = borderRadiusTopLeftSettings?.length\n ? (borderRadiusTopLeftSettings as any)[point.index]\n : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = borderRadiusTopRightSettings?.length\n ? (borderRadiusTopRightSettings as any)[point.index]\n : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = borderRadiusBottomLeftSettings?.length\n ? (borderRadiusBottomLeftSettings as any)[point.index]\n : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = borderRadiusBottomRightSettings?.length\n ? (borderRadiusBottomRightSettings as any)[point.index]\n : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M',\n x + radiusTopLeft,\n y + topMargin,\n 'L',\n x + w - radiusTopRight,\n y + topMargin,\n 'C',\n x + w - radiusTopRight / 2,\n y,\n x + w,\n y + radiusTopRight / 2,\n x + w,\n y + radiusTopRight,\n 'L',\n x + w,\n y + h - radiusBottomRight,\n 'C',\n x + w,\n y + h - radiusBottomRight / 2,\n x + w - radiusBottomRight / 2,\n y + h,\n x + w - radiusBottomRight,\n y + h + bottomMargin,\n 'L',\n x + radiusBottomLeft,\n y + h + bottomMargin,\n 'C',\n x + radiusBottomLeft / 2,\n y + h,\n x,\n y + h - radiusBottomLeft / 2,\n x,\n y + h - radiusBottomLeft,\n 'L',\n x,\n y + radiusTopLeft,\n 'C',\n x,\n y + radiusTopLeft / 2,\n x + radiusTopLeft / 2,\n y,\n x + radiusTopLeft,\n y,\n 'Z',\n ],\n };\n}\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4',\n '150': '#2873BA',\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe',\n '150': '#0e72d6',\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726',\n '150': '#C83E07',\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854',\n '150': '#0F821D',\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0',\n '150': '#3C2C95',\n };\n static readonly GREY_COLORS = {\n '5': '#F5F5F7',\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563',\n '150': '#212E44',\n };\n\n static readonly RED_COLORS = {\n '80': '#F17171',\n '150': '#D80505'\n };\n\n static readonly SOFT_RED_COLORS = {\n 100: '#ff5353',\n 85: '#ff6d6d',\n 60: '#ff9898',\n 10: '#fff9f9',\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor | undefined): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor | undefined): string[] {\n const colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[20], colors[40], colors[60], colors[100], colors[150]];\n default:\n return [colors[20], colors[40], colors[60], colors[85], colors[100], colors[150]];\n }\n }\n}\n","import { AfterViewChecked, Directive, ElementRef, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport { Chart, Options, SeriesOptions } from 'highcharts';\nimport { ChartColor } from './chart-colors';\n\n@Directive() // Required since Angular10 for DI to work (must be decorated to use Angular features)\nexport abstract class AbstractChartComponent implements AfterViewChecked, OnChanges {\n @ViewChild('chart') chartRef!: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat = '%m/%d';\n @Input() series: SeriesOptions[] = [];\n\n protected chart!: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && (this.chartRef.nativeElement.clientWidth !== this.lastWidth || this.lastWidth === 0)) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n abstract initChart(): void;\n}\n","import { Chart, dateFormat, Options, Series, SeriesOptionsType } from 'highcharts';\nimport { ChartColor, ChartColors } from './chart-colors';\nimport { SeriesRoundedColumnOptions } from './highchart-series.model';\n\nexport class ChartOptions {\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zooming: {\n type: 'xy',\n resetButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px',\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5],\n },\n },\n },\n },\n },\n panning: {\n enabled: true,\n },\n panKey: 'shift',\n style: {\n fontFamily: \"Averta, 'Open Sans', Helvetica, sans-serif\",\n },\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60],\n },\n },\n },\n credits: {\n enabled: false,\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal',\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold',\n },\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0,\n },\n },\n connectNulls: true,\n lineWidth: 4,\n },\n },\n navigation: {\n buttonOptions: {\n y: 0,\n },\n },\n title: {\n text: undefined,\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT,\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6,\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat:\n `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">` +\n `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat:\n `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">` +\n '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>',\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null,\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px',\n },\n },\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null,\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px',\n },\n },\n },\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[], options: Options, color: ChartColor | undefined, labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep(\n {\n labels: {\n formatter: function (): string {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return dateFormat(labelDateFormat ?? '%m/%d', this.value);\n },\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n },\n options.xAxis\n );\n // Configure series\n if (series?.length) {\n options.series = series;\n if (options.legend) {\n options.legend.enabled = series.length >= 2;\n }\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n\n static redrawWithHighestEdgesRounded(chart: Chart): void {\n chart.series.forEach((serie, serieIndex: number, arr) => {\n ChartOptions.roundHighestSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundHighestSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap: number[] = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex).every(otherSerie => {\n if (!otherSerie.visible) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions).data?.find(\n otherPoint => (otherPoint as [number | string, number | null])[0] === (point as [number | string, number | null])[0]\n );\n return !pointAtSameAbscissa || (pointAtSameAbscissa as [number | string, number | null])[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n\n static redrawWithHighestEdgesRoundedForStackedBarChart(chart: Chart): void {\n const seriesOptions = chart.series[0]?.options as SeriesRoundedColumnOptions;\n if (seriesOptions.data) {\n const globalRoundedMap: boolean[] = Array(seriesOptions.data.length).fill(false);\n chart.series.forEach(serie => ChartOptions.roundHighestSeriesForStackedBarChart(serie, globalRoundedMap));\n chart.redraw(true);\n }\n }\n\n static roundHighestSeriesForStackedBarChart(serie: Series, globalRoundedMap: boolean[]): void {\n if (globalRoundedMap.every(rounded => rounded)) {\n return;\n }\n const serieOptions = (serie.options as SeriesRoundedColumnOptions);\n if (serieOptions.data && serie.visible) {\n const borderRadiusMap: number[] = Array(serieOptions.data.length).fill(0);\n serieOptions.data.forEach((point, columnIndex) => {\n const value = point as number;\n if (!globalRoundedMap[columnIndex] && value != null && value > 0) {\n globalRoundedMap[columnIndex] = true;\n borderRadiusMap[columnIndex] = 100;\n }\n });\n serieOptions.borderRadiusTopLeft = borderRadiusMap;\n serieOptions.borderRadiusTopRight = borderRadiusMap;\n }\n }\n}\n\nexport function isObject(item: any) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\n\nexport function mergeDeep(target: any, source: any) {\n const output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) Object.assign(output, { [key]: source[key] });\n else output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source: any) {\n if (typeof source !== 'object' || source === null) {\n return source; // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {};\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n (newObject as any)[key] = deepCopy(source[key]);\n }\n }\n return newObject;\n}\n","import { Options, SeriesBarOptions, XAxisOptions, YAxisOptions } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\nimport { ChartColor } from './../chart-colors';\nimport { PlotRoundedSeriesOptions, SeriesRoundedBarOptions } from './../highchart-series.model';\n\nexport class ChartBarOptions extends ChartOptions {\n static buildBars(options: Options, selectiveRoundingEnabled: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar',\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter(): string {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + '...';\n }\n return this.value.toString();\n },\n style: {\n width: 100,\n },\n },\n type: 'category',\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1,\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20,\n },\n series: {\n borderWidth: 0,\n }\n },\n };\n defaultColumnOptions.plotOptions ??= {};\n if (selectiveRoundingEnabled) {\n defaultColumnOptions.plotOptions.bar ??= {};\n defaultColumnOptions.plotOptions.bar.stacking = 'normal';\n defaultColumnOptions.plotOptions.bar.events = {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRoundedForStackedBarChart(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRoundedForStackedBarChart(this.chart);\n },\n };\n } else {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n };\n defaultColumnOptions.plotOptions.series = seriesOptions;\n }\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(\n series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string\n ): void {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = series[0] as SeriesRoundedBarOptions;\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data?.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y),\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n });\n if (options.plotOptions?.series) {\n options.plotOptions.series.stacking = 'normal';\n }\n const yAxisLabels = (options.yAxis as YAxisOptions).labels;\n if (yAxisLabels) {\n yAxisLabels.formatter = function (): string {\n return Math.abs(+this.value) + '%';\n };\n }\n if (options.tooltip) {\n options.tooltip.pointFormatter = function (): string {\n return `<div style=\"font-size: 14px; color: #344563; margin: 6px 8px 0 8px;\"><span style=\"color:${\n this.color\n };\">\\u25CF</span> ${this.series.name}: <b>${Math.abs(this.y ?? 0) + '%'}</b></div>`;\n };\n }\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Chart, SeriesBarOptions } from 'highcharts';\nimport { ChartOptions } from '../../..';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartBarOptions } from './chart-bar-options.model';\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n standalone: true,\n})\nexport class ChartBarComponent extends AbstractChartComponent {\n @Input() categories: string[] = [];\n @Input() opposite: boolean = false;\n @Input() stacked: boolean = false;\n @Input() override series: SeriesBarOptions[] = [];\n\n initChart(): void {\n if (this.series) {\n const selectiveRoundingEnabled = this.stacked && !this.opposite;\n const chartOptions = ChartBarOptions.buildBars(this.chartOptions, selectiveRoundingEnabled);\n ChartBarOptions.configureBar(this.series, this.categories, chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart && selectiveRoundingEnabled) {\n ChartOptions.redrawWithHighestEdgesRoundedForStackedBarChart(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","import { dateFormat, Options } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartColumnOptions extends ChartOptions {\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column',\n },\n legend: {\n symbolHeight: 10,\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n },\n },\n },\n xAxis: {\n type: 'datetime',\n },\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px',\n },\n credits: {\n enabled: false,\n },\n plotOptions: {\n column: {\n events: {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n },\n },\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter(): string {\n return dateFormat('%m/%d', +this.value);\n },\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0,\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false,\n },\n gridLineWidth: 0,\n },\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Chart, SeriesColumnOptions } from 'highcharts';\nimport { ChartOptions } from '../../..';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartColumnOptions } from './chart-column-options.model';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n standalone: true,\n})\nexport class ChartColumnComponent extends AbstractChartComponent {\n @Input() override series: SeriesColumnOptions[] = [];\n @Input() simple = false;\n @Output() chartInitialized: EventEmitter<Chart> = new EventEmitter();\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n }\n this.chartInitialized.emit(this.chart);\n }\n }\n}\n","<div #chart></div>\n","import * as Highcharts from 'highcharts';\nimport { ChartColors } from '../chart-colors';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n static override build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600,\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px',\n },\n },\n },\n legend: {\n enabled: false,\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white',\n },\n },\n tooltip: {\n headerFormat: '',\n pointFormat:\n `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">` +\n `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>` +\n `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">` +\n `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}{point.unit}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n },\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true,\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true,\n },\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(\n categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string\n ) {\n super.configure(series, options, undefined, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { SeriesHeatmapOptions, mapChart } from 'highcharts/highmaps';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartHeatmapOptions } from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n standalone: true,\n})\nexport class ChartHeatmapComponent extends AbstractChartComponent {\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() override series: SeriesHeatmapOptions[] = [];\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","export enum ChartMetricType {\n default,\n total,\n}\n\nexport class ChartMetric {\n children?: ChartMetric[];\n name = '';\n type?: ChartMetricType;\n value = 0;\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatListModule } from '@angular/material/list';\nimport { ChartMetric, ChartMetricType } from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-chart-metrics-list',\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html',\n standalone: true,\n imports: [CommonModule, MatListModule, MatDividerModule],\n})\nexport class ChartMetricsListComponent {\n @Input({\n required: true,\n })\n metrics: ChartMetric[] = [];\n @Input() locale = 'en';\n\n ChartMetricType = ChartMetricType;\n digitsInfo = '1.0-1';\n}\n","<mat-list>\n @if (metrics) {\n @for (metric of metrics; track metric; let i = $index) {\n <mat-list-item [ngClass]=\"{ 'chart-metric-total': metric.type === ChartMetricType.total }\">\n @if (!metric.children) {\n <div class=\"chart-metric-name metric-label\">\n {{ metric.name }}\n </div>\n }\n @if (metric.children) {\n <div class=\"chart-metric-name\">\n <span class=\"metric-label\">\n {{ metric.name }}\n </span>\n <span class=\"chart-metric-children\">\n @for (item of metric.children; track item) {\n <span>\n <span class=\"child-label\">{{ item.name }}</span>\n :\n <span class=\"child-value\">{{ item.value }}</span>\n </span>\n }\n </span>\n </div>\n }\n <div class=\"chart-metric-value metric-label\">\n {{ metric.value | number: digitsInfo : locale }}\n </div>\n </mat-list-item>\n }\n }\n</mat-list>\n","import { Options } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartMixedOptions extends ChartOptions {\n static buildMixed(options: Options, singleDayEnabled: boolean): Options {\n const defaultOptions: Options = {\n chart: {\n type: 'column',\n },\n legend: {\n symbolHeight: 10,\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle',\n },\n },\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n },\n },\n },\n xAxis: {\n type: 'datetime',\n },\n };\n return super.build(mergeDeep(defaultOptions, options));\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Chart, SeriesOptionsType, SeriesSplineOptions } from 'highcharts';\nimport { ChartOptions } from '../../..';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartMixedOptions } from './chart-mixed-options.model';\n\n@Component({\n selector: 'ap-chart-mixed',\n templateUrl: './chart-mixed.component.html',\n standalone: true,\n})\nexport class ChartMixedComponent extends AbstractChartComponent {\n @Input() override series: SeriesOptionsType[] = [];\n\n initChart(): void {\n if (this.series) {\n const singleDayEnabled = (this.series.find(serie => serie.type === 'spline') as SeriesSplineOptions)?.data?.length === 1;\n const chartOptions = ChartMixedOptions.buildMixed(this.chartOptions, singleDayEnabled);\n ChartMixedOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","import { Options, SeriesPieOptions } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\nimport { ChartColor, ChartColors } from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: undefined,\n plotBorderWidth: undefined,\n plotShadow: false,\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true,\n },\n innerSize: '50%',\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels\n ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0',\n },\n }\n : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60],\n },\n },\n showInLegend: innerLabels,\n states: {\n inactive: {\n opacity: 1,\n },\n },\n },\n },\n tooltip: {\n outside: true,\n },\n legend: innerLabels\n ? {\n symbolHeight: 10,\n enabled: true,\n }\n : {},\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(\n series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean,\n mouseEventEnabled = true\n ): void {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels && options.legend) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors(series[0].data?.length ?? 0, color);\n if (mouseEventEnabled && options.plotOptions?.pie) {\n options.plotOptions.pie.point ??= {};\n options.plotOptions.pie.point.events ??= {};\n options.plotOptions.pie.events ??= {};\n this.configureEnteringASlice(options, innerLabels);\n this.configureLeavingASlice(options, innerLabels);\n this.configureLeavingTheWholePie(options, innerLabels);\n }\n }\n }\n\n private static configureEnteringASlice(options: Options, innerLabels: boolean) {\n if (options.plotOptions?.pie?.point?.events) {\n options.plotOptions.pie.point.events.mouseOver = function (): void {\n this.series.chart.series[0].points.forEach(point => {\n if (point.index !== this.index) {\n point.update(\n {\n color: ChartColors.GREY_COLORS[5],\n },\n false\n );\n if (innerLabels) {\n point.update(\n {\n dataLabels: {\n style: {\n color: ChartColors.GREY_COLORS[20],\n },\n },\n },\n false\n );\n }\n }\n });\n this.series.chart.redraw(false);\n };\n }\n }\n\n private static configureLeavingASlice(options: Options, innerLabels: boolean) {\n if (options.plotOptions?.pie?.point?.events) {\n options.plotOptions.pie.point.events.mouseOut = function (): void {\n this.series.chart.series[0].points.forEach((point, i) => {\n if (point.index !== this.index) {\n point.update(\n {\n color: options.colors?.[i % options.colors.length],\n },\n false\n );\n if (innerLabels) {\n point.update(\n {\n dataLabels: {\n style: {\n color: 'white',\n },\n },\n },\n false\n );\n }\n }\n });\n };\n }\n }\n\n private static configureLeavingTheWholePie(options: Options, innerLabels: boolean) {\n if (options.plotOptions?.pie?.events) {\n options.plotOptions.pie.events.mouseOut = function (): void {\n this.chart.series[0].points.forEach((point, i) => {\n point.update(\n {\n color: options.colors?.[i % options.colors.length],\n },\n false\n );\n if (innerLabels) {\n point.update(\n {\n dataLabels: {\n style: {\n color: 'white',\n },\n },\n },\n false\n );\n }\n });\n this.chart.redraw();\n };\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Chart, SeriesPieOptions } from 'highcharts';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartPieOptions } from './chart-pie-options.model';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n standalone: true,\n})\nexport class ChartPieComponent extends AbstractChartComponent {\n @Input() innerLabels = false;\n @Input() mouseEventEnabled = true;\n @Input() override series: SeriesPieOptions[] = [];\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(\n this.series,\n chartOptions,\n this.color,\n this.labelDateFormat,\n this.innerLabels,\n this.mouseEventEnabled\n );\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import { Options } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartSplineOptions extends ChartOptions {\n static buildSpline(options: Options, singleDayEnabled: boolean): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline',\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle',\n },\n },\n },\n xAxis: {\n type: 'datetime',\n },\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Chart, SeriesSplineOptions } from 'highcharts';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartSplineOptions } from './chart-spline-options.model';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n standalone: true,\n})\nexport class ChartSplineComponent extends AbstractChartComponent {\n @Input() override series: SeriesSplineOptions[] = [];\n @Output() chartInitialized: EventEmitter<Chart> = new EventEmitter();\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartSplineOptions.buildSpline(this.chartOptions, this.series[0].data?.length === 1);\n ChartSplineOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n this.chartInitialized.emit(this.chart);\n }\n }\n}\n","<div #chart></div>\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport { borderRadiusPlugin } from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport { AbstractChartComponent } from './src/lib/abstract-chart.component';\nexport { ChartBarComponent } from './src/lib/chart-bar/chart-bar.component';\nexport { ChartColor, ChartColors } from './src/lib/chart-colors';\nexport { ChartColumnComponent } from './src/lib/chart-column/chart-column.component';\nexport { ChartHeatmapComponent } from './src/lib/chart-heatmap/chart-heatmap.component';\nexport { ChartMetric, ChartMetricType } from './src/lib/chart-metric';\nexport { ChartMetricsListComponent } from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport { ChartMixedComponent } from './src/lib/chart-mixed/chart-mixed.component';\nexport { ChartOptions, mergeDeep } from './src/lib/chart-options';\nexport { ChartPieComponent } from './src/lib/chart-pie/chart-pie.component';\nexport { ChartSplineComponent } from './src/lib/chart-spline/chart-spline.component';\n\nexport { borderRadiusPlugin } from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agorapulse-ui-charts.mjs","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/abstract-chart.component.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.html","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.html","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.html","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.html","../../../libs/ui-charts/src/lib/chart-mixed/chart-mixed-options.model.ts","../../../libs/ui-charts/src/lib/chart-mixed/chart-mixed.component.ts","../../../libs/ui-charts/src/lib/chart-mixed/chart-mixed.component.html","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.html","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.html","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nexport const borderRadiusPlugin = function (H: any) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed: any) {\n // @ts-ignore\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n // @ts-ignore\n proceed.call(this);\n\n // @ts-ignore\n if (!this.points) {\n return;\n }\n\n if (\n borderRadiusTopLeftSettings ||\n borderRadiusTopRightSettings ||\n borderRadiusBottomLeftSettings ||\n borderRadiusBottomRightSettings\n ) {\n // @ts-ignore\n this.points.forEach(function (point) {\n roundPoint(\n borderRadiusTopLeftSettings,\n borderRadiusTopRightSettings,\n borderRadiusBottomLeftSettings,\n borderRadiusBottomRightSettings,\n point,\n H,\n topMargin,\n bottomMargin\n );\n });\n }\n });\n};\n\nfunction roundPoint(\n borderRadiusTopLeftSettings: string | any[],\n borderRadiusTopRightSettings: string | any[],\n borderRadiusBottomLeftSettings: string | any[],\n borderRadiusBottomRightSettings: string | any[],\n point: { shapeArgs: { width?: any; height?: any; x?: any; y?: any; d?: any[] }; index: string | number; dlBox: any; shapeType: string },\n H: { relativeLength: (arg0: any, arg1: any) => any },\n topMargin: any,\n bottomMargin: any\n) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = borderRadiusTopLeftSettings?.length\n ? (borderRadiusTopLeftSettings as any)[point.index]\n : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = borderRadiusTopRightSettings?.length\n ? (borderRadiusTopRightSettings as any)[point.index]\n : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = borderRadiusBottomLeftSettings?.length\n ? (borderRadiusBottomLeftSettings as any)[point.index]\n : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = borderRadiusBottomRightSettings?.length\n ? (borderRadiusBottomRightSettings as any)[point.index]\n : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M',\n x + radiusTopLeft,\n y + topMargin,\n 'L',\n x + w - radiusTopRight,\n y + topMargin,\n 'C',\n x + w - radiusTopRight / 2,\n y,\n x + w,\n y + radiusTopRight / 2,\n x + w,\n y + radiusTopRight,\n 'L',\n x + w,\n y + h - radiusBottomRight,\n 'C',\n x + w,\n y + h - radiusBottomRight / 2,\n x + w - radiusBottomRight / 2,\n y + h,\n x + w - radiusBottomRight,\n y + h + bottomMargin,\n 'L',\n x + radiusBottomLeft,\n y + h + bottomMargin,\n 'C',\n x + radiusBottomLeft / 2,\n y + h,\n x,\n y + h - radiusBottomLeft / 2,\n x,\n y + h - radiusBottomLeft,\n 'L',\n x,\n y + radiusTopLeft,\n 'C',\n x,\n y + radiusTopLeft / 2,\n x + radiusTopLeft / 2,\n y,\n x + radiusTopLeft,\n y,\n 'Z',\n ],\n };\n}\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4',\n '150': '#2873BA',\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe',\n '150': '#0e72d6',\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726',\n '150': '#C83E07',\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854',\n '150': '#0F821D',\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0',\n '150': '#3C2C95',\n };\n static readonly GREY_COLORS = {\n '5': '#F5F5F7',\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563',\n '150': '#212E44',\n };\n\n static readonly RED_COLORS = {\n '80': '#F17171',\n '150': '#D80505'\n };\n\n static readonly SOFT_RED_COLORS = {\n 100: '#ff5353',\n 85: '#ff6d6d',\n 60: '#ff9898',\n 10: '#fff9f9',\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor | undefined): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor | undefined): string[] {\n const colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[20], colors[40], colors[60], colors[100], colors[150]];\n default:\n return [colors[20], colors[40], colors[60], colors[85], colors[100], colors[150]];\n }\n }\n}\n","import { AfterViewChecked, Directive, ElementRef, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport { Chart, Options, SeriesOptions } from 'highcharts';\nimport { ChartColor } from './chart-colors';\n\n@Directive() // Required since Angular10 for DI to work (must be decorated to use Angular features)\nexport abstract class AbstractChartComponent implements AfterViewChecked, OnChanges {\n @ViewChild('chart') chartRef!: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat = '%m/%d';\n @Input() series: SeriesOptions[] = [];\n\n protected chart!: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && (this.chartRef.nativeElement.clientWidth !== this.lastWidth || this.lastWidth === 0)) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n abstract initChart(): void;\n}\n","import { Chart, dateFormat, Options, Series, SeriesOptionsType } from 'highcharts';\nimport { ChartColor, ChartColors } from './chart-colors';\nimport { SeriesRoundedColumnOptions } from './highchart-series.model';\n\nexport class ChartOptions {\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zooming: {\n type: 'xy',\n resetButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px',\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5],\n },\n },\n },\n },\n },\n panning: {\n enabled: true,\n },\n panKey: 'shift',\n style: {\n fontFamily: \"Averta, 'Open Sans', Helvetica, sans-serif\",\n },\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60],\n },\n },\n },\n credits: {\n enabled: false,\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal',\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold',\n },\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0,\n },\n },\n connectNulls: true,\n lineWidth: 4,\n },\n },\n navigation: {\n buttonOptions: {\n y: 0,\n },\n },\n title: {\n text: undefined,\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT,\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6,\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat:\n `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">` +\n `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat:\n `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">` +\n '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>',\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null,\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[85],\n fontSize: '12px',\n },\n },\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null,\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[85],\n fontSize: '12px',\n },\n },\n },\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[], options: Options, color: ChartColor | undefined, labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep(\n {\n labels: {\n formatter: function (): string {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return dateFormat(labelDateFormat ?? '%m/%d', this.value);\n },\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n },\n options.xAxis\n );\n // Configure series\n if (series?.length) {\n options.series = series;\n if (options.legend) {\n options.legend.enabled = series.length >= 2;\n }\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n\n static redrawWithHighestEdgesRounded(chart: Chart): void {\n chart.series.forEach((serie, serieIndex: number, arr) => {\n ChartOptions.roundHighestSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundHighestSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap: number[] = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex).every(otherSerie => {\n if (!otherSerie.visible) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions).data?.find(\n otherPoint => (otherPoint as [number | string, number | null])[0] === (point as [number | string, number | null])[0]\n );\n return !pointAtSameAbscissa || (pointAtSameAbscissa as [number | string, number | null])[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n\n static redrawWithHighestEdgesRoundedForStackedBarChart(chart: Chart): void {\n const seriesOptions = chart.series[0]?.options as SeriesRoundedColumnOptions;\n if (seriesOptions.data) {\n const globalRoundedMap: boolean[] = Array(seriesOptions.data.length).fill(false);\n chart.series.forEach(serie => ChartOptions.roundHighestSeriesForStackedBarChart(serie, globalRoundedMap));\n chart.redraw(true);\n }\n }\n\n static roundHighestSeriesForStackedBarChart(serie: Series, globalRoundedMap: boolean[]): void {\n if (globalRoundedMap.every(rounded => rounded)) {\n return;\n }\n const serieOptions = (serie.options as SeriesRoundedColumnOptions);\n if (serieOptions.data && serie.visible) {\n const borderRadiusMap: number[] = Array(serieOptions.data.length).fill(0);\n serieOptions.data.forEach((point, columnIndex) => {\n const value = point as number;\n if (!globalRoundedMap[columnIndex] && value != null && value > 0) {\n globalRoundedMap[columnIndex] = true;\n borderRadiusMap[columnIndex] = 100;\n }\n });\n serieOptions.borderRadiusTopLeft = borderRadiusMap;\n serieOptions.borderRadiusTopRight = borderRadiusMap;\n }\n }\n}\n\nexport function isObject(item: any) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\n\nexport function mergeDeep(target: any, source: any) {\n const output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) Object.assign(output, { [key]: source[key] });\n else output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source: any) {\n if (typeof source !== 'object' || source === null) {\n return source; // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {};\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n (newObject as any)[key] = deepCopy(source[key]);\n }\n }\n return newObject;\n}\n","import { Options, SeriesBarOptions, XAxisOptions, YAxisOptions } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\nimport { ChartColor } from './../chart-colors';\nimport { PlotRoundedSeriesOptions, SeriesRoundedBarOptions } from './../highchart-series.model';\n\nexport class ChartBarOptions extends ChartOptions {\n static buildBars(options: Options, selectiveRoundingEnabled: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar',\n },\n legend: {\n symbolHeight: 10,\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter(): string {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + '...';\n }\n return this.value.toString();\n },\n style: {\n width: 100,\n },\n },\n type: 'category',\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1,\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20,\n },\n series: {\n borderWidth: 0,\n }\n },\n };\n defaultColumnOptions.plotOptions ??= {};\n if (selectiveRoundingEnabled) {\n defaultColumnOptions.plotOptions.bar ??= {};\n defaultColumnOptions.plotOptions.bar.stacking = 'normal';\n defaultColumnOptions.plotOptions.bar.events = {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRoundedForStackedBarChart(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRoundedForStackedBarChart(this.chart);\n },\n };\n } else {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n };\n defaultColumnOptions.plotOptions.series = seriesOptions;\n }\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(\n series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string\n ): void {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = series[0] as SeriesRoundedBarOptions;\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data?.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y),\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n });\n if (options.plotOptions?.series) {\n options.plotOptions.series.stacking = 'normal';\n }\n const yAxisLabels = (options.yAxis as YAxisOptions).labels;\n if (yAxisLabels) {\n yAxisLabels.formatter = function (): string {\n return Math.abs(+this.value) + '%';\n };\n }\n if (options.tooltip) {\n options.tooltip.pointFormatter = function (): string {\n return `<div style=\"font-size: 14px; color: #344563; margin: 6px 8px 0 8px;\"><span style=\"color:${\n this.color\n };\">\\u25CF</span> ${this.series.name}: <b>${Math.abs(this.y ?? 0) + '%'}</b></div>`;\n };\n }\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Chart, SeriesBarOptions } from 'highcharts';\nimport { ChartOptions } from '../../..';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartBarOptions } from './chart-bar-options.model';\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n standalone: true,\n})\nexport class ChartBarComponent extends AbstractChartComponent {\n @Input() categories: string[] = [];\n @Input() opposite: boolean = false;\n @Input() stacked: boolean = false;\n @Input() override series: SeriesBarOptions[] = [];\n\n initChart(): void {\n if (this.series) {\n const selectiveRoundingEnabled = this.stacked && !this.opposite;\n const chartOptions = ChartBarOptions.buildBars(this.chartOptions, selectiveRoundingEnabled);\n ChartBarOptions.configureBar(this.series, this.categories, chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart && selectiveRoundingEnabled) {\n ChartOptions.redrawWithHighestEdgesRoundedForStackedBarChart(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","import { dateFormat, Options } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartColumnOptions extends ChartOptions {\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column',\n },\n legend: {\n symbolHeight: 10,\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n },\n },\n },\n xAxis: {\n type: 'datetime',\n },\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px',\n },\n credits: {\n enabled: false,\n },\n plotOptions: {\n column: {\n events: {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n },\n },\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter(): string {\n return dateFormat('%m/%d', +this.value);\n },\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0,\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false,\n },\n gridLineWidth: 0,\n },\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Chart, SeriesColumnOptions } from 'highcharts';\nimport { ChartOptions } from '../../..';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartColumnOptions } from './chart-column-options.model';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n standalone: true,\n})\nexport class ChartColumnComponent extends AbstractChartComponent {\n @Input() override series: SeriesColumnOptions[] = [];\n @Input() simple = false;\n @Output() chartInitialized: EventEmitter<Chart> = new EventEmitter();\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n }\n this.chartInitialized.emit(this.chart);\n }\n }\n}\n","<div #chart></div>\n","import * as Highcharts from 'highcharts';\nimport { ChartColors } from '../chart-colors';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n static override build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600,\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px',\n },\n },\n },\n legend: {\n enabled: false,\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white',\n },\n },\n tooltip: {\n headerFormat: '',\n pointFormat:\n `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">` +\n `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>` +\n `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">` +\n `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}{point.unit}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n },\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true,\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true,\n },\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(\n categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string\n ) {\n super.configure(series, options, undefined, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { SeriesHeatmapOptions, mapChart } from 'highcharts/highmaps';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartHeatmapOptions } from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n standalone: true,\n})\nexport class ChartHeatmapComponent extends AbstractChartComponent {\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() override series: SeriesHeatmapOptions[] = [];\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","export enum ChartMetricType {\n default,\n total,\n}\n\nexport class ChartMetric {\n children?: ChartMetric[];\n name = '';\n type?: ChartMetricType;\n value = 0;\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatListModule } from '@angular/material/list';\nimport { ChartMetric, ChartMetricType } from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-chart-metrics-list',\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html',\n standalone: true,\n imports: [CommonModule, MatListModule, MatDividerModule],\n})\nexport class ChartMetricsListComponent {\n @Input({\n required: true,\n })\n metrics: ChartMetric[] = [];\n @Input() locale = 'en';\n\n ChartMetricType = ChartMetricType;\n digitsInfo = '1.0-1';\n}\n","<mat-list>\n @if (metrics) {\n @for (metric of metrics; track metric; let i = $index) {\n <mat-list-item [ngClass]=\"{ 'chart-metric-total': metric.type === ChartMetricType.total }\">\n @if (!metric.children) {\n <div class=\"chart-metric-name metric-label\">\n {{ metric.name }}\n </div>\n }\n @if (metric.children) {\n <div class=\"chart-metric-name\">\n <span class=\"metric-label\">\n {{ metric.name }}\n </span>\n <span class=\"chart-metric-children\">\n @for (item of metric.children; track item) {\n <span>\n <span class=\"child-label\">{{ item.name }}</span>\n :\n <span class=\"child-value\">{{ item.value }}</span>\n </span>\n }\n </span>\n </div>\n }\n <div class=\"chart-metric-value metric-label\">\n {{ metric.value | number: digitsInfo : locale }}\n </div>\n </mat-list-item>\n }\n }\n</mat-list>\n","import { Options } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartMixedOptions extends ChartOptions {\n static buildMixed(options: Options, singleDayEnabled: boolean): Options {\n const defaultOptions: Options = {\n chart: {\n type: 'column',\n },\n legend: {\n symbolHeight: 10,\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle',\n },\n },\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n show(): void {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n },\n },\n },\n },\n xAxis: {\n type: 'datetime',\n },\n };\n return super.build(mergeDeep(defaultOptions, options));\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Chart, SeriesOptionsType, SeriesSplineOptions } from 'highcharts';\nimport { ChartOptions } from '../../..';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartMixedOptions } from './chart-mixed-options.model';\n\n@Component({\n selector: 'ap-chart-mixed',\n templateUrl: './chart-mixed.component.html',\n standalone: true,\n})\nexport class ChartMixedComponent extends AbstractChartComponent {\n @Input() override series: SeriesOptionsType[] = [];\n\n initChart(): void {\n if (this.series) {\n const singleDayEnabled = (this.series.find(serie => serie.type === 'spline') as SeriesSplineOptions)?.data?.length === 1;\n const chartOptions = ChartMixedOptions.buildMixed(this.chartOptions, singleDayEnabled);\n ChartMixedOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartOptions.redrawWithHighestEdgesRounded(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","import { Options, SeriesPieOptions } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\nimport { ChartColor, ChartColors } from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: undefined,\n plotBorderWidth: undefined,\n plotShadow: false,\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true,\n },\n innerSize: '50%',\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels\n ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0',\n },\n }\n : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60],\n },\n },\n showInLegend: innerLabels,\n states: {\n inactive: {\n opacity: 1,\n },\n },\n },\n },\n tooltip: {\n outside: true,\n },\n legend: innerLabels\n ? {\n symbolHeight: 10,\n enabled: true,\n }\n : {},\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(\n series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean,\n mouseEventEnabled = true\n ): void {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels && options.legend) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors(series[0].data?.length ?? 0, color);\n if (mouseEventEnabled && options.plotOptions?.pie) {\n options.plotOptions.pie.point ??= {};\n options.plotOptions.pie.point.events ??= {};\n options.plotOptions.pie.events ??= {};\n this.configureEnteringASlice(options, innerLabels);\n this.configureLeavingASlice(options, innerLabels);\n this.configureLeavingTheWholePie(options, innerLabels);\n }\n }\n }\n\n private static configureEnteringASlice(options: Options, innerLabels: boolean) {\n if (options.plotOptions?.pie?.point?.events) {\n options.plotOptions.pie.point.events.mouseOver = function (): void {\n this.series.chart.series[0].points.forEach(point => {\n if (point.index !== this.index) {\n point.update(\n {\n color: ChartColors.GREY_COLORS[5],\n },\n false\n );\n if (innerLabels) {\n point.update(\n {\n dataLabels: {\n style: {\n color: ChartColors.GREY_COLORS[20],\n },\n },\n },\n false\n );\n }\n }\n });\n this.series.chart.redraw(false);\n };\n }\n }\n\n private static configureLeavingASlice(options: Options, innerLabels: boolean) {\n if (options.plotOptions?.pie?.point?.events) {\n options.plotOptions.pie.point.events.mouseOut = function (): void {\n this.series.chart.series[0].points.forEach((point, i) => {\n if (point.index !== this.index) {\n point.update(\n {\n color: options.colors?.[i % options.colors.length],\n },\n false\n );\n if (innerLabels) {\n point.update(\n {\n dataLabels: {\n style: {\n color: 'white',\n },\n },\n },\n false\n );\n }\n }\n });\n };\n }\n }\n\n private static configureLeavingTheWholePie(options: Options, innerLabels: boolean) {\n if (options.plotOptions?.pie?.events) {\n options.plotOptions.pie.events.mouseOut = function (): void {\n this.chart.series[0].points.forEach((point, i) => {\n point.update(\n {\n color: options.colors?.[i % options.colors.length],\n },\n false\n );\n if (innerLabels) {\n point.update(\n {\n dataLabels: {\n style: {\n color: 'white',\n },\n },\n },\n false\n );\n }\n });\n this.chart.redraw();\n };\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Chart, SeriesPieOptions } from 'highcharts';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartPieOptions } from './chart-pie-options.model';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n standalone: true,\n})\nexport class ChartPieComponent extends AbstractChartComponent {\n @Input() innerLabels = false;\n @Input() mouseEventEnabled = true;\n @Input() override series: SeriesPieOptions[] = [];\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(\n this.series,\n chartOptions,\n this.color,\n this.labelDateFormat,\n this.innerLabels,\n this.mouseEventEnabled\n );\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import { Options } from 'highcharts';\nimport { ChartOptions, mergeDeep } from '../chart-options';\n\nexport class ChartSplineOptions extends ChartOptions {\n static buildSpline(options: Options, singleDayEnabled: boolean): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline',\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle',\n },\n },\n },\n xAxis: {\n type: 'datetime',\n },\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Chart, SeriesSplineOptions } from 'highcharts';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartSplineOptions } from './chart-spline-options.model';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n standalone: true,\n})\nexport class ChartSplineComponent extends AbstractChartComponent {\n @Input() override series: SeriesSplineOptions[] = [];\n @Output() chartInitialized: EventEmitter<Chart> = new EventEmitter();\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartSplineOptions.buildSpline(this.chartOptions, this.series[0].data?.length === 1);\n ChartSplineOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n this.chartInitialized.emit(this.chart);\n }\n }\n}\n","<div #chart></div>\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport { borderRadiusPlugin } from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport { AbstractChartComponent } from './src/lib/abstract-chart.component';\nexport { ChartBarComponent } from './src/lib/chart-bar/chart-bar.component';\nexport { ChartColor, ChartColors } from './src/lib/chart-colors';\nexport { ChartColumnComponent } from './src/lib/chart-column/chart-column.component';\nexport { ChartHeatmapComponent } from './src/lib/chart-heatmap/chart-heatmap.component';\nexport { ChartMetric, ChartMetricType } from './src/lib/chart-metric';\nexport { ChartMetricsListComponent } from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport { ChartMixedComponent } from './src/lib/chart-mixed/chart-mixed.component';\nexport { ChartOptions, mergeDeep } from './src/lib/chart-options';\nexport { ChartPieComponent } from './src/lib/chart-pie/chart-pie.component';\nexport { ChartSplineComponent } from './src/lib/chart-spline/chart-spline.component';\n\nexport { borderRadiusPlugin } from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agorapulse/ui-charts",
3
3
  "description": "Agorapulse UI Charts Components Library",
4
- "version": "17.1.2",
4
+ "version": "17.1.3",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
Binary file