@acorex/connectivity 20.6.0-next.8 → 20.6.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.
Files changed (19) hide show
  1. package/api/index.d.ts +35 -62
  2. package/fesm2022/{acorex-connectivity-api-execute.command-BwXw_Kn7.mjs → acorex-connectivity-api-execute.command-CQt_HF1B.mjs} +13 -4
  3. package/fesm2022/acorex-connectivity-api-execute.command-CQt_HF1B.mjs.map +1 -0
  4. package/fesm2022/acorex-connectivity-api.mjs +184 -276
  5. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  6. package/fesm2022/{acorex-connectivity-mock-category-with-items.query-NY9J0cQ0.mjs → acorex-connectivity-mock-category-with-items.query-Dsxj98tX.mjs} +2 -2
  7. package/fesm2022/acorex-connectivity-mock-category-with-items.query-Dsxj98tX.mjs.map +1 -0
  8. package/fesm2022/{acorex-connectivity-mock-distribution-record.command-B-Xviv6G.mjs → acorex-connectivity-mock-distribution-record.command-DRiDwlqN.mjs} +12 -3
  9. package/fesm2022/acorex-connectivity-mock-distribution-record.command-DRiDwlqN.mjs.map +1 -0
  10. package/fesm2022/{acorex-connectivity-mock-sample.command-BkxMgq1C.mjs → acorex-connectivity-mock-sample.command-CkH5bmEs.mjs} +4 -1
  11. package/fesm2022/acorex-connectivity-mock-sample.command-CkH5bmEs.mjs.map +1 -0
  12. package/fesm2022/acorex-connectivity-mock.mjs +13390 -8665
  13. package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
  14. package/mock/index.d.ts +1030 -43
  15. package/package.json +2 -2
  16. package/fesm2022/acorex-connectivity-api-execute.command-BwXw_Kn7.mjs.map +0 -1
  17. package/fesm2022/acorex-connectivity-mock-category-with-items.query-NY9J0cQ0.mjs.map +0 -1
  18. package/fesm2022/acorex-connectivity-mock-distribution-record.command-B-Xviv6G.mjs.map +0 -1
  19. package/fesm2022/acorex-connectivity-mock-sample.command-BkxMgq1C.mjs.map +0 -1
