bx-rest 0.4.6 → 0.4.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.
Files changed (62) hide show
  1. package/README.md +118 -0
  2. package/consts/part-name-methods.d.ts +1 -0
  3. package/esm2022/consts/part-name-methods.mjs +2 -1
  4. package/esm2022/map/app.mjs +4 -2
  5. package/esm2022/map/disk/base.mjs +18 -16
  6. package/esm2022/map/disk/storage.mjs +4 -4
  7. package/esm2022/map/task/elapseditem.mjs +2 -1
  8. package/esm2022/map/timeman.mjs +37 -0
  9. package/esm2022/map/user.mjs +2 -2
  10. package/esm2022/request/calendar/event.mjs +1 -1
  11. package/esm2022/request/task/commentitem.mjs +5 -5
  12. package/esm2022/request/task/elapseditem.mjs +6 -6
  13. package/esm2022/request/timeman.mjs +52 -0
  14. package/esm2022/request-navvy/calendar/event.mjs +2 -2
  15. package/esm2022/request-navvy/disk/storage.mjs +3 -3
  16. package/esm2022/request-navvy/server.mjs +2 -2
  17. package/esm2022/request-navvy/task/elapseditem.mjs +47 -38
  18. package/esm2022/request-navvy/task/operation/elapseditem.mjs +63 -54
  19. package/esm2022/request-navvy/timeman.mjs +24 -0
  20. package/esm2022/request-navvy/user.mjs +3 -3
  21. package/esm2022/rest.mjs +29 -25
  22. package/esm2022/services/Navvy/NavvySimple.mjs +2 -2
  23. package/esm2022/services/Navvy/NavvySupport.mjs +1 -2
  24. package/esm2022/services/navvy.mjs +1 -1
  25. package/esm2022/typification/rest/task/access/getaccess.mjs +1 -1
  26. package/esm2022/typification/rest/tasks/task/list.mjs +1 -1
  27. package/esm2022/typification/rest/timeman/status.mjs +2 -0
  28. package/fesm2022/bx-rest.mjs +258 -169
  29. package/fesm2022/bx-rest.mjs.map +1 -1
  30. package/map/app.d.ts +1 -1
  31. package/map/disk/base.d.ts +1 -1
  32. package/map/disk/storage.d.ts +2 -2
  33. package/map/task/elapseditem.d.ts +1 -1
  34. package/map/timeman.d.ts +7 -0
  35. package/map/user.d.ts +1 -1
  36. package/package.json +1 -1
  37. package/request/disk/folder.d.ts +1 -1
  38. package/request/disk/storage.d.ts +1 -1
  39. package/request/task/commentitem.d.ts +3 -3
  40. package/request/task/elapseditem.d.ts +3 -3
  41. package/request/timeman.d.ts +17 -0
  42. package/request-navvy/app.d.ts +1 -1
  43. package/request-navvy/calendar/event.d.ts +1 -1
  44. package/request-navvy/disk/folder.d.ts +9 -9
  45. package/request-navvy/disk/interlayer/storage.d.ts +1 -1
  46. package/request-navvy/disk/storage.d.ts +2 -2
  47. package/request-navvy/server.d.ts +1 -1
  48. package/request-navvy/task/elapseditem.d.ts +6 -4
  49. package/request-navvy/task/operation/elapseditem.d.ts +3 -3
  50. package/request-navvy/tasks/task.d.ts +1 -1
  51. package/request-navvy/timeman.d.ts +14 -0
  52. package/request-navvy/user.d.ts +3 -3
  53. package/rest.d.ts +6 -2
  54. package/services/Navvy/NavvySimple.d.ts +2 -2
  55. package/services/navvy.d.ts +2 -2
  56. package/typification/rest/task/access/getaccess.d.ts +4 -1
  57. package/typification/rest/tasks/task/list.d.ts +4 -4
  58. package/typification/rest/timeman/status.d.ts +28 -0
  59. package/esm2022/services/permission.mjs +0 -43
  60. package/esm2022/typification/permission.mjs +0 -2
  61. package/services/permission.d.ts +0 -9
  62. package/typification/permission.d.ts +0 -27
