@osovitny/anatoly 2.16.6 → 2.16.7

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.
@@ -13,22 +13,24 @@
13
13
  Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
14
  </file>
15
15
  */
16
+ //Node
16
17
  import { NgModule, Optional, SkipSelf } from '@angular/core';
17
18
  import { CommonModule } from '@angular/common';
18
19
  import { ToastrModule } from 'ngx-toastr';
19
- //Logging
20
- import { LoggingService } from './logging/logging.service';
21
- //notifications
22
- import { NotificationService } from './notifications/services/notification-service';
20
+ //App
23
21
  //localization
24
22
  import { LocalizationModule } from './localization/localization.module';
25
23
  import { LocalizationSettingsModule } from './localization/localizationSettings.module';
26
24
  //Services
27
25
  import { AppContextService } from './services/appcontext.service';
28
- import { LoadingService } from './services/loading.service';
29
26
  import { DigitalMarketingService } from './services/dm.service';
30
27
  import { GoogleAnalyticsService } from './services/google-analytics.service';
28
+ import { LoadingService } from './services/loading.service';
31
29
  import { LocalStorageService, SessionStorageService } from './services/web-storage.service';
30
+ //Services: logging
31
+ import { LoggingService } from './logging/logging.service';
32
+ //Services: notifications
33
+ import { NotificationService } from './notifications/services/notification-service';
32
34
  import * as i0 from "@angular/core";
33
35
  import * as i1 from "ngx-toastr";
34
36
  export let InjectorInstance;
@@ -41,14 +43,14 @@ export class AnatolyCoreModule {
41
43
  static ɵfac = function AnatolyCoreModule_Factory(t) { return new (t || AnatolyCoreModule)(i0.ɵɵinject(i0.Injector), i0.ɵɵinject(AnatolyCoreModule, 12)); };
42
44
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyCoreModule });
43
45
  static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
44
- LoggingService,
45
- NotificationService,
46
46
  AppContextService,
47
- LoadingService,
48
47
  DigitalMarketingService,
49
48
  GoogleAnalyticsService,
49
+ LoadingService,
50
50
  LocalStorageService,
51
- SessionStorageService
51
+ SessionStorageService,
52
+ LoggingService,
53
+ NotificationService
52
54
  ], imports: [CommonModule,
53
55
  ToastrModule.forRoot(),
54
56
  LocalizationSettingsModule,
@@ -69,15 +71,15 @@ export class AnatolyCoreModule {
69
71
  LocalizationModule,
70
72
  ],
71
73
  providers: [
72
- LoggingService,
73
- NotificationService,
74
74
  AppContextService,
75
- LoadingService,
76
75
  DigitalMarketingService,
77
76
  GoogleAnalyticsService,
77
+ LoadingService,
78
78
  LocalStorageService,
79
- SessionStorageService
80
- ],
79
+ SessionStorageService,
80
+ LoggingService,
81
+ NotificationService
82
+ ]
81
83
  }]
