@cqa-lib/cqa-ui 1.0.73 → 1.0.75

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.
@@ -11,15 +11,15 @@ export class HeatErrorMapCellComponent {
11
11
  get backgroundColorStyle() {
12
12
  switch (this.type) {
13
13
  case 'smoke':
14
- return { 'background-color': '#FDBA74' }; // orange-300
14
+ return { 'background-color': '#F4A07A' }; // orange-300
15
15
  case 'sanity':
16
- return { 'background-color': '#FCD34D' }; // amber-300
16
+ return { 'background-color': '#FFD465' }; // amber-300
17
17
  case 'regression':
18
- return { 'background-color': '#A7F3D0' }; // emerald-200
18
+ return { 'background-color': '#A8E6CF' }; // emerald-200
19
19
  case 'revisit':
20
- return { 'background-color': '#F4F4F5' }; // zinc-100
20
+ return { 'background-color': '#F0F0F0' }; // zinc-100
21
21
  default:
22
- return { 'background-color': '#FDBA74' }; // orange-300
22
+ return { 'background-color': '#F4A07A' }; // orange-300
23
23
  }
24
24
  }
25
25
  get progressWidth() {
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
44
44
  }], progress: [{
45
45
  type: Input
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhdC1lcnJvci1tYXAtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvaGVhdC1lcnJvci1tYXAtY2VsbC9oZWF0LWVycm9yLW1hcC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9oZWF0LWVycm9yLW1hcC1jZWxsL2hlYXQtZXJyb3ItbWFwLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVlqRCxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBU1csU0FBSSxHQUF5QixPQUFPLENBQUM7UUFDckMsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLGFBQVEsR0FBVyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7S0FzQi9EO0lBcEJDLElBQUksb0JBQW9CO1FBQ3RCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsYUFBYTtZQUN6RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWTtZQUN4RCxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsY0FBYztZQUMxRCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVztZQUN2RDtnQkFDRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxhQUFhO1NBQzFEO0lBQ0gsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLG1DQUFtQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLEdBQUcsZUFBZSxHQUFHLENBQUM7SUFDL0IsQ0FBQzs7c0hBekJVLHlCQUF5QjswR0FBekIseUJBQXlCLGlOQ1p0QyxreUNBMEJBOzJGRGRhLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx5QkFBeUIsUUFHN0I7d0JBQ0osS0FBSyxFQUFFLGtDQUFrQztxQkFDMUM7OEJBR1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgSGVhdEVycm9yTWFwQ2VsbFR5cGUgPSAnc21va2UnIHwgJ3Nhbml0eScgfCAncmVncmVzc2lvbicgfCAncmV2aXNpdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1oZWF0LWVycm9yLW1hcC1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYXQtZXJyb3ItbWFwLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdjcWEtYmxvY2sgY3FhLXctZnVsbCBjcWEtdWktcm9vdCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEhlYXRFcnJvck1hcENlbGxDb21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiBIZWF0RXJyb3JNYXBDZWxsVHlwZSA9ICdzbW9rZSc7XG4gIEBJbnB1dCgpIGNhc2VzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBkZWZlY3RzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBwcm9ncmVzczogbnVtYmVyID0gMDsgLy8gUHJvZ3Jlc3MgdmFsdWUgZnJvbSAwIHRvIDEwMFxuXG4gIGdldCBiYWNrZ3JvdW5kQ29sb3JTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSAnc21va2UnOlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjRkRCQTc0JyB9OyAvLyBvcmFuZ2UtMzAwXG4gICAgICBjYXNlICdzYW5pdHknOlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjRkNEMzREJyB9OyAvLyBhbWJlci0zMDBcbiAgICAgIGNhc2UgJ3JlZ3Jlc3Npb24nOlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjQTdGM0QwJyB9OyAvLyBlbWVyYWxkLTIwMFxuICAgICAgY2FzZSAncmV2aXNpdCc6XG4gICAgICAgIHJldHVybiB7ICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNGNEY0RjUnIH07IC8vIHppbmMtMTAwXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjRkRCQTc0JyB9OyAvLyBvcmFuZ2UtMzAwXG4gICAgfVxuICB9XG5cbiAgZ2V0IHByb2dyZXNzV2lkdGgoKTogc3RyaW5nIHtcbiAgICAvLyBDbGFtcCBwcm9ncmVzcyBiZXR3ZWVuIDAgYW5kIDEwMFxuICAgIGNvbnN0IGNsYW1wZWRQcm9ncmVzcyA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgdGhpcy5wcm9ncmVzcykpO1xuICAgIHJldHVybiBgJHtjbGFtcGVkUHJvZ3Jlc3N9JWA7XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLW1pbi1oLTI0IGNxYS1zZWxmLXN0cmV0Y2ggY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1yb3VuZGVkLTJ4bCBjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC00IGNxYS1wLTRcIiBbbmdTdHlsZV09XCJiYWNrZ3JvdW5kQ29sb3JTdHlsZVwiPlxuICAgIDwhLS0gc2VjdGlvbiAxIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtc2VsZi1zdHJldGNoIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC1weFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1zZWxmLXN0cmV0Y2ggY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LXN0YXJ0IGNxYS1pdGVtcy1zdGFydFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXNlbGYtc3RyZXRjaCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXRleHQtZ3JheS05MDAgY3FhLXRleHQtYmFzZSBjcWEtZm9udC1ib2xkIGNxYS1sZWFkaW5nLTUgY3FhLWZvbnQtZ2Vpc3RcIj5cbiAgICAgICAgICB7eyBjYXNlcyB9fSBjYXNlc1xuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1zZWxmLXN0cmV0Y2ggY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LXN0YXJ0IGNxYS1pdGVtcy1zdGFydFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXNlbGYtc3RyZXRjaCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXRleHQtZ3JheS05MDAgY3FhLXRleHQteHMgY3FhLWZvbnQtbm9ybWFsIGNxYS1sZWFkaW5nLTQgY3FhLWZvbnQtZ2Vpc3RcIj5cbiAgICAgICAgICB7eyBkZWZlY3RzIH19IGRlZmVjdHNcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIHNlY3Rpb24gMiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXNlbGYtc3RyZXRjaCBjcWEtaC0xIGNxYS1yZWxhdGl2ZSBjcWEtcm91bmRlZC1mdWxsIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWJnLXdoaXRlLzcwXCI+XG4gICAgICA8ZGl2IFxuICAgICAgICBjbGFzcz1cImNxYS1oLTEgY3FhLWxlZnQtMCBjcWEtdG9wLTAgY3FhLWFic29sdXRlIGNxYS1iZy1yZWQtNTAwIGNxYS1yb3VuZGVkLWZ1bGxcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJvZ3Jlc3NXaWR0aFwiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhdC1lcnJvci1tYXAtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvaGVhdC1lcnJvci1tYXAtY2VsbC9oZWF0LWVycm9yLW1hcC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9oZWF0LWVycm9yLW1hcC1jZWxsL2hlYXQtZXJyb3ItbWFwLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVlqRCxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBU1csU0FBSSxHQUF5QixPQUFPLENBQUM7UUFDckMsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLGFBQVEsR0FBVyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7S0FzQi9EO0lBcEJDLElBQUksb0JBQW9CO1FBQ3RCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsYUFBYTtZQUN6RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWTtZQUN4RCxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsY0FBYztZQUMxRCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVztZQUN2RDtnQkFDRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxhQUFhO1NBQzFEO0lBQ0gsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLG1DQUFtQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLEdBQUcsZUFBZSxHQUFHLENBQUM7SUFDL0IsQ0FBQzs7c0hBekJVLHlCQUF5QjswR0FBekIseUJBQXlCLGlOQ1p0QyxreUNBMEJBOzJGRGRhLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx5QkFBeUIsUUFHN0I7d0JBQ0osS0FBSyxFQUFFLGtDQUFrQztxQkFDMUM7OEJBR1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgSGVhdEVycm9yTWFwQ2VsbFR5cGUgPSAnc21va2UnIHwgJ3Nhbml0eScgfCAncmVncmVzc2lvbicgfCAncmV2aXNpdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1oZWF0LWVycm9yLW1hcC1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYXQtZXJyb3ItbWFwLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdjcWEtYmxvY2sgY3FhLXctZnVsbCBjcWEtdWktcm9vdCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEhlYXRFcnJvck1hcENlbGxDb21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiBIZWF0RXJyb3JNYXBDZWxsVHlwZSA9ICdzbW9rZSc7XG4gIEBJbnB1dCgpIGNhc2VzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBkZWZlY3RzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBwcm9ncmVzczogbnVtYmVyID0gMDsgLy8gUHJvZ3Jlc3MgdmFsdWUgZnJvbSAwIHRvIDEwMFxuXG4gIGdldCBiYWNrZ3JvdW5kQ29sb3JTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSAnc21va2UnOlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjRjRBMDdBJyB9OyAvLyBvcmFuZ2UtMzAwXG4gICAgICBjYXNlICdzYW5pdHknOlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjRkZENDY1JyB9OyAvLyBhbWJlci0zMDBcbiAgICAgIGNhc2UgJ3JlZ3Jlc3Npb24nOlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjQThFNkNGJyB9OyAvLyBlbWVyYWxkLTIwMFxuICAgICAgY2FzZSAncmV2aXNpdCc6XG4gICAgICAgIHJldHVybiB7ICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNGMEYwRjAnIH07IC8vIHppbmMtMTAwXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6ICcjRjRBMDdBJyB9OyAvLyBvcmFuZ2UtMzAwXG4gICAgfVxuICB9XG5cbiAgZ2V0IHByb2dyZXNzV2lkdGgoKTogc3RyaW5nIHtcbiAgICAvLyBDbGFtcCBwcm9ncmVzcyBiZXR3ZWVuIDAgYW5kIDEwMFxuICAgIGNvbnN0IGNsYW1wZWRQcm9ncmVzcyA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgdGhpcy5wcm9ncmVzcykpO1xuICAgIHJldHVybiBgJHtjbGFtcGVkUHJvZ3Jlc3N9JWA7XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLW1pbi1oLTI0IGNxYS1zZWxmLXN0cmV0Y2ggY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1yb3VuZGVkLTJ4bCBjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC00IGNxYS1wLTRcIiBbbmdTdHlsZV09XCJiYWNrZ3JvdW5kQ29sb3JTdHlsZVwiPlxuICAgIDwhLS0gc2VjdGlvbiAxIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtc2VsZi1zdHJldGNoIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC1weFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1zZWxmLXN0cmV0Y2ggY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LXN0YXJ0IGNxYS1pdGVtcy1zdGFydFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXNlbGYtc3RyZXRjaCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXRleHQtZ3JheS05MDAgY3FhLXRleHQtYmFzZSBjcWEtZm9udC1ib2xkIGNxYS1sZWFkaW5nLTUgY3FhLWZvbnQtZ2Vpc3RcIj5cbiAgICAgICAgICB7eyBjYXNlcyB9fSBjYXNlc1xuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1zZWxmLXN0cmV0Y2ggY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LXN0YXJ0IGNxYS1pdGVtcy1zdGFydFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXNlbGYtc3RyZXRjaCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXRleHQtZ3JheS05MDAgY3FhLXRleHQteHMgY3FhLWZvbnQtbm9ybWFsIGNxYS1sZWFkaW5nLTQgY3FhLWZvbnQtZ2Vpc3RcIj5cbiAgICAgICAgICB7eyBkZWZlY3RzIH19IGRlZmVjdHNcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIHNlY3Rpb24gMiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXNlbGYtc3RyZXRjaCBjcWEtaC0xIGNxYS1yZWxhdGl2ZSBjcWEtcm91bmRlZC1mdWxsIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWJnLXdoaXRlLzcwXCI+XG4gICAgICA8ZGl2IFxuICAgICAgICBjbGFzcz1cImNxYS1oLTEgY3FhLWxlZnQtMCBjcWEtdG9wLTAgY3FhLWFic29sdXRlIGNxYS1iZy1yZWQtNTAwIGNxYS1yb3VuZGVkLWZ1bGxcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJvZ3Jlc3NXaWR0aFwiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuIl19
@@ -30,10 +30,14 @@ export class MetricsBlockComponent {
30
30
  }
31
31
  }
32
32
  MetricsBlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- MetricsBlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsBlockComponent, selector: "cqa-metrics-block", inputs: { item: "item", progress: "progress", layout: "layout", itemslength: "itemslength" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '', item.onClick ? 'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50' : '']\"\n (click)=\"handleClick($event)\"\n [attr.title]=\"null\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-truncate\" [attr.title]=\"null\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-text-[#6A7282]\" [attr.title]=\"null\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-tracking-[-0.449219px] cqa-text-[#101828]\" [attr.title]=\"null\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block\" [attr.title]=\"null\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6B7280]\" [attr.title]=\"null\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\" [attr.title]=\"null\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(item.percent)\" [attr.title]=\"null\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i2.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ MetricsBlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsBlockComponent, selector: "cqa-metrics-block", inputs: { item: "item", progress: "progress", layout: "layout", itemslength: "itemslength" }, host: { properties: { "class.cqa-flex-1": "true", "class.cqa-min-w-0": "true" }, classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full cqa-flex-1 cqa-min-w-0 md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full cqa-flex-1 cqa-min-w-0 md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '', item.onClick ? 'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50' : '']\"\n (click)=\"handleClick($event)\"\n [attr.title]=\"null\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-min-w-0\" [attr.title]=\"null\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-font-inter cqa-text-[#6A7282] cqa-truncate\" [attr.title]=\"null\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex cqa-min-w-0\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-font-inter cqa-tracking-[-0.449219px] cqa-text-[#101828] cqa-flex-shrink-0\" [attr.title]=\"null\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-font-inter cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block cqa-min-w-0\" [attr.title]=\"null\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden cqa-flex-shrink-0\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-font-inter cqa-text-[#6B7280]\" [attr.title]=\"null\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-font-inter cqa-text-[#111827]\" [attr.title]=\"null\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4 cqa-font-inter\"\n [ngClass]=\"percentClass(item.percent)\" [attr.title]=\"null\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i2.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsBlockComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'cqa-metrics-block', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '', item.onClick ? 'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50' : '']\"\n (click)=\"handleClick($event)\"\n [attr.title]=\"null\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-truncate\" [attr.title]=\"null\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-text-[#6A7282]\" [attr.title]=\"null\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-tracking-[-0.449219px] cqa-text-[#101828]\" [attr.title]=\"null\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block\" [attr.title]=\"null\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6B7280]\" [attr.title]=\"null\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\" [attr.title]=\"null\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(item.percent)\" [attr.title]=\"null\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", styles: [] }]