@@ -0,0 +1,52 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { $pause, $settings, $status, $timeMan, } from '../consts/part-name-methods';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/http/HttpBX";
5
+ export class BXRestTimeMan {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.url = {
9
+ settings: [$timeMan, $settings],
10
+ status: [$timeMan, $status],
11
+ open: [$timeMan, 'open'],
12
+ close: [$timeMan, 'close'],
13
+ pause: [$timeMan, $pause], // Приостановить рабочий день
14
+ // networkrange: {
15
+ // check: this.baseUrl + 'networkrange.check', // Метод для проверки IP-адреса на вхождение в диапазоны сетевых адресов офисной сети
16
+ // get: this.baseUrl + 'networkrange.get', // Метод для получения диапазонов сетевых адресов, входящих в офисную сеть
17
+ // set: this.baseUrl + 'networkrange.set' // Метод для установки диапазонов сетевых адресов, входящих в офисную сеть. 18.5.0
18
+ // },
19
+ // timecontrol: {
20
+ // report: {
21
+ // add: this.baseUrl + 'timecontrol.report.add', // Метод для отправки отчета о выявленном отсутствии
22
+ // get: this.baseUrl + 'timecontrol.reports.get', // Метод для получения отчета о выявленных отсутствиях
23
+ // settings: {
24
+ // get: this.baseUrl + 'timecontrol.reports.settings.get' // Метод для получения пользовательских настроек для построения интерфейса отчетов инструмента контроля времени
25
+ // },
26
+ // users: {
27
+ // get: this.baseUrl + 'timecontrol.reports.users.get' // Метод для получения списка пользователей, относящихся к указанному подразделению. 18.5.0
28
+ // }
29
+ // },
30
+ // settings: {
31
+ // get: this.baseUrl + 'timecontrol.settings.get', // Метод для получения настроек инструмента контроля времени
32
+ // set: this.baseUrl + 'timecontrol.settings.set' // Метод для установки настроек инструмента контроля времени
33
+ // },
34
+ // },
35
+ // schedule: {
36
+ // get: this.baseUrl + 'schedule.get' // Метод позволяет получить рабочий график по его идентификатору
37
+ // }
38
+ };
39
+ }
40
+ status(param = undefined) {
41
+ return this.http.post(this.url.status, param);
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTimeMan, deps: [{ token: i1.HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTimeMan, providedIn: 'root' }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTimeMan, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root'
50
+ }]
51
+ }], ctorParameters: function () { return [{ type: i1.HttpBXServices }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW1hbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdGltZW1hbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEdBQUcsTUFBTSw2QkFBNkIsQ0FBQTs7O0FBT25GLE1BQU0sT0FBTyxhQUFhO0lBaUN4QixZQUNVLElBQW9CO1FBQXBCLFNBQUksR0FBSixJQUFJLENBQWdCO1FBakNwQixRQUFHLEdBQUc7WUFDZCxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDM0IsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztZQUN4QixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1lBQzFCLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSw2QkFBNkI7WUFDeEQsa0JBQWtCO1lBQ2xCLHNJQUFzSTtZQUN0SSx1SEFBdUg7WUFDdkgsOEhBQThIO1lBQzlILEtBQUs7WUFDTCxpQkFBaUI7WUFDakIsY0FBYztZQUNkLHlHQUF5RztZQUN6Ryw0R0FBNEc7WUFDNUcsa0JBQWtCO1lBQ2xCLCtLQUErSztZQUMvSyxTQUFTO1lBQ1QsZUFBZTtZQUNmLHdKQUF3SjtZQUN4SixRQUFRO1lBQ1IsT0FBTztZQUNQLGdCQUFnQjtZQUNoQixtSEFBbUg7WUFDbkgsa0hBQWtIO1lBQ2xILE9BQU87WUFDUCxLQUFLO1lBQ0wsY0FBYztZQUNkLHdHQUF3RztZQUN4RyxJQUFJO1NBQ0wsQ0FBQTtJQUtELENBQUM7SUFFRCxNQUFNLENBQUMsUUFBK0MsU0FBUztRQUM3RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN6RSxDQUFDOytHQXhDVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyAkcGF1c2UsICRzZXR0aW5ncywgJHN0YXR1cywgJHRpbWVNYW4sIH0gZnJvbSAnLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UaW1lTWFuU3RhdHVzLCBpQlhSZXN0VGltZU1hblN0YXR1c0h0dHAgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC90aW1lbWFuL3N0YXR1cydcclxuaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdFRpbWVNYW4ge1xyXG4gIHByb3RlY3RlZCB1cmwgPSB7XHJcbiAgICBzZXR0aW5nczogWyR0aW1lTWFuLCAkc2V0dGluZ3NdLCAvLyDQn9C+0LvRg9GH0LXQvdC40LUg0L3QsNGB0YLRgNC+0LXQuiDRgNCw0LHQvtGH0LXQs9C+INCy0YDQtdC80LXQvdC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xyXG4gICAgc3RhdHVzOiBbJHRpbWVNYW4sICRzdGF0dXNdLCAvLyDQn9C+0LvRg9GH0LXQvdC40LUg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0YDQsNCx0L7Rh9C10Lwg0LTQvdC1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xyXG4gICAgb3BlbjogWyR0aW1lTWFuLCAnb3BlbiddLCAvLyDQndCw0YfQsNGC0Ywg0L3QvtCy0YvQuSDRgNCw0LHQvtGH0LjQuSDQtNC10L3RjCDQu9C40LHQviDQstC+0LfQvtCx0L3QvtCy0LjRgtGMINC30LDQutGA0YvRgtGL0Lkg0LjQu9C4INC/0YDQuNC+0YHRgtCw0L3QvtCy0LvQtdC90L3Ri9C5XHJcbiAgICBjbG9zZTogWyR0aW1lTWFuLCAnY2xvc2UnXSwgLy8g0JfQsNC60YDRi9GC0Ywg0YDQsNCx0L7Rh9C40Lkg0LTQtdC90YxcclxuICAgIHBhdXNlOiBbJHRpbWVNYW4sICRwYXVzZV0sIC8vINCf0YDQuNC+0YHRgtCw0L3QvtCy0LjRgtGMINGA0LDQsdC+0YfQuNC5INC00LXQvdGMXHJcbiAgICAvLyBuZXR3b3JrcmFuZ2U6IHtcclxuICAgIC8vICAgY2hlY2s6IHRoaXMuYmFzZVVybCArICduZXR3b3JrcmFuZ2UuY2hlY2snLCAvLyDQnNC10YLQvtC0INC00LvRjyDQv9GA0L7QstC10YDQutC4IElQLdCw0LTRgNC10YHQsCDQvdCwINCy0YXQvtC20LTQtdC90LjQtSDQsiDQtNC40LDQv9Cw0LfQvtC90Ysg0YHQtdGC0LXQstGL0YUg0LDQtNGA0LXRgdC+0LIg0L7RhNC40YHQvdC+0Lkg0YHQtdGC0LhcclxuICAgIC8vICAgZ2V0OiB0aGlzLmJhc2VVcmwgKyAnbmV0d29ya3JhbmdlLmdldCcsIC8vINCc0LXRgtC+0LQg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQtNC40LDQv9Cw0LfQvtC90L7QsiDRgdC10YLQtdCy0YvRhSDQsNC00YDQtdGB0L7Qsiwg0LLRhdC+0LTRj9GJ0LjRhSDQsiDQvtGE0LjRgdC90YPRjiDRgdC10YLRjFxyXG4gICAgLy8gICBzZXQ6IHRoaXMuYmFzZVVybCArICduZXR3b3JrcmFuZ2Uuc2V0J1x0Ly8g0JzQtdGC0L7QtCDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INC00LjQsNC/0LDQt9C+0L3QvtCyINGB0LXRgtC10LLRi9GFINCw0LTRgNC10YHQvtCyLCDQstGF0L7QtNGP0YnQuNGFINCyINC+0YTQuNGB0L3Rg9GOINGB0LXRgtGMLlx0MTguNS4wXHJcbiAgICAvLyB9LFxyXG4gICAgLy8gdGltZWNvbnRyb2w6IHtcclxuICAgIC8vICAgcmVwb3J0OiB7XHJcbiAgICAvLyAgICAgYWRkOiB0aGlzLmJhc2VVcmwgKyAndGltZWNvbnRyb2wucmVwb3J0LmFkZCcsIC8vINCc0LXRgtC+0LQg0LTQu9GPINC+0YLQv9GA0LDQstC60Lgg0L7RgtGH0LXRgtCwINC+INCy0YvRj9Cy0LvQtdC90L3QvtC8INC+0YLRgdGD0YLRgdGC0LLQuNC4XHJcbiAgICAvLyAgICAgZ2V0OiB0aGlzLmJhc2VVcmwgKyAndGltZWNvbnRyb2wucmVwb3J0cy5nZXQnLCAvLyDQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7RgtGH0LXRgtCwINC+INCy0YvRj9Cy0LvQtdC90L3Ri9GFINC+0YLRgdGD0YLRgdGC0LLQuNGP0YVcclxuICAgIC8vICAgICBzZXR0aW5nczoge1xyXG4gICAgLy8gICAgICAgZ2V0OiB0aGlzLmJhc2VVcmwgKyAndGltZWNvbnRyb2wucmVwb3J0cy5zZXR0aW5ncy5nZXQnIC8vINCc0LXRgtC+0LQg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjRhSDQvdCw0YHRgtGA0L7QtdC6INC00LvRjyDQv9C+0YHRgtGA0L7QtdC90LjRjyDQuNC90YLQtdGA0YTQtdC50YHQsCDQvtGC0YfQtdGC0L7QsiDQuNC90YHRgtGA0YPQvNC10L3RgtCwINC60L7QvdGC0YDQvtC70Y8g0LLRgNC10LzQtdC90LhcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHVzZXJzOiB7XHJcbiAgICAvLyAgICAgICBnZXQ6IHRoaXMuYmFzZVVybCArICd0aW1lY29udHJvbC5yZXBvcnRzLnVzZXJzLmdldCdcdC8vINCc0LXRgtC+0LQg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LksINC+0YLQvdC+0YHRj9GJ0LjRhdGB0Y8g0Log0YPQutCw0LfQsNC90L3QvtC80YMg0L/QvtC00YDQsNC30LTQtdC70LXQvdC40Y4uXHQxOC41LjBcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyAgIHNldHRpbmdzOiB7XHJcbiAgICAvLyAgICAgZ2V0OiB0aGlzLmJhc2VVcmwgKyAndGltZWNvbnRyb2wuc2V0dGluZ3MuZ2V0JywgLy8g0JzQtdGC0L7QtCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC90LDRgdGC0YDQvtC10Log0LjQvdGB0YLRgNGD0LzQtdC90YLQsCDQutC+0L3RgtGA0L7Qu9GPINCy0YDQtdC80LXQvdC4XHJcbiAgICAvLyAgICAgc2V0OiB0aGlzLmJhc2VVcmwgKyAndGltZWNvbnRyb2wuc2V0dGluZ3Muc2V0J1x0Ly8g0JzQtdGC0L7QtCDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INC90LDRgdGC0YDQvtC10Log0LjQvdGB0YLRgNGD0LzQtdC90YLQsCDQutC+0L3RgtGA0L7Qu9GPINCy0YDQtdC80LXQvdC4XHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyB9LFxyXG4gICAgLy8gc2NoZWR1bGU6IHtcclxuICAgIC8vICAgZ2V0OiB0aGlzLmJhc2VVcmwgKyAnc2NoZWR1bGUuZ2V0J1x0Ly8g0JzQtdGC0L7QtCDQv9C+0LfQstC+0LvRj9C10YIg0L/QvtC70YPRh9C40YLRjCDRgNCw0LHQvtGH0LjQuSDQs9GA0LDRhNC40Log0L/QviDQtdCz0L4g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRg1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBCWFNlcnZpY2VzLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgc3RhdHVzKHBhcmFtOiBpQlhSZXN0UGFyYW1UaW1lTWFuU3RhdHVzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGltZU1hblN0YXR1c0h0dHA+KHRoaXMudXJsLnN0YXR1cywgcGFyYW0pXHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -7,7 +7,7 @@ export class BXRestNavvyRestCalendarEvent {
7
7
  constructor(BXRestCalendarEvent, eventMap) {
8
8
  this.BXRestCalendarEvent = BXRestCalendarEvent;
9
9
  this.eventMap = eventMap;
10
- this.Navvy = new Navvy(this.eventMap, undefined);
10
+ this.Navvy = new Navvy(BXRestCalendarEvent, eventMap);
11
11
  }
12
12
  get(param) {
13
13
  return this.Navvy.simpleWithArg(this.BXRestCalendarEvent.get, param, this.eventMap.get);
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
21
21
  providedIn: 'root'
22
22
  }]
23
23
  }], ctorParameters: function () { return [{ type: i1.BXRestCalendarEvent }, { type: i2.BXRestMapCalendarEvent }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L2NhbGVuZGFyL2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7O0FBTTVDLE1BQU0sT0FBTyw0QkFBNEI7SUFHdkMsWUFDVSxtQkFBd0MsRUFDeEMsUUFBZ0M7UUFEaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQUV4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFtQztRQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUM1QixLQUFLLEVBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ2xCLENBQUE7SUFDSCxDQUFDOytHQWhCVSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzs0RkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IGlCWFJlc3RDYWxlbmRhckV2ZW50R2V0UGFyYW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9jYWxlbmRhci9nZXQvcGFyYW0nXHJcbmltcG9ydCB7IEJYUmVzdENhbGVuZGFyRXZlbnQgfSBmcm9tICcuLi8uLi9yZXF1ZXN0L2NhbGVuZGFyL2V2ZW50J1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBDYWxlbmRhckV2ZW50IH0gZnJvbSAnLi4vLi4vbWFwL2NhbGVuZGFyL2V2ZW50J1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlSZXN0Q2FsZW5kYXJFdmVudCB7XHJcbiAgcHJpdmF0ZSBOYXZ2eTogTmF2dnk8QlhSZXN0TWFwQ2FsZW5kYXJFdmVudCwgdW5kZWZpbmVkPlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQlhSZXN0Q2FsZW5kYXJFdmVudDogQlhSZXN0Q2FsZW5kYXJFdmVudCxcclxuICAgIHByaXZhdGUgZXZlbnRNYXA6IEJYUmVzdE1hcENhbGVuZGFyRXZlbnQsXHJcbiAgKSB7XHJcbiAgICB0aGlzLk5hdnZ5ID0gbmV3IE5hdnZ5KHRoaXMuZXZlbnRNYXAsIHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIGdldChwYXJhbTogaUJYUmVzdENhbGVuZGFyRXZlbnRHZXRQYXJhbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyhcclxuICAgICAgdGhpcy5CWFJlc3RDYWxlbmRhckV2ZW50LmdldCxcclxuICAgICAgcGFyYW0sXHJcbiAgICAgIHRoaXMuZXZlbnRNYXAuZ2V0XHJcbiAgICApXHJcbiAgfVxyXG59XHJcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L2NhbGVuZGFyL2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7O0FBTTVDLE1BQU0sT0FBTyw0QkFBNEI7SUFHdkMsWUFDVSxtQkFBd0MsRUFDeEMsUUFBZ0M7UUFEaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQUV4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxHQUFHLENBQUMsS0FBbUM7UUFDckMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFDNUIsS0FBSyxFQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNsQixDQUFBO0lBQ0gsQ0FBQzsrR0FoQlUsNEJBQTRCO21IQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs7NEZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBpQlhSZXN0Q2FsZW5kYXJFdmVudEdldFBhcmFtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvY2FsZW5kYXIvZ2V0L3BhcmFtJ1xyXG5pbXBvcnQgeyBCWFJlc3RDYWxlbmRhckV2ZW50IH0gZnJvbSAnLi4vLi4vcmVxdWVzdC9jYWxlbmRhci9ldmVudCdcclxuaW1wb3J0IHsgTmF2dnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXZ2eSdcclxuaW1wb3J0IHsgQlhSZXN0TWFwQ2FsZW5kYXJFdmVudCB9IGZyb20gJy4uLy4uL21hcC9jYWxlbmRhci9ldmVudCdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5UmVzdENhbGVuZGFyRXZlbnQge1xyXG4gIHByaXZhdGUgTmF2dnk6IE5hdnZ5PEJYUmVzdENhbGVuZGFyRXZlbnQsIEJYUmVzdE1hcENhbGVuZGFyRXZlbnQ+XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBCWFJlc3RDYWxlbmRhckV2ZW50OiBCWFJlc3RDYWxlbmRhckV2ZW50LFxyXG4gICAgcHJpdmF0ZSBldmVudE1hcDogQlhSZXN0TWFwQ2FsZW5kYXJFdmVudCxcclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkoQlhSZXN0Q2FsZW5kYXJFdmVudCwgZXZlbnRNYXApXHJcbiAgfVxyXG5cclxuICBnZXQocGFyYW06IGlCWFJlc3RDYWxlbmRhckV2ZW50R2V0UGFyYW0pIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZVdpdGhBcmcoXHJcbiAgICAgIHRoaXMuQlhSZXN0Q2FsZW5kYXJFdmVudC5nZXQsXHJcbiAgICAgIHBhcmFtLFxyXG4gICAgICB0aGlzLmV2ZW50TWFwLmdldFxyXG4gICAgKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -31,10 +31,10 @@ export class BXRestNavvyDiskStorage {
31
31
  }
32
32
  */
33
33
  getChildren(param) {
34
- return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.getChildren, param, this.BXRestMapDiskStorage.getchildren);
34
+ return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.getChildren, param, this.BXRestMapDiskStorage.getChildren);
35
35
  }
