tango-app-ui-shared 3.3.1-beta.5 → 3.3.1-beta.51

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 (41) hide show
  1. package/esm2022/lib/guards/stores.guard.mjs +5 -5
  2. package/esm2022/lib/guards/tickets.guard.mjs +5 -5
  3. package/esm2022/lib/interceptors/http-auth-interceptor.mjs +9 -3
  4. package/esm2022/lib/modules/errors/errors-routing.module.mjs +6 -1
  5. package/esm2022/lib/modules/errors/errors.module.mjs +6 -3
  6. package/esm2022/lib/modules/errors/invalid-ip/invalid-ip.component.mjs +44 -0
  7. package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +19 -8
  8. package/esm2022/lib/modules/layout/layout.module.mjs +6 -3
  9. package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +21 -14
  10. package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +3 -2
  11. package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +15 -9
  12. package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +12 -6
  13. package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +8 -5
  14. package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +46 -21
  15. package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +171 -80
  16. package/esm2022/lib/modules/layout/toolbar/trax-header/trax-header.component.mjs +785 -0
  17. package/esm2022/lib/modules/notification/notification/notification.component.mjs +128 -18
  18. package/esm2022/lib/modules/notification/notification-routing.module.mjs +5 -1
  19. package/esm2022/lib/modules/notification/notification.module.mjs +2 -2
  20. package/esm2022/lib/routes/routing.mjs +6 -1
  21. package/esm2022/lib/services/auth.service.mjs +6 -6
  22. package/esm2022/lib/services/notification.service.mjs +6 -1
  23. package/fesm2022/{tango-app-ui-shared-intro.module-CAPPEqzI.mjs → tango-app-ui-shared-intro.module-D2ZCIIvP.mjs} +5 -5
  24. package/fesm2022/{tango-app-ui-shared-intro.module-CAPPEqzI.mjs.map → tango-app-ui-shared-intro.module-D2ZCIIvP.mjs.map} +1 -1
  25. package/fesm2022/tango-app-ui-shared-notification.module-DweHaB7D.mjs +352 -0
  26. package/fesm2022/tango-app-ui-shared-notification.module-DweHaB7D.mjs.map +1 -0
  27. package/fesm2022/tango-app-ui-shared.mjs +1315 -330
  28. package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
  29. package/lib/modules/errors/errors.module.d.ts +4 -3
  30. package/lib/modules/errors/invalid-ip/invalid-ip.component.d.ts +17 -0
  31. package/lib/modules/layout/header/page-title/page-title.component.d.ts +4 -1
  32. package/lib/modules/layout/layout.module.d.ts +11 -10
  33. package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +1 -0
  34. package/lib/modules/layout/toolbar/toolbar.component.d.ts +2 -1
  35. package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts +4 -1
  36. package/lib/modules/layout/toolbar/trax-header/trax-header.component.d.ts +80 -0
  37. package/lib/modules/notification/notification/notification.component.d.ts +13 -0
  38. package/lib/services/notification.service.d.ts +2 -0
  39. package/package.json +1 -1
  40. package/fesm2022/tango-app-ui-shared-notification.module-Bj0oBem1.mjs +0 -238
  41. package/fesm2022/tango-app-ui-shared-notification.module-Bj0oBem1.mjs.map +0 -1
@@ -6,11 +6,11 @@ export const storesGuard = (route, state) => {
6
6
  const gs = inject(GlobalStateService);
7
7
  const router = inject(Router);
8
8
  return gs.userAccess.pipe(take(1), map((e) => {
9
- if (e && !e?.manage_stores_isView) {
10
- router.navigateByUrl('/manage');
11
- return false;
12
- }
9
+ // if(e && !e?.manage_stores_isView){
10
+ // router.navigateByUrl('/manage')
11
+ // return false
12
+ // }
13
13
  return true;
14
14
  }));
15
15
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVzLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL2d1YXJkcy9zdG9yZXMuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBa0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDekQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDckMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTlCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1FBQ3pDLElBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFDO1lBQzdCLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDakMsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW5BY3RpdmF0ZUZuLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmV4cG9ydCBjb25zdCBzdG9yZXNHdWFyZDogQ2FuQWN0aXZhdGVGbiA9IChyb3V0ZSwgc3RhdGUpID0+IHtcclxuICBjb25zdCBncyA9IGluamVjdChHbG9iYWxTdGF0ZVNlcnZpY2UpXHJcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcilcclxuICBcclxuIHJldHVybiBncy51c2VyQWNjZXNzLnBpcGUodGFrZSgxKSwgbWFwKChlKT0+e1xyXG4gICAgaWYoZSAmJiAhZT8ubWFuYWdlX3N0b3Jlc19pc1ZpZXcpe1xyXG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbWFuYWdlJylcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9KSlcclxufTtcclxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVzLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL2d1YXJkcy9zdG9yZXMuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBa0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDekQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDckMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTlCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1FBQ3pDLHFDQUFxQztRQUNyQyxzQ0FBc0M7UUFDdEMsaUJBQWlCO1FBQ2pCLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FuQWN0aXZhdGVGbiwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5leHBvcnQgY29uc3Qgc3RvcmVzR3VhcmQ6IENhbkFjdGl2YXRlRm4gPSAocm91dGUsIHN0YXRlKSA9PiB7XHJcbiAgY29uc3QgZ3MgPSBpbmplY3QoR2xvYmFsU3RhdGVTZXJ2aWNlKVxyXG4gIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpXHJcbiAgXHJcbiByZXR1cm4gZ3MudXNlckFjY2Vzcy5waXBlKHRha2UoMSksIG1hcCgoZSk9PntcclxuICAgIC8vIGlmKGUgJiYgIWU/Lm1hbmFnZV9zdG9yZXNfaXNWaWV3KXtcclxuICAgIC8vICAgICByb3V0ZXIubmF2aWdhdGVCeVVybCgnL21hbmFnZScpXHJcbiAgICAvLyAgIHJldHVybiBmYWxzZVxyXG4gICAgLy8gfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfSkpXHJcbn07XHJcbiJdfQ==
@@ -6,11 +6,11 @@ export const ticketsGuard = (route, state) => {
6
6
  const gs = inject(GlobalStateService);
7
7
  const router = inject(Router);
8
8
  return gs.userAccess.pipe(map((e) => {
9
- if (e && !e?.manage_tickets_isView) {
10
- router.navigateByUrl('/manage');
11
- return false;
12
- }
9
+ // if(e && !e?.manage_tickets_isView){
10
+ // router.navigateByUrl('/manage')
11
+ // return false
12
+ // }
13
13
  return true;
14
14
  }));
15
15
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0cy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9ndWFyZHMvdGlja2V0cy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBaUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEdBQUcsRUFBUSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQzFELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQ3JDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUU5QixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1FBQ2pDLElBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixFQUFDO1lBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDakMsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW5BY3RpdmF0ZUZuLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXAsIHNraXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmV4cG9ydCBjb25zdCB0aWNrZXRzR3VhcmQ6IENhbkFjdGl2YXRlRm4gPSAocm91dGUsIHN0YXRlKSA9PiB7XHJcbiAgY29uc3QgZ3MgPSBpbmplY3QoR2xvYmFsU3RhdGVTZXJ2aWNlKVxyXG4gIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpXHJcbiAgXHJcbiByZXR1cm4gZ3MudXNlckFjY2Vzcy5waXBlKCBtYXAoKGUpPT57ICBcclxuICAgIGlmKGUgJiYgIWU/Lm1hbmFnZV90aWNrZXRzX2lzVmlldyl7XHJcbiAgICAgICAgcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9tYW5hZ2UnKVxyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH0pKVxyXG59O1xyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0cy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9ndWFyZHMvdGlja2V0cy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBaUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEdBQUcsRUFBUSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQzFELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQ3JDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUU5QixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1FBQ2pDLHNDQUFzQztRQUN0QyxzQ0FBc0M7UUFDdEMsaUJBQWlCO1FBQ2pCLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FuQWN0aXZhdGVGbiwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgbWFwLCBza2lwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5leHBvcnQgY29uc3QgdGlja2V0c0d1YXJkOiBDYW5BY3RpdmF0ZUZuID0gKHJvdXRlLCBzdGF0ZSkgPT4ge1xyXG4gIGNvbnN0IGdzID0gaW5qZWN0KEdsb2JhbFN0YXRlU2VydmljZSlcclxuICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKVxyXG4gIFxyXG4gcmV0dXJuIGdzLnVzZXJBY2Nlc3MucGlwZSggbWFwKChlKT0+eyAgXHJcbiAgICAvLyBpZihlICYmICFlPy5tYW5hZ2VfdGlja2V0c19pc1ZpZXcpe1xyXG4gICAgLy8gICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbWFuYWdlJylcclxuICAgIC8vICAgcmV0dXJuIGZhbHNlXHJcbiAgICAvLyB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9KSlcclxufTtcclxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { HttpErrorResponse } from '@angular/common/http';
3
- import { BehaviorSubject, catchError, switchMap, throwError } from 'rxjs';
3
+ import { BehaviorSubject, catchError, switchMap, throwError, tap } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "tango-app-ui-global";
6
6
  import * as i2 from "../services/auth.service";
@@ -29,7 +29,13 @@ export class HttpAuthInterceptor {
29
29
  Authorization: 'Bearer ' + user.authenticationToken
30
30
  }
31
31
  });
