cloud-ide-element 1.0.4 → 1.0.6

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.
Files changed (54) hide show
  1. package/README.md +63 -271
  2. package/fesm2022/cloud-ide-element.mjs +614 -618
  3. package/fesm2022/cloud-ide-element.mjs.map +1 -1
  4. package/index.d.ts +1362 -3
  5. package/package.json +4 -31
  6. package/esm2022/cloud-ide-element.mjs +0 -5
  7. package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +0 -182
  8. package/esm2022/lib/components/data-grid/data-grid.component.mjs +0 -1363
  9. package/esm2022/lib/components/data-grid/data-grid.types.mjs +0 -37
  10. package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -396
  11. package/esm2022/lib/components/global-notifications/global-notifications.component.mjs +0 -30
  12. package/esm2022/lib/components/json-editor/json-editor.component.mjs +0 -521
  13. package/esm2022/lib/components/skeleton-loader/skeleton-loader.component.mjs +0 -33
  14. package/esm2022/lib/components/toast-notification/toast-notification.component.mjs +0 -152
  15. package/esm2022/lib/elements/button/cide-ele-button.component.mjs +0 -249
  16. package/esm2022/lib/elements/file-input/file-input.component.mjs +0 -83
  17. package/esm2022/lib/elements/icon/icon.component.mjs +0 -26
  18. package/esm2022/lib/elements/input/input.component.mjs +0 -467
  19. package/esm2022/lib/elements/select/select.component.mjs +0 -471
  20. package/esm2022/lib/elements/spinner/spinner.component.mjs +0 -32
  21. package/esm2022/lib/elements/tab/cide-ele-tab.component.mjs +0 -74
  22. package/esm2022/lib/elements/textarea/textarea.component.mjs +0 -157
  23. package/esm2022/lib/services/confirmation.service.mjs +0 -151
  24. package/esm2022/lib/services/dropdown-manager.service.mjs +0 -93
  25. package/esm2022/lib/services/notification.service.mjs +0 -196
  26. package/esm2022/lib/utils/directives/resizer/resizer.directive.mjs +0 -231
  27. package/esm2022/lib/utils/directives/tooltip/tooltip.directive.mjs +0 -294
  28. package/esm2022/lib/utils/pipes/capitalize/capitalize.pipe.mjs +0 -38
  29. package/esm2022/lib/utils/services/elements/elements.service.mjs +0 -39
  30. package/esm2022/public-api.mjs +0 -31
  31. package/lib/components/confirmation-modal/confirmation-modal.component.d.ts +0 -16
  32. package/lib/components/data-grid/data-grid.component.d.ts +0 -244
  33. package/lib/components/data-grid/data-grid.types.d.ts +0 -146
  34. package/lib/components/dropdown/dropdown.component.d.ts +0 -75
  35. package/lib/components/global-notifications/global-notifications.component.d.ts +0 -5
  36. package/lib/components/json-editor/json-editor.component.d.ts +0 -116
  37. package/lib/components/skeleton-loader/skeleton-loader.component.d.ts +0 -11
  38. package/lib/components/toast-notification/toast-notification.component.d.ts +0 -13
  39. package/lib/elements/button/cide-ele-button.component.d.ts +0 -85
  40. package/lib/elements/file-input/file-input.component.d.ts +0 -25
  41. package/lib/elements/icon/icon.component.d.ts +0 -9
  42. package/lib/elements/input/input.component.d.ts +0 -182
  43. package/lib/elements/select/select.component.d.ts +0 -91
  44. package/lib/elements/spinner/spinner.component.d.ts +0 -19
  45. package/lib/elements/tab/cide-ele-tab.component.d.ts +0 -26
  46. package/lib/elements/textarea/textarea.component.d.ts +0 -47
  47. package/lib/services/confirmation.service.d.ts +0 -65
  48. package/lib/services/dropdown-manager.service.d.ts +0 -22
  49. package/lib/services/notification.service.d.ts +0 -81
  50. package/lib/utils/directives/resizer/resizer.directive.d.ts +0 -44
  51. package/lib/utils/directives/tooltip/tooltip.directive.d.ts +0 -43
  52. package/lib/utils/pipes/capitalize/capitalize.pipe.d.ts +0 -7
  53. package/lib/utils/services/elements/elements.service.d.ts +0 -12
  54. package/public-api.d.ts +0 -22
