ng-prime-tools 1.0.25 → 1.0.26

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/README.md CHANGED
@@ -636,6 +636,10 @@ export class FormBuilderTesterComponent implements OnInit {
636
636
 
637
637
  ## Changelog
638
638
 
639
+ ### Version 1.0.26 - Release Date: 11/03/2025
640
+
641
+ - fixing pt-dialog with ameliorations
642
+
639
643
  ### Version 1.0.25 - Release Date: 06/03/2025
640
644
 
641
645
  - adding pt-chart-comparison
@@ -5,4 +5,5 @@ export * from './form-input-type.enum';
5
5
  export * from './button-color.enum';
6
6
  export * from './input-validation.enum';
7
7
  export * from './badge-type.enum';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvZW51bXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBwcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL2VudW1zL3B1YmxpY19hcGkudHNcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWNyaXRlcmlhLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0taW5wdXQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vYnV0dG9uLWNvbG9yLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC12YWxpZGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9iYWRnZS10eXBlLmVudW0nO1xuIl19
8
+ export * from './severity.enum';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvZW51bXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHByb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvZW51bXMvcHVibGljX2FwaS50c1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtY3JpdGVyaWEtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1pbnB1dC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24tY29sb3IuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXZhbGlkYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL3NldmVyaXR5LmVudW0nO1xuIl19
@@ -0,0 +1,8 @@
1
+ export var SeverityEnum;
2
+ (function (SeverityEnum) {
3
+ SeverityEnum["WARNING"] = "warning";
4
+ SeverityEnum["SUCCESS"] = "success";
5
+ SeverityEnum["DANGER"] = "danger";
6
+ SeverityEnum["INFO"] = "info";
7
+ })(SeverityEnum || (SeverityEnum = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V2ZXJpdHkuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvZW51bXMvc2V2ZXJpdHkuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLG1DQUFtQixDQUFBO0lBQ25CLG1DQUFtQixDQUFBO0lBQ25CLGlDQUFpQixDQUFBO0lBQ2pCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsWUFBWSxLQUFaLFlBQVksUUFLdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZXZlcml0eUVudW0ge1xuICBXQVJOSU5HID0gJ3dhcm5pbmcnLFxuICBTVUNDRVNTID0gJ3N1Y2Nlc3MnLFxuICBEQU5HRVIgPSAnZGFuZ2VyJyxcbiAgSU5GTyA9ICdpbmZvJyxcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvYnV0dG9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJ1dHRvbk1vZGVsIHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGljb25Qb3M/OiAnbGVmdCcgfCAncmlnaHQnO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHN0eWxlQ2xhc3M/OiBzdHJpbmc7XG4gIGxvYWRpbmc/OiBib29sZWFuO1xuICB0eXBlPzogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCc7XG4gIHdpZHRoPzogc3RyaW5nO1xuICBoZWlnaHQ/OiBzdHJpbmc7XG4gIGZvbnRDb2xvcj86IHN0cmluZztcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBib3JkZXJDb2xvcj86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvYnV0dG9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXZlcml0eUVudW0gfSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uTW9kZWwge1xuICBsYWJlbD86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgaWNvblBvcz86ICdsZWZ0JyB8ICdyaWdodCc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgc3R5bGVDbGFzcz86IHN0cmluZztcbiAgbG9hZGluZz86IGJvb2xlYW47XG4gIHR5cGU/OiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIGhlaWdodD86IHN0cmluZztcbiAgZm9udENvbG9yPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBzZXZlcml0eT86IFNldmVyaXR5RW51bTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL2RpYWxvZy1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNldmVyaXR5RW51bSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IEJ1dHRvbk1vZGVsIH0gZnJvbSAnLi9idXR0b24ubW9kZWwnO1xuaW1wb3J0IHsgVGl0bGVTdHlsZSB9IGZyb20gJy4vdGl0bGUtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgVG9hc3RNZXNzYWdlIH0gZnJvbSAnLi90b2FzdC1tZXNzYWdlLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb25maWcge1xuICBoZWFkZXI/OiBzdHJpbmcgfCBUaXRsZVN0eWxlO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIGhlaWdodD86IHN0cmluZztcbiAgY29udGVudD86IHN0cmluZyB8IFRpdGxlU3R5bGU7XG4gIGNsb3NlT25Fc2NhcGU/OiBib29sZWFuO1xuICBjb25maXJtQnV0dG9uQ29uZmlnPzogQnV0dG9uTW9kZWw7XG4gIGNhbmNlbEJ1dHRvbkNvbmZpZz86IEJ1dHRvbk1vZGVsO1xuICB0b2FzdE9uQ29uZmlybT86IFRvYXN0TWVzc2FnZTtcbiAgdG9hc3RPbkNhbmNlbD86IFRvYXN0TWVzc2FnZTtcbiAgZGlhbG9nU3R5bGU/OiBTZXZlcml0eUVudW07XG59XG4iXX0=
@@ -43,7 +43,8 @@ export * from './login-model';
43
43
  // Button
44
44
  export * from './button.model';
45
45
  // Dialog
46
- export * from './dialog.model';
46
+ export * from './dialog-config.model';
47
+ export * from './toast-message.model';
47
48
  // Generic
48
49
  export * from './icon-style.model';
49
50
  export * from './title-style.model';
@@ -52,4 +53,4 @@ export * from './image-style.model';
52
53
  export * from './badge.model';
53
54
  export * from './pattern.model';
54
55
  export * from './footer.model';
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsd0JBQXdCO0FBQ3hCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qyx1QkFBdUI7QUFDdkIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLDRCQUE0QjtBQUM1QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxRQUFRO0FBQ1IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsT0FBTztBQUNQLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsT0FBTztBQUNQLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsZ0JBQWdCO0FBQ2hCLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsU0FBUztBQUNULGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYztBQUNkLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsUUFBUTtBQUNSLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUM7QUFFOUIsU0FBUztBQUNULGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsU0FBUztBQUNULGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsVUFBVTtBQUNWLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWR2YW5jZWQgdGFibGVcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtY29sdW1uLm1vZGVsJztcblxuLy8gTXVsdGkgc2VhcmNoIGNyaXRlcmlhXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1jcml0ZXJpYS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1vcHRpb24ubW9kZWwnO1xuXG4vLyBGb3JtIGlucHV0cyBhbmQgYnRuc1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWJ1dHRvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLWdyb3VwLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1jaGVjay1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZGF0ZS1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZHJvcC1kb3duLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1tdWx0aS1zZWxlY3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLW51bWJlci1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tc3dpdGNoLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS10ZXh0LWFyZWEtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXRleHQtZmllbGQubW9kZWwnO1xuXG4vLyBNZXRyaWMgZGF0YSBmb3IgZGFzaGJvYXJkXG5leHBvcnQgKiBmcm9tICcuL21ldHJpYy1jYXJkLWRhdGEubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRyaWMtcGFuZWwtZGF0YS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21ldHJpYy1pbmRpY2F0ZXVyLWRhdGEubW9kZWwnO1xuXG4vLyBDaGFydFxuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9heGlzLWNoYXJ0LWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2F4aXMtY2hhcnQtZGF0YS5tb2RlbCc7XG5cbi8vIENhcmRcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1jb25maWcubW9kZWwnO1xuXG4vLyBNZW51XG5leHBvcnQgKiBmcm9tICcuL21lbnUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LWl0ZW0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL25hdi1iYXItbWVudS1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWRlLW1lbnUtYmFyLWNvbmZpZy5tb2RlbCc7XG5cbi8vIFBhZ2UgU2tlbGV0b25cbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1za2VsZXRvbi1jb25maWcubW9kZWwnO1xuXG4vLyBGb290ZXJcbmV4cG9ydCAqIGZyb20gJy4vZm9vdGVyLWNvbmZpZy5tb2RlbCc7XG5cbi8vIEJyZWFkIENydW1iXG5leHBvcnQgKiBmcm9tICcuL2JyZWFkLWNydW1iLWNvbmZpZy5tb2RlbCc7XG5cbi8vIGxvZ2luXG5leHBvcnQgKiBmcm9tICcuL2xvZ2luLXBhZ2UtY29uZmlnLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbG9naW4tbW9kZWwnO1xuXG4vLyBCdXR0b25cbmV4cG9ydCAqIGZyb20gJy4vYnV0dG9uLm1vZGVsJztcblxuLy8gRGlhbG9nXG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy5tb2RlbCc7XG5cbi8vIEdlbmVyaWNcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi1zdHlsZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RpdGxlLXN0eWxlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1zdHlsZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlLXN0eWxlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYmFkZ2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXR0ZXJuLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9vdGVyLm1vZGVsJztcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsd0JBQXdCO0FBQ3hCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qyx1QkFBdUI7QUFDdkIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLDRCQUE0QjtBQUM1QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxRQUFRO0FBQ1IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsT0FBTztBQUNQLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsT0FBTztBQUNQLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsZ0JBQWdCO0FBQ2hCLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsU0FBUztBQUNULGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYztBQUNkLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsUUFBUTtBQUNSLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUM7QUFFOUIsU0FBUztBQUNULGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsU0FBUztBQUNULGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxVQUFVO0FBQ1YsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZHZhbmNlZCB0YWJsZVxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jb2x1bW4ubW9kZWwnO1xuXG4vLyBNdWx0aSBzZWFyY2ggY3JpdGVyaWFcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWNyaXRlcmlhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLW9wdGlvbi5tb2RlbCc7XG5cbi8vIEZvcm0gaW5wdXRzIGFuZCBidG5zXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tYnV0dG9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtZ3JvdXAubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWNoZWNrLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1kYXRlLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1kcm9wLWRvd24tZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLW11bHRpLXNlbGVjdC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tbnVtYmVyLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1zd2l0Y2gtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXRleHQtYXJlYS1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tdGV4dC1maWVsZC5tb2RlbCc7XG5cbi8vIE1ldHJpYyBkYXRhIGZvciBkYXNoYm9hcmRcbmV4cG9ydCAqIGZyb20gJy4vbWV0cmljLWNhcmQtZGF0YS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21ldHJpYy1wYW5lbC1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbWV0cmljLWluZGljYXRldXItZGF0YS5tb2RlbCc7XG5cbi8vIENoYXJ0XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2F4aXMtY2hhcnQtY29uZmlnLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYXhpcy1jaGFydC1kYXRhLm1vZGVsJztcblxuLy8gQ2FyZFxuZXhwb3J0ICogZnJvbSAnLi9jYXJkLWNvbmZpZy5tb2RlbCc7XG5cbi8vIE1lbnVcbmV4cG9ydCAqIGZyb20gJy4vbWVudS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtaXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtY29uZmlnLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2LWJhci1tZW51LWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NpZGUtbWVudS1iYXItY29uZmlnLm1vZGVsJztcblxuLy8gUGFnZSBTa2VsZXRvblxuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXNrZWxldG9uLWNvbmZpZy5tb2RlbCc7XG5cbi8vIEZvb3RlclxuZXhwb3J0ICogZnJvbSAnLi9mb290ZXItY29uZmlnLm1vZGVsJztcblxuLy8gQnJlYWQgQ3J1bWJcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWQtY3J1bWItY29uZmlnLm1vZGVsJztcblxuLy8gbG9naW5cbmV4cG9ydCAqIGZyb20gJy4vbG9naW4tcGFnZS1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dpbi1tb2RlbCc7XG5cbi8vIEJ1dHRvblxuZXhwb3J0ICogZnJvbSAnLi9idXR0b24ubW9kZWwnO1xuXG4vLyBEaWFsb2dcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9nLWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RvYXN0LW1lc3NhZ2UubW9kZWwnO1xuXG4vLyBHZW5lcmljXG5leHBvcnQgKiBmcm9tICcuL2ljb24tc3R5bGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90aXRsZS1zdHlsZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtc3R5bGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS1zdHlsZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0dGVybi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvb3Rlci5tb2RlbCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3RvYXN0LW1lc3NhZ2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVG9hc3RNZXNzYWdlIHtcbiAgc2V2ZXJpdHk6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcic7IC8vIERlZmluZXMgdGhlIHR5cGUgb2YgbWVzc2FnZVxuICBzdW1tYXJ5OiBzdHJpbmc7IC8vIFNob3J0IHN1bW1hcnkgZGlzcGxheWVkIGluIHRoZSB0b2FzdCBoZWFkZXJcbiAgZGV0YWlsOiBzdHJpbmc7IC8vIERldGFpbGVkIG1lc3NhZ2UgY29udGVudFxuICBsaWZlPzogbnVtYmVyOyAvLyBPcHRpb25hbDogVGltZSBpbiBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0b2FzdCBkaXNhcHBlYXJzIChkZWZhdWx0OiAzMDAwKVxufVxuIl19
@@ -1,66 +1,115 @@
1
1
  import { Component, Input, Output, EventEmitter, } from '@angular/core';
2
2
  import { ConfirmationService, ConfirmEventType, MessageService, } from 'primeng/api';
3
+ import { SeverityEnum } from '../enums';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "primeng/api";
5
- import * as i2 from "primeng/toast";
6
- import * as i3 from "primeng/confirmdialog";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "primeng/toast";
8
+ import * as i4 from "primeng/confirmdialog";
9
+ // Default Styles for Different Dialog Types
10
+ const DIALOG_STYLES = {
11
+ [SeverityEnum.WARNING]: {
12
+ header: { text: 'Warning', color: '#d98300' },
13
+ content: { text: 'This is a warning message!', color: '#d98300' },
14
+ confirmButtonConfig: { backgroundColor: '#d98300', fontColor: '#fff' },
15
+ cancelButtonConfig: { backgroundColor: '#6c757d', fontColor: '#fff' },
16
+ },
17
+ [SeverityEnum.SUCCESS]: {
18
+ header: { text: 'Success', color: '#28a745' },
19
+ content: { text: 'Operation was successful!', color: '#28a745' },
20
+ confirmButtonConfig: { backgroundColor: '#28a745', fontColor: '#fff' },
21
+ cancelButtonConfig: { backgroundColor: '#6c757d', fontColor: '#fff' },
22
+ },
23
+ [SeverityEnum.DANGER]: {
24
+ header: { text: 'Error', color: '#dc3545' },
25
+ content: { text: 'An error occurred!', color: '#dc3545' },
26
+ confirmButtonConfig: { backgroundColor: '#dc3545', fontColor: '#fff' },
27
+ cancelButtonConfig: { backgroundColor: '#6c757d', fontColor: '#fff' },
28
+ },
29
+ [SeverityEnum.INFO]: {
30
+ header: { text: 'Information', color: '#007bff' },
31
+ content: { text: 'Here is some important information.', color: '#007bff' },
32
+ confirmButtonConfig: { backgroundColor: '#007bff', fontColor: '#fff' },
33
+ cancelButtonConfig: { backgroundColor: '#6c757d', fontColor: '#fff' },
34
+ },
35
+ };
36
+ // Centralized Default Values
37
+ const DEFAULT_DIALOG_CONFIG = {
38
+ header: { text: 'Confirmation' },
39
+ visible: false,
40
+ width: '400px',
41
+ height: 'auto',
42
+ content: 'Do you want to proceed?',
43
+ confirmButtonConfig: {
44
+ label: 'Confirm',
45
+ fontColor: '#fff',
46
+ backgroundColor: '#007bff',
47
+ },
48
+ cancelButtonConfig: {
49
+ label: 'Cancel',
50
+ fontColor: '#fff',
51
+ backgroundColor: '#6c757d',
52
+ },
53
+ dialogStyle: SeverityEnum.INFO,
54
+ };
7
55
  export class PTDialogComponent {
8
56
  constructor(confirmationService, messageService, renderer, el) {
9
57
  this.confirmationService = confirmationService;
10
58
  this.messageService = messageService;
11
59
  this.renderer = renderer;
12
60
  this.el = el;
13
- this.dialogModel = {
14
- header: { text: 'Confirmation' },
15
- visible: false,
16
- width: '400px',
17
- height: 'auto',
18
- content: 'Do you want to proceed?',
19
- confirmButtonConfig: {
20
- label: 'Confirm',
21
- fontColor: '#fff',
22
- backgroundColor: '#007bff',
23
- },
24
- cancelButtonConfig: {
25
- label: 'Cancel',
26
- fontColor: '#fff',
27
- backgroundColor: '#6c757d',
28
- },
29
- };
61
+ this.dialogConfig = { ...DEFAULT_DIALOG_CONFIG };
30
62
  this.confirm = new EventEmitter();
31
63
  this.cancel = new EventEmitter();
32
64
  }
33
65
  ngOnChanges(changes) {
34
- if (changes['dialogModel'] && this.dialogModel.visible) {
35
- this.showDialog();
66
+ if (changes['dialogConfig']) {
67
+ if (changes['dialogConfig'].currentValue?.dialogStyle !==
68
+ changes['dialogConfig'].previousValue?.dialogStyle) {
69
+ this.applyDialogStyle();
70
+ }
71
+ if (this.dialogConfig.visible) {
72
+ this.showDialog();
73
+ }
36
74
  }
37
75
  }
76
+ applyDialogStyle() {
77
+ const dialogStyle = this.dialogConfig.dialogStyle || SeverityEnum.INFO; // ✅ Ensure dialogStyle is always defined
78
+ const styleConfig = DIALOG_STYLES[dialogStyle] || {}; // ✅ Get the styles for the selected dialogStyle
79
+ this.dialogConfig = {
80
+ ...DEFAULT_DIALOG_CONFIG, // ✅ Start with the default values
81
+ ...styleConfig, // ✅ Override with the selected dialogStyle values
82
+ confirmButtonConfig: {
83
+ ...DEFAULT_DIALOG_CONFIG.confirmButtonConfig, // ✅ Start with default confirm button styles
84
+ ...styleConfig.confirmButtonConfig, // ✅ Override with the confirm button styles for the selected dialogStyle
85
+ },
86
+ cancelButtonConfig: {
87
+ ...DEFAULT_DIALOG_CONFIG.cancelButtonConfig, // ✅ Start with default cancel button styles
88
+ ...styleConfig.cancelButtonConfig, // ✅ Override with the cancel button styles for the selected dialogStyle
89
+ },
90
+ };
91
+ }
38
92
  showDialog() {
39
93
  this.confirmationService.confirm({
40
- header: this.dialogModel.header?.text || 'Confirmation',
41
- message: this.dialogModel.content || 'Are you sure?',
42
- acceptButtonStyleClass: this.getButtonStyle(this.dialogModel.confirmButtonConfig),
43
- rejectButtonStyleClass: this.getButtonStyle(this.dialogModel.cancelButtonConfig),
44
- acceptIcon: this.dialogModel.confirmButtonConfig?.icon || 'pi pi-check',
45
- rejectIcon: this.dialogModel.cancelButtonConfig?.icon || 'pi pi-times',
94
+ header: this.getDialogHeaderText(),
95
+ message: this.getDialogContentText(),
96
+ acceptLabel: this.dialogConfig.confirmButtonConfig?.label || 'Confirm',
97
+ rejectLabel: this.dialogConfig.cancelButtonConfig?.label || 'Cancel',
98
+ acceptButtonStyleClass: this.getButtonStyle(this.dialogConfig.confirmButtonConfig, true),
99
+ rejectButtonStyleClass: this.getButtonStyle(this.dialogConfig.cancelButtonConfig, false),
100
+ acceptIcon: this.dialogConfig.confirmButtonConfig?.icon || 'pi pi-check',
101
+ rejectIcon: this.dialogConfig.cancelButtonConfig?.icon || 'pi pi-times',
46
102
  accept: () => {
47
103
  this.confirm.emit();
48
- this.messageService.add({
49
- severity: 'info',
50
- summary: 'Confirmed',
51
- detail: 'Action confirmed',
52
- life: 3000,
53
- });
104
+ if (this.dialogConfig.toastOnConfirm) {
105
+ this.showToast(this.dialogConfig.toastOnConfirm);
106
+ }
54
107
  },
55
108
  reject: (type) => {
56
109
  this.cancel.emit();
57
- if (type === ConfirmEventType.REJECT) {
58
- this.messageService.add({
59
- severity: 'error',
60
- summary: 'Rejected',
61
- detail: 'Action cancelled',
62
- life: 3000,
63
- });
110
+ if (type === ConfirmEventType.REJECT &&
111
+ this.dialogConfig.toastOnCancel) {
112
+ this.showToast(this.dialogConfig.toastOnCancel);
64
113
  }
65
114
  },
66
115
  });
@@ -68,25 +117,147 @@ export class PTDialogComponent {
68
117
  setTimeout(() => {
69
118
  const dialogElement = this.el.nativeElement.querySelector('.p-dialog');
70
119
  if (dialogElement) {
71
- this.renderer.setStyle(dialogElement, 'width', this.dialogModel.width || '400px');
72
- this.renderer.setStyle(dialogElement, 'height', this.dialogModel.height || 'auto');
120
+ this.renderer.setStyle(dialogElement, 'width', this.dialogConfig.width || '400px');
121
+ this.renderer.setStyle(dialogElement, 'height', this.dialogConfig.height || 'auto');
73
122
  }
74
123
  }, 0);
75
124
  }
76
- getButtonStyle(buttonConfig) {
77
- return buttonConfig?.styleClass || 'p-button-sm'; // Default to small button style
125
+ showToast(toast) {
126
+ if (toast) {
127
+ this.messageService.add({
128
+ severity: toast.severity,
129
+ summary: toast.summary,
130
+ detail: toast.detail,
131
+ life: toast.life || 3000,
132
+ });
133
+ }
134
+ }
135
+ getButtonStyle(buttonConfig, isConfirm = false) {
136
+ let styleClass = buttonConfig?.styleClass ?? 'p-button-sm'; // ✅ Default button size
137
+ // ✅ Apply width dynamically if provided, otherwise default to 100%
138
+ const buttonWidth = buttonConfig?.width ?? '100%';
139
+ // ✅ Set default severity: SUCCESS for confirm, SECONDARY for cancel
140
+ const defaultSeverity = isConfirm ? SeverityEnum.DANGER : SeverityEnum.INFO;
141
+ const severity = buttonConfig?.severity ?? defaultSeverity;
142
+ // ✅ Apply severity-based styles only if no custom background color is set
143
+ if (!buttonConfig?.backgroundColor) {
144
+ switch (severity) {
145
+ case SeverityEnum.WARNING:
146
+ styleClass += ' p-button-warning';
147
+ break;
148
+ case SeverityEnum.DANGER:
149
+ styleClass += ' p-button-danger';
150
+ break;
151
+ case SeverityEnum.SUCCESS:
152
+ styleClass += ' p-button-success';
153
+ break;
154
+ case SeverityEnum.INFO:
155
+ default:
156
+ styleClass += ' p-button-secondary';
157
+ break;
158
+ }
159
+ }
160
+ return `${styleClass.trim()} width-${buttonWidth.replace('%', '')}`;
161
+ }
162
+ getDialogHeaderText() {
163
+ const header = this.dialogConfig.header;
164
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
165
+ const styleHeader = DIALOG_STYLES[dialogStyle]?.header;
166
+ return typeof header === 'object' && header !== null && 'text' in header
167
+ ? header.text
168
+ : typeof header === 'string'
169
+ ? header
170
+ : typeof styleHeader === 'object' &&
171
+ styleHeader !== null &&
172
+ 'text' in styleHeader
173
+ ? styleHeader.text
174
+ : 'Confirmation'; // ✅ Default value
175
+ }
176
+ getDialogHeaderStyle() {
177
+ const header = this.dialogConfig.header;
178
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO; // ✅ Ensure dialogStyle is always defined
179
+ const styleHeader = DIALOG_STYLES[dialogStyle]?.header; // ✅ Store the style header separately
180
+ return typeof header === 'object' && header !== null
181
+ ? {
182
+ color: header.color ||
183
+ (typeof styleHeader === 'object' ? styleHeader?.color : '#333'),
184
+ fontSize: header.fontSize || '25px',
185
+ }
186
+ : {
187
+ color: typeof styleHeader === 'object' ? styleHeader?.color : '#333',
188
+ fontSize: '25px',
189
+ };
190
+ }
191
+ getDialogIconClass() {
192
+ const header = this.dialogConfig.header;
193
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO; // ✅ Ensure dialogStyle is always defined
194
+ const styleHeader = DIALOG_STYLES[dialogStyle]?.header; // ✅ Store the style header separately
195
+ // ✅ Ensure header.icon exists and is an object before accessing .code
196
+ const icon = typeof header === 'object' && header !== null && 'icon' in header
197
+ ? header.icon
198
+ : typeof styleHeader === 'object' && 'icon' in styleHeader
199
+ ? styleHeader.icon
200
+ : undefined;
201
+ // ✅ If `icon` is an object, extract `.code`, otherwise return as string or default value
202
+ return typeof icon === 'string'
203
+ ? icon
204
+ : icon?.code || 'pi pi-exclamation-circle';
205
+ }
206
+ getDialogIconStyle() {
207
+ const header = this.dialogConfig.header;
208
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
209
+ const styleHeader = DIALOG_STYLES[dialogStyle]?.header;
210
+ const icon = typeof header === 'object' && header !== null && 'icon' in header
211
+ ? header.icon
212
+ : undefined;
213
+ return {
214
+ color: icon?.color ||
215
+ (typeof styleHeader === 'object' ? styleHeader?.color : '#f39c12'),
216
+ fontSize: icon?.fontSize || '1.5rem',
217
+ backgroundColor: icon?.backgroundColor || 'transparent',
218
+ borderRadius: icon?.shape === 'circular' ? '50%' : '4px',
219
+ padding: '5px',
220
+ };
221
+ }
222
+ getDialogContentText() {
223
+ const content = this.dialogConfig.content;
224
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
225
+ const styleContent = DIALOG_STYLES[dialogStyle]?.content;
226
+ return typeof content === 'string'
227
+ ? content
228
+ : content?.text ||
229
+ (typeof styleContent === 'object'
230
+ ? styleContent?.text
231
+ : 'Are you sure?');
232
+ }
233
+ getDialogContentStyle() {
234
+ const content = this.dialogConfig.content;
235
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
236
+ const styleContent = DIALOG_STYLES[dialogStyle]?.content;
237
+ return typeof content === 'object' && content !== null
238
+ ? {
239
+ color: content.color ||
240
+ (typeof styleContent === 'object' ? styleContent?.color : '#333'),
241
+ fontSize: content.fontSize || '20px',
242
+ textAlign: content.position || 'left',
243
+ }
244
+ : {
245
+ color: typeof styleContent === 'object' ? styleContent?.color : '#333',
246
+ fontSize: '20px',
247
+ textAlign: 'left',
248
+ };
78
249
  }
79
250
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, deps: [{ token: i1.ConfirmationService }, { token: i1.MessageService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { dialogModel: "dialogModel" }, outputs: { confirm: "confirm", cancel: "cancel" }, providers: [ConfirmationService, MessageService], usesOnChanges: true, ngImport: i0, template: "<div>\n <p-toast></p-toast>\n <p-confirmDialog>\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\"\n >\n <i [class]=\"dialogModel.header?.icon || 'pi pi-exclamation-circle'\"></i>\n <p>{{ message.message }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i3.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }] }); }
251
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { dialogConfig: "dialogConfig" }, outputs: { confirm: "confirm", cancel: "cancel" }, providers: [ConfirmationService, MessageService], usesOnChanges: true, ngImport: i0, template: "<div class=\"pt-dialog\">\n <p-toast></p-toast>\n <p-confirmDialog>\n <!-- Header with Icon and Title aligned horizontally -->\n <ng-template pTemplate=\"header\">\n <div class=\"popup-header bordered-section\">\n <i [class]=\"getDialogIconClass()\" [ngStyle]=\"getDialogIconStyle()\"></i>\n <span class=\"popup-title\" [ngStyle]=\"getDialogHeaderStyle()\">\n {{ getDialogHeaderText() }}\n </span>\n </div>\n </ng-template>\n\n <!-- Message Content with Divider -->\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"popup-content bordered-section\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n <p>{{ getDialogContentText() }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .pt-dialog .p-dialog .p-dialog-header{padding-bottom:0}::ng-deep .pt-dialog .p-dialog .p-dialog-content{padding:0}::ng-deep .pt-dialog .full-width-button{width:100%;display:block;text-align:center}::ng-deep .pt-dialog .p-dialog-footer{display:flex;justify-content:center;gap:10px;width:100%;padding:10px}::ng-deep .pt-dialog .p-confirm-dialog-accept,::ng-deep .pt-dialog .p-confirm-dialog-reject{flex:1;max-width:50%;text-align:center;display:flex;justify-content:center;align-items:center;height:40px}::ng-deep .pt-dialog .p-confirm-dialog-accept i,::ng-deep .pt-dialog .p-confirm-dialog-reject i{margin-right:5px}::ng-deep .pt-dialog .p-confirm-dialog-accept .p-button-label,::ng-deep .pt-dialog .p-confirm-dialog-reject .p-button-label{font-weight:700;flex-grow:1;text-align:center}.pt-dialog .popup-header{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;padding-bottom:10px;width:100%}.pt-dialog .popup-title{color:#333;font-size:1.2rem}.pt-dialog .bordered-section{width:100%;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:10px;margin-bottom:10px}.pt-dialog .popup-content{display:flex;justify-content:center;text-align:center;padding:15px;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i4.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }] }); }
81
252
  }
82
253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, decorators: [{
83
254
  type: Component,
84
- args: [{ selector: 'pt-dialog', providers: [ConfirmationService, MessageService], template: "<div>\n <p-toast></p-toast>\n <p-confirmDialog>\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\"\n >\n <i [class]=\"dialogModel.header?.icon || 'pi pi-exclamation-circle'\"></i>\n <p>{{ message.message }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n" }]
85
- }], ctorParameters: () => [{ type: i1.ConfirmationService }, { type: i1.MessageService }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { dialogModel: [{
255
+ args: [{ selector: 'pt-dialog', providers: [ConfirmationService, MessageService], template: "<div class=\"pt-dialog\">\n <p-toast></p-toast>\n <p-confirmDialog>\n <!-- Header with Icon and Title aligned horizontally -->\n <ng-template pTemplate=\"header\">\n <div class=\"popup-header bordered-section\">\n <i [class]=\"getDialogIconClass()\" [ngStyle]=\"getDialogIconStyle()\"></i>\n <span class=\"popup-title\" [ngStyle]=\"getDialogHeaderStyle()\">\n {{ getDialogHeaderText() }}\n </span>\n </div>\n </ng-template>\n\n <!-- Message Content with Divider -->\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"popup-content bordered-section\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n <p>{{ getDialogContentText() }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .pt-dialog .p-dialog .p-dialog-header{padding-bottom:0}::ng-deep .pt-dialog .p-dialog .p-dialog-content{padding:0}::ng-deep .pt-dialog .full-width-button{width:100%;display:block;text-align:center}::ng-deep .pt-dialog .p-dialog-footer{display:flex;justify-content:center;gap:10px;width:100%;padding:10px}::ng-deep .pt-dialog .p-confirm-dialog-accept,::ng-deep .pt-dialog .p-confirm-dialog-reject{flex:1;max-width:50%;text-align:center;display:flex;justify-content:center;align-items:center;height:40px}::ng-deep .pt-dialog .p-confirm-dialog-accept i,::ng-deep .pt-dialog .p-confirm-dialog-reject i{margin-right:5px}::ng-deep .pt-dialog .p-confirm-dialog-accept .p-button-label,::ng-deep .pt-dialog .p-confirm-dialog-reject .p-button-label{font-weight:700;flex-grow:1;text-align:center}.pt-dialog .popup-header{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;padding-bottom:10px;width:100%}.pt-dialog .popup-title{color:#333;font-size:1.2rem}.pt-dialog .bordered-section{width:100%;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:10px;margin-bottom:10px}.pt-dialog .popup-content{display:flex;justify-content:center;text-align:center;padding:15px;width:100%}\n"] }]
256
+ }], ctorParameters: () => [{ type: i1.ConfirmationService }, { type: i1.MessageService }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { dialogConfig: [{
86
257
  type: Input
87
258
  }], confirm: [{
88
259
  type: Output
89
260
  }], cancel: [{
90
261
  type: Output
91
262
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZGlhbG9nL3B0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWRpYWxvZy9wdC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksR0FLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7Ozs7O0FBVXJCLE1BQU0sT0FBTyxpQkFBaUI7SUFzQjVCLFlBQ1UsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLFFBQW1CLEVBQ25CLEVBQWM7UUFIZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUF6QmYsZ0JBQVcsR0FBZ0I7WUFDbEMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNoQyxPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSxPQUFPO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLG1CQUFtQixFQUFFO2dCQUNuQixLQUFLLEVBQUUsU0FBUztnQkFDaEIsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLGVBQWUsRUFBRSxTQUFTO2FBQzNCO1lBQ0Qsa0JBQWtCLEVBQUU7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFNBQVMsRUFBRSxNQUFNO2dCQUNqQixlQUFlLEVBQUUs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LENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO3NLQUd2QyxXQUFXO3NCQUFuQixLQUFLO2dCQWtCSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpcm1hdGlvblNlcnZpY2UsXG4gIENvbmZpcm1FdmVudFR5cGUsXG4gIE1lc3NhZ2VTZXJ2aWNlLFxufSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dNb2RlbCB9IGZyb20gJy4uL21vZGVscy9kaWFsb2cubW9kZWwnO1xuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYnV0dG9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3B0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3B0LWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW0NvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgUFREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkaWFsb2dNb2RlbDogRGlhbG9nTW9kZWwgPSB7XG4gICAgaGVhZGVyOiB7IHRleHQ6ICdDb25maXJtYXRpb24nIH0sXG4gICAgdmlzaWJsZTogZmFsc2UsXG4gICAgd2lkdGg6ICc0MDBweCcsXG4gICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgY29udGVudDogJ0RvIHlvdSB3YW50IHRvIHByb2NlZWQ/JyxcbiAgICBjb25maXJtQnV0dG9uQ29uZmlnOiB7XG4gICAgICBsYWJlbDogJ0NvbmZpcm0nLFxuICAgICAgZm9udENvbG9yOiAnI2ZmZicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDA3YmZmJyxcbiAgICB9LFxuICAgIGNhbmNlbEJ1dHRvbkNvbmZpZzoge1xuICAgICAgbGFiZWw6ICdDYW5jZWwnLFxuICAgICAgZm9udENvbG9yOiAnI2ZmZicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjNmM3NTdkJyxcbiAgICB9LFxuICB9O1xuXG4gIEBPdXRwdXQoKSBjb25maXJtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGlhbG9nTW9kZWwnXSAmJiB0aGlzLmRpYWxvZ01vZGVsLnZpc2libGUpIHtcbiAgICAgIHRoaXMuc2hvd0RpYWxvZygpO1xuICAgIH1cbiAgfVxuXG4gIHNob3dEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgaGVhZGVyOiB0aGlzLmRpYWxvZ01vZGVsLmhlYWRlcj8udGV4dCB8fCAnQ29uZmlybWF0aW9uJyxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuZGlhbG9nTW9kZWwuY29udGVudCB8fCAnQXJlIHlvdSBzdXJlPycsXG4gICAgICBhY2NlcHRCdXR0b25TdHlsZUNsYXNzOiB0aGlzLmdldEJ1dHRvblN0eWxlKFxuICAgICAgICB0aGlzLmRpYWxvZ01vZGVsLmNvbmZpcm1CdXR0b25Db25maWdcbiAgICAgICksXG4gICAgICByZWplY3RCdXR0b25TdHlsZUNsYXNzOiB0aGlzLmdldEJ1dHRvblN0eWxlKFxuICAgICAgICB0aGlzLmRpYWxvZ01vZGVsLmNhbmNlbEJ1dHRvbkNvbmZpZ1xuICAgICAgKSxcbiAgICAgIGFjY2VwdEljb246IHRoaXMuZGlhbG9nTW9kZWwuY29uZmlybUJ1dHRvbkNvbmZpZz8uaWNvbiB8fCAncGkgcGktY2hlY2snLFxuICAgICAgcmVqZWN0SWNvbjogdGhpcy5kaWFsb2dNb2RlbC5jYW5jZWxCdXR0b25Db25maWc/Lmljb24gfHwgJ3BpIHBpLXRpbWVzJyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCgpO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdpbmZvJyxcbiAgICAgICAgICBzdW1tYXJ5OiAnQ29uZmlybWVkJyxcbiAgICAgICAgICBkZXRhaWw6ICdBY3Rpb24gY29uZmlybWVkJyxcbiAgICAgICAgICBsaWZlOiAzMDAwLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICh0eXBlOiBDb25maXJtRXZlbnRUeXBlKSA9PiB7XG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICAgICAgaWYgKHR5cGUgPT09IENvbmZpcm1FdmVudFR5cGUuUkVKRUNUKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgICBzdW1tYXJ5OiAnUmVqZWN0ZWQnLFxuICAgICAgICAgICAgZGV0YWlsOiAnQWN0aW9uIGNhbmNlbGxlZCcsXG4gICAgICAgICAgICBsaWZlOiAzMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVXNlIHJlbmRlcmVyIHRvIGFwcGx5IGR5bmFtaWMgc3R5bGVzXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBkaWFsb2dFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWRpYWxvZycpO1xuICAgICAgaWYgKGRpYWxvZ0VsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICBkaWFsb2dFbGVtZW50LFxuICAgICAgICAgICd3aWR0aCcsXG4gICAgICAgICAgdGhpcy5kaWFsb2dNb2RlbC53aWR0aCB8fCAnNDAwcHgnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgZGlhbG9nRWxlbWVudCxcbiAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICB0aGlzLmRpYWxvZ01vZGVsLmhlaWdodCB8fCAnYXV0bydcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnV0dG9uU3R5bGUoYnV0dG9uQ29uZmlnPzogQnV0dG9uTW9kZWwpOiBzdHJpbmcge1xuICAgIHJldHVybiBidXR0b25Db25maWc/LnN0eWxlQ2xhc3MgfHwgJ3AtYnV0dG9uLXNtJzsgLy8gRGVmYXVsdCB0byBzbWFsbCBidXR0b24gc3R5bGVcbiAgfVxufVxuIiwiPGRpdj5cbiAgPHAtdG9hc3Q+PC9wLXRvYXN0PlxuICA8cC1jb25maXJtRGlhbG9nPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCIgbGV0LW1lc3NhZ2U+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsIGdhcC0zIGJvcmRlci1ib3R0b20tMSBzdXJmYWNlLWJvcmRlclwiXG4gICAgICA+XG4gICAgICAgIDxpIFtjbGFzc109XCJkaWFsb2dNb2RlbC5oZWFkZXI/Lmljb24gfHwgJ3BpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZSdcIj48L2k+XG4gICAgICAgIDxwPnt7IG1lc3NhZ2UubWVzc2FnZSB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1jb25maXJtRGlhbG9nPlxuPC9kaXY+XG4iXX0=
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZGlhbG9nL3B0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWRpYWxvZy9wdC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0FBRXhDLDRDQUE0QztBQUM1QyxNQUFNLGFBQWEsR0FBZ0Q7SUFDakUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQzdDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ2pFLG1CQUFtQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLGtCQUFrQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0tBQ3RFO0lBQ0QsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQzdDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ2hFLG1CQUFtQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLGtCQUFrQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0tBQ3RFO0lBQ0QsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQzNDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ3pELG1CQUFtQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLGtCQUFrQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0tBQ3RFO0lBQ0QsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ2pELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxxQ0FBcUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQzFFLG1CQUFtQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLGtCQUFrQixFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0tBQ3RFO0NBQ0YsQ0FBQztBQUVGLDZCQUE2QjtBQUM3QixNQUFNLHFCQUFxQixHQUFpQjtJQUMxQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO0lBQ2hDLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSx5QkFBeUI7SUFDbEMsbUJBQW1CLEVBQUU7UUFDbkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLE1BQU07UUFDakIsZUFBZSxFQUFFLFNBQVM7S0FDM0I7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixLQUFLLEVBQUUsUUFBUTtRQUNmLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0QsV0FBVyxFQUFFLFlBQVksQ0FBQyxJQUFJO0NBQy9CLENBQUM7QUFRRixNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQ1UsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLFFBQW1CLEVBQ25CLEVBQWM7UUFIZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFSZixpQkFBWSxHQUFpQixFQUFFLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztRQUN6RCxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakQsV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBT3ZELENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUNFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxZQUFZLEVBQUUsV0FBVztnQkFDakQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQ2xELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMseUNBQXlDO1FBQ2pILE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxnREFBZ0Q7UUFFdEcsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixHQUFHLHFCQUFxQixFQUFFLGtDQUFrQztZQUM1RCxHQUFHLFdBQVcsRUFBRSxrREFBa0Q7WUFDbEUsbUJBQW1CLEVBQUU7Z0JBQ25CLEdBQUcscUJBQXFCLENBQUMsbUJBQW1CLEVBQUUsNkNBQTZDO2dCQUMzRixHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSx5RUFBeUU7YUFDOUc7WUFDRCxrQkFBa0IsRUFBRTtnQkFDbEIsR0FBRyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRSw0Q0FBNEM7Z0JBQ3pGLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixFQUFFLHdFQUF3RTthQUM1RztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUNsQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3BDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEtBQUssSUFBSSxTQUFTO1lBQ3RFLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLEtBQUssSUFBSSxRQUFRO1lBQ3BFLHNCQUFzQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQ3JDLElBQUksQ0FDTDtZQUNELHNCQUFzQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQ3BDLEtBQUssQ0FDTjtZQUNELFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLElBQUksSUFBSSxhQUFhO1lBQ3hFLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLElBQUksSUFBSSxhQUFhO1lBQ3ZFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ25ELENBQUM7WUFDSCxDQUFDO1lBQ0QsTUFBTSxFQUFFLENBQUMsSUFBc0IsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNuQixJQUNFLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNO29CQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFDL0IsQ0FBQztvQkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ2xELENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsdUNBQXVDO1FBQ3ZDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkUsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLGFBQWEsRUFDYixPQUFPLEVBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksT0FBTyxDQUNuQyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixhQUFhLEVBQ2IsUUFBUSxFQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FDbkMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQW9CO1FBQ3BDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSTthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsWUFBMEIsRUFDMUIsWUFBcUIsS0FBSztRQUUxQixJQUFJLFVBQVUsR0FBRyxZQUFZLEVBQUUsVUFBVSxJQUFJLGFBQWEsQ0FBQyxDQUFDLHdCQUF3QjtRQUVwRixtRUFBbUU7UUFDbkUsTUFBTSxXQUFXLEdBQUcsWUFBWSxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUM7UUFFbEQsb0VBQW9FO1FBQ3BFLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztRQUM1RSxNQUFNLFFBQVEsR0FBRyxZQUFZLEVBQUUsUUFBUSxJQUFJLGVBQWUsQ0FBQztRQUUzRCwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsQ0FBQztZQUNuQyxRQUFRLFFBQVEsRUFBRSxDQUFDO2dCQUNqQixLQUFLLFlBQVksQ0FBQyxPQUFPO29CQUN2QixVQUFVLElBQUksbUJBQW1CLENBQUM7b0JBQ2xDLE1BQU07Z0JBQ1IsS0FBSyxZQUFZLENBQUMsTUFBTTtvQkFDdEIsVUFBVSxJQUFJLGtCQUFrQixDQUFDO29CQUNqQyxNQUFNO2dCQUNSLEtBQUssWUFBWSxDQUFDLE9BQU87b0JBQ3ZCLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQztvQkFDbEMsTUFBTTtnQkFDUixLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCO29CQUNFLFVBQVUsSUFBSSxxQkFBcUIsQ0FBQztvQkFDcEMsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBRXZELE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxJQUFJLE1BQU07WUFDdEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQ2IsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVE7Z0JBQzVCLENBQUMsQ0FBQyxNQUFNO2dCQUNSLENBQUMsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRO29CQUMvQixXQUFXLEtBQUssSUFBSTtvQkFDcEIsTUFBTSxJQUFJLFdBQVc7b0JBQ3ZCLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSTtvQkFDbEIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLGtCQUFrQjtJQUN4QyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyx5Q0FBeUM7UUFDakgsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLHNDQUFzQztRQUU5RixPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxNQUFNLEtBQUssSUFBSTtZQUNsRCxDQUFDLENBQUM7Z0JBQ0UsS0FBSyxFQUNILE1BQU0sQ0FBQyxLQUFLO29CQUNaLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU07YUFDcEM7WUFDSCxDQUFDLENBQUM7Z0JBQ0UsS0FBSyxFQUFFLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTtnQkFDcEUsUUFBUSxFQUFFLE1BQU07YUFDakIsQ0FBQztJQUNSLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLHlDQUF5QztRQUNqSCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsc0NBQXNDO1FBRTlGLHNFQUFzRTtRQUN0RSxNQUFNLElBQUksR0FDUixPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLElBQUksTUFBTTtZQUMvRCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7WUFDYixDQUFDLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxXQUFXO2dCQUMxRCxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUk7Z0JBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIseUZBQXlGO1FBQ3pGLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUTtZQUM3QixDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBRSxJQUFrQixFQUFFLElBQUksSUFBSSwwQkFBMEIsQ0FBQztJQUM5RCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDdkUsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUV2RCxNQUFNLElBQUksR0FDUixPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLElBQUksTUFBTTtZQUMvRCxDQUFDLENBQUUsTUFBTSxDQUFDLElBQWtCO1lBQzVCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsT0FBTztZQUNMLEtBQUssRUFDSCxJQUFJLEVBQUUsS0FBSztnQkFDWCxDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxJQUFJLFFBQVE7WUFDcEMsZUFBZSxFQUFFLElBQUksRUFBRSxlQUFlLElBQUksYUFBYTtZQUN2RCxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN4RCxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDdkUsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUV6RCxPQUFPLE9BQU8sT0FBTyxLQUFLLFFBQVE7WUFDaEMsQ0FBQyxDQUFDLE9BQU87WUFDVCxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUk7Z0JBQ1gsQ0FBQyxPQUFPLFlBQVksS0FBSyxRQUFRO29CQUMvQixDQUFDLENBQUMsWUFBWSxFQUFFLElBQUk7b0JBQ3BCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDdkUsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUV6RCxPQUFPLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSTtZQUNwRCxDQUFDLENBQUM7Z0JBQ0UsS0FBSyxFQUNILE9BQU8sQ0FBQyxLQUFLO29CQUNiLENBQUMsT0FBTyxZQUFZLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ25FLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE1BQU07Z0JBQ3BDLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE1BQU07YUFDdEM7WUFDSCxDQUFDLENBQUM7Z0JBQ0UsS0FBSyxFQUNILE9BQU8sWUFBWSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTtnQkFDakUsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLFNBQVMsRUFBRSxNQUFNO2FBQ2xCLENBQUM7SUFDUixDQUFDOytHQXhQVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixpSUFGakIsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsK0NDeEVsRCxteUJBd0JBOzs0RkRrRGEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLFdBQVcsYUFHVixDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQztzS0FHdkMsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBSZW5kZXJlcjIsXG4gIEVsZW1lbnRSZWYsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maXJtYXRpb25TZXJ2aWNlLFxuICBDb25maXJtRXZlbnRUeXBlLFxuICBNZXNzYWdlU2VydmljZSxcbn0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2RpYWxvZy1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYnV0dG9uLm1vZGVsJztcbmltcG9ydCB7IEljb25TdHlsZSwgVG9hc3RNZXNzYWdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFNldmVyaXR5RW51bSB9IGZyb20gJy4uL2VudW1zJztcblxuLy8gRGVmYXVsdCBTdHlsZXMgZm9yIERpZmZlcmVudCBEaWFsb2cgVHlwZXNcbmNvbnN0IERJQUxPR19TVFlMRVM6IFJlY29yZDxTZXZlcml0eUVudW0sIFBhcnRpYWw8RGlhbG9nQ29uZmlnPj4gPSB7XG4gIFtTZXZlcml0eUVudW0uV0FSTklOR106IHtcbiAgICBoZWFkZXI6IHsgdGV4dDogJ1dhcm5pbmcnLCBjb2xvcjogJyNkOTgzMDAnIH0sXG4gICAgY29udGVudDogeyB0ZXh0OiAnVGhpcyBpcyBhIHdhcm5pbmcgbWVzc2FnZSEnLCBjb2xvcjogJyNkOTgzMDAnIH0sXG4gICAgY29uZmlybUJ1dHRvbkNvbmZpZzogeyBiYWNrZ3JvdW5kQ29sb3I6ICcjZDk4MzAwJywgZm9udENvbG9yOiAnI2ZmZicgfSxcbiAgICBjYW5jZWxCdXR0b25Db25maWc6IHsgYmFja2dyb3VuZENvbG9yOiAnIzZjNzU3ZCcsIGZvbnRDb2xvcjogJyNmZmYnIH0sXG4gIH0sXG4gIFtTZXZlcml0eUVudW0uU1VDQ0VTU106IHtcbiAgICBoZWFkZXI6IHsgdGV4dDogJ1N1Y2Nlc3MnLCBjb2xvcjogJyMyOGE3NDUnIH0sXG4gICAgY29udGVudDogeyB0ZXh0OiAnT3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsIScsIGNvbG9yOiAnIzI4YTc0NScgfSxcbiAgICBjb25maXJtQnV0dG9uQ29uZmlnOiB7IGJhY2tncm91bmRDb2xvcjogJyMyOGE3NDUnLCBmb250Q29sb3I6ICcjZmZmJyB9LFxuICAgIGNhbmNlbEJ1dHRvbkNvbmZpZzogeyBiYWNrZ3JvdW5kQ29sb3I6ICcjNmM3NTdkJywgZm9udENvbG9yOiAnI2ZmZicgfSxcbiAgfSxcbiAgW1NldmVyaXR5RW51bS5EQU5HRVJdOiB7XG4gICAgaGVhZGVyOiB7IHRleHQ6ICdFcnJvcicsIGNvbG9yOiAnI2RjMzU0NScgfSxcbiAgICBjb250ZW50OiB7IHRleHQ6ICdBbiBlcnJvciBvY2N1cnJlZCEnLCBjb2xvcjogJyNkYzM1NDUnIH0sXG4gICAgY29uZmlybUJ1dHRvbkNvbmZpZzogeyBiYWNrZ3JvdW5kQ29sb3I6ICcjZGMzNTQ1JywgZm9udENvbG9yOiAnI2ZmZicgfSxcbiAgICBjYW5jZWxCdXR0b25Db25maWc6IHsgYmFja2dyb3VuZENvbG9yOiAnIzZjNzU3ZCcsIGZvbnRDb2xvcjogJyNmZmYnIH0sXG4gIH0sXG4gIFtTZXZlcml0eUVudW0uSU5GT106IHtcbiAgICBoZWFkZXI6IHsgdGV4dDogJ0luZm9ybWF0aW9uJywgY29sb3I6ICcjMDA3YmZmJyB9LFxuICAgIGNvbnRlbnQ6IHsgdGV4dDogJ0hlcmUgaXMgc29tZSBpbXBvcnRhbnQgaW5mb3JtYXRpb24uJywgY29sb3I6ICcjMDA3YmZmJyB9LFxuICAgIGNvbmZpcm1CdXR0b25Db25maWc6IHsgYmFja2dyb3VuZENvbG9yOiAnIzAwN2JmZicsIGZvbnRDb2xvcjogJyNmZmYnIH0sXG4gICAgY2FuY2VsQnV0dG9uQ29uZmlnOiB7IGJhY2tncm91bmRDb2xvcjogJyM2Yzc1N2QnLCBmb250Q29sb3I6ICcjZmZmJyB9LFxuICB9LFxufTtcblxuLy8gQ2VudHJhbGl6ZWQgRGVmYXVsdCBWYWx1ZXNcbmNvbnN0IERFRkFVTFRfRElBTE9HX0NPTkZJRzogRGlhbG9nQ29uZmlnID0ge1xuICBoZWFkZXI6IHsgdGV4dDogJ0NvbmZpcm1hdGlvbicgfSxcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHdpZHRoOiAnNDAwcHgnLFxuICBoZWlnaHQ6ICdhdXRvJyxcbiAgY29udGVudDogJ0RvIHlvdSB3YW50IHRvIHByb2NlZWQ/JyxcbiAgY29uZmlybUJ1dHRvbkNvbmZpZzoge1xuICAgIGxhYmVsOiAnQ29uZmlybScsXG4gICAgZm9udENvbG9yOiAnI2ZmZicsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnIzAwN2JmZicsXG4gIH0sXG4gIGNhbmNlbEJ1dHRvbkNvbmZpZzoge1xuICAgIGxhYmVsOiAnQ2FuY2VsJyxcbiAgICBmb250Q29sb3I6ICcjZmZmJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjNmM3NTdkJyxcbiAgfSxcbiAgZGlhbG9nU3R5bGU6IFNldmVyaXR5RW51bS5JTkZPLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3B0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3B0LWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW0NvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgUFREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyA9IHsgLi4uREVGQVVMVF9ESUFMT0dfQ09ORklHIH07XG4gIEBPdXRwdXQoKSBjb25maXJtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGlhbG9nQ29uZmlnJ10pIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlc1snZGlhbG9nQ29uZmlnJ10uY3VycmVudFZhbHVlPy5kaWFsb2dTdHlsZSAhPT1cbiAgICAgICAgY2hhbmdlc1snZGlhbG9nQ29uZmlnJ10ucHJldmlvdXNWYWx1ZT8uZGlhbG9nU3R5bGVcbiAgICAgICkge1xuICAgICAgICB0aGlzLmFwcGx5RGlhbG9nU3R5bGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLnZpc2libGUpIHtcbiAgICAgICAgdGhpcy5zaG93RGlhbG9nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURpYWxvZ1N0eWxlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1N0eWxlID0gdGhpcy5kaWFsb2dDb25maWcuZGlhbG9nU3R5bGUgfHwgU2V2ZXJpdHlFbnVtLklORk87IC8vIOKchSBFbnN1cmUgZGlhbG9nU3R5bGUgaXMgYWx3YXlzIGRlZmluZWRcbiAgICBjb25zdCBzdHlsZUNvbmZpZyA9IERJQUxPR19TVFlMRVNbZGlhbG9nU3R5bGVdIHx8IHt9OyAvLyDinIUgR2V0IHRoZSBzdHlsZXMgZm9yIHRoZSBzZWxlY3RlZCBkaWFsb2dTdHlsZVxuXG4gICAgdGhpcy5kaWFsb2dDb25maWcgPSB7XG4gICAgICAuLi5ERUZBVUxUX0RJQUxPR19DT05GSUcsIC8vIOKchSBTdGFydCB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlc1xuICAgICAgLi4uc3R5bGVDb25maWcsIC8vIOKchSBPdmVycmlkZSB3aXRoIHRoZSBzZWxlY3RlZCBkaWFsb2dTdHlsZSB2YWx1ZXNcbiAgICAgIGNvbmZpcm1CdXR0b25Db25maWc6IHtcbiAgICAgICAgLi4uREVGQVVMVF9ESUFMT0dfQ09ORklHLmNvbmZpcm1CdXR0b25Db25maWcsIC8vIOKchSBTdGFydCB3aXRoIGRlZmF1bHQgY29uZmlybSBidXR0b24gc3R5bGVzXG4gICAgICAgIC4uLnN0eWxlQ29uZmlnLmNvbmZpcm1CdXR0b25Db25maWcsIC8vIOKchSBPdmVycmlkZSB3aXRoIHRoZSBjb25maXJtIGJ1dHRvbiBzdHlsZXMgZm9yIHRoZSBzZWxlY3RlZCBkaWFsb2dTdHlsZVxuICAgICAgfSxcbiAgICAgIGNhbmNlbEJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAuLi5ERUZBVUxUX0RJQUxPR19DT05GSUcuY2FuY2VsQnV0dG9uQ29uZmlnLCAvLyDinIUgU3RhcnQgd2l0aCBkZWZhdWx0IGNhbmNlbCBidXR0b24gc3R5bGVzXG4gICAgICAgIC4uLnN0eWxlQ29uZmlnLmNhbmNlbEJ1dHRvbkNvbmZpZywgLy8g4pyFIE92ZXJyaWRlIHdpdGggdGhlIGNhbmNlbCBidXR0b24gc3R5bGVzIGZvciB0aGUgc2VsZWN0ZWQgZGlhbG9nU3R5bGVcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHNob3dEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgaGVhZGVyOiB0aGlzLmdldERpYWxvZ0hlYWRlclRleHQoKSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuZ2V0RGlhbG9nQ29udGVudFRleHQoKSxcbiAgICAgIGFjY2VwdExhYmVsOiB0aGlzLmRpYWxvZ0NvbmZpZy5jb25maXJtQnV0dG9uQ29uZmlnPy5sYWJlbCB8fCAnQ29uZmlybScsXG4gICAgICByZWplY3RMYWJlbDogdGhpcy5kaWFsb2dDb25maWcuY2FuY2VsQnV0dG9uQ29uZmlnPy5sYWJlbCB8fCAnQ2FuY2VsJyxcbiAgICAgIGFjY2VwdEJ1dHRvblN0eWxlQ2xhc3M6IHRoaXMuZ2V0QnV0dG9uU3R5bGUoXG4gICAgICAgIHRoaXMuZGlhbG9nQ29uZmlnLmNvbmZpcm1CdXR0b25Db25maWcsXG4gICAgICAgIHRydWVcbiAgICAgICksXG4gICAgICByZWplY3RCdXR0b25TdHlsZUNsYXNzOiB0aGlzLmdldEJ1dHRvblN0eWxlKFxuICAgICAgICB0aGlzLmRpYWxvZ0NvbmZpZy5jYW5jZWxCdXR0b25Db25maWcsXG4gICAgICAgIGZhbHNlXG4gICAgICApLFxuICAgICAgYWNjZXB0SWNvbjogdGhpcy5kaWFsb2dDb25maWcuY29uZmlybUJ1dHRvbkNvbmZpZz8uaWNvbiB8fCAncGkgcGktY2hlY2snLFxuICAgICAgcmVqZWN0SWNvbjogdGhpcy5kaWFsb2dDb25maWcuY2FuY2VsQnV0dG9uQ29uZmlnPy5pY29uIHx8ICdwaSBwaS10aW1lcycsXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25maXJtLmVtaXQoKTtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLnRvYXN0T25Db25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zaG93VG9hc3QodGhpcy5kaWFsb2dDb25maWcudG9hc3RPbkNvbmZpcm0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcmVqZWN0OiAodHlwZTogQ29uZmlybUV2ZW50VHlwZSkgPT4ge1xuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0eXBlID09PSBDb25maXJtRXZlbnRUeXBlLlJFSkVDVCAmJlxuICAgICAgICAgIHRoaXMuZGlhbG9nQ29uZmlnLnRvYXN0T25DYW5jZWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zaG93VG9hc3QodGhpcy5kaWFsb2dDb25maWcudG9hc3RPbkNhbmNlbCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBVc2UgcmVuZGVyZXIgdG8gYXBwbHkgZHluYW1pYyBzdHlsZXNcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWxvZ0VsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nJyk7XG4gICAgICBpZiAoZGlhbG9nRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIGRpYWxvZ0VsZW1lbnQsXG4gICAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgICB0aGlzLmRpYWxvZ0NvbmZpZy53aWR0aCB8fCAnNDAwcHgnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgZGlhbG9nRWxlbWVudCxcbiAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICB0aGlzLmRpYWxvZ0NvbmZpZy5oZWlnaHQgfHwgJ2F1dG8nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIHNob3dUb2FzdCh0b2FzdD86IFRvYXN0TWVzc2FnZSkge1xuICAgIGlmICh0b2FzdCkge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICBzZXZlcml0eTogdG9hc3Quc2V2ZXJpdHksXG4gICAgICAgIHN1bW1hcnk6IHRvYXN0LnN1bW1hcnksXG4gICAgICAgIGRldGFpbDogdG9hc3QuZGV0YWlsLFxuICAgICAgICBsaWZlOiB0b2FzdC5saWZlIHx8IDMwMDAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEJ1dHRvblN0eWxlKFxuICAgIGJ1dHRvbkNvbmZpZz86IEJ1dHRvbk1vZGVsLFxuICAgIGlzQ29uZmlybTogYm9vbGVhbiA9IGZhbHNlXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IHN0eWxlQ2xhc3MgPSBidXR0b25Db25maWc/LnN0eWxlQ2xhc3MgPz8gJ3AtYnV0dG9uLXNtJzsgLy8g4pyFIERlZmF1bHQgYnV0dG9uIHNpemVcblxuICAgIC8vIOKchSBBcHBseSB3aWR0aCBkeW5hbWljYWxseSBpZiBwcm92aWRlZCwgb3RoZXJ3aXNlIGRlZmF1bHQgdG8gMTAwJVxuICAgIGNvbnN0IGJ1dHRvbldpZHRoID0gYnV0dG9uQ29uZmlnPy53aWR0aCA/PyAnMTAwJSc7XG5cbiAgICAvLyDinIUgU2V0IGRlZmF1bHQgc2V2ZXJpdHk6IFNVQ0NFU1MgZm9yIGNvbmZpcm0sIFNFQ09OREFSWSBmb3IgY2FuY2VsXG4gICAgY29uc3QgZGVmYXVsdFNldmVyaXR5ID0gaXNDb25maXJtID8gU2V2ZXJpdHlFbnVtLkRBTkdFUiA6IFNldmVyaXR5RW51bS5JTkZPO1xuICAgIGNvbnN0IHNldmVyaXR5ID0gYnV0dG9uQ29uZmlnPy5zZXZlcml0eSA/PyBkZWZhdWx0U2V2ZXJpdHk7XG5cbiAgICAvLyDinIUgQXBwbHkgc2V2ZXJpdHktYmFzZWQgc3R5bGVzIG9ubHkgaWYgbm8gY3VzdG9tIGJhY2tncm91bmQgY29sb3IgaXMgc2V0XG4gICAgaWYgKCFidXR0b25Db25maWc/LmJhY2tncm91bmRDb2xvcikge1xuICAgICAgc3dpdGNoIChzZXZlcml0eSkge1xuICAgICAgICBjYXNlIFNldmVyaXR5RW51bS5XQVJOSU5HOlxuICAgICAgICAgIHN0eWxlQ2xhc3MgKz0gJyBwLWJ1dHRvbi13YXJuaW5nJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTZXZlcml0eUVudW0uREFOR0VSOlxuICAgICAgICAgIHN0eWxlQ2xhc3MgKz0gJyBwLWJ1dHRvbi1kYW5nZXInO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFNldmVyaXR5RW51bS5TVUNDRVNTOlxuICAgICAgICAgIHN0eWxlQ2xhc3MgKz0gJyBwLWJ1dHRvbi1zdWNjZXNzJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTZXZlcml0eUVudW0uSU5GTzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBzdHlsZUNsYXNzICs9ICcgcC1idXR0b24tc2Vjb25kYXJ5JztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYCR7c3R5bGVDbGFzcy50cmltKCl9IHdpZHRoLSR7YnV0dG9uV2lkdGgucmVwbGFjZSgnJScsICcnKX1gO1xuICB9XG5cbiAgZ2V0RGlhbG9nSGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZGlhbG9nQ29uZmlnLmhlYWRlcjtcbiAgICBjb25zdCBkaWFsb2dTdHlsZSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRpYWxvZ1N0eWxlID8/IFNldmVyaXR5RW51bS5JTkZPO1xuICAgIGNvbnN0IHN0eWxlSGVhZGVyID0gRElBTE9HX1NUWUxFU1tkaWFsb2dTdHlsZV0/LmhlYWRlcjtcblxuICAgIHJldHVybiB0eXBlb2YgaGVhZGVyID09PSAnb2JqZWN0JyAmJiBoZWFkZXIgIT09IG51bGwgJiYgJ3RleHQnIGluIGhlYWRlclxuICAgICAgPyBoZWFkZXIudGV4dFxuICAgICAgOiB0eXBlb2YgaGVhZGVyID09PSAnc3RyaW5nJ1xuICAgICAgPyBoZWFkZXJcbiAgICAgIDogdHlwZW9mIHN0eWxlSGVhZGVyID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBzdHlsZUhlYWRlciAhPT0gbnVsbCAmJlxuICAgICAgICAndGV4dCcgaW4gc3R5bGVIZWFkZXJcbiAgICAgID8gc3R5bGVIZWFkZXIudGV4dFxuICAgICAgOiAnQ29uZmlybWF0aW9uJzsgLy8g4pyFIERlZmF1bHQgdmFsdWVcbiAgfVxuXG4gIGdldERpYWxvZ0hlYWRlclN0eWxlKCk6IGFueSB7XG4gICAgY29uc3QgaGVhZGVyID0gdGhpcy5kaWFsb2dDb25maWcuaGVhZGVyO1xuICAgIGNvbnN0IGRpYWxvZ1N0eWxlID0gdGhpcy5kaWFsb2dDb25maWcuZGlhbG9nU3R5bGUgPz8gU2V2ZXJpdHlFbnVtLklORk87IC8vIOKchSBFbnN1cmUgZGlhbG9nU3R5bGUgaXMgYWx3YXlzIGRlZmluZWRcbiAgICBjb25zdCBzdHlsZUhlYWRlciA9IERJQUxPR19TVFlMRVNbZGlhbG9nU3R5bGVdPy5oZWFkZXI7IC8vIOKchSBTdG9yZSB0aGUgc3R5bGUgaGVhZGVyIHNlcGFyYXRlbHlcblxuICAgIHJldHVybiB0eXBlb2YgaGVhZGVyID09PSAnb2JqZWN0JyAmJiBoZWFkZXIgIT09IG51bGxcbiAgICAgID8ge1xuICAgICAgICAgIGNvbG9yOlxuICAgICAgICAgICAgaGVhZGVyLmNvbG9yIHx8XG4gICAgICAgICAgICAodHlwZW9mIHN0eWxlSGVhZGVyID09PSAnb2JqZWN0JyA/IHN0eWxlSGVhZGVyPy5jb2xvciA6ICcjMzMzJyksXG4gICAgICAgICAgZm9udFNpemU6IGhlYWRlci5mb250U2l6ZSB8fCAnMjVweCcsXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGNvbG9yOiB0eXBlb2Ygc3R5bGVIZWFkZXIgPT09ICdvYmplY3QnID8gc3R5bGVIZWFkZXI/LmNvbG9yIDogJyMzMzMnLFxuICAgICAgICAgIGZvbnRTaXplOiAnMjVweCcsXG4gICAgICAgIH07XG4gIH1cblxuICBnZXREaWFsb2dJY29uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLmRpYWxvZ0NvbmZpZy5oZWFkZXI7XG4gICAgY29uc3QgZGlhbG9nU3R5bGUgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kaWFsb2dTdHlsZSA/PyBTZXZlcml0eUVudW0uSU5GTzsgLy8g4pyFIEVuc3VyZSBkaWFsb2dTdHlsZSBpcyBhbHdheXMgZGVmaW5lZFxuICAgIGNvbnN0IHN0eWxlSGVhZGVyID0gRElBTE9HX1NUWUxFU1tkaWFsb2dTdHlsZV0/LmhlYWRlcjsgLy8g4pyFIFN0b3JlIHRoZSBzdHlsZSBoZWFkZXIgc2VwYXJhdGVseVxuXG4gICAgLy8g4pyFIEVuc3VyZSBoZWFkZXIuaWNvbiBleGlzdHMgYW5kIGlzIGFuIG9iamVjdCBiZWZvcmUgYWNjZXNzaW5nIC5jb2RlXG4gICAgY29uc3QgaWNvbiA9XG4gICAgICB0eXBlb2YgaGVhZGVyID09PSAnb2JqZWN0JyAmJiBoZWFkZXIgIT09IG51bGwgJiYgJ2ljb24nIGluIGhlYWRlclxuICAgICAgICA/IGhlYWRlci5pY29uXG4gICAgICAgIDogdHlwZW9mIHN0eWxlSGVhZGVyID09PSAnb2JqZWN0JyAmJiAnaWNvbicgaW4gc3R5bGVIZWFkZXJcbiAgICAgICAgPyBzdHlsZUhlYWRlci5pY29uXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g4pyFIElmIGBpY29uYCBpcyBhbiBvYmplY3QsIGV4dHJhY3QgYC5jb2RlYCwgb3RoZXJ3aXNlIHJldHVybiBhcyBzdHJpbmcgb3IgZGVmYXVsdCB2YWx1ZVxuICAgIHJldHVybiB0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZydcbiAgICAgID8gaWNvblxuICAgICAgOiAoaWNvbiBhcyBJY29uU3R5bGUpPy5jb2RlIHx8ICdwaSBwaS1leGNsYW1hdGlvbi1jaXJjbGUnO1xuICB9XG5cbiAgZ2V0RGlhbG9nSWNvblN0eWxlKCk6IGFueSB7XG4gICAgY29uc3QgaGVhZGVyID0gdGhpcy5kaWFsb2dDb25maWcuaGVhZGVyO1xuICAgIGNvbnN0IGRpYWxvZ1N0eWxlID0gdGhpcy5kaWFsb2dDb25maWcuZGlhbG9nU3R5bGUgPz8gU2V2ZXJpdHlFbnVtLklORk87XG4gICAgY29uc3Qgc3R5bGVIZWFkZXIgPSBESUFMT0dfU1RZTEVTW2RpYWxvZ1N0eWxlXT8uaGVhZGVyO1xuXG4gICAgY29uc3QgaWNvbjogSWNvblN0eWxlIHwgdW5kZWZpbmVkID1cbiAgICAgIHR5cGVvZiBoZWFkZXIgPT09ICdvYmplY3QnICYmIGhlYWRlciAhPT0gbnVsbCAmJiAnaWNvbicgaW4gaGVhZGVyXG4gICAgICAgID8gKGhlYWRlci5pY29uIGFzIEljb25TdHlsZSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6XG4gICAgICAgIGljb24/LmNvbG9yIHx8XG4gICAgICAgICh0eXBlb2Ygc3R5bGVIZWFkZXIgPT09ICdvYmplY3QnID8gc3R5bGVIZWFkZXI/LmNvbG9yIDogJyNmMzljMTInKSxcbiAgICAgIGZvbnRTaXplOiBpY29uPy5mb250U2l6ZSB8fCAnMS41cmVtJyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogaWNvbj8uYmFja2dyb3VuZENvbG9yIHx8ICd0cmFuc3BhcmVudCcsXG4gICAgICBib3JkZXJSYWRpdXM6IGljb24/LnNoYXBlID09PSAnY2lyY3VsYXInID8gJzUwJScgOiAnNHB4JyxcbiAgICAgIHBhZGRpbmc6ICc1cHgnLFxuICAgIH07XG4gIH1cblxuICBnZXREaWFsb2dDb250ZW50VGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRpYWxvZ0NvbmZpZy5jb250ZW50O1xuICAgIGNvbnN0IGRpYWxvZ1N0eWxlID0gdGhpcy5kaWFsb2dDb25maWcuZGlhbG9nU3R5bGUgPz8gU2V2ZXJpdHlFbnVtLklORk87XG4gICAgY29uc3Qgc3R5bGVDb250ZW50ID0gRElBTE9HX1NUWUxFU1tkaWFsb2dTdHlsZV0/LmNvbnRlbnQ7XG5cbiAgICByZXR1cm4gdHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnXG4gICAgICA/IGNvbnRlbnRcbiAgICAgIDogY29udGVudD8udGV4dCB8fFxuICAgICAgICAgICh0eXBlb2Ygc3R5bGVDb250ZW50ID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgPyBzdHlsZUNvbnRlbnQ/LnRleHRcbiAgICAgICAgICAgIDogJ0FyZSB5b3Ugc3VyZT8nKTtcbiAgfVxuXG4gIGdldERpYWxvZ0NvbnRlbnRTdHlsZSgpOiBhbnkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRpYWxvZ0NvbmZpZy5jb250ZW50O1xuICAgIGNvbnN0IGRpYWxvZ1N0eWxlID0gdGhpcy5kaWFsb2dDb25maWcuZGlhbG9nU3R5bGUgPz8gU2V2ZXJpdHlFbnVtLklORk87XG4gICAgY29uc3Qgc3R5bGVDb250ZW50ID0gRElBTE9HX1NUWUxFU1tkaWFsb2dTdHlsZV0/LmNvbnRlbnQ7XG5cbiAgICByZXR1cm4gdHlwZW9mIGNvbnRlbnQgPT09ICdvYmplY3QnICYmIGNvbnRlbnQgIT09IG51bGxcbiAgICAgID8ge1xuICAgICAgICAgIGNvbG9yOlxuICAgICAgICAgICAgY29udGVudC5jb2xvciB8fFxuICAgICAgICAgICAgKHR5cGVvZiBzdHlsZUNvbnRlbnQgPT09ICdvYmplY3QnID8gc3R5bGVDb250ZW50Py5jb2xvciA6ICcjMzMzJyksXG4gICAgICAgICAgZm9udFNpemU6IGNvbnRlbnQuZm9udFNpemUgfHwgJzIwcHgnLFxuICAgICAgICAgIHRleHRBbGlnbjogY29udGVudC5wb3NpdGlvbiB8fCAnbGVmdCcsXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGNvbG9yOlxuICAgICAgICAgICAgdHlwZW9mIHN0eWxlQ29udGVudCA9PT0gJ29iamVjdCcgPyBzdHlsZUNvbnRlbnQ/LmNvbG9yIDogJyMzMzMnLFxuICAgICAgICAgIGZvbnRTaXplOiAnMjBweCcsXG4gICAgICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwdC1kaWFsb2dcIj5cbiAgPHAtdG9hc3Q+PC9wLXRvYXN0PlxuICA8cC1jb25maXJtRGlhbG9nPlxuICAgIDwhLS0gSGVhZGVyIHdpdGggSWNvbiBhbmQgVGl0bGUgYWxpZ25lZCBob3Jpem9udGFsbHkgLS0+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWhlYWRlciBib3JkZXJlZC1zZWN0aW9uXCI+XG4gICAgICAgIDxpIFtjbGFzc109XCJnZXREaWFsb2dJY29uQ2xhc3MoKVwiIFtuZ1N0eWxlXT1cImdldERpYWxvZ0ljb25TdHlsZSgpXCI+PC9pPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBvcHVwLXRpdGxlXCIgW25nU3R5bGVdPVwiZ2V0RGlhbG9nSGVhZGVyU3R5bGUoKVwiPlxuICAgICAgICAgIHt7IGdldERpYWxvZ0hlYWRlclRleHQoKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBNZXNzYWdlIENvbnRlbnQgd2l0aCBEaXZpZGVyIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCIgbGV0LW1lc3NhZ2U+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwicG9wdXAtY29udGVudCBib3JkZXJlZC1zZWN0aW9uXCJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0RGlhbG9nQ29udGVudFN0eWxlKClcIlxuICAgICAgPlxuICAgICAgICA8cD57eyBnZXREaWFsb2dDb250ZW50VGV4dCgpIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9wLWNvbmZpcm1EaWFsb2c+XG48L2Rpdj5cbiJdfQ==