32
- return next.handle(request).pipe(catchError((error) => {
32
+ return next.handle(request)
33
+ .pipe(tap((response) => {
34
+ if (response?.body?.data?.result === 'RESTRICTED-IP') {
35
+ this.router.navigateByUrl('/error/403-ip');
36
+ }
37
+ }))
38
+ .pipe(catchError((error) => {
33
39
  if (error instanceof HttpErrorResponse && error.status === 401) {
34
40
  // If the error is due to unauthorized access, try to refresh the token
35
41
  return this.handle401Error(request, next);
@@ -115,4 +121,4 @@ export class HttpAuthInterceptor {
115
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpAuthInterceptor, decorators: [{
116
122
  type: Injectable
117
123
  }], ctorParameters: () => [{ type: i1.GlobalStateService }, { type: i2.AuthService }, { type: i3.Router }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hdXRoLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWF1dGgtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBS0wsaUJBQWlCLEVBQ2xCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFLdEYsTUFBTSxPQUFPLG1CQUFtQjtJQU9wQjtJQUNBO0lBQWlDO0lBTjNDLHFCQUFxQixHQUFTLEVBQUUsQ0FBQztJQUN6QixpQkFBaUIsR0FBWSxLQUFLLENBQUM7SUFDbkMsY0FBYyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUV2RixZQUNVLEVBQXFCLEVBQ3JCLFdBQXdCLEVBQVMsTUFBYTtRQUQ5QyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQU87UUFFdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUU7WUFDbkMsSUFBRyxHQUFHLEVBQUM7Z0JBQ04sSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7YUFBQztRQUN4RSxDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFDRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCxNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENB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LE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUN0QixVQUFVLEVBQUU7d0JBQ1YsYUFBYSxFQUFFLFNBQVMsR0FBRyxNQUFNLENBQUMsbUJBQW1CO3FCQUN0RDtpQkFDRixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7d0dBckhVLG1CQUFtQjs0R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cEVycm9yUmVzcG9uc2VcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICBhdXRobG9jYWxTdG9yYWdlVG9rZW46IHN0cmluZz0nJztcclxuICBwcml2YXRlIGlzUmVmcmVzaGluZ1Rva2VuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSB0b2tlblJlZnJlc2hlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLHByaXZhdGUgcm91dGVyOlJvdXRlclxyXG4gICkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5zdWJzY3JpYmUoKGVudik9PntcclxuICAgICAgaWYoZW52KXtcclxuICAgICAgIHRoaXMuYXV0aGxvY2FsU3RvcmFnZVRva2VuID0gYCR7ZW52LmFwcFZlcnNpb259LSR7ZW52LlVTRVJEQVRBX0tFWX1gO31cclxuICAgICB9KVxyXG4gIH1cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBjb25zdCB1c2VyOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuYXV0aGxvY2FsU3RvcmFnZVRva2VuKSB8fCAne30nKTtcclxuICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgc2V0SGVhZGVyczoge1xyXG4gICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHVzZXIuYXV0aGVudGljYXRpb25Ub2tlblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjphbnkpPT57XHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgIC8vIElmIHRoZSBlcnJvciBpcyBkdWUgdG8gdW5hdXRob3JpemVkIGFjY2VzcywgdHJ5IHRvIHJlZnJlc2ggdGhlIHRva2VuXHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGU0MDFFcnJvcihyZXF1ZXN0LCBuZXh0KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDMpIHtcclxuICAgICAgICAvLyAgIC8vIElmIHRoZSBlcnJvciBpcyBkdWUgdG8gdW5hdXRob3JpemVkIGFjY2VzcywgdHJ5IHRvIHJlZnJlc2ggdGhlIHRva2VuXHJcbiAgICAgICAgLy8gIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL21hbmFnZS9icmFuZHMnXSlcclxuICAgICAgICAvLyB9IFxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaGluZ1Rva2VuKSB7XHJcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nVG9rZW4gPSB0cnVlO1xyXG4gICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5yZWZyZXNoVG9rZW4oKS5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLnJlc3VsdCkge1xyXG4gICAgICAgICAgICAvLyBVcGRhdGUgbG9jYWwgc3RvcmFnZSB3aXRoIHRoZSBuZXcgdG9rZW5cclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW4sIEpTT04uc3RyaW5naWZ5KHJlcy5kYXRhLnJlc3VsdCkpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIHJlcXVlc3Qgd2l0aCB0aGUgbmV3IHRva2VuXHJcbiAgICAgICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVzLmRhdGEucmVzdWx0LmF1dGhlbnRpY2F0aW9uVG9rZW59YFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBmbGFnIGZvciB0b2tlbiByZWZyZXNoaW5nXHJcbiAgICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nVG9rZW4gPSBmYWxzZTtcclxuICBcclxuICAgICAgICAgICAgLy8gUmV0cnkgdGhlIG9yaWdpbmFsIHJlcXVlc3Qgd2l0aCB0aGUgbmV3IHRva2VuXHJcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIExvZ291dCB1c2VyIGlmIHJlZnJlc2ggdG9rZW4gZmFpbHNcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgICAgY29uc3Qga2V5c1RvS2VlcCA9IFsnZGF0YS1taXNtYXRjaC1kcmFmdCddO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXNUb0tlZXA6YW55ID0ge307XHJcbiAgXHJcbiAgICAgICAgICAgIGtleXNUb0tlZXAuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlc1RvS2VlcFtrZXldID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICBcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgXHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlc1RvS2VlcCkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWVzVG9LZWVwW2tleV0pO1xyXG4gICAgICAgICAgICB9KTsgXHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2F1dGgvbG9naW4nXSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdUb2tlbiBFeHBpcmVkIFBsZWFzZSBMb2dpbiBBZ2FpbiEnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgLy8gTG9nb3V0IHVzZXIgaWYgcmVmcmVzaCB0b2tlbiBmYWlsc1xyXG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgIGNvbnN0IGtleXNUb0tlZXAgPSBbJ2RhdGEtbWlzbWF0Y2gtZHJhZnQnXTtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlc1RvS2VlcDphbnkgPSB7fTtcclxuXHJcbiAgICAgICAgICBrZXlzVG9LZWVwLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICB2YWx1ZXNUb0tlZXBba2V5XSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuXHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZXNUb0tlZXApLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZXNUb0tlZXBba2V5XSk7XHJcbiAgICAgICAgICB9KTsgXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2F1dGgvbG9naW4nXSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIElmIGFscmVhZHkgcmVmcmVzaGluZyB0aGUgdG9rZW4sIHF1ZXVlIHRoZSByZXF1ZXN0IGFuZCB3YWl0XHJcbiAgICAgIHJldHVybiB0aGlzLnRva2VuUmVmcmVzaGVkLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRva2VuczogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbikgfHwgJ3t9Jyk7XHJcbiAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0b2tlbnMuYXV0aGVudGljYXRpb25Ub2tlblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxufSJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hdXRoLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWF1dGgtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBS0wsaUJBQWlCLEVBQ2xCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBSzNGLE1BQU0sT0FBTyxtQkFBbUI7SUFPcEI7SUFDQTtJQUFpQztJQU4zQyxxQkFBcUIsR0FBUyxFQUFFLENBQUM7SUFDekIsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLGNBQWMsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkYsWUFDVSxFQUFxQixFQUNyQixXQUF3QixFQUFTLE1BQWE7UUFEOUMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBRXRELElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ25DLElBQUcsR0FBRyxFQUFDO2dCQUNOLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBQ0QsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENB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O1NBQ0g7YUFBTTtZQUNMLDhEQUE4RDtZQUM5RCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNiLE1BQU0sTUFBTSxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztnQkFDekYsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ3RCLFVBQVUsRUFBRTt3QkFDVixhQUFhLEVBQUUsU0FBUyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUI7cUJBQ3REO2lCQUNGLENBQUMsQ0FBQztnQkFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQzt3R0EzSFUsbUJBQW1COzRHQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwRXJyb3JSZXNwb25zZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBzd2l0Y2hNYXAsIHRocm93RXJyb3IsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgYXV0aGxvY2FsU3RvcmFnZVRva2VuOiBzdHJpbmc9Jyc7XHJcbiAgcHJpdmF0ZSBpc1JlZnJlc2hpbmdUb2tlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgdG9rZW5SZWZyZXNoZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBnczpHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxwcml2YXRlIHJvdXRlcjpSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpPT57XHJcbiAgICAgIGlmKGVudil7XHJcbiAgICAgICB0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbiA9IGAke2Vudi5hcHBWZXJzaW9ufS0ke2Vudi5VU0VSREFUQV9LRVl9YDt9XHJcbiAgICAgfSlcclxuICB9XHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgY29uc3QgdXNlcjogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbikgfHwgJ3t9Jyk7XHJcbiAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgIHNldEhlYWRlcnM6IHtcclxuICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB1c2VyLmF1dGhlbnRpY2F0aW9uVG9rZW5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdClcclxuICAgIC5waXBlKHRhcCgocmVzcG9uc2U6YW55KT0+e1xyXG4gICAgICBpZihyZXNwb25zZT8uYm9keT8uZGF0YT8ucmVzdWx0ID09PSAnUkVTVFJJQ1RFRC1JUCcpe1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9lcnJvci80MDMtaXAnKVxyXG4gICAgICB9XHJcbiAgICB9KSlcclxuICAgIC5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjphbnkpPT57XHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgIC8vIElmIHRoZSBlcnJvciBpcyBkdWUgdG8gdW5hdXRob3JpemVkIGFjY2VzcywgdHJ5IHRvIHJlZnJlc2ggdGhlIHRva2VuXHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGU0MDFFcnJvcihyZXF1ZXN0LCBuZXh0KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDMpIHtcclxuICAgICAgICAvLyAgIC8vIElmIHRoZSBlcnJvciBpcyBkdWUgdG8gdW5hdXRob3JpemVkIGFjY2VzcywgdHJ5IHRvIHJlZnJlc2ggdGhlIHRva2VuXHJcbiAgICAgICAgLy8gIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL21hbmFnZS9icmFuZHMnXSlcclxuICAgICAgICAvLyB9IFxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaGluZ1Rva2VuKSB7XHJcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nVG9rZW4gPSB0cnVlO1xyXG4gICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5yZWZyZXNoVG9rZW4oKS5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLnJlc3VsdCkge1xyXG4gICAgICAgICAgICAvLyBVcGRhdGUgbG9jYWwgc3RvcmFnZSB3aXRoIHRoZSBuZXcgdG9rZW5cclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW4sIEpTT04uc3RyaW5naWZ5KHJlcy5kYXRhLnJlc3VsdCkpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIHJlcXVlc3Qgd2l0aCB0aGUgbmV3IHRva2VuXHJcbiAgICAgICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVzLmRhdGEucmVzdWx0LmF1dGhlbnRpY2F0aW9uVG9rZW59YFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBmbGFnIGZvciB0b2tlbiByZWZyZXNoaW5nXHJcbiAgICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nVG9rZW4gPSBmYWxzZTtcclxuICBcclxuICAgICAgICAgICAgLy8gUmV0cnkgdGhlIG9yaWdpbmFsIHJlcXVlc3Qgd2l0aCB0aGUgbmV3IHRva2VuXHJcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIExvZ291dCB1c2VyIGlmIHJlZnJlc2ggdG9rZW4gZmFpbHNcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgICAgY29uc3Qga2V5c1RvS2VlcCA9IFsnZGF0YS1taXNtYXRjaC1kcmFmdCddO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXNUb0tlZXA6YW55ID0ge307XHJcbiAgXHJcbiAgICAgICAgICAgIGtleXNUb0tlZXAuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlc1RvS2VlcFtrZXldID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICBcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgXHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlc1RvS2VlcCkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWVzVG9LZWVwW2tleV0pO1xyXG4gICAgICAgICAgICB9KTsgXHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2F1dGgvbG9naW4nXSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdUb2tlbiBFeHBpcmVkIFBsZWFzZSBMb2dpbiBBZ2FpbiEnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgLy8gTG9nb3V0IHVzZXIgaWYgcmVmcmVzaCB0b2tlbiBmYWlsc1xyXG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgIGNvbnN0IGtleXNUb0tlZXAgPSBbJ2RhdGEtbWlzbWF0Y2gtZHJhZnQnXTtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlc1RvS2VlcDphbnkgPSB7fTtcclxuXHJcbiAgICAgICAgICBrZXlzVG9LZWVwLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICB2YWx1ZXNUb0tlZXBba2V5XSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuXHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZXNUb0tlZXApLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZXNUb0tlZXBba2V5XSk7XHJcbiAgICAgICAgICB9KTsgXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2F1dGgvbG9naW4nXSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIElmIGFscmVhZHkgcmVmcmVzaGluZyB0aGUgdG9rZW4sIHF1ZXVlIHRoZSByZXF1ZXN0IGFuZCB3YWl0XHJcbiAgICAgIHJldHVybiB0aGlzLnRva2VuUmVmcmVzaGVkLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRva2VuczogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbikgfHwgJ3t9Jyk7XHJcbiAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0b2tlbnMuYXV0aGVudGljYXRpb25Ub2tlblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxufSJdfQ==
@@ -4,6 +4,7 @@ import { Error404Component } from './error404/error404.component';
4
4
  import { Error500Component } from './error500/error500.component';
5
5
  import { ErrorsComponent } from './errors.component';
6
6
  import { Error403Component } from './error403/error403.component';
7
+ import { InvalidIpComponent } from './invalid-ip/invalid-ip.component';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@angular/router";
9
10
  const routes = [
@@ -23,6 +24,10 @@ const routes = [
23
24
  path: '500',
24
25
  component: Error500Component,
25
26
  },
27
+ {
28
+ path: '403-ip',
29
+ component: InvalidIpComponent,
30
+ },
26
31
  { path: '', redirectTo: '404', pathMatch: 'full' },
27
32
  { path: '**', redirectTo: '404', pathMatch: 'full' },
28
33
  ],
@@ -40,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
40
45
  exports: [RouterModule],
41
46
  }]
42
47
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvZXJyb3JzL2Vycm9ycy1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUVsRSxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGVBQWU7UUFDMUIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsU0FBUyxFQUFFLGlCQUFpQjthQUM3QjtZQUNEO2dCQUNFLElBQUksRUFBRSxLQUFLO2dCQUNYLFNBQVMsRUFBRSxpQkFBaUI7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxTQUFTLEVBQUUsaUJBQWlCO2FBQzdCO1lBQ0QsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtZQUNsRCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1NBQ3JEO0tBQ0Y7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLG1CQUFtQjt3R0FBbkIsbUJBQW1CO3lHQUFuQixtQkFBbUIsd0NBRnBCLFlBQVk7eUdBRVgsbUJBQW1CLFlBSHBCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBFcnJvcjQwNENvbXBvbmVudCB9IGZyb20gJy4vZXJyb3I0MDQvZXJyb3I0MDQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXJyb3I1MDBDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yNTAwL2Vycm9yNTAwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVycm9yc0NvbXBvbmVudCB9IGZyb20gJy4vZXJyb3JzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVycm9yNDAzQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvcjQwMy9lcnJvcjQwMy5jb21wb25lbnQnO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAge1xyXG4gICAgcGF0aDogJycsXHJcbiAgICBjb21wb25lbnQ6IEVycm9yc0NvbXBvbmVudCxcclxuICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiAnNDAzJyxcclxuICAgICAgICBjb21wb25lbnQ6IEVycm9yNDAzQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJzQwNCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBFcnJvcjQwNENvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICc1MDAnLFxyXG4gICAgICAgIGNvbXBvbmVudDogRXJyb3I1MDBDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHsgcGF0aDogJycsIHJlZGlyZWN0VG86ICc0MDQnLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxyXG4gICAgICB7IHBhdGg6ICcqKicsIHJlZGlyZWN0VG86ICc0MDQnLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxyXG4gICAgXSxcclxuICB9LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JzUm91dGluZ01vZHVsZSB7fVxyXG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvZXJyb3JzL2Vycm9ycy1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUV2RSxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGVBQWU7UUFDMUIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsU0FBUyxFQUFFLGlCQUFpQjthQUM3QjtZQUNEO2dCQUNFLElBQUksRUFBRSxLQUFLO2dCQUNYLFNBQVMsRUFBRSxpQkFBaUI7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxTQUFTLEVBQUUsaUJBQWlCO2FBQzdCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsU0FBUyxFQUFFLGtCQUFrQjthQUM5QjtZQUNELEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7WUFDbEQsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtTQUNyRDtLQUNGO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyxtQkFBbUI7d0dBQW5CLG1CQUFtQjt5R0FBbkIsbUJBQW1CLHdDQUZwQixZQUFZO3lHQUVYLG1CQUFtQixZQUhwQixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzs0RkFFWCxtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRXJyb3I0MDRDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yNDA0L2Vycm9yNDA0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVycm9yNTAwQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvcjUwMC9lcnJvcjUwMC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFcnJvcnNDb21wb25lbnQgfSBmcm9tICcuL2Vycm9ycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFcnJvcjQwM0NvbXBvbmVudCB9IGZyb20gJy4vZXJyb3I0MDMvZXJyb3I0MDMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW52YWxpZElwQ29tcG9uZW50IH0gZnJvbSAnLi9pbnZhbGlkLWlwL2ludmFsaWQtaXAuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBFcnJvcnNDb21wb25lbnQsXHJcbiAgICBjaGlsZHJlbjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJzQwMycsXHJcbiAgICAgICAgY29tcG9uZW50OiBFcnJvcjQwM0NvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICc0MDQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogRXJyb3I0MDRDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiAnNTAwJyxcclxuICAgICAgICBjb21wb25lbnQ6IEVycm9yNTAwQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJzQwMy1pcCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBJbnZhbGlkSXBDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHsgcGF0aDogJycsIHJlZGlyZWN0VG86ICc0MDQnLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxyXG4gICAgICB7IHBhdGg6ICcqKicsIHJlZGlyZWN0VG86ICc0MDQnLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxyXG4gICAgXSxcclxuICB9LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JzUm91dGluZ01vZHVsZSB7fVxyXG4iXX0=
@@ -5,13 +5,15 @@ import { ErrorsComponent } from '../errors/errors.component';
5
5
  import { Error500Component } from './error500/error500.component';
6
6
  import { Error404Component } from './error404/error404.component';
7
7
  import { Error403Component } from './error403/error403.component';
8
+ import { InvalidIpComponent } from './invalid-ip/invalid-ip.component';
8
9
  import * as i0 from "@angular/core";
9
10
  export class ErrorsModule {
10
11
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
12
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ErrorsModule, declarations: [ErrorsComponent,
12
13
  Error404Component,
13
14
  Error500Component,
14
- Error403Component], imports: [CommonModule,
15
+ Error403Component,
16
+ InvalidIpComponent], imports: [CommonModule,
15
17
  ErrorsRoutingModule] });
16
18
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorsModule, imports: [CommonModule,
17
19
  ErrorsRoutingModule] });
@@ -23,7 +25,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
23
25
  ErrorsComponent,
24
26
  Error404Component,
25
27
  Error500Component,
26
- Error403Component
28
+ Error403Component,
29
+ InvalidIpComponent
27
30
  ],
28
31
  imports: [
29
32
  CommonModule,
@@ -31,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
31
34
  ]
32
35
  }]
33
36
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2Vycm9ycy9lcnJvcnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFlbEUsTUFBTSxPQUFPLFlBQVk7d0dBQVosWUFBWTt5R0FBWixZQUFZLGlCQVZyQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixpQkFBaUIsYUFHakIsWUFBWTtZQUNaLG1CQUFtQjt5R0FHVixZQUFZLFlBSnJCLFlBQVk7WUFDWixtQkFBbUI7OzRGQUdWLFlBQVk7a0JBWnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBFcnJvcnNSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9lcnJvcnMtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBFcnJvcnNDb21wb25lbnQgfSBmcm9tICcuLi9lcnJvcnMvZXJyb3JzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVycm9yNTAwQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvcjUwMC9lcnJvcjUwMC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFcnJvcjQwNENvbXBvbmVudCB9IGZyb20gJy4vZXJyb3I0MDQvZXJyb3I0MDQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXJyb3I0MDNDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yNDAzL2Vycm9yNDAzLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEVycm9yc0NvbXBvbmVudCxcclxuICAgIEVycm9yNDA0Q29tcG9uZW50LFxyXG4gICAgRXJyb3I1MDBDb21wb25lbnQsXHJcbiAgICBFcnJvcjQwM0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRXJyb3JzUm91dGluZ01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yc01vZHVsZSB7IH1cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2Vycm9ycy9lcnJvcnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFnQnZFLE1BQU0sT0FBTyxZQUFZO3dHQUFaLFlBQVk7eUdBQVosWUFBWSxpQkFYckIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGtCQUFrQixhQUdsQixZQUFZO1lBQ1osbUJBQW1CO3lHQUdWLFlBQVksWUFKckIsWUFBWTtZQUNaLG1CQUFtQjs7NEZBR1YsWUFBWTtrQkFieEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRXJyb3JzUm91dGluZ01vZHVsZSB9IGZyb20gJy4vZXJyb3JzLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3JzL2Vycm9ycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFcnJvcjUwMENvbXBvbmVudCB9IGZyb20gJy4vZXJyb3I1MDAvZXJyb3I1MDAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXJyb3I0MDRDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yNDA0L2Vycm9yNDA0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVycm9yNDAzQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvcjQwMy9lcnJvcjQwMy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnZhbGlkSXBDb21wb25lbnQgfSBmcm9tICcuL2ludmFsaWQtaXAvaW52YWxpZC1pcC5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBFcnJvcnNDb21wb25lbnQsXHJcbiAgICBFcnJvcjQwNENvbXBvbmVudCxcclxuICAgIEVycm9yNTAwQ29tcG9uZW50LFxyXG4gICAgRXJyb3I0MDNDb21wb25lbnQsXHJcbiAgICBJbnZhbGlkSXBDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEVycm9yc1JvdXRpbmdNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvcnNNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "tango-app-ui-global";
5
+ import * as i3 from "../../../services/auth.service";
6
+ export class InvalidIpComponent {
7
+ router;
8
+ modeService;
9
+ authService;
10
+ unsubscribe = [];
11
+ constructor(router, modeService, authService) {
12
+ this.router = router;
13
+ this.modeService = modeService;
14
+ this.authService = authService;
15
+ }
16
+ ngOnInit() {
17
+ // const subscr = this.modeService.mode.asObservable().subscribe((mode) => {
18
+ // document.body.style.backgroundImage =
19
+ // mode === 'dark'
20
+ // ? 'url(./assets/media/auth/bg1-dark.jpg)'
21
+ // : 'url(./assets/media/auth/bg1.jpg)';
22
+ // });
23
+ // this.unsubscribe.push(subscr);
24
+ this.getProfile();
25
+ }
26
+ ngOnDestroy() {
27
+ this.unsubscribe.forEach((sb) => sb.unsubscribe());
28
+ document.body.style.backgroundImage = 'none';
29
+ }
30
+ getProfile() {
31
+ this.unsubscribe.push(this.authService.userProfileDet().subscribe((res) => {
32
+ if (res?.data?.result !== 'RESTRICTED-IP') {
33
+ this.router.navigate(['/manage']);
34
+ }
35
+ }));
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InvalidIpComponent, deps: [{ token: i1.Router }, { token: i2.ThemeModeService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InvalidIpComponent, selector: "lib-invalid-ip", ngImport: i0, template: "\r\n \r\n <!--begin::Illustration-->\r\n <div class=\"mb-8\">\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-light-show\" alt=\"\" />\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-dark-show\" alt=\"\" />\r\n </div>\r\n <!--end::Illustration-->\r\n \r\n \r\n <!--begin::Text-->\r\n <div class=\"fw-semibold fs-6 text-gray-500 mb-7\">\r\n Your IP address is not whitelisted. Please connect to an authorized network or contact your administrator to whitelist your IP address.\r\n </div>\r\n <!--end::Text-->\r\n ", styles: [""] });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InvalidIpComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'lib-invalid-ip', template: "\r\n \r\n <!--begin::Illustration-->\r\n <div class=\"mb-8\">\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-light-show\" alt=\"\" />\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-dark-show\" alt=\"\" />\r\n </div>\r\n <!--end::Illustration-->\r\n \r\n \r\n <!--begin::Text-->\r\n <div class=\"fw-semibold fs-6 text-gray-500 mb-7\">\r\n Your IP address is not whitelisted. Please connect to an authorized network or contact your administrator to whitelist your IP address.\r\n </div>\r\n <!--end::Text-->\r\n " }]
43
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ThemeModeService }, { type: i3.AuthService }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC1pcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9lcnJvcnMvaW52YWxpZC1pcC9pbnZhbGlkLWlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2Vycm9ycy9pbnZhbGlkLWlwL2ludmFsaWQtaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVzdELE1BQU0sT0FBTyxrQkFBa0I7SUFJVDtJQUF3QjtJQUF1QztJQUYzRSxXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxZQUFvQixNQUFjLEVBQVUsV0FBNkIsRUFBVSxXQUF1QjtRQUF0RixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFBRyxDQUFDO0lBQzlHLFFBQVE7UUFDTiw0RUFBNEU7UUFDNUUsMENBQTBDO1FBQzFDLHNCQUFzQjtRQUN0QixrREFBa0Q7UUFDbEQsOENBQThDO1FBQzlDLE1BQU07UUFDTixpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUM7SUFDL0MsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRTtZQUNqRCxJQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxLQUFLLGVBQWUsRUFBQztnQkFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQ0QsQ0FBQTtJQUVILENBQUM7d0dBN0JVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHNEQ1gvQix1bUJBZUU7OzRGREpXLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFRoZW1lTW9kZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWludmFsaWQtaXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnZhbGlkLWlwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaW52YWxpZC1pcC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEludmFsaWRJcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBtb2RlU2VydmljZTogVGhlbWVNb2RlU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTpBdXRoU2VydmljZSkge31cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGNvbnN0IHN1YnNjciA9IHRoaXMubW9kZVNlcnZpY2UubW9kZS5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUoKG1vZGUpID0+IHtcclxuICAgIC8vICAgZG9jdW1lbnQuYm9keS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPVxyXG4gICAgLy8gICAgIG1vZGUgPT09ICdkYXJrJ1xyXG4gICAgLy8gICAgICAgPyAndXJsKC4vYXNzZXRzL21lZGlhL2F1dGgvYmcxLWRhcmsuanBnKSdcclxuICAgIC8vICAgICAgIDogJ3VybCguL2Fzc2V0cy9tZWRpYS9hdXRoL2JnMS5qcGcpJztcclxuICAgIC8vIH0pO1xyXG4gICAgLy8gdGhpcy51bnN1YnNjcmliZS5wdXNoKHN1YnNjcik7XHJcbiAgICB0aGlzLmdldFByb2ZpbGUoKVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSAnbm9uZSc7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9maWxlKCl7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2goXHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnVzZXJQcm9maWxlRGV0KCkuc3Vic2NyaWJlKChyZXMpPT57XHJcbiAgICAgIGlmKHJlcz8uZGF0YT8ucmVzdWx0ICE9PSAnUkVTVFJJQ1RFRC1JUCcpe1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL21hbmFnZSddKVxyXG4gICAgICB9XHJcbiAgICB9KSAgXHJcbiAgICApXHJcbiAgICBcclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG4gIFxyXG4gIDwhLS1iZWdpbjo6SWxsdXN0cmF0aW9uLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLThcIj5cclxuICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvbWVkaWEvYXV0aC9pbnZhbGlkLWlwLWVycm9yLnBuZ1wiIGNsYXNzPVwibXctMTAwIG1oLTMwMHB4IHRoZW1lLWxpZ2h0LXNob3dcIiBhbHQ9XCJcIiAvPlxyXG4gICAgPGltZyBzcmM9XCIuL2Fzc2V0cy9tZWRpYS9hdXRoL2ludmFsaWQtaXAtZXJyb3IucG5nXCIgY2xhc3M9XCJtdy0xMDAgbWgtMzAwcHggdGhlbWUtZGFyay1zaG93XCIgYWx0PVwiXCIgLz5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpJbGx1c3RyYXRpb24tLT5cclxuICBcclxuICBcclxuICA8IS0tYmVnaW46OlRleHQtLT5cclxuICA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGQgZnMtNiB0ZXh0LWdyYXktNTAwIG1iLTdcIj5cclxuICAgIFlvdXIgSVAgYWRkcmVzcyBpcyBub3Qgd2hpdGVsaXN0ZWQuIFBsZWFzZSBjb25uZWN0IHRvIGFuIGF1dGhvcml6ZWQgbmV0d29yayBvciBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvciB0byB3aGl0ZWxpc3QgeW91ciBJUCBhZGRyZXNzLlxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OlRleHQtLT5cclxuICAiXX0=
@@ -1,11 +1,12 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "tango-app-ui-global";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/router";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "@angular/common";
6
6
  export class PageTitleComponent {
7
7
  pageInfo;
8
8
  cd;
9
+ router;
9
10
  unsubscribe = [];
10
11
  appPageTitleDirection = '';
11
12
  appPageTitleBreadcrumb;
@@ -13,9 +14,10 @@ export class PageTitleComponent {
13
14
  title$;
14
15
  description$;
15
16
  bc$;
16
- constructor(pageInfo, cd) {
17
+ constructor(pageInfo, cd, router) {
17
18
  this.pageInfo = pageInfo;
18
19
  this.cd = cd;
20
+ this.router = router;
19
21
  }
20
22
  ngOnInit() {
21
23
  this.title$ = this.pageInfo.title.asObservable();
@@ -34,17 +36,26 @@ export class PageTitleComponent {
34
36
  ngOnDestroy() {
35
37
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
36
38
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
39
+ redirectFunction(path) {
40
+ const user = JSON.parse(localStorage.getItem('user-info'));
41
+ if (user.userType === 'tango') {
42
+ this.router.navigateByUrl(path);
43
+ }
44
+ else {
45
+ this.router.navigateByUrl('/manage/summary');
46
+ }
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary cursor-pointer\" (click)=\"redirectFunction(bc?.path)\" >\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
39
50
  }
40
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, decorators: [{
41
52
  type: Component,
42
- args: [{ selector: 'lib-page-title', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"] }]
43
- }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { appPageTitleDirection: [{
53
+ args: [{ selector: 'lib-page-title', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary cursor-pointer\" (click)=\"redirectFunction(bc?.path)\" >\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"] }]
54
+ }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }], propDecorators: { appPageTitleDirection: [{
44
55
  type: Input
45
56
  }], appPageTitleBreadcrumb: [{
46
57
  type: Input
47
58
  }], appPageTitleDescription: [{
48
59
  type: Input
49
60
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN2RixNQUFNLE9BQU8sa0JBQWtCO0lBV1Q7SUFBbUM7SUFWL0MsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFaEMscUJBQXFCLEdBQVcsRUFBRSxDQUFDO0lBQ25DLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBRTFDLE1BQU0sQ0FBcUI7SUFDM0IsWUFBWSxDQUFxQjtJQUNqQyxHQUFHLENBQThCO0lBRWpDLFlBQW9CLFFBQXlCLEVBQVUsRUFBb0I7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtJQUFHLENBQUM7SUFFL0UsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7d0dBOUJVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHdOQ1QvQix3NkNBZ0NBOzs0RkR2QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjtvSEFPakIscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSwgUGFnZUxpbmsgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhZ2UtdGl0bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlVGl0bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgYXBwUGFnZVRpdGxlRGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBhcHBQYWdlVGl0bGVCcmVhZGNydW1iOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uOiBib29sZWFuO1xyXG5cclxuICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBkZXNjcmlwdGlvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBiYyQ6IE9ic2VydmFibGU8QXJyYXk8UGFnZUxpbms+PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGl0bGUkID0gdGhpcy5wYWdlSW5mby50aXRsZS5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb24kID0gdGhpcy5wYWdlSW5mby5kZXNjcmlwdGlvbi5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuYmMkID0gdGhpcy5wYWdlSW5mby5icmVhZGNydW1icy5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMudGl0bGUkLnN1YnNjcmliZSgoZSk9PntcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIH0pXHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uJC5zdWJzY3JpYmUoKGUpPT57XHJcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9KVxyXG4gICAgdGhpcy5iYyQuc3Vic2NyaWJlKChlKT0+e1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZSQgfCBhc3luYyBhcyB0aXRsZVwiPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwUGFnZVRpdGxlQnJlYWRjcnVtYlwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJjJCB8IGFzeW5jIGFzIF9iY1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2JjLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBQYWdlVGl0bGVEaXJlY3Rpb24gPT09ICdyb3cnXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtMjBweCBib3JkZXItZ3JheS0zMDAgYm9yZGVyLXN0YXJ0IG14LTRcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgICA8dWwgY2xhc3M9XCJicmVhZGNydW1iIGJyZWFkY3J1bWItc2VwYXJhdG9ybGVzcyBmdy1zZW1pYm9sZCBmcy03IG15LTBcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydwdC0xJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAnY29sdW1uJ31cIj5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYmMgb2YgX2JjXCIgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhYmMuaXNTZXBhcmF0b3IgJiYgYmMuaXNBY3RpdmUgPyAndGV4dC1ncmF5LTkwMCcgOiAnJ1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiFiYy5pc1NlcGFyYXRvciAmJiAhYmMuaXNBY3RpdmUgPyAndGV4dC1tdXRlZCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJjLmlzU2VwYXJhdG9yXCI+XHJcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJpbmFjdGl2ZS1iYyB0ZXh0LWhvdmVyLXByaW1hcnlcIiBbcm91dGVyTGlua109XCJiYy5wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBiYy50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYy5pc1NlcGFyYXRvclwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy90YW5nby9sYXlvdXQvYmMtc2VwZXJhdG9yLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gYWN0aXZlLWJjXCI+e3sgdGl0bGUgfX08L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPCEtLWVuZDo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVV2RixNQUFNLE9BQU8sa0JBQWtCO0lBV1Q7SUFBbUM7SUFBOEI7SUFWN0UsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFaEMscUJBQXFCLEdBQVcsRUFBRSxDQUFDO0lBQ25DLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBRTFDLE1BQU0sQ0FBcUI7SUFDM0IsWUFBWSxDQUFxQjtJQUNqQyxHQUFHLENBQThCO0lBRWpDLFlBQW9CLFFBQXlCLEVBQVUsRUFBb0IsRUFBVSxNQUFhO1FBQTlFLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFPO0lBQUcsQ0FBQztJQUV0RyxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVE7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBVyxDQUFDLENBQUM7UUFDckUsSUFBRyxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBQztZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQzthQUFLO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7d0dBdkNVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHdOQ1YvQixzOENBZ0NBOzs0RkR0QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjt5SUFPakIscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSwgUGFnZUxpbmsgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhZ2UtdGl0bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlVGl0bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgYXBwUGFnZVRpdGxlRGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBhcHBQYWdlVGl0bGVCcmVhZGNydW1iOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uOiBib29sZWFuO1xyXG5cclxuICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBkZXNjcmlwdGlvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBiYyQ6IE9ic2VydmFibGU8QXJyYXk8UGFnZUxpbms+PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJvdXRlcjpSb3V0ZXIpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50aXRsZSQgPSB0aGlzLnBhZ2VJbmZvLnRpdGxlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgdGhpcy5kZXNjcmlwdGlvbiQgPSB0aGlzLnBhZ2VJbmZvLmRlc2NyaXB0aW9uLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgdGhpcy5iYyQgPSB0aGlzLnBhZ2VJbmZvLmJyZWFkY3J1bWJzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgdGhpcy50aXRsZSQuc3Vic2NyaWJlKChlKT0+e1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgfSlcclxuICAgIHRoaXMuZGVzY3JpcHRpb24kLnN1YnNjcmliZSgoZSk9PntcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIH0pXHJcbiAgICB0aGlzLmJjJC5zdWJzY3JpYmUoKGUpPT57XHJcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHJlZGlyZWN0RnVuY3Rpb24ocGF0aDphbnkpe1xyXG4gICAgY29uc3QgdXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIGFzIHN0cmluZyk7XHJcbiAgICBpZih1c2VyLnVzZXJUeXBlID09PSAndGFuZ28nKXtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKTtcclxuICAgIH0gZWxzZXtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL21hbmFnZS9zdW1tYXJ5Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZSQgfCBhc3luYyBhcyB0aXRsZVwiPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwUGFnZVRpdGxlQnJlYWRjcnVtYlwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJjJCB8IGFzeW5jIGFzIF9iY1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2JjLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBQYWdlVGl0bGVEaXJlY3Rpb24gPT09ICdyb3cnXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtMjBweCBib3JkZXItZ3JheS0zMDAgYm9yZGVyLXN0YXJ0IG14LTRcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgICA8dWwgY2xhc3M9XCJicmVhZGNydW1iIGJyZWFkY3J1bWItc2VwYXJhdG9ybGVzcyBmdy1zZW1pYm9sZCBmcy03IG15LTBcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydwdC0xJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAnY29sdW1uJ31cIj5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYmMgb2YgX2JjXCIgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhYmMuaXNTZXBhcmF0b3IgJiYgYmMuaXNBY3RpdmUgPyAndGV4dC1ncmF5LTkwMCcgOiAnJ1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiFiYy5pc1NlcGFyYXRvciAmJiAhYmMuaXNBY3RpdmUgPyAndGV4dC1tdXRlZCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJjLmlzU2VwYXJhdG9yXCI+XHJcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJpbmFjdGl2ZS1iYyB0ZXh0LWhvdmVyLXByaW1hcnkgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwicmVkaXJlY3RGdW5jdGlvbihiYz8ucGF0aClcIiA+XHJcbiAgICAgICAgICAgICAgICB7eyBiYy50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYy5pc1NlcGFyYXRvclwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy90YW5nby9sYXlvdXQvYmMtc2VwZXJhdG9yLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gYWN0aXZlLWJjXCI+e3sgdGl0bGUgfX08L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPCEtLWVuZDo6QnJlYWRjcnVtYi0tPlxyXG5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -45,6 +45,7 @@ import { SingleStoreComponent } from './toolbar/single-store/single-store.compon
45
45
  import { NotificationsInnerComponent } from './header/notifications-inner/notifications-inner.component';
46
46
  import { CsmAssignConfirmationComponent } from './components/csm-assign-confirmation/csm-assign-confirmation.component';
47
47
  import { TrafficHeaderComponent } from './toolbar/traffic-header/traffic-header/traffic-header.component';
48
+ import { TraxHeaderComponent } from './toolbar/trax-header/trax-header.component';
48
49
  import * as i0 from "@angular/core";
49
50
  import * as i1 from "@angular/router";
50
51
  import * as i2 from "ngx-daterangepicker-material";
@@ -84,7 +85,8 @@ export class LayoutModule {
84
85
  SingleStoreComponent,
85
86
  NotificationsInnerComponent,
86
87
  CsmAssignConfirmationComponent,
87
- TrafficHeaderComponent], imports: [CommonModule, i1.RouterModule, TranslationModule,
88
+ TrafficHeaderComponent,
89
+ TraxHeaderComponent], imports: [CommonModule, i1.RouterModule, TranslationModule,
88
90
  InlineSVGModule,
89
91
  NgbDropdownModule,
90
92
  NgbProgressbarModule,
@@ -147,7 +149,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
147
149
  SingleStoreComponent,
148
150
  NotificationsInnerComponent,
149
151
  CsmAssignConfirmationComponent,
150
- TrafficHeaderComponent
152
+ TrafficHeaderComponent,
153
+ TraxHeaderComponent
151
154
  ],
152
155
  imports: [
153
156
  CommonModule,
@@ -171,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
171
174
  exports: [RouterModule],
172
175
  }]
173
176
  }] });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELDBFQUEwRTtBQUMxRSxXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QixtRkFBbUY7QUFDbkYsOEZBQThGO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JB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QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG9CQUFvQixDQUFDLE9BQU8sRUFBRTtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElubGluZVNWR01vZHVsZSB9IGZyb20gJ25nLWlubGluZS1zdmctMic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICBOZ2JUb29sdGlwTW9kdWxlLFxyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbi8vIGltcG9ydCB7IEV4dHJhc01vZHVsZSB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9leHRyYXMvZXh0cmFzLm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7XHJcbi8vICAgRHJhd2Vyc01vZHVsZSxcclxuLy8gICBEcm9wZG93bk1lbnVzTW9kdWxlLFxyXG4vLyAgIE1vZGFsc01vZHVsZSxcclxuLy8gICBFbmdhZ2VzTW9kdWxlLFxyXG4vLyB9IGZyb20gJy4uL3BhcnRpYWxzJztcclxuLy8gaW1wb3J0IHsgRW5nYWdlc0NvbXBvbmVudCB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9lbmdhZ2VzL2VuZ2FnZXMuY29tcG9uZW50JztcclxuLy8gaW1wb3J0IHsgVGhlbWVNb2RlTW9kdWxlIH0gZnJvbSAnLi4vcGFydGlhbHMvbGF5b3V0L3RoZW1lLW1vZGUtc3dpdGNoZXIvdGhlbWUtbW9kZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLZWVuaWNvbkNvbXBvbmVudCB9IGZyb20gJy4va2Vlbmljb24va2Vlbmljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjcmlwdHNJbml0Q29tcG9uZW50IH0gZnJvbSAnLi9zY3JpcHRzLWluaXQvc2NyaXB0cy1pbml0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWxvZ28vc2lkZWJhci1sb2dvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3NpZGViYXItbWVudS9zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhckZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWZvb3Rlci9zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY291bnRpbmdDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvYWNjb3VudGluZy9hY2NvdW50aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENsYXNzaWNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvY2xhc3NpYy9jbGFzc2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4dGVuZGVkQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL2V4dGVuZGVkL2V4dGVuZGVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydHNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhYXNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvc2Fhcy9zYWFzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRpbmcgfSBmcm9tICcuLi8uLi9yb3V0ZXMvcm91dGluZyc7XHJcbmltcG9ydCB7IExheW91dFNjcm9sbFRvcENvbXBvbmVudCB9IGZyb20gJy4vc2Nyb2xsLXRvcC9zY3JvbGwtdG9wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vblNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hEYXRlcmFuZ2VwaWNrZXJNZCB9IGZyb20gJ25neC1kYXRlcmFuZ2VwaWNrZXItbWF0ZXJpYWwnO1xyXG5pbXBvcnQgeyBDbGllbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9jbGllbnQtc2V0dGluZ3MvY2xpZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVTaW5nbGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvZGF0ZS1zaW5nbGUtc2VsZWN0L2RhdGUtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW5nbGVTdG9yZUNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9zaW5nbGUtc3RvcmUvc2luZ2xlLXN0b3JlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL25vdGlmaWNhdGlvbnMtaW5uZXIvbm90aWZpY2F0aW9ucy1pbm5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDc21Bc3NpZ25Db25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3NtLWFzc2lnbi1jb25maXJtYXRpb24vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhZmZpY0hlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90cmFmZmljLWhlYWRlci90cmFmZmljLWhlYWRlci90cmFmZmljLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAge1xyXG4gICAgcGF0aDogJycsXHJcbiAgICBjb21wb25lbnQ6IExheW91dENvbXBvbmVudCxcclxuICAgIGNoaWxkcmVuOiBSb3V0aW5nLFxyXG4gIH0sXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENvbXBvbmVudCxcclxuICAgIEZvb3RlckNvbXBvbmVudCxcclxuICAgIFNjcmlwdHNJbml0Q29tcG9uZW50LFxyXG4gICAgVG9vbGJhckNvbXBvbmVudCxcclxuICAgIFBhZ2VUaXRsZUNvbXBvbmVudCxcclxuICAgIEhlYWRlck1lbnVDb21wb25lbnQsXHJcbiAgICAvLyBFbmdhZ2VzQ29tcG9uZW50LFxyXG4gICAgU2lkZWJhckNvbXBvbmVudCxcclxuICAgIFNpZGViYXJMb2dvQ29tcG9uZW50LFxyXG4gICAgU2lkZWJhck1lbnVDb21wb25lbnQsXHJcbiAgICBTaWRlYmFyRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgTmF2YmFyQ29tcG9uZW50LFxyXG4gICAgQWNjb3VudGluZ0NvbXBvbmVudCxcclxuICAgIENsYXNzaWNDb21wb25lbnQsXHJcbiAgICBFeHRlbmRlZENvbXBvbmVudCxcclxuICAgIFJlcG9ydHNDb21wb25lbnQsXHJcbiAgICBTYWFzQ29tcG9uZW50LFxyXG4gICAgS2Vlbmljb25Db21wb25lbnQsXHJcbiAgICBMYXlvdXRTY3JvbGxUb3BDb21wb25lbnQsXHJcbiAgICBDbGllbnRTZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIERhdGVwaWNrZXJDb21wb25lbnQsXHJcbiAgICBEYXRlU2luZ2xlU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgU2luZ2xlU3RvcmVDb21wb25lbnQsXHJcbiAgICBOb3RpZmljYXRpb25zSW5uZXJDb21wb25lbnQsXHJcbiAgICBDc21Bc3NpZ25Db25maXJtYXRpb25Db21wb25lbnQsXHJcbiAgICBUcmFmZmljSGVhZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKSxcclxuICAgIFRyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgSW5saW5lU1ZHTW9kdWxlLFxyXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICAgIC8vIEV4dHJhc01vZHVsZSxcclxuICAgIC8vIE1vZGFsc01vZHVsZSxcclxuICAgIC8vIERyYXdlcnNNb2R1bGUsXHJcbiAgICAvLyBFbmdhZ2VzTW9kdWxlLFxyXG4gICAgLy8gRHJvcGRvd25NZW51c01vZHVsZSxcclxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICAvLyBUaGVtZU1vZGVNb2R1bGUsXHJcbiAgICBDb21tb25TaGFyZWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE5neERhdGVyYW5nZXBpY2tlck1kLmZvclJvb3QoKVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRNb2R1bGUge31cclxuIl19
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELDBFQUEwRTtBQUMxRSxXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QixtRkFBbUY7QUFDbkYsOEZBQThGO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JB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Q2hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG9CQUFvQixDQUFDLE9BQU8sRUFBRTtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElubGluZVNWR01vZHVsZSB9IGZyb20gJ25nLWlubGluZS1zdmctMic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICBOZ2JUb29sdGlwTW9kdWxlLFxyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbi8vIGltcG9ydCB7IEV4dHJhc01vZHVsZSB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9leHRyYXMvZXh0cmFzLm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7XHJcbi8vICAgRHJhd2Vyc01vZHVsZSxcclxuLy8gICBEcm9wZG93bk1lbnVzTW9kdWxlLFxyXG4vLyAgIE1vZGFsc01vZHVsZSxcclxuLy8gICBFbmdhZ2VzTW9kdWxlLFxyXG4vLyB9IGZyb20gJy4uL3BhcnRpYWxzJztcclxuLy8gaW1wb3J0IHsgRW5nYWdlc0NvbXBvbmVudCB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9lbmdhZ2VzL2VuZ2FnZXMuY29tcG9uZW50JztcclxuLy8gaW1wb3J0IHsgVGhlbWVNb2RlTW9kdWxlIH0gZnJvbSAnLi4vcGFydGlhbHMvbGF5b3V0L3RoZW1lLW1vZGUtc3dpdGNoZXIvdGhlbWUtbW9kZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLZWVuaWNvbkNvbXBvbmVudCB9IGZyb20gJy4va2Vlbmljb24va2Vlbmljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjcmlwdHNJbml0Q29tcG9uZW50IH0gZnJvbSAnLi9zY3JpcHRzLWluaXQvc2NyaXB0cy1pbml0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWxvZ28vc2lkZWJhci1sb2dvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3NpZGViYXItbWVudS9zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhckZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWZvb3Rlci9zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY291bnRpbmdDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvYWNjb3VudGluZy9hY2NvdW50aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENsYXNzaWNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvY2xhc3NpYy9jbGFzc2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4dGVuZGVkQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL2V4dGVuZGVkL2V4dGVuZGVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydHNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhYXNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvc2Fhcy9zYWFzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRpbmcgfSBmcm9tICcuLi8uLi9yb3V0ZXMvcm91dGluZyc7XHJcbmltcG9ydCB7IExheW91dFNjcm9sbFRvcENvbXBvbmVudCB9IGZyb20gJy4vc2Nyb2xsLXRvcC9zY3JvbGwtdG9wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vblNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hEYXRlcmFuZ2VwaWNrZXJNZCB9IGZyb20gJ25neC1kYXRlcmFuZ2VwaWNrZXItbWF0ZXJpYWwnO1xyXG5pbXBvcnQgeyBDbGllbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9jbGllbnQtc2V0dGluZ3MvY2xpZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVTaW5nbGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvZGF0ZS1zaW5nbGUtc2VsZWN0L2RhdGUtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW5nbGVTdG9yZUNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9zaW5nbGUtc3RvcmUvc2luZ2xlLXN0b3JlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL25vdGlmaWNhdGlvbnMtaW5uZXIvbm90aWZpY2F0aW9ucy1pbm5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDc21Bc3NpZ25Db25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3NtLWFzc2lnbi1jb25maXJtYXRpb24vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhZmZpY0hlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90cmFmZmljLWhlYWRlci90cmFmZmljLWhlYWRlci90cmFmZmljLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmF4SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL3RyYXgtaGVhZGVyL3RyYXgtaGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnJyxcclxuICAgIGNvbXBvbmVudDogTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgY2hpbGRyZW46IFJvdXRpbmcsXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBMYXlvdXRDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q29tcG9uZW50LFxyXG4gICAgRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgU2NyaXB0c0luaXRDb21wb25lbnQsXHJcbiAgICBUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgUGFnZVRpdGxlQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyTWVudUNvbXBvbmVudCxcclxuICAgIC8vIEVuZ2FnZXNDb21wb25lbnQsXHJcbiAgICBTaWRlYmFyQ29tcG9uZW50LFxyXG4gICAgU2lkZWJhckxvZ29Db21wb25lbnQsXHJcbiAgICBTaWRlYmFyTWVudUNvbXBvbmVudCxcclxuICAgIFNpZGViYXJGb290ZXJDb21wb25lbnQsXHJcbiAgICBOYXZiYXJDb21wb25lbnQsXHJcbiAgICBBY2NvdW50aW5nQ29tcG9uZW50LFxyXG4gICAgQ2xhc3NpY0NvbXBvbmVudCxcclxuICAgIEV4dGVuZGVkQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0c0NvbXBvbmVudCxcclxuICAgIFNhYXNDb21wb25lbnQsXHJcbiAgICBLZWVuaWNvbkNvbXBvbmVudCxcclxuICAgIExheW91dFNjcm9sbFRvcENvbXBvbmVudCxcclxuICAgIENsaWVudFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgRGF0ZXBpY2tlckNvbXBvbmVudCxcclxuICAgIERhdGVTaW5nbGVTZWxlY3RDb21wb25lbnQsXHJcbiAgICBTaW5nbGVTdG9yZUNvbXBvbmVudCxcclxuICAgIE5vdGlmaWNhdGlvbnNJbm5lckNvbXBvbmVudCxcclxuICAgIENzbUFzc2lnbkNvbmZpcm1hdGlvbkNvbXBvbmVudCxcclxuICAgIFRyYWZmaWNIZWFkZXJDb21wb25lbnQsXHJcbiAgICBUcmF4SGVhZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKSxcclxuICAgIFRyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgSW5saW5lU1ZHTW9kdWxlLFxyXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICAgIC8vIEV4dHJhc01vZHVsZSxcclxuICAgIC8vIE1vZGFsc01vZHVsZSxcclxuICAgIC8vIERyYXdlcnNNb2R1bGUsXHJcbiAgICAvLyBFbmdhZ2VzTW9kdWxlLFxyXG4gICAgLy8gRHJvcGRvd25NZW51c01vZHVsZSxcclxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICAvLyBUaGVtZU1vZGVNb2R1bGUsXHJcbiAgICBDb21tb25TaGFyZWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE5neERhdGVyYW5nZXBpY2tlck1kLmZvclJvb3QoKVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRNb2R1bGUge31cclxuIl19