@@ -1,294 +0,0 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TooltipDirective {
4
- constructor(el, renderer) {
5
- this.el = el;
6
- this.renderer = renderer;
7
- this.cideEleTooltip = '';
8
- this.tooltipColor = '';
9
- this.tooltipBg = '';
10
- this.tooltipPlacement = 'top';
11
- this.tooltipType = 'default';
12
- this.tooltipDelay = 300; // ms
13
- this.tooltipDir = 'top'; // Alias for tooltipPlacement for backward compatibility
14
- this.tooltipShowArrow = false;
15
- this.tooltipMultiline = false;
16
- this.tooltipMaxWidth = '200px';
17
- this.tooltipInteractive = false;
18
- this.tooltipClass = '';
19
- this.tooltipElement = null;
20
- this.visible = false;
21
- this.showTimeout = null;
22
- this.hideTimeout = null;
23
- this.hideDelay = 150; // ms
24
- this.interactiveMouseLeaveHandler = null;
25
- }
26
- ngOnInit() {
27
- // Use tooltipDir as fallback if provided and tooltipPlacement is default
28
- if (this.tooltipDir && this.tooltipPlacement === 'top') {
29
- this.tooltipPlacement = this.tooltipDir;
30
- }
31
- // If user hasn't provided custom colors and is using a predefined type,
32
- // we'll leave colors empty to use CSS class colors
33
- if (this.tooltipType !== 'default' && !this.tooltipColor && !this.tooltipBg) {
34
- this.tooltipColor = '';
35
- this.tooltipBg = '';
36
- }
37
- }
38
- onMouseEnter() {
39
- this.clearTimeouts();
40
- this.showTimeout = window.setTimeout(() => {
41
- this.show();
42
- }, this.tooltipDelay);
43
- }
44
- onFocus() {
45
- this.clearTimeouts();
46
- this.showTimeout = window.setTimeout(() => {
47
- this.show();
48
- }, this.tooltipDelay);
49
- }
50
- onMouseLeave() {
51
- this.clearTimeouts();
52
- // Don't hide immediately if interactive
53
- if (!this.tooltipInteractive) {
54
- this.hide();
55
- }
56
- else {
57
- // For interactive tooltips, delay hiding to allow user to move to tooltip
58
- this.hideTimeout = window.setTimeout(() => {
59
- this.hide();
60
- }, this.hideDelay);
61
- }
62
- }
63
- onBlur() {
64
- this.clearTimeouts();
65
- this.hide();
66
- }
67
- onClick() {
68
- if (this.visible && !this.tooltipInteractive) {
69
- this.hide();
70
- }
71
- }
72
- ngOnDestroy() {
73
- this.clearTimeouts();
74
- this.destroyTooltip();
75
- }
76
- clearTimeouts() {
77
- if (this.showTimeout) {
78
- clearTimeout(this.showTimeout);
79
- this.showTimeout = null;
80
- }
81
- if (this.hideTimeout) {
82
- clearTimeout(this.hideTimeout);
83
- this.hideTimeout = null;
84
- }
85
- }
86
- show() {
87
- if (!this.cideEleTooltip || this.visible)
88
- return;
89
- this.createTooltip();
90
- this.styleTooltip();
91
- this.positionTooltip();
92
- // Add animation with requestAnimationFrame for smoother transition
93
- requestAnimationFrame(() => {
94
- if (this.tooltipElement) {
95
- this.renderer.addClass(this.tooltipElement, 'tooltip-visible');
96
- // Show arrow if enabled
97
- if (this.tooltipShowArrow) {
98
- this.renderer.addClass(this.tooltipElement, 'tooltip-arrow-visible');
99
- }
100
- }
101
- });
102
- this.visible = true;
103
- // Add mouseleave event listener if interactive
104
- if (this.tooltipInteractive && this.tooltipElement) {
105
- this.interactiveMouseLeaveHandler = () => {
106
- this.clearTimeouts();
107
- this.hide();
108
- };
109
- this.tooltipElement.addEventListener('mouseleave', this.interactiveMouseLeaveHandler);
110
- // Also add mouseenter to cancel any pending hide
111
- this.tooltipElement.addEventListener('mouseenter', () => {
112
- this.clearTimeouts();
113
- });
114
- }
115
- }
116
- hide() {
117
- if (!this.visible || !this.tooltipElement)
118
- return;
119
- this.renderer.removeClass(this.tooltipElement, 'tooltip-visible');
120
- this.renderer.removeClass(this.tooltipElement, 'tooltip-arrow-visible');
121
- // Use timeout for smoother hide animation
122
- setTimeout(() => {
123
- if (!this.visible) { // Double-check in case tooltip was reshown
124
- this.destroyTooltip();
125
- }
126
- }, this.hideDelay);
127
- this.visible = false;
128
- }
129
- createTooltip() {
130
- this.destroyTooltip();
131
- this.tooltipElement = this.renderer.createElement('div');
132
- this.renderer.addClass(this.tooltipElement, 'tooltip');
133
- // Add placement class for arrow
134
- this.renderer.addClass(this.tooltipElement, `tooltip-${this.tooltipPlacement}`);
135
- // Add type class if using a predefined type
136
- if (this.tooltipType !== 'default') {
137
- this.renderer.addClass(this.tooltipElement, `tooltip-${this.tooltipType}`);
138
- }
139
- // Add multiline class if enabled
140
- if (this.tooltipMultiline) {
141
- this.renderer.addClass(this.tooltipElement, 'tooltip-multiline');
142
- }
143
- // Add interactive class if enabled
144
- if (this.tooltipInteractive) {
145
- this.renderer.addClass(this.tooltipElement, 'tooltip-interactive');
146
- }
147
- // Add custom classes if provided
148
- if (this.tooltipClass) {
149
- const classes = this.tooltipClass.split(' ');
150
- classes.forEach(className => {
151
- if (className.trim()) {
152
- this.renderer.addClass(this.tooltipElement, className.trim());
153
- }
154
- });
155
- }
156
- // Create HTML content if multiline
157
- if (this.tooltipMultiline) {
158
- this.renderer.setProperty(this.tooltipElement, 'innerHTML', this.cideEleTooltip);
159
- }
160
- else {
161
- const textNode = this.renderer.createText(this.cideEleTooltip);
162
- this.renderer.appendChild(this.tooltipElement, textNode);
163
- }
164
- this.renderer.appendChild(document.body, this.tooltipElement);
165
- }
166
- styleTooltip() {
167
- if (!this.tooltipElement)
168
- return;
169
- // Set custom CSS variables for the tooltip colors if provided
170
- if (this.tooltipColor) {
171
- this.renderer.setStyle(this.tooltipElement, '--tooltip-color', this.tooltipColor);
172
- }
173
- if (this.tooltipBg) {
174
- this.renderer.setStyle(this.tooltipElement, '--tooltip-bg', this.tooltipBg);
175
- }
176
- // Set custom max width if provided
177
- if (this.tooltipMaxWidth && this.tooltipMultiline) {
178
- this.renderer.setStyle(this.tooltipElement, '--tooltip-max-width', this.tooltipMaxWidth);
179
- }
180
- }
181
- positionTooltip() {
182
- if (!this.tooltipElement)
183
- return;
184
- const hostRect = this.el.nativeElement.getBoundingClientRect();
185
- const tooltipRect = this.tooltipElement.getBoundingClientRect();
186
- // Account for page scroll
187
- const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
188
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
189
- let top = 0;
190
- let left = 0;
191
- // Calculate position based on placement
192
- switch (this.tooltipPlacement) {
193
- case 'top':
194
- top = hostRect.top + scrollTop - tooltipRect.height - 6;
195
- left = hostRect.left + scrollLeft + (hostRect.width / 2) - (tooltipRect.width / 2);
196
- break;
197
- case 'bottom':
198
- top = hostRect.bottom + scrollTop + 6;
199
- left = hostRect.left + scrollLeft + (hostRect.width / 2) - (tooltipRect.width / 2);
200
- break;
201
- case 'left':
202
- top = hostRect.top + scrollTop + (hostRect.height / 2) - (tooltipRect.height / 2);
203
- left = hostRect.left + scrollLeft - tooltipRect.width - 6;
204
- break;
205
- case 'right':
206
- top = hostRect.top + scrollTop + (hostRect.height / 2) - (tooltipRect.height / 2);
207
- left = hostRect.right + scrollLeft + 6;
208
- break;
209
- }
210
- // Adjust if tooltip would be outside viewport
211
- const viewportWidth = window.innerWidth;
212
- const viewportHeight = window.innerHeight;
213
- // Top boundary check
214
- if (top < scrollTop + 4) {
215
- top = scrollTop + 4;
216
- }
217
- else if (top + tooltipRect.height > scrollTop + viewportHeight - 4) {
218
- top = scrollTop + viewportHeight - tooltipRect.height - 4;
219
- }
220
- // Left boundary check
221
- if (left < scrollLeft + 4) {
222
- left = scrollLeft + 4;
223
- }
224
- else if (left + tooltipRect.width > scrollLeft + viewportWidth - 4) {
225
- left = scrollLeft + viewportWidth - tooltipRect.width - 4;
226
- }
227
- this.renderer.setStyle(this.tooltipElement, 'position', 'absolute');
228
- this.renderer.setStyle(this.tooltipElement, 'top', `${top}px`);
229
- this.renderer.setStyle(this.tooltipElement, 'left', `${left}px`);
230
- }
231
- destroyTooltip() {
232
- if (this.tooltipElement) {
233
- // Remove event listeners for interactive tooltips using the stored reference
234
- if (this.tooltipInteractive && this.interactiveMouseLeaveHandler) {
235
- this.tooltipElement.removeEventListener('mouseleave', this.interactiveMouseLeaveHandler);
236
- this.interactiveMouseLeaveHandler = null;
237
- }
238
- const parent = this.tooltipElement.parentNode;
239
- if (parent) {
240
- this.renderer.removeChild(parent, this.tooltipElement);
241
- }
242
- this.tooltipElement = null;
243
- }
244
- }
245
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
246
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: TooltipDirective, isStandalone: true, selector: "[cideEleTooltip]", inputs: { cideEleTooltip: "cideEleTooltip", tooltipColor: "tooltipColor", tooltipBg: "tooltipBg", tooltipPlacement: "tooltipPlacement", tooltipType: "tooltipType", tooltipDelay: "tooltipDelay", tooltipDir: "tooltipDir", tooltipShowArrow: "tooltipShowArrow", tooltipMultiline: "tooltipMultiline", tooltipMaxWidth: "tooltipMaxWidth", tooltipInteractive: "tooltipInteractive", tooltipClass: "tooltipClass" }, host: { listeners: { "mouseenter": "onMouseEnter()", "focus": "onFocus()", "mouseleave": "onMouseLeave()", "blur": "onBlur()", "click": "onClick()" } }, ngImport: i0 }); }
247
- }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TooltipDirective, decorators: [{
249
- type: Directive,
250
- args: [{
251
- selector: '[cideEleTooltip]',
252
- standalone: true
253
- }]
254
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { cideEleTooltip: [{
255
- type: Input
256
- }], tooltipColor: [{
257
- type: Input
258
- }], tooltipBg: [{
259
- type: Input
260
- }], tooltipPlacement: [{
261
- type: Input
262
- }], tooltipType: [{
263
- type: Input
264
- }], tooltipDelay: [{
265
- type: Input
266
- }], tooltipDir: [{
267
- type: Input
268
- }], tooltipShowArrow: [{
269
- type: Input
270
- }], tooltipMultiline: [{
271
- type: Input
272
- }], tooltipMaxWidth: [{
273
- type: Input
274
- }], tooltipInteractive: [{
275
- type: Input
276
- }], tooltipClass: [{
277
- type: Input
278
- }], onMouseEnter: [{
279
- type: HostListener,
280
- args: ['mouseenter']
281
- }], onFocus: [{
282
- type: HostListener,
283
- args: ['focus']
284
- }], onMouseLeave: [{
285
- type: HostListener,
286
- args: ['mouseleave']
287
- }], onBlur: [{
288
- type: HostListener,
289
- args: ['blur']
290
- }], onClick: [{
291
- type: HostListener,
292
- args: ['click']
293
- }] } });
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbG91ZC1pZGUtZWxlbWVudC9zcmMvbGliL3V0aWxzL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sZUFBZSxDQUFDOztBQVN6RyxNQUFNLE9BQU8sZ0JBQWdCO0lBcUIzQixZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQnRELG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIscUJBQWdCLEdBQXFCLEtBQUssQ0FBQztRQUMzQyxnQkFBVyxHQUFnQixTQUFTLENBQUM7UUFDckMsaUJBQVksR0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLO1FBQ2pDLGVBQVUsR0FBcUIsS0FBSyxDQUFDLENBQUMsd0RBQXdEO1FBQzlGLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsb0JBQWUsR0FBVyxPQUFPLENBQUM7UUFDbEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRTNCLG1CQUFjLEdBQXVCLElBQUksQ0FBQztRQUMxQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsY0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUs7UUFDdEIsaUNBQTRCLEdBQXdCLElBQUksQ0FBQztJQUVDLENBQUM7SUFFbkUsUUFBUTtRQUNOLHlFQUF5RTtRQUN6RSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzFDLENBQUM7UUFFRCx3RUFBd0U7UUFDeEUsbURBQW1EO1FBQ25ELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBR0QsWUFBWTtRQUNWLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUdELE9BQU87UUFDTCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTiwwRUFBMEU7WUFDMUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUdELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFTyxJQUFJO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRWpELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLG1FQUFtRTtRQUNuRSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztnQkFFL0Qsd0JBQXdCO2dCQUN4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3ZFLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQiwrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsQ0FBQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFFdEYsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTyxJQUFJO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU87UUFFbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUV4RSwwQ0FBMEM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQywyQ0FBMkM7Z0JBQzlELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXZELGdDQUFnQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUVoRiw0Q0FBNEM7UUFDNUMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxtQ0FBbUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsbUNBQW1DO1FBQ25DLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU87UUFFakMsOERBQThEO1FBQzlELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BGLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUVELG1DQUFtQztRQUNuQyxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0YsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU87UUFFakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFaEUsMEJBQTBCO1FBQzFCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUUzRSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFFYix3Q0FBd0M7UUFDeEMsUUFBUSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM5QixLQUFLLEtBQUs7Z0JBQ1IsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsU0FBUyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBRyxVQUFVLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkYsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBRyxVQUFVLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkYsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsVUFBVSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUMxRCxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNsRixJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO1FBQ1YsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3hDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFFMUMscUJBQXFCO1FBQ3JCLElBQUksR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixHQUFHLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUN0QixDQUFDO2FBQU0sSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsY0FBYyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JFLEdBQUcsR0FBRyxTQUFTLEdBQUcsY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFFRCxzQkFBc0I7UUFDdEIsSUFBSSxJQUFJLEdBQUcsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckUsSUFBSSxHQUFHLFVBQVUsR0FBRyxhQUFhLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsNkVBQTZFO1lBQzdFLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO2dCQUNqRSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztnQkFDekYsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztZQUMzQyxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7WUFDOUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzs4R0ExUlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3VHQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBMEJOLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQVMxQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFTckIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBZ0IxQixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTTtnQkFPcEIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCB0eXBlIFRvb2x0aXBQbGFjZW1lbnQgPSAndG9wJyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcclxuZXhwb3J0IHR5cGUgVG9vbHRpcFR5cGUgPSAnZGVmYXVsdCcgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InIHwgJ2luZm8nIHwgJ2xpZ2h0JyB8ICdkYXJrJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2NpZGVFbGVUb29sdGlwXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBjaWRlRWxlVG9vbHRpcDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgdG9vbHRpcENvbG9yOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSB0b29sdGlwQmc6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXBQbGFjZW1lbnQ6IFRvb2x0aXBQbGFjZW1lbnQgPSAndG9wJztcclxuICBASW5wdXQoKSB0b29sdGlwVHlwZTogVG9vbHRpcFR5cGUgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgdG9vbHRpcERlbGF5OiBudW1iZXIgPSAzMDA7IC8vIG1zXHJcbiAgQElucHV0KCkgdG9vbHRpcERpcjogVG9vbHRpcFBsYWNlbWVudCA9ICd0b3AnOyAvLyBBbGlhcyBmb3IgdG9vbHRpcFBsYWNlbWVudCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxyXG4gIEBJbnB1dCgpIHRvb2x0aXBTaG93QXJyb3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0b29sdGlwTXVsdGlsaW5lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdG9vbHRpcE1heFdpZHRoOiBzdHJpbmcgPSAnMjAwcHgnO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXBJbnRlcmFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXBDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgXHJcbiAgcHJpdmF0ZSB0b29sdGlwRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHZpc2libGUgPSBmYWxzZTtcclxuICBwcml2YXRlIHNob3dUaW1lb3V0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGhpZGVUaW1lb3V0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGhpZGVEZWxheSA9IDE1MDsgLy8gbXNcclxuICBwcml2YXRlIGludGVyYWN0aXZlTW91c2VMZWF2ZUhhbmRsZXI6ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gVXNlIHRvb2x0aXBEaXIgYXMgZmFsbGJhY2sgaWYgcHJvdmlkZWQgYW5kIHRvb2x0aXBQbGFjZW1lbnQgaXMgZGVmYXVsdFxyXG4gICAgaWYgKHRoaXMudG9vbHRpcERpciAmJiB0aGlzLnRvb2x0aXBQbGFjZW1lbnQgPT09ICd0b3AnKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcFBsYWNlbWVudCA9IHRoaXMudG9vbHRpcERpcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB1c2VyIGhhc24ndCBwcm92aWRlZCBjdXN0b20gY29sb3JzIGFuZCBpcyB1c2luZyBhIHByZWRlZmluZWQgdHlwZSxcclxuICAgIC8vIHdlJ2xsIGxlYXZlIGNvbG9ycyBlbXB0eSB0byB1c2UgQ1NTIGNsYXNzIGNvbG9yc1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcFR5cGUgIT09ICdkZWZhdWx0JyAmJiAhdGhpcy50b29sdGlwQ29sb3IgJiYgIXRoaXMudG9vbHRpcEJnKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbG9yID0gJyc7XHJcbiAgICAgIHRoaXMudG9vbHRpcEJnID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcclxuICBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcclxuICAgIHRoaXMuc2hvd1RpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgfSwgdGhpcy50b29sdGlwRGVsYXkpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxyXG4gIG9uRm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcclxuICAgIHRoaXMuc2hvd1RpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgfSwgdGhpcy50b29sdGlwRGVsYXkpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXHJcbiAgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XHJcbiAgICBcclxuICAgIC8vIERvbid0IGhpZGUgaW1tZWRpYXRlbHkgaWYgaW50ZXJhY3RpdmVcclxuICAgIGlmICghdGhpcy50b29sdGlwSW50ZXJhY3RpdmUpIHtcclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBGb3IgaW50ZXJhY3RpdmUgdG9vbHRpcHMsIGRlbGF5IGhpZGluZyB0byBhbGxvdyB1c2VyIHRvIG1vdmUgdG8gdG9vbHRpcFxyXG4gICAgICB0aGlzLmhpZGVUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICB9LCB0aGlzLmhpZGVEZWxheSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdibHVyJylcclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52aXNpYmxlICYmICF0aGlzLnRvb2x0aXBJbnRlcmFjdGl2ZSkge1xyXG4gICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XHJcbiAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyVGltZW91dHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zaG93VGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zaG93VGltZW91dCk7XHJcbiAgICAgIHRoaXMuc2hvd1RpbWVvdXQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaGlkZVRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVvdXQpO1xyXG4gICAgICB0aGlzLmhpZGVUaW1lb3V0ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaWRlRWxlVG9vbHRpcCB8fCB0aGlzLnZpc2libGUpIHJldHVybjtcclxuICAgIFxyXG4gICAgdGhpcy5jcmVhdGVUb29sdGlwKCk7XHJcbiAgICB0aGlzLnN0eWxlVG9vbHRpcCgpO1xyXG4gICAgdGhpcy5wb3NpdGlvblRvb2x0aXAoKTtcclxuICAgIFxyXG4gICAgLy8gQWRkIGFuaW1hdGlvbiB3aXRoIHJlcXVlc3RBbmltYXRpb25GcmFtZSBmb3Igc21vb3RoZXIgdHJhbnNpdGlvblxyXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMudG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcEVsZW1lbnQsICd0b29sdGlwLXZpc2libGUnKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBTaG93IGFycm93IGlmIGVuYWJsZWRcclxuICAgICAgICBpZiAodGhpcy50b29sdGlwU2hvd0Fycm93KSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcEVsZW1lbnQsICd0b29sdGlwLWFycm93LXZpc2libGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG5cclxuICAgIC8vIEFkZCBtb3VzZWxlYXZlIGV2ZW50IGxpc3RlbmVyIGlmIGludGVyYWN0aXZlXHJcbiAgICBpZiAodGhpcy50b29sdGlwSW50ZXJhY3RpdmUgJiYgdGhpcy50b29sdGlwRWxlbWVudCkge1xyXG4gICAgICB0aGlzLmludGVyYWN0aXZlTW91c2VMZWF2ZUhhbmRsZXIgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuaW50ZXJhY3RpdmVNb3VzZUxlYXZlSGFuZGxlcik7XHJcbiAgICAgIFxyXG4gICAgICAvLyBBbHNvIGFkZCBtb3VzZWVudGVyIHRvIGNhbmNlbCBhbnkgcGVuZGluZyBoaWRlXHJcbiAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhpZGUoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudmlzaWJsZSB8fCAhdGhpcy50b29sdGlwRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgJ3Rvb2x0aXAtdmlzaWJsZScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXBFbGVtZW50LCAndG9vbHRpcC1hcnJvdy12aXNpYmxlJyk7XHJcbiAgICBcclxuICAgIC8vIFVzZSB0aW1lb3V0IGZvciBzbW9vdGhlciBoaWRlIGFuaW1hdGlvblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy52aXNpYmxlKSB7IC8vIERvdWJsZS1jaGVjayBpbiBjYXNlIHRvb2x0aXAgd2FzIHJlc2hvd25cclxuICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIHRoaXMuaGlkZURlbGF5KTtcclxuICAgIFxyXG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XHJcblxyXG4gICAgdGhpcy50b29sdGlwRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcEVsZW1lbnQsICd0b29sdGlwJyk7XHJcbiAgICBcclxuICAgIC8vIEFkZCBwbGFjZW1lbnQgY2xhc3MgZm9yIGFycm93XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcEVsZW1lbnQsIGB0b29sdGlwLSR7dGhpcy50b29sdGlwUGxhY2VtZW50fWApO1xyXG4gICAgXHJcbiAgICAvLyBBZGQgdHlwZSBjbGFzcyBpZiB1c2luZyBhIHByZWRlZmluZWQgdHlwZVxyXG4gICAgaWYgKHRoaXMudG9vbHRpcFR5cGUgIT09ICdkZWZhdWx0Jykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcEVsZW1lbnQsIGB0b29sdGlwLSR7dGhpcy50b29sdGlwVHlwZX1gKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gQWRkIG11bHRpbGluZSBjbGFzcyBpZiBlbmFibGVkXHJcbiAgICBpZiAodGhpcy50b29sdGlwTXVsdGlsaW5lKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgJ3Rvb2x0aXAtbXVsdGlsaW5lJyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEFkZCBpbnRlcmFjdGl2ZSBjbGFzcyBpZiBlbmFibGVkXHJcbiAgICBpZiAodGhpcy50b29sdGlwSW50ZXJhY3RpdmUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXBFbGVtZW50LCAndG9vbHRpcC1pbnRlcmFjdGl2ZScpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBBZGQgY3VzdG9tIGNsYXNzZXMgaWYgcHJvdmlkZWRcclxuICAgIGlmICh0aGlzLnRvb2x0aXBDbGFzcykge1xyXG4gICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy50b29sdGlwQ2xhc3Muc3BsaXQoJyAnKTtcclxuICAgICAgY2xhc3Nlcy5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XHJcbiAgICAgICAgaWYgKGNsYXNzTmFtZS50cmltKCkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgY2xhc3NOYW1lLnRyaW0oKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDcmVhdGUgSFRNTCBjb250ZW50IGlmIG11bHRpbGluZVxyXG4gICAgaWYgKHRoaXMudG9vbHRpcE11bHRpbGluZSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMudG9vbHRpcEVsZW1lbnQsICdpbm5lckhUTUwnLCB0aGlzLmNpZGVFbGVUb29sdGlwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHRleHROb2RlID0gdGhpcy5yZW5kZXJlci5jcmVhdGVUZXh0KHRoaXMuY2lkZUVsZVRvb2x0aXApO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcEVsZW1lbnQsIHRleHROb2RlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXBFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3R5bGVUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRvb2x0aXBFbGVtZW50KSByZXR1cm47XHJcblxyXG4gICAgLy8gU2V0IGN1c3RvbSBDU1MgdmFyaWFibGVzIGZvciB0aGUgdG9vbHRpcCBjb2xvcnMgaWYgcHJvdmlkZWRcclxuICAgIGlmICh0aGlzLnRvb2x0aXBDb2xvcikge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICctLXRvb2x0aXAtY29sb3InLCB0aGlzLnRvb2x0aXBDb2xvcik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmICh0aGlzLnRvb2x0aXBCZykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICctLXRvb2x0aXAtYmcnLCB0aGlzLnRvb2x0aXBCZyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIFNldCBjdXN0b20gbWF4IHdpZHRoIGlmIHByb3ZpZGVkXHJcbiAgICBpZiAodGhpcy50b29sdGlwTWF4V2lkdGggJiYgdGhpcy50b29sdGlwTXVsdGlsaW5lKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJy0tdG9vbHRpcC1tYXgtd2lkdGgnLCB0aGlzLnRvb2x0aXBNYXhXaWR0aCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBvc2l0aW9uVG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50b29sdGlwRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0aGlzLnRvb2x0aXBFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgXHJcbiAgICAvLyBBY2NvdW50IGZvciBwYWdlIHNjcm9sbFxyXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHdpbmRvdy5wYWdlWE9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgXHJcbiAgICBsZXQgdG9wID0gMDtcclxuICAgIGxldCBsZWZ0ID0gMDtcclxuICAgIFxyXG4gICAgLy8gQ2FsY3VsYXRlIHBvc2l0aW9uIGJhc2VkIG9uIHBsYWNlbWVudFxyXG4gICAgc3dpdGNoICh0aGlzLnRvb2x0aXBQbGFjZW1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICB0b3AgPSBob3N0UmVjdC50b3AgKyBzY3JvbGxUb3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSA2O1xyXG4gICAgICAgIGxlZnQgPSBob3N0UmVjdC5sZWZ0ICsgc2Nyb2xsTGVmdCArIChob3N0UmVjdC53aWR0aCAvIDIpIC0gKHRvb2x0aXBSZWN0LndpZHRoIC8gMik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdG9wID0gaG9zdFJlY3QuYm90dG9tICsgc2Nyb2xsVG9wICsgNjtcclxuICAgICAgICBsZWZ0ID0gaG9zdFJlY3QubGVmdCArIHNjcm9sbExlZnQgKyAoaG9zdFJlY3Qud2lkdGggLyAyKSAtICh0b29sdGlwUmVjdC53aWR0aCAvIDIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0b3AgPSBob3N0UmVjdC50b3AgKyBzY3JvbGxUb3AgKyAoaG9zdFJlY3QuaGVpZ2h0IC8gMikgLSAodG9vbHRpcFJlY3QuaGVpZ2h0IC8gMik7XHJcbiAgICAgICAgbGVmdCA9IGhvc3RSZWN0LmxlZnQgKyBzY3JvbGxMZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLSA2O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgdG9wID0gaG9zdFJlY3QudG9wICsgc2Nyb2xsVG9wICsgKGhvc3RSZWN0LmhlaWdodCAvIDIpIC0gKHRvb2x0aXBSZWN0LmhlaWdodCAvIDIpO1xyXG4gICAgICAgIGxlZnQgPSBob3N0UmVjdC5yaWdodCArIHNjcm9sbExlZnQgKyA2O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBBZGp1c3QgaWYgdG9vbHRpcCB3b3VsZCBiZSBvdXRzaWRlIHZpZXdwb3J0XHJcbiAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIFxyXG4gICAgLy8gVG9wIGJvdW5kYXJ5IGNoZWNrXHJcbiAgICBpZiAodG9wIDwgc2Nyb2xsVG9wICsgNCkge1xyXG4gICAgICB0b3AgPSBzY3JvbGxUb3AgKyA0O1xyXG4gICAgfSBlbHNlIGlmICh0b3AgKyB0b29sdGlwUmVjdC5oZWlnaHQgPiBzY3JvbGxUb3AgKyB2aWV3cG9ydEhlaWdodCAtIDQpIHtcclxuICAgICAgdG9wID0gc2Nyb2xsVG9wICsgdmlld3BvcnRIZWlnaHQgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSA0O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBMZWZ0IGJvdW5kYXJ5IGNoZWNrXHJcbiAgICBpZiAobGVmdCA8IHNjcm9sbExlZnQgKyA0KSB7XHJcbiAgICAgIGxlZnQgPSBzY3JvbGxMZWZ0ICsgNDtcclxuICAgIH0gZWxzZSBpZiAobGVmdCArIHRvb2x0aXBSZWN0LndpZHRoID4gc2Nyb2xsTGVmdCArIHZpZXdwb3J0V2lkdGggLSA0KSB7XHJcbiAgICAgIGxlZnQgPSBzY3JvbGxMZWZ0ICsgdmlld3BvcnRXaWR0aCAtIHRvb2x0aXBSZWN0LndpZHRoIC0gNDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ3RvcCcsIGAke3RvcH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnbGVmdCcsIGAke2xlZnR9cHhgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwRWxlbWVudCkge1xyXG4gICAgICAvLyBSZW1vdmUgZXZlbnQgbGlzdGVuZXJzIGZvciBpbnRlcmFjdGl2ZSB0b29sdGlwcyB1c2luZyB0aGUgc3RvcmVkIHJlZmVyZW5jZVxyXG4gICAgICBpZiAodGhpcy50b29sdGlwSW50ZXJhY3RpdmUgJiYgdGhpcy5pbnRlcmFjdGl2ZU1vdXNlTGVhdmVIYW5kbGVyKSB7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5pbnRlcmFjdGl2ZU1vdXNlTGVhdmVIYW5kbGVyKTtcclxuICAgICAgICB0aGlzLmludGVyYWN0aXZlTW91c2VMZWF2ZUhhbmRsZXIgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnRvb2x0aXBFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHBhcmVudCwgdGhpcy50b29sdGlwRWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50b29sdGlwRWxlbWVudCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CapitalizePipe {
4
- transform(value, capitalizationMethod) {
5
- if (value) {
6
- if (capitalizationMethod === 'allUpperCase') {
7
- return value.toUpperCase();
8
- }
9
- else if (capitalizationMethod === 'titleCase') {
10
- const splitString = value
11
- .split(' ')
12
- .map((s) => `${s[0].toUpperCase()}${s.slice(1)}`);
13
- return splitString.join(' ');
14
- }
15
- else if (capitalizationMethod === 'sentenceCase') {
16
- const splitString = value.split('.').map((s) => {
17
- const trimmedString = s.trim();
18
- if (trimmedString.length > 0) {
19
- return `${trimmedString[0].toUpperCase()}${trimmedString.slice(1)}`;
20
- }
21
- return '';
22
- });
23
- return splitString.join('. ');
24
- }
25
- }
26
- return '';
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
29
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: CapitalizePipe, isStandalone: true, name: "capitalize" }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CapitalizePipe, decorators: [{
32
- type: Pipe,
33
- args: [{
34
- name: 'capitalize',
35
- standalone: true
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbGl6ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xvdWQtaWRlLWVsZW1lbnQvc3JjL2xpYi91dGlscy9waXBlcy9jYXBpdGFsaXplL2NhcGl0YWxpemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsU0FBUyxDQUNQLEtBQWEsRUFDYixvQkFBbUU7UUFFbkUsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksb0JBQW9CLEtBQUssY0FBYyxFQUFFLENBQUM7Z0JBQzVDLE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLENBQUM7aUJBQU0sSUFBSSxvQkFBb0IsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDaEQsTUFBTSxXQUFXLEdBQUcsS0FBSztxQkFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQztxQkFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsQ0FBQztpQkFBTSxJQUFJLG9CQUFvQixLQUFLLGNBQWMsRUFBRSxDQUFDO2dCQUNuRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUM3QyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQy9CLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDN0IsT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3RFLENBQUM7b0JBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzhHQTFCVSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnY2FwaXRhbGl6ZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FwaXRhbGl6ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKFxyXG4gICAgdmFsdWU6IHN0cmluZyxcclxuICAgIGNhcGl0YWxpemF0aW9uTWV0aG9kOiAnYWxsVXBwZXJDYXNlJyB8ICd0aXRsZUNhc2UnIHwgJ3NlbnRlbmNlQ2FzZSdcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGlmIChjYXBpdGFsaXphdGlvbk1ldGhvZCA9PT0gJ2FsbFVwcGVyQ2FzZScpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUudG9VcHBlckNhc2UoKTtcclxuICAgICAgfSBlbHNlIGlmIChjYXBpdGFsaXphdGlvbk1ldGhvZCA9PT0gJ3RpdGxlQ2FzZScpIHtcclxuICAgICAgICBjb25zdCBzcGxpdFN0cmluZyA9IHZhbHVlXHJcbiAgICAgICAgICAuc3BsaXQoJyAnKVxyXG4gICAgICAgICAgLm1hcCgocykgPT4gYCR7c1swXS50b1VwcGVyQ2FzZSgpfSR7cy5zbGljZSgxKX1gKTtcclxuICAgICAgICByZXR1cm4gc3BsaXRTdHJpbmcuam9pbignICcpO1xyXG4gICAgICB9IGVsc2UgaWYgKGNhcGl0YWxpemF0aW9uTWV0aG9kID09PSAnc2VudGVuY2VDYXNlJykge1xyXG4gICAgICAgIGNvbnN0IHNwbGl0U3RyaW5nID0gdmFsdWUuc3BsaXQoJy4nKS5tYXAoKHMpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRyaW1tZWRTdHJpbmcgPSBzLnRyaW0oKTtcclxuICAgICAgICAgIGlmICh0cmltbWVkU3RyaW5nLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RyaW1tZWRTdHJpbmdbMF0udG9VcHBlckNhc2UoKX0ke3RyaW1tZWRTdHJpbmcuc2xpY2UoMSl9YDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gc3BsaXRTdHJpbmcuam9pbignLiAnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,39 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class CideElementsService {
5
- constructor() {
6
- this.cide_element_data = {};
7
- this.is_cide_element_data_updated = new BehaviorSubject(false);
8
- }
9
- async getElementData(body) {
10
- return new Promise((resolve) => {
11
- const cide_element_data = this.cide_element_data[body?.sype_key];
12
- if (cide_element_data) {
13
- resolve(cide_element_data);
14
- }
15
- else {
16
- const subscription = this.is_cide_element_data_updated?.subscribe({
17
- next: (is_cide_element_data_updated) => {
18
- if (is_cide_element_data_updated) {
19
- const cide_element_data = this.cide_element_data[body?.sype_key];
20
- if (cide_element_data) {
21
- subscription?.unsubscribe();
22
- resolve(cide_element_data);
23
- }
24
- }
25
- }
26
- });
27
- }
28
- });
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideElementsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
31
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideElementsService, providedIn: 'root' }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideElementsService, decorators: [{
34
- type: Injectable,
35
- args: [{
36
- providedIn: 'root'
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nsb3VkLWlkZS1lbGVtZW50L3NyYy9saWIvdXRpbHMvc2VydmljZXMvZWxlbWVudHMvZWxlbWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS3ZDLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJRSxzQkFBaUIsR0FBaUMsRUFBRSxDQUFDO1FBQ3JELGlDQUE0QixHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQXFCckY7SUFwQkMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUEyQjtRQUM5QyxPQUFPLElBQUksT0FBTyxDQUFZLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pFLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxTQUFTLENBQUM7b0JBQ2hFLElBQUksRUFBRSxDQUFDLDRCQUFxQyxFQUFFLEVBQUU7d0JBQzlDLElBQUksNEJBQTRCLEVBQUUsQ0FBQzs0QkFDakMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDOzRCQUNqRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0NBQ3RCLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQ0FDNUIsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7NEJBQzdCLENBQUM7d0JBQ0gsQ0FBQztvQkFDSCxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBdEJVLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdldEVsZW1lbnREYXRhUmVxdWVzdCwgSUNvcmVTeXBlIH0gZnJvbSAnY2xvdWQtaWRlLWxtcy1tb2RlbCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2lkZUVsZW1lbnRzU2VydmljZSB7XHJcbiAgY2lkZV9lbGVtZW50X2RhdGE6IHsgW2tleTogc3RyaW5nXTogSUNvcmVTeXBlIH0gPSB7fTtcclxuICBpc19jaWRlX2VsZW1lbnRfZGF0YV91cGRhdGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICBhc3luYyBnZXRFbGVtZW50RGF0YShib2R5OiBHZXRFbGVtZW50RGF0YVJlcXVlc3QpOiBQcm9taXNlPElDb3JlU3lwZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPElDb3JlU3lwZT4oKHJlc29sdmUpID0+IHtcclxuICAgICAgY29uc3QgY2lkZV9lbGVtZW50X2RhdGEgPSB0aGlzLmNpZGVfZWxlbWVudF9kYXRhW2JvZHk/LnN5cGVfa2V5XTtcclxuICAgICAgaWYgKGNpZGVfZWxlbWVudF9kYXRhKSB7XHJcbiAgICAgICAgcmVzb2x2ZShjaWRlX2VsZW1lbnRfZGF0YSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5pc19jaWRlX2VsZW1lbnRfZGF0YV91cGRhdGVkPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGlzX2NpZGVfZWxlbWVudF9kYXRhX3VwZGF0ZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzX2NpZGVfZWxlbWVudF9kYXRhX3VwZGF0ZWQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBjaWRlX2VsZW1lbnRfZGF0YSA9IHRoaXMuY2lkZV9lbGVtZW50X2RhdGFbYm9keT8uc3lwZV9rZXldO1xyXG4gICAgICAgICAgICAgIGlmIChjaWRlX2VsZW1lbnRfZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShjaWRlX2VsZW1lbnRfZGF0YSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,31 +0,0 @@
1
- /*
2
- * Public API Surface of cloud-ide-element
3
- * Here we can add what need to be exported from library
4
- */
5
- export * from './lib/elements/input/input.component';
6
- export * from './lib/elements/button/cide-ele-button.component';
7
- export * from './lib/elements/spinner/spinner.component';
8
- export * from './lib/elements/icon/icon.component';
9
- export * from './lib/elements/select/select.component';
10
- export * from './lib/elements/tab/cide-ele-tab.component';
11
- export * from './lib/elements/file-input/file-input.component';
12
- export * from './lib/elements/textarea/textarea.component';
13
- export * from './lib/utils/services/elements/elements.service';
14
- export * from './lib/utils/directives/resizer/resizer.directive';
15
- export * from './lib/utils/directives/tooltip/tooltip.directive';
16
- export * from './lib/components/skeleton-loader/skeleton-loader.component';
17
- // Data Grid Component and Types
18
- export * from './lib/components/data-grid/data-grid.component';
19
- export * from './lib/components/data-grid/data-grid.types';
20
- // Dropdown Component and Service
21
- export * from './lib/components/dropdown/dropdown.component';
22
- export * from './lib/services/dropdown-manager.service';
23
- // Confirmation and Notification System
24
- export * from './lib/services/confirmation.service';
25
- export * from './lib/services/notification.service';
26
- export * from './lib/components/confirmation-modal/confirmation-modal.component';
27
- export * from './lib/components/toast-notification/toast-notification.component';
28
- export * from './lib/components/global-notifications/global-notifications.component';
29
- // JSON Editor Component
30
- export * from './lib/components/json-editor/json-editor.component';
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nsb3VkLWlkZS1lbGVtZW50L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGdDQUFnQztBQUNoQyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNENBQTRDLENBQUM7QUFFM0QsaUNBQWlDO0FBQ2pDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCx1Q0FBdUM7QUFDdkMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHNFQUFzRSxDQUFDO0FBRXJGLHdCQUF3QjtBQUN4QixjQUFjLG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjbG91ZC1pZGUtZWxlbWVudFxuICogSGVyZSB3ZSBjYW4gYWRkIHdoYXQgbmVlZCB0byBiZSBleHBvcnRlZCBmcm9tIGxpYnJhcnlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvYnV0dG9uL2NpZGUtZWxlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3RhYi9jaWRlLWVsZS10YWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3NlcnZpY2VzL2VsZW1lbnRzL2VsZW1lbnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvZGlyZWN0aXZlcy9yZXNpemVyL3Jlc2l6ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NrZWxldG9uLWxvYWRlci9za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50JztcblxuLy8gRGF0YSBHcmlkIENvbXBvbmVudCBhbmQgVHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRhLWdyaWQvZGF0YS1ncmlkLnR5cGVzJztcblxuLy8gRHJvcGRvd24gQ29tcG9uZW50IGFuZCBTZXJ2aWNlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kcm9wZG93bi1tYW5hZ2VyLnNlcnZpY2UnO1xuXG4vLyBDb25maXJtYXRpb24gYW5kIE5vdGlmaWNhdGlvbiBTeXN0ZW1cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b2FzdC1ub3RpZmljYXRpb24vdG9hc3Qtbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dsb2JhbC1ub3RpZmljYXRpb25zL2dsb2JhbC1ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XG5cbi8vIEpTT04gRWRpdG9yIENvbXBvbmVudFxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9qc29uLWVkaXRvci9qc29uLWVkaXRvci5jb21wb25lbnQnO1xuXG4iXX0=
@@ -1,16 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CideEleConfirmationModalComponent {
3
- private confirmationService;
4
- hasActiveConfirmation: import("@angular/core").Signal<boolean>;
5
- currentRequest: import("@angular/core").WritableSignal<import("../../services/confirmation.service").ConfirmationRequest<unknown> | null>;
6
- customData: import("@angular/core").WritableSignal<unknown>;
7
- getHeaderClass: import("@angular/core").Signal<string>;
8
- getIconClass: import("@angular/core").Signal<"success" | "danger" | "warning" | "info">;
9
- getConfirmButtonClass: import("@angular/core").Signal<string>;
10
- onBackdropClick(event: Event): void;
11
- onCancel(): void;
12
- onConfirm(): void;
13
- updateCustomData(data: unknown): void;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<CideEleConfirmationModalComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<CideEleConfirmationModalComponent, "cide-ele-confirmation-modal", never, {}, {}, never, never, true, never>;
16
- }