36
+ args: [{ selector: 'cqa-metrics-block', changeDetection: ChangeDetectionStrategy.OnPush, host: {
37
+ class: 'cqa-ui-root',
38
+ '[class.cqa-flex-1]': 'true',
39
+ '[class.cqa-min-w-0]': 'true'
40
+ }, template: "<div class=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full cqa-flex-1 cqa-min-w-0 md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full cqa-flex-1 cqa-min-w-0 md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '', item.onClick ? 'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50' : '']\"\n (click)=\"handleClick($event)\"\n [attr.title]=\"null\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-min-w-0\" [attr.title]=\"null\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-font-inter cqa-text-[#6A7282] cqa-truncate\" [attr.title]=\"null\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex cqa-min-w-0\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-font-inter cqa-tracking-[-0.449219px] cqa-text-[#101828] cqa-flex-shrink-0\" [attr.title]=\"null\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-font-inter cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block cqa-min-w-0\" [attr.title]=\"null\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden cqa-flex-shrink-0\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-font-inter cqa-text-[#6B7280]\" [attr.title]=\"null\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-font-inter cqa-text-[#111827]\" [attr.title]=\"null\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4 cqa-font-inter\"\n [ngClass]=\"percentClass(item.percent)\" [attr.title]=\"null\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", styles: [] }]
37
41
  }], propDecorators: { item: [{
38
42
  type: Input
39
43
  }], progress: [{
@@ -43,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
43
47
  }], itemslength: [{
44
48
  type: Input
45
49
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvbWV0cmljcy1jYXJkL21ldHJpY3MtYmxvY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFFLE1BQU0sT0FBTyxxQkFBcUI7SUFQbEM7UUFTVyxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxHQUFHLENBQUM7S0FvQnBDO0lBbEJDLGFBQWEsQ0FBQyxLQUFjO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDOUYsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDM0MsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDM0MsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQzs7a0hBdkJVLHFCQUFxQjtzR0FBckIscUJBQXFCLGdNQ1ZsQyxtd0dBOENNOzJGRHBDTyxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUdyQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRyaWNzQ2FyZEl0ZW0gfSBmcm9tICcuL21ldHJpY3MtY2FyZC1pdGVtLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1tZXRyaWNzLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldHJpY3MtYmxvY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIE1ldHJpY3NCbG9ja0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW0hOiBNZXRyaWNzQ2FyZEl0ZW07XG4gIEBJbnB1dCgpIHByb2dyZXNzOiBzdHJpbmcgPSAnMCUnO1xuICBASW5wdXQoKSBsYXlvdXQ6IHN0cmluZyA9ICcxJztcbiAgQElucHV0KCkgaXRlbXNsZW5ndGg6IHN0cmluZyA9ICcwJztcblxuICBmb3JtYXRQZXJjZW50KHZhbHVlPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4odmFsdWUpKSByZXR1cm4gJyc7XG4gICAgY29uc3Qgc2lnbiA9IHZhbHVlID4gMCA/ICcrJyA6IHZhbHVlIDwgMCA/ICcnIDogJyc7XG4gICAgcmV0dXJuIGAke3NpZ259JHt2YWx1ZX0lYDtcbiAgfVxuXG4gIHBlcmNlbnRDbGFzcyh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICdjcWEtdGV4dC1bIzZCNzI4MF0nO1xuICAgIGlmICh2YWx1ZSA+IDApIHJldHVybiAnY3FhLXRleHQtWyMxMEI5ODFdJztcbiAgICBpZiAodmFsdWUgPCAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjRUY0NDQ0XSc7XG4gICAgcmV0dXJuICdjcWEtdGV4dC1bIzZCNzI4MF0nO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXRlbS5vbkNsaWNrKSB7XG4gICAgICB0aGlzLml0ZW0ub25DbGljayh0aGlzLml0ZW0sIGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIltsYXlvdXQgPT09ICcxJ1xuICAgID8gJ2NxYS1mbGV4IGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtaXRlbXMtY2VudGVyIGNxYS1weS0zIG1kOmNxYS1wdC0xIG1kOmNxYS1wYi0wLjUgY3FhLXB4LTUgY3FhLWdhcC0zIGNxYS13LWZ1bGwgbWQ6Y3FhLWgtWzYycHhdIGNxYS1ib3JkZXItYi0wIGNxYS1ib3JkZXItWyNFNUU3RUJdJ1xuICAgIDogJ2NxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtc3RhcnQgY3FhLXB5LTMgbWQ6Y3FhLXB5LTEgbGc6Y3FhLXB4LTUgY3FhLXB4LTIgY3FhLXctZnVsbCBtZDpjcWEtaC1bNTNweF0nLCBpdGVtc2xlbmd0aCA9PSBpdGVtLmlkID8gJ2NxYS1ib3JkZXItbCBtZDpjcWEtYm9yZGVyLWwtMCBtZDpjcWEtYm9yZGVyLWwnIDogJycgLCBpdGVtLmlkID09ICcxJyAmJiBsYXlvdXQgPT09ICcxJyA/ICdjcWEtYm9yZGVyLWwgbWQ6Y3FhLWJvcmRlci1yJyA6ICcnLCBpdGVtLm9uQ2xpY2sgPyAnY3FhLWN1cnNvci1wb2ludGVyIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpjcWEtYmctZ3JheS01MCcgOiAnJ11cIlxuICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICBbYXR0ci50aXRsZV09XCJudWxsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dCA9PT0gJzEnOyBlbHNlIGxheW91dDJcIj5cbiAgICAgIDwhLS0gW25nQ2xhc3NdPVwieyAnYm9yZGVyLWwgbWQ6Ym9yZGVyLWwtMCc6IGl0ZW1zbGVuZ3RoID09IGl0ZW0uaWQgfVwiIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTEwIGNxYS1oLTEwIGNxYS1taW4tdy1bNDBweF0gY3FhLXJvdW5kZWQtWzEwcHhdXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5hY2NlbnRCZ0NsYXNzIHx8ICdjcWEtYmctWyNFRUYyRkZdJ1wiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXctNSAhY3FhLWgtNSAhY3FhLXRleHQtWzIwcHhdXCIgW25nQ2xhc3NdPVwiaXRlbS5pY29uQ29sb3JDbGFzcyB8fCAnY3FhLXRleHQtWyMzRjQzRUVdJ1wiXG4gICAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIj57eyBpdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTAuNSBjcWEtdy1mdWxsIGNxYS1oLWF1dG8gY3FhLWZsZXgtMSBjcWEtdHJ1bmNhdGVcIiBbYXR0ci50aXRsZV09XCJudWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLTQgY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLTQgY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNkE3MjgyXVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj57eyBpdGVtLmxhYmVsXG4gICAgICAgICAgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWgtNyBjcWEtZ2FwLTIgY3FhLWZsZXhcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uc3VidGV4dCA/ICdjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1pdGVtcy1jZW50ZXInIDogJ2NxYS1qdXN0aWZ5LXN0YXJ0IGNxYS1pdGVtcy1jZW50ZXInXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjcWEtdGV4dC1bMjBweF0gY3FhLWxlYWRpbmctWzI4cHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10cmFja2luZy1bLTAuNDQ5MjE5cHhdIGNxYS10ZXh0LVsjMTAxODI4XVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj5cbiAgICAgICAgICAgIHt7IGl0ZW0udmFsdWUgfCBudW1iZXIgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5zdWJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLTQgY3FhLXRleHQtWyM2QTcyODJdIGNxYS10cnVuY2F0ZSBjcWEtaGlkZGVuIHNtOmNxYS1ibG9ja1wiIFthdHRyLnRpdGxlXT1cIm51bGxcIj57e1xuICAgICAgICAgICAgaXRlbS5zdWJ0ZXh0IH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtaC0xIGNxYS1yb3VuZGVkLWZ1bGwgY3FhLWJnLVsjRjNGNEY2XSBjcWEtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1oLWZ1bGwgY3FhLXJvdW5kZWQtZnVsbFwiIFtuZ0NsYXNzXT1cIml0ZW0uY29sb3JDbGFzcyB8fCAnY3FhLWJnLVsjM0Y0M0VFXSdcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cInByb2dyZXNzXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsYXlvdXQyPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0xXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiFjcWEtdy01ICFjcWEtaC01ICFjcWEtdGV4dC1bMTZweF1cIiBbbmdDbGFzc109XCJpdGVtLmljb25Db2xvckNsYXNzIHx8ICdjcWEtdGV4dC1bIzNGNDNFRV0nXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiPnt7IGl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLTQgY3FhLXRleHQtWyM2QjcyODBdXCIgW2F0dHIudGl0bGVdPVwibnVsbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMS41IGNxYS13LWZ1bGwgY3FhLWp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8aDYgY2xhc3M9XCJjcWEtdGV4dC1bMTZweF0gY3FhLWxlYWRpbmctNyBjcWEtdHJhY2tpbmctWy0wLjQ1cHhdIGNxYS10ZXh0LVsjMTExODI3XVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj57eyBpdGVtLnZhbHVlIHwgbnVtYmVyIH19XG4gICAgICAgIDwvaDY+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5wZXJjZW50ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy00XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJwZXJjZW50Q2xhc3MoaXRlbS5wZXJjZW50KVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj57eyBmb3JtYXRQZXJjZW50KGl0ZW0ucGVyY2VudCkgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvbWV0cmljcy1jYXJkL21ldHJpY3MtYmxvY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBYzFFLE1BQU0sT0FBTyxxQkFBcUI7SUFYbEM7UUFhVyxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxHQUFHLENBQUM7S0FvQnBDO0lBbEJDLGFBQWEsQ0FBQyxLQUFjO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDOUYsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDM0MsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDM0MsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQzs7a0hBdkJVLHFCQUFxQjtzR0FBckIscUJBQXFCLHlRQ2RsQyxtOUdBOENNOzJGRGhDTyxxQkFBcUI7a0JBWGpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLG9CQUFvQixFQUFFLE1BQU07d0JBQzVCLHFCQUFxQixFQUFFLE1BQU07cUJBQzlCOzhCQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldHJpY3NDYXJkSXRlbSB9IGZyb20gJy4vbWV0cmljcy1jYXJkLWl0ZW0uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW1ldHJpY3MtYmxvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0cmljcy1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IFxuICAgIGNsYXNzOiAnY3FhLXVpLXJvb3QnLFxuICAgICdbY2xhc3MuY3FhLWZsZXgtMV0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5jcWEtbWluLXctMF0nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNZXRyaWNzQmxvY2tDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtITogTWV0cmljc0NhcmRJdGVtO1xuICBASW5wdXQoKSBwcm9ncmVzczogc3RyaW5nID0gJzAlJztcbiAgQElucHV0KCkgbGF5b3V0OiBzdHJpbmcgPSAnMSc7XG4gIEBJbnB1dCgpIGl0ZW1zbGVuZ3RoOiBzdHJpbmcgPSAnMCc7XG5cbiAgZm9ybWF0UGVyY2VudCh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGNvbnN0IHNpZ24gPSB2YWx1ZSA+IDAgPyAnKycgOiB2YWx1ZSA8IDAgPyAnJyA6ICcnO1xuICAgIHJldHVybiBgJHtzaWdufSR7dmFsdWV9JWA7XG4gIH1cblxuICBwZXJjZW50Q2xhc3ModmFsdWU/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IE51bWJlci5pc05hTih2YWx1ZSkpIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgICBpZiAodmFsdWUgPiAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjMTBCOTgxXSc7XG4gICAgaWYgKHZhbHVlIDwgMCkgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nO1xuICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW0ub25DbGljaykge1xuICAgICAgdGhpcy5pdGVtLm9uQ2xpY2sodGhpcy5pdGVtLCBldmVudCk7XG4gICAgfVxuICB9XG59XG5cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCI+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJbbGF5b3V0ID09PSAnMSdcbiAgICA/ICdjcWEtZmxleCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWl0ZW1zLWNlbnRlciBjcWEtcHktMyBtZDpjcWEtcHQtMSBtZDpjcWEtcGItMC41IGNxYS1weC01IGNxYS1nYXAtMyBjcWEtdy1mdWxsIGNxYS1mbGV4LTEgY3FhLW1pbi13LTAgbWQ6Y3FhLWgtWzYycHhdIGNxYS1ib3JkZXItYi0wIGNxYS1ib3JkZXItWyNFNUU3RUJdJ1xuICAgIDogJ2NxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtc3RhcnQgY3FhLXB5LTMgbWQ6Y3FhLXB5LTEgbGc6Y3FhLXB4LTUgY3FhLXB4LTIgY3FhLXctZnVsbCBjcWEtZmxleC0xIGNxYS1taW4tdy0wIG1kOmNxYS1oLVs1M3B4XScsIGl0ZW1zbGVuZ3RoID09IGl0ZW0uaWQgPyAnY3FhLWJvcmRlci1sIG1kOmNxYS1ib3JkZXItbC0wIG1kOmNxYS1ib3JkZXItbCcgOiAnJyAsIGl0ZW0uaWQgPT0gJzEnICYmIGxheW91dCA9PT0gJzEnID8gJ2NxYS1ib3JkZXItbCBtZDpjcWEtYm9yZGVyLXInIDogJycsIGl0ZW0ub25DbGljayA/ICdjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmNxYS1iZy1ncmF5LTUwJyA6ICcnXVwiXG4gICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgIFthdHRyLnRpdGxlXT1cIm51bGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0ID09PSAnMSc7IGVsc2UgbGF5b3V0MlwiPlxuICAgICAgPCEtLSBbbmdDbGFzc109XCJ7ICdib3JkZXItbCBtZDpib3JkZXItbC0wJzogaXRlbXNsZW5ndGggPT0gaXRlbS5pZCB9XCIgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXctMTAgY3FhLWgtMTAgY3FhLW1pbi13LVs0MHB4XSBjcWEtcm91bmRlZC1bMTBweF1cIlxuICAgICAgICBbbmdDbGFzc109XCJpdGVtLmFjY2VudEJnQ2xhc3MgfHwgJ2NxYS1iZy1bI0VFRjJGRl0nXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiFjcWEtdy01ICFjcWEtaC01ICFjcWEtdGV4dC1bMjBweF1cIiBbbmdDbGFzc109XCJpdGVtLmljb25Db2xvckNsYXNzIHx8ICdjcWEtdGV4dC1bIzNGNDNFRV0nXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiPnt7IGl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1nYXAtMC41IGNxYS13LWZ1bGwgY3FhLWgtYXV0byBjcWEtZmxleC0xIGNxYS1taW4tdy0wXCIgW2F0dHIudGl0bGVdPVwibnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtaC00IGNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy00IGNxYS1mb250LW1lZGl1bSBjcWEtZm9udC1pbnRlciBjcWEtdGV4dC1bIzZBNzI4Ml0gY3FhLXRydW5jYXRlXCIgW2F0dHIudGl0bGVdPVwibnVsbFwiPnt7IGl0ZW0ubGFiZWxcbiAgICAgICAgICB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtaC03IGNxYS1nYXAtMiBjcWEtZmxleCBjcWEtbWluLXctMFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5zdWJ0ZXh0ID8gJ2NxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLWl0ZW1zLWNlbnRlcicgOiAnY3FhLWp1c3RpZnktc3RhcnQgY3FhLWl0ZW1zLWNlbnRlcidcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNxYS10ZXh0LVsyMHB4XSBjcWEtbGVhZGluZy1bMjhweF0gY3FhLWZvbnQtc2VtaWJvbGQgY3FhLWZvbnQtaW50ZXIgY3FhLXRyYWNraW5nLVstMC40NDkyMTlweF0gY3FhLXRleHQtWyMxMDE4MjhdIGNxYS1mbGV4LXNocmluay0wXCIgW2F0dHIudGl0bGVdPVwibnVsbFwiPlxuICAgICAgICAgICAge3sgaXRlbS52YWx1ZSB8IG51bWJlciB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLnN1YnRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtZm9udC1pbnRlciBjcWEtdGV4dC1bIzZBNzI4Ml0gY3FhLXRydW5jYXRlIGNxYS1oaWRkZW4gc206Y3FhLWJsb2NrIGNxYS1taW4tdy0wXCIgW2F0dHIudGl0bGVdPVwibnVsbFwiPnt7XG4gICAgICAgICAgICBpdGVtLnN1YnRleHQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLTEgY3FhLXJvdW5kZWQtZnVsbCBjcWEtYmctWyNGM0Y0RjZdIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWZsZXgtc2hyaW5rLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtcm91bmRlZC1mdWxsXCIgW25nQ2xhc3NdPVwiaXRlbS5jb2xvckNsYXNzIHx8ICdjcWEtYmctWyMzRjQzRUVdJ1wiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJvZ3Jlc3NcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2xheW91dDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTFcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiIWNxYS13LTUgIWNxYS1oLTUgIWNxYS10ZXh0LVsxNnB4XVwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbkNvbG9yQ2xhc3MgfHwgJ2NxYS10ZXh0LVsjM0Y0M0VFXSdcIlxuICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uXCI+e3sgaXRlbS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtZm9udC1pbnRlciBjcWEtdGV4dC1bIzZCNzI4MF1cIiBbYXR0ci50aXRsZV09XCJudWxsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0xLjUgY3FhLXctZnVsbCBjcWEtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxoNiBjbGFzcz1cImNxYS10ZXh0LVsxNnB4XSBjcWEtbGVhZGluZy03IGNxYS10cmFja2luZy1bLTAuNDVweF0gY3FhLWZvbnQtaW50ZXIgY3FhLXRleHQtWyMxMTE4MjddXCIgW2F0dHIudGl0bGVdPVwibnVsbFwiPnt7IGl0ZW0udmFsdWUgfCBudW1iZXIgfX1cbiAgICAgICAgPC9oNj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnBlcmNlbnQgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLTQgY3FhLWZvbnQtaW50ZXJcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInBlcmNlbnRDbGFzcyhpdGVtLnBlcmNlbnQpXCIgW2F0dHIudGl0bGVdPVwibnVsbFwiPnt7IGZvcm1hdFBlcmNlbnQoaXRlbS5wZXJjZW50KSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -58,10 +58,10 @@ export class MetricsCardComponent {
58
58
  }
59
59
  }
60
60
  MetricsCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
- MetricsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsCardComponent, selector: "cqa-metrics-card", inputs: { icon: "icon", title: "title", total: "total", items: "items", cardClass: "cardClass", layout: "layout", totalPercent: "totalPercent", onTotalClick: "onTotalClick" }, outputs: { totalClick: "totalClick" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-text-[#6A7282]\" [attr.title]=\"null\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-tracking-[0.395508px] cqa-text-[#101828]\" [attr.title]=\"null\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0\" [attr.title]=\"null\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-mr-4\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4\" [attr.title]=\"null\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\" [attr.title]=\"null\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(totalPercent)\" [attr.title]=\"null\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div [ngClass]=\"'cqa-grid-cols-' + items.length + ' lg:cqa-grid-cols-' + items.length\"\n class=\"cqa-flex-1 cqa-w-full cqa-grid md:cqa-grid-cols-3 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\" [attr.title]=\"null\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MetricsBlockComponent, selector: "cqa-metrics-block", inputs: ["item", "progress", "layout", "itemslength"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "number": i3.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
+ MetricsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsCardComponent, selector: "cqa-metrics-card", inputs: { icon: "icon", title: "title", total: "total", items: "items", cardClass: "cardClass", layout: "layout", totalPercent: "totalPercent", onTotalClick: "onTotalClick" }, outputs: { totalClick: "totalClick" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-font-inter cqa-text-[#6A7282]\" [attr.title]=\"null\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-font-inter cqa-tracking-[0.395508px] cqa-text-[#101828]\" [attr.title]=\"null\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0 cqa-min-w-0\" [attr.title]=\"null\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-flex-shrink-0\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\" class=\"cqa-flex-1 cqa-min-w-0\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4 cqa-font-inter\" [attr.title]=\"null\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-font-inter cqa-text-[#111827]\" [attr.title]=\"null\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4 cqa-font-inter\"\n [ngClass]=\"percentClass(totalPercent)\" [attr.title]=\"null\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div [ngClass]=\"'cqa-grid-cols-' + items.length + ' lg:cqa-grid-cols-' + items.length\"\n class=\"cqa-flex-1 cqa-w-full cqa-grid md:cqa-grid-cols-3 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\" [attr.title]=\"null\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MetricsBlockComponent, selector: "cqa-metrics-block", inputs: ["item", "progress", "layout", "itemslength"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "number": i3.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsCardComponent, decorators: [{
63
63
  type: Component,
64
- args: [{ selector: 'cqa-metrics-card', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-text-[#6A7282]\" [attr.title]=\"null\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-tracking-[0.395508px] cqa-text-[#101828]\" [attr.title]=\"null\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0\" [attr.title]=\"null\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-mr-4\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4\" [attr.title]=\"null\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\" [attr.title]=\"null\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(totalPercent)\" [attr.title]=\"null\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div [ngClass]=\"'cqa-grid-cols-' + items.length + ' lg:cqa-grid-cols-' + items.length\"\n class=\"cqa-flex-1 cqa-w-full cqa-grid md:cqa-grid-cols-3 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\" [attr.title]=\"null\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
64
+ args: [{ selector: 'cqa-metrics-card', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-font-inter cqa-text-[#6A7282]\" [attr.title]=\"null\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-font-inter cqa-tracking-[0.395508px] cqa-text-[#101828]\" [attr.title]=\"null\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0 cqa-min-w-0\" [attr.title]=\"null\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-flex-shrink-0\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\" class=\"cqa-flex-1 cqa-min-w-0\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\"\n [ngClass]=\"{'cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-gray-50': isTotalClickable}\"\n (click)=\"handleTotalClick($event)\"\n [attr.title]=\"null\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4 cqa-font-inter\" [attr.title]=\"null\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-font-inter cqa-text-[#111827]\" [attr.title]=\"null\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4 cqa-font-inter\"\n [ngClass]=\"percentClass(totalPercent)\" [attr.title]=\"null\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div [ngClass]=\"'cqa-grid-cols-' + items.length + ' lg:cqa-grid-cols-' + items.length\"\n class=\"cqa-flex-1 cqa-w-full cqa-grid md:cqa-grid-cols-3 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\" [attr.title]=\"null\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
65
65
  }], propDecorators: { icon: [{
66
66
  type: Input
67
67
  }], title: [{
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
81
81
  }], totalClick: [{
82
82
  type: Output
83
83
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVWhHLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRVyxTQUFJLEdBQVcsY0FBYyxDQUFDO1FBQzlCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsVUFBSyxHQUFvQixDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixXQUFNLEdBQVcsR0FBRyxDQUFDO1FBR3BCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDLENBQUMscUNBQXFDO0tBNEN4RjtJQTFDQyxJQUFJLGdCQUFnQjtRQUNsQiw4RUFBOEU7UUFDOUUsSUFBSTtZQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUssSUFBSSxDQUFDLFVBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDL0U7UUFBQyxNQUFNO1lBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsSUFBcUI7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDOUIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFjO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDOUYsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxRQUFRO1FBQ3BELElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDLENBQUMsTUFBTTtRQUNsRCxPQUFPLG9CQUFvQixDQUFDLENBQUMsVUFBVTtJQUN6QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQix3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIscUNBQXFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7aUhBcERVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHdUQ1ZqQyxnaEpBNkRNOzJGRG5ETyxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUdyQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldHJpY3NDYXJkSXRlbSB9IGZyb20gJy4vbWV0cmljcy1jYXJkLWl0ZW0uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW1ldHJpY3MtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRyaWNzLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIE1ldHJpY3NDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nID0gJ3RleHRfc25pcHBldCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdG90YWw6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gIEBJbnB1dCgpIGl0ZW1zOiBNZXRyaWNzQ2FyZEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBjYXJkQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYXlvdXQ6IHN0cmluZyA9ICcxJztcbiAgQElucHV0KCkgdG90YWxQZXJjZW50PzogbnVtYmVyOyAvLyBPcHRpb25hbCBvdmVyYWxsIHBlcmNlbnQgZGVsdGEgZm9yIGxheW91dCAyXG4gIEBJbnB1dCgpIG9uVG90YWxDbGljaz86IChldmVudD86IEV2ZW50KSA9PiB2b2lkOyAvLyBPcHRpb25hbCBjbGljayBoYW5kbGVyIGZvciB0b3RhbCBibG9ja1xuICBAT3V0cHV0KCkgdG90YWxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7IC8vIE91dHB1dCBldmVudCBmb3IgdG90YWwgYmxvY2sgY2xpY2tcbiAgXG4gIGdldCBpc1RvdGFsQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xuICAgIC8vIFNob3cgcG9pbnRlciBpZiBhbiBpbnB1dCBoYW5kbGVyIGlzIHByb3ZpZGVkIG9yIGFuIG91dHB1dCBsaXN0ZW5lciBpcyBib3VuZFxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gISF0aGlzLm9uVG90YWxDbGljayB8fCAodGhpcy50b3RhbENsaWNrIGFzIGFueSk/Lm9ic2VydmVycz8ubGVuZ3RoID4gMDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiAhIXRoaXMub25Ub3RhbENsaWNrO1xuICAgIH1cbiAgfVxuXG4gIHByb2dyZXNzV2lkdGgoaXRlbTogTWV0cmljc0NhcmRJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXggPSBpdGVtLm1heCA/PyB0aGlzLmluZmVyTWF4KCk7XG4gICAgaWYgKCFtYXggfHwgbWF4IDw9IDApIHJldHVybiAnMCUnO1xuICAgIGNvbnN0IHBjdCA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgKGl0ZW0udmFsdWUgLyBtYXgpICogMTAwKSk7XG4gICAgcmV0dXJuIHBjdC50b0ZpeGVkKDEpICsgJyUnO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmZlck1heCgpOiBudW1iZXIge1xuICAgIGNvbnN0IG1heEZyb21JdGVtcyA9IHRoaXMuaXRlbXMucmVkdWNlKChtLCBpdCkgPT4gTWF0aC5tYXgobSwgaXQudmFsdWUpLCAwKTtcbiAgICByZXR1cm4gbWF4RnJvbUl0ZW1zIHx8IDE7XG4gIH1cblxuICBmb3JtYXRQZXJjZW50KHZhbHVlPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4odmFsdWUpKSByZXR1cm4gJyc7XG4gICAgY29uc3Qgc2lnbiA9IHZhbHVlID4gMCA/ICcrJyA6IHZhbHVlIDwgMCA/ICcnIDogJyc7XG4gICAgcmV0dXJuIGAke3NpZ259JHt2YWx1ZX0lYDtcbiAgfVxuXG4gIHBlcmNlbnRDbGFzcyh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICdjcWEtdGV4dC1bIzZCNzI4MF0nO1xuICAgIGlmICh2YWx1ZSA+IDApIHJldHVybiAnY3FhLXRleHQtWyMxMEI5ODFdJzsgLy8gZ3JlZW5cbiAgICBpZiAodmFsdWUgPCAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjRUY0NDQ0XSc7IC8vIHJlZFxuICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJzsgLy8gbmV1dHJhbFxuICB9XG5cbiAgaGFuZGxlVG90YWxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBBbHdheXMgZW1pdCB0aGUgZXZlbnQsIGV2ZW4gaWYgbm8gaGFuZGxlciBpcyBwcm92aWRlZFxuICAgIHRoaXMudG90YWxDbGljay5lbWl0KGV2ZW50KTtcbiAgICAvLyBDYWxsIHRoZSBpbnB1dCBoYW5kbGVyIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMub25Ub3RhbENsaWNrKSB7XG4gICAgICB0aGlzLm9uVG90YWxDbGljayhldmVudCk7XG4gICAgfVxuICB9XG59XG5cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCI+XG4gIDxkaXYgKm5nSWY9XCJsYXlvdXQgPT09ICcxJ1wiXG4gICAgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1ib3gtYm9yZGVyIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaXRlbXMtc3RhcnQgY3FhLXB4LXB4IGNxYS1wYi1weCBtZDpjcWEtaC1bNjNweF0gY3FhLWJnLXdoaXRlIGNxYS1ib3JkZXItdC0yIGNxYS1ib3JkZXItciBjcWEtYm9yZGVyLWItMCBjcWEtYm9yZGVyLWwgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjM0Y0M0VFXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLWZsZXgtbm9uZSBjcWEtb3JkZXItMCBjcWEtc2VsZi1zdHJldGNoIGNxYS1ncm93LTBcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDwhLS0gTWV0cmljIGJsb2NrcyAtLT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNxYS1mbGV4LTEgY3FhLXctZnVsbCBjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgc206Y3FhLWdyaWQtY29scy0yIG1kOmNxYS1ncmlkLWNvbHMtNCBjcWEtYm9yZGVyIGNxYS1ib3JkZXItWyNFNUU3RUJdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8IS0tIExlZnQgdG90YWwgYmxvY2sgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtaXRlbXMtc3RhcnQgY3FhLXB5LTMgbWQ6Y3FhLXB0LTEgbWQ6Y3FhLXBiLTAuNSBjcWEtcHgtNiBjcWEtZ2FwLTEgY3FhLXctZnVsbCBzbTpjcWEtdy1bMTAwJV0gbWQ6Y3FhLXctWzE4MHB4XSBsZzpjcWEtdy1bMjkwcHhdIG1kOmNxYS1oLVs2MXB4XSBjcWEtYm9yZGVyLWIgY3FhLWJvcmRlci1bI0U1RTdFQl0gc206Y3FhLWJvcmRlci1iLTAgc206Y3FhLWJvcmRlci1yXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmNxYS1iZy1ncmF5LTUwJzogaXNUb3RhbENsaWNrYWJsZX1cIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlVG90YWxDbGljaygkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwibnVsbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNkE3MjgyXVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj4ge3sgdGl0bGUgfX0gPC9zcGFuPlxuICAgICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1bMzBweF0gY3FhLWxlYWRpbmctWzM2cHhdIGNxYS1mb250LWJvbGQgY3FhLXRyYWNraW5nLVswLjM5NTUwOHB4XSBjcWEtdGV4dC1bIzEwMTgyOF1cIiBbYXR0ci50aXRsZV09XCJudWxsXCI+IHt7XG4gICAgICAgICAgdG90YWwgfCBudW1iZXIgfX0gPC9oMz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXQgb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdHJldGNoIGNxYS1ib3JkZXItYiBjcWEtYm9yZGVyLVsjRTVFN0VCXSBtZDpjcWEtYm9yZGVyLWItMFwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWhpZGRlbiBzbTpjcWEtYmxvY2sgbWQ6Y3FhLWJsb2NrIGNxYS13LVsxcHhdIGNxYS1iZy1bI0U1RTdFQl0gY3FhLW1yLTRcIj48L2Rpdj5cbiAgICAgICAgICA8Y3FhLW1ldHJpY3MtYmxvY2sgW2l0ZW1dPVwiaXRcIiBbaXRlbXNsZW5ndGhdPVwiaXRlbXMubGVuZ3RoLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgW3Byb2dyZXNzXT1cInByb2dyZXNzV2lkdGgoaXQpXCI+XG4gICAgICAgICAgPC9jcWEtbWV0cmljcy1ibG9jaz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImxheW91dCA9PT0gJzInXCJcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWJveC1ib3JkZXIgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1zdGFydCBjcWEtcHgtcHggY3FhLXBiLXB4IG1kOmNxYS1oLVs2M3B4XSBjcWEtYmctd2hpdGUgY3FhLWZsZXgtbm9uZSBjcWEtb3JkZXItMCBjcWEtc2VsZi1zdHJldGNoIGNxYS1ncm93LTBcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIG1kOmNxYS1mbGV4LXJvdyBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1zdHJldGNoIGNxYS13LWZ1bGwgY3FhLW1pbi1oLVs1M3B4XSBjcWEtcm91bmRlZC1ub25lIGNxYS1mbGV4LW5vbmUgY3FhLW9yZGVyLTAgY3FhLXNlbGYtc3RyZXRjaCBjcWEtZ3Jvdy0wIGNxYS1nYXAtNFwiPlxuICAgICAgPCEtLSBMZWZ0IHRvdGFsIGJsb2NrIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weS0zIG1kOmNxYS1weS0xIGNxYS1weC00IHNtOmNxYS1weC02IGNxYS1nYXAtMSBjcWEtdy1mdWxsIHNtOmNxYS13LVsxMDAlXSBtZDpjcWEtdy1bMjQwcHhdIGxnOmNxYS13LVsyOTBweF0gbWQ6Y3FhLWgtWzYxcHhdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl0gY3FhLXJlbGF0aXZlIGNxYS1vdmVyZmxvdy1oaWRkZW4gYmVmb3JlOmNxYS1jb250ZW50LVsnJ10gYmVmb3JlOmNxYS1iZy1bIzRDNEM1MV0gYmVmb3JlOmNxYS1oLVsycHhdIGJlZm9yZTpjcWEtdy1mdWxsIGJlZm9yZTpjcWEtYWJzb2x1dGUgYmVmb3JlOmNxYS10b3AtMCBiZWZvcmU6Y3FhLWxlZnQtMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnY3FhLWN1cnNvci1wb2ludGVyIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpjcWEtYmctZ3JheS01MCc6IGlzVG90YWxDbGlja2FibGV9XCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRvdGFsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cIm51bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLXctZnVsbFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiFjcWEtdy00ICFjcWEtaC00ICFjcWEtdGV4dC1bMTZweF0gY3FhLXRleHQtWyM2QjcyODBdXCI+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzZCNzI4MF0gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLTRcIiBbYXR0ci50aXRsZV09XCJudWxsXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1lbmQgY3FhLWdhcC0yIGNxYS1tbC1hdXRvXCI+XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJjcWEtdGV4dC1bMjhweF0gY3FhLWxlYWRpbmctNyBjcWEtdHJhY2tpbmctWy0wLjQ1cHhdIGNxYS10ZXh0LVsjMTExODI3XVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj57eyB0b3RhbCB8IG51bWJlciB9fVxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQZXJjZW50ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy00XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGVyY2VudENsYXNzKHRvdGFsUGVyY2VudClcIiBbYXR0ci50aXRsZV09XCJudWxsXCI+e3sgZm9ybWF0UGVyY2VudCh0b3RhbFBlcmNlbnQpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIE1ldHJpYyBibG9ja3MgLS0+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cIidjcWEtZ3JpZC1jb2xzLScgKyBpdGVtcy5sZW5ndGggKyAnIGxnOmNxYS1ncmlkLWNvbHMtJyArIGl0ZW1zLmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXgtMSBjcWEtdy1mdWxsIGNxYS1ncmlkIG1kOmNxYS1ncmlkLWNvbHMtMyBjcWEtZ2FwLTIgbWQ6Y3FhLWdhcC0zIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcmVsYXRpdmUgY3FhLW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1oLVsycHhdIGNxYS13LWZ1bGwgY3FhLWFic29sdXRlIGNxYS10b3AtMCBjcWEtbGVmdC0wXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjM0I4MkY2IDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpJ1wiPjwvc3Bhbj5cbiAgICAgICAgPGNxYS1tZXRyaWNzLWJsb2NrICpuZ0Zvcj1cImxldCBpdCBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiIFtpdGVtXT1cIml0XCIgW2xheW91dF09XCJsYXlvdXRcIiBbYXR0ci50aXRsZV09XCJudWxsXCI+XG4gICAgICAgIDwvY3FhLW1ldHJpY3MtYmxvY2s+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVWhHLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRVyxTQUFJLEdBQVcsY0FBYyxDQUFDO1FBQzlCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsVUFBSyxHQUFvQixDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixXQUFNLEdBQVcsR0FBRyxDQUFDO1FBR3BCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDLENBQUMscUNBQXFDO0tBNEN4RjtJQTFDQyxJQUFJLGdCQUFnQjtRQUNsQiw4RUFBOEU7UUFDOUUsSUFBSTtZQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUssSUFBSSxDQUFDLFVBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDL0U7UUFBQyxNQUFNO1lBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsSUFBcUI7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDOUIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFjO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDOUYsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxRQUFRO1FBQ3BELElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDLENBQUMsTUFBTTtRQUNsRCxPQUFPLG9CQUFvQixDQUFDLENBQUMsVUFBVTtJQUN6QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQix3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIscUNBQXFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7aUhBcERVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHdUQ1ZqQyxpcEpBNkRNOzJGRG5ETyxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUdyQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldHJpY3NDYXJkSXRlbSB9IGZyb20gJy4vbWV0cmljcy1jYXJkLWl0ZW0uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW1ldHJpY3MtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRyaWNzLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIE1ldHJpY3NDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nID0gJ3RleHRfc25pcHBldCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdG90YWw6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gIEBJbnB1dCgpIGl0ZW1zOiBNZXRyaWNzQ2FyZEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBjYXJkQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYXlvdXQ6IHN0cmluZyA9ICcxJztcbiAgQElucHV0KCkgdG90YWxQZXJjZW50PzogbnVtYmVyOyAvLyBPcHRpb25hbCBvdmVyYWxsIHBlcmNlbnQgZGVsdGEgZm9yIGxheW91dCAyXG4gIEBJbnB1dCgpIG9uVG90YWxDbGljaz86IChldmVudD86IEV2ZW50KSA9PiB2b2lkOyAvLyBPcHRpb25hbCBjbGljayBoYW5kbGVyIGZvciB0b3RhbCBibG9ja1xuICBAT3V0cHV0KCkgdG90YWxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7IC8vIE91dHB1dCBldmVudCBmb3IgdG90YWwgYmxvY2sgY2xpY2tcbiAgXG4gIGdldCBpc1RvdGFsQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xuICAgIC8vIFNob3cgcG9pbnRlciBpZiBhbiBpbnB1dCBoYW5kbGVyIGlzIHByb3ZpZGVkIG9yIGFuIG91dHB1dCBsaXN0ZW5lciBpcyBib3VuZFxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gISF0aGlzLm9uVG90YWxDbGljayB8fCAodGhpcy50b3RhbENsaWNrIGFzIGFueSk/Lm9ic2VydmVycz8ubGVuZ3RoID4gMDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiAhIXRoaXMub25Ub3RhbENsaWNrO1xuICAgIH1cbiAgfVxuXG4gIHByb2dyZXNzV2lkdGgoaXRlbTogTWV0cmljc0NhcmRJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXggPSBpdGVtLm1heCA/PyB0aGlzLmluZmVyTWF4KCk7XG4gICAgaWYgKCFtYXggfHwgbWF4IDw9IDApIHJldHVybiAnMCUnO1xuICAgIGNvbnN0IHBjdCA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgKGl0ZW0udmFsdWUgLyBtYXgpICogMTAwKSk7XG4gICAgcmV0dXJuIHBjdC50b0ZpeGVkKDEpICsgJyUnO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmZlck1heCgpOiBudW1iZXIge1xuICAgIGNvbnN0IG1heEZyb21JdGVtcyA9IHRoaXMuaXRlbXMucmVkdWNlKChtLCBpdCkgPT4gTWF0aC5tYXgobSwgaXQudmFsdWUpLCAwKTtcbiAgICByZXR1cm4gbWF4RnJvbUl0ZW1zIHx8IDE7XG4gIH1cblxuICBmb3JtYXRQZXJjZW50KHZhbHVlPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4odmFsdWUpKSByZXR1cm4gJyc7XG4gICAgY29uc3Qgc2lnbiA9IHZhbHVlID4gMCA/ICcrJyA6IHZhbHVlIDwgMCA/ICcnIDogJyc7XG4gICAgcmV0dXJuIGAke3NpZ259JHt2YWx1ZX0lYDtcbiAgfVxuXG4gIHBlcmNlbnRDbGFzcyh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICdjcWEtdGV4dC1bIzZCNzI4MF0nO1xuICAgIGlmICh2YWx1ZSA+IDApIHJldHVybiAnY3FhLXRleHQtWyMxMEI5ODFdJzsgLy8gZ3JlZW5cbiAgICBpZiAodmFsdWUgPCAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjRUY0NDQ0XSc7IC8vIHJlZFxuICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJzsgLy8gbmV1dHJhbFxuICB9XG5cbiAgaGFuZGxlVG90YWxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBBbHdheXMgZW1pdCB0aGUgZXZlbnQsIGV2ZW4gaWYgbm8gaGFuZGxlciBpcyBwcm92aWRlZFxuICAgIHRoaXMudG90YWxDbGljay5lbWl0KGV2ZW50KTtcbiAgICAvLyBDYWxsIHRoZSBpbnB1dCBoYW5kbGVyIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMub25Ub3RhbENsaWNrKSB7XG4gICAgICB0aGlzLm9uVG90YWxDbGljayhldmVudCk7XG4gICAgfVxuICB9XG59XG5cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCI+XG4gIDxkaXYgKm5nSWY9XCJsYXlvdXQgPT09ICcxJ1wiXG4gICAgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1ib3gtYm9yZGVyIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaXRlbXMtc3RhcnQgY3FhLXB4LXB4IGNxYS1wYi1weCBtZDpjcWEtaC1bNjNweF0gY3FhLWJnLXdoaXRlIGNxYS1ib3JkZXItdC0yIGNxYS1ib3JkZXItciBjcWEtYm9yZGVyLWItMCBjcWEtYm9yZGVyLWwgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjM0Y0M0VFXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLWZsZXgtbm9uZSBjcWEtb3JkZXItMCBjcWEtc2VsZi1zdHJldGNoIGNxYS1ncm93LTBcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDwhLS0gTWV0cmljIGJsb2NrcyAtLT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNxYS1mbGV4LTEgY3FhLXctZnVsbCBjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgc206Y3FhLWdyaWQtY29scy0yIG1kOmNxYS1ncmlkLWNvbHMtNCBjcWEtYm9yZGVyIGNxYS1ib3JkZXItWyNFNUU3RUJdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8IS0tIExlZnQgdG90YWwgYmxvY2sgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtaXRlbXMtc3RhcnQgY3FhLXB5LTMgbWQ6Y3FhLXB0LTEgbWQ6Y3FhLXBiLTAuNSBjcWEtcHgtNiBjcWEtZ2FwLTEgY3FhLXctZnVsbCBzbTpjcWEtdy1bMTAwJV0gbWQ6Y3FhLXctWzE4MHB4XSBsZzpjcWEtdy1bMjkwcHhdIG1kOmNxYS1oLVs2MXB4XSBjcWEtYm9yZGVyLWIgY3FhLWJvcmRlci1bI0U1RTdFQl0gc206Y3FhLWJvcmRlci1iLTAgc206Y3FhLWJvcmRlci1yXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmNxYS1iZy1ncmF5LTUwJzogaXNUb3RhbENsaWNrYWJsZX1cIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlVG90YWxDbGljaygkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwibnVsbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS1mb250LWludGVyIGNxYS10ZXh0LVsjNkE3MjgyXVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj4ge3sgdGl0bGUgfX0gPC9zcGFuPlxuICAgICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1bMzBweF0gY3FhLWxlYWRpbmctWzM2cHhdIGNxYS1mb250LWJvbGQgY3FhLWZvbnQtaW50ZXIgY3FhLXRyYWNraW5nLVswLjM5NTUwOHB4XSBjcWEtdGV4dC1bIzEwMTgyOF1cIiBbYXR0ci50aXRsZV09XCJudWxsXCI+IHt7XG4gICAgICAgICAgdG90YWwgfCBudW1iZXIgfX0gPC9oMz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXQgb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdHJldGNoIGNxYS1ib3JkZXItYiBjcWEtYm9yZGVyLVsjRTVFN0VCXSBtZDpjcWEtYm9yZGVyLWItMCBjcWEtbWluLXctMFwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWhpZGRlbiBzbTpjcWEtYmxvY2sgbWQ6Y3FhLWJsb2NrIGNxYS13LVsxcHhdIGNxYS1iZy1bI0U1RTdFQl0gY3FhLWZsZXgtc2hyaW5rLTBcIj48L2Rpdj5cbiAgICAgICAgICA8Y3FhLW1ldHJpY3MtYmxvY2sgW2l0ZW1dPVwiaXRcIiBbaXRlbXNsZW5ndGhdPVwiaXRlbXMubGVuZ3RoLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgW3Byb2dyZXNzXT1cInByb2dyZXNzV2lkdGgoaXQpXCIgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS1taW4tdy0wXCI+XG4gICAgICAgICAgPC9jcWEtbWV0cmljcy1ibG9jaz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImxheW91dCA9PT0gJzInXCJcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWJveC1ib3JkZXIgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1zdGFydCBjcWEtcHgtcHggY3FhLXBiLXB4IG1kOmNxYS1oLVs2M3B4XSBjcWEtYmctd2hpdGUgY3FhLWZsZXgtbm9uZSBjcWEtb3JkZXItMCBjcWEtc2VsZi1zdHJldGNoIGNxYS1ncm93LTBcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIG1kOmNxYS1mbGV4LXJvdyBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1zdHJldGNoIGNxYS13LWZ1bGwgY3FhLW1pbi1oLVs1M3B4XSBjcWEtcm91bmRlZC1ub25lIGNxYS1mbGV4LW5vbmUgY3FhLW9yZGVyLTAgY3FhLXNlbGYtc3RyZXRjaCBjcWEtZ3Jvdy0wIGNxYS1nYXAtNFwiPlxuICAgICAgPCEtLSBMZWZ0IHRvdGFsIGJsb2NrIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weS0zIG1kOmNxYS1weS0xIGNxYS1weC00IHNtOmNxYS1weC02IGNxYS1nYXAtMSBjcWEtdy1mdWxsIHNtOmNxYS13LVsxMDAlXSBtZDpjcWEtdy1bMjQwcHhdIGxnOmNxYS13LVsyOTBweF0gbWQ6Y3FhLWgtWzYxcHhdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl0gY3FhLXJlbGF0aXZlIGNxYS1vdmVyZmxvdy1oaWRkZW4gYmVmb3JlOmNxYS1jb250ZW50LVsnJ10gYmVmb3JlOmNxYS1iZy1bIzRDNEM1MV0gYmVmb3JlOmNxYS1oLVsycHhdIGJlZm9yZTpjcWEtdy1mdWxsIGJlZm9yZTpjcWEtYWJzb2x1dGUgYmVmb3JlOmNxYS10b3AtMCBiZWZvcmU6Y3FhLWxlZnQtMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnY3FhLWN1cnNvci1wb2ludGVyIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpjcWEtYmctZ3JheS01MCc6IGlzVG90YWxDbGlja2FibGV9XCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRvdGFsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cIm51bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLXctZnVsbFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiFjcWEtdy00ICFjcWEtaC00ICFjcWEtdGV4dC1bMTZweF0gY3FhLXRleHQtWyM2QjcyODBdXCI+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzZCNzI4MF0gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLTQgY3FhLWZvbnQtaW50ZXJcIiBbYXR0ci50aXRsZV09XCJudWxsXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1lbmQgY3FhLWdhcC0yIGNxYS1tbC1hdXRvXCI+XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJjcWEtdGV4dC1bMjhweF0gY3FhLWxlYWRpbmctNyBjcWEtdHJhY2tpbmctWy0wLjQ1cHhdIGNxYS1mb250LWludGVyIGNxYS10ZXh0LVsjMTExODI3XVwiIFthdHRyLnRpdGxlXT1cIm51bGxcIj57eyB0b3RhbCB8IG51bWJlciB9fVxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQZXJjZW50ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy00IGNxYS1mb250LWludGVyXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGVyY2VudENsYXNzKHRvdGFsUGVyY2VudClcIiBbYXR0ci50aXRsZV09XCJudWxsXCI+e3sgZm9ybWF0UGVyY2VudCh0b3RhbFBlcmNlbnQpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIE1ldHJpYyBibG9ja3MgLS0+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cIidjcWEtZ3JpZC1jb2xzLScgKyBpdGVtcy5sZW5ndGggKyAnIGxnOmNxYS1ncmlkLWNvbHMtJyArIGl0ZW1zLmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXgtMSBjcWEtdy1mdWxsIGNxYS1ncmlkIG1kOmNxYS1ncmlkLWNvbHMtMyBjcWEtZ2FwLTIgbWQ6Y3FhLWdhcC0zIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcmVsYXRpdmUgY3FhLW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1oLVsycHhdIGNxYS13LWZ1bGwgY3FhLWFic29sdXRlIGNxYS10b3AtMCBjcWEtbGVmdC0wXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjM0I4MkY2IDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpJ1wiPjwvc3Bhbj5cbiAgICAgICAgPGNxYS1tZXRyaWNzLWJsb2NrICpuZ0Zvcj1cImxldCBpdCBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiIFtpdGVtXT1cIml0XCIgW2xheW91dF09XCJsYXlvdXRcIiBbYXR0ci50aXRsZV09XCJudWxsXCI+XG4gICAgICAgIDwvY3FhLW1ldHJpY3MtYmxvY2s+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -28,10 +28,10 @@ export class ProgressTextCardComponent {
28
28
  }
29
29
  }
30
30
  ProgressTextCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ProgressTextCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- ProgressTextCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ProgressTextCardComponent, selector: "cqa-progress-text-card", inputs: { value: "value", label: "label", deltaPercent: "deltaPercent", deltaSuffix: "deltaSuffix", cardClass: "cardClass" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ ProgressTextCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ProgressTextCardComponent, selector: "cqa-progress-text-card", inputs: { value: "value", label: "label", deltaPercent: "deltaPercent", deltaSuffix: "deltaSuffix", cardClass: "cardClass" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-font-inter cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-inter cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5 cqa-font-inter\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ProgressTextCardComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'cqa-progress-text-card', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", styles: [] }]
34
+ args: [{ selector: 'cqa-progress-text-card', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-font-inter cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-inter cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5 cqa-font-inter\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", styles: [] }]
35
35
  }], propDecorators: { value: [{
36
36
  type: Input
37
37
  }], label: [{
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
43
43
  }], cardClass: [{
44
44
  type: Input
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTMUUsTUFBTSxPQUFPLHlCQUF5QjtJQVB0QztRQVFXLFVBQUssR0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzdCLFVBQUssR0FBVyxtQkFBbUIsQ0FBQztRQUVwQyxnQkFBVyxHQUFXLGdCQUFnQixDQUFDO1FBQ3ZDLGNBQVMsR0FBVyxFQUFFLENBQUM7S0FvQmpDO0lBbEJDLElBQUksV0FBVztRQUNiLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3BHLE9BQU8sb0JBQW9CLENBQUM7U0FDN0I7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQ3ZELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQzs7c0hBeEJVLHlCQUF5QjswR0FBekIseUJBQXlCLHFPQ1R0Qyxra0NBbUJNOzJGRFZPLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUdyQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLXByb2dyZXNzLXRleHQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy10ZXh0LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzVGV4dENhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyID0gMDsgLy8gMCAtIDEwMFxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1Rlc3QgU3VjY2VzcyBSYXRlJztcbiAgQElucHV0KCkgZGVsdGFQZXJjZW50PzogbnVtYmVyOyAvLyBlLmcuLCArOFxuICBASW5wdXQoKSBkZWx0YVN1ZmZpeDogc3RyaW5nID0gJ3NpbmNlIGxhc3QgcnVuJztcbiAgQElucHV0KCkgY2FyZENsYXNzOiBzdHJpbmcgPSAnJztcblxuICBnZXQgcGVyY2VudFRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBOdW1iZXIodGhpcy52YWx1ZSkgfHwgMCkpO1xuICAgIHJldHVybiBgJHt2fSVgO1xuICB9XG5cbiAgZ2V0IGZpbGxXaWR0aCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHYgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIE51bWJlcih0aGlzLnZhbHVlKSB8fCAwKSk7XG4gICAgcmV0dXJuIHYgKyAnJSc7XG4gIH1cblxuICBkZWx0YUNsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGVsdGFQZXJjZW50ID09PSB1bmRlZmluZWQgfHwgdGhpcy5kZWx0YVBlcmNlbnQgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHRoaXMuZGVsdGFQZXJjZW50KSkge1xuICAgICAgcmV0dXJuICdjcWEtdGV4dC1bIzZCNzI4MF0nO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWx0YVBlcmNlbnQgPiAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjMEI5RDY4XSc7XG4gICAgaWYgKHRoaXMuZGVsdGFQZXJjZW50IDwgMCkgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nO1xuICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgfVxufVxuXG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1ib3gtYm9yZGVyIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtYmctd2hpdGUgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNFNUU3RUJdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtcC00IHNtOmNxYS1wLTVcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtYmFzZWxpbmUgY3FhLWdhcC0yXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLVsyNHB4XSBjcWEtZm9udC1ib2xkIGNxYS10cmFja2luZy1bLTAuM3B4XSBjcWEtdGV4dC1bIzExMTgyN11cIj5cbiAgICAgICAge3sgcGVyY2VudFRleHQgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTZweF0gY3FhLWxlYWRpbmctWzI0cHhdIGNxYS10ZXh0LVsjMTExODI3XVwiPnt7IGxhYmVsIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1tdC00IGNxYS1tYi0yIGNxYS13LWZ1bGwgY3FhLWgtWzE0cHhdIGNxYS1iZy1bI0U1RTdFQl0gY3FhLXJvdW5kZWQtZnVsbCBjcWEtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtcm91bmRlZC1mdWxsXCIgW3N0eWxlLndpZHRoXT1cImZpbGxXaWR0aFwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIidsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNERDVBMzggMCUsICNGNTlFMEIgNDAlLCAjMTBCOTgxIDEwMCUpJ1wiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy01XCIgW25nQ2xhc3NdPVwiZGVsdGFDbGFzcygpXCIgKm5nSWY9XCJkZWx0YVBlcmNlbnQgIT09IHVuZGVmaW5lZFwiPlxuICAgICAge3sgZGVsdGFQZXJjZW50ID4gMCA/ICcrJyA6ICcnfX17eyBkZWx0YVBlcmNlbnQgfX0lIHt7IGRlbHRhU3VmZml4IH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTMUUsTUFBTSxPQUFPLHlCQUF5QjtJQVB0QztRQVFXLFVBQUssR0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzdCLFVBQUssR0FBVyxtQkFBbUIsQ0FBQztRQUVwQyxnQkFBVyxHQUFXLGdCQUFnQixDQUFDO1FBQ3ZDLGNBQVMsR0FBVyxFQUFFLENBQUM7S0FvQmpDO0lBbEJDLElBQUksV0FBVztRQUNiLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3BHLE9BQU8sb0JBQW9CLENBQUM7U0FDN0I7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQ3ZELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQzs7c0hBeEJVLHlCQUF5QjswR0FBekIseUJBQXlCLHFPQ1R0QywrbUNBbUJNOzJGRFZPLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUdyQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLXByb2dyZXNzLXRleHQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy10ZXh0LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzVGV4dENhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyID0gMDsgLy8gMCAtIDEwMFxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1Rlc3QgU3VjY2VzcyBSYXRlJztcbiAgQElucHV0KCkgZGVsdGFQZXJjZW50PzogbnVtYmVyOyAvLyBlLmcuLCArOFxuICBASW5wdXQoKSBkZWx0YVN1ZmZpeDogc3RyaW5nID0gJ3NpbmNlIGxhc3QgcnVuJztcbiAgQElucHV0KCkgY2FyZENsYXNzOiBzdHJpbmcgPSAnJztcblxuICBnZXQgcGVyY2VudFRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBOdW1iZXIodGhpcy52YWx1ZSkgfHwgMCkpO1xuICAgIHJldHVybiBgJHt2fSVgO1xuICB9XG5cbiAgZ2V0IGZpbGxXaWR0aCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHYgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIE51bWJlcih0aGlzLnZhbHVlKSB8fCAwKSk7XG4gICAgcmV0dXJuIHYgKyAnJSc7XG4gIH1cblxuICBkZWx0YUNsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGVsdGFQZXJjZW50ID09PSB1bmRlZmluZWQgfHwgdGhpcy5kZWx0YVBlcmNlbnQgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHRoaXMuZGVsdGFQZXJjZW50KSkge1xuICAgICAgcmV0dXJuICdjcWEtdGV4dC1bIzZCNzI4MF0nO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWx0YVBlcmNlbnQgPiAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjMEI5RDY4XSc7XG4gICAgaWYgKHRoaXMuZGVsdGFQZXJjZW50IDwgMCkgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nO1xuICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgfVxufVxuXG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1ib3gtYm9yZGVyIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtYmctd2hpdGUgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNFNUU3RUJdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtcC00IHNtOmNxYS1wLTVcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtYmFzZWxpbmUgY3FhLWdhcC0yXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLVsyNHB4XSBjcWEtZm9udC1ib2xkIGNxYS1mb250LWludGVyIGNxYS10cmFja2luZy1bLTAuM3B4XSBjcWEtdGV4dC1bIzExMTgyN11cIj5cbiAgICAgICAge3sgcGVyY2VudFRleHQgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTZweF0gY3FhLWxlYWRpbmctWzI0cHhdIGNxYS1mb250LWludGVyIGNxYS10ZXh0LVsjMTExODI3XVwiPnt7IGxhYmVsIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1tdC00IGNxYS1tYi0yIGNxYS13LWZ1bGwgY3FhLWgtWzE0cHhdIGNxYS1iZy1bI0U1RTdFQl0gY3FhLXJvdW5kZWQtZnVsbCBjcWEtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtcm91bmRlZC1mdWxsXCIgW3N0eWxlLndpZHRoXT1cImZpbGxXaWR0aFwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIidsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNERDVBMzggMCUsICNGNTlFMEIgNDAlLCAjMTBCOTgxIDEwMCUpJ1wiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy01IGNxYS1mb250LWludGVyXCIgW25nQ2xhc3NdPVwiZGVsdGFDbGFzcygpXCIgKm5nSWY9XCJkZWx0YVBlcmNlbnQgIT09IHVuZGVmaW5lZFwiPlxuICAgICAge3sgZGVsdGFQZXJjZW50ID4gMCA/ICcrJyA6ICcnfX17eyBkZWx0YVBlcmNlbnQgfX0lIHt7IGRlbHRhU3VmZml4IH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -81,10 +81,10 @@ export class TestDistributionCardComponent {
81
81
  }
82
82
  }
83
83
  TestDistributionCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TestDistributionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
- TestDistributionCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TestDistributionCardComponent, selector: "cqa-test-distribution-card", inputs: { title: "title", segments: "segments", items: "items" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div class=\"cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-border-default cqa-py-[14.5px] cqa-px-[17px] cqa-shadow-card\">\n <!-- Title -->\n <h3 class=\"cqa-text-[16px] cqa-leading-6 cqa-text-[#111827] cqa-mb-2\">{{ title }}</h3>\n\n <!-- Stacked segments pill -->\n <div class=\"cqa-w-full cqa-h-[24px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden cqa-flex cqa-mb-2\">\n <ng-container *ngFor=\"let s of visibleSegments; let i = index; let last = last\">\n <div\n class=\"cqa-h-full cqa-flex cqa-items-center cqa-justify-center cqa-text-white cqa-text-[12px] cqa-leading-[16px]\"\n [ngClass]=\"[\n segmentColor(s, i === 0 ? 'cqa-bg-[#4F46E5]' : i === segments.length - 1 ? 'cqa-bg-[#059669]' : 'cqa-bg-[#9333EA]'),\n i === 0 ? 'cqa-rounded-l-full' : '',\n last ? 'cqa-rounded-r-full' : ''\n ]\" [style.width]=\"segmentWidth(s)\">\n {{ s.label }}\n </div>\n </ng-container>\n </div>\n\n <!-- Items list -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <!-- Parent row -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between\">\n <div class=\"cqa-flex cqa-items-center\">\n <span class=\"cqa-w-[4px] cqa-h-[12px] cqa-rounded-full\" [style.background-color]=\"getItemIconColor(it)\"></span>\n <div class=\"cqa-ml-[8px] cqa-mr-[6px]\">\n <mat-icon *ngIf=\"it.icon\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\" [style.color]=\"getItemIconColor(it)\">\n {{ it.icon }}\n </mat-icon>\n </div>\n <span class=\"cqa-text-[12px] cqa-leading-[18px] cqa-text-dialog-muted\">{{ it.label }}</span>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-4 cqa-font-bold\">{{ it.value | number }}</div>\n </div>\n\n <!-- Children rows -->\n <div *ngIf=\"it.children?.length\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngFor=\"let ch of it.children\"\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-1 cqa-rounded-[4px] cqa-bg-[#F9FAFB]\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[10px] cqa-leading-[15px] cqa-text-[#4B5563]\">\n <ng-container *ngIf=\"getChildIcon(ch.label) as icon\">\n <ng-container [ngSwitch]=\"icon\">\n <svg *ngSwitchCase=\"'apple'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M16.365 1.43c0 1.182-.435 2.014-1.086 2.845-.823.99-1.982 1.707-3.078 1.6-.13-1.115.433-2.154 1.09-2.87.825-.925 2.196-1.59 3.07-1.575-.003.003.003 0 .003 0zm3.217 6.094c-.086-.067-2.684-1.598-5.468-.507-1.332.53-2.429.542-3.788.006-1.997-.8-3.635.156-3.735.208-.083.044-1.948 1.143-2.4 3.667-.43 2.375.6 4.92 1.4 6.52.723 1.421 1.704 3.126 3.067 3.07 1.35-.053 1.78-.883 3.323-.883 1.542 0 1.92.883 3.36.853 1.44-.026 2.352-1.443 3.073-2.855.674-1.324.963-2.603.983-2.668-.021-.009-1.88-.72-1.903-2.854-.021-1.786 1.463-2.64 1.534-2.682z\"/>\n </svg>\n <svg *ngSwitchCase=\"'android'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M17.6 9.48l1.42-2.46a.5.5 0 10-.86-.5l-1.44 2.52A11 11 0 0016 7h-8c-.24 0-.48.01-.72.04L5.84 6.5a.5.5 0 00-.86.5l1.42 2.46A7 7 0 004 15h.5a1.5 1.5 0 001.5-1.5V10h1v9.5A1.5 1.5 0 008.5 21h1a1.5 1.5 0 001.5-1.5V17h2v2.5A1.5 1.5 0 0014.5 21h1a1.5 1.5 0 001.5-1.5V10h1v3.5A1.5 1.5 0 0019.5 15H20a7 7 0 00-2.4-5.52zM9 5a.75.75 0 11-1.5 0A.75.75 0 019 5zm7.5 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z\"/>\n </svg>\n </ng-container>\n </ng-container>\n <div class=\"cqa-pr-1\" [ngClass]=\"getChildIcon(ch.label) ? 'cqa-pl-0' : 'cqa-pl-2'\">{{ ch.label }}</div>\n </div>\n <span class=\"cqa-font-bold cqa-text-[#111827] cqa-text-[10px] cqa-leading-[15px]\">{{ ch.value }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "number": i2.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ TestDistributionCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TestDistributionCardComponent, selector: "cqa-test-distribution-card", inputs: { title: "title", segments: "segments", items: "items" }, host: { classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div class=\"cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-border-default cqa-py-[14.5px] cqa-px-[17px] cqa-shadow-card\">\n <!-- Title -->\n <h3 class=\"cqa-text-[16px] cqa-leading-6 cqa-font-inter cqa-text-[#111827] cqa-mb-2\">{{ title }}</h3>\n\n <!-- Stacked segments pill -->\n <div class=\"cqa-w-full cqa-h-[24px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden cqa-flex cqa-mb-2\">\n <ng-container *ngFor=\"let s of visibleSegments; let i = index; let last = last\">\n <div\n class=\"cqa-h-full cqa-flex cqa-items-center cqa-justify-center cqa-text-white cqa-text-[12px] cqa-leading-[16px]\"\n [ngClass]=\"[\n segmentColor(s, i === 0 ? 'cqa-bg-[#4F46E5]' : i === segments.length - 1 ? 'cqa-bg-[#059669]' : 'cqa-bg-[#9333EA]'),\n i === 0 ? 'cqa-rounded-l-full' : '',\n last ? 'cqa-rounded-r-full' : ''\n ]\" [style.width]=\"segmentWidth(s)\" class=\"cqa-h-full cqa-flex cqa-font-inter cqa-items-center cqa-justify-center cqa-text-white cqa-text-[12px] cqa-leading-[16px]\">\n {{ s.label }}\n </div>\n </ng-container>\n </div>\n\n <!-- Items list -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <!-- Parent row -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between\">\n <div class=\"cqa-flex cqa-items-center\">\n <span class=\"cqa-w-[4px] cqa-h-[12px] cqa-rounded-full\" [style.background-color]=\"getItemIconColor(it)\"></span>\n <div class=\"cqa-ml-[8px] cqa-mr-[6px]\">\n <mat-icon *ngIf=\"it.icon\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\" [style.color]=\"getItemIconColor(it)\">\n {{ it.icon }}\n </mat-icon>\n </div>\n <span class=\"cqa-text-[12px] cqa-leading-[18px] cqa-font-inter cqa-text-dialog-muted\">{{ it.label }}</span>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-4 cqa-font-bold cqa-font-inter\">{{ it.value | number }}</div>\n </div>\n\n <!-- Children rows -->\n <div *ngIf=\"it.children?.length\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngFor=\"let ch of it.children\"\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-1 cqa-rounded-[4px] cqa-bg-[#F9FAFB]\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[10px] cqa-leading-[15px] cqa-font-inter cqa-text-[#4B5563]\">\n <ng-container *ngIf=\"getChildIcon(ch.label) as icon\">\n <ng-container [ngSwitch]=\"icon\">\n <svg *ngSwitchCase=\"'apple'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M16.365 1.43c0 1.182-.435 2.014-1.086 2.845-.823.99-1.982 1.707-3.078 1.6-.13-1.115.433-2.154 1.09-2.87.825-.925 2.196-1.59 3.07-1.575-.003.003.003 0 .003 0zm3.217 6.094c-.086-.067-2.684-1.598-5.468-.507-1.332.53-2.429.542-3.788.006-1.997-.8-3.635.156-3.735.208-.083.044-1.948 1.143-2.4 3.667-.43 2.375.6 4.92 1.4 6.52.723 1.421 1.704 3.126 3.067 3.07 1.35-.053 1.78-.883 3.323-.883 1.542 0 1.92.883 3.36.853 1.44-.026 2.352-1.443 3.073-2.855.674-1.324.963-2.603.983-2.668-.021-.009-1.88-.72-1.903-2.854-.021-1.786 1.463-2.64 1.534-2.682z\"/>\n </svg>\n <svg *ngSwitchCase=\"'android'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M17.6 9.48l1.42-2.46a.5.5 0 10-.86-.5l-1.44 2.52A11 11 0 0016 7h-8c-.24 0-.48.01-.72.04L5.84 6.5a.5.5 0 00-.86.5l1.42 2.46A7 7 0 004 15h.5a1.5 1.5 0 001.5-1.5V10h1v9.5A1.5 1.5 0 008.5 21h1a1.5 1.5 0 001.5-1.5V17h2v2.5A1.5 1.5 0 0014.5 21h1a1.5 1.5 0 001.5-1.5V10h1v3.5A1.5 1.5 0 0019.5 15H20a7 7 0 00-2.4-5.52zM9 5a.75.75 0 11-1.5 0A.75.75 0 019 5zm7.5 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z\"/>\n </svg>\n </ng-container>\n </ng-container>\n <div class=\"cqa-pr-1\" [ngClass]=\"getChildIcon(ch.label) ? 'cqa-pl-0' : 'cqa-pl-2'\">{{ ch.label }}</div>\n </div>\n <span class=\"cqa-font-bold cqa-font-inter cqa-text-[#111827] cqa-text-[10px] cqa-leading-[15px]\">{{ ch.value }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "number": i2.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TestDistributionCardComponent, decorators: [{
86
86
  type: Component,
87
- args: [{ selector: 'cqa-test-distribution-card', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div class=\"cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-border-default cqa-py-[14.5px] cqa-px-[17px] cqa-shadow-card\">\n <!-- Title -->\n <h3 class=\"cqa-text-[16px] cqa-leading-6 cqa-text-[#111827] cqa-mb-2\">{{ title }}</h3>\n\n <!-- Stacked segments pill -->\n <div class=\"cqa-w-full cqa-h-[24px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden cqa-flex cqa-mb-2\">\n <ng-container *ngFor=\"let s of visibleSegments; let i = index; let last = last\">\n <div\n class=\"cqa-h-full cqa-flex cqa-items-center cqa-justify-center cqa-text-white cqa-text-[12px] cqa-leading-[16px]\"\n [ngClass]=\"[\n segmentColor(s, i === 0 ? 'cqa-bg-[#4F46E5]' : i === segments.length - 1 ? 'cqa-bg-[#059669]' : 'cqa-bg-[#9333EA]'),\n i === 0 ? 'cqa-rounded-l-full' : '',\n last ? 'cqa-rounded-r-full' : ''\n ]\" [style.width]=\"segmentWidth(s)\">\n {{ s.label }}\n </div>\n </ng-container>\n </div>\n\n <!-- Items list -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <!-- Parent row -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between\">\n <div class=\"cqa-flex cqa-items-center\">\n <span class=\"cqa-w-[4px] cqa-h-[12px] cqa-rounded-full\" [style.background-color]=\"getItemIconColor(it)\"></span>\n <div class=\"cqa-ml-[8px] cqa-mr-[6px]\">\n <mat-icon *ngIf=\"it.icon\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\" [style.color]=\"getItemIconColor(it)\">\n {{ it.icon }}\n </mat-icon>\n </div>\n <span class=\"cqa-text-[12px] cqa-leading-[18px] cqa-text-dialog-muted\">{{ it.label }}</span>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-4 cqa-font-bold\">{{ it.value | number }}</div>\n </div>\n\n <!-- Children rows -->\n <div *ngIf=\"it.children?.length\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngFor=\"let ch of it.children\"\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-1 cqa-rounded-[4px] cqa-bg-[#F9FAFB]\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[10px] cqa-leading-[15px] cqa-text-[#4B5563]\">\n <ng-container *ngIf=\"getChildIcon(ch.label) as icon\">\n <ng-container [ngSwitch]=\"icon\">\n <svg *ngSwitchCase=\"'apple'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M16.365 1.43c0 1.182-.435 2.014-1.086 2.845-.823.99-1.982 1.707-3.078 1.6-.13-1.115.433-2.154 1.09-2.87.825-.925 2.196-1.59 3.07-1.575-.003.003.003 0 .003 0zm3.217 6.094c-.086-.067-2.684-1.598-5.468-.507-1.332.53-2.429.542-3.788.006-1.997-.8-3.635.156-3.735.208-.083.044-1.948 1.143-2.4 3.667-.43 2.375.6 4.92 1.4 6.52.723 1.421 1.704 3.126 3.067 3.07 1.35-.053 1.78-.883 3.323-.883 1.542 0 1.92.883 3.36.853 1.44-.026 2.352-1.443 3.073-2.855.674-1.324.963-2.603.983-2.668-.021-.009-1.88-.72-1.903-2.854-.021-1.786 1.463-2.64 1.534-2.682z\"/>\n </svg>\n <svg *ngSwitchCase=\"'android'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M17.6 9.48l1.42-2.46a.5.5 0 10-.86-.5l-1.44 2.52A11 11 0 0016 7h-8c-.24 0-.48.01-.72.04L5.84 6.5a.5.5 0 00-.86.5l1.42 2.46A7 7 0 004 15h.5a1.5 1.5 0 001.5-1.5V10h1v9.5A1.5 1.5 0 008.5 21h1a1.5 1.5 0 001.5-1.5V17h2v2.5A1.5 1.5 0 0014.5 21h1a1.5 1.5 0 001.5-1.5V10h1v3.5A1.5 1.5 0 0019.5 15H20a7 7 0 00-2.4-5.52zM9 5a.75.75 0 11-1.5 0A.75.75 0 019 5zm7.5 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z\"/>\n </svg>\n </ng-container>\n </ng-container>\n <div class=\"cqa-pr-1\" [ngClass]=\"getChildIcon(ch.label) ? 'cqa-pl-0' : 'cqa-pl-2'\">{{ ch.label }}</div>\n </div>\n <span class=\"cqa-font-bold cqa-text-[#111827] cqa-text-[10px] cqa-leading-[15px]\">{{ ch.value }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
87
+ args: [{ selector: 'cqa-test-distribution-card', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\">\n <div class=\"cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-border-default cqa-py-[14.5px] cqa-px-[17px] cqa-shadow-card\">\n <!-- Title -->\n <h3 class=\"cqa-text-[16px] cqa-leading-6 cqa-font-inter cqa-text-[#111827] cqa-mb-2\">{{ title }}</h3>\n\n <!-- Stacked segments pill -->\n <div class=\"cqa-w-full cqa-h-[24px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden cqa-flex cqa-mb-2\">\n <ng-container *ngFor=\"let s of visibleSegments; let i = index; let last = last\">\n <div\n class=\"cqa-h-full cqa-flex cqa-items-center cqa-justify-center cqa-text-white cqa-text-[12px] cqa-leading-[16px]\"\n [ngClass]=\"[\n segmentColor(s, i === 0 ? 'cqa-bg-[#4F46E5]' : i === segments.length - 1 ? 'cqa-bg-[#059669]' : 'cqa-bg-[#9333EA]'),\n i === 0 ? 'cqa-rounded-l-full' : '',\n last ? 'cqa-rounded-r-full' : ''\n ]\" [style.width]=\"segmentWidth(s)\" class=\"cqa-h-full cqa-flex cqa-font-inter cqa-items-center cqa-justify-center cqa-text-white cqa-text-[12px] cqa-leading-[16px]\">\n {{ s.label }}\n </div>\n </ng-container>\n </div>\n\n <!-- Items list -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-flex-col cqa-gap-[6px]\">\n <!-- Parent row -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between\">\n <div class=\"cqa-flex cqa-items-center\">\n <span class=\"cqa-w-[4px] cqa-h-[12px] cqa-rounded-full\" [style.background-color]=\"getItemIconColor(it)\"></span>\n <div class=\"cqa-ml-[8px] cqa-mr-[6px]\">\n <mat-icon *ngIf=\"it.icon\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\" [style.color]=\"getItemIconColor(it)\">\n {{ it.icon }}\n </mat-icon>\n </div>\n <span class=\"cqa-text-[12px] cqa-leading-[18px] cqa-font-inter cqa-text-dialog-muted\">{{ it.label }}</span>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-4 cqa-font-bold cqa-font-inter\">{{ it.value | number }}</div>\n </div>\n\n <!-- Children rows -->\n <div *ngIf=\"it.children?.length\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngFor=\"let ch of it.children\"\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-1 cqa-rounded-[4px] cqa-bg-[#F9FAFB]\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[10px] cqa-leading-[15px] cqa-font-inter cqa-text-[#4B5563]\">\n <ng-container *ngIf=\"getChildIcon(ch.label) as icon\">\n <ng-container [ngSwitch]=\"icon\">\n <svg *ngSwitchCase=\"'apple'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M16.365 1.43c0 1.182-.435 2.014-1.086 2.845-.823.99-1.982 1.707-3.078 1.6-.13-1.115.433-2.154 1.09-2.87.825-.925 2.196-1.59 3.07-1.575-.003.003.003 0 .003 0zm3.217 6.094c-.086-.067-2.684-1.598-5.468-.507-1.332.53-2.429.542-3.788.006-1.997-.8-3.635.156-3.735.208-.083.044-1.948 1.143-2.4 3.667-.43 2.375.6 4.92 1.4 6.52.723 1.421 1.704 3.126 3.067 3.07 1.35-.053 1.78-.883 3.323-.883 1.542 0 1.92.883 3.36.853 1.44-.026 2.352-1.443 3.073-2.855.674-1.324.963-2.603.983-2.668-.021-.009-1.88-.72-1.903-2.854-.021-1.786 1.463-2.64 1.534-2.682z\"/>\n </svg>\n <svg *ngSwitchCase=\"'android'\" class=\"cqa-w-[14px] cqa-h-[14px] cqa-ml-2 cqa-mr-1\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M17.6 9.48l1.42-2.46a.5.5 0 10-.86-.5l-1.44 2.52A11 11 0 0016 7h-8c-.24 0-.48.01-.72.04L5.84 6.5a.5.5 0 00-.86.5l1.42 2.46A7 7 0 004 15h.5a1.5 1.5 0 001.5-1.5V10h1v9.5A1.5 1.5 0 008.5 21h1a1.5 1.5 0 001.5-1.5V17h2v2.5A1.5 1.5 0 0014.5 21h1a1.5 1.5 0 001.5-1.5V10h1v3.5A1.5 1.5 0 0019.5 15H20a7 7 0 00-2.4-5.52zM9 5a.75.75 0 11-1.5 0A.75.75 0 019 5zm7.5 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z\"/>\n </svg>\n </ng-container>\n </ng-container>\n <div class=\"cqa-pr-1\" [ngClass]=\"getChildIcon(ch.label) ? 'cqa-pl-0' : 'cqa-pl-2'\">{{ ch.label }}</div>\n </div>\n <span class=\"cqa-font-bold cqa-font-inter cqa-text-[#111827] cqa-text-[10px] cqa-leading-[15px]\">{{ ch.value }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
88
88
  }], propDecorators: { title: [{
89
89
  type: Input
90
90
  }], segments: [{
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
92
92
  }], items: [{
93
93
  type: Input
94
94
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1kaXN0cmlidXRpb24tY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvdGVzdC1kaXN0cmlidXRpb24tY2FyZC90ZXN0LWRpc3RyaWJ1dGlvbi1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy90ZXN0LWRpc3RyaWJ1dGlvbi1jYXJkL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUE4QjFFLE1BQU0sT0FBTyw2QkFBNkI7SUFQMUM7UUFRVyxVQUFLLEdBQVcsbUJBQW1CLENBQUM7UUFDcEMsYUFBUSxHQUEwQixFQUFFLENBQUM7UUFDckMsVUFBSyxHQUF1QixFQUFFLENBQUM7S0FtRnpDO0lBakZDLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUE0QjtRQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyx3Q0FBd0M7UUFFL0QsaURBQWlEO1FBQ2pELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDO1lBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHO1lBQ25DLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLFdBQVc7U0FDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSiw2Q0FBNkM7UUFDN0MsTUFBTSxzQkFBc0IsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNoRixNQUFNLGlCQUFpQixHQUFHLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztRQUUvRCx1QkFBdUI7UUFDdkIsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksWUFBWSxDQUFDLFlBQVksRUFBRTtZQUM3QixPQUFPLFdBQVcsR0FBRyxHQUFHLENBQUM7U0FDMUI7UUFFRCxrRkFBa0Y7UUFDbEYsb0VBQW9FO1FBQ3BFLE1BQU0sY0FBYyxHQUFHLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQztRQUMvQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RSxNQUFNLHdCQUF3QixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhHLHlFQUF5RTtRQUN6RSxJQUFJLHdCQUF3QixLQUFLLENBQUMsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDN0Q7UUFFRCx5REFBeUQ7UUFDekQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLEdBQUcsY0FBYyxDQUFDO1FBRXhGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2hELENBQUM7SUFFRCxZQUFZLENBQUMsT0FBNEIsRUFBRSxRQUFnQjtRQUN6RCxPQUFPLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxlQUFlLEtBQUssS0FBSyxJQUFJLGVBQWUsS0FBSyxPQUFPLEVBQUU7WUFDNUQsT0FBTyxPQUFPLENBQUM7U0FDaEI7YUFBTSxJQUFJLGVBQWUsS0FBSyxTQUFTLEVBQUU7WUFDeEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFzQjtRQUNyQyw2Q0FBNkM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDbkIsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTSxJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTSxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDMUIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLFVBQVU7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7OzBIQXJGVSw2QkFBNkI7OEdBQTdCLDZCQUE2Qiw2S0M5QjFDLDZ5SUE0RE07MkZEOUJPLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUdyQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc3RyaWJ1dGlvblNlZ21lbnQge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICAvKiogVGFpbHdpbmQtbGlrZSBjbGFzcyBvciBoZXggYmcgY29sb3IgKi9cbiAgY29sb3JDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXN0cmlidXRpb25DaGlsZEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICBjb2xvckNsYXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3RyaWJ1dGlvbkl0ZW0ge1xuICBpY29uPzogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICBjb2xvckNsYXNzPzogc3RyaW5nOyAvLyB1c2VkIGZvciBpY29uL2FjY2VudCBpZiBkZXNpcmVkXG4gIGNoaWxkcmVuPzogRGlzdHJpYnV0aW9uQ2hpbGRJdGVtW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS10ZXN0LWRpc3RyaWJ1dGlvbi1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICdUZXN0IERpc3RyaWJ1dGlvbic7XG4gIEBJbnB1dCgpIHNlZ21lbnRzOiBEaXN0cmlidXRpb25TZWdtZW50W10gPSBbXTtcbiAgQElucHV0KCkgaXRlbXM6IERpc3RyaWJ1dGlvbkl0ZW1bXSA9IFtdO1xuXG4gIHRvdGFsU2VnbWVudHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlU2VnbWVudHMucmVkdWNlKChzdW0sIHMpID0+IHN1bSArIChzLnZhbHVlIHx8IDApLCAwKSB8fCAxO1xuICB9XG5cbiAgc2VnbWVudFdpZHRoKHNlZ21lbnQ6IERpc3RyaWJ1dGlvblNlZ21lbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy50b3RhbFNlZ21lbnRzKCk7XG4gICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnZpc2libGVTZWdtZW50cztcbiAgICBjb25zdCBtaW5XaWR0aFBjdCA9IDg7IC8vIE1pbmltdW0gOCUgdG8gZW5zdXJlIGxhYmVsIGlzIHZpc2libGVcbiAgICBcbiAgICAvLyBDYWxjdWxhdGUgbmF0dXJhbCBwZXJjZW50YWdlcyBmb3IgYWxsIHNlZ21lbnRzXG4gICAgY29uc3QgbmF0dXJhbFdpZHRocyA9IHNlZ21lbnRzLm1hcChzID0+ICh7XG4gICAgICBzZWdtZW50OiBzLFxuICAgICAgbmF0dXJhbFBjdDogKHMudmFsdWUgLyB0b3RhbCkgKiAxMDAsXG4gICAgICBuZWVkc01pbmltdW06IChzLnZhbHVlIC8gdG90YWwpICogMTAwIDwgbWluV2lkdGhQY3RcbiAgICB9KSk7XG4gICAgXG4gICAgLy8gQ291bnQgaG93IG1hbnkgc2VnbWVudHMgbmVlZCBtaW5pbXVtIHdpZHRoXG4gICAgY29uc3Qgc2VnbWVudHNOZWVkaW5nTWluaW11bSA9IG5hdHVyYWxXaWR0aHMuZmlsdGVyKHcgPT4gdy5uZWVkc01pbmltdW0pLmxlbmd0aDtcbiAgICBjb25zdCB0b3RhbE1pbmltdW1XaWR0aCA9IHNlZ21lbnRzTmVlZGluZ01pbmltdW0gKiBtaW5XaWR0aFBjdDtcbiAgICBcbiAgICAvLyBGaW5kIGN1cnJlbnQgc2VnbWVudFxuICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IG5hdHVyYWxXaWR0aHMuZmluZCh3ID0+IHcuc2VnbWVudCA9PT0gc2VnbWVudCk7XG4gICAgaWYgKCFjdXJyZW50V2lkdGgpIHtcbiAgICAgIHJldHVybiAnMCUnO1xuICAgIH1cbiAgICBcbiAgICAvLyBJZiB0aGlzIHNlZ21lbnQgbmVlZHMgbWluaW11bSwgZ2l2ZSBpdCBtaW5pbXVtIHdpZHRoXG4gICAgaWYgKGN1cnJlbnRXaWR0aC5uZWVkc01pbmltdW0pIHtcbiAgICAgIHJldHVybiBtaW5XaWR0aFBjdCArICclJztcbiAgICB9XG4gICAgXG4gICAgLy8gRm9yIHNlZ21lbnRzIHRoYXQgZG9uJ3QgbmVlZCBtaW5pbXVtLCBkaXN0cmlidXRlIHJlbWFpbmluZyBzcGFjZSBwcm9wb3J0aW9uYWxseVxuICAgIC8vIFJlbWFpbmluZyBzcGFjZSA9IDEwMCUgLSAoc2VnbWVudHMgbmVlZGluZyBtaW5pbXVtICogbWluV2lkdGhQY3QpXG4gICAgY29uc3QgcmVtYWluaW5nU3BhY2UgPSAxMDAgLSB0b3RhbE1pbmltdW1XaWR0aDtcbiAgICBjb25zdCBzZWdtZW50c0Fib3ZlTWluaW11bSA9IG5hdHVyYWxXaWR0aHMuZmlsdGVyKHcgPT4gIXcubmVlZHNNaW5pbXVtKTtcbiAgICBjb25zdCB0b3RhbE5hdHVyYWxBYm92ZU1pbmltdW0gPSBzZWdtZW50c0Fib3ZlTWluaW11bS5yZWR1Y2UoKHN1bSwgdykgPT4gc3VtICsgdy5uYXR1cmFsUGN0LCAwKTtcbiAgICBcbiAgICAvLyBJZiB0aGVyZSdzIG5vIG5hdHVyYWwgc3BhY2UgYWJvdmUgbWluaW11bSwganVzdCB1c2UgbmF0dXJhbCBwZXJjZW50YWdlXG4gICAgaWYgKHRvdGFsTmF0dXJhbEFib3ZlTWluaW11bSA9PT0gMCkge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KG1pbldpZHRoUGN0LCBjdXJyZW50V2lkdGgubmF0dXJhbFBjdCkgKyAnJSc7XG4gICAgfVxuICAgIFxuICAgIC8vIFNjYWxlIHRoZSBuYXR1cmFsIHBlcmNlbnRhZ2UgdG8gZml0IGluIHJlbWFpbmluZyBzcGFjZVxuICAgIGNvbnN0IHNjYWxlZFBjdCA9IChjdXJyZW50V2lkdGgubmF0dXJhbFBjdCAvIHRvdGFsTmF0dXJhbEFib3ZlTWluaW11bSkgKiByZW1haW5pbmdTcGFjZTtcbiAgICBcbiAgICByZXR1cm4gTWF0aC5tYXgobWluV2lkdGhQY3QsIHNjYWxlZFBjdCkgKyAnJSc7XG4gIH1cblxuICBzZWdtZW50Q29sb3Ioc2VnbWVudDogRGlzdHJpYnV0aW9uU2VnbWVudCwgZmFsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlZ21lbnQuY29sb3JDbGFzcyB8fCBmYWxsYmFjaztcbiAgfVxuXG4gIGdldENoaWxkSWNvbihsYWJlbDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZExhYmVsID0gbGFiZWwudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgaWYgKG5vcm1hbGl6ZWRMYWJlbCA9PT0gJ2lvcycgfHwgbm9ybWFsaXplZExhYmVsID09PSAnYXBwbGUnKSB7XG4gICAgICByZXR1cm4gJ2FwcGxlJztcbiAgICB9IGVsc2UgaWYgKG5vcm1hbGl6ZWRMYWJlbCA9PT0gJ2FuZHJvaWQnKSB7XG4gICAgICByZXR1cm4gJ2FuZHJvaWQnO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldEl0ZW1JY29uQ29sb3IoaXRlbTogRGlzdHJpYnV0aW9uSXRlbSk6IHN0cmluZyB7XG4gICAgLy8gUmV0dXJuIGNvbG9yIGJhc2VkIG9uIGxhYmVsIG9yIHVzZSBkZWZhdWx0XG4gICAgY29uc3QgbGFiZWwgPSBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxhYmVsID09PSAnd2ViJykge1xuICAgICAgcmV0dXJuICcjNEY0NkU1JztcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAnbW9iaWxlJykge1xuICAgICAgcmV0dXJuICcjOTMzM0VBJztcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAnYXBpJykge1xuICAgICAgcmV0dXJuICcjMDU5NjY5JztcbiAgICB9XG4gICAgcmV0dXJuICcjNEY0NkU1JzsgLy8gZGVmYXVsdFxuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBzZWdtZW50cyB0byBvbmx5IHNob3cgdGhvc2Ugd2l0aCB2YWx1ZSA+IDBcbiAgICovXG4gIGdldCB2aXNpYmxlU2VnbWVudHMoKTogRGlzdHJpYnV0aW9uU2VnbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWdtZW50cy5maWx0ZXIoc2VnbWVudCA9PiBzZWdtZW50LnZhbHVlID4gMCk7XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1iZy13aGl0ZSBjcWEtcm91bmRlZC1bOHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1ib3JkZXItZGVmYXVsdCBjcWEtcHktWzE0LjVweF0gY3FhLXB4LVsxN3B4XSBjcWEtc2hhZG93LWNhcmRcIj5cbiAgICA8IS0tIFRpdGxlIC0tPlxuICAgIDxoMyBjbGFzcz1cImNxYS10ZXh0LVsxNnB4XSBjcWEtbGVhZGluZy02IGNxYS10ZXh0LVsjMTExODI3XSBjcWEtbWItMlwiPnt7IHRpdGxlIH19PC9oMz5cblxuICAgIDwhLS0gU3RhY2tlZCBzZWdtZW50cyBwaWxsIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLVsyNHB4XSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1bI0YzRjRGNl0gY3FhLW92ZXJmbG93LWhpZGRlbiBjcWEtZmxleCBjcWEtbWItMlwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcyBvZiB2aXNpYmxlU2VnbWVudHM7IGxldCBpID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjcWEtaC1mdWxsIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS10ZXh0LXdoaXRlIGNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF1cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgIHNlZ21lbnRDb2xvcihzLCBpID09PSAwID8gJ2NxYS1iZy1bIzRGNDZFNV0nIDogaSA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSA/ICdjcWEtYmctWyMwNTk2NjldJyA6ICdjcWEtYmctWyM5MzMzRUFdJyksXG4gICAgICAgICAgICBpID09PSAwID8gJ2NxYS1yb3VuZGVkLWwtZnVsbCcgOiAnJyxcbiAgICAgICAgICAgIGxhc3QgPyAnY3FhLXJvdW5kZWQtci1mdWxsJyA6ICcnXG4gICAgICAgICAgXVwiIFtzdHlsZS53aWR0aF09XCJzZWdtZW50V2lkdGgocylcIj5cbiAgICAgICAgICB7eyBzLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEl0ZW1zIGxpc3QgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLVs2cHhdXCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdCBvZiBpdGVtc1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtWzZweF1cIj5cbiAgICAgICAgPCEtLSBQYXJlbnQgcm93IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXctWzRweF0gY3FhLWgtWzEycHhdIGNxYS1yb3VuZGVkLWZ1bGxcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRJdGVtSWNvbkNvbG9yKGl0KVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbWwtWzhweF0gY3FhLW1yLVs2cHhdXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIml0Lmljb25cIiBjbGFzcz1cImNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsxNHB4XVwiIFtzdHlsZS5jb2xvcl09XCJnZXRJdGVtSWNvbkNvbG9yKGl0KVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0Lmljb24gfX1cbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE4cHhdIGNxYS10ZXh0LWRpYWxvZy1tdXRlZFwiPnt7IGl0LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtZm9udC1ib2xkXCI+e3sgaXQudmFsdWUgfCBudW1iZXIgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBDaGlsZHJlbiByb3dzIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXQuY2hpbGRyZW4/Lmxlbmd0aFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjaCBvZiBpdC5jaGlsZHJlblwiXG4gICAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtZmxleC0xIGNxYS1yb3VuZGVkLVs0cHhdIGNxYS1iZy1bI0Y5RkFGQl1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF0gY3FhLXRleHQtWyM0QjU1NjNdXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRDaGlsZEljb24oY2gubGFiZWwpIGFzIGljb25cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJpY29uXCI+XG4gICAgICAgICAgICAgICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCInYXBwbGUnXCIgY2xhc3M9XCJjcWEtdy1bMTRweF0gY3FhLWgtWzE0cHhdIGNxYS1tbC0yIGNxYS1tci0xXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTE2LjM2NSAxLjQzYzAgMS4xODItLjQzNSAyLjAxNC0xLjA4NiAyLjg0NS0uODIzLjk5LTEuOTgyIDEuNzA3LTMuMDc4IDEuNi0uMTMtMS4xMTUuNDMzLTIuMTU0IDEuMDktMi44Ny44MjUtLjkyNSAyLjE5Ni0xLjU5IDMuMDctMS41NzUtLjAwMy4wMDMuMDAzIDAgLjAwMyAwem0zLjIxNyA2LjA5NGMtLjA4Ni0uMDY3LTIuNjg0LTEuNTk4LTUuNDY4LS41MDctMS4zMzIuNTMtMi40MjkuNTQyLTMuNzg4LjAwNi0xLjk5Ny0uOC0zLjYzNS4xNTYtMy43MzUuMjA4LS4wODMuMDQ0LTEuOTQ4IDEuMTQzLTIuNCAzLjY2Ny0uNDMgMi4zNzUuNiA0LjkyIDEuNCA2LjUyLjcyMyAxLjQyMSAxLjcwNCAzLjEyNiAzLjA2NyAzLjA3IDEuMzUtLjA1MyAxLjc4LS44ODMgMy4zMjMtLjg4MyAxLjU0MiAwIDEuOTIuODgzIDMuMzYuODUzIDEuNDQtLjAyNiAyLjM1Mi0xLjQ0MyAzLjA3My0yLjg1NS42NzQtMS4zMjQuOTYzLTIuNjAzLjk4My0yLjY2OC0uMDIxLS4wMDktMS44OC0uNzItMS45MDMtMi44NTQtLjAyMS0xLjc4NiAxLjQ2My0yLjY0IDEuNTM0LTIuNjgyelwiLz5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2FuZHJvaWQnXCIgY2xhc3M9XCJjcWEtdy1bMTRweF0gY3FhLWgtWzE0cHhdIGNxYS1tbC0yIGNxYS1tci0xXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTE3LjYgOS40OGwxLjQyLTIuNDZhLjUuNSAwIDEwLS44Ni0uNWwtMS40NCAyLjUyQTExIDExIDAgMDAxNiA3aC04Yy0uMjQgMC0uNDguMDEtLjcyLjA0TDUuODQgNi41YS41LjUgMCAwMC0uODYuNWwxLjQyIDIuNDZBNyA3IDAgMDA0IDE1aC41YTEuNSAxLjUgMCAwMDEuNS0xLjVWMTBoMXY5LjVBMS41IDEuNSAwIDAwOC41IDIxaDFhMS41IDEuNSAwIDAwMS41LTEuNVYxN2gydjIuNUExLjUgMS41IDAgMDAxNC41IDIxaDFhMS41IDEuNSAwIDAwMS41LTEuNVYxMGgxdjMuNUExLjUgMS41IDAgMDAxOS41IDE1SDIwYTcgNyAwIDAwLTIuNC01LjUyek05IDVhLjc1Ljc1IDAgMTEtMS41IDBBLjc1Ljc1IDAgMDE5IDV6bTcuNSAwYS43NS43NSAwIDExLTEuNSAwIC43NS43NSAwIDAxMS41IDB6XCIvPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXByLTFcIiBbbmdDbGFzc109XCJnZXRDaGlsZEljb24oY2gubGFiZWwpID8gJ2NxYS1wbC0wJyA6ICdjcWEtcGwtMidcIj57eyBjaC5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1mb250LWJvbGQgY3FhLXRleHQtWyMxMTE4MjddIGNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy1bMTVweF1cIj57eyBjaC52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1kaXN0cmlidXRpb24tY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvdGVzdC1kaXN0cmlidXRpb24tY2FyZC90ZXN0LWRpc3RyaWJ1dGlvbi1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy90ZXN0LWRpc3RyaWJ1dGlvbi1jYXJkL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUE4QjFFLE1BQU0sT0FBTyw2QkFBNkI7SUFQMUM7UUFRVyxVQUFLLEdBQVcsbUJBQW1CLENBQUM7UUFDcEMsYUFBUSxHQUEwQixFQUFFLENBQUM7UUFDckMsVUFBSyxHQUF1QixFQUFFLENBQUM7S0FtRnpDO0lBakZDLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUE0QjtRQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyx3Q0FBd0M7UUFFL0QsaURBQWlEO1FBQ2pELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDO1lBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHO1lBQ25DLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLFdBQVc7U0FDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSiw2Q0FBNkM7UUFDN0MsTUFBTSxzQkFBc0IsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNoRixNQUFNLGlCQUFpQixHQUFHLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztRQUUvRCx1QkFBdUI7UUFDdkIsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksWUFBWSxDQUFDLFlBQVksRUFBRTtZQUM3QixPQUFPLFdBQVcsR0FBRyxHQUFHLENBQUM7U0FDMUI7UUFFRCxrRkFBa0Y7UUFDbEYsb0VBQW9FO1FBQ3BFLE1BQU0sY0FBYyxHQUFHLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQztRQUMvQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RSxNQUFNLHdCQUF3QixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhHLHlFQUF5RTtRQUN6RSxJQUFJLHdCQUF3QixLQUFLLENBQUMsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDN0Q7UUFFRCx5REFBeUQ7UUFDekQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLEdBQUcsY0FBYyxDQUFDO1FBRXhGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2hELENBQUM7SUFFRCxZQUFZLENBQUMsT0FBNEIsRUFBRSxRQUFnQjtRQUN6RCxPQUFPLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxlQUFlLEtBQUssS0FBSyxJQUFJLGVBQWUsS0FBSyxPQUFPLEVBQUU7WUFDNUQsT0FBTyxPQUFPLENBQUM7U0FDaEI7YUFBTSxJQUFJLGVBQWUsS0FBSyxTQUFTLEVBQUU7WUFDeEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFzQjtRQUNyQyw2Q0FBNkM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDbkIsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTSxJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTSxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDMUIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLFVBQVU7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7OzBIQXJGVSw2QkFBNkI7OEdBQTdCLDZCQUE2Qiw2S0M5QjFDLDIvSUE0RE07MkZEOUJPLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUdyQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc3RyaWJ1dGlvblNlZ21lbnQge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICAvKiogVGFpbHdpbmQtbGlrZSBjbGFzcyBvciBoZXggYmcgY29sb3IgKi9cbiAgY29sb3JDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXN0cmlidXRpb25DaGlsZEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICBjb2xvckNsYXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3RyaWJ1dGlvbkl0ZW0ge1xuICBpY29uPzogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICBjb2xvckNsYXNzPzogc3RyaW5nOyAvLyB1c2VkIGZvciBpY29uL2FjY2VudCBpZiBkZXNpcmVkXG4gIGNoaWxkcmVuPzogRGlzdHJpYnV0aW9uQ2hpbGRJdGVtW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS10ZXN0LWRpc3RyaWJ1dGlvbi1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICdUZXN0IERpc3RyaWJ1dGlvbic7XG4gIEBJbnB1dCgpIHNlZ21lbnRzOiBEaXN0cmlidXRpb25TZWdtZW50W10gPSBbXTtcbiAgQElucHV0KCkgaXRlbXM6IERpc3RyaWJ1dGlvbkl0ZW1bXSA9IFtdO1xuXG4gIHRvdGFsU2VnbWVudHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlU2VnbWVudHMucmVkdWNlKChzdW0sIHMpID0+IHN1bSArIChzLnZhbHVlIHx8IDApLCAwKSB8fCAxO1xuICB9XG5cbiAgc2VnbWVudFdpZHRoKHNlZ21lbnQ6IERpc3RyaWJ1dGlvblNlZ21lbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy50b3RhbFNlZ21lbnRzKCk7XG4gICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnZpc2libGVTZWdtZW50cztcbiAgICBjb25zdCBtaW5XaWR0aFBjdCA9IDg7IC8vIE1pbmltdW0gOCUgdG8gZW5zdXJlIGxhYmVsIGlzIHZpc2libGVcbiAgICBcbiAgICAvLyBDYWxjdWxhdGUgbmF0dXJhbCBwZXJjZW50YWdlcyBmb3IgYWxsIHNlZ21lbnRzXG4gICAgY29uc3QgbmF0dXJhbFdpZHRocyA9IHNlZ21lbnRzLm1hcChzID0+ICh7XG4gICAgICBzZWdtZW50OiBzLFxuICAgICAgbmF0dXJhbFBjdDogKHMudmFsdWUgLyB0b3RhbCkgKiAxMDAsXG4gICAgICBuZWVkc01pbmltdW06IChzLnZhbHVlIC8gdG90YWwpICogMTAwIDwgbWluV2lkdGhQY3RcbiAgICB9KSk7XG4gICAgXG4gICAgLy8gQ291bnQgaG93IG1hbnkgc2VnbWVudHMgbmVlZCBtaW5pbXVtIHdpZHRoXG4gICAgY29uc3Qgc2VnbWVudHNOZWVkaW5nTWluaW11bSA9IG5hdHVyYWxXaWR0aHMuZmlsdGVyKHcgPT4gdy5uZWVkc01pbmltdW0pLmxlbmd0aDtcbiAgICBjb25zdCB0b3RhbE1pbmltdW1XaWR0aCA9IHNlZ21lbnRzTmVlZGluZ01pbmltdW0gKiBtaW5XaWR0aFBjdDtcbiAgICBcbiAgICAvLyBGaW5kIGN1cnJlbnQgc2VnbWVudFxuICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IG5hdHVyYWxXaWR0aHMuZmluZCh3ID0+IHcuc2VnbWVudCA9PT0gc2VnbWVudCk7XG4gICAgaWYgKCFjdXJyZW50V2lkdGgpIHtcbiAgICAgIHJldHVybiAnMCUnO1xuICAgIH1cbiAgICBcbiAgICAvLyBJZiB0aGlzIHNlZ21lbnQgbmVlZHMgbWluaW11bSwgZ2l2ZSBpdCBtaW5pbXVtIHdpZHRoXG4gICAgaWYgKGN1cnJlbnRXaWR0aC5uZWVkc01pbmltdW0pIHtcbiAgICAgIHJldHVybiBtaW5XaWR0aFBjdCArICclJztcbiAgICB9XG4gICAgXG4gICAgLy8gRm9yIHNlZ21lbnRzIHRoYXQgZG9uJ3QgbmVlZCBtaW5pbXVtLCBkaXN0cmlidXRlIHJlbWFpbmluZyBzcGFjZSBwcm9wb3J0aW9uYWxseVxuICAgIC8vIFJlbWFpbmluZyBzcGFjZSA9IDEwMCUgLSAoc2VnbWVudHMgbmVlZGluZyBtaW5pbXVtICogbWluV2lkdGhQY3QpXG4gICAgY29uc3QgcmVtYWluaW5nU3BhY2UgPSAxMDAgLSB0b3RhbE1pbmltdW1XaWR0aDtcbiAgICBjb25zdCBzZWdtZW50c0Fib3ZlTWluaW11bSA9IG5hdHVyYWxXaWR0aHMuZmlsdGVyKHcgPT4gIXcubmVlZHNNaW5pbXVtKTtcbiAgICBjb25zdCB0b3RhbE5hdHVyYWxBYm92ZU1pbmltdW0gPSBzZWdtZW50c0Fib3ZlTWluaW11bS5yZWR1Y2UoKHN1bSwgdykgPT4gc3VtICsgdy5uYXR1cmFsUGN0LCAwKTtcbiAgICBcbiAgICAvLyBJZiB0aGVyZSdzIG5vIG5hdHVyYWwgc3BhY2UgYWJvdmUgbWluaW11bSwganVzdCB1c2UgbmF0dXJhbCBwZXJjZW50YWdlXG4gICAgaWYgKHRvdGFsTmF0dXJhbEFib3ZlTWluaW11bSA9PT0gMCkge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KG1pbldpZHRoUGN0LCBjdXJyZW50V2lkdGgubmF0dXJhbFBjdCkgKyAnJSc7XG4gICAgfVxuICAgIFxuICAgIC8vIFNjYWxlIHRoZSBuYXR1cmFsIHBlcmNlbnRhZ2UgdG8gZml0IGluIHJlbWFpbmluZyBzcGFjZVxuICAgIGNvbnN0IHNjYWxlZFBjdCA9IChjdXJyZW50V2lkdGgubmF0dXJhbFBjdCAvIHRvdGFsTmF0dXJhbEFib3ZlTWluaW11bSkgKiByZW1haW5pbmdTcGFjZTtcbiAgICBcbiAgICByZXR1cm4gTWF0aC5tYXgobWluV2lkdGhQY3QsIHNjYWxlZFBjdCkgKyAnJSc7XG4gIH1cblxuICBzZWdtZW50Q29sb3Ioc2VnbWVudDogRGlzdHJpYnV0aW9uU2VnbWVudCwgZmFsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlZ21lbnQuY29sb3JDbGFzcyB8fCBmYWxsYmFjaztcbiAgfVxuXG4gIGdldENoaWxkSWNvbihsYWJlbDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZExhYmVsID0gbGFiZWwudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgaWYgKG5vcm1hbGl6ZWRMYWJlbCA9PT0gJ2lvcycgfHwgbm9ybWFsaXplZExhYmVsID09PSAnYXBwbGUnKSB7XG4gICAgICByZXR1cm4gJ2FwcGxlJztcbiAgICB9IGVsc2UgaWYgKG5vcm1hbGl6ZWRMYWJlbCA9PT0gJ2FuZHJvaWQnKSB7XG4gICAgICByZXR1cm4gJ2FuZHJvaWQnO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldEl0ZW1JY29uQ29sb3IoaXRlbTogRGlzdHJpYnV0aW9uSXRlbSk6IHN0cmluZyB7XG4gICAgLy8gUmV0dXJuIGNvbG9yIGJhc2VkIG9uIGxhYmVsIG9yIHVzZSBkZWZhdWx0XG4gICAgY29uc3QgbGFiZWwgPSBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxhYmVsID09PSAnd2ViJykge1xuICAgICAgcmV0dXJuICcjNEY0NkU1JztcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAnbW9iaWxlJykge1xuICAgICAgcmV0dXJuICcjOTMzM0VBJztcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAnYXBpJykge1xuICAgICAgcmV0dXJuICcjMDU5NjY5JztcbiAgICB9XG4gICAgcmV0dXJuICcjNEY0NkU1JzsgLy8gZGVmYXVsdFxuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBzZWdtZW50cyB0byBvbmx5IHNob3cgdGhvc2Ugd2l0aCB2YWx1ZSA+IDBcbiAgICovXG4gIGdldCB2aXNpYmxlU2VnbWVudHMoKTogRGlzdHJpYnV0aW9uU2VnbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWdtZW50cy5maWx0ZXIoc2VnbWVudCA9PiBzZWdtZW50LnZhbHVlID4gMCk7XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1iZy13aGl0ZSBjcWEtcm91bmRlZC1bOHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1ib3JkZXItZGVmYXVsdCBjcWEtcHktWzE0LjVweF0gY3FhLXB4LVsxN3B4XSBjcWEtc2hhZG93LWNhcmRcIj5cbiAgICA8IS0tIFRpdGxlIC0tPlxuICAgIDxoMyBjbGFzcz1cImNxYS10ZXh0LVsxNnB4XSBjcWEtbGVhZGluZy02IGNxYS1mb250LWludGVyIGNxYS10ZXh0LVsjMTExODI3XSBjcWEtbWItMlwiPnt7IHRpdGxlIH19PC9oMz5cblxuICAgIDwhLS0gU3RhY2tlZCBzZWdtZW50cyBwaWxsIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLVsyNHB4XSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1bI0YzRjRGNl0gY3FhLW92ZXJmbG93LWhpZGRlbiBjcWEtZmxleCBjcWEtbWItMlwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcyBvZiB2aXNpYmxlU2VnbWVudHM7IGxldCBpID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjcWEtaC1mdWxsIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS10ZXh0LXdoaXRlIGNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF1cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgIHNlZ21lbnRDb2xvcihzLCBpID09PSAwID8gJ2NxYS1iZy1bIzRGNDZFNV0nIDogaSA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSA/ICdjcWEtYmctWyMwNTk2NjldJyA6ICdjcWEtYmctWyM5MzMzRUFdJyksXG4gICAgICAgICAgICBpID09PSAwID8gJ2NxYS1yb3VuZGVkLWwtZnVsbCcgOiAnJyxcbiAgICAgICAgICAgIGxhc3QgPyAnY3FhLXJvdW5kZWQtci1mdWxsJyA6ICcnXG4gICAgICAgICAgXVwiIFtzdHlsZS53aWR0aF09XCJzZWdtZW50V2lkdGgocylcIiBjbGFzcz1cImNxYS1oLWZ1bGwgY3FhLWZsZXggY3FhLWZvbnQtaW50ZXIgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXRleHQtd2hpdGUgY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNnB4XVwiPlxuICAgICAgICAgIHt7IHMubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gSXRlbXMgbGlzdCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtWzZweF1cIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0IG9mIGl0ZW1zXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC1bNnB4XVwiPlxuICAgICAgICA8IS0tIFBhcmVudCByb3cgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdy1bNHB4XSBjcWEtaC1bMTJweF0gY3FhLXJvdW5kZWQtZnVsbFwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEl0ZW1JY29uQ29sb3IoaXQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1tbC1bOHB4XSBjcWEtbXItWzZweF1cIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXQuaWNvblwiIGNsYXNzPVwiY3FhLXctWzE0cHhdIGNxYS1oLVsxNHB4XSBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctWzE0cHhdXCIgW3N0eWxlLmNvbG9yXT1cImdldEl0ZW1JY29uQ29sb3IoaXQpXCI+XG4gICAgICAgICAgICAgICAge3sgaXQuaWNvbiB9fVxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMThweF0gY3FhLWZvbnQtaW50ZXIgY3FhLXRleHQtZGlhbG9nLW11dGVkXCI+e3sgaXQubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy00IGNxYS1mb250LWJvbGQgY3FhLWZvbnQtaW50ZXJcIj57eyBpdC52YWx1ZSB8IG51bWJlciB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIENoaWxkcmVuIHJvd3MgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdC5jaGlsZHJlbj8ubGVuZ3RoXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMlwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNoIG9mIGl0LmNoaWxkcmVuXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1mbGV4LTEgY3FhLXJvdW5kZWQtWzRweF0gY3FhLWJnLVsjRjlGQUZCXVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1pbnRlciBjcWEtdGV4dC1bIzRCNTU2M11cIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldENoaWxkSWNvbihjaC5sYWJlbCkgYXMgaWNvblwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImljb25cIj5cbiAgICAgICAgICAgICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidhcHBsZSdcIiBjbGFzcz1cImNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0gY3FhLW1sLTIgY3FhLW1yLTFcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMTYuMzY1IDEuNDNjMCAxLjE4Mi0uNDM1IDIuMDE0LTEuMDg2IDIuODQ1LS44MjMuOTktMS45ODIgMS43MDctMy4wNzggMS42LS4xMy0xLjExNS40MzMtMi4xNTQgMS4wOS0yLjg3LjgyNS0uOTI1IDIuMTk2LTEuNTkgMy4wNy0xLjU3NS0uMDAzLjAwMy4wMDMgMCAuMDAzIDB6bTMuMjE3IDYuMDk0Yy0uMDg2LS4wNjctMi42ODQtMS41OTgtNS40NjgtLjUwNy0xLjMzMi41My0yLjQyOS41NDItMy43ODguMDA2LTEuOTk3LS44LTMuNjM1LjE1Ni0zLjczNS4yMDgtLjA4My4wNDQtMS45NDggMS4xNDMtMi40IDMuNjY3LS40MyAyLjM3NS42IDQuOTIgMS40IDYuNTIuNzIzIDEuNDIxIDEuNzA0IDMuMTI2IDMuMDY3IDMuMDcgMS4zNS0uMDUzIDEuNzgtLjg4MyAzLjMyMy0uODgzIDEuNTQyIDAgMS45Mi44ODMgMy4zNi44NTMgMS40NC0uMDI2IDIuMzUyLTEuNDQzIDMuMDczLTIuODU1LjY3NC0xLjMyNC45NjMtMi42MDMuOTgzLTIuNjY4LS4wMjEtLjAwOS0xLjg4LS43Mi0xLjkwMy0yLjg1NC0uMDIxLTEuNzg2IDEuNDYzLTIuNjQgMS41MzQtMi42ODJ6XCIvPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCInYW5kcm9pZCdcIiBjbGFzcz1cImNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0gY3FhLW1sLTIgY3FhLW1yLTFcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMTcuNiA5LjQ4bDEuNDItMi40NmEuNS41IDAgMTAtLjg2LS41bC0xLjQ0IDIuNTJBMTEgMTEgMCAwMDE2IDdoLThjLS4yNCAwLS40OC4wMS0uNzIuMDRMNS44NCA2LjVhLjUuNSAwIDAwLS44Ni41bDEuNDIgMi40NkE3IDcgMCAwMDQgMTVoLjVhMS41IDEuNSAwIDAwMS41LTEuNVYxMGgxdjkuNUExLjUgMS41IDAgMDA4LjUgMjFoMWExLjUgMS41IDAgMDAxLjUtMS41VjE3aDJ2Mi41QTEuNSAxLjUgMCAwMDE0LjUgMjFoMWExLjUgMS41IDAgMDAxLjUtMS41VjEwaDF2My41QTEuNSAxLjUgMCAwMDE5LjUgMTVIMjBhNyA3IDAgMDAtMi40LTUuNTJ6TTkgNWEuNzUuNzUgMCAxMS0xLjUgMEEuNzUuNzUgMCAwMTkgNXptNy41IDBhLjc1Ljc1IDAgMTEtMS41IDAgLjc1Ljc1IDAgMDExLjUgMHpcIi8+XG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtcHItMVwiIFtuZ0NsYXNzXT1cImdldENoaWxkSWNvbihjaC5sYWJlbCkgPyAnY3FhLXBsLTAnIDogJ2NxYS1wbC0yJ1wiPnt7IGNoLmxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLWZvbnQtYm9sZCBjcWEtZm9udC1pbnRlciBjcWEtdGV4dC1bIzExMTgyN10gY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XVwiPnt7IGNoLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==