@provoly/dashboard 1.3.17 → 1.3.19
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.
- package/components/data-format/data-format.pipe.d.ts +0 -1
- package/esm2022/components/data-format/data-format.pipe.mjs +1 -21
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/import/components/list/import-list.component.mjs +2 -1
- package/esm2022/lib/core/components/select/select.component.mjs +4 -4
- package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +3 -3
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +7 -4
- package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +11 -1
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +12 -2
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +7 -5
- package/esm2022/widgets/widget-tile/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +3 -8
- package/fesm2022/provoly-dashboard-components-data-format.mjs +1 -21
- package/fesm2022/provoly-dashboard-components-data-format.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +2 -2
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +1 -0
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +27 -4
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +8 -6
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +2 -7
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +9 -7
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/list/import-list.component.d.ts +2 -2
- package/lib/core/i18n/en.translations.d.ts +1 -0
- package/lib/core/i18n/fr.translations.d.ts +1 -0
- package/package.json +13 -13
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +2 -1
- package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +10 -0
- package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +10 -0
- package/widgets/widget-tile/component/widget-tile.component.d.ts +2 -2
- package/widgets/widget-tile/style/_o-widget-tile.scss +4 -0
|
@@ -78,24 +78,4 @@ const getDate = (value) => {
|
|
|
78
78
|
}
|
|
79
79
|
return value;
|
|
80
80
|
};
|
|
81
|
-
|
|
82
|
-
switch (format) {
|
|
83
|
-
case 'DATETIME':
|
|
84
|
-
return '%Y-%m-%dT%H:%M:%S';
|
|
85
|
-
case 'DATE':
|
|
86
|
-
return '%Y-%m-%d';
|
|
87
|
-
case 'MONTH_YEAR':
|
|
88
|
-
return '%m-%Y';
|
|
89
|
-
case 'DAY_MONTH':
|
|
90
|
-
return '%d-%m';
|
|
91
|
-
case 'YEAR':
|
|
92
|
-
return '%Y';
|
|
93
|
-
case 'MONTH':
|
|
94
|
-
return '%m';
|
|
95
|
-
case 'DAY':
|
|
96
|
-
return '%d';
|
|
97
|
-
default:
|
|
98
|
-
return '%Y-%B-%dT%H:%M:%S';
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvZGF0YS1mb3JtYXQvZGF0YS1mb3JtYXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUTtDQUN2RyxDQUFDO0FBR0YsTUFBTSxPQUFPLGNBQWM7SUFDekIsZ0JBQWUsQ0FBQztJQUVoQixTQUFTLENBQ1AsS0FBVSxFQUNWLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEtBQXlDLEVBQUU7UUFFekYsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksZ0JBQWdCLElBQUksWUFBWSxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUMzQyxhQUFhO2dCQUNiLFlBQVksRUFBRSxPQUFPO2dCQUNyQixxQkFBcUIsRUFBRSxnQkFBZ0I7Z0JBQ3ZDLHFCQUFxQixFQUFFLGdCQUFnQjtnQkFDdkMsV0FBVyxFQUFFLFlBQVk7YUFDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JHLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQXJDVSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFOztBQXlDNUIsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE2RDtJQUN6RixLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSxTQUFTO1lBQ2QsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztTQUNsQjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLFNBQVM7U0FDZjtRQUNELFVBQVUsRUFBRTtZQUNWLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLFNBQVM7U0FDZjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFLFNBQVM7U0FDakI7UUFDRCxHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsU0FBUztTQUNmO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUE2QixFQUFRLEVBQUU7SUFDdEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0QsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtJQUM1QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxVQUFVO1lBQ2IsT0FBTyxtQkFBbUIsQ0FBQztRQUM3QixLQUFLLE1BQU07WUFDVCxPQUFPLFVBQVUsQ0FBQztRQUNwQixLQUFLLFlBQVk7WUFDZixPQUFPLE9BQU8sQ0FBQztRQUNqQixLQUFLLFdBQVc7WUFDZCxPQUFPLE9BQU8sQ0FBQztRQUNqQixLQUFLLE1BQU07WUFDVCxPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssT0FBTztZQUNWLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxLQUFLO1lBQ1IsT0FBTyxJQUFJLENBQUM7UUFDZDtZQUNFLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1hdE9wdGlvbnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5leHBvcnQgY29uc3QgTE9DQUxFID0ge1xuICB2YWx1ZTogbmF2aWdhdG9yLmxhbmd1YWdlcyAmJiBuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aCA/IG5hdmlnYXRvci5sYW5ndWFnZXNbMF0gOiBuYXZpZ2F0b3IubGFuZ3VhZ2Vcbn07XG5cbkBQaXBlKHsgbmFtZTogJ2RhdGFGb3JtYXQnIH0pXG5leHBvcnQgY2xhc3MgRGF0YUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogYW55LFxuICAgIHsgbG9jYWxlRm9ybWF0LCB1bml0LCBkZWNpbWFsUHJlY2lzaW9uLCBmb3JtYXQgfTogUGFydGlhbDxGb3JtYXRPcHRpb25zPiB8IHVuZGVmaW5lZCA9IHt9XG4gICk6IGFueSB7XG4gICAgbGV0IHJlc3VsdCA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoZGVjaW1hbFByZWNpc2lvbiB8fCBsb2NhbGVGb3JtYXQpIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChMT0NBTEUudmFsdWUsIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByb3VuZGluZ01vZGU6ICdmbG9vcicsXG4gICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogZGVjaW1hbFByZWNpc2lvbixcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsUHJlY2lzaW9uLFxuICAgICAgICB1c2VHcm91cGluZzogbG9jYWxlRm9ybWF0XG4gICAgICB9KS5mb3JtYXQodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh1bml0KSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgKyAn4oCvJyArIHVuaXQ7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCkge1xuICAgICAgY29uc3QgYWN0dWFsRGF0ZSA9IGdldERhdGUodmFsdWUpO1xuICAgICAgcmVzdWx0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoTE9DQUxFLnZhbHVlLCBkYXRlRm9ybWF0T3B0aW9ucy52YWx1ZVtmb3JtYXRdKS5mb3JtYXQoYWN0dWFsRGF0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG4vLyBkYXRlIGZvcm1hdHRpbmcgbWV0aG9kc1xuZXhwb3J0IGNvbnN0IGRhdGVGb3JtYXRPcHRpb25zOiB7IHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zIH0gfSA9IHtcbiAgdmFsdWU6IHtcbiAgICBEQVRFVElNRToge1xuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgbWludXRlOiAnbnVtZXJpYydcbiAgICB9LFxuICAgIERBVEU6IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0J1xuICAgIH0sXG4gICAgTU9OVEhfWUVBUjoge1xuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgIHllYXI6ICdudW1lcmljJ1xuICAgIH0sXG4gICAgREFZX01PTlRIOiB7XG4gICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgZGF5OiAnMi1kaWdpdCdcbiAgICB9LFxuICAgIFlFQVI6IHtcbiAgICAgIHllYXI6ICdudW1lcmljJ1xuICAgIH0sXG4gICAgTU9OVEg6IHtcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCdcbiAgICB9LFxuICAgIERBWToge1xuICAgICAgZGF5OiAnMi1kaWdpdCdcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IGdldERhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUpOiBEYXRlID0+IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvRDNGb3JtYXQgPSAoZm9ybWF0Pzogc3RyaW5nKSA9PiB7XG4gIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgY2FzZSAnREFURVRJTUUnOlxuICAgICAgcmV0dXJuICclWS0lbS0lZFQlSDolTTolUyc7XG4gICAgY2FzZSAnREFURSc6XG4gICAgICByZXR1cm4gJyVZLSVtLSVkJztcbiAgICBjYXNlICdNT05USF9ZRUFSJzpcbiAgICAgIHJldHVybiAnJW0tJVknO1xuICAgIGNhc2UgJ0RBWV9NT05USCc6XG4gICAgICByZXR1cm4gJyVkLSVtJztcbiAgICBjYXNlICdZRUFSJzpcbiAgICAgIHJldHVybiAnJVknO1xuICAgIGNhc2UgJ01PTlRIJzpcbiAgICAgIHJldHVybiAnJW0nO1xuICAgIGNhc2UgJ0RBWSc6XG4gICAgICByZXR1cm4gJyVkJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICclWS0lQi0lZFQlSDolTTolUyc7XG4gIH1cbn07XG4iXX0=
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvZGF0YS1mb3JtYXQvZGF0YS1mb3JtYXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUTtDQUN2RyxDQUFDO0FBR0YsTUFBTSxPQUFPLGNBQWM7SUFDekIsZ0JBQWUsQ0FBQztJQUVoQixTQUFTLENBQ1AsS0FBVSxFQUNWLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEtBQXlDLEVBQUU7UUFFekYsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksZ0JBQWdCLElBQUksWUFBWSxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUMzQyxhQUFhO2dCQUNiLFlBQVksRUFBRSxPQUFPO2dCQUNyQixxQkFBcUIsRUFBRSxnQkFBZ0I7Z0JBQ3ZDLHFCQUFxQixFQUFFLGdCQUFnQjtnQkFDdkMsV0FBVyxFQUFFLFlBQVk7YUFDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JHLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQXJDVSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFOztBQXlDNUIsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE2RDtJQUN6RixLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSxTQUFTO1lBQ2QsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztTQUNsQjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLFNBQVM7U0FDZjtRQUNELFVBQVUsRUFBRTtZQUNWLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLFNBQVM7U0FDZjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFLFNBQVM7U0FDakI7UUFDRCxHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsU0FBUztTQUNmO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUE2QixFQUFRLEVBQUU7SUFDdEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0QsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtYXRPcHRpb25zIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcblxuZXhwb3J0IGNvbnN0IExPQ0FMRSA9IHtcbiAgdmFsdWU6IG5hdmlnYXRvci5sYW5ndWFnZXMgJiYgbmF2aWdhdG9yLmxhbmd1YWdlcy5sZW5ndGggPyBuYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdIDogbmF2aWdhdG9yLmxhbmd1YWdlXG59O1xuXG5AUGlwZSh7IG5hbWU6ICdkYXRhRm9ybWF0JyB9KVxuZXhwb3J0IGNsYXNzIERhdGFGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IGFueSxcbiAgICB7IGxvY2FsZUZvcm1hdCwgdW5pdCwgZGVjaW1hbFByZWNpc2lvbiwgZm9ybWF0IH06IFBhcnRpYWw8Rm9ybWF0T3B0aW9ucz4gfCB1bmRlZmluZWQgPSB7fVxuICApOiBhbnkge1xuICAgIGxldCByZXN1bHQgPSB2YWx1ZTtcblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGRlY2ltYWxQcmVjaXNpb24gfHwgbG9jYWxlRm9ybWF0KSB7XG4gICAgICByZXN1bHQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoTE9DQUxFLnZhbHVlLCB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcm91bmRpbmdNb2RlOiAnZmxvb3InLFxuICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxQcmVjaXNpb24sXG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogZGVjaW1hbFByZWNpc2lvbixcbiAgICAgICAgdXNlR3JvdXBpbmc6IGxvY2FsZUZvcm1hdFxuICAgICAgfSkuZm9ybWF0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodW5pdCkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgJ+KArycgKyB1bml0O1xuICAgIH1cblxuICAgIGlmIChmb3JtYXQpIHtcbiAgICAgIGNvbnN0IGFjdHVhbERhdGUgPSBnZXREYXRlKHZhbHVlKTtcbiAgICAgIHJlc3VsdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KExPQ0FMRS52YWx1ZSwgZGF0ZUZvcm1hdE9wdGlvbnMudmFsdWVbZm9ybWF0XSkuZm9ybWF0KGFjdHVhbERhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuLy8gZGF0ZSBmb3JtYXR0aW5nIG1ldGhvZHNcbmV4cG9ydCBjb25zdCBkYXRlRm9ybWF0T3B0aW9uczogeyB2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyB9IH0gPSB7XG4gIHZhbHVlOiB7XG4gICAgREFURVRJTUU6IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbnVtZXJpYycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgIG1pbnV0ZTogJ251bWVyaWMnXG4gICAgfSxcbiAgICBEQVRFOiB7XG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgZGF5OiAnMi1kaWdpdCdcbiAgICB9LFxuICAgIE1PTlRIX1lFQVI6IHtcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICB5ZWFyOiAnbnVtZXJpYydcbiAgICB9LFxuICAgIERBWV9NT05USDoge1xuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgIGRheTogJzItZGlnaXQnXG4gICAgfSxcbiAgICBZRUFSOiB7XG4gICAgICB5ZWFyOiAnbnVtZXJpYydcbiAgICB9LFxuICAgIE1PTlRIOiB7XG4gICAgICBtb250aDogJzItZGlnaXQnXG4gICAgfSxcbiAgICBEQVk6IHtcbiAgICAgIGRheTogJzItZGlnaXQnXG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBnZXREYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogRGF0ZSA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn07XG4iXX0=
|
|
@@ -45,8 +45,8 @@ export class AutocompleteComponent extends BaseFilterComponent {
|
|
|
45
45
|
return of([]);
|
|
46
46
|
}));
|
|
47
47
|
setTimeout(() => this.preventInitCall$.next(), 200);
|
|
48
|
-
this.subscriptions.add(combineLatest([this.possibleFilterValues$, this.autocomplete$.pipe(startWith(
|
|
49
|
-
.pipe(map(([possibleValues, autocomplete]) => (autocomplete
|
|
48
|
+
this.subscriptions.add(combineLatest([this.possibleFilterValues$, this.autocomplete$.pipe(startWith(null))])
|
|
49
|
+
.pipe(map(([possibleValues, autocomplete]) => (!!autocomplete ? autocomplete : possibleValues)))
|
|
50
50
|
.subscribe((values) => this.items$.next(values)));
|
|
51
51
|
}
|
|
52
52
|
resetAutocompleteValues() {
|
|
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
77
77
|
type: ViewChild,
|
|
78
78
|
args: ['select']
|
|
79
79
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ZpbHRlcnMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9maWx0ZXJzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsYUFBYSxFQUNiLGVBQWUsRUFFaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQU9yQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBVTVELFlBQ0UsS0FBWSxFQUNKLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUZMLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWHRDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUUxQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMseUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLFdBQU0s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QUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDOzhHQXJGVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixpTEMvQmxDLDYwQkF3QkE7OzJGRE9hLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxrQkFBa0I7c0dBV1AsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEJhc2VGaWx0ZXJDb21wb25lbnQsXG4gIFByeVNlbGVjdENvbXBvbmVudCxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU2VhcmNoU2VsZWN0b3JzLFxuICBTZWFyY2hTZXJ2aWNlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHNraXBVbnRpbCxcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXBcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvdG9vbGJveCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgYXV0b2NvbXBsZXRlJD86IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmVudEluaXRDYWxsJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHBvc3NpYmxlRmlsdGVyVmFsdWVzJCE6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBwb3NzaWJsZUZpbHRlclZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuICBAVmlld0NoaWxkKCdzZWxlY3QnKSBzZWxlY3QhOiBQcnlTZWxlY3RDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZVxuICApIHtcbiAgICBzdXBlcihzdG9yZSk7XG4gICAgdGhpcy50eXBlID0gJ2F1dG9jb21wbGV0ZSc7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFNlYXJjaFNlbGVjdG9ycy5wb3NzaWJsZUZpbHRlclZhbHVlcyh0aGlzLmZpbHRlcj8uaWQpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMucG9zc2libGVGaWx0ZXJWYWx1ZXMkLnN1YnNjcmliZSgodmFsdWVzKSA9PiAodGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcyA9IHZhbHVlcykpKTtcblxuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKHRoaXMuZmlsdGVyPy5hdHRyaWJ1dGVzKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBTZWFyY2hBY3Rpb25zLmdldFBvc3NpYmxlRmlsdGVyVmFsdWVzKHtcbiAgICAgICAgICBmaWx0ZXJJZDogdGhpcy5maWx0ZXI/LmlkID8/ICcnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6ICh0aGlzLmZpbHRlcj8uYXR0cmlidXRlcyBhcyBPbWl0PEF0dHJpYnV0ZSwgJ2N1c3RvbUlkJz5bXSkuZmlsdGVyKFxuICAgICAgICAgICAgKGEpID0+ICEhYS5kYXRhc291cmNlICYmICEhYS5pZFxuICAgICAgICAgICksXG4gICAgICAgICAgbGltaXQ6IHRoaXMuZmlsdGVyPy5saW1pdCA/PyAxMFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaCQubmV4dChgJHt0aGlzLl92YWx1ZX1gKTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZSQgPSB0aGlzLnNlYXJjaCQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwLCB2KSA9PiBlcXVhbChwLCB2KSksXG4gICAgICBza2lwVW50aWwodGhpcy5wcmV2ZW50SW5pdENhbGwkKSxcbiAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2gpID0+IHtcbiAgICAgICAgaWYgKCEhc2VhcmNoICYmIHNlYXJjaC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXRlbXMkLm5leHQoW10pO1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2UuYXV0b2NvbXBsZXRlKHRoaXMuZmlsdGVyPy5hdHRyaWJ1dGVzLCBzZWFyY2gsIHRoaXMuZmlsdGVyPy5saW1pdCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiAodGhpcy5sb2FkZXIgPSBmYWxzZSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0F1dG9jb21wbGV0ZSBmYWlsZWQnLCBlcnIpO1xuICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKFtdIGFzIHN0cmluZ1tdKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucHJldmVudEluaXRDYWxsJC5uZXh0KCksIDIwMCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcyQsIHRoaXMuYXV0b2NvbXBsZXRlJC5waXBlKHN0YXJ0V2l0aChbXSBhcyBzdHJpbmdbXSkpXSlcbiAgICAgICAgLnBpcGUobWFwKChbcG9zc2libGVWYWx1ZXMsIGF1dG9jb21wbGV0ZV0pID0+IChhdXRvY29tcGxldGUubGVuZ3RoID4gMCA/IGF1dG9jb21wbGV0ZSA6IHBvc3NpYmxlVmFsdWVzKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4gdGhpcy5pdGVtcyQubmV4dCh2YWx1ZXMpKVxuICAgICk7XG4gIH1cblxuICByZXNldEF1dG9jb21wbGV0ZVZhbHVlcygpIHtcbiAgICBpZiAodGhpcy5pdGVtcyQuZ2V0VmFsdWUoKT8ubGVuZ3RoICE9PSB0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaXRlbXMkLm5leHQodGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgc2V0RmlsdGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuZmlsdGVyPy52YWx1ZSkge1xuICAgICAgc3VwZXIudXBkYXRlRmlsdGVyKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWFyY2goJGV2ZW50PzogRXZlbnQpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgdmFsdWUgPSAkZXZlbnQgPyAkZXZlbnQudGFyZ2V0IS52YWx1ZSA6ICcnO1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KCcnKTtcbiAgfVxufVxuIiwiPHByeS1hdXRvY29tcGxldGUtY3NzPjwvcHJ5LWF1dG9jb21wbGV0ZS1jc3M+XG5AaWYgKGZpbHRlcikge1xuICA8ZGl2IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0LXdyYXBwZXIgbS1maWx0ZXJfX2lucHV0LXdyYXBwZXItLWRyb3Bkb3duXCIgKGtleXVwKT1cInVwZGF0ZVNlYXJjaCgkZXZlbnQpXCIgI3JlZj5cbiAgICBAaWYgKGZpbHRlci5uYW1lKSB7XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIG0tZmlsdGVyX19sYWJlbFwiIGZvcj1cInt7IGZpbHRlci5uYW1lIH19XCI+e3sgZmlsdGVyLm5hbWUgfX0mbmJzcDs6Jm5ic3A7PC9sYWJlbD5cbiAgICB9XG4gICAgPHByeS1zZWxlY3RcbiAgICAgIFtpZF09XCJmaWx0ZXIubmFtZVwiXG4gICAgICBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIlxuICAgICAgW25nTW9kZWxdPVwiZmlsdGVyLnZhbHVlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldEZpbHRlcigkZXZlbnQpXCJcbiAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICBbYXV0b2NvbXBsZXRlXT1cInRydWVcIlxuICAgICAgW2V4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZV09XCJ0cnVlXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cIml0ZW0tbGFiZWxcIlxuICAgICAgKGJsdXIpPVwidXBkYXRlU2VhcmNoKCRldmVudClcIlxuICAgICAgW2VsZW1lbnRSZWZdPVwicmVmXCJcbiAgICAgIChjbGVhcmVkKT1cImNsZWFyKClcIlxuICAgICAgW2xvYWRpbmddPVwibG9hZGVyXCJcbiAgICAgIChjbGlja2VkKT1cInJlc2V0QXV0b2NvbXBsZXRlVmFsdWVzKClcIlxuICAgICAgI3NlbGVjdFxuICAgID48L3ByeS1zZWxlY3Q+XG4gIDwvZGl2PlxufVxuIl19
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ZpbHRlcnMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9maWx0ZXJzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsYUFBYSxFQUNiLGVBQWUsRUFFaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQU9yQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBVTVELFlBQ0UsS0FBWSxFQUNKLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUZMLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWHRDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUUxQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMseUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLFdBQU0s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QUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OEdBckZVLHFCQUFxQjtrR0FBckIscUJBQXFCLGlMQy9CbEMsNjBCQXdCQTs7MkZET2EscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLGtCQUFrQjtzR0FXUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZUZpbHRlckNvbXBvbmVudCxcbiAgUHJ5U2VsZWN0Q29tcG9uZW50LFxuICBTZWFyY2hBY3Rpb25zLFxuICBTZWFyY2hTZWxlY3RvcnMsXG4gIFNlYXJjaFNlcnZpY2Vcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc2tpcFVudGlsLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcFxufSBmcm9tICdyeGpzJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC90b29sYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHNlYXJjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBhdXRvY29tcGxldGUkPzogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmV2ZW50SW5pdENhbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcG9zc2libGVGaWx0ZXJWYWx1ZXMkITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIHBvc3NpYmxlRmlsdGVyVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICBpdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdCcpIHNlbGVjdCE6IFByeVNlbGVjdENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHN0b3JlKTtcbiAgICB0aGlzLnR5cGUgPSAnYXV0b2NvbXBsZXRlJztcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHRoaXMucG9zc2libGVGaWx0ZXJWYWx1ZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoU2VsZWN0b3JzLnBvc3NpYmxlRmlsdGVyVmFsdWVzKHRoaXMuZmlsdGVyPy5pZCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcyQuc3Vic2NyaWJlKCh2YWx1ZXMpID0+ICh0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzID0gdmFsdWVzKSkpO1xuXG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5maWx0ZXI/LmF0dHJpYnV0ZXMpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0UG9zc2libGVGaWx0ZXJWYWx1ZXMoe1xuICAgICAgICAgIGZpbHRlcklkOiB0aGlzLmZpbHRlcj8uaWQgPz8gJycsXG4gICAgICAgICAgYXR0cmlidXRlczogKHRoaXMuZmlsdGVyPy5hdHRyaWJ1dGVzIGFzIE9taXQ8QXR0cmlidXRlLCAnY3VzdG9tSWQnPltdKS5maWx0ZXIoXG4gICAgICAgICAgICAoYSkgPT4gISFhLmRhdGFzb3VyY2UgJiYgISFhLmlkXG4gICAgICAgICAgKSxcbiAgICAgICAgICBsaW1pdDogdGhpcy5maWx0ZXI/LmxpbWl0ID8/IDEwXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoJC5uZXh0KGAke3RoaXMuX3ZhbHVlfWApO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlJCA9IHRoaXMuc2VhcmNoJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHAsIHYpID0+IGVxdWFsKHAsIHYpKSxcbiAgICAgIHNraXBVbnRpbCh0aGlzLnByZXZlbnRJbml0Q2FsbCQpLFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaCkgPT4ge1xuICAgICAgICBpZiAoISFzZWFyY2ggJiYgc2VhcmNoLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pdGVtcyQubmV4dChbXSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoU2VydmljZS5hdXRvY29tcGxldGUodGhpcy5maWx0ZXI/LmF0dHJpYnV0ZXMsIHNlYXJjaCwgdGhpcy5maWx0ZXI/LmxpbWl0KS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+ICh0aGlzLmxvYWRlciA9IGZhbHNlKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignQXV0b2NvbXBsZXRlIGZhaWxlZCcsIGVycik7XG4gICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoW10gYXMgc3RyaW5nW10pO1xuICAgICAgfSlcbiAgICApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wcmV2ZW50SW5pdENhbGwkLm5leHQoKSwgMjAwKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzJCwgdGhpcy5hdXRvY29tcGxldGUkLnBpcGUoc3RhcnRXaXRoKG51bGwpKV0pXG4gICAgICAgIC5waXBlKG1hcCgoW3Bvc3NpYmxlVmFsdWVzLCBhdXRvY29tcGxldGVdKSA9PiAoISFhdXRvY29tcGxldGUgPyBhdXRvY29tcGxldGUgOiBwb3NzaWJsZVZhbHVlcykpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHRoaXMuaXRlbXMkLm5leHQodmFsdWVzKSlcbiAgICApO1xuICB9XG5cbiAgcmVzZXRBdXRvY29tcGxldGVWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMkLmdldFZhbHVlKCk/Lmxlbmd0aCAhPT0gdGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLml0ZW1zJC5uZXh0KHRoaXMucG9zc2libGVGaWx0ZXJWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIHNldEZpbHRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmZpbHRlcj8udmFsdWUpIHtcbiAgICAgIHN1cGVyLnVwZGF0ZUZpbHRlcih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VhcmNoKCRldmVudD86IEV2ZW50KSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHZhbHVlID0gJGV2ZW50ID8gJGV2ZW50LnRhcmdldCEudmFsdWUgOiAnJztcbiAgICB0aGlzLnNlYXJjaCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnNlYXJjaCQubmV4dCgnJyk7XG4gIH1cbn1cbiIsIjxwcnktYXV0b2NvbXBsZXRlLWNzcz48L3ByeS1hdXRvY29tcGxldGUtY3NzPlxuQGlmIChmaWx0ZXIpIHtcbiAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX19pbnB1dC13cmFwcGVyIG0tZmlsdGVyX19pbnB1dC13cmFwcGVyLS1kcm9wZG93blwiIChrZXl1cCk9XCJ1cGRhdGVTZWFyY2goJGV2ZW50KVwiICNyZWY+XG4gICAgQGlmIChmaWx0ZXIubmFtZSkge1xuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBtLWZpbHRlcl9fbGFiZWxcIiBmb3I9XCJ7eyBmaWx0ZXIubmFtZSB9fVwiPnt7IGZpbHRlci5uYW1lIH19Jm5ic3A7OiZuYnNwOzwvbGFiZWw+XG4gICAgfVxuICAgIDxwcnktc2VsZWN0XG4gICAgICBbaWRdPVwiZmlsdGVyLm5hbWVcIlxuICAgICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcbiAgICAgIFtuZ01vZGVsXT1cImZpbHRlci52YWx1ZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCJcbiAgICAgIFtleHRlcm5hbEF1dG9jb21wbGV0ZVNlcnZpY2VdPVwidHJ1ZVwiXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJpdGVtLWxhYmVsXCJcbiAgICAgIChibHVyKT1cInVwZGF0ZVNlYXJjaCgkZXZlbnQpXCJcbiAgICAgIFtlbGVtZW50UmVmXT1cInJlZlwiXG4gICAgICAoY2xlYXJlZCk9XCJjbGVhcigpXCJcbiAgICAgIFtsb2FkaW5nXT1cImxvYWRlclwiXG4gICAgICAoY2xpY2tlZCk9XCJyZXNldEF1dG9jb21wbGV0ZVZhbHVlcygpXCJcbiAgICAgICNzZWxlY3RcbiAgICA+PC9wcnktc2VsZWN0PlxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -36,6 +36,7 @@ export class PryImportListComponent extends SubscriptionnerDirective {
|
|
|
36
36
|
}
|
|
37
37
|
clearFilters() {
|
|
38
38
|
this.filters = { dataset: undefined, status: undefined, dateMin: undefined, dateMax: undefined };
|
|
39
|
+
this.updateFilters();
|
|
39
40
|
this.loadDataAction.update((loadDataAction) => ({ ...loadDataAction, offset: 0 }));
|
|
40
41
|
this.store.dispatch({
|
|
41
42
|
...this.loadDataAction(),
|
|
@@ -86,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
86
87
|
type: Component,
|
|
87
88
|
args: [{ selector: 'pry-import-list', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__dataset-filter\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }} : \n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__state-filter\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }} : \n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__date-filter\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }} : </legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" (ngModelChange)=\"updateFilters()\" />\n <span class=\"m-filter__date-input-separator\"> - </span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" (ngModelChange)=\"updateFilters()\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table\n class=\"a-table\"\n prySortTable\n (prySortChange)=\"sortChange($event)\"\n [prySortDirection]=\"sort.sortBy\"\n [prySortActive]=\"sort.orderBy\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ERROR') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.ERROR' | i18n }}\n </button>\n </td>\n } @else {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">\n {{ '@pry.dataset.consult' | i18n }}\n </button>\n @if (version.hasWarnings) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n [goBackToFirstPage]=\"goBackToFirstPage$ | async\"\n ></pry-paginator>\n</div>\n" }]
|
|
88
89
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryDialogService }] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvaW1wb3J0L2NvbXBvbmVudHMvbGlzdC9pbXBvcnQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9saXN0L2ltcG9ydC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUdMLGlCQUFpQixFQUNqQixtQkFBbUIsRUFHbkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN6QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBTTlELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUFpQmxFLFlBQ1UsS0FBWSxFQUNaLE1BQXdCO1FBRWhDLEtBQUssRUFBRSxDQUFDO1FBSEEsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBbEJsQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLGlCQUFZLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBR3pDLG1CQUFjLEdBQUcsQ0FBQyxTQUFTLEVBQUUs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LFNBQTJCLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQWlDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0FsRlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsdU9DcEJuQyx3b0xBdUlBOzsyRkRuSGEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBpbnB1dCwgT25Jbml0LCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24sIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGF0YXNldCxcbiAgRGF0YXNldFZlcnNpb24sXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBQcnlEaWFsb2dTZXJ2aWNlLFxuICBQcnlTb3J0Q2hhbmdlLFxuICBQcnlTdGF0dXNNb2RhbENvbXBvbmVudCxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcnlWZXJzaW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi92ZXJzaW9uLW1vZGFsL3ZlcnNpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1pbXBvcnQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5SW1wb3J0TGlzdENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxvYWREYXRhQWN0aW9uID0gc2lnbmFsKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zKHsgb3JkZXJCeTogJ0RBVEUnLCBzb3J0Qnk6ICdkZXNjJyB9KSk7XG4gIHJlZnJlc2hDbGljayA9IGlucHV0PE9ic2VydmFibGU8dm9pZD4+KCk7XG5cbiAgZGF0YXNldHMkOiBPYnNlcnZhYmxlPERhdGFzZXRbXT47XG4gIHBvc3NpYmxlU3RhdHVzID0gWydMT0FESU5HJywgJ0lOREVYSU5HJywgJ0lOQUNUSVZFJywgJ0VSUk9SJywgJ0FDVElWRScsICdERUxFVElORycsICdERUxFVEVfRVJST1InXTtcbiAgZGF0YXNldFZlcnNpb25zJDogT2JzZXJ2YWJsZTxEYXRhc2V0VmVyc2lvbltdPjtcbiAgdG90YWxWZXJzaW9uQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGZpbHRlcnM6IHsgZGF0YXNldD86IHN0cmluZzsgc3RhdHVzPzogc3RyaW5nOyBkYXRlTWluPzogc3RyaW5nOyBkYXRlTWF4Pzogc3RyaW5nIH0gPSB7XG4gICAgZGF0YXNldDogdW5kZWZpbmVkLFxuICAgIHN0YXR1czogdW5kZWZpbmVkLFxuICAgIGRhdGVNaW46IHVuZGVmaW5lZCxcbiAgICBkYXRlTWF4OiB1bmRlZmluZWRcbiAgfTtcbiAgc29ydDogeyBvcmRlckJ5PzogJ0RBVEFTRVRfTkFNRScgfCAnREFURSc7IHNvcnRCeT86ICdhc2MnIHwgJ2Rlc2MnIH0gPSB7IG9yZGVyQnk6ICdEQVRFJywgc29ydEJ5OiAnZGVzYycgfTtcbiAgZ29CYWNrVG9GaXJzdFBhZ2UkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGRpYWxvZzogUHJ5RGlhbG9nU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5sb2FkRGF0YXNldCgpKTtcbiAgICB0aGlzLmRhdGFzZXRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpO1xuICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldFZlcnNpb25zKTtcbiAgICB0aGlzLnRvdGFsVmVyc2lvbkNvdW50JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMudG90YWxWZXJzaW9uQ291bnQpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLnJlZnJlc2hDbGljaygpPy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sb2FkRGF0YSgpKSk7XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzID0geyBkYXRhc2V0OiB1bmRlZmluZWQsIHN0YXR1czogdW5kZWZpbmVkLCBkYXRlTWluOiB1bmRlZmluZWQsIGRhdGVNYXg6IHVuZGVmaW5lZCB9O1xuICAgIHRoaXMubG9hZERhdGFBY3Rpb24udXBkYXRlKChsb2FkRGF0YUFjdGlvbikgPT4gKHsgLi4ubG9hZERhdGFBY3Rpb24sIG9mZnNldDogMCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh7XG4gICAgICAuLi50aGlzLmxvYWREYXRhQWN0aW9uKCksXG4gICAgICBsaW1pdDogMTAsXG4gICAgICAuLi50aGlzLnNvcnRcbiAgICB9KTtcbiAgICB0aGlzLmdvQmFja1RvRmlyc3RQYWdlKCk7XG4gIH1cblxuICBsb2FkRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHtcbiAgICAgIC4uLnRoaXMubG9hZERhdGFBY3Rpb24oKSxcbiAgICAgIGxpbWl0OiAxMFxuICAgIH0pO1xuICAgIHRoaXMuZ29CYWNrVG9GaXJzdFBhZ2UoKTtcbiAgfVxuXG4gIG9wZW5JbmZvTW9kYWwodmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByeVZlcnNpb25Nb2RhbENvbXBvbmVudCwge1xuICAgICAgZGF0YTogeyB2ZXJzaW9uIH0sXG4gICAgICBvdmVybGF5Q29uZmlnOiB7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IG5ldyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5KCkuY2VudGVyVmVydGljYWxseSgpLnJpZ2h0KCcyMHB4JyksXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvcGVuRXJyb3JNb2RhbCh2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgIHRoaXMuZGlhbG9nLm9wZW4oUHJ5U3RhdHVzTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgdmVyc2lvbiB9XG4gICAgfSk7XG4gIH1cblxuICBzb3J0Q2hhbmdlKCRldmVudDogUHJ5U29ydENoYW5nZSkge1xuICAgIHRoaXMuc29ydC5zb3J0QnkgPSAkZXZlbnQuZGlyZWN0aW9uIGFzICdhc2MnIHwgJ2Rlc2MnO1xuICAgIHRoaXMuc29ydC5vcmRlckJ5ID0gJGV2ZW50LmFjdGl2ZSBhcyAnREFUQVNFVF9OQU1FJyB8ICdEQVRFJztcbiAgICB0aGlzLmxvYWREYXRhQWN0aW9uLnVwZGF0ZSgobG9hZERhdGFBY3Rpb24pID0+ICh7IC4uLmxvYWREYXRhQWN0aW9uLCAuLi50aGlzLnNvcnQgfSkpO1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIHVwZGF0ZUZpbHRlcnMoKSB7XG4gICAgdGhpcy5sb2FkRGF0YUFjdGlvbi51cGRhdGUoKGxvYWREYXRhQWN0aW9uKSA9PiAoeyAuLi5sb2FkRGF0YUFjdGlvbiwgLi4udGhpcy5maWx0ZXJzIH0pKTtcbiAgfVxuXG4gIGdvQmFja1RvRmlyc3RQYWdlKCkge1xuICAgIHRoaXMuZ29CYWNrVG9GaXJzdFBhZ2UkLm5leHQodHJ1ZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmdvQmFja1RvRmlyc3RQYWdlJC5uZXh0KGZhbHNlKSwgNTApO1xuICB9XG59XG4iLCI8cHJ5LWltcG9ydC1jc3M+PC9wcnktaW1wb3J0LWNzcz5cbjxkaXYgY2xhc3M9XCJvLWltcG9ydC1saXN0IHUtZGlzcGxheS1mbGV4IC1jb2x1bW4gLWdhcC0yMFwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkuaW1wb3J0TGlzdC50aXRsZScgfCBpMThuIH19PC9oMT5cbiAgPGRpdiBjbGFzcz1cIm8taW1wb3J0LWxpc3RfX2ZpbHRlcnMgdS1kaXNwbGF5LWZsZXggLWdhcC0yMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXQtd3JhcHBlciBtLWZpbHRlcl9faW5wdXQtd3JhcHBlci0tZHJvcGRvd24gby1pbXBvcnQtbGlzdF9fZGF0YXNldC1maWx0ZXJcIiAjZHNSZWY+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIG0tZmlsdGVyX19sYWJlbFwiIGZvcj1cImRhdGFzZXRfbmFtZV9maWx0ZXJcIj5cbiAgICAgICAge3sgJ0BwcnkuaW1wb3J0TGlzdC5maWx0ZXIuZHNOYW1lJyB8IGkxOG4gfX0mbmJzcDs6Jm5ic3A7XG4gICAgICA8L2xhYmVsPlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgaWQ9XCJkYXRhc2V0X25hbWVfZmlsdGVyXCJcbiAgICAgICAgW2l0ZW1zXT1cImRhdGFzZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRhdGFzZXRcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVGaWx0ZXJzKClcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cInRydWVcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJpdGVtLWxhYmVsXCJcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgICAgW2VsZW1lbnRSZWZdPVwiZHNSZWZcIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0LXdyYXBwZXIgbS1maWx0ZXJfX2lucHV0LXdyYXBwZXItLWRyb3Bkb3duIG8taW1wb3J0LWxpc3RfX3N0YXRlLWZpbHRlclwiICNzdGF0dXNSZWY+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIG0tZmlsdGVyX19sYWJlbFwiIGZvcj1cImltcG9ydF9zdGF0dXNcIj5cbiAgICAgICAge3sgJ0BwcnkuaW1wb3J0TGlzdC5maWx0ZXIuc3RhdHVzJyB8IGkxOG4gfX0mbmJzcDs6Jm5ic3A7XG4gICAgICA8L2xhYmVsPlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgaWQ9XCJpbXBvcnRfc3RhdHVzXCJcbiAgICAgICAgW2l0ZW1zXT1cInBvc3NpYmxlU3RhdHVzXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnN0YXR1c1wiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUZpbHRlcnMoKVwiXG4gICAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIml0ZW0tbGFiZWxcIlxuICAgICAgICBbZWxlbWVudFJlZl09XCJzdGF0dXNSZWZcIlxuICAgICAgICBpMThuUHJlZml4PVwiQHByeS5kYXRhc2V0LnZlcnNpb24uc3RhdGVGaWx0ZXIuXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX19pbnB1dC13cmFwcGVyIG0tZmlsdGVyX19pbnB1dC13cmFwcGVyLS1kcm9wZG93biBvLWltcG9ydC1saXN0X19kYXRlLWZpbHRlclwiPlxuICAgICAgPGZpZWxkc2V0IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWFsaWduLWNlbnRlclwiPlxuICAgICAgICA8bGVnZW5kIGNsYXNzPVwiYS1sYWJlbCBtLWZpbHRlcl9fbGFiZWxcIj57eyAnQHByeS5pbXBvcnRMaXN0LmZpbHRlci5kYXRlJyB8IGkxOG4gfX0mbmJzcDs6Jm5ic3A7PC9sZWdlbmQ+XG4gICAgICAgIDxpbnB1dCBjbGFzcz1cIm0tZmlsdGVyX19pbnB1dFwiIHR5cGU9XCJkYXRlXCIgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRhdGVNaW5cIiAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVGaWx0ZXJzKClcIiAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm0tZmlsdGVyX19kYXRlLWlucHV0LXNlcGFyYXRvclwiPiZuYnNwOy0mbmJzcDs8L3NwYW4+XG4gICAgICAgIDxpbnB1dCBjbGFzcz1cIm0tZmlsdGVyX19pbnB1dFwiIHR5cGU9XCJkYXRlXCIgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRhdGVNYXhcIiAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVGaWx0ZXJzKClcIiAvPlxuICAgICAgPC9maWVsZHNldD5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHkgdS1zZWxmLWNlbnRlclwiIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiPlxuICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbGVhcl9maWx0ZXJcIiBbd2lkdGhdPVwiMzBcIiBbaGVpZ2h0XT1cIjMwXCI+PC9wcnktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImxvYWREYXRhKClcIj5cbiAgICAgIHt7ICdAcHJ5LnRvb2xib3guYXBwbHknIHwgaTE4biB9fVxuICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJyZWZyZXNoX2ZpbHRlclwiIFt3aWR0aF09XCIxOFwiIFtoZWlnaHRdPVwiMThcIj48L3ByeS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8taW1wb3J0LWxpc3RfX2NvbnRlbnRcIj5cbiAgICA8dGFibGVcbiAgICAgIGNsYXNzPVwiYS10YWJsZVwiXG4gICAgICBwcnlTb3J0VGFibGVcbiAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbcHJ5U29ydERpcmVjdGlvbl09XCJzb3J0LnNvcnRCeVwiXG4gICAgICBbcHJ5U29ydEFjdGl2ZV09XCJzb3J0Lm9yZGVyQnlcIlxuICAgID5cbiAgICAgIDxjYXB0aW9uPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFkbWluLmRhdGFzZXQudGl0bGUnIHwgaTE4blxuICAgICAgICB9fSxcbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgICB9fVxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoIGlkPVwiaW1wb3J0X2xpc3RfaGVhZGVyX2RhdGFzZXRcIiBwcnlTb3J0SGVhZGVyPVwiREFUQVNFVF9OQU1FXCI+XG4gICAgICAgICAgICB7eyAnQHByeS5pbXBvcnRMaXN0LmRzTmFtZScgfCBpMThuIH19XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuaW1wb3J0TGlzdC5udW1iZXInIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoIGlkPVwiaW1wb3J0X2xpc3RfaGVhZGVyX2RhdGVcIiBwcnlTb3J0SGVhZGVyPVwiREFURVwiIChzb3J0Q2hhbmdlKT1cInNvcnRDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgJ0BwcnkuaW1wb3J0TGlzdC5kYXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5pbXBvcnRMaXN0LnN0YXR1cycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuaW1wb3J0TGlzdC5hY3Rpb25zJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keT5cbiAgICAgICAgQGZvciAodmVyc2lvbiBvZiBkYXRhc2V0VmVyc2lvbnMkIHwgYXN5bmM7IHRyYWNrIHZlcnNpb24uaWQpIHtcbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQ+e3sgdmVyc2lvbi5kYXRhc2V0Lm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICB7eyB2ZXJzaW9uLnZlcnNpb24gfX1cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIHt7IHZlcnNpb24ubGFzdE1vZGlmaWVkIHwgZGF0ZTogJ2RkL01NL3l5eXkgSEg6bW0nIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWFsaWduLWNlbnRlciAtY2VsbC13aXRoLWljb25cIj5cbiAgICAgICAgICAgICAgQGlmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJykge1xuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2hlY2tcIiBjbGFzcz1cImNoZWNrXCIgW2hlaWdodF09XCIyMFwiIFt3aWR0aF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKHZlcnNpb24uc3RhdGUgPT09ICdXQVJOSU5HJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InKSB7XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJ3YXJuaW5nLXRyaWFuZ2xlXCIgY2xhc3M9XCJ3YXJuaW5nXCIgW2hlaWdodF09XCIyMFwiIFt3aWR0aF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLmlkID09PSB2ZXJzaW9uLmRhdGFzZXQuYWN0aXZlVmVyc2lvbj8uaWRcbiAgICAgICAgICAgICAgICAgID8gJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlLmN1cnJlbnRseUFjdGl2ZSdcbiAgICAgICAgICAgICAgICAgIDogKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZS4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4pXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgQGlmICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InKSB7XG4gICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJvcGVuRXJyb3JNb2RhbCh2ZXJzaW9uKVwiPlxuICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uRVJST1InIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJvcGVuSW5mb01vZGFsKHZlcnNpb24pXCI+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmNvbnN1bHQnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIEBpZiAodmVyc2lvbi5oYXNXYXJuaW5ncykge1xuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwib3BlbkVycm9yTW9kYWwodmVyc2lvbilcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uV0FSTklORycgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbiAgPHByeS1wYWdpbmF0b3JcbiAgICBbYWN0aW9uXT1cImxvYWREYXRhQWN0aW9uKClcIlxuICAgIFtuYlBlclBhZ2VdPVwiMTBcIlxuICAgIFt0b3RhbEl0ZW1OYl09XCIodG90YWxWZXJzaW9uQ291bnQkIHwgYXN5bmMpIVwiXG4gICAgY2xhc3M9XCJ1LXNlbGYtY2VudGVyXCJcbiAgICBbZ29CYWNrVG9GaXJzdFBhZ2VdPVwiZ29CYWNrVG9GaXJzdFBhZ2UkIHwgYXN5bmNcIlxuICA+PC9wcnktcGFnaW5hdG9yPlxuPC9kaXY+XG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvaW1wb3J0L2NvbXBvbmVudHMvbGlzdC9pbXBvcnQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9saXN0L2ltcG9ydC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUduQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFNOUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHdCQUF3QjtJQWlCbEUsWUFDVSxLQUFZLEVBQ1osTUFBd0I7UUFFaEMsS0FBSyxFQUFFLENBQUM7UUFIQSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFsQmxDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckcsaUJBQVksR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFHekMsbUJBQWMsR0FBRyxDQUFDLFNBQVMsRUFBRSxV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LElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQTJCLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQWlDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0FuRlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsdU9DcEJuQyx3b0xBdUlBOzsyRkRuSGEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhdGFzZXQsXG4gIERhdGFzZXRWZXJzaW9uLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgUHJ5RGlhbG9nU2VydmljZSxcbiAgUHJ5U29ydENoYW5nZSxcbiAgUHJ5U3RhdHVzTW9kYWxDb21wb25lbnQsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5VmVyc2lvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdmVyc2lvbi1tb2RhbC92ZXJzaW9uLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktaW1wb3J0LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUltcG9ydExpc3RDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBsb2FkRGF0YUFjdGlvbiA9IHNpZ25hbChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9ucyh7IG9yZGVyQnk6ICdEQVRFJywgc29ydEJ5OiAnZGVzYycgfSkpO1xuICByZWZyZXNoQ2xpY2sgPSBpbnB1dDxPYnNlcnZhYmxlPHZvaWQ+PigpO1xuXG4gIGRhdGFzZXRzJDogT2JzZXJ2YWJsZTxEYXRhc2V0W10+O1xuICBwb3NzaWJsZVN0YXR1cyA9IFsnTE9BRElORycsICdJTkRFWElORycsICdJTkFDVElWRScsICdFUlJPUicsICdBQ1RJVkUnLCAnREVMRVRJTkcnLCAnREVMRVRFX0VSUk9SJ107XG4gIGRhdGFzZXRWZXJzaW9ucyQ6IE9ic2VydmFibGU8RGF0YXNldFZlcnNpb25bXT47XG4gIHRvdGFsVmVyc2lvbkNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBmaWx0ZXJzOiB7IGRhdGFzZXQ/OiBzdHJpbmc7IHN0YXR1cz86IHN0cmluZzsgZGF0ZU1pbj86IHN0cmluZzsgZGF0ZU1heD86IHN0cmluZyB9ID0ge1xuICAgIGRhdGFzZXQ6IHVuZGVmaW5lZCxcbiAgICBzdGF0dXM6IHVuZGVmaW5lZCxcbiAgICBkYXRlTWluOiB1bmRlZmluZWQsXG4gICAgZGF0ZU1heDogdW5kZWZpbmVkXG4gIH07XG4gIHNvcnQ6IHsgb3JkZXJCeT86ICdEQVRBU0VUX05BTUUnIHwgJ0RBVEUnOyBzb3J0Qnk/OiAnYXNjJyB8ICdkZXNjJyB9ID0geyBvcmRlckJ5OiAnREFURScsIHNvcnRCeTogJ2Rlc2MnIH07XG4gIGdvQmFja1RvRmlyc3RQYWdlJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG4gICAgdGhpcy5kYXRhc2V0cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRzKTtcbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyk7XG4gICAgdGhpcy50b3RhbFZlcnNpb25Db3VudCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLnRvdGFsVmVyc2lvbkNvdW50KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5yZWZyZXNoQ2xpY2soKT8uc3Vic2NyaWJlKCgpID0+IHRoaXMubG9hZERhdGEoKSkpO1xuICB9XG5cbiAgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVycyA9IHsgZGF0YXNldDogdW5kZWZpbmVkLCBzdGF0dXM6IHVuZGVmaW5lZCwgZGF0ZU1pbjogdW5kZWZpbmVkLCBkYXRlTWF4OiB1bmRlZmluZWQgfTtcbiAgICB0aGlzLnVwZGF0ZUZpbHRlcnMoKTtcbiAgICB0aGlzLmxvYWREYXRhQWN0aW9uLnVwZGF0ZSgobG9hZERhdGFBY3Rpb24pID0+ICh7IC4uLmxvYWREYXRhQWN0aW9uLCBvZmZzZXQ6IDAgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goe1xuICAgICAgLi4udGhpcy5sb2FkRGF0YUFjdGlvbigpLFxuICAgICAgbGltaXQ6IDEwLFxuICAgICAgLi4udGhpcy5zb3J0XG4gICAgfSk7XG4gICAgdGhpcy5nb0JhY2tUb0ZpcnN0UGFnZSgpO1xuICB9XG5cbiAgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh7XG4gICAgICAuLi50aGlzLmxvYWREYXRhQWN0aW9uKCksXG4gICAgICBsaW1pdDogMTBcbiAgICB9KTtcbiAgICB0aGlzLmdvQmFja1RvRmlyc3RQYWdlKCk7XG4gIH1cblxuICBvcGVuSW5mb01vZGFsKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihQcnlWZXJzaW9uTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgdmVyc2lvbiB9LFxuICAgICAgb3ZlcmxheUNvbmZpZzoge1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgR2xvYmFsUG9zaXRpb25TdHJhdGVneSgpLmNlbnRlclZlcnRpY2FsbHkoKS5yaWdodCgnMjBweCcpLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb3BlbkVycm9yTW9kYWwodmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByeVN0YXR1c01vZGFsQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7IHZlcnNpb24gfVxuICAgIH0pO1xuICB9XG5cbiAgc29ydENoYW5nZSgkZXZlbnQ6IFByeVNvcnRDaGFuZ2UpIHtcbiAgICB0aGlzLnNvcnQuc29ydEJ5ID0gJGV2ZW50LmRpcmVjdGlvbiBhcyAnYXNjJyB8ICdkZXNjJztcbiAgICB0aGlzLnNvcnQub3JkZXJCeSA9ICRldmVudC5hY3RpdmUgYXMgJ0RBVEFTRVRfTkFNRScgfCAnREFURSc7XG4gICAgdGhpcy5sb2FkRGF0YUFjdGlvbi51cGRhdGUoKGxvYWREYXRhQWN0aW9uKSA9PiAoeyAuLi5sb2FkRGF0YUFjdGlvbiwgLi4udGhpcy5zb3J0IH0pKTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJzKCkge1xuICAgIHRoaXMubG9hZERhdGFBY3Rpb24udXBkYXRlKChsb2FkRGF0YUFjdGlvbikgPT4gKHsgLi4ubG9hZERhdGFBY3Rpb24sIC4uLnRoaXMuZmlsdGVycyB9KSk7XG4gIH1cblxuICBnb0JhY2tUb0ZpcnN0UGFnZSgpIHtcbiAgICB0aGlzLmdvQmFja1RvRmlyc3RQYWdlJC5uZXh0KHRydWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5nb0JhY2tUb0ZpcnN0UGFnZSQubmV4dChmYWxzZSksIDUwKTtcbiAgfVxufVxuIiwiPHByeS1pbXBvcnQtY3NzPjwvcHJ5LWltcG9ydC1jc3M+XG48ZGl2IGNsYXNzPVwiby1pbXBvcnQtbGlzdCB1LWRpc3BsYXktZmxleCAtY29sdW1uIC1nYXAtMjBcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7ICdAcHJ5LmltcG9ydExpc3QudGl0bGUnIHwgaTE4biB9fTwvaDE+XG4gIDxkaXYgY2xhc3M9XCJvLWltcG9ydC1saXN0X19maWx0ZXJzIHUtZGlzcGxheS1mbGV4IC1nYXAtMjBcIj5cbiAgICA8ZGl2IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0LXdyYXBwZXIgbS1maWx0ZXJfX2lucHV0LXdyYXBwZXItLWRyb3Bkb3duIG8taW1wb3J0LWxpc3RfX2RhdGFzZXQtZmlsdGVyXCIgI2RzUmVmPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBtLWZpbHRlcl9fbGFiZWxcIiBmb3I9XCJkYXRhc2V0X25hbWVfZmlsdGVyXCI+XG4gICAgICAgIHt7ICdAcHJ5LmltcG9ydExpc3QuZmlsdGVyLmRzTmFtZScgfCBpMThuIH19Jm5ic3A7OiZuYnNwO1xuICAgICAgPC9sYWJlbD5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGlkPVwiZGF0YXNldF9uYW1lX2ZpbHRlclwiXG4gICAgICAgIFtpdGVtc109XCJkYXRhc2V0cyQgfCBhc3luY1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kYXRhc2V0XCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlRmlsdGVycygpXCJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXRlbS1sYWJlbFwiXG4gICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICAgIFtlbGVtZW50UmVmXT1cImRzUmVmXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX19pbnB1dC13cmFwcGVyIG0tZmlsdGVyX19pbnB1dC13cmFwcGVyLS1kcm9wZG93biBvLWltcG9ydC1saXN0X19zdGF0ZS1maWx0ZXJcIiAjc3RhdHVzUmVmPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBtLWZpbHRlcl9fbGFiZWxcIiBmb3I9XCJpbXBvcnRfc3RhdHVzXCI+XG4gICAgICAgIHt7ICdAcHJ5LmltcG9ydExpc3QuZmlsdGVyLnN0YXR1cycgfCBpMThuIH19Jm5ic3A7OiZuYnNwO1xuICAgICAgPC9sYWJlbD5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGlkPVwiaW1wb3J0X3N0YXR1c1wiXG4gICAgICAgIFtpdGVtc109XCJwb3NzaWJsZVN0YXR1c1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5zdGF0dXNcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVGaWx0ZXJzKClcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJpdGVtLWxhYmVsXCJcbiAgICAgICAgW2VsZW1lbnRSZWZdPVwic3RhdHVzUmVmXCJcbiAgICAgICAgaTE4blByZWZpeD1cIkBwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlRmlsdGVyLlwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXQtd3JhcHBlciBtLWZpbHRlcl9faW5wdXQtd3JhcHBlci0tZHJvcGRvd24gby1pbXBvcnQtbGlzdF9fZGF0ZS1maWx0ZXJcIj5cbiAgICAgIDxmaWVsZHNldCBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImEtbGFiZWwgbS1maWx0ZXJfX2xhYmVsXCI+e3sgJ0BwcnkuaW1wb3J0TGlzdC5maWx0ZXIuZGF0ZScgfCBpMThuIH19Jm5ic3A7OiZuYnNwOzwvbGVnZW5kPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXRcIiB0eXBlPVwiZGF0ZVwiIFsobmdNb2RlbCldPVwiZmlsdGVycy5kYXRlTWluXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlRmlsdGVycygpXCIgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtLWZpbHRlcl9fZGF0ZS1pbnB1dC1zZXBhcmF0b3JcIj4mbmJzcDstJm5ic3A7PC9zcGFuPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXRcIiB0eXBlPVwiZGF0ZVwiIFsobmdNb2RlbCldPVwiZmlsdGVycy5kYXRlTWF4XCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlRmlsdGVycygpXCIgLz5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5IHUtc2VsZi1jZW50ZXJcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5cbiAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xlYXJfZmlsdGVyXCIgW3dpZHRoXT1cIjMwXCIgW2hlaWdodF09XCIzMFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJsb2FkRGF0YSgpXCI+XG4gICAgICB7eyAnQHByeS50b29sYm94LmFwcGx5JyB8IGkxOG4gfX1cbiAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwicmVmcmVzaF9maWx0ZXJcIiBbd2lkdGhdPVwiMThcIiBbaGVpZ2h0XT1cIjE4XCI+PC9wcnktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLWltcG9ydC1saXN0X19jb250ZW50XCI+XG4gICAgPHRhYmxlXG4gICAgICBjbGFzcz1cImEtdGFibGVcIlxuICAgICAgcHJ5U29ydFRhYmxlXG4gICAgICAocHJ5U29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlKCRldmVudClcIlxuICAgICAgW3ByeVNvcnREaXJlY3Rpb25dPVwic29ydC5zb3J0QnlcIlxuICAgICAgW3ByeVNvcnRBY3RpdmVdPVwic29ydC5vcmRlckJ5XCJcbiAgICA+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCBpZD1cImltcG9ydF9saXN0X2hlYWRlcl9kYXRhc2V0XCIgcHJ5U29ydEhlYWRlcj1cIkRBVEFTRVRfTkFNRVwiPlxuICAgICAgICAgICAge3sgJ0BwcnkuaW1wb3J0TGlzdC5kc05hbWUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmltcG9ydExpc3QubnVtYmVyJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aCBpZD1cImltcG9ydF9saXN0X2hlYWRlcl9kYXRlXCIgcHJ5U29ydEhlYWRlcj1cIkRBVEVcIiAoc29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7ICdAcHJ5LmltcG9ydExpc3QuZGF0ZScgfCBpMThuIH19XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuaW1wb3J0TGlzdC5zdGF0dXMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmltcG9ydExpc3QuYWN0aW9ucycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIEBmb3IgKHZlcnNpb24gb2YgZGF0YXNldFZlcnNpb25zJCB8IGFzeW5jOyB0cmFjayB2ZXJzaW9uLmlkKSB7XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRkPnt7IHZlcnNpb24uZGF0YXNldC5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi52ZXJzaW9uIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICB7eyB2ZXJzaW9uLmxhc3RNb2RpZmllZCB8IGRhdGU6ICdkZC9NTS95eXl5IEhIOm1tJyB9fVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1hbGlnbi1jZW50ZXIgLWNlbGwtd2l0aC1pY29uXCI+XG4gICAgICAgICAgICAgIEBpZiAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScpIHtcbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNoZWNrXCIgY2xhc3M9XCJjaGVja1wiIFtoZWlnaHRdPVwiMjBcIiBbd2lkdGhdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICB9IEBlbHNlIGlmICh2ZXJzaW9uLnN0YXRlID09PSAnV0FSTklORycgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJykge1xuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwid2FybmluZy10cmlhbmdsZVwiIGNsYXNzPVwid2FybmluZ1wiIFtoZWlnaHRdPVwiMjBcIiBbd2lkdGhdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgdmVyc2lvbi5pZCA9PT0gdmVyc2lvbi5kYXRhc2V0LmFjdGl2ZVZlcnNpb24/LmlkXG4gICAgICAgICAgICAgICAgICA/ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZS5jdXJyZW50bHlBY3RpdmUnXG4gICAgICAgICAgICAgICAgICA6ICgnQHByeS5kYXRhc2V0LnZlcnNpb24uc3RhdGUuJyArIHZlcnNpb24uc3RhdGUgfCBpMThuKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIEBpZiAodmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJykge1xuICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwib3BlbkVycm9yTW9kYWwodmVyc2lvbilcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLkVSUk9SJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwib3BlbkluZm9Nb2RhbCh2ZXJzaW9uKVwiPlxuICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5jb25zdWx0JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICBAaWYgKHZlcnNpb24uaGFzV2FybmluZ3MpIHtcbiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm9wZW5FcnJvck1vZGFsKHZlcnNpb24pXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLldBUk5JTkcnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIH1cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG4gIDxwcnktcGFnaW5hdG9yXG4gICAgW2FjdGlvbl09XCJsb2FkRGF0YUFjdGlvbigpXCJcbiAgICBbbmJQZXJQYWdlXT1cIjEwXCJcbiAgICBbdG90YWxJdGVtTmJdPVwiKHRvdGFsVmVyc2lvbkNvdW50JCB8IGFzeW5jKSFcIlxuICAgIGNsYXNzPVwidS1zZWxmLWNlbnRlclwiXG4gICAgW2dvQmFja1RvRmlyc3RQYWdlXT1cImdvQmFja1RvRmlyc3RQYWdlJCB8IGFzeW5jXCJcbiAgPjwvcHJ5LXBhZ2luYXRvcj5cbjwvZGl2PlxuIl19
|
|
@@ -281,14 +281,14 @@ export class PrySelectComponent extends SubscriptionnerDirective {
|
|
|
281
281
|
return this.elementRef ?? this.selectElement.nativeElement;
|
|
282
282
|
}
|
|
283
283
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.SelectA11yService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
284
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
284
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PrySelectComponent, selector: "pry-select", inputs: { items: "items", clearable: "clearable", multiple: "multiple", closeOnSelect: "closeOnSelect", placeholder: "placeholder", isForm: "isForm", required: "required", name: "name", readonly: "readonly", autocomplete: "autocomplete", alwaysShowAutosuggestedValues: "alwaysShowAutosuggestedValues", externalAutocompleteService: "externalAutocompleteService", bindValue: "bindValue", bindLabel: "bindLabel", iconSize: "iconSize", bindIcon: "bindIcon", template: "template", i18nPrefix: "i18nPrefix", bindClasses: "bindClasses", loading: "loading", elementRef: "elementRef" }, outputs: { searched: "searched", cleared: "cleared", clicked: "clicked" }, providers: [
|
|
285
285
|
{
|
|
286
286
|
provide: NG_VALUE_ACCESSOR,
|
|
287
287
|
useExisting: forwardRef(() => PrySelectComponent),
|
|
288
288
|
multi: true
|
|
289
289
|
},
|
|
290
290
|
SelectA11yService
|
|
291
|
-
], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n
|
|
291
|
+
], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n @if (autocomplete) {\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n [placeholder]=\"placeholder ?? ''\"\n #input\n />\n } @else if ((valueItems$ | async).length === 0) {\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n <div class=\"a-pry-select__filler\"></div>\n } @else {\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n @if (template) {\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n } @else {\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n @if (bindLabel ? item?.[bindLabel] : item; as value) {\n {{ (i18nPrefix ?? '') + value | i18n: { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n }\n }\n </div>\n </ng-container>\n <div class=\"a-pry-select__filler\"></div>\n }\n </div>\n <div class=\"a-pry-select__actions\">\n @if (clearable) {\n <span class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n }\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n @if (loading) {\n <div class=\"a-pry-select__options__option -hint\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-page-loader></pry-page-loader>\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n } @else {\n @for (item of matchingItems$ | async; track item.id; let index = $index; let first = $first; let last = $last) {\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n @if (template) {\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n } @else {\n @if (multiple) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"\n ></pry-checkbox>\n }\n @if (bindIcon) {\n <pry-icon [iconSvg]=\"item[bindIcon]\" [width]=\"iconSize[0]\" [height]=\"iconSize[1]\"></pry-icon>\n }\n @if (bindLabel ? item?.[bindLabel] : item; as value) {\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n: { warn: false } }}\n }\n }\n </div>\n } @empty {\n <div class=\"a-pry-select__options__option -hint\" [style.width.px]=\"modalWidth\">\n <p>{{ '@pry.select.empty' | i18n }}</p>\n </div>\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "component", type: i8.PryPageLoaderComponent, selector: "pry-page-loader", inputs: ["image", "imageAltText"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.I18nPipe, name: "i18n" }] }); }
|
|
292
292
|
}
|
|
293
293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySelectComponent, decorators: [{
|
|
294
294
|
type: Component,
|
|
@@ -299,7 +299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
299
299
|
multi: true
|
|
300
300
|
},
|
|
301
301
|
SelectA11yService
|
|
302
|
-
], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n
|
|
302
|
+
], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n @if (autocomplete) {\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n [placeholder]=\"placeholder ?? ''\"\n #input\n />\n } @else if ((valueItems$ | async).length === 0) {\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n <div class=\"a-pry-select__filler\"></div>\n } @else {\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n @if (template) {\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n } @else {\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n @if (bindLabel ? item?.[bindLabel] : item; as value) {\n {{ (i18nPrefix ?? '') + value | i18n: { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n }\n }\n </div>\n </ng-container>\n <div class=\"a-pry-select__filler\"></div>\n }\n </div>\n <div class=\"a-pry-select__actions\">\n @if (clearable) {\n <span class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n }\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n @if (loading) {\n <div class=\"a-pry-select__options__option -hint\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-page-loader></pry-page-loader>\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n } @else {\n @for (item of matchingItems$ | async; track item.id; let index = $index; let first = $first; let last = $last) {\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n @if (template) {\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n } @else {\n @if (multiple) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"\n ></pry-checkbox>\n }\n @if (bindIcon) {\n <pry-icon [iconSvg]=\"item[bindIcon]\" [width]=\"iconSize[0]\" [height]=\"iconSize[1]\"></pry-icon>\n }\n @if (bindLabel ? item?.[bindLabel] : item; as value) {\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n: { warn: false } }}\n }\n }\n </div>\n } @empty {\n <div class=\"a-pry-select__options__option -hint\" [style.width.px]=\"modalWidth\">\n <p>{{ '@pry.select.empty' | i18n }}</p>\n </div>\n }\n }\n </div>\n</ng-template>\n" }]
|
|
303
303
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.SelectA11yService }], propDecorators: { items: [{
|
|
304
304
|
type: Input
|
|
305
305
|
}], clearable: [{
|
|
@@ -358,4 +358,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
358
358
|
type: ViewChild,
|
|
359
359
|
args: ['input']
|
|
360
360
|
}] } });
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7OztBQUcxRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFlakIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHdCQUF3QjtJQVc5RCxJQUFhLEtBQUssQ0FBQyxLQUErQjtRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElB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c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLO2dCQU1PLE9BQU87c0JBQW5CLEtBQUs7Z0JBZ0I0QyxZQUFZO3NCQUE3RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRWIsYUFBYTtzQkFBL0MsU0FBUzt1QkFBQyxlQUFlO2dCQUNqQixVQUFVO3NCQUFsQixLQUFLO2dCQUNjLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbC9lczYnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWxlY3RBMTF5U2VydmljZSB9IGZyb20gJy4vc2VsZWN0LWExMXkuc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5U2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICBTZWxlY3RBMTF5U2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlbGVjdENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHVibGljIGlkOiBudW1iZXIgPSB1bmlxdWVJZCsrO1xuICBfaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICBtYXRjaGluZ0l0ZW1zJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBvcGVuID0gZmFsc2U7XG4gIGFjdGl2ZURlc2NlbmRhbnQ6IG51bWJlciA9IC0xO1xuICB2YWx1ZUl0ZW1zJDogT2JzZXJ2YWJsZTxhbnk+O1xuICB2YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcbiAgc2VhcmNoU2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGluaGliYXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBhbnlbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9pdGVtcyQubmV4dChpdGVtcyA/PyBbXSk7XG4gIH1cblxuICBASW5wdXQoKSBjbGVhcmFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBpc0Zvcm0gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQ/OiBhbnk7XG4gIEBJbnB1dCgpIG5hbWU/OiBhbnk7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhbHdheXNTaG93QXV0b3N1Z2dlc3RlZFZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBleHRlcm5hbEF1dG9jb21wbGV0ZVNlcnZpY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYmluZFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpY29uU2l6ZSA9IFsxMCwgMTZdO1xuICBASW5wdXQoKSBiaW5kSWNvbjogYW55O1xuICBASW5wdXQoKSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGkxOG5QcmVmaXg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgc2VhcmNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsZWFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBiaW5kQ2xhc3NlczogYW55O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBfbG9hZGluZyA9IGZhbHNlO1xuICBoYXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgbG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbG9hZGluZyA9IGxvYWRpbmc7XG4gICAgaWYgKHRoaXMuX2xvYWRpbmcpIHtcbiAgICAgIHRoaXMuaGFzTG9hZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgnb3B0aW9uc01vZGFsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBvcHRpb25zTW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBvcHRpb25zTW9kYWxSZWY/OiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0RWxlbWVudCcpIHB1YmxpYyBzZWxlY3RFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIEBJbnB1dCgpIGVsZW1lbnRSZWYhOiBIVE1MRGl2RWxlbWVudDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gIGZvY3VzZWQgPSBmYWxzZTtcbiAgbW9kYWxXaWR0aCA9IDIwMDtcblxuICBnZXQgbW9kYWxJZCgpIHtcbiAgICByZXR1cm4gJ3NlbGVjdC1tb2RhbC0nICsgdGhpcy5pZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHB1YmxpYyBhMTF5U2VydmljZTogU2VsZWN0QTExeVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1hdGNoaW5nSXRlbXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5faXRlbXMkLCB0aGlzLnNlYXJjaCQsIHRoaXMuc2VhcmNoU2VsZWN0ZWQkXSkucGlwZShcbiAgICAgIG1hcCgoW2l0ZW1zLCB0ZXJtLCBhbHJlYWR5U2VsZWN0ZWRdKSA9PlxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZSAmJlxuICAgICAgICB0ZXJtICYmXG4gICAgICAgIHRlcm0ubGVuZ3RoID4gMCAmJlxuICAgICAgICAhYWxyZWFkeVNlbGVjdGVkICYmXG4gICAgICAgICF0aGlzLmFsd2F5c1Nob3dBdXRvc3VnZ2VzdGVkVmFsdWVzICYmXG4gICAgICAgICF0aGlzLmV4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZVxuICAgICAgICAgID8gaXRlbXMuZmlsdGVyKChpKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZExhYmVsID8gaT8uW3RoaXMuYmluZExhYmVsXSA6IGk7XG4gICAgICAgICAgICAgIHJldHVybiBpdGVtVmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHRlcm0udG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBpdGVtc1xuICAgICAgKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCkpXG4gICAgKTtcbiAgICB0aGlzLnZhbHVlSXRlbXMkID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZSQsIHRoaXMuX2l0ZW1zJF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZSwgaXRlbXNdKSA9PlxuICAgICAgICAodGhpcy5tdWx0aXBsZSA/IHZhbHVlID8/IFtdIDogISF2YWx1ZSA/IFt2YWx1ZV0gOiBbXSkubWFwKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5UHJvcCA9IHRoaXMuYmluZFZhbHVlID8/IHRoaXMuYmluZExhYmVsID8/ICdpZCc7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgPyB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgICAgPyBpdGVtW2tleVByb3BdID09PSB2YWx1ZVtrZXlQcm9wXVxuICAgICAgICAgICAgICAgIDogaXRlbVtrZXlQcm9wXSA9PT0gdmFsdWVcbiAgICAgICAgICAgICAgOiBpdGVtID09PSB2YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnZhbHVlSXRlbXMkLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmJpbmRMYWJlbCA/IGl0ZW1bMF0/Llt0aGlzLmJpbmRMYWJlbF0gOiBpdGVtWzBdO1xuICAgICAgICAgIGlmIChpdGVtVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KGl0ZW1WYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuX2l0ZW1zJC5zdWJzY3JpYmUoKF8pID0+IHRoaXMudG9nZ2xlKCkpKTtcbiAgICB9XG5cbiAgICB0aGlzLmExMXlTZXJ2aWNlLnNldFRvZ2dsZSgoZm9yY2U/OiBib29sZWFuKSA9PiB0aGlzLnRvZ2dsZShmb3JjZSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWVxdWFsKHRoaXMudmFsdWUkLmdldFZhbHVlKCksIG9iaikpIHtcbiAgICAgIHRoaXMudmFsdWUkLm5leHQob2JqKTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUkLmdldFZhbHVlKCkpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KG9iaik7XG4gICAgICB0aGlzLnNlYXJjaFNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCRldmVudDogRXZlbnQsIGl0ZW06IGFueSkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmJpbmRWYWx1ZSA/IGl0ZW0/Llt0aGlzLmJpbmRWYWx1ZV0gOiBpdGVtO1xuICAgIGNvbnN0IGtleVByb3AgPSB0aGlzLmJpbmRWYWx1ZSA/PyB0aGlzLmJpbmRMYWJlbCA/PyAnaWQnO1xuICAgIHRoaXMud3JpdGVWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUkXG4gICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgIC5maWx0ZXIoKGk6IGFueSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbVZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgPyB0eXBlb2YgaSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgPyBpW2tleVByb3BdICE9PSBpdGVtVmFsdWVba2V5UHJvcF1cbiAgICAgICAgICAgICAgOiBpICE9PSBpdGVtVmFsdWVba2V5UHJvcF1cbiAgICAgICAgICAgIDogdHlwZW9mIGkgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgID8gaVtrZXlQcm9wXSAhPT0gaXRlbVZhbHVlXG4gICAgICAgICAgICAgIDogaSAhPT0gaXRlbVZhbHVlXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgY2xlYXJBbGwoJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKFtdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoKCcnKTtcbiAgICB0aGlzLmNsZWFyZWQubmV4dCgpO1xuICB9XG5cbiAgc2VhcmNoKCRldmVudDogc3RyaW5nLCBmcm9tVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5zZWFyY2hlZC5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5zZWFyY2hTZWxlY3RlZCQubmV4dChmYWxzZSk7XG4gICAgaWYgKGZyb21UZW1wbGF0ZSAmJiB0aGlzLmF1dG9jb21wbGV0ZSAmJiB0aGlzLmV4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKCRldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0KCRldmVudDogRXZlbnQsIGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZFZhbHVlID8gaXRlbT8uW3RoaXMuYmluZFZhbHVlXSA6IGl0ZW07XG4gICAgY29uc3Qga2V5UHJvcCA9IHRoaXMuYmluZFZhbHVlID8/IHRoaXMuYmluZExhYmVsID8/ICdpZCc7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUoW2l0ZW1WYWx1ZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR5cGVvZiBpdGVtVmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICA/IHRoaXMudmFsdWUkXG4gICAgICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICAubWFwKCh2YWw6IGFueSkgPT4gKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnID8gdmFsW2tleVByb3BdIDogdmFsKSlcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoaXRlbVZhbHVlW2tleVByb3BdKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlJFxuICAgICAgICAgICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICAgICAgLm1hcCgodmFsOiBhbnkpID0+ICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyA/IHZhbFtrZXlQcm9wXSA6IHZhbCkpXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5jbGVhcigkZXZlbnQsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShbLi4udGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSwgaXRlbVZhbHVlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKGl0ZW1WYWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMudG9nZ2xlKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50ID0gaW5kZXg7XG4gICAgY29uc3QgaXRlbUxhYmVsID0gdGhpcy5iaW5kTGFiZWwgPyBpdGVtPy5bdGhpcy5iaW5kTGFiZWxdIDogaXRlbTtcbiAgICB0aGlzLnNlYXJjaCQubmV4dChpdGVtTGFiZWwpO1xuICAgIHRoaXMuc2VhcmNoU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICB0b2dnbGUoZm9yY2U/OiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy5vcGVuICE9PSBmb3JjZSkge1xuICAgICAgICB0aGlzLm9wZW4gPSBmb3JjZSAhPT0gdW5kZWZpbmVkID8gZm9yY2UgOiAhdGhpcy5vcGVuO1xuICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgdGhpcy5tb2RhbFdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIDU7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh0aGlzLmdldE92ZXJsYXlDb25maWcoKSk7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlYXJjaCQuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5vcHRpb25zTW9kYWxSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLm9wdGlvbnNNb2RhbCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICAgICAgdGhpcy5mb2N1c0luaXRpYWxTZWxlY3Rpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgdGhpcy5yZXR1cm5Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmhpYml0aW9uKCkge1xuICAgIHRoaXMuaW5oaWJhdGUgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaW5oaWJhdGUgPSBmYWxzZSksIDEwMCk7XG4gIH1cblxuICBoYW5kbGVDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuaW5oaWJhdGUpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgdGhpcy5jbGlja2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuaW5oaWJpdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUZvY3VzKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9ICF0aGlzLmZvY3VzZWQ7XG4gIH1cblxuICByZXR1cm5Gb2N1cygpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGUgPyB0aGlzLmZvY3VzSW5wdXQoKSA6IHRoaXMuc2VsZWN0RWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXNJbnB1dCgpIHtcbiAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnRSZWYpXG4gICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfVxuICAgICAgXSk7XG5cbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiBzY3JvbGxTdHJhdGVneSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgcGFuZWxDbGFzczogWydhLXByeS1zZWxlY3RfX29wdGlvbnMnXSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdhLXByeS1zZWxlY3RfX2JhY2tkcm9wJ1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IF9lbGVtZW50UmVmKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmID8/IHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb25Gb2N1c0NoYW5nZSA9IChvcmlnaW46IEZvY3VzT3JpZ2luKSA9PiB7XG4gICAgaWYgKCF0aGlzLmluaGliYXRlKSB7XG4gICAgICB0aGlzLmExMXlTZXJ2aWNlLm9uRm9jdXNDaGFuZ2UoXG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUsXG4gICAgICAgICgpID0+IHRoaXMudG9nZ2xlRm9jdXMoKSxcbiAgICAgICAgKCkgPT4gdGhpcy5mb2N1c0lucHV0KClcbiAgICAgICk7XG4gICAgICB0aGlzLmluaGliaXRpb24oKTtcbiAgICB9XG4gIH07XG4gIG9uS2V5ZG93blNlbGVjdCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5hMTF5U2VydmljZS5vbktleWRvd25TZWxlY3QoZXZlbnQsIHRoaXMuYXV0b2NvbXBsZXRlKTtcbiAgb25LZXlkb3duQXV0b2NvbXBsZXRlSW5wdXQgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+XG4gICAgdGhpcy5hMTF5U2VydmljZS5vbktleWRvd25BdXRvY29tcGxldGVJbnB1dChldmVudCwgdGhpcy5vcGVuLCB0aGlzLnNlYXJjaCQuZ2V0VmFsdWUoKSwgdGhpcy5vcHRpb25zTW9kYWxSZWYpO1xuICBvbktleWRvd25PcHRpb24gPSAoXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgaXRlbTogYW55LFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgb3B0aW9uRGl2UmVmOiBIVE1MRGl2RWxlbWVudCxcbiAgICBmaXJzdDogYm9vbGVhbixcbiAgICBsYXN0OiBib29sZWFuXG4gICkgPT5cbiAgICB0aGlzLmExMXlTZXJ2aWNlLm9uS2V5ZG93bk9wdGlvbihcbiAgICAgIGV2ZW50LFxuICAgICAgb3B0aW9uRGl2UmVmLFxuICAgICAgZmlyc3QsXG4gICAgICBsYXN0LFxuICAgICAgdGhpcy5hdXRvY29tcGxldGUsXG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICgpID0+IHRoaXMuc2VsZWN0KGV2ZW50LCBpdGVtLCBpbmRleClcbiAgICApO1xuICBmb2N1c0luaXRpYWxTZWxlY3Rpb24gPSAoKSA9PiB0aGlzLmExMXlTZXJ2aWNlLmZvY3VzSW5pdGlhbFNlbGVjdGlvbih0aGlzLmF1dG9jb21wbGV0ZSwgdGhpcy5vcHRpb25zTW9kYWxSZWYpO1xufVxuIiwiPGRpdlxuICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAjc2VsZWN0RWxlbWVudFxuICBbY2xhc3MuLWZvY3VzZWRdPVwiZm9jdXNlZFwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygpXCJcbiAgcm9sZT1cImNvbWJvYm94XCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cIm9wZW4gPyBtb2RhbElkIDogbnVsbFwiXG4gIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgY2RrTW9uaXRvckVsZW1lbnRGb2N1c1xuICAoY2RrRm9jdXNDaGFuZ2UpPVwib25Gb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgKGtleWRvd24pPVwib25LZXlkb3duU2VsZWN0KCRldmVudClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYS1wcnktc2VsZWN0X19jb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF1dG9jb21wbGV0ZTsgZWxzZSBub0F1dG9jb21wbGV0ZVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RfX3NlYXJjaFwiXG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCQuZ2V0VmFsdWUoKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaCgkZXZlbnQsIHRydWUpXCJcbiAgICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJvcGVuID8gbW9kYWxJZCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duQXV0b2NvbXBsZXRlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgICNpbnB1dFxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI25vQXV0b2NvbXBsZXRlPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIih2YWx1ZUl0ZW1zJCB8IGFzeW5jKS5sZW5ndGggPT09IDA7IGVsc2Ugc2VsZWN0ZWRWYWx1ZXNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLXByeS1zZWxlY3RfX3BsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRWYWx1ZXM+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdmFsdWVJdGVtcyQgfCBhc3luY1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0X192YWx1ZVwiXG4gICAgICAgICAgICBbY2xhc3MucHJ5LXNlbGVjdC1mb3JtXT1cImlzRm9ybVwiXG4gICAgICAgICAgICBbY2xhc3MuLW11bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gPyBpdGVtW2JpbmRDbGFzc2VzID8/ICcnXSA/PyB7fSA6IHt9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGU7IGVsc2Ugbm9UZW1wbGF0ZUxhYmVsXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtLCBjbGVhciB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZUxhYmVsPlxuICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImJpbmRJY29uXCJcbiAgICAgICAgICAgICAgICBbaWNvblN2Z109XCJpdGVtW2JpbmRJY29uXVwiXG4gICAgICAgICAgICAgICAgW3dpZHRoXT1cImljb25TaXplWzBdXCJcbiAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cImljb25TaXplWzFdXCJcbiAgICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiaW5kTGFiZWwgPyBpdGVtPy5bYmluZExhYmVsXSA6IGl0ZW0gYXMgdmFsdWVcIj5cbiAgICAgICAgICAgICAgICB7eyAoaTE4blByZWZpeCA/PyAnJykgKyB2YWx1ZSB8IGkxOG46IHsgd2FybjogZmFsc2UgfSB9fVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpcGxlICYmIGNsZWFyYWJsZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID7Dlzwvc3BhblxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiYS1wcnktc2VsZWN0X19maWxsZXJcIj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fYWN0aW9uc1wiPlxuICAgIDxzcGFuICpuZ0lmPVwiY2xlYXJhYmxlXCIgY2xhc3M9XCJhLXByeS1zZWxlY3RfX2NsZWFyXCIgKGNsaWNrKT1cImNsZWFyQWxsKCRldmVudClcIiBhcmlhLWhpZGRlbj1cInRydWVcIj7Dlzwvc3Bhbj5cbiAgICA8cHJ5LWljb25cbiAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0X190b2dnbGVcIlxuICAgICAgW2ljb25TdmddPVwib3BlbiA/ICdjaGV2cm9uX3RvcCcgOiAnY2hldnJvbl9ib3R0b20nXCJcbiAgICAgIFt3aWR0aF09XCJpY29uU2l6ZVswXVwiXG4gICAgICBbaGVpZ2h0XT1cImljb25TaXplWzFdXCJcbiAgICA+PC9wcnktaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjb3B0aW9uc01vZGFsPlxuICA8ZGl2XG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Bwcnkuc2VsZWN0LmxhYmVsJyB8IGkxOG5cIlxuICAgIFtpZF09XCJtb2RhbElkXCJcbiAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiJ3NlbGVjdC1vcHRpb24tJyArIGFjdGl2ZURlc2NlbmRhbnRcIlxuICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm11bHRpcGxlXCJcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2F0dHIuYXJpYS1yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgY2RrVHJhcEZvY3VzPVwiIWF1dG9jb21wbGV0ZVwiXG4gICAgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cIiFhdXRvY29tcGxldGVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fb3B0aW9uc19fb3B0aW9uIC1oaW50XCIgKm5nSWY9XCJsb2FkaW5nXCIgW3N0eWxlLndpZHRoLnB4XT1cIm1vZGFsV2lkdGhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuby13aWRnZXQgbm8td2lkZ2V0X19sb2FkZXJcIj5cbiAgICAgICAgPHByeS1wYWdlLWxvYWRlcj48L3ByeS1wYWdlLWxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHA+e3sgJ0Bwcnkuc2VsZWN0LmxvYWRpbmcnIHwgaTE4biB9fS4uLjwvcD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWF0Y2hpbmdJdGVtcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBmaXJzdCA9IGZpcnN0OyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0X19vcHRpb25zX19vcHRpb25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmluY2x1ZGVzKGl0ZW0pXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmluY2x1ZGVzKGl0ZW0pXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KCRldmVudCwgaXRlbSwgaW5kZXgpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd25PcHRpb24oJGV2ZW50LCBpdGVtLCBpbmRleCwgb3B0aW9uRGl2UmVmLCBmaXJzdCwgbGFzdClcIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJtb2RhbFdpZHRoXCJcbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBbaWRdPVwiJ3NlbGVjdC1vcHRpb24tJyArIGluZGV4XCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICNvcHRpb25EaXZSZWZcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbSwgY2xlYXIgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZT5cbiAgICAgICAgICAgIDxwcnktY2hlY2tib3hcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cIih2YWx1ZUl0ZW1zJCB8IGFzeW5jKS5pbmNsdWRlcyhpdGVtKVwiXG4gICAgICAgICAgICA+PC9wcnktY2hlY2tib3g+XG4gICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgKm5nSWY9XCJiaW5kSWNvblwiXG4gICAgICAgICAgICAgIFtpY29uU3ZnXT1cIml0ZW1bYmluZEljb25dXCJcbiAgICAgICAgICAgICAgW3dpZHRoXT1cImljb25TaXplWzBdXCJcbiAgICAgICAgICAgICAgW2hlaWdodF09XCJpY29uU2l6ZVsxXVwiXG4gICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiaW5kTGFiZWwgPyBpdGVtPy5bYmluZExhYmVsXSA6IGl0ZW0gYXMgdmFsdWVcIj5cbiAgICAgICAgICAgICAge3sgKGkxOG5QcmVmaXggPyBpMThuUHJlZml4IDogJycpICsgdmFsdWUgfCBpMThuOiB7IHdhcm46IGZhbHNlIH0gfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7OztBQUcxRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFlakIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHdCQUF3QjtJQVc5RCxJQUFhLEtBQUssQ0FBQyxLQUErQjtRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElB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c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLO2dCQU1PLE9BQU87c0JBQW5CLEtBQUs7Z0JBZ0I0QyxZQUFZO3NCQUE3RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRWIsYUFBYTtzQkFBL0MsU0FBUzt1QkFBQyxlQUFlO2dCQUNqQixVQUFVO3NCQUFsQixLQUFLO2dCQUNjLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbC9lczYnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWxlY3RBMTF5U2VydmljZSB9IGZyb20gJy4vc2VsZWN0LWExMXkuc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5U2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICBTZWxlY3RBMTF5U2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlbGVjdENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHVibGljIGlkOiBudW1iZXIgPSB1bmlxdWVJZCsrO1xuICBfaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICBtYXRjaGluZ0l0ZW1zJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBvcGVuID0gZmFsc2U7XG4gIGFjdGl2ZURlc2NlbmRhbnQ6IG51bWJlciA9IC0xO1xuICB2YWx1ZUl0ZW1zJDogT2JzZXJ2YWJsZTxhbnk+O1xuICB2YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcbiAgc2VhcmNoU2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGluaGliYXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBhbnlbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9pdGVtcyQubmV4dChpdGVtcyA/PyBbXSk7XG4gIH1cblxuICBASW5wdXQoKSBjbGVhcmFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBpc0Zvcm0gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQ/OiBhbnk7XG4gIEBJbnB1dCgpIG5hbWU/OiBhbnk7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhbHdheXNTaG93QXV0b3N1Z2dlc3RlZFZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBleHRlcm5hbEF1dG9jb21wbGV0ZVNlcnZpY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYmluZFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpY29uU2l6ZSA9IFsxMCwgMTZdO1xuICBASW5wdXQoKSBiaW5kSWNvbjogYW55O1xuICBASW5wdXQoKSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGkxOG5QcmVmaXg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgc2VhcmNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsZWFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBiaW5kQ2xhc3NlczogYW55O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBfbG9hZGluZyA9IGZhbHNlO1xuICBoYXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgbG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbG9hZGluZyA9IGxvYWRpbmc7XG4gICAgaWYgKHRoaXMuX2xvYWRpbmcpIHtcbiAgICAgIHRoaXMuaGFzTG9hZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgnb3B0aW9uc01vZGFsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBvcHRpb25zTW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBvcHRpb25zTW9kYWxSZWY/OiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0RWxlbWVudCcpIHB1YmxpYyBzZWxlY3RFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIEBJbnB1dCgpIGVsZW1lbnRSZWYhOiBIVE1MRGl2RWxlbWVudDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gIGZvY3VzZWQgPSBmYWxzZTtcbiAgbW9kYWxXaWR0aCA9IDIwMDtcblxuICBnZXQgbW9kYWxJZCgpIHtcbiAgICByZXR1cm4gJ3NlbGVjdC1tb2RhbC0nICsgdGhpcy5pZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHB1YmxpYyBhMTF5U2VydmljZTogU2VsZWN0QTExeVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1hdGNoaW5nSXRlbXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5faXRlbXMkLCB0aGlzLnNlYXJjaCQsIHRoaXMuc2VhcmNoU2VsZWN0ZWQkXSkucGlwZShcbiAgICAgIG1hcCgoW2l0ZW1zLCB0ZXJtLCBhbHJlYWR5U2VsZWN0ZWRdKSA9PlxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZSAmJlxuICAgICAgICB0ZXJtICYmXG4gICAgICAgIHRlcm0ubGVuZ3RoID4gMCAmJlxuICAgICAgICAhYWxyZWFkeVNlbGVjdGVkICYmXG4gICAgICAgICF0aGlzLmFsd2F5c1Nob3dBdXRvc3VnZ2VzdGVkVmFsdWVzICYmXG4gICAgICAgICF0aGlzLmV4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZVxuICAgICAgICAgID8gaXRlbXMuZmlsdGVyKChpKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZExhYmVsID8gaT8uW3RoaXMuYmluZExhYmVsXSA6IGk7XG4gICAgICAgICAgICAgIHJldHVybiBpdGVtVmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHRlcm0udG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBpdGVtc1xuICAgICAgKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCkpXG4gICAgKTtcbiAgICB0aGlzLnZhbHVlSXRlbXMkID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZSQsIHRoaXMuX2l0ZW1zJF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZSwgaXRlbXNdKSA9PlxuICAgICAgICAodGhpcy5tdWx0aXBsZSA/IHZhbHVlID8/IFtdIDogISF2YWx1ZSA/IFt2YWx1ZV0gOiBbXSkubWFwKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5UHJvcCA9IHRoaXMuYmluZFZhbHVlID8/IHRoaXMuYmluZExhYmVsID8/ICdpZCc7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgPyB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgICAgPyBpdGVtW2tleVByb3BdID09PSB2YWx1ZVtrZXlQcm9wXVxuICAgICAgICAgICAgICAgIDogaXRlbVtrZXlQcm9wXSA9PT0gdmFsdWVcbiAgICAgICAgICAgICAgOiBpdGVtID09PSB2YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnZhbHVlSXRlbXMkLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmJpbmRMYWJlbCA/IGl0ZW1bMF0/Llt0aGlzLmJpbmRMYWJlbF0gOiBpdGVtWzBdO1xuICAgICAgICAgIGlmIChpdGVtVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KGl0ZW1WYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuX2l0ZW1zJC5zdWJzY3JpYmUoKF8pID0+IHRoaXMudG9nZ2xlKCkpKTtcbiAgICB9XG5cbiAgICB0aGlzLmExMXlTZXJ2aWNlLnNldFRvZ2dsZSgoZm9yY2U/OiBib29sZWFuKSA9PiB0aGlzLnRvZ2dsZShmb3JjZSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWVxdWFsKHRoaXMudmFsdWUkLmdldFZhbHVlKCksIG9iaikpIHtcbiAgICAgIHRoaXMudmFsdWUkLm5leHQob2JqKTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUkLmdldFZhbHVlKCkpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KG9iaik7XG4gICAgICB0aGlzLnNlYXJjaFNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCRldmVudDogRXZlbnQsIGl0ZW06IGFueSkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmJpbmRWYWx1ZSA/IGl0ZW0/Llt0aGlzLmJpbmRWYWx1ZV0gOiBpdGVtO1xuICAgIGNvbnN0IGtleVByb3AgPSB0aGlzLmJpbmRWYWx1ZSA/PyB0aGlzLmJpbmRMYWJlbCA/PyAnaWQnO1xuICAgIHRoaXMud3JpdGVWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUkXG4gICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgIC5maWx0ZXIoKGk6IGFueSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbVZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgPyB0eXBlb2YgaSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgPyBpW2tleVByb3BdICE9PSBpdGVtVmFsdWVba2V5UHJvcF1cbiAgICAgICAgICAgICAgOiBpICE9PSBpdGVtVmFsdWVba2V5UHJvcF1cbiAgICAgICAgICAgIDogdHlwZW9mIGkgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgID8gaVtrZXlQcm9wXSAhPT0gaXRlbVZhbHVlXG4gICAgICAgICAgICAgIDogaSAhPT0gaXRlbVZhbHVlXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgY2xlYXJBbGwoJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKFtdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoKCcnKTtcbiAgICB0aGlzLmNsZWFyZWQubmV4dCgpO1xuICB9XG5cbiAgc2VhcmNoKCRldmVudDogc3RyaW5nLCBmcm9tVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5zZWFyY2hlZC5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5zZWFyY2hTZWxlY3RlZCQubmV4dChmYWxzZSk7XG4gICAgaWYgKGZyb21UZW1wbGF0ZSAmJiB0aGlzLmF1dG9jb21wbGV0ZSAmJiB0aGlzLmV4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKCRldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0KCRldmVudDogRXZlbnQsIGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZFZhbHVlID8gaXRlbT8uW3RoaXMuYmluZFZhbHVlXSA6IGl0ZW07XG4gICAgY29uc3Qga2V5UHJvcCA9IHRoaXMuYmluZFZhbHVlID8/IHRoaXMuYmluZExhYmVsID8/ICdpZCc7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUoW2l0ZW1WYWx1ZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR5cGVvZiBpdGVtVmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICA/IHRoaXMudmFsdWUkXG4gICAgICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICAubWFwKCh2YWw6IGFueSkgPT4gKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnID8gdmFsW2tleVByb3BdIDogdmFsKSlcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoaXRlbVZhbHVlW2tleVByb3BdKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlJFxuICAgICAgICAgICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICAgICAgLm1hcCgodmFsOiBhbnkpID0+ICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyA/IHZhbFtrZXlQcm9wXSA6IHZhbCkpXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5jbGVhcigkZXZlbnQsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShbLi4udGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSwgaXRlbVZhbHVlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKGl0ZW1WYWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMudG9nZ2xlKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50ID0gaW5kZXg7XG4gICAgY29uc3QgaXRlbUxhYmVsID0gdGhpcy5iaW5kTGFiZWwgPyBpdGVtPy5bdGhpcy5iaW5kTGFiZWxdIDogaXRlbTtcbiAgICB0aGlzLnNlYXJjaCQubmV4dChpdGVtTGFiZWwpO1xuICAgIHRoaXMuc2VhcmNoU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICB0b2dnbGUoZm9yY2U/OiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy5vcGVuICE9PSBmb3JjZSkge1xuICAgICAgICB0aGlzLm9wZW4gPSBmb3JjZSAhPT0gdW5kZWZpbmVkID8gZm9yY2UgOiAhdGhpcy5vcGVuO1xuICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgdGhpcy5tb2RhbFdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIDU7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh0aGlzLmdldE92ZXJsYXlDb25maWcoKSk7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlYXJjaCQuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5vcHRpb25zTW9kYWxSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLm9wdGlvbnNNb2RhbCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICAgICAgdGhpcy5mb2N1c0luaXRpYWxTZWxlY3Rpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgdGhpcy5yZXR1cm5Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmhpYml0aW9uKCkge1xuICAgIHRoaXMuaW5oaWJhdGUgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaW5oaWJhdGUgPSBmYWxzZSksIDEwMCk7XG4gIH1cblxuICBoYW5kbGVDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuaW5oaWJhdGUpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgdGhpcy5jbGlja2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuaW5oaWJpdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUZvY3VzKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9ICF0aGlzLmZvY3VzZWQ7XG4gIH1cblxuICByZXR1cm5Gb2N1cygpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGUgPyB0aGlzLmZvY3VzSW5wdXQoKSA6IHRoaXMuc2VsZWN0RWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXNJbnB1dCgpIHtcbiAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnRSZWYpXG4gICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfVxuICAgICAgXSk7XG5cbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiBzY3JvbGxTdHJhdGVneSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgcGFuZWxDbGFzczogWydhLXByeS1zZWxlY3RfX29wdGlvbnMnXSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdhLXByeS1zZWxlY3RfX2JhY2tkcm9wJ1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IF9lbGVtZW50UmVmKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmID8/IHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb25Gb2N1c0NoYW5nZSA9IChvcmlnaW46IEZvY3VzT3JpZ2luKSA9PiB7XG4gICAgaWYgKCF0aGlzLmluaGliYXRlKSB7XG4gICAgICB0aGlzLmExMXlTZXJ2aWNlLm9uRm9jdXNDaGFuZ2UoXG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUsXG4gICAgICAgICgpID0+IHRoaXMudG9nZ2xlRm9jdXMoKSxcbiAgICAgICAgKCkgPT4gdGhpcy5mb2N1c0lucHV0KClcbiAgICAgICk7XG4gICAgICB0aGlzLmluaGliaXRpb24oKTtcbiAgICB9XG4gIH07XG4gIG9uS2V5ZG93blNlbGVjdCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5hMTF5U2VydmljZS5vbktleWRvd25TZWxlY3QoZXZlbnQsIHRoaXMuYXV0b2NvbXBsZXRlKTtcbiAgb25LZXlkb3duQXV0b2NvbXBsZXRlSW5wdXQgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+XG4gICAgdGhpcy5hMTF5U2VydmljZS5vbktleWRvd25BdXRvY29tcGxldGVJbnB1dChldmVudCwgdGhpcy5vcGVuLCB0aGlzLnNlYXJjaCQuZ2V0VmFsdWUoKSwgdGhpcy5vcHRpb25zTW9kYWxSZWYpO1xuICBvbktleWRvd25PcHRpb24gPSAoXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgaXRlbTogYW55LFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgb3B0aW9uRGl2UmVmOiBIVE1MRGl2RWxlbWVudCxcbiAgICBmaXJzdDogYm9vbGVhbixcbiAgICBsYXN0OiBib29sZWFuXG4gICkgPT5cbiAgICB0aGlzLmExMXlTZXJ2aWNlLm9uS2V5ZG93bk9wdGlvbihcbiAgICAgIGV2ZW50LFxuICAgICAgb3B0aW9uRGl2UmVmLFxuICAgICAgZmlyc3QsXG4gICAgICBsYXN0LFxuICAgICAgdGhpcy5hdXRvY29tcGxldGUsXG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICgpID0+IHRoaXMuc2VsZWN0KGV2ZW50LCBpdGVtLCBpbmRleClcbiAgICApO1xuICBmb2N1c0luaXRpYWxTZWxlY3Rpb24gPSAoKSA9PiB0aGlzLmExMXlTZXJ2aWNlLmZvY3VzSW5pdGlhbFNlbGVjdGlvbih0aGlzLmF1dG9jb21wbGV0ZSwgdGhpcy5vcHRpb25zTW9kYWxSZWYpO1xufVxuIiwiPGRpdlxuICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAjc2VsZWN0RWxlbWVudFxuICBbY2xhc3MuLWZvY3VzZWRdPVwiZm9jdXNlZFwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygpXCJcbiAgcm9sZT1cImNvbWJvYm94XCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cIm9wZW4gPyBtb2RhbElkIDogbnVsbFwiXG4gIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgY2RrTW9uaXRvckVsZW1lbnRGb2N1c1xuICAoY2RrRm9jdXNDaGFuZ2UpPVwib25Gb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgKGtleWRvd24pPVwib25LZXlkb3duU2VsZWN0KCRldmVudClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYS1wcnktc2VsZWN0X19jb250ZW50XCI+XG4gICAgQGlmIChhdXRvY29tcGxldGUpIHtcbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0X19zZWFyY2hcIlxuICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2gkLmdldFZhbHVlKClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2goJGV2ZW50LCB0cnVlKVwiXG4gICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwib3BlbiA/IG1vZGFsSWQgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bkF1dG9jb21wbGV0ZUlucHV0KCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPz8gJydcIlxuICAgICAgICAjaW5wdXRcbiAgICAgIC8+XG4gICAgfSBAZWxzZSBpZiAoKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJhLXByeS1zZWxlY3RfX3BsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwiYS1wcnktc2VsZWN0X19maWxsZXJcIj48L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdmFsdWVJdGVtcyQgfCBhc3luY1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RfX3ZhbHVlXCJcbiAgICAgICAgICBbY2xhc3MucHJ5LXNlbGVjdC1mb3JtXT1cImlzRm9ybVwiXG4gICAgICAgICAgW2NsYXNzLi1tdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbSA/IGl0ZW1bYmluZENsYXNzZXMgPz8gJyddID8/IHt9IDoge31cIlxuICAgICAgICA+XG4gICAgICAgICAgQGlmICh0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW0sIGNsZWFyIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAqbmdJZj1cImJpbmRJY29uXCJcbiAgICAgICAgICAgICAgW2ljb25TdmddPVwiaXRlbVtiaW5kSWNvbl1cIlxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaWNvblNpemVbMF1cIlxuICAgICAgICAgICAgICBbaGVpZ2h0XT1cImljb25TaXplWzFdXCJcbiAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgQGlmIChiaW5kTGFiZWwgPyBpdGVtPy5bYmluZExhYmVsXSA6IGl0ZW07IGFzIHZhbHVlKSB7XG4gICAgICAgICAgICAgIHt7IChpMThuUHJlZml4ID8/ICcnKSArIHZhbHVlIHwgaTE4bjogeyB3YXJuOiBmYWxzZSB9IH19XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZSAmJiBjbGVhcmFibGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0X19jbGVhclwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYS1wcnktc2VsZWN0X19maWxsZXJcIj48L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYS1wcnktc2VsZWN0X19hY3Rpb25zXCI+XG4gICAgQGlmIChjbGVhcmFibGUpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwiYS1wcnktc2VsZWN0X19jbGVhclwiIChjbGljayk9XCJjbGVhckFsbCgkZXZlbnQpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+w5c8L3NwYW4+XG4gICAgfVxuICAgIDxwcnktaWNvblxuICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RfX3RvZ2dsZVwiXG4gICAgICBbaWNvblN2Z109XCJvcGVuID8gJ2NoZXZyb25fdG9wJyA6ICdjaGV2cm9uX2JvdHRvbSdcIlxuICAgICAgW3dpZHRoXT1cImljb25TaXplWzBdXCJcbiAgICAgIFtoZWlnaHRdPVwiaWNvblNpemVbMV1cIlxuICAgID48L3ByeS1pY29uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNvcHRpb25zTW9kYWw+XG4gIDxkaXZcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQHByeS5zZWxlY3QubGFiZWwnIHwgaTE4blwiXG4gICAgW2lkXT1cIm1vZGFsSWRcIlxuICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCInc2VsZWN0LW9wdGlvbi0nICsgYWN0aXZlRGVzY2VuZGFudFwiXG4gICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwibXVsdGlwbGVcIlxuICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbYXR0ci5hcmlhLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBjZGtUcmFwRm9jdXM9XCIhYXV0b2NvbXBsZXRlXCJcbiAgICBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwiIWF1dG9jb21wbGV0ZVwiXG4gID5cbiAgICBAaWYgKGxvYWRpbmcpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhLXByeS1zZWxlY3RfX29wdGlvbnNfX29wdGlvbiAtaGludFwiIFtzdHlsZS53aWR0aC5weF09XCJtb2RhbFdpZHRoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuby13aWRnZXQgbm8td2lkZ2V0X19sb2FkZXJcIj5cbiAgICAgICAgICA8cHJ5LXBhZ2UtbG9hZGVyPjwvcHJ5LXBhZ2UtbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHA+e3sgJ0Bwcnkuc2VsZWN0LmxvYWRpbmcnIHwgaTE4biB9fS4uLjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgQGZvciAoaXRlbSBvZiBtYXRjaGluZ0l0ZW1zJCB8IGFzeW5jOyB0cmFjayBpdGVtLmlkOyBsZXQgaW5kZXggPSAkaW5kZXg7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RfX29wdGlvbnNfX29wdGlvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCIodmFsdWVJdGVtcyQgfCBhc3luYykuaW5jbHVkZXMoaXRlbSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCIodmFsdWVJdGVtcyQgfCBhc3luYykuaW5jbHVkZXMoaXRlbSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoJGV2ZW50LCBpdGVtLCBpbmRleClcIlxuICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bk9wdGlvbigkZXZlbnQsIGl0ZW0sIGluZGV4LCBvcHRpb25EaXZSZWYsIGZpcnN0LCBsYXN0KVwiXG4gICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIm1vZGFsV2lkdGhcIlxuICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICAgIFtpZF09XCInc2VsZWN0LW9wdGlvbi0nICsgaW5kZXhcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgI29wdGlvbkRpdlJlZlxuICAgICAgICA+XG4gICAgICAgICAgQGlmICh0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW0sIGNsZWFyIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAobXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmluY2x1ZGVzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPjwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChiaW5kSWNvbikge1xuICAgICAgICAgICAgICA8cHJ5LWljb24gW2ljb25TdmddPVwiaXRlbVtiaW5kSWNvbl1cIiBbd2lkdGhdPVwiaWNvblNpemVbMF1cIiBbaGVpZ2h0XT1cImljb25TaXplWzFdXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoYmluZExhYmVsID8gaXRlbT8uW2JpbmRMYWJlbF0gOiBpdGVtOyBhcyB2YWx1ZSkge1xuICAgICAgICAgICAgICB7eyAoaTE4blByZWZpeCA/IGkxOG5QcmVmaXggOiAnJykgKyB2YWx1ZSB8IGkxOG46IHsgd2FybjogZmFsc2UgfSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbXB0eSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhLXByeS1zZWxlY3RfX29wdGlvbnNfX29wdGlvbiAtaGludFwiIFtzdHlsZS53aWR0aC5weF09XCJtb2RhbFdpZHRoXCI+XG4gICAgICAgICAgPHA+e3sgJ0Bwcnkuc2VsZWN0LmVtcHR5JyB8IGkxOG4gfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|