82
84
  }], function () { return [{ type: i0.Injector }, { type: AnatolyCoreModule, decorators: [{
83
85
  type: Optional
@@ -87,4 +89,4 @@ export class AnatolyCoreModule {
87
89
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyCoreModule, { imports: [CommonModule, i1.ToastrModule, LocalizationSettingsModule,
88
90
  LocalizationModule], exports: [LocalizationSettingsModule,
89
91
  LocalizationModule] }); })();
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBWSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxTQUFTO0FBQ1QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELGVBQWU7QUFDZixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVwRixjQUFjO0FBQ2QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFLeEYsVUFBVTtBQUNWLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRTVGLE1BQU0sQ0FBQyxJQUFJLGdCQUEwQixDQUFDO0FBd0J0QyxNQUFNLE9BQU8saUJBQWlCO0lBQ1I7SUFBcEIsWUFBb0IsUUFBa0IsRUFBMEIsWUFBK0I7UUFBM0UsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ25DLENBQUM7MkVBSFUsaUJBQWlCOzREQUFqQixpQkFBaUI7aUVBWGpCO1lBQ1QsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsY0FBYztZQUNkLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLHFCQUFxQjtTQUN0QixZQWxCQyxZQUFZO1lBQ1osWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUN0QiwwQkFBMEI7WUFDMUIsa0JBQWtCLEVBR2xCLDBCQUEwQjtZQUMxQixrQkFBa0I7O3VGQWFULGlCQUFpQjtjQXRCN0IsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVksQ0FBQyxPQUFPLEVBQUU7b0JBQ3RCLDBCQUEwQjtvQkFDMUIsa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsMEJBQTBCO29CQUMxQixrQkFBa0I7aUJBQ25CO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0QixtQkFBbUI7b0JBQ25CLHFCQUFxQjtpQkFDdEI7YUFDRjs7c0JBRTBDLFFBQVE7O3NCQUFJLFFBQVE7O3dGQURsRCxpQkFBaUIsY0FwQjFCLFlBQVksbUJBRVosMEJBQTBCO1FBQzFCLGtCQUFrQixhQUdsQiwwQkFBMEI7UUFDMUIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI5IEp1bmUgMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmltcG9ydCB7IEluamVjdG9yLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5cclxuLy9Mb2dnaW5nXHJcbmltcG9ydCB7IExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnaW5nL2xvZ2dpbmcuc2VydmljZSc7XHJcblxyXG4vL25vdGlmaWNhdGlvbnNcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy9zZXJ2aWNlcy9ub3RpZmljYXRpb24tc2VydmljZSc7XHJcblxyXG4vL2xvY2FsaXphdGlvblxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUgfSBmcm9tICcuL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2V0dGluZ3NNb2R1bGUgfSBmcm9tICcuL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb25TZXR0aW5ncy5tb2R1bGUnO1xyXG5cclxuLy9HdWFyZHNcclxuaW1wb3J0IHsgdGhyb3dJZkFscmVhZHlMb2FkZWQgfSBmcm9tICcuL2d1YXJkcy9vbmNlLWltcG9ydC5ndWFyZCc7XHJcblxyXG4vL1NlcnZpY2VzXHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlnaXRhbE1hcmtldGluZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHb29nbGVBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3dlYi1zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGxldCBJbmplY3Rvckluc3RhbmNlOiBJbmplY3RvcjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVG9hc3RyTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIExvY2FsaXphdGlvblNldHRpbmdzTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBMb2NhbGl6YXRpb25TZXR0aW5nc01vZHVsZSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTG9nZ2luZ1NlcnZpY2UsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgQXBwQ29udGV4dFNlcnZpY2UsXHJcbiAgICBMb2FkaW5nU2VydmljZSxcclxuICAgIERpZ2l0YWxNYXJrZXRpbmdTZXJ2aWNlLFxyXG4gICAgR29vZ2xlQW5hbHl0aWNzU2VydmljZSxcclxuICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUNvcmVNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEFuYXRvbHlDb3JlTW9kdWxlKSB7XHJcbiAgICBJbmplY3Rvckluc3RhbmNlID0gdGhpcy5pbmplY3RvcjtcclxuICB9XHJcbn1cclxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsS0FBSztBQUNMLGNBQWM7QUFDZCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUV4RixVQUFVO0FBQ1YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTVGLG1CQUFtQjtBQUNuQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFM0QseUJBQXlCO0FBQ3pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFFcEYsTUFBTSxDQUFDLElBQUksZ0JBQTBCLENBQUM7QUF5QnRDLE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixRQUFrQixFQUEwQixZQUErQjtRQUEzRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQzsyRUFIVSxpQkFBaUI7NERBQWpCLGlCQUFpQjtpRUFaakI7WUFDVCxpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUVyQixjQUFjO1lBQ2QsbUJBQW1CO1NBQ3BCLFlBbkJDLFlBQVk7WUFDWixZQUFZLENBQUMsT0FBTyxFQUFFO1lBQ3RCLDBCQUEwQjtZQUMxQixrQkFBa0IsRUFHbEIsMEJBQTBCO1lBQzFCLGtCQUFrQjs7dUZBY1QsaUJBQWlCO2NBdkI3QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWSxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsMEJBQTBCO29CQUMxQixrQkFBa0I7aUJBQ25CO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7b0JBQzFCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtvQkFDakIsdUJBQXVCO29CQUN2QixzQkFBc0I7b0JBQ3RCLGNBQWM7b0JBQ2QsbUJBQW1CO29CQUNuQixxQkFBcUI7b0JBRXJCLGNBQWM7b0JBQ2QsbUJBQW1CO2lCQUNwQjthQUNGOztzQkFFMEMsUUFBUTs7c0JBQUksUUFBUTs7d0ZBRGxELGlCQUFpQixjQXJCMUIsWUFBWSxtQkFFWiwwQkFBMEI7UUFDMUIsa0JBQWtCLGFBR2xCLDBCQUEwQjtRQUMxQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVuZSAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdG9yLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5cclxuLy9BcHBcclxuLy9sb2NhbGl6YXRpb25cclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNldHRpbmdzTW9kdWxlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uU2V0dGluZ3MubW9kdWxlJztcclxuXHJcbi8vU2VydmljZXNcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERpZ2l0YWxNYXJrZXRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR29vZ2xlQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9hZGluZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xvYWRpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvd2ViLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG4vL1NlcnZpY2VzOiBsb2dnaW5nXHJcbmltcG9ydCB7IExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnaW5nL2xvZ2dpbmcuc2VydmljZSc7XHJcblxyXG4vL1NlcnZpY2VzOiBub3RpZmljYXRpb25zXHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvc2VydmljZXMvbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGxldCBJbmplY3Rvckluc3RhbmNlOiBJbmplY3RvcjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVG9hc3RyTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIExvY2FsaXphdGlvblNldHRpbmdzTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBMb2NhbGl6YXRpb25TZXR0aW5nc01vZHVsZSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQXBwQ29udGV4dFNlcnZpY2UsXHJcbiAgICBEaWdpdGFsTWFya2V0aW5nU2VydmljZSxcclxuICAgIEdvb2dsZUFuYWx5dGljc1NlcnZpY2UsXHJcbiAgICBMb2FkaW5nU2VydmljZSxcclxuICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXHJcblxyXG4gICAgTG9nZ2luZ1NlcnZpY2UsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUNvcmVNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEFuYXRvbHlDb3JlTW9kdWxlKSB7XHJcbiAgICBJbmplY3Rvckluc3RhbmNlID0gdGhpcy5pbmplY3RvcjtcclxuICB9XHJcbn1cclxuIl19
@@ -30,6 +30,8 @@ export * from './localization/localization.module';
30
30
  //logging
31
31
  export * from './logging/globalErrorHandler';
32
32
  export * from './logging/logging.service';
33
+ //models
34
+ export * from './models/appcontext.service';
33
35
  //notifications
34
36
  export * from './notifications/alerts';
35
37
  export * from './notifications/interfaces/notification';
@@ -38,14 +40,15 @@ export * from './notifications/services/notification-service';
38
40
  export * from './performance/stopwatch';
39
41
  //services
40
42
  export * from './services/appcontext.service';
43
+ export * from './services/dm.service';
44
+ export * from './services/google-analytics.service';
41
45
  export * from './services/idle.service';
42
46
  export * from './services/loading.service';
47
+ export * from './services/starter.service';
43
48
  export * from './services/web-storage.service';
44
- export * from './services/dm.service';
45
- export * from './services/google-analytics.service';
46
49
  export * from './browser';
47
50
  export * from './dom';
48
51
  export * from './guid';
49
52
  export * from './subs';
50
53
  export * from './utils';
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLFFBQVE7QUFDUixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLFVBQVU7QUFDVixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYztBQUNkLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsU0FBUztBQUNULGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0NBQStDLENBQUM7QUFFOUQsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsVUFBVTtBQUNWLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHFDQUFxQyxDQUFBO0FBRW5ELGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL2NvbnN0c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cy9zZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RzL3VybHMnO1xyXG5cclxuLy9jb252ZXJ0c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnRzL2NvbnZlcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnRzL3htbEZvcm1hdHRlcic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2dvL2Jhc2UtZ28uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VhcmRzL29uY2UtaW1wb3J0Lmd1YXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmNlcHRvcnMvaHR0cEludGVyY2VwdG9yJztcclxuXHJcbi8vbG9jYWxpemF0aW9uXHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvblNldHRpbmdzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGUnO1xyXG5cclxuLy9sb2dnaW5nXHJcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2luZy9nbG9iYWxFcnJvckhhbmRsZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ2dpbmcvbG9nZ2luZy5zZXJ2aWNlJztcclxuXHJcbi8vbm90aWZpY2F0aW9uc1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMvYWxlcnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbi8vcGVyZm9ybWFuY2VcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZS9zdG9wd2F0Y2gnO1xyXG5cclxuLy9zZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaWRsZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9sb2FkaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3dlYi1zdG9yYWdlLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZG0uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2Jyb3dzZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2RvbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VpZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3Vicyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xyXG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLFFBQVE7QUFDUixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLFVBQVU7QUFDVixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYztBQUNkLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsU0FBUztBQUNULGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxRQUFRO0FBQ1IsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0NBQStDLENBQUM7QUFFOUQsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsVUFBVTtBQUNWLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUE7QUFFOUMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vY29uc3RzXHJcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RzL3NldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25zdHMvdXJscyc7XHJcblxyXG4vL2NvbnZlcnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udmVydHMvY29udmVydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udmVydHMveG1sRm9ybWF0dGVyJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vZ28vYmFzZS1nby5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ndWFyZHMvb25jZS1pbXBvcnQuZ3VhcmQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ludGVyY2VwdG9ycy9odHRwSW50ZXJjZXB0b3InO1xyXG5cclxuLy9sb2NhbGl6YXRpb25cclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uU2V0dGluZ3MubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZSc7XHJcblxyXG4vL2xvZ2dpbmdcclxuZXhwb3J0ICogZnJvbSAnLi9sb2dnaW5nL2dsb2JhbEVycm9ySGFuZGxlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2luZy9sb2dnaW5nLnNlcnZpY2UnO1xyXG5cclxuLy9tb2RlbHNcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuXHJcbi8vbm90aWZpY2F0aW9uc1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMvYWxlcnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbi8vcGVyZm9ybWFuY2VcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZS9zdG9wd2F0Y2gnO1xyXG5cclxuLy9zZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZG0uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaWRsZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9sb2FkaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3N0YXJ0ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvd2ViLXN0b3JhZ2Uuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vYnJvd3Nlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZG9tJztcclxuZXhwb3J0ICogZnJvbSAnLi9ndWlkJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdWJzJztcclxuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 11 Nov 2023
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbW9kZWxzL2FwcGNvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMSBOb3YgMjAyM1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFwcENvbnRleHRTZXJ2aWNlIHtcclxuICBjdXJyZW50O1xyXG5cclxuICBpbml0KGNvbnRleHQpO1xyXG4gIGxvYWRSZXF1aXJlZEpzb25GaWxlcygpO1xyXG4gIGxvYWRSZXF1aXJlZEl0ZW1zKCk7XHJcbn1cclxuIl19
@@ -18,6 +18,7 @@ import { Injectable } from '@angular/core';
18
18
  import { Subject } from 'rxjs';
19
19
  //App
20
20
  import { BaseApiService } from '../../data/base/base-api.service';
21
+ import { AppCoreSettings } from '../consts/settings';
21
22
  import * as i0 from "@angular/core";
22
23
  import * as i1 from "@angular/common/http";
23
24
  import * as i2 from "./web-storage.service";
@@ -38,7 +39,7 @@ export class AppContextService extends BaseApiService {
38
39
  this.http = http;
39
40
  this.localStorage = localStorage;
40
41
  this.sessionStorage = sessionStorage;
41
- this.baseUrl = '/api/appContext';
42
+ this.baseUrl = `${AppCoreSettings.apiUrl}/appContext`;
42
43
  }
43
44
  //Session
44
45
  getCurrentFromSession() {
@@ -152,4 +153,4 @@ export class AppContextService extends BaseApiService {
152
153
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppContextService, [{
153
154
  type: Injectable
154
155
  }], function () { return [{ type: i1.HttpClient }, { type: i2.LocalStorageService }, { type: i2.SessionStorageService }]; }, null); })();
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQUlsRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQWN2QztJQUNBO0lBQ0E7SUFmWixRQUFRO0lBQ0EsY0FBYyxHQUFHLFlBQVksQ0FBQztJQUU5QixZQUFZLEdBQWlCLElBQUksQ0FBQztJQUNsQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXZCLGlCQUFpQjtJQUNULFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXRDLGdCQUFnQjtJQUNQLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWpELFlBQ1ksSUFBZ0IsRUFDaEIsWUFBaUMsRUFDakMsY0FBcUM7UUFDL0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBRS9DLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVM7SUFDRCxxQkFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVP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QkFBc0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7MkVBekpVLGlCQUFpQjtnRUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEzIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBCYXNlQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvYmFzZS9iYXNlLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi93ZWItc3RvcmFnZS5zZXJ2aWNlJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwQ29udGV4dFNlcnZpY2UgZXh0ZW5kcyBCYXNlQXBpU2VydmljZSB7XHJcbiAgLy9Db25zdHNcclxuICBwcml2YXRlIHN0b3JhZ2VLZXlOYW1lID0gJ2FwcENvbnRleHQnO1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBwcml2YXRlIHN1Y2Nlc3NlcyA9IFtdO1xyXG5cclxuICAvL1ByaXZhdGUgU3RyZWFtc1xyXG4gIHByaXZhdGUgX3VwZGF0ZWQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIC8vUHVibGljIFN0cmVhbXNcclxuICByZWFkb25seSB1cGRhdGVkJCA9IHRoaXMuX3VwZGF0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcm90ZWN0ZWQgbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHNlc3Npb25TdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gICAgdGhpcy5iYXNlVXJsID0gJy9hcGkvYXBwQ29udGV4dCc7XHJcbiAgfVxyXG5cclxuICAvL1Nlc3Npb25cclxuICBwcml2YXRlIGdldEN1cnJlbnRGcm9tU2Vzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25TdG9yYWdlLmdldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudEZyb21TZXNzaW9uKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0T2JqZWN0KHRoaXMuc3RvcmFnZUtleU5hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ3VycmVudElmRXhwaXJlZCgpIHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzaG91bGRCZVVwZGF0ZWQgPSBmYWxzZTtcclxuICAgIGxldCBsciA9IGNvbnRleHQubGFzdFJlcXVlc3RlZDtcclxuXHJcbiAgICBpZiAobHIpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGxldCBsYXN0UmVxdWVzdGVkID0gbmV3IERhdGUoY29udGV4dC5sYXN0UmVxdWVzdGVkKTtcclxuICAgICAgbGV0IGluM01pbnMgPSBuZXcgRGF0ZShsYXN0UmVxdWVzdGVkLmdldEZ1bGxZZWFyKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0TW9udGgoKSwgbGFzdFJlcXVlc3RlZC5nZXREYXRlKCksXHJcbiAgICAgICAgbGFzdFJlcXVlc3RlZC5nZXRIb3VycygpLCBsYXN0UmVxdWVzdGVkLmdldE1pbnV0ZXMoKSArIDMsIDAsIDApO1xyXG5cclxuICAgICAgaWYgKGluM01pbnMuZ2V0VGltZSgpIDwgbm93LmdldFRpbWUoKSkge1xyXG4gICAgICAgIHNob3VsZEJlVXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzaG91bGRCZVVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaG91bGRCZVVwZGF0ZWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVDdXJyZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGFSZWNlaXZlZChkYXRhKSB7XHJcbiAgICB0aGlzLmN1cnJlbnQgPSBkYXRhO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdWNjZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHN1Y2Nlc3MgPSB0aGlzLnN1Y2Nlc3Nlc1tpXTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICBzdWNjZXNzKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdBcHBDb250ZXh0IGhhcyBiZWVuIHVwZGF0ZWQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgICB0aGlzLl91cGRhdGVkLm5leHQoZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEN1cnJlbnRQcml2YXRlKHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCwgZ2V0Q2FjaGVkSWZFeGlzdDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGlmIChnZXRDYWNoZWRJZkV4aXN0KSB7XHJcbiAgICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICAgIGlmIChjb250ZXh0ICE9IG51bGwpIHtcclxuICAgICAgICBpZiAoc3VjY2Vzcykgc3VjY2Vzcyhjb250ZXh0KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICB0aGlzLnN1Y2Nlc3Nlcy5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbiAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGEgbmV3IEFwcENvbnRleHQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnZ2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVJlY2VpdmVkKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vUHVibGljXHJcbiAgaW5pdChjb250ZXh0KSB7XHJcblx0XHR0aGlzLmN1cnJlbnQgPSBjb250ZXh0O1xyXG5cdH1cclxuXHJcbiAgZ2V0TGF0ZXN0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDdXJyZW50KHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCkge1xyXG4gICAgLy9WYWRpbU9TOiBtYWtlIGRyb3BwaW5nIGN1cnJlbnQgJiBpc0FkbWluIHRocm93IDQwM1xyXG4gICAgLy90aGlzLmNsZWFyQ3VycmVudCgpO1xyXG4gICAgdGhpcy5nZXRMYXRlc3RDdXJyZW50KHN1Y2Nlc3MpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDdXJyZW50KCkge1xyXG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmUodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL1N0b3JhZ2VcclxuICBjbGVhckxvY2FsU3RvcmFnZSgpIHtcclxuXHRcdHRoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcblx0fVxyXG5cclxuXHRjbGVhclNlc3Npb25TdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG5cdH1cclxuXHJcbiAgY2xlYXJXZWJTdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5jbGVhckxvY2FsU3RvcmFnZSgpO1xyXG5cdFx0dGhpcy5jbGVhclNlc3Npb25TdG9yYWdlKCk7XHJcblx0fVxyXG5cclxuICAvL1Byb3BlcnRpZXNcclxuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKTtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRGcm9tU2Vzc2lvbigpO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRDdXJyZW50RnJvbVNlc3Npb24odmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHckQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFjdkM7SUFDQTtJQUNBO0lBZlosUUFBUTtJQUNBLGNBQWMsR0FBRyxZQUFZLENBQUM7SUFFOUIsWUFBWSxHQUFpQixJQUFJLENBQUM7SUFDbEMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV2QixpQkFBaUI7SUFDVCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUV0QyxnQkFBZ0I7SUFDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVqRCxZQUNZLElBQWdCLEVBQ2hCLFlBQWlDLEVBQ2pDLGNBQXFDO1FBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhGLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUUvQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxTQUFTO0lBQ0QscUJBQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFD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QUUsQ0FBQztJQUM1QixDQUFDO0lBRUEsWUFBWTtJQUNaLElBQVcsT0FBTztRQUNoQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOzJFQXpKVSxpQkFBaUI7Z0VBQWpCLGlCQUFpQixXQUFqQixpQkFBaUI7O3VGQUFqQixpQkFBaUI7Y0FEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMyBOb3YgMjAxN1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL2Jhc2UvYmFzZS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vd2ViLXN0b3JhZ2Uuc2VydmljZSdcclxuaW1wb3J0IHsgQXBwQ29yZVNldHRpbmdzIH0gZnJvbSAnLi4vY29uc3RzL3NldHRpbmdzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwcENvbnRleHRTZXJ2aWNlIGV4dGVuZHMgQmFzZUFwaVNlcnZpY2Uge1xyXG4gIC8vQ29uc3RzXHJcbiAgcHJpdmF0ZSBzdG9yYWdlS2V5TmFtZSA9ICdhcHBDb250ZXh0JztcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzZXMgPSBbXTtcclxuXHJcbiAgLy9Qcml2YXRlIFN0cmVhbXNcclxuICBwcml2YXRlIF91cGRhdGVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAvL1B1YmxpYyBTdHJlYW1zXHJcbiAgcmVhZG9ubHkgdXBkYXRlZCQgPSB0aGlzLl91cGRhdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBzZXNzaW9uU3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuYmFzZVVybCA9IGAke0FwcENvcmVTZXR0aW5ncy5hcGlVcmx9L2FwcENvbnRleHRgO1xyXG4gIH1cclxuXHJcbiAgLy9TZXNzaW9uXHJcbiAgcHJpdmF0ZSBnZXRDdXJyZW50RnJvbVNlc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRPYmplY3QodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRGcm9tU2Vzc2lvbih2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlLnNldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHRoaXMuZ2V0Q3VycmVudEZyb21TZXNzaW9uKCk7XHJcblxyXG4gICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2hvdWxkQmVVcGRhdGVkID0gZmFsc2U7XHJcbiAgICBsZXQgbHIgPSBjb250ZXh0Lmxhc3RSZXF1ZXN0ZWQ7XHJcblxyXG4gICAgaWYgKGxyKSB7XHJcbiAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBsZXQgbGFzdFJlcXVlc3RlZCA9IG5ldyBEYXRlKGNvbnRleHQubGFzdFJlcXVlc3RlZCk7XHJcbiAgICAgIGxldCBpbjNNaW5zID0gbmV3IERhdGUobGFzdFJlcXVlc3RlZC5nZXRGdWxsWWVhcigpLCBsYXN0UmVxdWVzdGVkLmdldE1vbnRoKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0RGF0ZSgpLFxyXG4gICAgICAgIGxhc3RSZXF1ZXN0ZWQuZ2V0SG91cnMoKSwgbGFzdFJlcXVlc3RlZC5nZXRNaW51dGVzKCkgKyAzLCAwLCAwKTtcclxuXHJcbiAgICAgIGlmIChpbjNNaW5zLmdldFRpbWUoKSA8IG5vdy5nZXRUaW1lKCkpIHtcclxuICAgICAgICBzaG91bGRCZVVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgc2hvdWxkQmVVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2hvdWxkQmVVcGRhdGVkKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ3VycmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkYXRhUmVjZWl2ZWQoZGF0YSkge1xyXG4gICAgdGhpcy5jdXJyZW50ID0gZGF0YTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3VjY2Vzc2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBzdWNjZXNzID0gdGhpcy5zdWNjZXNzZXNbaV07XHJcbiAgICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgICAgc3VjY2VzcyhkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3VjY2Vzc2VzID0gW107XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xyXG5cclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBjb25zb2xlLmxvZygnQXBwQ29udGV4dCBoYXMgYmVlbiB1cGRhdGVkIGF0ICcgKyBub3cpO1xyXG5cclxuICAgICAgdGhpcy5fdXBkYXRlZC5uZXh0KGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDdXJyZW50UHJpdmF0ZShzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwsIGdldENhY2hlZElmRXhpc3Q6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBpZiAoZ2V0Q2FjaGVkSWZFeGlzdCkge1xyXG4gICAgICBsZXQgY29udGV4dCA9IHRoaXMuZ2V0Q3VycmVudEZyb21TZXNzaW9uKCk7XHJcblxyXG4gICAgICBpZiAoY29udGV4dCAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHN1Y2Nlc3MoY29udGV4dCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgdGhpcy5zdWNjZXNzZXMucHVzaChzdWNjZXNzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24gIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zb2xlLmxvZygnUmVxdWVzdGluZyBhIG5ldyBBcHBDb250ZXh0IGF0ICcgKyBub3cpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5nZXQoJ2dldEN1cnJlbnRDb250ZXh0JywgbnVsbCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGFSZWNlaXZlZChkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL1B1YmxpY1xyXG4gIGluaXQoY29udGV4dCkge1xyXG5cdFx0dGhpcy5jdXJyZW50ID0gY29udGV4dDtcclxuXHR9XHJcblxyXG4gIGdldExhdGVzdEN1cnJlbnQoc3VjY2VzczogRnVuY3Rpb24gPSBudWxsKSB7XHJcbiAgICB0aGlzLmdldEN1cnJlbnRQcml2YXRlKHN1Y2Nlc3MsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnQoc3VjY2VzczogRnVuY3Rpb24gPSBudWxsKSB7XHJcbiAgICB0aGlzLmdldEN1cnJlbnRQcml2YXRlKHN1Y2Nlc3MsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIC8vVmFkaW1PUzogbWFrZSBkcm9wcGluZyBjdXJyZW50ICYgaXNBZG1pbiB0aHJvdyA0MDNcclxuICAgIC8vdGhpcy5jbGVhckN1cnJlbnQoKTtcclxuICAgIHRoaXMuZ2V0TGF0ZXN0Q3VycmVudChzdWNjZXNzKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQ3VycmVudCgpIHtcclxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlKHRoaXMuc3RvcmFnZUtleU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy9TdG9yYWdlXHJcbiAgY2xlYXJMb2NhbFN0b3JhZ2UoKSB7XHJcblx0XHR0aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJTZXNzaW9uU3RvcmFnZSgpIHtcclxuXHRcdHRoaXMuc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuXHR9XHJcblxyXG4gIGNsZWFyV2ViU3RvcmFnZSgpIHtcclxuXHRcdHRoaXMuY2xlYXJMb2NhbFN0b3JhZ2UoKTtcclxuXHRcdHRoaXMuY2xlYXJTZXNzaW9uU3RvcmFnZSgpO1xyXG5cdH1cclxuXHJcbiAgLy9Qcm9wZXJ0aWVzXHJcbiAgcHVibGljIGdldCBjdXJyZW50KCkge1xyXG4gICAgdGhpcy51cGRhdGVDdXJyZW50SWZFeHBpcmVkKCk7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuICB9XHJcbiAgcHVibGljIHNldCBjdXJyZW50KHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2V0Q3VycmVudEZyb21TZXNzaW9uKHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,76 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 15 Nov 2023
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ import { of, forkJoin, merge } from 'rxjs';
17
+ import { map } from 'rxjs/operators';
18
+ //App
19
+ import { BaseApiService } from '../../data/base/base-api.service';
20
+ import { Utils } from '../utils';
21
+ import { Stopwatch } from '../performance/stopwatch';
22
+ import { AppCoreSettings } from '../consts/settings';
23
+ export class StarterService extends BaseApiService {
24
+ http;
25
+ appContext;
26
+ constructor(http, appContext) {
27
+ super(http);
28
+ this.http = http;
29
+ this.appContext = appContext;
30
+ }
31
+ applicationStarting() {
32
+ let context = this.appContext.current;
33
+ if (!Utils.isObjectNullOrEmpty(context)) {
34
+ this.appContext.init(context);
35
+ return of(context);
36
+ }
37
+ //Log
38
+ let stopwatch = new Stopwatch("applicationStarting");
39
+ stopwatch.start();
40
+ this.baseUrl = `${AppCoreSettings.apiUrl}/appContext`;
41
+ return this.get('applicationStarting').pipe(map(data => {
42
+ //Log
43
+ stopwatch.stop();
44
+ stopwatch.printElapsedAsMilliseconds();
45
+ this.appContext.init(data);
46
+ }));
47
+ }
48
+ ensureApplicationStarted() {
49
+ //1. Application Starting
50
+ let applicationStarting$ = this.applicationStarting();
51
+ //2. Load json files
52
+ let jsonFiles$ = this.appContext.loadRequiredJsonFiles();
53
+ //3. Load required items, like settings
54
+ let requiredItems$ = this.appContext.loadRequiredItems();
55
+ //Tasks to execute
56
+ let parallelTasks = [];
57
+ if (jsonFiles$)
58
+ parallelTasks.push(jsonFiles$);
59
+ if (requiredItems$)
60
+ parallelTasks.push(requiredItems$);
61
+ let parallelTasks$ = merge(...parallelTasks);
62
+ let tasks$ = forkJoin([applicationStarting$, parallelTasks$]);
63
+ //VadimOS:
64
+ //concat is NOT wokring here, no idea why. Just executing first task
65
+ //let tasks$ = concat(applicationStarting$, parallelTasks$);
66
+ //Log
67
+ let stopwatch = new Stopwatch("ensureApplicationStarted");
68
+ stopwatch.start();
69
+ return tasks$.pipe(map(() => {
70
+ //Log
71
+ stopwatch.stop();
72
+ stopwatch.printElapsedAsMilliseconds();
73
+ }));
74
+ }
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RhcnRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBS0YsT0FBTyxFQUFjLEVBQUUsRUFBVSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdyRCxNQUFNLE9BQWdCLGNBQWUsU0FBUSxjQUFjO0lBRTdDO0lBQ0E7SUFGWixZQUNZLElBQWdCLEVBQ2hCLFVBQThCO1FBQ3hDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUZGLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7SUFFMUMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsS0FBSztRQUNMLElBQUksU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckQsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxlQUFlLENBQUMsTUFBTSxhQUFhLENBQUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFNLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxLQUFLO1lBQ0wsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBRXZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLHlCQUF5QjtRQUN6QixJQUFJLG9CQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRXRELG9CQUFvQjtRQUNwQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFekQsdUNBQXVDO1FBQ3ZDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6RCxrQkFBa0I7UUFDbEIsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksVUFBVTtZQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxjQUFjO1lBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RCxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBRTlELFVBQVU7UUFDVixvRUFBb0U7UUFDcEUsNERBQTREO1FBRTVELEtBQUs7UUFDTCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzFELFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUN4QixLQUFLO1lBQ0wsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTUgTm92IDIwMjNcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgY29uY2F0LCBmb3JrSm9pbiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL2Jhc2UvYmFzZS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBTdG9wd2F0Y2ggfSBmcm9tICcuLi9wZXJmb3JtYW5jZS9zdG9wd2F0Y2gnO1xyXG5pbXBvcnQgeyBBcHBDb3JlU2V0dGluZ3MgfSBmcm9tICcuLi9jb25zdHMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBJQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9tb2RlbHMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdGFydGVyU2VydmljZSBleHRlbmRzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGFwcENvbnRleHQ6IElBcHBDb250ZXh0U2VydmljZSkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGxpY2F0aW9uU3RhcnRpbmcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5hcHBDb250ZXh0LmN1cnJlbnQ7XHJcbiAgICBpZiAoIVV0aWxzLmlzT2JqZWN0TnVsbE9yRW1wdHkoY29udGV4dCkpIHtcclxuICAgICAgdGhpcy5hcHBDb250ZXh0LmluaXQoY29udGV4dCk7XHJcbiAgICAgIHJldHVybiBvZihjb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICAvL0xvZ1xyXG4gICAgbGV0IHN0b3B3YXRjaCA9IG5ldyBTdG9wd2F0Y2goXCJhcHBsaWNhdGlvblN0YXJ0aW5nXCIpO1xyXG4gICAgc3RvcHdhdGNoLnN0YXJ0KCk7XHJcblxyXG4gICAgdGhpcy5iYXNlVXJsID0gYCR7QXBwQ29yZVNldHRpbmdzLmFwaVVybH0vYXBwQ29udGV4dGA7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQ8YW55PignYXBwbGljYXRpb25TdGFydGluZycpLnBpcGUobWFwKGRhdGEgPT4ge1xyXG4gICAgICAvL0xvZ1xyXG4gICAgICBzdG9wd2F0Y2guc3RvcCgpO1xyXG4gICAgICBzdG9wd2F0Y2gucHJpbnRFbGFwc2VkQXNNaWxsaXNlY29uZHMoKTtcclxuXHJcbiAgICAgIHRoaXMuYXBwQ29udGV4dC5pbml0KGRhdGEpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZW5zdXJlQXBwbGljYXRpb25TdGFydGVkKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLzEuIEFwcGxpY2F0aW9uIFN0YXJ0aW5nXHJcbiAgICBsZXQgYXBwbGljYXRpb25TdGFydGluZyQgPSB0aGlzLmFwcGxpY2F0aW9uU3RhcnRpbmcoKTtcclxuXHJcbiAgICAvLzIuIExvYWQganNvbiBmaWxlc1xyXG4gICAgbGV0IGpzb25GaWxlcyQgPSB0aGlzLmFwcENvbnRleHQubG9hZFJlcXVpcmVkSnNvbkZpbGVzKCk7XHJcblxyXG4gICAgLy8zLiBMb2FkIHJlcXVpcmVkIGl0ZW1zLCBsaWtlIHNldHRpbmdzXHJcbiAgICBsZXQgcmVxdWlyZWRJdGVtcyQgPSB0aGlzLmFwcENvbnRleHQubG9hZFJlcXVpcmVkSXRlbXMoKTtcclxuXHJcbiAgICAvL1Rhc2tzIHRvIGV4ZWN1dGVcclxuICAgIGxldCBwYXJhbGxlbFRhc2tzID0gW107XHJcblxyXG4gICAgaWYgKGpzb25GaWxlcyQpIHBhcmFsbGVsVGFza3MucHVzaChqc29uRmlsZXMkKTtcclxuICAgIGlmIChyZXF1aXJlZEl0ZW1zJCkgcGFyYWxsZWxUYXNrcy5wdXNoKHJlcXVpcmVkSXRlbXMkKTtcclxuXHJcbiAgICBsZXQgcGFyYWxsZWxUYXNrcyQgPSBtZXJnZSguLi5wYXJhbGxlbFRhc2tzKTtcclxuICAgIGxldCB0YXNrcyQgPSBmb3JrSm9pbihbYXBwbGljYXRpb25TdGFydGluZyQsIHBhcmFsbGVsVGFza3MkXSk7XHJcblxyXG4gICAgLy9WYWRpbU9TOlxyXG4gICAgLy9jb25jYXQgaXMgTk9UIHdva3JpbmcgaGVyZSwgbm8gaWRlYSB3aHkuIEp1c3QgZXhlY3V0aW5nIGZpcnN0IHRhc2tcclxuICAgIC8vbGV0IHRhc2tzJCA9IGNvbmNhdChhcHBsaWNhdGlvblN0YXJ0aW5nJCwgcGFyYWxsZWxUYXNrcyQpO1xyXG5cclxuICAgIC8vTG9nXHJcbiAgICBsZXQgc3RvcHdhdGNoID0gbmV3IFN0b3B3YXRjaChcImVuc3VyZUFwcGxpY2F0aW9uU3RhcnRlZFwiKTtcclxuICAgIHN0b3B3YXRjaC5zdGFydCgpO1xyXG5cclxuICAgIHJldHVybiB0YXNrcyQucGlwZShtYXAoKCkgPT4ge1xyXG4gICAgICAgIC8vTG9nXHJcbiAgICAgICAgc3RvcHdhdGNoLnN0b3AoKTtcclxuICAgICAgICBzdG9wd2F0Y2gucHJpbnRFbGFwc2VkQXNNaWxsaXNlY29uZHMoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=