36
36
  addFolder(param) {
37
- return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.addFolder, param, this.BXRestMapDiskStorage.addfolder);
37
+ return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.addFolder, param, this.BXRestMapDiskStorage.addFolder);
38
38
  }
39
39
  uploadFile(param) {
40
40
  return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.uploadFile, param);
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
48
48
  providedIn: 'root'
49
49
  }]
50
50
  }], ctorParameters: function () { return [{ type: i1.BXRestNavvyInterlayerDiskStorage }, { type: BXRestMapDiskStorage }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvZGlzay9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxvQkFBb0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7OztBQU81QyxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1UsZ0NBQWtFLEVBQ2xFLG9CQUEwQztRQUQxQyxxQ0FBZ0MsR0FBaEMsZ0NBQWdDLENBQWtDO1FBQ2xFLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFFbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBRUgsV0FBVyxDQUFDLEtBQThCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQzdCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQ2pELEtBQUssRUFDTCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUN0QyxDQUFBO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUE2QztRQUNyRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUM3QixJQUFJLENBQUMsZ0NBQWdDLENBQUMsU0FBUyxFQUMvQyxLQUFLLEVBQ0wsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FDcEMsQ0FBQTtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBNkI7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzFGLENBQUM7K0dBcERVLHNCQUFzQixrRUFUNUIsb0JBQW9CO21IQVNkLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CO3lHQVJNLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgQlhSZXN0TWFwRGlza1N0b3JhZ2UgZnJvbSAnLi4vLi4vbWFwL2Rpc2svc3RvcmFnZSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXBsb2FkRmlsZSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Rpc2svc3RvcmFnZS91cGxvYWRmaWxlJ1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1HZXRjaGlsZHJlbiB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Rpc2svc3RvcmFnZS9nZXRjaGlsZHJlbidcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UgfSBmcm9tICcuL2ludGVybGF5ZXIvc3RvcmFnZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5RGlza1N0b3JhZ2Uge1xyXG5cclxuICBwcml2YXRlIE5hdnZ5OiBOYXZ2eTxCWFJlc3ROYXZ2eUludGVybGF5ZXJEaXNrU3RvcmFnZSwgQlhSZXN0TWFwRGlza1N0b3JhZ2U+XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eUludGVybGF5ZXJEaXNrU3RvcmFnZTogQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UsXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcERpc2tTdG9yYWdlOiBCWFJlc3RNYXBEaXNrU3RvcmFnZSxcclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkodGhpcy5CWFJlc3ROYXZ2eUludGVybGF5ZXJEaXNrU3RvcmFnZSwgdGhpcy5CWFJlc3RNYXBEaXNrU3RvcmFnZSlcclxuICB9XHJcblxyXG4gIGdldEZvckFwcCgpIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZSh0aGlzLkJYUmVzdE5hdnZ5SW50ZXJsYXllckRpc2tTdG9yYWdlLmdldEZvckFwcClcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgcHJpdmF0ZSBnZXRmb3JhcHBFbmQoKXtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLkJYUmVzdERpc2tTdG9yYWdlLmdldGZvcmFwcCgpJywgdGhpcy5CWFJlc3REaXNrU3RvcmFnZS5nZXRmb3JhcHAoKSlcclxuICAgIGxldCByZXMgPSBTZXNzaW9uU3RvcmFnZS5nZXRJdGVtPGlCWFJlc3RGb2xkZXJJbmZvPih0aGlzLmNvbnN0cnVjdG9yLm5hbWUgKyB0aGlzLmdldGZvcmFwcC5uYW1lKVxyXG4gICAgaWYocmVzKXtcclxuICAgICAgcmV0dXJuIG9mKHtyZXN1bHQ6IHJlc30pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZygndGhpcy5CWFJlc3REaXNrU3RvcmFnZS5nZXRmb3JhcHAoKScsIHRoaXMuQlhSZXN0RGlza1N0b3JhZ2UsIHRoaXMuQlhSZXN0RGlza1N0b3JhZ2UuZ2V0Zm9yYXBwKCkpXHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdERpc2tTdG9yYWdlLmdldGZvcmFwcCgpLnBpcGUoXHJcbiAgICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYodil7XHJcbiAgICAgICAgICAgIFNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5jb25zdHJ1Y3Rvci5uYW1lICsgdGhpcy5nZXRmb3JhcHAubmFtZSwgdilcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICBnZXRDaGlsZHJlbihwYXJhbTogaUJYUmVzdFBhcmFtR2V0Y2hpbGRyZW4pIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZVdpdGhBcmcoXHJcbiAgICAgIHRoaXMuQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UuZ2V0Q2hpbGRyZW4sXHJcbiAgICAgIHBhcmFtLFxyXG4gICAgICB0aGlzLkJYUmVzdE1hcERpc2tTdG9yYWdlLmdldGNoaWxkcmVuXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhZGRGb2xkZXIocGFyYW06IHsgaWQ6IG51bWJlciwgZGF0YTogeyBOQU1FOiBzdHJpbmcgfSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKFxyXG4gICAgICB0aGlzLkJYUmVzdE5hdnZ5SW50ZXJsYXllckRpc2tTdG9yYWdlLmFkZEZvbGRlcixcclxuICAgICAgcGFyYW0sXHJcbiAgICAgIHRoaXMuQlhSZXN0TWFwRGlza1N0b3JhZ2UuYWRkZm9sZGVyXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICB1cGxvYWRGaWxlKHBhcmFtOiBpQlhSZXN0UGFyYW1VcGxvYWRGaWxlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKHRoaXMuQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UudXBsb2FkRmlsZSwgcGFyYW0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvZGlzay9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxvQkFBb0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7OztBQU81QyxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1UsZ0NBQWtFLEVBQ2xFLG9CQUEwQztRQUQxQyxxQ0FBZ0MsR0FBaEMsZ0NBQWdDLENBQWtDO1FBQ2xFLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFFbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBRUgsV0FBVyxDQUFDLEtBQThCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQzdCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQ2pELEtBQUssRUFDTCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUN0QyxDQUFBO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUE2QztRQUNyRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUM3QixJQUFJLENBQUMsZ0NBQWdDLENBQUMsU0FBUyxFQUMvQyxLQUFLLEVBQ0wsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FDcEMsQ0FBQTtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBNkI7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzFGLENBQUM7K0dBcERVLHNCQUFzQixrRUFUNUIsb0JBQW9CO21IQVNkLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CO3lHQVJNLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgQlhSZXN0TWFwRGlza1N0b3JhZ2UgZnJvbSAnLi4vLi4vbWFwL2Rpc2svc3RvcmFnZSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXBsb2FkRmlsZSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Rpc2svc3RvcmFnZS91cGxvYWRmaWxlJ1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1HZXRjaGlsZHJlbiB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Rpc2svc3RvcmFnZS9nZXRjaGlsZHJlbidcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UgfSBmcm9tICcuL2ludGVybGF5ZXIvc3RvcmFnZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5RGlza1N0b3JhZ2Uge1xyXG5cclxuICBwcml2YXRlIE5hdnZ5OiBOYXZ2eTxCWFJlc3ROYXZ2eUludGVybGF5ZXJEaXNrU3RvcmFnZSwgQlhSZXN0TWFwRGlza1N0b3JhZ2U+XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eUludGVybGF5ZXJEaXNrU3RvcmFnZTogQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UsXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcERpc2tTdG9yYWdlOiBCWFJlc3RNYXBEaXNrU3RvcmFnZSxcclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkodGhpcy5CWFJlc3ROYXZ2eUludGVybGF5ZXJEaXNrU3RvcmFnZSwgdGhpcy5CWFJlc3RNYXBEaXNrU3RvcmFnZSlcclxuICB9XHJcblxyXG4gIGdldEZvckFwcCgpIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZSh0aGlzLkJYUmVzdE5hdnZ5SW50ZXJsYXllckRpc2tTdG9yYWdlLmdldEZvckFwcClcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgcHJpdmF0ZSBnZXRmb3JhcHBFbmQoKXtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLkJYUmVzdERpc2tTdG9yYWdlLmdldGZvcmFwcCgpJywgdGhpcy5CWFJlc3REaXNrU3RvcmFnZS5nZXRmb3JhcHAoKSlcclxuICAgIGxldCByZXMgPSBTZXNzaW9uU3RvcmFnZS5nZXRJdGVtPGlCWFJlc3RGb2xkZXJJbmZvPih0aGlzLmNvbnN0cnVjdG9yLm5hbWUgKyB0aGlzLmdldGZvcmFwcC5uYW1lKVxyXG4gICAgaWYocmVzKXtcclxuICAgICAgcmV0dXJuIG9mKHtyZXN1bHQ6IHJlc30pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZygndGhpcy5CWFJlc3REaXNrU3RvcmFnZS5nZXRmb3JhcHAoKScsIHRoaXMuQlhSZXN0RGlza1N0b3JhZ2UsIHRoaXMuQlhSZXN0RGlza1N0b3JhZ2UuZ2V0Zm9yYXBwKCkpXHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdERpc2tTdG9yYWdlLmdldGZvcmFwcCgpLnBpcGUoXHJcbiAgICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYodil7XHJcbiAgICAgICAgICAgIFNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5jb25zdHJ1Y3Rvci5uYW1lICsgdGhpcy5nZXRmb3JhcHAubmFtZSwgdilcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICBnZXRDaGlsZHJlbihwYXJhbTogaUJYUmVzdFBhcmFtR2V0Y2hpbGRyZW4pIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZVdpdGhBcmcoXHJcbiAgICAgIHRoaXMuQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UuZ2V0Q2hpbGRyZW4sXHJcbiAgICAgIHBhcmFtLFxyXG4gICAgICB0aGlzLkJYUmVzdE1hcERpc2tTdG9yYWdlLmdldENoaWxkcmVuXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhZGRGb2xkZXIocGFyYW06IHsgaWQ6IG51bWJlciwgZGF0YTogeyBOQU1FOiBzdHJpbmcgfSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKFxyXG4gICAgICB0aGlzLkJYUmVzdE5hdnZ5SW50ZXJsYXllckRpc2tTdG9yYWdlLmFkZEZvbGRlcixcclxuICAgICAgcGFyYW0sXHJcbiAgICAgIHRoaXMuQlhSZXN0TWFwRGlza1N0b3JhZ2UuYWRkRm9sZGVyXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICB1cGxvYWRGaWxlKHBhcmFtOiBpQlhSZXN0UGFyYW1VcGxvYWRGaWxlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKHRoaXMuQlhSZXN0TmF2dnlJbnRlcmxheWVyRGlza1N0b3JhZ2UudXBsb2FkRmlsZSwgcGFyYW0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -7,7 +7,7 @@ export class BXRestNavvyServer {
7
7
  constructor(BXRestServer, BXRestMapServer) {
8
8
  this.BXRestServer = BXRestServer;
9
9
  this.BXRestMapServer = BXRestMapServer;
10
- this.Navvy = new Navvy(this.BXRestServer, BXRestMapServer);
10
+ this.Navvy = new Navvy(BXRestServer, BXRestMapServer);
11
11
  }
12
12
  time() {
13
13
  return this.Navvy.simple(this.BXRestServer.time, this.BXRestMapServer.time);
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
21
21
  providedIn: 'root'
22
22
  }]
23
23
  }], ctorParameters: function () { return [{ type: i1.BXRestServer }, { type: i2.BXRestMapServer }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC1uYXZ2eS9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7Ozs7QUFNekMsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNVLFlBQTBCLEVBQzNCLGVBQWdDO1FBRC9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUV2QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQzFCLENBQUE7SUFDSCxDQUFDOytHQWhCVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEJYUmVzdFNlcnZlciB9IGZyb20gJy4uL3JlcXVlc3Qvc2VydmVyJ1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBTZXJ2ZXIgfSBmcm9tICcuLi9tYXAvc2VydmVyJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlTZXJ2ZXIge1xyXG5cclxuICBwcm90ZWN0ZWQgTmF2dnk6IE5hdnZ5PEJYUmVzdFNlcnZlciwgQlhSZXN0TWFwU2VydmVyPlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQlhSZXN0U2VydmVyOiBCWFJlc3RTZXJ2ZXIsXHJcbiAgICBwdWJsaWMgQlhSZXN0TWFwU2VydmVyOiBCWFJlc3RNYXBTZXJ2ZXJcclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkodGhpcy5CWFJlc3RTZXJ2ZXIsIEJYUmVzdE1hcFNlcnZlcilcclxuICB9XHJcblxyXG4gIHRpbWUoKXtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZShcclxuICAgICAgdGhpcy5CWFJlc3RTZXJ2ZXIudGltZSxcclxuICAgICAgdGhpcy5CWFJlc3RNYXBTZXJ2ZXIudGltZVxyXG4gICAgKVxyXG4gIH1cclxufVxyXG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC1uYXZ2eS9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7Ozs7QUFNekMsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNVLFlBQTBCLEVBQzFCLGVBQWdDO1FBRGhDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUV4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDMUIsQ0FBQTtJQUNILENBQUM7K0dBaEJVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQlhSZXN0U2VydmVyIH0gZnJvbSAnLi4vcmVxdWVzdC9zZXJ2ZXInXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXHJcbmltcG9ydCB7IEJYUmVzdE1hcFNlcnZlciB9IGZyb20gJy4uL21hcC9zZXJ2ZXInXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eVNlcnZlciB7XHJcblxyXG4gIHByb3RlY3RlZCBOYXZ2eTogTmF2dnk8QlhSZXN0U2VydmVyLCBCWFJlc3RNYXBTZXJ2ZXI+XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBCWFJlc3RTZXJ2ZXI6IEJYUmVzdFNlcnZlcixcclxuICAgIHByaXZhdGUgQlhSZXN0TWFwU2VydmVyOiBCWFJlc3RNYXBTZXJ2ZXJcclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkoQlhSZXN0U2VydmVyLCBCWFJlc3RNYXBTZXJ2ZXIpXHJcbiAgfVxyXG5cclxuICB0aW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMuQlhSZXN0U2VydmVyLnRpbWUsXHJcbiAgICAgIHRoaXMuQlhSZXN0TWFwU2VydmVyLnRpbWVcclxuICAgIClcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { mergeMap, of, tap, throwError } from 'rxjs';
3
- import { Permission } from '../../services/permission';
2
+ import { mergeMap, throwError } from 'rxjs';
4
3
  import { Navvy } from '../../services/navvy';
4
+ import { NavvySimple } from '../../services/Navvy/NavvySimple';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../request/task/elapseditem";
7
7
  import * as i2 from "../../map/task/elapseditem";
@@ -27,7 +27,13 @@ export class BXRestNavvyElapsedItem {
27
27
  return this.delegate.getList(param);
28
28
  }
29
29
  add(param) {
30
+ return new NavvySimple(this, this.BXRestMapElapsedItem, this.addBase.call(this, param));
31
+ // return this.Navvy.simpleWithArg(this.addBase.bind(this), param)
32
+ }
33
+ addBase(param) {
34
+ console.log('this.operation', this.operation);
30
35
  return this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
36
+ console.log('allowedReadTask', allowedReadTask);
31
37
  if (allowedReadTask) {
32
38
  return this.operation.checkPermissionAddElapsedTimeToTask(param.TASKID).pipe(mergeMap(allowed => {
33
39
  if (allowed) {
@@ -49,21 +55,19 @@ export class BXRestNavvyElapsedItem {
49
55
  * @param param
50
56
  */
51
57
  update(param) {
52
- return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
58
+ const func = () => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap((allowedReadTask) => {
53
59
  if (allowedReadTask) {
54
60
  return this.isAllowedModify(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
55
61
  if (allowed) {
56
62
  return this.BXRestElapsedItem.update(param);
57
63
  }
58
- else {
59
- return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
60
- }
64
+ return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
61
65
  }));
62
66
  }
63
- else {
64
- return throwError(() => new Error('Отсутствуют права на чтение задачи'));
65
- }
66
- })), this.BXRestMapElapsedItem.update);
67
+ return throwError(() => new Error('Отсутствуют права на чтение задачи'));
68
+ }));
69
+ console.log('this.BXRestMapElapsedItem.update', this.BXRestMapElapsedItem.update);
70
+ return new NavvySimple(this, this.BXRestMapElapsedItem, func.call(this), this.BXRestMapElapsedItem.update);
67
71
  }
68
72
  /*
69
73
  getAll(
@@ -125,40 +129,45 @@ export class BXRestNavvyElapsedItem {
125
129
  )
126
130
  }
127
131
  */
132
+ // TODO: разобраться что это за ебатня в комментах и вписать нормальной комент если она нужна
128
133
  isAllowedModify(idTask, idItem) {
129
- let permission = Permission.get();
130
- if (permission?.tasks?.length) {
131
- let findTask = permission.tasks.find(i => i.id === idTask);
132
- if (findTask) {
133
- let find = findTask.elapsedItem.find(i => i.id === idItem);
134
- if (find && find.verified.edit) {
135
- return of(find.edit);
136
- }
137
- }
138
- }
134
+ // let permission = Permission.get()
135
+ // if (permission?.tasks?.length) {
136
+ // let findTask = permission.tasks.find(i => i.id === idTask)
137
+ // if (findTask) {
138
+ // let find = findTask.elapsedItem.find(i => i.id === idItem)
139
+ // if (find && find.verified.edit) {
140
+ // return of(find.edit)
141
+ // }
142
+ // }
143
+ // }
139
144
  return this.isActionAllowed({
140
145
  TASKID: idTask,
141
- ITEMID: 2,
142
- ACTIONID: idItem
143
- }).result().pipe(tap(v => {
144
- if (v !== undefined) {
145
- Permission.setTaskElapsedItem(idTask, {
146
- id: idItem,
147
- edit: v,
148
- del: false,
149
- verified: {
150
- edit: true,
151
- del: false,
152
- }
153
- });
154
- }
155
- }));
146
+ ITEMID: idItem,
147
+ ACTIONID: 2
148
+ }).result();
149
+ // .pipe(
150
+ // tap(v => {
151
+ // if (v !== undefined) {
152
+ // Permission.setTaskElapsedItem(idTask,
153
+ // {
154
+ // id: idItem,
155
+ // edit: v,
156
+ // del: false,
157
+ // verified: {
158
+ // edit: true,
159
+ // del: false,
160
+ // }
161
+ // })
162
+ // }
163
+ // })
164
+ // )
156
165
  }