package/api/index.d.ts CHANGED
@@ -144,6 +144,12 @@ declare class AXCAPIOidcStrategy extends AXPAuthStrategy {
144
144
  updateToken(params: {
145
145
  [key: string]: any;
146
146
  }): Promise<AXPSignInResult | void>;
147
+ /**
148
+ * Signs out the user according to OpenID Connect standards.
149
+ * Tries to call the standard OIDC end_session_endpoint if available, else falls back to configured logoutUrl.
150
+ * Falls back to root landing page on local logout if nothing is provided.
151
+ * This runs in the background (without redirecting user immediately to the endpoint).
152
+ */
147
153
  signout(): Promise<void>;
148
154
  refreshToken(context: AXPSessionContext): Promise<AXPSignInResult>;
149
155
  private loadAuthData;
@@ -213,9 +219,6 @@ declare class AXMOidcTenantLoader implements AXPTenantLoader {
213
219
  declare class AXCApiUserAvatarProvider implements AXPUserAvatarProvider {
214
220
  private userService;
215
221
  private sessionService;
216
- private http;
217
- private readonly configs;
218
- private readonly baseUrl;
219
222
  provide(userId: string): Promise<AXPUserAvatarData>;
220
223
  }
221
224
 
@@ -246,6 +249,31 @@ declare class APIGoogleStrategy extends AXPAuthStrategy {
246
249
  static ɵprov: i0.ɵɵInjectableDeclaration<APIGoogleStrategy>;
247
250
  }
248
251
 
252
+ declare class AXCSystemInsightReportCategoryApiProvider implements AXPReportCategoryProvider {
253
+ private http;
254
+ getList(parentId?: string): Promise<AXPReportCategory[]>;
255
+ getById(id: string): Promise<AXPReportCategory | undefined>;
256
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCSystemInsightReportCategoryApiProvider, never>;
257
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXCSystemInsightReportCategoryApiProvider>;
258
+ }
259
+ declare class AXCSystemInsightReportDefinitionApiProvider implements AXPReportDefinitionProvider {
260
+ private http;
261
+ getList(categoryId: string): Promise<AXPReportDefinition[]>;
262
+ getById(id: string): Promise<AXPReportDefinition | undefined>;
263
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCSystemInsightReportDefinitionApiProvider, never>;
264
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXCSystemInsightReportDefinitionApiProvider>;
265
+ }
266
+ declare const AXC_SYSTEM_INSIGHT_REPORT_CATEGORY_API_PROVIDER: {
267
+ provide: i0.InjectionToken<_acorex_modules_report_management.AXPReportCategoryProviderToken[]>;
268
+ useClass: typeof AXCSystemInsightReportCategoryApiProvider;
269
+ multi: boolean;
270
+ };
271
+ declare const AXC_SYSTEM_INSIGHT_REPORT_DEFINITION_API_PROVIDER: {
272
+ provide: i0.InjectionToken<_acorex_modules_report_management.AXPReportDefinitionProviderToken[]>;
273
+ useClass: typeof AXCSystemInsightReportDefinitionApiProvider;
274
+ multi: boolean;
275
+ };
276
+
249
277
  /**
250
278
  * Execute Report DTO - Response from report execution API
251
279
  */
@@ -346,70 +374,20 @@ interface AXCReportLayoutDefinition {
346
374
  };
347
375
  isDefault?: boolean;
348
376
  }
349
- declare class AXCReportManagementDataService {
377
+ declare class AXCReportCategoryApiProvider implements AXPReportCategoryProvider {
350
378
  private readonly http;
351
379
  private readonly configs;
352
380
  private readonly baseUrl;
353
- private categoryDataCache;
354
- private rootCategoriesCache;
355
- private pendingRequests;
356
- private pendingRootCategoriesRequest;
357
- /**
358
- * Fetch root categories (no parent). Only root categories without reports and children.
359
- * Uses cache and pending requests to avoid duplicate API calls.
360
- */
361
- getRootCategories(): Promise<AXCReportCategoryApiItem[]>;
362
- /**
363
- * Fetch category data for a given parentId.
364
- * Returns the parent category with its FolderItems (children) and ReportDefinitionItems (reports).
365
- * Uses cache to avoid duplicate API calls.
366
- */
367
- getCategoryData(parentId: string): Promise<AXCReportCategoryApiItem | undefined>;
368
- /**
369
- * Fetch both child categories and reports for a given parentId.
370
- * This method ensures only one API call is made and both results are returned.
371
- */
372
- getCategoryChildrenAndReports(parentId: string): Promise<{
373
- categories: AXCReportCategoryApiItem[];
374
- reports: AXCReportDefinitionApiItem[];
375
- }>;
376
- /**
377
- * Fetch child categories of a given parent.
378
- * Uses getCategoryData to get FolderItems (children) from the parent category.
379
- */
380
- getChildCategories(parentId: string): Promise<AXCReportCategoryApiItem[]>;
381
- /**
382
- * Fetch report definitions that belong to a specific category.
383
- * Uses getCategoryData to get ReportDefinitionItems (reports) from the category.
384
- */
385
- getCategoryReports(categoryId: string): Promise<AXCReportDefinitionApiItem[]>;
386
- /**
387
- * Fetch a single category by id.
388
- * First checks cache, then uses getCategoryData if not found in cache.
389
- */
390
- getCategoryById(id: string): Promise<AXCReportCategoryApiItem | undefined>;
391
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCReportManagementDataService, never>;
392
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCReportManagementDataService>;
393
- }
394
- /**
395
- * Category provider that uses the shared data service.
396
- * Both providers use the same dataService instance which ensures proper caching.
397
- */
398
- declare class AXCReportCategoryApiProvider implements AXPReportCategoryProvider {
399
- private readonly dataService;
400
381
  getList(parentId?: string): Promise<AXPReportCategory[]>;
401
382
  getById(id: string): Promise<AXPReportCategory | undefined>;
402
383
  private mapApiCategoryToReportCategory;
403
384
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCReportCategoryApiProvider, never>;
404
385
  static ɵprov: i0.ɵɵInjectableDeclaration<AXCReportCategoryApiProvider>;
405
386
  }
406
- /**
407
- * Definition provider that uses the shared data service.
408
- * Both providers use the same dataService instance which ensures proper caching.
409
- */
410
387
  declare class AXCReportDefinitionApiProvider implements AXPReportDefinitionProvider {
411
- private readonly dataService;
412
388
  private readonly http;
389
+ private readonly configs;
390
+ private readonly baseUrl;
413
391
  getList(categoryId: string): Promise<AXPReportDefinition[]>;
414
392
  getById(id: string): Promise<AXPReportDefinition | undefined>;
415
393
  private mapApiReportDefinitionItemToReportDefinition;
@@ -417,11 +395,6 @@ declare class AXCReportDefinitionApiProvider implements AXPReportDefinitionProvi
417
395
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCReportDefinitionApiProvider, never>;
418
396
  static ɵprov: i0.ɵɵInjectableDeclaration<AXCReportDefinitionApiProvider>;
419
397
  }
420
- /**
421
- * Both providers use the same dataService instance (which is a singleton),
422
- * ensuring they share the same cache and only one API call is made when both
423
- * getCategories and getReportsByCategoryId are called for the same categoryId.
424
- */
425
398
  declare const AXC_REPORT_CATEGORY_API_PROVIDER: {
426
399
  provide: i0.InjectionToken<_acorex_modules_report_management.AXPReportCategoryProviderToken[]>;
427
400
  useClass: typeof AXCReportCategoryApiProvider;
@@ -433,5 +406,5 @@ declare const AXC_REPORT_DEFINITION_API_PROVIDER: {
433
406
  multi: boolean;
434
407
  };
435
408
 
436
- export { APIGoogleStrategy, AXCAPIOidcStrategy, AXCApiEntityStorageService, AXCApiModule, AXCApiUserAvatarProvider, AXCReportCategoryApiProvider, AXCReportDefinitionApiProvider, AXCReportManagementApiModule, AXCReportManagementDataService, AXC_REPORT_CATEGORY_API_PROVIDER, AXC_REPORT_DEFINITION_API_PROVIDER, AXMConfigurationService, AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcTenantLoader };
409
+ export { APIGoogleStrategy, AXCAPIOidcStrategy, AXCApiEntityStorageService, AXCApiModule, AXCApiUserAvatarProvider, AXCReportCategoryApiProvider, AXCReportDefinitionApiProvider, AXCReportManagementApiModule, AXCSystemInsightReportCategoryApiProvider, AXCSystemInsightReportDefinitionApiProvider, AXC_REPORT_CATEGORY_API_PROVIDER, AXC_REPORT_DEFINITION_API_PROVIDER, AXC_SYSTEM_INSIGHT_REPORT_CATEGORY_API_PROVIDER, AXC_SYSTEM_INSIGHT_REPORT_DEFINITION_API_PROVIDER, AXMConfigurationService, AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcTenantLoader };
437
410
  export type { AXCReportCategoryApiItem, AXCReportCategoryApiResponse, AXCReportDefinitionApiItem, AXCReportDefinitionApiResponse, AXCReportLayoutDefinition, AXCReportParameter, AXCReportParameterGroup, AXPExecuteReportDto, AXPOAuthExternalCredentials, AXPUserPassCredentials, ApplicationConfiguration, Auth, Culture, IAuthenticationDataModel, Language, Localization, NameValue, Resource };
@@ -62,14 +62,23 @@ class AXCReportExecuteCommand {
62
62
  }
63
63
  // Return the combined layout configuration and data
64
64
  return {
65
- ...layoutDefinition.layout,
66
- data: executionResult,
65
+ success: true,
66
+ data: {
67
+ ...layoutDefinition.layout,
68
+ data: executionResult,
69
+ },
67
70
  };
68
71
  }
69
72
  catch (error) {
70
73
  console.error('Error executing report:', error);
71
74
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
72
- throw new Error(`Failed to execute report: ${errorMessage}`);
75
+ return {
76
+ success: false,
77
+ message: {
78
+ type: 'error',
79
+ text: `Failed to execute report: ${errorMessage}`,
80
+ },
81
+ };
73
82
  }
74
83
  }
75
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXCReportExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -83,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
83
92
  }] });
