@memberjunction/ng-explorer-core 2.48.0 → 2.50.0
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/dist/app-routing.module.js +40 -53
- package/dist/app-routing.module.js.map +1 -1
- package/dist/generic/Events.types.js +104 -0
- package/dist/generic/Events.types.js.map +1 -1
- package/dist/generic/Item.types.js +28 -14
- package/dist/generic/Item.types.js.map +1 -1
- package/dist/generic/PathData.types.js +5 -0
- package/dist/generic/PathData.types.js.map +1 -1
- package/dist/generic/app-nav-view.types.js +3 -1
- package/dist/generic/app-nav-view.types.js.map +1 -1
- package/dist/lib/app-view/application-view.component.js +273 -294
- package/dist/lib/app-view/application-view.component.js.map +1 -1
- package/dist/lib/auth-button/auth-button.component.js +13 -22
- package/dist/lib/auth-button/auth-button.component.js.map +1 -1
- package/dist/lib/base-browser-component/base-browser-component.js +96 -108
- package/dist/lib/base-browser-component/base-browser-component.js.map +1 -1
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +106 -124
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +257 -281
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
- package/dist/lib/data-browser-component/data-browser.component.js +122 -137
- package/dist/lib/data-browser-component/data-browser.component.js.map +1 -1
- package/dist/lib/expansion-panel-component/expansion-panel-component.js +100 -117
- package/dist/lib/expansion-panel-component/expansion-panel-component.js.map +1 -1
- package/dist/lib/favorites/favorites.component.js +44 -54
- package/dist/lib/favorites/favorites.component.js.map +1 -1
- package/dist/lib/files/files.component.js +12 -11
- package/dist/lib/files/files.component.js.map +1 -1
- package/dist/lib/generic/form-toolbar.js +21 -20
- package/dist/lib/generic/form-toolbar.js.map +1 -1
- package/dist/lib/generic/resource-container-component.js +23 -20
- package/dist/lib/generic/resource-container-component.js.map +1 -1
- package/dist/lib/generic-browse-list/generic-browse-list.component.js +48 -46
- package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.js +353 -386
- package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -1
- package/dist/lib/guards/auth-guard.service.js +4 -2
- package/dist/lib/guards/auth-guard.service.js.map +1 -1
- package/dist/lib/guards/entities.guard.js +1 -1
- package/dist/lib/guards/entities.guard.js.map +1 -1
- package/dist/lib/header/MSFT_UserImageService.js +4 -3
- package/dist/lib/header/MSFT_UserImageService.js.map +1 -1
- package/dist/lib/header/header.component.js +111 -121
- package/dist/lib/header/header.component.js.map +1 -1
- package/dist/lib/home-component/home.component.js +34 -42
- package/dist/lib/home-component/home.component.js.map +1 -1
- package/dist/lib/home-wrapper/home-wrapper.component.js +6 -6
- package/dist/lib/home-wrapper/home-wrapper.component.js.map +1 -1
- package/dist/lib/list-view/list-view.component.js +132 -152
- package/dist/lib/list-view/list-view.component.js.map +1 -1
- package/dist/lib/navigation/navigation.component.js +568 -615
- package/dist/lib/navigation/navigation.component.js.map +1 -1
- package/dist/lib/query-browser-component/query-browser.component.js +30 -39
- package/dist/lib/query-browser-component/query-browser.component.js.map +1 -1
- package/dist/lib/report-browser-component/report-browser.component.js +18 -30
- package/dist/lib/report-browser-component/report-browser.component.js.map +1 -1
- package/dist/lib/resource-browser/resource-browser.component.js +435 -457
- package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +12 -25
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.js +18 -31
- package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/query-resource.component.js +15 -28
- package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.js +35 -47
- package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/report-resource.component.js +15 -28
- package/dist/lib/resource-wrappers/report-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +21 -34
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +23 -37
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/single-application/single-application.component.js +15 -20
- package/dist/lib/single-application/single-application.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +81 -95
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +28 -29
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +51 -64
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +158 -165
- package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
- package/dist/lib/single-entity/single-entity.component.js +106 -118
- package/dist/lib/single-entity/single-entity.component.js.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +265 -287
- package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
- package/dist/lib/single-query/single-query.component.js +35 -44
- package/dist/lib/single-query/single-query.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.js +64 -73
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/single-report/single-report.component.js +33 -43
- package/dist/lib/single-report/single-report.component.js.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +18 -30
- package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
- package/dist/lib/single-view/single-view.component.js +107 -124
- package/dist/lib/single-view/single-view.component.js.map +1 -1
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +197 -210
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +137 -155
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/lib/user-profile/user-profile.component.js +10 -8
- package/dist/lib/user-profile/user-profile.component.js.map +1 -1
- package/dist/module.js +51 -51
- package/dist/module.js.map +1 -1
- package/package.json +25 -25
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
|
|
11
2
|
import { LogError, Metadata, RunView } from '@memberjunction/core';
|
|
12
3
|
import { ResourceData } from '@memberjunction/core-entities';
|
|
@@ -131,59 +122,61 @@ function TabbedDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1)
|
|
|
131
122
|
i0.ɵɵconditional(ctx_r1.dashboards.length === 0 ? 2 : 3);
|
|
132
123
|
} }
|
|
133
124
|
export class TabbedDashboardComponent {
|
|
125
|
+
router;
|
|
126
|
+
tabstrip;
|
|
127
|
+
contentWrapper;
|
|
128
|
+
noTabsContainer;
|
|
129
|
+
tabContainer;
|
|
130
|
+
tabstripContainer;
|
|
131
|
+
/**
|
|
132
|
+
* Specify the application to display dashboards for. If not specified, the scope is global.
|
|
133
|
+
*/
|
|
134
|
+
ApplicationID = null;
|
|
135
|
+
/**
|
|
136
|
+
* Name for the default tab when no dashboards are available.
|
|
137
|
+
*/
|
|
138
|
+
DefaultTabName = 'Default';
|
|
139
|
+
/**
|
|
140
|
+
* Specify the position of the default dashboard, first, last or not shown at all.
|
|
141
|
+
*/
|
|
142
|
+
DefaultDashboardPosition = 'last';
|
|
143
|
+
dashboards = [];
|
|
144
|
+
loading = true;
|
|
145
|
+
error = null;
|
|
146
|
+
dashboardInstances = new Map();
|
|
147
|
+
dashboardComponentRefs = new Map();
|
|
134
148
|
constructor(router) {
|
|
135
149
|
this.router = router;
|
|
136
|
-
/**
|
|
137
|
-
* Specify the application to display dashboards for. If not specified, the scope is global.
|
|
138
|
-
*/
|
|
139
|
-
this.ApplicationID = null;
|
|
140
|
-
/**
|
|
141
|
-
* Name for the default tab when no dashboards are available.
|
|
142
|
-
*/
|
|
143
|
-
this.DefaultTabName = 'Default';
|
|
144
|
-
/**
|
|
145
|
-
* Specify the position of the default dashboard, first, last or not shown at all.
|
|
146
|
-
*/
|
|
147
|
-
this.DefaultDashboardPosition = 'last';
|
|
148
|
-
this.dashboards = [];
|
|
149
|
-
this.loading = true;
|
|
150
|
-
this.error = null;
|
|
151
|
-
this.dashboardInstances = new Map();
|
|
152
|
-
this.dashboardComponentRefs = new Map();
|
|
153
150
|
}
|
|
154
|
-
ngOnInit() {
|
|
155
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
-
});
|
|
151
|
+
async ngOnInit() {
|
|
157
152
|
}
|
|
158
|
-
ngAfterViewInit() {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
InvokeManualResize(100);
|
|
175
|
-
}
|
|
153
|
+
async ngAfterViewInit() {
|
|
154
|
+
try {
|
|
155
|
+
this.loading = true;
|
|
156
|
+
await this.loadDashboards();
|
|
157
|
+
// Move content after loading is complete and view might have changed
|
|
158
|
+
setTimeout(() => {
|
|
159
|
+
// Move content to appropriate container after view is initialized
|
|
160
|
+
this.moveContentToCorrectContainer();
|
|
161
|
+
// if the first tab is the default tab, nothing to do, otherwise we need to do the loading of the first tab since it is dynamic content
|
|
162
|
+
if (this.DefaultDashboardPosition !== 'first' && this.dashboards.length > 0) {
|
|
163
|
+
const dashboardId = this.dashboards[0].ID;
|
|
164
|
+
const instance = this.getDashboardInstance(dashboardId);
|
|
165
|
+
if (instance) {
|
|
166
|
+
instance.SetVisible(true);
|
|
167
|
+
// now, we need to invoke a manual resize to ensure everything shows up right
|
|
168
|
+
InvokeManualResize(100);
|
|
176
169
|
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
170
|
+
}
|
|
171
|
+
}, 10);
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
LogError('Error in TabbedDashboardComponent.ngOnInit', null, error);
|
|
175
|
+
this.error = 'Failed to load dashboards';
|
|
176
|
+
}
|
|
177
|
+
finally {
|
|
178
|
+
this.loading = false;
|
|
179
|
+
}
|
|
187
180
|
}
|
|
188
181
|
moveContentToCorrectContainer() {
|
|
189
182
|
if (this.contentWrapper) {
|
|
@@ -198,74 +191,72 @@ export class TabbedDashboardComponent {
|
|
|
198
191
|
}
|
|
199
192
|
}
|
|
200
193
|
}
|
|
201
|
-
loadDashboards() {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
const filter = `(${userFilter})
|
|
194
|
+
async loadDashboards() {
|
|
195
|
+
try {
|
|
196
|
+
const md = new Metadata();
|
|
197
|
+
const rv = new RunView();
|
|
198
|
+
const appFilter = this.ApplicationID ? ` AND ApplicationID='${this.ApplicationID}'` : '';
|
|
199
|
+
const ds = await md.GetAndCacheDatasetByName("MJ_Metadata"); // get the main MJ_Metadata dataset which is usually already cached
|
|
200
|
+
if (!ds || !ds.Success) {
|
|
201
|
+
this.error = ds.Status || 'Failed to load metadata dataset';
|
|
202
|
+
this.dashboards = [];
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const dashList = ds.Results.find(r => r.Code === 'Dashboards');
|
|
206
|
+
if (!dashList) {
|
|
207
|
+
this.error = 'Dashboards dataset not found';
|
|
208
|
+
this.dashboards = [];
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
// now get the data from the dataset which is usually cached
|
|
212
|
+
const scope = this.ApplicationID ? 'App' : 'Global';
|
|
213
|
+
const baseCondition = `Scope='${scope}'${appFilter}`;
|
|
214
|
+
const userFilter = `UserID='${md.CurrentUser.ID}' AND ${baseCondition}`;
|
|
215
|
+
const upEntity = md.EntityByName('MJ: Dashboard User Preferences');
|
|
216
|
+
const filter = `(${userFilter})
|
|
225
217
|
OR
|
|
226
218
|
(UserID IS NULL AND ${baseCondition} AND
|
|
227
219
|
NOT EXISTS (SELECT 1 FROM [${upEntity.SchemaName}].[${upEntity.BaseView}]
|
|
228
220
|
WHERE ${userFilter}))`;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
221
|
+
const params = {
|
|
222
|
+
EntityName: 'MJ: Dashboard User Preferences',
|
|
223
|
+
ExtraFilter: filter,
|
|
224
|
+
ResultType: 'entity_object',
|
|
225
|
+
OrderBy: 'DisplayOrder',
|
|
226
|
+
};
|
|
227
|
+
const prefsResult = await rv.RunView(params); // Use RunView for user preferences because we don't want to cache this data as it would cause cache being refreshed all the time since
|
|
228
|
+
// user preferences can change frequently and we want to ensure we always have the latest preferences for the current user
|
|
229
|
+
if (prefsResult && prefsResult.Success && prefsResult.Results.length > 0) {
|
|
230
|
+
const dashResults = dashList.Results.filter((d) => {
|
|
231
|
+
return prefsResult.Results.some((p) => p.DashboardID === d.ID);
|
|
232
|
+
});
|
|
233
|
+
if (dashResults.length > 0) {
|
|
234
|
+
// now sort the dashboards based on the user preferences
|
|
235
|
+
this.dashboards = dashResults.sort((a, b) => {
|
|
236
|
+
const prefA = prefsResult.Results.find(p => p.DashboardID === a.ID);
|
|
237
|
+
const prefB = prefsResult.Results.find(p => p.DashboardID === b.ID);
|
|
238
|
+
if (prefA && prefB) {
|
|
239
|
+
// we want to sort by DisplayOrder where lower numbers come first
|
|
240
|
+
return (prefA.DisplayOrder || 0) - (prefB.DisplayOrder || 0);
|
|
241
|
+
}
|
|
242
|
+
return 0;
|
|
240
243
|
});
|
|
241
|
-
if (dashResults.length > 0) {
|
|
242
|
-
// now sort the dashboards based on the user preferences
|
|
243
|
-
this.dashboards = dashResults.sort((a, b) => {
|
|
244
|
-
const prefA = prefsResult.Results.find(p => p.DashboardID === a.ID);
|
|
245
|
-
const prefB = prefsResult.Results.find(p => p.DashboardID === b.ID);
|
|
246
|
-
if (prefA && prefB) {
|
|
247
|
-
// we want to sort by DisplayOrder where lower numbers come first
|
|
248
|
-
return (prefA.DisplayOrder || 0) - (prefB.DisplayOrder || 0);
|
|
249
|
-
}
|
|
250
|
-
return 0;
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
this.error = 'Failed to load dashboards';
|
|
255
|
-
this.dashboards = [];
|
|
256
|
-
}
|
|
257
244
|
}
|
|
258
245
|
else {
|
|
259
|
-
|
|
246
|
+
this.error = 'Failed to load dashboards';
|
|
260
247
|
this.dashboards = [];
|
|
261
248
|
}
|
|
262
249
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
this.error = 'Failed to load dashboards';
|
|
250
|
+
else {
|
|
251
|
+
// No dashboard preferences found - this is normal, show default content
|
|
266
252
|
this.dashboards = [];
|
|
267
253
|
}
|
|
268
|
-
}
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
LogError('Error loading dashboards', null, error);
|
|
257
|
+
this.error = 'Failed to load dashboards';
|
|
258
|
+
this.dashboards = [];
|
|
259
|
+
}
|
|
269
260
|
}
|
|
270
261
|
getDashboardInstance(dashboardId) {
|
|
271
262
|
if (!this.dashboardInstances.has(dashboardId)) {
|
|
@@ -310,11 +301,11 @@ export class TabbedDashboardComponent {
|
|
|
310
301
|
this.dashboardInstances.set(dashboardId, instance);
|
|
311
302
|
this.dashboardComponentRefs.set(dashboardId, componentRef);
|
|
312
303
|
// Find the target container element and append the component
|
|
313
|
-
setTimeout(() =>
|
|
304
|
+
setTimeout(async () => {
|
|
314
305
|
const targetElement = document.getElementById(`dashboard-${dashboardId}`);
|
|
315
306
|
if (targetElement && componentRef.location.nativeElement) {
|
|
316
307
|
targetElement.appendChild(componentRef.location.nativeElement);
|
|
317
|
-
const userStateEntity =
|
|
308
|
+
const userStateEntity = await this.loadDashboardUserState(dashboardId);
|
|
318
309
|
const config = {
|
|
319
310
|
dashboard: dashboardEntity,
|
|
320
311
|
userState: userStateEntity.UserState ? SafeJSONParse(userStateEntity.UserState) : {}
|
|
@@ -327,30 +318,30 @@ export class TabbedDashboardComponent {
|
|
|
327
318
|
this.router.navigate(['resource', 'record', data.RecordPKey.ToURLSegment()], { queryParams: { Entity: data.EntityName } });
|
|
328
319
|
}
|
|
329
320
|
});
|
|
330
|
-
instance.UserStateChanged.subscribe((userState) =>
|
|
321
|
+
instance.UserStateChanged.subscribe(async (userState) => {
|
|
331
322
|
if (!userState) {
|
|
332
323
|
// if the user state is null, we need to remove it from the user state
|
|
333
324
|
userState = {};
|
|
334
325
|
}
|
|
335
326
|
// save the user state to the dashboard user state entity
|
|
336
327
|
userStateEntity.UserState = JSON.stringify(userState);
|
|
337
|
-
if (!
|
|
328
|
+
if (!await userStateEntity.Save()) {
|
|
338
329
|
LogError('Error saving user state', null, userStateEntity.LatestResult.Error);
|
|
339
330
|
}
|
|
340
|
-
})
|
|
331
|
+
});
|
|
341
332
|
// now that we have state loaded and our events are wired up, we can set the config
|
|
342
333
|
instance.Config = config;
|
|
343
334
|
instance.Refresh();
|
|
344
335
|
// now invoke a manual resize
|
|
345
336
|
InvokeManualResize(100);
|
|
346
337
|
}
|
|
347
|
-
}
|
|
338
|
+
}, 0);
|
|
348
339
|
return instance;
|
|
349
340
|
}
|
|
350
341
|
}
|
|
351
342
|
catch (error) {
|
|
352
343
|
const dashboardEntity = this.dashboards.find(d => d.ID === dashboardId);
|
|
353
|
-
const errorMsg = `Error creating dashboard instance for '${
|
|
344
|
+
const errorMsg = `Error creating dashboard instance for '${dashboardEntity?.Name || dashboardId}'`;
|
|
354
345
|
console.error(errorMsg, error);
|
|
355
346
|
LogError(errorMsg, null, error);
|
|
356
347
|
this.displayDashboardError(dashboardId, 'Dashboard loading error', 'An unexpected error occurred while loading the dashboard. Please contact your system administrator.');
|
|
@@ -374,28 +365,26 @@ export class TabbedDashboardComponent {
|
|
|
374
365
|
}
|
|
375
366
|
}, 0);
|
|
376
367
|
}
|
|
377
|
-
loadDashboardUserState(dashboardId) {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
ResultType: 'entity_object',
|
|
386
|
-
});
|
|
387
|
-
let stateObject;
|
|
388
|
-
if (stateResult && stateResult.Success && stateResult.Results.length > 0) {
|
|
389
|
-
stateObject = stateResult.Results[0];
|
|
390
|
-
}
|
|
391
|
-
else {
|
|
392
|
-
stateObject = yield md.GetEntityObject('MJ: Dashboard User States');
|
|
393
|
-
stateObject.DashboardID = dashboardId;
|
|
394
|
-
stateObject.UserID = md.CurrentUser.ID;
|
|
395
|
-
// don't save becuase we don't care about the state until something changes
|
|
396
|
-
}
|
|
397
|
-
return stateObject;
|
|
368
|
+
async loadDashboardUserState(dashboardId) {
|
|
369
|
+
// handle user state changes for the dashboard
|
|
370
|
+
const rv = new RunView();
|
|
371
|
+
const md = new Metadata();
|
|
372
|
+
const stateResult = await rv.RunView({
|
|
373
|
+
EntityName: 'MJ: Dashboard User States',
|
|
374
|
+
ExtraFilter: `DashboardID='${dashboardId}' AND UserID='${md.CurrentUser.ID}'`,
|
|
375
|
+
ResultType: 'entity_object',
|
|
398
376
|
});
|
|
377
|
+
let stateObject;
|
|
378
|
+
if (stateResult && stateResult.Success && stateResult.Results.length > 0) {
|
|
379
|
+
stateObject = stateResult.Results[0];
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
stateObject = await md.GetEntityObject('MJ: Dashboard User States');
|
|
383
|
+
stateObject.DashboardID = dashboardId;
|
|
384
|
+
stateObject.UserID = md.CurrentUser.ID;
|
|
385
|
+
// don't save becuase we don't care about the state until something changes
|
|
386
|
+
}
|
|
387
|
+
return stateObject;
|
|
399
388
|
}
|
|
400
389
|
onTabSelect(tabIndex) {
|
|
401
390
|
// Initialize the dashboard if needed when its tab is selected
|
|
@@ -451,41 +440,39 @@ export class TabbedDashboardComponent {
|
|
|
451
440
|
LogError('Error opening preferences dialog', null, error);
|
|
452
441
|
}
|
|
453
442
|
}
|
|
454
|
-
refreshDashboards() {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
InvokeManualResize(100);
|
|
477
|
-
}
|
|
443
|
+
async refreshDashboards() {
|
|
444
|
+
try {
|
|
445
|
+
this.loading = true;
|
|
446
|
+
this.error = null;
|
|
447
|
+
// Clear existing dashboard instances
|
|
448
|
+
this.dashboardComponentRefs.forEach(componentRef => {
|
|
449
|
+
componentRef.destroy();
|
|
450
|
+
});
|
|
451
|
+
this.dashboardComponentRefs.clear();
|
|
452
|
+
this.dashboardInstances.clear();
|
|
453
|
+
// Reload dashboards
|
|
454
|
+
await this.loadDashboards();
|
|
455
|
+
// Move content to correct container
|
|
456
|
+
setTimeout(() => {
|
|
457
|
+
this.moveContentToCorrectContainer();
|
|
458
|
+
// Load first dashboard if available
|
|
459
|
+
if (this.DefaultDashboardPosition !== 'first' && this.dashboards.length > 0) {
|
|
460
|
+
const dashboardId = this.dashboards[0].ID;
|
|
461
|
+
const instance = this.getDashboardInstance(dashboardId);
|
|
462
|
+
if (instance) {
|
|
463
|
+
instance.SetVisible(true);
|
|
464
|
+
InvokeManualResize(100);
|
|
478
465
|
}
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
}
|
|
466
|
+
}
|
|
467
|
+
}, 10);
|
|
468
|
+
}
|
|
469
|
+
catch (error) {
|
|
470
|
+
LogError('Error refreshing dashboards', null, error);
|
|
471
|
+
this.error = 'Failed to refresh dashboards';
|
|
472
|
+
}
|
|
473
|
+
finally {
|
|
474
|
+
this.loading = false;
|
|
475
|
+
}
|
|
489
476
|
}
|
|
490
477
|
ngOnDestroy() {
|
|
491
478
|
// Clean up component references
|
|
@@ -495,42 +482,42 @@ export class TabbedDashboardComponent {
|
|
|
495
482
|
this.dashboardComponentRefs.clear();
|
|
496
483
|
this.dashboardInstances.clear();
|
|
497
484
|
}
|
|
485
|
+
static ɵfac = function TabbedDashboardComponent_Factory(t) { return new (t || TabbedDashboardComponent)(i0.ɵɵdirectiveInject(i1.Router)); };
|
|
486
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabbedDashboardComponent, selectors: [["mj-tabbed-dashboard"]], viewQuery: function TabbedDashboardComponent_Query(rf, ctx) { if (rf & 1) {
|
|
487
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
488
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
489
|
+
i0.ɵɵviewQuery(_c2, 5);
|
|
490
|
+
i0.ɵɵviewQuery(_c3, 5);
|
|
491
|
+
i0.ɵɵviewQuery(_c4, 5, ViewContainerRef);
|
|
492
|
+
} if (rf & 2) {
|
|
493
|
+
let _t;
|
|
494
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabstrip = _t.first);
|
|
495
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentWrapper = _t.first);
|
|
496
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.noTabsContainer = _t.first);
|
|
497
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabContainer = _t.first);
|
|
498
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabstripContainer = _t.first);
|
|
499
|
+
} }, inputs: { ApplicationID: "ApplicationID", DefaultTabName: "DefaultTabName", DefaultDashboardPosition: "DefaultDashboardPosition" }, ngContentSelectors: _c5, decls: 9, vars: 5, consts: [["contentWrapper", ""], ["tabstripContainer", ""], ["noTabsContainer", ""], ["tabstrip", ""], ["tabContainer", ""], ["mjFillContainer", "", 1, "tabbed-dashboard-container", 3, "rightMargin", "bottomMargin"], ["type", "button", "title", "Dashboard Preferences", 1, "preferences-button", 3, "click"], [1, "fa-solid", "fa-cog"], [1, "loading-indicator"], [1, "error-message"], ["mjFillContainer", ""], [2, "display", "none"], ["mjFillContainer", "", 3, "TabSelected"], [3, "Name"], [1, "fa-solid", "tab-icon"], [1, "fa-solid", "fa-grip", "tab-icon"], ["mjFillContainer", "", 1, "dashboard-container"], ["mjFillContainer", "", 1, "dashboard-instance", 3, "id"]], template: function TabbedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
500
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
501
|
+
i0.ɵɵprojectionDef();
|
|
502
|
+
i0.ɵɵelementStart(0, "div", 5)(1, "button", 6);
|
|
503
|
+
i0.ɵɵlistener("click", function TabbedDashboardComponent_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openPreferencesDialog()); });
|
|
504
|
+
i0.ɵɵelement(2, "i", 7);
|
|
505
|
+
i0.ɵɵelementEnd();
|
|
506
|
+
i0.ɵɵtemplate(3, TabbedDashboardComponent_Conditional_3_Template, 3, 0, "div", 8)(4, TabbedDashboardComponent_Conditional_4_Template, 2, 1, "div", 9)(5, TabbedDashboardComponent_Conditional_5_Template, 4, 1, "div", 10);
|
|
507
|
+
i0.ɵɵelementEnd();
|
|
508
|
+
i0.ɵɵelementStart(6, "div", 11, 0);
|
|
509
|
+
i0.ɵɵprojection(8);
|
|
510
|
+
i0.ɵɵelementEnd();
|
|
511
|
+
} if (rf & 2) {
|
|
512
|
+
i0.ɵɵproperty("rightMargin", 10)("bottomMargin", 10);
|
|
513
|
+
i0.ɵɵadvance(3);
|
|
514
|
+
i0.ɵɵconditional(ctx.loading ? 3 : -1);
|
|
515
|
+
i0.ɵɵadvance();
|
|
516
|
+
i0.ɵɵconditional(ctx.error ? 4 : -1);
|
|
517
|
+
i0.ɵɵadvance();
|
|
518
|
+
i0.ɵɵconditional(!ctx.loading && !ctx.error ? 5 : -1);
|
|
519
|
+
} }, dependencies: [i2.LoaderComponent, i3.FillContainer, i4.MJTabStripComponent, i4.MJTabBodyComponent, i4.MJTabComponent], styles: [".tabbed-dashboard-container[_ngcontent-%COMP%] {\n border: solid 1px white;\n background-color: white;\n position: relative;\n}\n\n.preferences-button[_ngcontent-%COMP%] {\n position: absolute;\n top: 4px;\n right: 12px;\n z-index: 1000;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n width: 26px;\n height: 26px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: #666;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.preferences-button[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n border-color: #007bff;\n color: #007bff;\n box-shadow: 0 4px 8px rgba(0, 123, 255, 0.15);\n}\n\n.preferences-button[_ngcontent-%COMP%]:active {\n transform: translateY(1px);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.loading-indicator[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n font-size: 1.2rem;\n color: #666;\n}\n\n.error-message[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n font-size: 1.2rem;\n color: #d9534f;\n}\n\n.dashboard-container[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n overflow: auto;\n}\n\n.dashboard-instance-container[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n}\n\n.dashboard-placeholder[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n font-size: 1.2rem;\n color: #666;\n border: 1px dashed #ccc;\n padding: 20px;\n}\n\n.tab-icon[_ngcontent-%COMP%] {\n margin-right: 8px;\n}"] });
|
|
498
520
|
}
|
|
499
|
-
TabbedDashboardComponent.ɵfac = function TabbedDashboardComponent_Factory(t) { return new (t || TabbedDashboardComponent)(i0.ɵɵdirectiveInject(i1.Router)); };
|
|
500
|
-
TabbedDashboardComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabbedDashboardComponent, selectors: [["mj-tabbed-dashboard"]], viewQuery: function TabbedDashboardComponent_Query(rf, ctx) { if (rf & 1) {
|
|
501
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
502
|
-
i0.ɵɵviewQuery(_c1, 5);
|
|
503
|
-
i0.ɵɵviewQuery(_c2, 5);
|
|
504
|
-
i0.ɵɵviewQuery(_c3, 5);
|
|
505
|
-
i0.ɵɵviewQuery(_c4, 5, ViewContainerRef);
|
|
506
|
-
} if (rf & 2) {
|
|
507
|
-
let _t;
|
|
508
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabstrip = _t.first);
|
|
509
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentWrapper = _t.first);
|
|
510
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.noTabsContainer = _t.first);
|
|
511
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabContainer = _t.first);
|
|
512
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabstripContainer = _t.first);
|
|
513
|
-
} }, inputs: { ApplicationID: "ApplicationID", DefaultTabName: "DefaultTabName", DefaultDashboardPosition: "DefaultDashboardPosition" }, ngContentSelectors: _c5, decls: 9, vars: 5, consts: [["contentWrapper", ""], ["tabstripContainer", ""], ["noTabsContainer", ""], ["tabstrip", ""], ["tabContainer", ""], ["mjFillContainer", "", 1, "tabbed-dashboard-container", 3, "rightMargin", "bottomMargin"], ["type", "button", "title", "Dashboard Preferences", 1, "preferences-button", 3, "click"], [1, "fa-solid", "fa-cog"], [1, "loading-indicator"], [1, "error-message"], ["mjFillContainer", ""], [2, "display", "none"], ["mjFillContainer", "", 3, "TabSelected"], [3, "Name"], [1, "fa-solid", "tab-icon"], [1, "fa-solid", "fa-grip", "tab-icon"], ["mjFillContainer", "", 1, "dashboard-container"], ["mjFillContainer", "", 1, "dashboard-instance", 3, "id"]], template: function TabbedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
514
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
515
|
-
i0.ɵɵprojectionDef();
|
|
516
|
-
i0.ɵɵelementStart(0, "div", 5)(1, "button", 6);
|
|
517
|
-
i0.ɵɵlistener("click", function TabbedDashboardComponent_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openPreferencesDialog()); });
|
|
518
|
-
i0.ɵɵelement(2, "i", 7);
|
|
519
|
-
i0.ɵɵelementEnd();
|
|
520
|
-
i0.ɵɵtemplate(3, TabbedDashboardComponent_Conditional_3_Template, 3, 0, "div", 8)(4, TabbedDashboardComponent_Conditional_4_Template, 2, 1, "div", 9)(5, TabbedDashboardComponent_Conditional_5_Template, 4, 1, "div", 10);
|
|
521
|
-
i0.ɵɵelementEnd();
|
|
522
|
-
i0.ɵɵelementStart(6, "div", 11, 0);
|
|
523
|
-
i0.ɵɵprojection(8);
|
|
524
|
-
i0.ɵɵelementEnd();
|
|
525
|
-
} if (rf & 2) {
|
|
526
|
-
i0.ɵɵproperty("rightMargin", 10)("bottomMargin", 10);
|
|
527
|
-
i0.ɵɵadvance(3);
|
|
528
|
-
i0.ɵɵconditional(ctx.loading ? 3 : -1);
|
|
529
|
-
i0.ɵɵadvance();
|
|
530
|
-
i0.ɵɵconditional(ctx.error ? 4 : -1);
|
|
531
|
-
i0.ɵɵadvance();
|
|
532
|
-
i0.ɵɵconditional(!ctx.loading && !ctx.error ? 5 : -1);
|
|
533
|
-
} }, dependencies: [i2.LoaderComponent, i3.FillContainer, i4.MJTabStripComponent, i4.MJTabBodyComponent, i4.MJTabComponent], styles: [".tabbed-dashboard-container[_ngcontent-%COMP%] {\n border: solid 1px white;\n background-color: white;\n position: relative;\n}\n\n.preferences-button[_ngcontent-%COMP%] {\n position: absolute;\n top: 4px;\n right: 12px;\n z-index: 1000;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n width: 26px;\n height: 26px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: #666;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.preferences-button[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n border-color: #007bff;\n color: #007bff;\n box-shadow: 0 4px 8px rgba(0, 123, 255, 0.15);\n}\n\n.preferences-button[_ngcontent-%COMP%]:active {\n transform: translateY(1px);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.loading-indicator[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n font-size: 1.2rem;\n color: #666;\n}\n\n.error-message[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n font-size: 1.2rem;\n color: #d9534f;\n}\n\n.dashboard-container[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n overflow: auto;\n}\n\n.dashboard-instance-container[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n}\n\n.dashboard-placeholder[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n font-size: 1.2rem;\n color: #666;\n border: 1px dashed #ccc;\n padding: 20px;\n}\n\n.tab-icon[_ngcontent-%COMP%] {\n margin-right: 8px;\n}"] });
|
|
534
521
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabbedDashboardComponent, [{
|
|
535
522
|
type: Component,
|
|
536
523
|
args: [{ selector: 'mj-tabbed-dashboard', template: "<div class=\"tabbed-dashboard-container\" mjFillContainer [rightMargin]=\"10\" [bottomMargin]=\"10\">\n <!-- Dashboard Preferences Button -->\n <button type=\"button\" \n class=\"preferences-button\"\n (click)=\"openPreferencesDialog()\"\n title=\"Dashboard Preferences\">\n <i class=\"fa-solid fa-cog\"></i>\n </button>\n\n @if (loading) {\n <div class=\"loading-indicator\">\n Loading dashboards...\n <kendo-loader></kendo-loader>\n </div>\n }\n \n @if (error) {\n <div class=\"error-message\">\n {{ error }}\n </div>\n }\n \n @if (!loading && !error) {\n <div #tabstripContainer mjFillContainer>\n @if (dashboards.length === 0) {\n <!-- Show default content without any tabs, if no dashboards are set for this user, cleaner this way -->\n <div #noTabsContainer></div>\n }\n @else {\n <!-- Show tab strip with dashboards -->\n <mj-tabstrip #tabstrip (TabSelected)=\"onTabSelect($event.index)\" mjFillContainer>\n <!-- Show default tab if no dashboards are available -->\n @if (DefaultDashboardPosition === 'first') {\n <mj-tab [Name]=\"DefaultTabName\">\n <span class=\"fa-solid tab-icon\"></span>\n {{ DefaultTabName }}\n </mj-tab>\n }\n \n <!-- Show dashboard tabs -->\n @for (dashboard of dashboards; track dashboard.ID; let i = $index) {\n <mj-tab [Name]=\"dashboard.Name\">\n <span class=\"fa-solid fa-grip tab-icon\"></span>\n {{ dashboard.Name }}\n </mj-tab>\n }\n\n @if (DefaultDashboardPosition === 'last') {\n <mj-tab [Name]=\"DefaultTabName\">\n <span class=\"fa-solid tab-icon\"></span>\n {{ DefaultTabName }}\n </mj-tab>\n }\n\n <!-- ****** -->\n <!-- TAB BODIES -->\n <!-- ****** -->\n \n <!-- Default tab body when it is shown first -->\n @if (DefaultDashboardPosition === 'first') {\n <mj-tab-body>\n <div class=\"dashboard-container\" mjFillContainer>\n <div #tabContainer mjFillContainer></div>\n </div>\n </mj-tab-body>\n }\n \n <!-- Dashboard tab bodies -->\n @for (dashboard of dashboards; track dashboard.ID; let i = $index) {\n <mj-tab-body>\n <div class=\"dashboard-container\" mjFillContainer>\n <div id=\"dashboard-{{ dashboard.ID }}\" class=\"dashboard-instance\" mjFillContainer>\n </div>\n </div>\n </mj-tab-body>\n }\n\n <!-- Default tab body, when it is shown last -->\n @if (DefaultDashboardPosition === 'last') {\n <mj-tab-body>\n <div class=\"dashboard-container\" mjFillContainer>\n <div #tabContainer mjFillContainer></div>\n </div>\n </mj-tab-body>\n }\n </mj-tabstrip>\n }\n </div>\n }\n</div>\n\n<!-- Single ng-content that will be moved programmatically -->\n<div #contentWrapper style=\"display: none;\">\n <ng-content></ng-content>\n</div>", styles: [".tabbed-dashboard-container {\n border: solid 1px white;\n background-color: white;\n position: relative;\n}\n\n.preferences-button {\n position: absolute;\n top: 4px;\n right: 12px;\n z-index: 1000;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n width: 26px;\n height: 26px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: #666;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.preferences-button:hover {\n background: #f8f9fa;\n border-color: #007bff;\n color: #007bff;\n box-shadow: 0 4px 8px rgba(0, 123, 255, 0.15);\n}\n\n.preferences-button:active {\n transform: translateY(1px);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.loading-indicator {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n font-size: 1.2rem;\n color: #666;\n}\n\n.error-message {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n font-size: 1.2rem;\n color: #d9534f;\n}\n\n.dashboard-container {\n height: 100%;\n width: 100%;\n overflow: auto;\n}\n\n.dashboard-instance-container {\n height: 100%;\n width: 100%;\n}\n\n.dashboard-placeholder {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n font-size: 1.2rem;\n color: #666;\n border: 1px dashed #ccc;\n padding: 20px;\n}\n\n.tab-icon {\n margin-right: 8px;\n}"] }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbed-dashboard.component.js","sourceRoot":"","sources":["../../../src/lib/tabbed-dashboard/tabbed-dashboard.component.ts","../../../src/lib/tabbed-dashboard/tabbed-dashboard.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabbed-dashboard.component.js","sourceRoot":"","sources":["../../../src/lib/tabbed-dashboard/tabbed-dashboard.component.ts","../../../src/lib/tabbed-dashboard/tabbed-dashboard.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAU,SAAS,EAA6B,gBAAgB,EAA2B,MAAM,eAAe,CAAC;AAC1I,OAAO,EAAgB,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAA4E,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACvI,OAAO,EAAE,aAAa,EAAmB,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGrF,OAAO,EAAE,mCAAmC,EAA8B,MAAM,wEAAwE,CAAC;AACzJ,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;;;;;;;;;;;;;;ICEtF,8BAA+B;IAC7B,uCACA;IAAA,+BAA6B;IAC/B,iBAAM;;;IAIN,8BAA2B;IACzB,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,6CACF;;;IAOI,+BAA4B;;;IAOxB,kCAAgC;IAC9B,2BAAuC;IACvC,YACF;IAAA,iBAAS;;;IAHD,4CAAuB;IAE7B,eACF;IADE,sDACF;;;IAKA,kCAAgC;IAC9B,2BAA+C;IAC/C,YACF;IAAA,iBAAS;;;IAHD,wCAAuB;IAE7B,eACF;IADE,kDACF;;;IAIA,kCAAgC;IAC9B,2BAAuC;IACvC,YACF;IAAA,iBAAS;;;IAHD,4CAAuB;IAE7B,eACF;IADE,sDACF;;;IAUE,AADF,mCAAa,cACsC;IAC/C,6BAAyC;IAE7C,AADE,iBAAM,EACM;;;IAMZ,AADF,mCAAa,cACsC;IAC/C,0BACM;IAEV,AADE,iBAAM,EACM;;;IAHL,eAAiC;IAAjC,kEAAiC;;;IASxC,AADF,mCAAa,cACsC;IAC/C,6BAAyC;IAE7C,AADE,iBAAM,EACM;;;;IArDlB,0CAAiF;IAA1D,kOAAe,gCAAyB,KAAC;IAE9D,iHAA4C;IAQ5C,2HAKC;IAcD,AAZA,iHAA2C,qGAYC;IAS5C,kIAOC;IAGD,kHAA2C;IAO7C,iBAAc;;;IArDZ,eAKC;IALD,sEAKC;IAGD,cAKC;IALD,gCAKC;IAED,eAKC;IALD,qEAKC;IAOD,cAMC;IAND,sEAMC;IAGD,cAOC;IAPD,gCAOC;IAGD,eAMC;IAND,qEAMC;;;IA7DP,kCAAwC;IAKtC,AAJA,4FAA+B,4FAIxB;IA2DT,iBAAM;;;IA/DJ,eA8DC;IA9DD,wDA8DC;;ADvEP,MAAM,OAAO,wBAAwB;IA6Bf;IA5BG,QAAQ,CAAuB;IACzB,cAAc,CAAc;IAC3B,eAAe,CAAc;IAChC,YAAY,CAAc;IACO,iBAAiB,CAAoB;IAEjG;;OAEG;IACa,aAAa,GAAkB,IAAI,CAAC;IAEpD;;OAEG;IACa,cAAc,GAAW,SAAS,CAAC;IAEnD;;OAEG;IACa,wBAAwB,GAA8B,MAAM,CAAC;IAEtE,UAAU,GAAsB,EAAE,CAAC;IACnC,OAAO,GAAY,IAAI,CAAC;IACxB,KAAK,GAAkB,IAAI,CAAC;IAE3B,kBAAkB,GAA+B,IAAI,GAAG,EAAE,CAAC;IAC3D,sBAAsB,GAA6C,IAAI,GAAG,EAAE,CAAC;IAErF,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEtC,KAAK,CAAC,QAAQ;IACd,CAAC;IAGD,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,qEAAqE;YACrE,UAAU,CAAC,GAAG,EAAE;gBACd,kEAAkE;gBAClE,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAErC,uIAAuI;gBACvI,IAAI,IAAI,CAAC,wBAAwB,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACxD,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC1B,6EAA6E;wBAC7E,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,4CAA4C,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,GAAG,2BAA2B,CAAC;QAC3C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,6BAA6B;QACnC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC3D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzF,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,mEAAmE;YAChI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,IAAI,iCAAiC,CAAC;gBAC5D,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,GAAG,8BAA8B,CAAC;gBAC5C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,4DAA4D;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpD,MAAM,aAAa,GAAG,UAAU,KAAK,IAAI,SAAS,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAW,IAAI,UAAU;;oDAES,aAAa;2DACN,QAAQ,CAAC,UAAU,MAAM,QAAQ,CAAC,QAAQ;gDACrD,UAAU,IAAI,CAAC;YAEzD,MAAM,MAAM,GAAkB;gBAC5B,UAAU,EAAE,gCAAgC;gBAC5C,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,eAAe;gBAC3B,OAAO,EAAE,cAAc;aACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAgC,MAAM,CAAC,CAAC,CAAC,uIAAuI;YACvI,8HAA8H;YAC3M,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAkB,EAAE,EAAE;oBACjE,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAgC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,wDAAwD;oBACxD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpE,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;4BACnB,iEAAiE;4BACjE,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;wBAC/D,CAAC;wBACD,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;gBACL,CAAC;qBACI,CAAC;oBACJ,IAAI,CAAC,KAAK,GAAG,2BAA2B,CAAC;oBACzC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,0BAA0B,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,2BAA2B,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,oBAAoB,CAAC,WAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,qDAAqD;gBACrD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;gBACxE,IAAI,eAAe,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC9C,wEAAwE;oBACxE,IAAI,QAAmC,CAAC;oBACxC,IAAI,YAAyC,CAAC;oBAC9C,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,WAAY,CAAC,CAAC;wBAC9G,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;4BACtC,wBAAwB;4BACxB,MAAM,QAAQ,GAAG,oBAAoB,eAAe,CAAC,WAAW,aAAa,CAAC;4BAC9E,OAAO,CAAC,KAAK,CAAC,4BAA4B,eAAe,CAAC,IAAI,MAAM,QAAQ,EAAE,CAAC,CAAC;4BAChF,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,sCAAsC,eAAe,CAAC,WAAW,EAAE,EAAE,kFAAkF,CAAC,CAAC;4BACjM,OAAO,SAAS,CAAC;wBACnB,CAAC;wBAED,mCAAmC;wBACnC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAgB,SAAS,CAAC,QAAQ,CAAC,CAAC;wBACzF,QAAQ,GAAG,YAAY,CAAC,QAAyB,CAAC;oBACpD,CAAC;yBACI,CAAC;wBACJ,mDAAmD;wBACnD,mCAAmC;wBACnC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAgB,wBAAwB,CAAC,CAAC;wBAC/F,QAAQ,GAAG,YAAY,CAAC,QAAyB,CAAC;wBAClD,4DAA4D;wBAC5D,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;wBACnC,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC;wBACtC,QAAqC,CAAC,YAAY,GAAG,OAAO,CAAC;oBAChE,CAAC;oBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,iCAAiC;wBACjC,MAAM,QAAQ,GAAG,iDAAiD,eAAe,CAAC,WAAW,GAAG,CAAC;wBACjG,OAAO,CAAC,KAAK,CAAC,4BAA4B,eAAe,CAAC,IAAI,MAAM,QAAQ,EAAE,CAAC,CAAC;wBAChF,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,gCAAgC,EAAE,+EAA+E,CAAC,CAAC;wBAC3J,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,kDAAkD;oBAClD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBACnD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBAE3D,6DAA6D;oBAC7D,UAAU,CAAC,KAAK,IAAI,EAAE;wBACpB,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;wBAC1E,IAAI,aAAa,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;4BACzD,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;4BAE/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;4BACvE,MAAM,MAAM,GAAoB;gCAC9B,SAAS,EAAE,eAAe;gCAC1B,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;6BACrF,CAAC;4BAEF,iFAAiF;4BACjF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAsD,EAAE,EAAE;gCAC7F,+CAA+C;gCAC/C,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oCAC/C,kCAAkC;oCAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,EACtD,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;gCACpE,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAc,EAAE,EAAE;gCAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;oCACf,sEAAsE;oCACtE,SAAS,GAAG,EAAE,CAAC;gCACjB,CAAC;gCACD,yDAAyD;gCACzD,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gCACtD,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;oCAClC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gCAChF,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,mFAAmF;4BACnF,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;4BACzB,QAAQ,CAAC,OAAO,EAAE,CAAC;4BAEnB,6BAA6B;4BAC7B,kBAAkB,CAAC,GAAG,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEN,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,0CAA0C,eAAe,EAAE,IAAI,IAAI,WAAW,GAAG,CAAC;gBACnG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/B,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,yBAAyB,EAAE,qGAAqG,CAAC,CAAC;YAC5K,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAEO,qBAAqB,CAAC,WAAmB,EAAE,KAAa,EAAE,OAAe;QAC/E,mDAAmD;QACnD,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;YAC1E,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,CAAC,SAAS,GAAG;;;8DAG4B,KAAK;iFACc,OAAO;wDAChC,WAAW;;SAE1D,CAAC;YACJ,CAAC;QACH,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,WAAmB;QACxD,8CAA8C;QAC9C,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;YACnC,UAAU,EAAE,2BAA2B;YACvC,WAAW,EAAE,gBAAgB,WAAW,iBAAiB,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG;YAC7E,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAC;QACH,IAAI,WAAqC,CAAC;QAC1C,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;aACI,CAAC;YACJ,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAA2B,2BAA2B,CAAC,CAAC;YAC9F,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;YACtC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,2EAA2E;QAC7E,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,WAAW,CAAC,QAAgB;QACjC,8DAA8D;QAC9D,MAAM,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,6BAA6B;QAClE,IAAI,cAAc,IAAI,CAAC,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEzD,IAAI,QAAQ,EAAE,CAAC;gBACb,iFAAiF;gBACjF,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC1B,yEAAyE;gBACzE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBACnC,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;wBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACtD,IAAI,aAAa,EAAE,CAAC;4BAClB,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEM,qBAAqB;QAC1B,IAAI,CAAC;YACH,sDAAsD;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAAC;YACjG,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC;YAE7C,uBAAuB;YACvB,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YAE7D,uBAAuB;YACvB,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAkC,EAAE,EAAE;gBACrE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,4CAA4C;oBAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;gBAED,gCAAgC;gBAChC,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,qEAAqE;YACrE,kDAAkD;YAClD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE/D,8BAA8B;YAC9B,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;gBACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAChE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,kCAAkC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAElB,qCAAqC;YACrC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACjD,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAEhC,oBAAoB;YACpB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,oCAAoC;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAErC,oCAAoC;gBACpC,IAAI,IAAI,CAAC,wBAAwB,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACxD,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC1B,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,6BAA6B,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,GAAG,8BAA8B,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,WAAW;QACT,gCAAgC;QAChC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACjD,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;kFA5YU,wBAAwB;6DAAxB,wBAAwB;;;;;mCAKK,gBAAgB;;;;;;;;;;;YClBxD,AAFF,8BAA+F,gBAKvD;YAD9B,2IAAS,2BAAuB,KAAC;YAEvC,uBAA+B;YACjC,iBAAS;YAeT,AANA,AAPA,iFAAe,oEAOF,qEAMa;YAmE5B,iBAAM;YAGN,kCAA4C;YAC1C,kBAAyB;YAC3B,iBAAM;;YA9FqE,AAAnB,gCAAkB,oBAAoB;YAS5F,eAKC;YALD,sCAKC;YAED,cAIC;YAJD,oCAIC;YAED,cAkEC;YAlED,qDAkEC;;;iFDzEU,wBAAwB;cALpC,SAAS;2BACE,qBAAqB;uCAKR,QAAQ;kBAA9B,SAAS;mBAAC,UAAU;YACQ,cAAc;kBAA1C,SAAS;mBAAC,gBAAgB;YACG,eAAe;kBAA5C,SAAS;mBAAC,iBAAiB;YACD,YAAY;kBAAtC,SAAS;mBAAC,cAAc;YACmC,iBAAiB;kBAA5E,SAAS;mBAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAK1C,aAAa;kBAA5B,KAAK;YAKU,cAAc;kBAA7B,KAAK;YAKU,wBAAwB;kBAAvC,KAAK;;kFApBK,wBAAwB"}
|