157
166
  isAllowedRemove(idTask, idItem) {
158
167
  return this.isActionAllowed({
159
168
  TASKID: idTask,
160
- ITEMID: 3,
161
- ACTIONID: idItem
169
+ ITEMID: idItem,
170
+ ACTIONID: 3
162
171
  }).result();
163
172
  }
164
173
  /**
@@ -202,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
202
211
  providedIn: 'root'
203
212
  }]
204
213
  }], ctorParameters: function () { return [{ type: i1.BXRestTaskElapsedItem }, { type: i2.BXRestMapTaskElapsedItem }, { type: i3.BXRestNavvyDelegateElapsedItem }, { type: i4.BXRestNavvyOperationElapsedItem }]; } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBSXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUl0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7Ozs7OztBQVE1QyxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1UsaUJBQXdDLEVBQ3hDLG9CQUE4QyxFQUM5QyxRQUF3QyxFQUN6QyxTQUEwQztRQUh6QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXVCO1FBQ3hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0M7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBaUM7UUFFakQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFFSCxPQUFPLENBQ0wsUUFBb0MsRUFBRTtRQUV0QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBaUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzlELFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QixJ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QUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3RGLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QixJQUFJLGVBQWUsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDMUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNqQixJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7cUJBQ3pDO3lCQUFNO3dCQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUMsQ0FBQTtxQkFDaEc7Z0JBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUNOO2lCQUFNO2dCQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQTthQUN6RTtRQUNILENBQUMsQ0FBQyxDQUNILEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7K0dBak5VLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIG9mLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vZ2V0J1xyXG5pbXBvcnQgeyBCWFJlc3RUYXNrRWxhcHNlZEl0ZW0gfSBmcm9tICcuLi8uLi9yZXF1ZXN0L3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9hZGQnXHJcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1VcGRhdGVFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vdXBkYXRlJ1xyXG5pbXBvcnQgeyBpSXNBY3Rpb25BbGxvd2VkUGFyYW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2lzQWN0aW9uQWxsb3dlZFBhcmFtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vZGVsJ1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0gfSBmcm9tICcuLi8uLi9tYXAvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlPcGVyYXRpb25FbGFwc2VkSXRlbSB9IGZyb20gJy4vb3BlcmF0aW9uL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0gfSBmcm9tICcuL2RlbGVnYXRlL2VsYXBzZWRpdGVtJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlFbGFwc2VkSXRlbSB7XHJcblxyXG4gIHByaXZhdGUgTmF2dnk6IE5hdnZ5PEJYUmVzdFRhc2tFbGFwc2VkSXRlbSwgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtPlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQlhSZXN0RWxhcHNlZEl0ZW06IEJYUmVzdFRhc2tFbGFwc2VkSXRlbSxcclxuICAgIHByaXZhdGUgQlhSZXN0TWFwRWxhcHNlZEl0ZW06IEJYUmVzdE1hcFRhc2tFbGFwc2VkSXRlbSxcclxuICAgIHByaXZhdGUgZGVsZWdhdGU6IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSxcclxuICAgIHB1YmxpYyBvcGVyYXRpb246IEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW1cclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkodGhpcy5CWFJlc3RFbGFwc2VkSXRlbSwgdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgY2FsbChtZXRob2ROYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKXtcclxuICAgIGlmICh0eXBlb2YgdGhpc1ttZXRob2ROYW1lXSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gdGhpc1ttZXRob2ROYW1lXSguLi5hcmdzKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzW21ldGhvZE5hbWVdKC4uLmFyZ3MpO1xyXG4gIH1cclxuICAgKi9cclxuXHJcbiAgZ2V0TGlzdChcclxuICAgIHBhcmFtOiBpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCA9IHt9XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5nZXRMaXN0KHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgYWRkKHBhcmFtOiBpQlhSZXN0UGFyYW1BZGRFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uYWRkKHBhcmFtKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQtNC+0LHQsNCy0LvQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0LHQvdC+0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDRgNCw0LHQvtGH0LXQs9C+INCy0YDQtdC80LXQvdC4XHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZE1vZGlmeShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRJdGVtLnVwZGF0ZShwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDQuNC30LzQtdC90LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRJdGVtLnVwZGF0ZSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgZ2V0QWxsKFxyXG4gICAgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zRWxhcHNlZEdldExpc3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXHJcbiAgICBjYWNoZSA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldChwYXJhbXMsIGNhY2hlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zID0gKHBhcmFtcykgPyBwYXJhbXMgOiB7fVxyXG4gICAgICAgICAgICAgIHBhcmFtcy5QQVJBTVMgPSB7XHJcbiAgICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICAgIG5QYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgICAgaU51bVBhZ2U6IGl0ZW1zLm5leHQgLyB0aGlzLnBhZ2VTaXplICsgMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGwocGFyYW1zLCBjYWNoZSkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgdkVuZC5yZXN1bHQgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKGNsb25lKHZFbmQpLCB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19KVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICAvKlxyXG4gIGdldENhY2hlT2ZmKHBhcmFtczogUmVxdWVzdFBhcmFtc0VsYXBzZWRHZXRMaXN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxCWFJlc3RFbGFwc2VkSHR0cFtdPiB8IHVuZGVmaW5lZD5cclxuICAgICh0aGlzLnVybC5nZXRsaXN0LCBwYXJhbXMsICfQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LLRgNC10LzRjyDQv9C+INC30LDQtNCw0YfQsNC8JylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3UmVzdWx0OiBCWFJlc3RFbGFwc2VkW10gPSBbXVxyXG4gICAgICAgICAgICBmb3IgKGxldCB0YXNrIG9mIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgbmV3UmVzdWx0LnB1c2godGhpcy5lbGFwc2VkQlhNYXAuQW5zd2VyRWxhcHNlZEdldEh0dHBUb0Fuc3dlckVsYXBzZWRHZXQodGFzaykpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGV4dGVuZCh2LCB7cmVzdWx0OiBuZXdSZXN1bHR9KSBhcyBpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICBpZiAodiAmJiBwYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlSHR0cFRhc2tUaW1lKHtcclxuICAgICAgICAgICAgICBmaWx0ZXI6IGNsb25lKHBhcmFtcyksXHJcbiAgICAgICAgICAgICAgdGltZTogdlxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICovXHJcblxyXG4gIGlzQWxsb3dlZE1vZGlmeShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgICBpZiAoZmluZFRhc2spIHtcclxuICAgICAgICBsZXQgZmluZCA9IGZpbmRUYXNrLmVsYXBzZWRJdGVtLmZpbmQoaSA9PiBpLmlkID09PSBpZEl0ZW0pXHJcbiAgICAgICAgaWYgKGZpbmQgJiYgZmluZC52ZXJpZmllZC5lZGl0KSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoZmluZC5lZGl0KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmlzQWN0aW9uQWxsb3dlZCh7XHJcbiAgICAgIFRBU0tJRDogaWRUYXNrLFxyXG4gICAgICBJVEVNSUQ6IDIsXHJcbiAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgIH0pLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiAzLFxyXG4gICAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgICAgfSkucmVzdWx0KClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGlzQWN0aW9uQWxsb3dlZChwYXJhbTogaUlzQWN0aW9uQWxsb3dlZFBhcmFtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChjYW5SZWFkID0+IHtcclxuICAgICAgICBpZiAoY2FuUmVhZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgICkpXHJcbiAgfVxyXG5cclxuICBkZWwocGFyYW06IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZFJlbW92ZShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRJdGVtLmRlbChwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRg9C00LDQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLCB2ID0+ICh2ID09PSBudWxsKSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQU8zQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFBOzs7Ozs7QUFLOUQsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGlCQUF3QyxFQUN4QyxvQkFBOEMsRUFDOUMsUUFBd0MsRUFDekMsU0FBMEM7UUFIekMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTBCO1FBQzlDLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBQ3pDLGNBQVMsR0FBVCxTQUFTLENBQWlDO1FBRWpELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBRUgsT0FBTyxDQUNMLFFBQW9DLEVBQUU7UUFFdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQWlDO1FBQ25DLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RixrRUFBa0U7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QUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDdEYsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3pCLElBQUksZUFBZSxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMxRCxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ2pCLElBQUksT0FBTyxFQUFFO3dCQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtxQkFDekM7eUJBQU07d0JBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQyxDQUFBO3FCQUNoRztnQkFDSCxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ047aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFBO2FBQ3pFO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDdkIsQ0FBQzsrR0ExTlUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBtZXJnZU1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9nZXQnXHJcbmltcG9ydCB7IEJYUmVzdFRhc2tFbGFwc2VkSXRlbSB9IGZyb20gJy4uLy4uL3JlcXVlc3QvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2FkZCdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL3VwZGF0ZSdcclxuaW1wb3J0IHsgaUlzQWN0aW9uQWxsb3dlZFBhcmFtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9pc0FjdGlvbkFsbG93ZWRQYXJhbSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtRGVsRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2RlbCdcclxuaW1wb3J0IHsgTmF2dnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXZ2eSdcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0gfSBmcm9tICcuL29wZXJhdGlvbi9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtIH0gZnJvbSAnLi9kZWxlZ2F0ZS9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgTmF2dnlTaW1wbGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9OYXZ2eS9OYXZ2eVNpbXBsZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0ge1xyXG5cclxuICBwcml2YXRlIE5hdnZ5OiBOYXZ2eTxCWFJlc3RUYXNrRWxhcHNlZEl0ZW0sIEJYUmVzdE1hcFRhc2tFbGFwc2VkSXRlbT5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdEVsYXBzZWRJdGVtOiBCWFJlc3RUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcEVsYXBzZWRJdGVtOiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIGRlbGVnYXRlOiBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0sXHJcbiAgICBwdWJsaWMgb3BlcmF0aW9uOiBCWFJlc3ROYXZ2eU9wZXJhdGlvbkVsYXBzZWRJdGVtXHJcbiAgKSB7XHJcbiAgICB0aGlzLk5hdnZ5ID0gbmV3IE5hdnZ5KHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0sIHRoaXMuQlhSZXN0TWFwRWxhcHNlZEl0ZW0pXHJcbiAgfVxyXG5cclxuICAvKlxyXG4gIGNhbGwobWV0aG9kTmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSl7XHJcbiAgICBpZiAodHlwZW9mIHRoaXNbbWV0aG9kTmFtZV0gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXNbbWV0aG9kTmFtZV0oLi4uYXJncyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpc1ttZXRob2ROYW1lXSguLi5hcmdzKTtcclxuICB9XHJcbiAgICovXHJcblxyXG4gIGdldExpc3QoXHJcbiAgICBwYXJhbTogaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgPSB7fVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUuZ2V0TGlzdChwYXJhbSlcclxuICB9XHJcblxyXG4gIGFkZChwYXJhbTogaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiBuZXcgTmF2dnlTaW1wbGUodGhpcywgdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbSwgdGhpcy5hZGRCYXNlLmNhbGwodGhpcywgcGFyYW0pKVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyh0aGlzLmFkZEJhc2UuYmluZCh0aGlzKSwgcGFyYW0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEJhc2UocGFyYW06IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtKSB7XHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5vcGVyYXRpb24nLCB0aGlzLm9wZXJhdGlvbilcclxuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbi5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2FsbG93ZWRSZWFkVGFzaycsIGFsbG93ZWRSZWFkVGFzaylcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uYWRkKHBhcmFtKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQtNC+0LHQsNCy0LvQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0LHQvdC+0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDRgNCw0LHQvtGH0LXQs9C+INCy0YDQtdC80LXQvdC4XHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtKSB7XHJcbiAgICBjb25zdCBmdW5jID0gKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoYWxsb3dlZFJlYWRUYXNrKSA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNBbGxvd2VkTW9kaWZ5KHBhcmFtLlRBU0tJRCwgcGFyYW0uSVRFTUlEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0udXBkYXRlKHBhcmFtKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSkpXHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbS51cGRhdGUnLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRJdGVtLnVwZGF0ZSlcclxuICAgIHJldHVybiBuZXcgTmF2dnlTaW1wbGUodGhpcywgdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbSwgZnVuYy5jYWxsKHRoaXMpLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRJdGVtLnVwZGF0ZSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgZ2V0QWxsKFxyXG4gICAgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zRWxhcHNlZEdldExpc3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXHJcbiAgICBjYWNoZSA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldChwYXJhbXMsIGNhY2hlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zID0gKHBhcmFtcykgPyBwYXJhbXMgOiB7fVxyXG4gICAgICAgICAgICAgIHBhcmFtcy5QQVJBTVMgPSB7XHJcbiAgICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICAgIG5QYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgICAgaU51bVBhZ2U6IGl0ZW1zLm5leHQgLyB0aGlzLnBhZ2VTaXplICsgMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGwocGFyYW1zLCBjYWNoZSkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgdkVuZC5yZXN1bHQgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKGNsb25lKHZFbmQpLCB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19KVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICAvKlxyXG4gIGdldENhY2hlT2ZmKHBhcmFtczogUmVxdWVzdFBhcmFtc0VsYXBzZWRHZXRMaXN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxCWFJlc3RFbGFwc2VkSHR0cFtdPiB8IHVuZGVmaW5lZD5cclxuICAgICh0aGlzLnVybC5nZXRsaXN0LCBwYXJhbXMsICfQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LLRgNC10LzRjyDQv9C+INC30LDQtNCw0YfQsNC8JylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3UmVzdWx0OiBCWFJlc3RFbGFwc2VkW10gPSBbXVxyXG4gICAgICAgICAgICBmb3IgKGxldCB0YXNrIG9mIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgbmV3UmVzdWx0LnB1c2godGhpcy5lbGFwc2VkQlhNYXAuQW5zd2VyRWxhcHNlZEdldEh0dHBUb0Fuc3dlckVsYXBzZWRHZXQodGFzaykpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGV4dGVuZCh2LCB7cmVzdWx0OiBuZXdSZXN1bHR9KSBhcyBpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICBpZiAodiAmJiBwYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlSHR0cFRhc2tUaW1lKHtcclxuICAgICAgICAgICAgICBmaWx0ZXI6IGNsb25lKHBhcmFtcyksXHJcbiAgICAgICAgICAgICAgdGltZTogdlxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICovXHJcblxyXG4gIC8vIFRPRE86INGA0LDQt9C+0LHRgNCw0YLRjNGB0Y8g0YfRgtC+INGN0YLQviDQt9CwINC10LHQsNGC0L3RjyDQsiDQutC+0LzQvNC10L3RgtCw0YUg0Lgg0LLQv9C40YHQsNGC0Ywg0L3QvtGA0LzQsNC70YzQvdC+0Lkg0LrQvtC80LXQvdGCINC10YHQu9C4INC+0L3QsCDQvdGD0LbQvdCwXHJcbiAgaXNBbGxvd2VkTW9kaWZ5KGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgLy8gbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICAvLyBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgLy8gICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAvLyAgIGlmIChmaW5kVGFzaykge1xyXG4gICAgLy8gICAgIGxldCBmaW5kID0gZmluZFRhc2suZWxhcHNlZEl0ZW0uZmluZChpID0+IGkuaWQgPT09IGlkSXRlbSlcclxuICAgIC8vICAgICBpZiAoZmluZCAmJiBmaW5kLnZlcmlmaWVkLmVkaXQpIHtcclxuICAgIC8vICAgICAgIHJldHVybiBvZihmaW5kLmVkaXQpXHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKHtcclxuICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgIElURU1JRDogaWRJdGVtLFxyXG4gICAgICBBQ1RJT05JRDogMlxyXG4gICAgfSkucmVzdWx0KClcclxuICAgIC8vICAgLnBpcGUoXHJcbiAgICAvLyAgIHRhcCh2ID0+IHtcclxuICAgIC8vICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAvLyAgICAgICAgIHtcclxuICAgIC8vICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgLy8gICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAvLyAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgIC8vICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgLy8gICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgIC8vICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAvLyAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiBpZEl0ZW0sXHJcbiAgICAgICAgQUNUSU9OSUQ6IDNcclxuICAgICAgfSkucmVzdWx0KClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGlzQWN0aW9uQWxsb3dlZChwYXJhbTogaUlzQWN0aW9uQWxsb3dlZFBhcmFtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChjYW5SZWFkID0+IHtcclxuICAgICAgICBpZiAoY2FuUmVhZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgICkpXHJcbiAgfVxyXG5cclxuICBkZWwocGFyYW06IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZFJlbW92ZShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRJdGVtLmRlbChwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRg9C00LDQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLCB2ID0+ICh2ID09PSBudWxsKSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,7 +1,6 @@
1
- import { $elapseditem, $getaccess, $getlist, $task, $tasks } from '../../../consts/part-name-methods';
1
+ import { $elapseditem, $getlist, $isactionallowed, $task } from '../../../consts/part-name-methods';
2
2
  import { map, take } from 'rxjs/operators';
3
- import { forkJoin, mergeMap, of, tap } from 'rxjs';
4
- import { Permission } from '../../../services/permission';
3
+ import { forkJoin, mergeMap, of } from 'rxjs';
5
4
  import { Injectable } from '@angular/core';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "../../../services/http/HttpBX";
@@ -40,7 +39,8 @@ export class BXRestNavvyOperationElapsedItem {
40
39
  };
41
40
  })).pipe(map(v => {
42
41
  if (v && v.length) {
43
- return this.http.mapBranchResultWithoutKey(v).map(i => this.BXRestMapElapsedItem.getList(i)).filter((i) => i !== undefined).flat();
42
+ const res = this.http.mapBranchResultWithoutKey(v);
43
+ return this.BXRestMapElapsedItem.getList(res);
44
44
  }
45
45
  return undefined;
46
46
  }));
@@ -62,7 +62,7 @@ export class BXRestNavvyOperationElapsedItem {
62
62
  .map(i => {
63
63
  return {
64
64
  [i]: {
65
- name: this.http.getNameMethod([$tasks, $task, $getaccess]),
65
+ name: this.http.getNameMethod([$task, $elapseditem, $isactionallowed]),
66
66
  param: {
67
67
  TASKID: i,
68
68
  ITEMID: 1,
@@ -85,58 +85,67 @@ export class BXRestNavvyOperationElapsedItem {
85
85
  }));
86
86
  }
87
87
  checkPermissionAddElapsedTimeToTask(idTask) {
88
- let permission = Permission.get();
89
- if (permission?.tasks?.length) {
90
- let findTask = permission.tasks.find(i => i.id === idTask);
91
- if (findTask?.permission) {
92
- return of(findTask.permission['ELAPSEDTIME.ADD']);
88
+ // let permission = Permission.get()
89
+ // if (permission?.tasks?.length) {
90
+ // let findTask = permission.tasks.find(i => i.id === idTask)
91
+ // if (findTask?.permission) {
92
+ // return of(findTask.permission['ELAPSEDTIME.ADD'])
93
+ // }
94
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
95
+ if (self) {
96
+ return this.BXRestNavvyTasks.task.getAccess({
97
+ id: idTask,
98
+ users: [self.ID]
99
+ }).result().pipe(
100
+ // tap(v => {
101
+ // if (v && v[self.ID]) {
102
+ // Permission.set({
103
+ // tasks: [{id: idTask, permission: v[self.ID], elapsedItem: []}]
104
+ // })
105
+ // }
106
+ // }),
107
+ map(v => {
108
+ return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
109
+ }));
93
110
  }
94
- return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
95
- if (self) {
96
- return this.BXRestNavvyTasks.task.getAccess({
97
- id: idTask,
98
- users: [self.ID]
99
- }).result().pipe(tap(v => {
100
- if (v && v[self.ID]) {
101
- Permission.set({
102
- tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
103
- });
104
- }
105
- }), map(v => {
106
- return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
107
- }));
108
- }
109
- return of(undefined);
110
- }));
111
- }
112
- return of(undefined);
111
+ return of(undefined);
112
+ }));
113
+ // }
114
+ // return of(undefined)
113
115
  }
116
+ // вообще метод похоже даже на вредный в какомто смысле
114
117
  checkPermissionReadTask(idTask) {
115
- let permission = Permission.get();
116
- if (permission?.tasks?.length) {
117
- let findTask = permission.tasks.find(i => i.id === idTask);
118
- if (findTask?.permission) {
119
- return of(findTask.permission.ACCEPT);
118
+ // let permission = Permission.get()
119
+ // if (permission?.tasks?.length) {
120
+ // let findTask = permission.tasks.find(i => i.id === idTask)
121
+ // if (findTask?.permission) {
122
+ // return of(findTask.permission.ACCEPT)
123
+ // }
124
+ // console.log('idTask', idTask)
125
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
126
+ console.log('self', self);
127
+ if (self) {
128
+ return this.BXRestNavvyTasks.task.getAccess({
129
+ id: idTask,
130
+ users: [self.ID]
131
+ }).result().pipe(
132
+ // tap(v => {
133
+ // if (v && v[self.ID]) {
134
+ // Permission.set({
135
+ // tasks: [{id: idTask, permission: v[self.ID], elapsedItem: []}]
136
+ // })
137
+ // }
138
+ // }),
139
+ map(v => {
140
+ console.log('v', v);
141
+ return (v && v[self.ID]) ? !!v[self.ID] : false; // отдельного флага на чтение нет, выходит что если права отдались то и права есть
142
+ }));
120
143
  }
121
- return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
122
- if (self) {
123
- return this.BXRestNavvyTasks.task.getAccess({
124
- id: idTask,
125
- users: [self.ID]
126
- }).result().pipe(tap(v => {
127
- if (v && v[self.ID]) {
128
- Permission.set({
129
- tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
130
- });
131
- }
132
- }), map(v => {
133
- return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
134
- }));
135
- }
136
- return of(undefined);
137
- }));
138
- }
139
- return of(undefined);
144
+ return of(undefined);
145
+ }));
146
+ // }
147
+ //
148
+ // return of(undefined)
140
149
  }
141
150
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyOperationElapsedItem, deps: [{ token: i1.HttpBXServices }, { token: i2.BXRestNavvyDelegateElapsedItem }, { token: i3.BXRestMapTaskElapsedItem }, { token: i4.BXRestNavvyUser }, { token: i5.BXRestNavvyTasks }], target: i0.ɵɵFactoryTarget.Injectable }); }
142
151
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyOperationElapsedItem, providedIn: 'root' }); }
@@ -147,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
147
156
  providedIn: 'root'
148
157
  }]
149
158
  }], ctorParameters: function () { return [{ type: i1.HttpBXServices }, { type: i2.BXRestNavvyDelegateElapsedItem }, { type: i3.BXRestMapTaskElapsedItem }, { type: i4.BXRestNavvyUser }, { type: i5.BXRestNavvyTasks }]; } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDckcsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUl6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7Ozs7O0FBSzFDLE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxJQUFvQixFQUNwQixRQUF3QyxFQUN4QyxvQkFBOEMsRUFDOUMsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBSmxDLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBQ3hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFrQixFQUFFLFNBQWUsRUFBRSxPQUFhO1FBQzlELE1BQU0sS0FBSyxHQUErQjtZQUN4QyxLQUFLLEVBQUU7Z0JBQ0wsRUFBRSxFQUFFLE1BQU07YUFDWDtZQUNELE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsUUFBUTtnQkFDakIsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxPQUFP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QUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFDLENBQUM7NkJBQy9ELENBQUMsQ0FBQTt5QkFDSDtvQkFDSCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7b0JBQ3RELENBQUMsQ0FBQyxDQUNILENBQUE7aUJBQ0Y7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdEIsQ0FBQzsrR0FuS1UsK0JBQStCO21IQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs7NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9nZXQnXHJcbmltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7IGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW0sIGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW1IdHRwIH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9pdGVtJ1xyXG5pbXBvcnQgeyAkZWxhcHNlZGl0ZW0sICRnZXRhY2Nlc3MsICRnZXRsaXN0LCAkdGFzaywgJHRhc2tzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRhcCB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGlJc0FjdGlvbkFsbG93ZWRQYXJhbSB9IGZyb20gJy4uLy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vaXNBY3Rpb25BbGxvd2VkUGFyYW0nXHJcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVVzZXIgfSBmcm9tICcuLi8uLi91c2VyJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzIH0gZnJvbSAnLi4vLi4vdGFza3MnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2RlbGVnYXRlL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXHJcbiAgICBwcml2YXRlIGRlbGVnYXRlOiBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcEVsYXBzZWRJdGVtOiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5VXNlcjogQlhSZXN0TmF2dnlVc2VyLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eVRhc2tzOiBCWFJlc3ROYXZ2eVRhc2tzLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlJbnRlcnZhbChpZHNVc2VyczogbnVtYmVyW10sIGRhdGVTdGFydDogRGF0ZSwgZGF0ZUVuZDogRGF0ZSkge1xyXG4gICAgY29uc3QgcGFyYW06IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0ID0ge1xyXG4gICAgICBPUkRFUjoge1xyXG4gICAgICAgIElEOiAnREVTQydcclxuICAgICAgfSxcclxuICAgICAgRklMVEVSOiB7XHJcbiAgICAgICAgVVNFUl9JRDogaWRzVXNlcnMsXHJcbiAgICAgICAgJz49Q1JFQVRFRF9EQVRFJzogZGF0ZVN0YXJ0LnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICAgICc8PUNSRUFURURfREFURSc6IGRhdGVFbmQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1JyksXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRlbGVnYXRlLmdldExpc3QocGFyYW0pXHJcbiAgfVxyXG5cclxuICBnZXRMaXN0QnlJRFRhc2soaWRzOiBudW1iZXJbXSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQsIGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW1IdHRwW10+XHJcbiAgICAoXHJcbiAgICAgIGlkcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFzaywgJGVsYXBzZWRpdGVtLCAkZ2V0bGlzdF0pLFxyXG4gICAgICAgICAgcGFyYW06IHtcclxuICAgICAgICAgICAgVEFTS0lEOiBpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAodiA9PiB7XHJcbiAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0V2l0aG91dEtleSh2KS5tYXAoXHJcbiAgICAgICAgICAgIGkgPT4gdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbS5nZXRMaXN0KGkpXHJcbiAgICAgICAgICApLmZpbHRlcigoaSk6IGkgaXMgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbVtdID0+IGkgIT09IHVuZGVmaW5lZCkuZmxhdCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrQXJyKHRhc2tzOiBudW1iZXJbXSkge1xyXG4gICAgbGV0IHJlcXVlc3Q6IHsgW2tleTogbnVtYmVyXTogT2JzZXJ2YWJsZTxib29sZWFuPiB9ID0gT2JqZWN0LmFzc2lnbih7fSwgLi4udGFza3MubWFwKGkgPT4ge1xyXG4gICAgICByZXR1cm4ge1tpXTogdGhpcy5jaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpKX1cclxuICAgIH0pKVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3QpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgbWVyZ2VNYXAodiA9PiB7XHJcbiAgICAgICAgICBsZXQgZm9yRm9yZWFjaCA9IE9iamVjdC5lbnRyaWVzKHYpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgaWYgKGZvckZvcmVhY2guZmluZChpID0+IGkudmFsdWUgPT09IHVuZGVmaW5lZCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsZXQgZm9yRm9yZWFjaEhhdmUgPSBmb3JGb3JlYWNoLmZpbHRlcihpID0+IGkudmFsdWUgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgbGV0IGZvckZvcmVhY2hOb3RIYXZlID0gZm9yRm9yZWFjaC5maWx0ZXIoaSA9PiBpLnZhbHVlID09PSB1bmRlZmluZWQpIC8vINGC0YPRgiDQv9C+0LvRg9GH0LDQtdC8INCy0YHQtSBpZCDQvdC1INGB0L7RhdGA0LDQvdC10L3QvdGL0YUg0YMg0L3QsNGBINC/0YDQsNCyXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlJc0FjdGlvbkFsbG93ZWRQYXJhbSwgYm9vbGVhbj4oXHJcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4uZm9yRm9yZWFjaE5vdEhhdmVcclxuICAgICAgICAgICAgICAgIC5tYXAoaSA9PiBpLmlkKVxyXG4gICAgICAgICAgICAgICAgLm1hcChpID0+IHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBbaV06IHtcclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFza3MsICR0YXNrLCAkZ2V0YWNjZXNzXSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBUQVNLSUQ6IGksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElURU1JRDogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgQUNUSU9OSUQ6IDFcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzOiB7IFtwOiBudW1iZXJdOiBib29sZWFuIH0gPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0KHYpXHJcbiAgICAgICAgICAgICAgICAgIGZvckZvcmVhY2hOb3RIYXZlID0gT2JqZWN0LmVudHJpZXMocmVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGZvckZvcmVhY2hIYXZlLCBmb3JGb3JlYWNoTm90SGF2ZSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoZm9yRm9yZWFjaClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG5cclxuICBjaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpZFRhc2s6IG51bWJlcikge1xyXG4gICAgbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAgIGlmIChmaW5kVGFzaz8ucGVybWlzc2lvbikge1xyXG4gICAgICAgIHJldHVybiBvZihmaW5kVGFzay5wZXJtaXNzaW9uWydFTEFQU0VEVElNRS5BREQnXSlcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVVzZXIuY3VycmVudCgpLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VsZikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0QWNjZXNzKFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBpZFRhc2ssXHJcbiAgICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgICAgfSkucmVzdWx0KCkucGlwZShcclxuICAgICAgICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgICAgICAgICB0YXNrczogW3tpZDogaWRUYXNrLCBwZXJtaXNzaW9uOiB2W3NlbGYuSURdLCBlbGFwc2VkSXRlbTogW119XVxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF1bJ0VMQVBTRURUSU1FLkFERCddIDogZmFsc2VcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvblJlYWRUYXNrKGlkVGFzazogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzdWx0KCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRBY2Nlc3MoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gdltzZWxmLklEXS5BQ0NFUFQgOiBmYWxzZVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gIH1cclxufVxyXG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ25HLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBS3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7Ozs7QUFLMUMsTUFBTSxPQUFPLCtCQUErQjtJQUUxQyxZQUNVLElBQW9CLEVBQ3BCLFFBQXdDLEVBQ3hDLG9CQUE4QyxFQUM5QyxlQUFnQyxFQUNoQyxnQkFBa0M7UUFKbEMsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0M7UUFDeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUM5QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWtCLEVBQUUsU0FBZSxFQUFFLE9BQWE7UUFDOUQsTUFBTSxLQUFLLEdBQStCO1lBQ3hDLEtBQUssRUFBRTtnQkFDTCxFQUFFLEVBQUUsTUFBTTthQUNYO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixnQkFBZ0IsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztnQkFDbkQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7YUFDbEQ7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QUFJO2dCQUNoQixhQUFhO2dCQUNiLDJCQUEyQjtnQkFDM0IsdUJBQXVCO2dCQUN2Qix1RUFBdUU7Z0JBQ3ZFLFNBQVM7Z0JBQ1QsTUFBTTtnQkFDTixNQUFNO2dCQUNOLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtvQkFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUEsQ0FBQyxrRkFBa0Y7Z0JBQ3BJLENBQUMsQ0FBQyxDQUNILENBQUE7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUE7UUFDSCxJQUFJO1FBQ0osRUFBRTtRQUNGLHVCQUF1QjtJQUN6QixDQUFDOytHQXRLVSwrQkFBK0I7bUhBQS9CLCtCQUErQixjQUY5QixNQUFNOzs0RkFFUCwrQkFBK0I7a0JBSDNDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgfSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2dldCdcclxuaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHsgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHAgfSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2l0ZW0nXHJcbmltcG9ydCB7ICRlbGFwc2VkaXRlbSwgJGdldGxpc3QsICRpc2FjdGlvbmFsbG93ZWQsICR0YXNrIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBpSXNBY3Rpb25BbGxvd2VkUGFyYW0gfSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2lzQWN0aW9uQWxsb3dlZFBhcmFtJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVVzZXIgfSBmcm9tICcuLi8uLi91c2VyJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzIH0gZnJvbSAnLi4vLi4vdGFza3MnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2RlbGVnYXRlL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXHJcbiAgICBwcml2YXRlIGRlbGVnYXRlOiBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcEVsYXBzZWRJdGVtOiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5VXNlcjogQlhSZXN0TmF2dnlVc2VyLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eVRhc2tzOiBCWFJlc3ROYXZ2eVRhc2tzLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlJbnRlcnZhbChpZHNVc2VyczogbnVtYmVyW10sIGRhdGVTdGFydDogRGF0ZSwgZGF0ZUVuZDogRGF0ZSkge1xyXG4gICAgY29uc3QgcGFyYW06IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0ID0ge1xyXG4gICAgICBPUkRFUjoge1xyXG4gICAgICAgIElEOiAnREVTQydcclxuICAgICAgfSxcclxuICAgICAgRklMVEVSOiB7XHJcbiAgICAgICAgVVNFUl9JRDogaWRzVXNlcnMsXHJcbiAgICAgICAgJz49Q1JFQVRFRF9EQVRFJzogZGF0ZVN0YXJ0LnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICAgICc8PUNSRUFURURfREFURSc6IGRhdGVFbmQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1JyksXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRlbGVnYXRlLmdldExpc3QocGFyYW0pXHJcbiAgfVxyXG5cclxuICBnZXRMaXN0QnlJRFRhc2soaWRzOiBudW1iZXJbXSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQsIGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW1IdHRwPlxyXG4gICAgKFxyXG4gICAgICBpZHMubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBuYW1lOiB0aGlzLmh0dHAuZ2V0TmFtZU1ldGhvZChbJHRhc2ssICRlbGFwc2VkaXRlbSwgJGdldGxpc3RdKSxcclxuICAgICAgICAgIHBhcmFtOiB7XHJcbiAgICAgICAgICAgIFRBU0tJRDogaVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgIGlmICh2ICYmIHYubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb25zdCByZXMgPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0V2l0aG91dEtleSh2KVxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TWFwRWxhcHNlZEl0ZW0uZ2V0TGlzdChyZXMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrQXJyKHRhc2tzOiBudW1iZXJbXSkge1xyXG4gICAgbGV0IHJlcXVlc3Q6IHsgW2tleTogbnVtYmVyXTogT2JzZXJ2YWJsZTxib29sZWFuPiB9ID0gT2JqZWN0LmFzc2lnbih7fSwgLi4udGFza3MubWFwKGkgPT4ge1xyXG4gICAgICByZXR1cm4ge1tpXTogdGhpcy5jaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpKX1cclxuICAgIH0pKVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3QpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgbWVyZ2VNYXAodiA9PiB7XHJcbiAgICAgICAgICBsZXQgZm9yRm9yZWFjaCA9IE9iamVjdC5lbnRyaWVzKHYpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgaWYgKGZvckZvcmVhY2guZmluZChpID0+IGkudmFsdWUgPT09IHVuZGVmaW5lZCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsZXQgZm9yRm9yZWFjaEhhdmUgPSBmb3JGb3JlYWNoLmZpbHRlcihpID0+IGkudmFsdWUgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgbGV0IGZvckZvcmVhY2hOb3RIYXZlID0gZm9yRm9yZWFjaC5maWx0ZXIoaSA9PiBpLnZhbHVlID09PSB1bmRlZmluZWQpIC8vINGC0YPRgiDQv9C+0LvRg9GH0LDQtdC8INCy0YHQtSBpZCDQvdC1INGB0L7RhdGA0LDQvdC10L3QvdGL0YUg0YMg0L3QsNGBINC/0YDQsNCyXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlJc0FjdGlvbkFsbG93ZWRQYXJhbSwgYm9vbGVhbj4oXHJcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4uZm9yRm9yZWFjaE5vdEhhdmVcclxuICAgICAgICAgICAgICAgIC5tYXAoaSA9PiBpLmlkKVxyXG4gICAgICAgICAgICAgICAgLm1hcChpID0+IHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBbaV06IHtcclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFzaywgJGVsYXBzZWRpdGVtLCAkaXNhY3Rpb25hbGxvd2VkXSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBUQVNLSUQ6IGksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElURU1JRDogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgQUNUSU9OSUQ6IDFcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzOiB7IFtwOiBudW1iZXJdOiBib29sZWFuIH0gPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0KHYpXHJcbiAgICAgICAgICAgICAgICAgIGZvckZvcmVhY2hOb3RIYXZlID0gT2JqZWN0LmVudHJpZXMocmVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGZvckZvcmVhY2hIYXZlLCBmb3JGb3JlYWNoTm90SGF2ZSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoZm9yRm9yZWFjaClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG5cclxuICBjaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpZFRhc2s6IG51bWJlcikge1xyXG4gICAgLy8gbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICAvLyBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgLy8gICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAvLyAgIGlmIChmaW5kVGFzaz8ucGVybWlzc2lvbikge1xyXG4gICAgLy8gICAgIHJldHVybiBvZihmaW5kVGFzay5wZXJtaXNzaW9uWydFTEFQU0VEVElNRS5BREQnXSlcclxuICAgIC8vICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVVzZXIuY3VycmVudCgpLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VsZikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0QWNjZXNzKFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBpZFRhc2ssXHJcbiAgICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgICAgfSkucmVzdWx0KCkucGlwZShcclxuICAgICAgICAgICAgICAvLyB0YXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgICAvLyAgICAgICB0YXNrczogW3tpZDogaWRUYXNrLCBwZXJtaXNzaW9uOiB2W3NlbGYuSURdLCBlbGFwc2VkSXRlbTogW119XVxyXG4gICAgICAgICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAgIC8vIH0pLFxyXG4gICAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF1bJ0VMQVBTRURUSU1FLkFERCddIDogZmFsc2VcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8vINCy0L7QvtCx0YnQtSDQvNC10YLQvtC0INC/0L7RhdC+0LbQtSDQtNCw0LbQtSDQvdCwINCy0YDQtdC00L3Ri9C5INCyINC60LDQutC+0LzRgtC+INGB0LzRi9GB0LvQtVxyXG4gIGNoZWNrUGVybWlzc2lvblJlYWRUYXNrKGlkVGFzazogbnVtYmVyKSB7XHJcbiAgICAvLyBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIC8vIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAvLyAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgIC8vICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdpZFRhc2snLCBpZFRhc2spXHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzdWx0KCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWxmJywgc2VsZilcclxuICAgICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRBY2Nlc3MoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgICAgICAgIC8vIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAvLyAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgICAvLyAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAgIC8vICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgICAgLy8gICAgIH0pXHJcbiAgICAgICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAgICAgLy8gfSksXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3YnLCB2KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gISF2W3NlbGYuSURdIDogZmFsc2UgLy8g0L7RgtC00LXQu9GM0L3QvtCz0L4g0YTQu9Cw0LPQsCDQvdCwINGH0YLQtdC90LjQtSDQvdC10YIsINCy0YvRhdC+0LTQuNGCINGH0YLQviDQtdGB0LvQuCDQv9GA0LDQstCwINC+0YLQtNCw0LvQuNGB0Ywg0YLQviDQuCDQv9GA0LDQstCwINC10YHRgtGMXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,24 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Navvy } from '../services/navvy';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../request/timeman";
5
+ import * as i2 from "../map/timeman";
6
+ export class BXRestNavvyTimeMan {
7
+ constructor(BXRestTimeMan, BXRestMapTimeMan) {
8
+ this.BXRestTimeMan = BXRestTimeMan;
9
+ this.BXRestMapTimeMan = BXRestMapTimeMan;
10
+ this.Navvy = new Navvy(BXRestTimeMan, BXRestMapTimeMan);
11
+ }
12
+ status(param = undefined) {
13
+ return this.Navvy.simpleWithArg(this.BXRestTimeMan.status, param, this.BXRestMapTimeMan.status);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, deps: [{ token: i1.BXRestTimeMan }, { token: i2.BXRestMapTimeMan }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, providedIn: 'root' }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root'
22
+ }]
23
+ }], ctorParameters: function () { return [{ type: i1.BXRestTimeMan }, { type: i2.BXRestMapTimeMan }]; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW1hbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdGltZW1hbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7OztBQU96QyxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQ1UsYUFBNEIsRUFDNUIsZ0JBQWtDO1FBRGxDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQStDLFNBQVM7UUFDN0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQ3pCLEtBQUssRUFDTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUM3QixDQUFBO0lBQ0gsQ0FBQzsrR0FqQlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UaW1lTWFuU3RhdHVzIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGltZW1hbi9zdGF0dXMnXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXHJcbmltcG9ydCB7IEJYUmVzdFRpbWVNYW4gfSBmcm9tICcuLi9yZXF1ZXN0L3RpbWVtYW4nXHJcbmltcG9ydCB7IEJYUmVzdE1hcFRpbWVNYW4gfSBmcm9tICcuLi9tYXAvdGltZW1hbidcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5VGltZU1hbiB7XHJcblxyXG4gIHByb3RlY3RlZCBOYXZ2eTogTmF2dnk8QlhSZXN0VGltZU1hbiwgQlhSZXN0TWFwVGltZU1hbj5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdFRpbWVNYW46IEJYUmVzdFRpbWVNYW4sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcFRpbWVNYW46IEJYUmVzdE1hcFRpbWVNYW5cclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkoQlhSZXN0VGltZU1hbiwgQlhSZXN0TWFwVGltZU1hbilcclxuICB9XHJcblxyXG4gIHN0YXR1cyhwYXJhbTogaUJYUmVzdFBhcmFtVGltZU1hblN0YXR1cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCl7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKFxyXG4gICAgICB0aGlzLkJYUmVzdFRpbWVNYW4uc3RhdHVzLFxyXG4gICAgICBwYXJhbSxcclxuICAgICAgdGhpcy5CWFJlc3RNYXBUaW1lTWFuLnN0YXR1c1xyXG4gICAgKVxyXG4gIH1cclxufVxyXG5cclxuIl19