84
93
 
85
94
  export { AXCReportExecuteCommand };
86
- //# sourceMappingURL=acorex-connectivity-api-execute.command-BwXw_Kn7.mjs.map
95
+ //# sourceMappingURL=acorex-connectivity-api-execute.command-CQt_HF1B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-api-execute.command-CQt_HF1B.mjs","sources":["../tmp-esm2022/api/lib/report-management/execute.command.js"],"sourcesContent":["import { AXPReportDefinitionService, } from '@acorex/modules/report-management';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXCReportExecuteCommand {\n constructor() {\n this.http = inject(HttpClient);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.baseUrl = this.configs.baseUrl;\n }\n //#region ---- Command Implementation ----\n async execute(context) {\n try {\n const { reportId, layoutId, parameters } = context;\n // Get the report definition to find the layout\n const reportDefinition = await this.reportDefinitionService.getReportById(reportId);\n if (!reportDefinition) {\n throw new Error(`Report with ID ${reportId} not found`);\n }\n // Find the specific layout\n const layoutDefinition = reportDefinition.layouts.find((l) => l.id === layoutId);\n if (!layoutDefinition) {\n throw new Error(`Layout with ID ${layoutId} not found in report ${reportId}`);\n }\n // Call the Execute API endpoint\n const url = `${this.baseUrl}/v1/global/Report-Management/report/Execute`;\n const body = {\n reportId,\n parameters,\n };\n const executeResult = await firstValueFrom(this.http.post(url, body));\n // Convert ExecuteReportDto to AXPExecutionReportResult format\n let executionResult;\n if (executeResult.type === 'table') {\n executionResult = {\n type: 'table',\n items: executeResult.items,\n total: executeResult.totalCount,\n };\n }\n else if (executeResult.type === 'chart') {\n executionResult = {\n type: 'chart',\n data: executeResult.items[0] || {},\n };\n }\n else if (executeResult.type === 'cards') {\n executionResult = {\n type: 'cards',\n items: executeResult.items,\n };\n }\n else {\n executionResult = {\n type: 'custom',\n data: executeResult.items,\n };\n }\n // Return the combined layout configuration and data\n return {\n success: true,\n data: {\n ...layoutDefinition.layout,\n data: executionResult,\n },\n };\n }\n catch (error) {\n console.error('Error executing report:', error);\n const errorMessage = error instanceof Error ? error.message : 'Unknown error';\n return {\n success: false,\n message: {\n type: 'error',\n text: `Failed to execute report: ${errorMessage}`,\n },\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXCReportExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXCReportExecuteCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXCReportExecuteCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvYXBpL3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQvZXhlY3V0ZS5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCwwQkFBMEIsR0FFM0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNdEMsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUltQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzdELFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0E2RWpEO0lBM0VDLDhDQUE4QztJQUU5QyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUVuRCwrQ0FBK0M7WUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLFFBQVEsWUFBWSxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUVELDJCQUEyQjtZQUMzQixNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQzVHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixRQUFRLHdCQUF3QixRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7WUFFRCxnQ0FBZ0M7WUFDaEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyw2Q0FBNkMsQ0FBQztZQUN6RSxNQUFNLElBQUksR0FBRztnQkFDWCxRQUFRO2dCQUNSLFVBQVU7YUFDWCxDQUFDO1lBRUYsTUFBTSxhQUFhLEdBQXdCLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFzQixHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVoSCw4REFBOEQ7WUFDOUQsSUFBSSxlQUF5QyxDQUFDO1lBRTlDLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbkMsZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7b0JBQzFCLEtBQUssRUFBRSxhQUFhLENBQUMsVUFBVTtpQkFDaEMsQ0FBQztZQUNKLENBQUM7aUJBQU0sSUFBSSxhQUFhLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMxQyxlQUFlLEdBQUc7b0JBQ2hCLElBQUksRUFBRSxPQUFPO29CQUNiLElBQUksRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7aUJBQ25DLENBQUM7WUFDSixDQUFDO2lCQUFNLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDMUMsZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7aUJBQzNCLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUs7aUJBQzFCLENBQUM7WUFDSixDQUFDO1lBRUQsb0RBQW9EO1lBQ3BELE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFO29CQUNKLEdBQUcsZ0JBQWdCLENBQUMsTUFBTTtvQkFDMUIsSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDOUUsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLE9BQWdCO29CQUN0QixJQUFJLEVBQUUsNkJBQTZCLFlBQVksRUFBRTtpQkFDbEQ7YUFDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7K0dBOUVVLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kLFxuICBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0LFxuICBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQsXG4gIEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQsXG4gIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlLFxuICBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uLFxufSBmcm9tICdAYWNvcmV4L21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUEV4ZWN1dGVSZXBvcnREdG8gfSBmcm9tICcuL3JlcG9ydC1tYW5hZ2VtZW50LWFwaS5wcm92aWRlcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhDUmVwb3J0RXhlY3V0ZUNvbW1hbmQgaW1wbGVtZW50cyBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kIHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZVVybCA9IHRoaXMuY29uZmlncy5iYXNlVXJsO1xuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyByZXBvcnRJZCwgbGF5b3V0SWQsIHBhcmFtZXRlcnMgfSA9IGNvbnRleHQ7XG5cbiAgICAgIC8vIEdldCB0aGUgcmVwb3J0IGRlZmluaXRpb24gdG8gZmluZCB0aGUgbGF5b3V0XG4gICAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRSZXBvcnRCeUlkKHJlcG9ydElkKTtcbiAgICAgIGlmICghcmVwb3J0RGVmaW5pdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcG9ydCB3aXRoIElEICR7cmVwb3J0SWR9IG5vdCBmb3VuZGApO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5kIHRoZSBzcGVjaWZpYyBsYXlvdXRcbiAgICAgIGNvbnN0IGxheW91dERlZmluaXRpb24gPSByZXBvcnREZWZpbml0aW9uLmxheW91dHMuZmluZCgobDogQVhQUmVwb3J0TGF5b3V0RGVmaW5pdGlvbikgPT4gbC5pZCA9PT0gbGF5b3V0SWQpO1xuICAgICAgaWYgKCFsYXlvdXREZWZpbml0aW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTGF5b3V0IHdpdGggSUQgJHtsYXlvdXRJZH0gbm90IGZvdW5kIGluIHJlcG9ydCAke3JlcG9ydElkfWApO1xuICAgICAgfVxuXG4gICAgICAvLyBDYWxsIHRoZSBFeGVjdXRlIEFQSSBlbmRwb2ludFxuICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS92MS9nbG9iYWwvUmVwb3J0LU1hbmFnZW1lbnQvcmVwb3J0L0V4ZWN1dGVgO1xuICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgcmVwb3J0SWQsXG4gICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBleGVjdXRlUmVzdWx0OiBBWFBFeGVjdXRlUmVwb3J0RHRvID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8QVhQRXhlY3V0ZVJlcG9ydER0bz4odXJsLCBib2R5KSk7XG5cbiAgICAgIC8vIENvbnZlcnQgRXhlY3V0ZVJlcG9ydER0byB0byBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQgZm9ybWF0XG4gICAgICBsZXQgZXhlY3V0aW9uUmVzdWx0OiBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQ7XG5cbiAgICAgIGlmIChleGVjdXRlUmVzdWx0LnR5cGUgPT09ICd0YWJsZScpIHtcbiAgICAgICAgZXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICAgIHR5cGU6ICd0YWJsZScsXG4gICAgICAgICAgaXRlbXM6IGV4ZWN1dGVSZXN1bHQuaXRlbXMsXG4gICAgICAgICAgdG90YWw6IGV4ZWN1dGVSZXN1bHQudG90YWxDb3VudCxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoZXhlY3V0ZVJlc3VsdC50eXBlID09PSAnY2hhcnQnKSB7XG4gICAgICAgIGV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgICB0eXBlOiAnY2hhcnQnLFxuICAgICAgICAgIGRhdGE6IGV4ZWN1dGVSZXN1bHQuaXRlbXNbMF0gfHwge30sXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKGV4ZWN1dGVSZXN1bHQudHlwZSA9PT0gJ2NhcmRzJykge1xuICAgICAgICBleGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgICAgdHlwZTogJ2NhcmRzJyxcbiAgICAgICAgICBpdGVtczogZXhlY3V0ZVJlc3VsdC5pdGVtcyxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICBkYXRhOiBleGVjdXRlUmVzdWx0Lml0ZW1zLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBSZXR1cm4gdGhlIGNvbWJpbmVkIGxheW91dCBjb25maWd1cmF0aW9uIGFuZCBkYXRhXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLi4ubGF5b3V0RGVmaW5pdGlvbi5sYXlvdXQsXG4gICAgICAgICAgZGF0YTogZXhlY3V0aW9uUmVzdWx0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXhlY3V0aW5nIHJlcG9ydDonLCBlcnJvcik7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgdHlwZTogJ2Vycm9yJyBhcyBjb25zdCxcbiAgICAgICAgICB0ZXh0OiBgRmFpbGVkIHRvIGV4ZWN1dGUgcmVwb3J0OiAke2Vycm9yTWVzc2FnZX1gLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ=="],"names":[],"mappings":";;;;;;;AAMO,MAAM,uBAAuB,CAAC;AACrC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACtC,QAAQ,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AACzE,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACpD,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;AAC3C,IAAI;AACJ;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,IAAI;AACZ,YAAY,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO;AAC9D;AACA,YAAY,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/F,YAAY,IAAI,CAAC,gBAAgB,EAAE;AACnC,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvE,YAAY;AACZ;AACA,YAAY,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;AAC5F,YAAY,IAAI,CAAC,gBAAgB,EAAE;AACnC,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC7F,YAAY;AACZ;AACA,YAAY,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,2CAA2C,CAAC;AACpF,YAAY,MAAM,IAAI,GAAG;AACzB,gBAAgB,QAAQ;AACxB,gBAAgB,UAAU;AAC1B,aAAa;AACb,YAAY,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACjF;AACA,YAAY,IAAI,eAAe;AAC/B,YAAY,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE;AAChD,gBAAgB,eAAe,GAAG;AAClC,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,KAAK,EAAE,aAAa,CAAC,KAAK;AAC9C,oBAAoB,KAAK,EAAE,aAAa,CAAC,UAAU;AACnD,iBAAiB;AACjB,YAAY;AACZ,iBAAiB,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE;AACrD,gBAAgB,eAAe,GAAG;AAClC,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACtD,iBAAiB;AACjB,YAAY;AACZ,iBAAiB,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE;AACrD,gBAAgB,eAAe,GAAG;AAClC,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,KAAK,EAAE,aAAa,CAAC,KAAK;AAC9C,iBAAiB;AACjB,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,eAAe,GAAG;AAClC,oBAAoB,IAAI,EAAE,QAAQ;AAClC,oBAAoB,IAAI,EAAE,aAAa,CAAC,KAAK;AAC7C,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,GAAG,gBAAgB,CAAC,MAAM;AAC9C,oBAAoB,IAAI,EAAE,eAAe;AACzC,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAC3D,YAAY,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,eAAe;AACzF,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,IAAI,EAAE,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;AACrE,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAClK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}