bx-rest 0.9.2 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/map/im/recent.mjs +1 -1
- package/esm2022/public-api.mjs +2 -6
- package/esm2022/request/app.mjs +2 -3
- package/esm2022/request/bizproc/activity.mjs +1 -1
- package/esm2022/request/bizproc/event.mjs +1 -1
- package/esm2022/request/bizproc/robot.mjs +1 -1
- package/esm2022/request/bizproc/task.mjs +1 -1
- package/esm2022/request/bizproc/workflow/instance.mjs +1 -1
- package/esm2022/request/bizproc/workflow/template.mjs +1 -1
- package/esm2022/request/department.mjs +8 -3
- package/esm2022/request/disk/attachedObject.mjs +5 -3
- package/esm2022/request/disk/file.mjs +6 -3
- package/esm2022/request/disk/folder.mjs +16 -3
- package/esm2022/request/lists/element.mjs +6 -3
- package/esm2022/request/log/blogcomment.mjs +1 -1
- package/esm2022/request/log/blogpost.mjs +6 -3
- package/esm2022/request/server.mjs +5 -3
- package/esm2022/request/socialnetwork/api/contentview.mjs +5 -3
- package/esm2022/request/socialnetwork/api/livefeed/blogpost/important.mjs +5 -3
- package/esm2022/request/socialnetwork.mjs +1 -2
- package/esm2022/request/sonet_group.mjs +5 -3
- package/esm2022/request/task/elapseditem.mjs +9 -3
- package/esm2022/request/task/item/userfield.mjs +5 -3
- package/esm2022/request/task/planner.mjs +3 -3
- package/esm2022/request/tasks/task/result.mjs +7 -3
- package/esm2022/request/tasks/task.mjs +13 -3
- package/esm2022/request/user/userfield.mjs +5 -3
- package/esm2022/request/user.mjs +11 -3
- package/esm2022/request-navvy/disk/attachedObject.mjs +3 -3
- package/esm2022/request-navvy/socialnetwork/api/contentview.mjs +3 -3
- package/esm2022/request-navvy/task/commentitem.mjs +9 -3
- package/esm2022/request-navvy/task/operation/elapseditem.mjs +67 -37
- package/esm2022/services/http/HttpBX.mjs +21 -14
- package/esm2022/services/http/http.mjs +52 -53
- package/esm2022/services/http/sessionKey.mjs +152 -52
- package/fesm2022/bx-rest.mjs +567 -1055
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -5
- package/request/department.d.ts +6 -1
- package/request/disk/attachedObject.d.ts +3 -1
- package/request/disk/file.d.ts +4 -1
- package/request/disk/folder.d.ts +14 -1
- package/request/lists/element.d.ts +4 -1
- package/request/log/blogpost.d.ts +4 -1
- package/request/server.d.ts +3 -1
- package/request/sonet_group.d.ts +3 -1
- package/request/task/elapseditem.d.ts +7 -1
- package/request/tasks/task/result.d.ts +5 -1
- package/request/tasks/task.d.ts +11 -1
- package/request/user/userfield.d.ts +3 -1
- package/request/user.d.ts +9 -1
- package/request-navvy/task/commentitem.d.ts +7 -1
- package/request-navvy/task/operation/elapseditem.d.ts +9 -10
- package/services/http/http.d.ts +1 -1
- package/services/http/sessionKey.d.ts +16 -2
- package/esm2022/typification/base/methods.mjs +0 -700
- package/typification/base/methods.d.ts +0 -6
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { HttpBXServices } from '../../../services/http/HttpBX';
|
|
2
|
-
import {
|
|
2
|
+
import { $list, $result, $task, $tasks } from '../../../consts/part-name-methods';
|
|
3
3
|
export class BXRestTasksTaskResult {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.url =
|
|
5
|
+
this.url = {
|
|
6
|
+
list: [$tasks, $task, $result, $list],
|
|
7
|
+
addFromComment: [$tasks, $task, $result, 'addFromComment'],
|
|
8
|
+
deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'],
|
|
9
|
+
};
|
|
6
10
|
this.http = new HttpBXServices();
|
|
7
11
|
}
|
|
8
12
|
deleteFromComment(commentID) {
|
|
@@ -15,4 +19,4 @@ export class BXRestTasksTaskResult {
|
|
|
15
19
|
return this.http.post(this.url.list, param);
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC90YXNrcy90YXNrL3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFNOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRWpGLE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDWSxRQUFHLEdBQUc7WUFDZCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDckMsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztTQUNqRSxDQUFBO1FBQ2dCLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO0lBYTlDLENBQUM7SUFYQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtJQUNqRixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQXFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTZCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ25GLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBc0M7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBK0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDM0UsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHtcclxuICBpQlhQYXJhbVJlc3RUYXNrc1Rhc2tSZXN1bHRBZGQsXHJcbiAgaUJYUmVzdFRhc2tzVGFza1Jlc3VsdEh0dHBcclxufSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL3Jlc3VsdC9yZXN1bHQnXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tSZXN1bHRMaXN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvcmVzdWx0L2xpc3QnXG5pbXBvcnQgeyAkbGlzdCwgJHJlc3VsdCwgJHRhc2ssICR0YXNrcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcblxuZXhwb3J0IGNsYXNzIEJYUmVzdFRhc2tzVGFza1Jlc3VsdCB7XG4gIHByb3RlY3RlZCB1cmwgPSB7XG4gICAgbGlzdDogWyR0YXNrcywgJHRhc2ssICRyZXN1bHQsICRsaXN0XSxcbiAgICBhZGRGcm9tQ29tbWVudDogWyR0YXNrcywgJHRhc2ssICRyZXN1bHQsICdhZGRGcm9tQ29tbWVudCddLFxuICAgIGRlbGV0ZUZyb21Db21tZW50OiBbJHRhc2tzLCAkdGFzaywgJHJlc3VsdCwgJ2RlbGV0ZUZyb21Db21tZW50J10sXG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gbmV3IEh0dHBCWFNlcnZpY2VzKClcblxyXG4gIGRlbGV0ZUZyb21Db21tZW50KGNvbW1lbnRJRDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy51cmwuZGVsZXRlRnJvbUNvbW1lbnQsIHtjb21tZW50SWQ6IGNvbW1lbnRJRH0pXHJcbiAgfVxyXG5cclxuICBhZGRGcm9tQ29tbWVudChwYXJhbTogaUJYUGFyYW1SZXN0VGFza3NUYXNrUmVzdWx0QWRkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza1Jlc3VsdEh0dHA+KHRoaXMudXJsLmFkZEZyb21Db21tZW50LCBwYXJhbSlcclxuICB9XHJcblxyXG4gIGxpc3QocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza1Jlc3VsdExpc3QpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrUmVzdWx0SHR0cFtdPih0aGlzLnVybC5saXN0LCBwYXJhbSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { HttpBXServices } from '../../services/http/HttpBX';
|
|
2
2
|
import { BXRestTasksTaskResult } from './task/result';
|
|
3
|
-
import {
|
|
3
|
+
import { $add, $approve, $complete, $defer, $get, $getaccess, $getFields, $list, $task, $tasks, $update } from '../../consts/part-name-methods';
|
|
4
4
|
export class BXRestTasksTask {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.url =
|
|
6
|
+
this.url = {
|
|
7
|
+
add: [$tasks, $task, $add],
|
|
8
|
+
approve: [$tasks, $task, $approve],
|
|
9
|
+
complete: [$tasks, $task, $complete],
|
|
10
|
+
defer: [$tasks, $task, $defer],
|
|
11
|
+
get: [$tasks, $task, $get],
|
|
12
|
+
getFields: [$tasks, $task, $getFields],
|
|
13
|
+
getAccess: [$tasks, $task, $getaccess],
|
|
14
|
+
list: [$tasks, $task, $list],
|
|
15
|
+
update: [$tasks, $task, $update],
|
|
16
|
+
};
|
|
7
17
|
this.result = new BXRestTasksTaskResult();
|
|
8
18
|
this.http = new HttpBXServices();
|
|
9
19
|
}
|
|
@@ -97,4 +107,4 @@ export class BXRestTasksTask {
|
|
|
97
107
|
return this.http.post(this.url.getAccess, param);
|
|
98
108
|
}
|
|
99
109
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdGFza3MvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFlM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBS3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUd6RCxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUVZLFFBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQTtRQUVsQixXQUFNLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO1FBQ25DLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO0lBc0c5QyxDQUFDO0lBcEdDLEdBQUcsQ0FBdUMsS0FBd0M7UUFDaEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEcsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFtQztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEwRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN6RyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW9DO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTJELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzNHLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDckcsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFrQztRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF3RCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0RyxDQUFDO0lBRUQsR0FBRyxDQUEwRSxLQUE2QztRQUN4SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBRUQsSUFBSSxDQUEwRSxLQUEwQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUE0QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE2REU7SUFFRixTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQWdDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tBZGQgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2FkZCdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0VGFza3NUYXNrR2V0SHR0cCxcclxuICBpQlhSZXN0VGFza3NUYXNrR2V0SHR0cERlZmF1bHRcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2dldCdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0UGFyYW1UYXNrc0xpc3QsIGlCWFJlc3RUYXNrc1Rhc2tMaXN0SHR0cCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svbGlzdCdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcywgaUJYUmVzdFRhc2tHZXRBY2Nlc3MgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2FjY2Vzcy9nZXRhY2Nlc3MnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tzVGFza0FwcHJvdmUsIGlCWFJlc3RUYXNrc1Rhc2tBcHByb3ZlSHR0cCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svYXBwcm92ZSdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tDb21wbGV0ZSxcclxuICBpQlhSZXN0VGFza3NUYXNrQ29tcGxldGVIdHRwXHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9jb21wbGV0ZSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrRGVmZXIsIGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2RlZmVyJ1xyXG5pbXBvcnQgeyBCWFJlc3RUYXNrc1Rhc2tSZXN1bHQgfSBmcm9tICcuL3Rhc2svcmVzdWx0J1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tHZXQgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2dldCdcclxuaW1wb3J0IHsgaUJYUmVzdFRhc2tzVGFza0dldEZpZWxkcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svZ2V0RmllbGRzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tVcGRhdGUgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL3VwZGF0ZSdcclxuaW1wb3J0IHsgaUJYUmVzdFRhc2tGaWVsZHNOYW1lIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvYmFzZS9maWVsZHMtbmFtZSdcclxuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9iYXNlL21ldGhvZHMnXHJcbmltcG9ydCB7IGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9iYXNlJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdFRhc2tzVGFzayB7XHJcblxyXG4gIHByb3RlY3RlZCB1cmwgPSBtZXRob2RzLnRhc2tzLnRhc2tcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHJlc3VsdCA9IG5ldyBCWFJlc3RUYXNrc1Rhc2tSZXN1bHQoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IG5ldyBIdHRwQlhTZXJ2aWNlcygpXHJcblxyXG4gIGFkZDxDdXN0b21GaWVsZHMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+KHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrQWRkPEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrQmFzZUFuc3dlcjxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cERlZmF1bHQ+Pih0aGlzLnVybC5hZGQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgYXBwcm92ZShwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrQXBwcm92ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tBcHByb3ZlSHR0cD4+KHRoaXMudXJsLmFwcHJvdmUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgY29tcGxldGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza0NvbXBsZXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0Jhc2VBbnN3ZXI8aUJYUmVzdFRhc2tzVGFza0NvbXBsZXRlSHR0cD4+KHRoaXMudXJsLmNvbXBsZXRlLCBwYXJhbSlcclxuICB9XHJcblxyXG4gIGRlZmVyKHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tEZWZlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC5kZWZlciwgcGFyYW0pXHJcbiAgfVxyXG5cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza1VwZGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC51cGRhdGUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgZ2V0PFMgZXh0ZW5kcyBpQlhSZXN0VGFza0ZpZWxkc05hbWVbXSwgQ3VzdG9tRmllbGRzIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PihwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrR2V0PEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cDxTLCBDdXN0b21GaWVsZHM+Pih0aGlzLnVybC5nZXQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgbGlzdDxTIGV4dGVuZHMgaUJYUmVzdFRhc2tGaWVsZHNOYW1lW10sIEN1c3RvbUZpZWxkcyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzTGlzdDxDdXN0b21GaWVsZHM+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0xpc3RIdHRwPFMsIEN1c3RvbUZpZWxkcz4+KHRoaXMudXJsLmxpc3QsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBsaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0KHJlcXVlc3RBcnJheSkucGlwZShcclxuICAgICAgbWFwKHYgPT4gdGhpcy5odHRwLm1hcFJlc3VsdCh2KSksXHJcbiAgICAgIG1hcCh2ID0+ICh2ICYmIHYudGFza3MpID8gdi50YXNrcyA6IFtdKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbGlzdEFsbChyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30sIGNhY2hlID0gZmFsc2UpOiBPYnNlcnZhYmxlPFRhc2tCWFtdPiB7XHJcbiAgICBpZiAoIXJlcXVlc3RBcnJheS5zZWxlY3QpIHtcclxuICAgICAgcmVxdWVzdEFycmF5LnNlbGVjdCA9IHRoaXMuZGVmLnNlbGVjdFxyXG4gICAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZVRhc2skLnBpcGUoXHJcbiAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgbWVyZ2VNYXAodGFza3MgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGFza3MgJiYgdGFza3MuZGF0YS5odHRwLmxpc3QgJiYgcmVxdWVzdEFycmF5LmZpbHRlciAmJiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaWRzID0gKHR5cGVvZiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEID09PSAnbnVtYmVyJykgPyBbcmVxdWVzdEFycmF5LmZpbHRlci5JRF0gOiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEXHJcbiAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IHRhc2tzLmRhdGEuaHR0cC5saXN0LmZpbHRlcihpID0+IChpLmlkKSA/IGlkcy5pbmNsdWRlcyhpLmlkKSA6IGZhbHNlKVxyXG4gICAgICAgICAgICAgIGlmIChmaWx0ZXIubGVuZ3RoID09PSBpZHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmlsdGVyKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpXHJcbiAgfVxyXG5cclxuICBnZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCk6IE9ic2VydmFibGU8VGFza0JYW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxpc3QocmVxdWVzdEFycmF5KS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoaXRlbXM6IEFuc3dlckFwaVRhc2tCWCB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGVJbnB1dDxhbnk+IHwgT2JzZXJ2YWJsZTxBbnN3ZXJBcGlUYXNrQlhbXT4gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5yZXN1bHQgJiYgdHlwZW9mIGl0ZW1zLnJlc3VsdC50YXNrcyA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW1zJCA9IG9mKGl0ZW1zLnJlc3VsdC50YXNrcylcclxuICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgICAgdG90YWw6IChpdGVtcy50b3RhbCkgPyBpdGVtcy50b3RhbCA6IDAsXHJcbiAgICAgICAgICAgICAgbmV4dDogaXRlbXMubmV4dFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICByZXF1ZXN0QXJyYXkuc3RhcnQgPSBpdGVtcy5uZXh0XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHZFbmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0LnRhc2tzKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uaXRlbXMucmVzdWx0LnRhc2tzLCAuLi52RW5kXVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChpdGVtcy5yZXN1bHQudGFza3MpID8gaXRlbXMucmVzdWx0LnRhc2tzIDogW11cclxuICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgIHRvdGFsOiAwLFxyXG4gICAgICAgICAgICBuZXh0OiAwXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgcmV0dXJuIGl0ZW1zJFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuICAqL1xyXG5cclxuICBnZXRGaWVsZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0dldEZpZWxkcz4odGhpcy51cmwuZ2V0RmllbGRzKVxyXG4gIH1cclxuXHJcblxyXG4gIGdldEFjY2VzcyhwYXJhbTogaUJYUmVzdFBhcmFtVGFza0dldEFjY2Vzcykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrR2V0QWNjZXNzPih0aGlzLnVybC5nZXRBY2Nlc3MsIHBhcmFtKVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdGFza3MvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFlM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBTXJELE9BQU8sRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sSUFBSSxFQUNKLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUNSLE1BQU0sZ0NBQWdDLENBQUE7QUFFdkMsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFFWSxRQUFHLEdBQUc7WUFDZCxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztZQUMxQixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztZQUNsQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztZQUNwQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUM5QixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztZQUMxQixTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQztZQUN0QyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQztZQUN0QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1QixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztTQUNqQyxDQUFBO1FBRWUsV0FBTSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQTtRQUNuQyxTQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQTtJQXNHOUMsQ0FBQztJQXBHQyxHQUFHLENBQXVDLEtBQXdDO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTZELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hHLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBbUM7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDekcsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFvQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUMzRyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3JHLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBa0M7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEcsQ0FBQztJQUVELEdBQUcsQ0FBMEUsS0FBNkM7UUFDeEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEYsQ0FBQztJQUVELElBQUksQ0FBMEUsS0FBMEM7UUFDdEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEYsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BNkRFO0lBRUYsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTRCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFnQztRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQlhTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrQWRkIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9hZGQnXHJcbmltcG9ydCB7XHJcbiAgaUJYUmVzdFRhc2tzVGFza0dldEh0dHAsXHJcbiAgaUJYUmVzdFRhc2tzVGFza0dldEh0dHBEZWZhdWx0XHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9nZXQnXHJcbmltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtVGFza3NMaXN0LCBpQlhSZXN0VGFza3NUYXNrTGlzdEh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2xpc3QnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3MsIGlCWFJlc3RUYXNrR2V0QWNjZXNzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9hY2Nlc3MvZ2V0YWNjZXNzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tBcHByb3ZlLCBpQlhSZXN0VGFza3NUYXNrQXBwcm92ZUh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2FwcHJvdmUnXHJcbmltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtVGFza3NUYXNrQ29tcGxldGUsXHJcbiAgaUJYUmVzdFRhc2tzVGFza0NvbXBsZXRlSHR0cFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svY29tcGxldGUnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tzVGFza0RlZmVyLCBpQlhSZXN0VGFza3NUYXNrRGVmZXJIdHRwIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9kZWZlcidcclxuaW1wb3J0IHsgQlhSZXN0VGFza3NUYXNrUmVzdWx0IH0gZnJvbSAnLi90YXNrL3Jlc3VsdCdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrR2V0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9nZXQnXHJcbmltcG9ydCB7IGlCWFJlc3RUYXNrc1Rhc2tHZXRGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2dldEZpZWxkcydcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrVXBkYXRlIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay91cGRhdGUnXG5pbXBvcnQgeyBpQlhSZXN0VGFza0ZpZWxkc05hbWUgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy9iYXNlL2ZpZWxkcy1uYW1lJ1xuaW1wb3J0IHsgaUJYUmVzdFRhc2tzVGFza0Jhc2VBbnN3ZXIgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2Jhc2UnXG5pbXBvcnQge1xuICAkYWRkLFxuICAkYXBwcm92ZSxcbiAgJGNvbXBsZXRlLFxuICAkZGVmZXIsXG4gICRnZXQsXG4gICRnZXRhY2Nlc3MsXG4gICRnZXRGaWVsZHMsXG4gICRsaXN0LFxuICAkdGFzayxcbiAgJHRhc2tzLFxuICAkdXBkYXRlXG59IGZyb20gJy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcblxyXG5leHBvcnQgY2xhc3MgQlhSZXN0VGFza3NUYXNrIHtcclxuXHJcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBhZGQ6IFskdGFza3MsICR0YXNrLCAkYWRkXSxcbiAgICBhcHByb3ZlOiBbJHRhc2tzLCAkdGFzaywgJGFwcHJvdmVdLFxuICAgIGNvbXBsZXRlOiBbJHRhc2tzLCAkdGFzaywgJGNvbXBsZXRlXSxcbiAgICBkZWZlcjogWyR0YXNrcywgJHRhc2ssICRkZWZlcl0sXG4gICAgZ2V0OiBbJHRhc2tzLCAkdGFzaywgJGdldF0sXG4gICAgZ2V0RmllbGRzOiBbJHRhc2tzLCAkdGFzaywgJGdldEZpZWxkc10sXG4gICAgZ2V0QWNjZXNzOiBbJHRhc2tzLCAkdGFzaywgJGdldGFjY2Vzc10sXG4gICAgbGlzdDogWyR0YXNrcywgJHRhc2ssICRsaXN0XSxcbiAgICB1cGRhdGU6IFskdGFza3MsICR0YXNrLCAkdXBkYXRlXSxcbiAgfVxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHJlc3VsdCA9IG5ldyBCWFJlc3RUYXNrc1Rhc2tSZXN1bHQoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IG5ldyBIdHRwQlhTZXJ2aWNlcygpXHJcblxyXG4gIGFkZDxDdXN0b21GaWVsZHMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+KHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrQWRkPEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrQmFzZUFuc3dlcjxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cERlZmF1bHQ+Pih0aGlzLnVybC5hZGQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgYXBwcm92ZShwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrQXBwcm92ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tBcHByb3ZlSHR0cD4+KHRoaXMudXJsLmFwcHJvdmUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgY29tcGxldGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza0NvbXBsZXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0Jhc2VBbnN3ZXI8aUJYUmVzdFRhc2tzVGFza0NvbXBsZXRlSHR0cD4+KHRoaXMudXJsLmNvbXBsZXRlLCBwYXJhbSlcclxuICB9XHJcblxyXG4gIGRlZmVyKHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tEZWZlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC5kZWZlciwgcGFyYW0pXHJcbiAgfVxyXG5cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza1VwZGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC51cGRhdGUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgZ2V0PFMgZXh0ZW5kcyBpQlhSZXN0VGFza0ZpZWxkc05hbWVbXSwgQ3VzdG9tRmllbGRzIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PihwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrR2V0PEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cDxTLCBDdXN0b21GaWVsZHM+Pih0aGlzLnVybC5nZXQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgbGlzdDxTIGV4dGVuZHMgaUJYUmVzdFRhc2tGaWVsZHNOYW1lW10sIEN1c3RvbUZpZWxkcyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzTGlzdDxDdXN0b21GaWVsZHM+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0xpc3RIdHRwPFMsIEN1c3RvbUZpZWxkcz4+KHRoaXMudXJsLmxpc3QsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBsaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0KHJlcXVlc3RBcnJheSkucGlwZShcclxuICAgICAgbWFwKHYgPT4gdGhpcy5odHRwLm1hcFJlc3VsdCh2KSksXHJcbiAgICAgIG1hcCh2ID0+ICh2ICYmIHYudGFza3MpID8gdi50YXNrcyA6IFtdKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbGlzdEFsbChyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30sIGNhY2hlID0gZmFsc2UpOiBPYnNlcnZhYmxlPFRhc2tCWFtdPiB7XHJcbiAgICBpZiAoIXJlcXVlc3RBcnJheS5zZWxlY3QpIHtcclxuICAgICAgcmVxdWVzdEFycmF5LnNlbGVjdCA9IHRoaXMuZGVmLnNlbGVjdFxyXG4gICAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZVRhc2skLnBpcGUoXHJcbiAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgbWVyZ2VNYXAodGFza3MgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGFza3MgJiYgdGFza3MuZGF0YS5odHRwLmxpc3QgJiYgcmVxdWVzdEFycmF5LmZpbHRlciAmJiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaWRzID0gKHR5cGVvZiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEID09PSAnbnVtYmVyJykgPyBbcmVxdWVzdEFycmF5LmZpbHRlci5JRF0gOiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEXHJcbiAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IHRhc2tzLmRhdGEuaHR0cC5saXN0LmZpbHRlcihpID0+IChpLmlkKSA/IGlkcy5pbmNsdWRlcyhpLmlkKSA6IGZhbHNlKVxyXG4gICAgICAgICAgICAgIGlmIChmaWx0ZXIubGVuZ3RoID09PSBpZHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmlsdGVyKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpXHJcbiAgfVxyXG5cclxuICBnZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCk6IE9ic2VydmFibGU8VGFza0JYW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxpc3QocmVxdWVzdEFycmF5KS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoaXRlbXM6IEFuc3dlckFwaVRhc2tCWCB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGVJbnB1dDxhbnk+IHwgT2JzZXJ2YWJsZTxBbnN3ZXJBcGlUYXNrQlhbXT4gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5yZXN1bHQgJiYgdHlwZW9mIGl0ZW1zLnJlc3VsdC50YXNrcyA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW1zJCA9IG9mKGl0ZW1zLnJlc3VsdC50YXNrcylcclxuICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgICAgdG90YWw6IChpdGVtcy50b3RhbCkgPyBpdGVtcy50b3RhbCA6IDAsXHJcbiAgICAgICAgICAgICAgbmV4dDogaXRlbXMubmV4dFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICByZXF1ZXN0QXJyYXkuc3RhcnQgPSBpdGVtcy5uZXh0XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHZFbmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0LnRhc2tzKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uaXRlbXMucmVzdWx0LnRhc2tzLCAuLi52RW5kXVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChpdGVtcy5yZXN1bHQudGFza3MpID8gaXRlbXMucmVzdWx0LnRhc2tzIDogW11cclxuICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgIHRvdGFsOiAwLFxyXG4gICAgICAgICAgICBuZXh0OiAwXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgcmV0dXJuIGl0ZW1zJFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuICAqL1xyXG5cclxuICBnZXRGaWVsZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0dldEZpZWxkcz4odGhpcy51cmwuZ2V0RmllbGRzKVxyXG4gIH1cclxuXHJcblxyXG4gIGdldEFjY2VzcyhwYXJhbTogaUJYUmVzdFBhcmFtVGFza0dldEFjY2Vzcykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrR2V0QWNjZXNzPih0aGlzLnVybC5nZXRBY2Nlc3MsIHBhcmFtKVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { HttpBXServices } from '../../services/http/HttpBX';
|
|
2
|
-
import {
|
|
2
|
+
import { $list, $user, $userfield } from '../../consts/part-name-methods';
|
|
3
3
|
export class BXRestUserUserfield {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.url =
|
|
5
|
+
this.url = {
|
|
6
|
+
list: [$user, $userfield, $list],
|
|
7
|
+
};
|
|
6
8
|
this.http = new HttpBXServices();
|
|
7
9
|
}
|
|
8
10
|
list() {
|
|
9
11
|
return this.http.post(this.url.list);
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC91c2VyL3VzZXJmaWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFekUsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNZLFFBQUcsR0FBRztZQUNkLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDO1NBQ2pDLENBQUE7UUFDZ0IsU0FBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUE7SUFLOUMsQ0FBQztJQUhDLElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF5QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXG5pbXBvcnQgeyBpQlhSZXN0VXNlclVzZXJGaWVsZCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvdXNlcmZpZWxkL2xpc3QnXG5pbXBvcnQgeyAkbGlzdCwgJHVzZXIsICR1c2VyZmllbGQgfSBmcm9tICcuLi8uLi9jb25zdHMvcGFydC1uYW1lLW1ldGhvZHMnXG5cbmV4cG9ydCBjbGFzcyBCWFJlc3RVc2VyVXNlcmZpZWxkIHtcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBsaXN0OiBbJHVzZXIsICR1c2VyZmllbGQsICRsaXN0XSxcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBuZXcgSHR0cEJYU2VydmljZXMoKVxuXHJcbiAgbGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlclVzZXJGaWVsZFtdPih0aGlzLnVybC5saXN0KVxyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/request/user.mjs
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { HttpBXServices } from '../services/http/HttpBX';
|
|
2
2
|
import { BXRestUserUserfield } from './user/userfield';
|
|
3
|
-
import {
|
|
3
|
+
import { $get, $search, $update, $user } from '../consts/part-name-methods';
|
|
4
4
|
export class BXRestUser {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.http = new HttpBXServices();
|
|
7
7
|
this.userfield = new BXRestUserUserfield();
|
|
8
|
-
this.url =
|
|
8
|
+
this.url = {
|
|
9
|
+
admin: [$user, 'admin'],
|
|
10
|
+
get: [$user, $get],
|
|
11
|
+
current: [$user, 'current'],
|
|
12
|
+
update: [$user, $update],
|
|
13
|
+
search: [$user, $search],
|
|
14
|
+
access: [$user, 'access'],
|
|
15
|
+
fields: [$user, 'fields'],
|
|
16
|
+
};
|
|
9
17
|
}
|
|
10
18
|
admin() {
|
|
11
19
|
return this.http.post(this.url.admin);
|
|
@@ -29,4 +37,4 @@ export class BXRestUser {
|
|
|
29
37
|
return this.http.post(this.url.fields);
|
|
30
38
|
}
|
|
31
39
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFHeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRTNFLE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBQ21CLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO1FBQzVCLGNBQVMsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUE7UUFFM0MsUUFBRyxHQUFHO1lBQ2QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN2QixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7WUFDM0IsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7WUFDekIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztTQUMxQixDQUFBO0lBb0NILENBQUM7SUFsQ0MsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsR0FBRyxDQUFDLFNBQThCLEVBQUU7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FFbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQ1osTUFBTSxDQUNQLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQ2YsSUFBSSxDQUNMLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW9CLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBdUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyR2V0IH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlcidcclxuaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHsgaUJYUmVzdFVzZXJIdHRwLCBpQlhSZXN0VXNlckh0dHBGaWVsZCB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXInXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyU2VhcmNoIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlcidcbmltcG9ydCB7IEJYUmVzdFVzZXJVc2VyZmllbGQgfSBmcm9tICcuL3VzZXIvdXNlcmZpZWxkJ1xuaW1wb3J0IHsgJGdldCwgJHNlYXJjaCwgJHVwZGF0ZSwgJHVzZXIgfSBmcm9tICcuLi9jb25zdHMvcGFydC1uYW1lLW1ldGhvZHMnXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdFVzZXIge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IG5ldyBIdHRwQlhTZXJ2aWNlcygpXHJcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJmaWVsZCA9IG5ldyBCWFJlc3RVc2VyVXNlcmZpZWxkKClcclxuXHJcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBhZG1pbjogWyR1c2VyLCAnYWRtaW4nXSxcbiAgICBnZXQ6IFskdXNlciwgJGdldF0sXG4gICAgY3VycmVudDogWyR1c2VyLCAnY3VycmVudCddLFxuICAgIHVwZGF0ZTogWyR1c2VyLCAkdXBkYXRlXSxcbiAgICBzZWFyY2g6IFskdXNlciwgJHNlYXJjaF0sXG4gICAgYWNjZXNzOiBbJHVzZXIsICdhY2Nlc3MnXSxcbiAgICBmaWVsZHM6IFskdXNlciwgJ2ZpZWxkcyddLFxuICB9XG5cclxuICBhZG1pbigpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxib29sZWFuPih0aGlzLnVybC5hZG1pbilcclxuICB9XHJcblxyXG4gIGdldChwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdPlxyXG4gICAgKFxyXG4gICAgICB0aGlzLnVybC5nZXQsXHJcbiAgICAgIHBhcmFtc1xyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgY3VycmVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHA+KHRoaXMudXJsLmN1cnJlbnQsIHt9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHVzZXI6IGlCWFJlc3RQYXJhbVVzZXJHZXQpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHBbXT4oXHJcbiAgICAgIHRoaXMudXJsLnVwZGF0ZSxcclxuICAgICAgdXNlclxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlclNlYXJjaCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdPih0aGlzLnVybC5zZWFyY2gsIHBhcmFtcylcclxuICB9XHJcblxyXG4gIGFjY2VzcyhhY2Nlc3M6IHN0cmluZ1tdKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4odGhpcy51cmwuYWNjZXNzLCB7QUNDRVNTOiBhY2Nlc3N9KVxyXG4gIH1cclxuXHJcbiAgZmllbGRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cEZpZWxkPih0aGlzLnVybC5maWVsZHMpXHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { BXRestMapDiskAttachedObject } from '../../map/disk/attachedObject';
|
|
2
2
|
import { Navvy } from '../../services/navvy';
|
|
3
|
-
import {
|
|
3
|
+
import { $disk, $get } from '../../consts/part-name-methods';
|
|
4
4
|
export class BXRestNavvyDiskAttachedObject {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.Navvy = new Navvy();
|
|
7
7
|
}
|
|
8
8
|
get(param) {
|
|
9
|
-
return this.Navvy.simple(
|
|
9
|
+
return this.Navvy.simple([$disk, 'attachedObject', $get], param, BXRestMapDiskAttachedObject.get);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoZWRPYmplY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L2Rpc2svYXR0YWNoZWRPYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDM0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFNUQsTUFBTSxPQUFPLDZCQUE2QjtJQUExQztRQUVVLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO0lBUTdCLENBQUM7SUFOQyxHQUFHLENBQUMsS0FBeUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdEIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEVBQy9CLEtBQUssRUFDTCwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCWFJlc3RNYXBEaXNrQXR0YWNoZWRPYmplY3QgfSBmcm9tICcuLi8uLi9tYXAvZGlzay9hdHRhY2hlZE9iamVjdCdcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmF2dnknXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1SZXN0RGlza0F0dGFjaGVkT2JqZWN0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvZGlzaydcbmltcG9ydCB7ICRkaXNrLCAkZ2V0IH0gZnJvbSAnLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eURpc2tBdHRhY2hlZE9iamVjdCB7XHJcblxyXG4gIHByaXZhdGUgTmF2dnkgPSBuZXcgTmF2dnkoKVxuXG4gIGdldChwYXJhbTogaUJYUmVzdFBhcmFtUmVzdERpc2tBdHRhY2hlZE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZShcbiAgICAgIFskZGlzaywgJ2F0dGFjaGVkT2JqZWN0JywgJGdldF0sXG4gICAgICBwYXJhbSxcbiAgICAgIEJYUmVzdE1hcERpc2tBdHRhY2hlZE9iamVjdC5nZXQpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Navvy } from '../../../services/navvy';
|
|
2
|
-
import {
|
|
2
|
+
import { $api, $set, $socialnetwork } from '../../../consts/part-name-methods';
|
|
3
3
|
export class BXRestNavvySocialNetWorkApiContentView {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.Navvy = new Navvy();
|
|
6
6
|
}
|
|
7
7
|
set(param) {
|
|
8
|
-
return this.Navvy.simple(
|
|
8
|
+
return this.Navvy.simple([$socialnetwork, $api, 'contentView', $set], param);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudHZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3NvY2lhbG5ldHdvcmsvYXBpL2NvbnRlbnR2aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUU5RSxNQUFNLE9BQU8sc0NBQXNDO0lBQW5EO1FBRW1CLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO0lBS3RDLENBQUM7SUFIQyxHQUFHLENBQUMsS0FBaUQ7UUFDbkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzlFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtU29jaWFsTmV0V29ya0FwaUNvbnRlbnRWaWV3U2V0XHJcbn0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3Qvc29jaWFsbmV0d29yaydcclxuXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xuaW1wb3J0IHsgJGFwaSwgJHNldCwgJHNvY2lhbG5ldHdvcmsgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvcGFydC1uYW1lLW1ldGhvZHMnXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5U29jaWFsTmV0V29ya0FwaUNvbnRlbnRWaWV3IHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBOYXZ2eSA9IG5ldyBOYXZ2eSgpXHJcblxuICBzZXQocGFyYW06IGlCWFJlc3RQYXJhbVNvY2lhbE5ldFdvcmtBcGlDb250ZW50Vmlld1NldCl7XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKFskc29jaWFsbmV0d29yaywgJGFwaSwgJ2NvbnRlbnRWaWV3JywgJHNldF0sIHBhcmFtKVxuICB9XG59XG4iXX0=
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { Navvy } from '../../services/navvy';
|
|
2
2
|
import { BXRestMapTaskCommentItem } from '../../map/task/commentitem';
|
|
3
3
|
import { mergeMap, of } from 'rxjs';
|
|
4
|
-
import {
|
|
4
|
+
import { $add, $commentitem, $delete, $get, $getlist, $task, $update } from '../../consts/part-name-methods';
|
|
5
5
|
export class BXRestNavvyTaskCommentItem {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.url =
|
|
7
|
+
this.url = {
|
|
8
|
+
getList: [$task, $commentitem, $getlist],
|
|
9
|
+
get: [$task, $commentitem, $get],
|
|
10
|
+
add: [$task, $commentitem, $add],
|
|
11
|
+
update: [$task, $commentitem, $update],
|
|
12
|
+
delete: [$task, $commentitem, $delete],
|
|
13
|
+
};
|
|
8
14
|
this.Navvy = new Navvy();
|
|
9
15
|
}
|
|
10
16
|
add(param) {
|
|
@@ -38,4 +44,4 @@ export class BXRestNavvyTaskCommentItem {
|
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svY29tbWVudGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBVXJFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sRUFDTCxJQUFJLEVBQ0osWUFBWSxFQUNaLE9BQU8sRUFDUCxJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLEVBQ1IsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUV2QyxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1ksUUFBRyxHQUFHO1lBQ2QsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7WUFDeEMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDaEMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDaEMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7WUFDdEMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7U0FDdkMsQ0FBQTtRQUVnQixVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQWlEdEMsQ0FBQztJQS9DQyxHQUFHLENBQUMsS0FBNEI7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUNwQixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFtQztRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQ3ZCLENBQUE7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQXFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssRUFDbkIsd0JBQXdCLENBQUMsR0FBRyxDQUM3QixDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFzQztRQUM1QyxNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRTtZQUNMLFNBQVMsRUFBRSxLQUFLO1NBQ2pCO0tBQ0Y7UUFDQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQ3ZCLHdCQUF3QixDQUFDLE9BQU8sQ0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsS0FBa0M7UUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQy9CLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FDdkIsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtnQkFDVCxDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUE7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBUYXNrQ29tbWVudEl0ZW0gfSBmcm9tICcuLi8uLi9tYXAvdGFzay9jb21tZW50aXRlbSdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0UGFyYW1UYXNrQ29tbWVudEl0ZW1HZXQsXHJcbiAgaUJYUmVzdFRhc2tDb21tZW50SXRlbVVwZGF0ZSxcclxuICBpQlhSZXN0Q29tbWVudFRhc2tBZGQsXHJcbiAgQlhSZXN0VGFza0NvbW1lbnRJdGVtR2V0TGlzdCxcclxuICBCWFJlc3RUYXNrQ29tbWVudEl0ZW1EZWxldGUsXHJcbiAgaUJYUmVzdFRhc2tDb21tZW50LFxyXG4gIGlCWFJlc3RUYXNrQ29tbWVudEh0bWxcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrJ1xuaW1wb3J0IHsgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gICRhZGQsXG4gICRjb21tZW50aXRlbSxcbiAgJGRlbGV0ZSxcbiAgJGdldCxcbiAgJGdldGxpc3QsXG4gICR0YXNrLFxuICAkdXBkYXRlXG59IGZyb20gJy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcblxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5VGFza0NvbW1lbnRJdGVtIHtcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBnZXRMaXN0OiBbJHRhc2ssICRjb21tZW50aXRlbSwgJGdldGxpc3RdLFxuICAgIGdldDogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRnZXRdLFxuICAgIGFkZDogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRhZGRdLFxuICAgIHVwZGF0ZTogWyR0YXNrLCAkY29tbWVudGl0ZW0sICR1cGRhdGVdLFxuICAgIGRlbGV0ZTogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRkZWxldGVdLFxuICB9XG5cclxuICBwcml2YXRlIHJlYWRvbmx5IE5hdnZ5ID0gbmV3IE5hdnZ5KClcclxuXHJcbiAgYWRkKHBhcmFtOiBpQlhSZXN0Q29tbWVudFRhc2tBZGQpIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZTxudW1iZXIsIG51bWJlciwgaUJYUmVzdENvbW1lbnRUYXNrQWRkPihcclxuICAgICAgdGhpcy51cmwuYWRkLCBwYXJhbVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHBhcmFtOiBpQlhSZXN0VGFza0NvbW1lbnRJdGVtVXBkYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGU8Ym9vbGVhbiwgYm9vbGVhbiwgaUJYUmVzdFRhc2tDb21tZW50SXRlbVVwZGF0ZT4oXHJcbiAgICAgIHRoaXMudXJsLnVwZGF0ZSwgcGFyYW1cclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldChwYXJhbTogaUJYUmVzdFBhcmFtVGFza0NvbW1lbnRJdGVtR2V0KSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGU8aUJYUmVzdFRhc2tDb21tZW50SHRtbCwgaUJYUmVzdFRhc2tDb21tZW50LCBpQlhSZXN0UGFyYW1UYXNrQ29tbWVudEl0ZW1HZXQ+KFxyXG4gICAgICB0aGlzLnVybC5nZXQsIHBhcmFtLFxyXG4gICAgICBCWFJlc3RNYXBUYXNrQ29tbWVudEl0ZW0uZ2V0XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRsaXN0KHBhcmFtOiBCWFJlc3RUYXNrQ29tbWVudEl0ZW1HZXRMaXN0ID0ge1xyXG4gICAgRklMVEVSOiB7fSxcclxuICAgIE9SREVSOiB7XHJcbiAgICAgIFBPU1RfREFURTogJ2FzYydcclxuICAgIH1cclxuICB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMudXJsLmdldExpc3QsIHBhcmFtLFxyXG4gICAgICBCWFJlc3RNYXBUYXNrQ29tbWVudEl0ZW0uZ2V0bGlzdFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZGVsKHBhcmFtOiBCWFJlc3RUYXNrQ29tbWVudEl0ZW1EZWxldGUpIHtcclxuICAgIGlmIChwYXJhbS5JVEVNSUQgPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldChwYXJhbSkucmVzKCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZTxib29sZWFuLCBib29sZWFuLCBCWFJlc3RUYXNrQ29tbWVudEl0ZW1EZWxldGU+KFxyXG4gICAgICAgICAgICAgIHRoaXMudXJsLmRlbGV0ZSwgcGFyYW1cclxuICAgICAgICAgICAgKS5yZXMoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBvZihmYWxzZSlcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { HttpBXServices } from '../../../services/http/HttpBX';
|
|
2
|
-
import { $elapseditem, $getlist, $isactionallowed, $task } from '../../../consts/part-name-methods';
|
|
2
|
+
import { $elapseditem, $getaccess, $getlist, $isactionallowed, $task, $tasks } from '../../../consts/part-name-methods';
|
|
3
3
|
import { map, take } from 'rxjs/operators';
|
|
4
4
|
import { BXRestMapTaskElapsedItem } from '../../../map/task/elapseditem';
|
|
5
|
-
import {
|
|
5
|
+
import { mergeMap, of, throwError } from 'rxjs';
|
|
6
6
|
import { BXRestNavvyUser } from '../../user';
|
|
7
7
|
import { BXRestNavvyTasks } from '../../tasks';
|
|
8
8
|
import { BXRestNavvyDelegateElapsedItem } from '../delegate/elapseditem';
|
|
9
9
|
export class BXRestNavvyOperationElapsedItem {
|
|
10
|
-
// private readonly BXRestNavvyElapsedItem = new BXRestNavvyElapsedItem()
|
|
11
10
|
constructor(BXRestNavvyElapsedItem) {
|
|
12
11
|
this.BXRestNavvyElapsedItem = BXRestNavvyElapsedItem;
|
|
13
12
|
this.http = new HttpBXServices();
|
|
@@ -57,42 +56,73 @@ export class BXRestNavvyOperationElapsedItem {
|
|
|
57
56
|
}));
|
|
58
57
|
}
|
|
59
58
|
checkPermissionAddElapsedTimeToTaskArr(tasks, userCurrent = undefined) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
[i]: {
|
|
76
|
-
name: this.http.getNameMethod([$task, $elapseditem, $isactionallowed]),
|
|
77
|
-
param: {
|
|
78
|
-
TASKID: i,
|
|
79
|
-
ITEMID: 1,
|
|
80
|
-
ACTIONID: 1
|
|
81
|
-
}
|
|
59
|
+
// Убираем дубли, чтобы не проверять права по одной задаче несколько раз.
|
|
60
|
+
const ids = [...new Set(tasks.filter(i => !!i))];
|
|
61
|
+
// Если текущий пользователь не передан снаружи, запрашиваем его один раз на весь набор задач.
|
|
62
|
+
const user$ = userCurrent ? of(userCurrent) : this.BXRestNavvyUser.current().res();
|
|
63
|
+
// Старый batch через task.elapseditem.isactionallowed.
|
|
64
|
+
// Вызываем его ниже только для задач, по которым getaccess не вернул ELAPSEDTIME.ADD.
|
|
65
|
+
const loadMissingByActionAllowed = (missingIds, resolved) => {
|
|
66
|
+
return this.http.branch(Object.assign({}, ...missingIds.map(i => {
|
|
67
|
+
return {
|
|
68
|
+
[i]: {
|
|
69
|
+
name: this.http.getNameMethod([$task, $elapseditem, $isactionallowed]),
|
|
70
|
+
param: {
|
|
71
|
+
TASKID: i,
|
|
72
|
+
ITEMID: 1,
|
|
73
|
+
ACTIONID: 1
|
|
82
74
|
}
|
|
83
|
-
};
|
|
84
|
-
}))).pipe(map(v => {
|
|
85
|
-
if (v && v.length) {
|
|
86
|
-
const res = this.http.mapBranchResult(v);
|
|
87
|
-
forForeachNotHave = Object.entries(res).map(([key, value]) => {
|
|
88
|
-
return { id: Number(key), value: value };
|
|
89
|
-
});
|
|
90
|
-
return Object.assign(forForeachHave, forForeachNotHave);
|
|
91
75
|
}
|
|
92
|
-
|
|
93
|
-
|
|
76
|
+
};
|
|
77
|
+
}))).pipe(map(v => {
|
|
78
|
+
if (v && v.length) {
|
|
79
|
+
const res = this.http.mapBranchResult(v);
|
|
80
|
+
const loaded = Object.entries(res).map(([key, value]) => {
|
|
81
|
+
return { id: Number(key), value };
|
|
82
|
+
});
|
|
83
|
+
return [...resolved, ...loaded];
|
|
84
|
+
}
|
|
85
|
+
return undefined;
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
if (!ids.length) {
|
|
89
|
+
return of([]);
|
|
90
|
+
}
|
|
91
|
+
return user$.pipe(take(1), mergeMap(self => {
|
|
92
|
+
if (!self) {
|
|
93
|
+
// Страховочная ветка: если user.current не вернулся, getaccess вызвать нельзя.
|
|
94
|
+
return loadMissingByActionAllowed(ids, []);
|
|
94
95
|
}
|
|
95
|
-
|
|
96
|
+
// Основной путь: одним batch-запросом получаем права ELAPSEDTIME.ADD по всем задачам.
|
|
97
|
+
return this.http.branch(Object.assign({}, ...ids.map(id => {
|
|
98
|
+
return {
|
|
99
|
+
[id]: {
|
|
100
|
+
name: this.http.getNameMethod([$tasks, $task, $getaccess]),
|
|
101
|
+
param: {
|
|
102
|
+
id,
|
|
103
|
+
users: [self.ID]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}))).pipe(mergeMap(v => {
|
|
108
|
+
if (v && v.length) {
|
|
109
|
+
const res = this.http.mapBranchResult(v);
|
|
110
|
+
const permissions = ids.map(id => ({
|
|
111
|
+
id,
|
|
112
|
+
value: res[id]?.allowedActions?.[self.ID]?.['ELAPSEDTIME.ADD']
|
|
113
|
+
}));
|
|
114
|
+
// getaccess может вернуть true или false - оба значения считаем готовым ответом.
|
|
115
|
+
// В старый isactionallowed отправляем только задачи без явного ELAPSEDTIME.ADD.
|
|
116
|
+
const resolved = permissions.filter(i => i.value !== undefined);
|
|
117
|
+
const missingIds = permissions.filter(i => i.value === undefined).map(i => i.id);
|
|
118
|
+
if (missingIds.length) {
|
|
119
|
+
return loadMissingByActionAllowed(missingIds, resolved);
|
|
120
|
+
}
|
|
121
|
+
return of(permissions);
|
|
122
|
+
}
|
|
123
|
+
// Если batch getaccess не вернулся, сохраняем поведение старого fallback.
|
|
124
|
+
return loadMissingByActionAllowed(ids, []);
|
|
125
|
+
}));
|
|
96
126
|
}));
|
|
97
127
|
}
|
|
98
128
|
/**
|
|
@@ -291,4 +321,4 @@ export class BXRestNavvyOperationElapsedItem {
|
|
|
291
321
|
});
|
|
292
322
|
}
|
|
293
323
|
}
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDOUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFJeEUsTUFBTSxPQUFPLCtCQUErQjtJQU8xQyx5RUFBeUU7SUFFekUsWUFBb0Isc0JBQThDO1FBQTlDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFQakQsU0FBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUE7UUFDM0IsYUFBUSxHQUFHLElBQUksOEJBQThCLEVBQUUsQ0FBQTtRQUMvQyxvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO0lBSzFELENBQUM7SUFFRCxhQUFhLENBQUMsUUFBa0IsRUFBRSxTQUFlLEVBQUUsT0FBYTtRQUM5RCxNQUFNLEtBQUssR0FBK0I7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RUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQTtZQUMxRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDcEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUN6QjtZQUNFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsQ0FBQztTQUNaLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQsXHJcbiAgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHAsXHJcbiAgaUlzQWN0aW9uQWxsb3dlZFBhcmFtLFxyXG4gIGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtLFxyXG4gIGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtLFxyXG4gIGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtXHJcbn0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzaydcclxuaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHsgJGVsYXBzZWRpdGVtLCAkZ2V0bGlzdCwgJGlzYWN0aW9uYWxsb3dlZCwgJHRhc2sgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvcGFydC1uYW1lLW1ldGhvZHMnXHJcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tYXAvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VXNlciB9IGZyb20gJy4uLy4uL3VzZXInXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VGFza3MgfSBmcm9tICcuLi8uLi90YXNrcydcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtIH0gZnJvbSAnLi4vZGVsZWdhdGUvZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGlCWFJlc3RVc2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlcidcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2VsYXBzZWRpdGVtJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0ge1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBuZXcgSHR0cEJYU2VydmljZXMoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVsZWdhdGUgPSBuZXcgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtKClcclxuICBwcml2YXRlIHJlYWRvbmx5IEJYUmVzdE5hdnZ5VXNlciA9IG5ldyBCWFJlc3ROYXZ2eVVzZXIoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQlhSZXN0TmF2dnlUYXNrcyA9IG5ldyBCWFJlc3ROYXZ2eVRhc2tzKClcclxuXHJcbiAgLy8gcHJpdmF0ZSByZWFkb25seSBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtID0gbmV3IEJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0oKVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIEJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW06IEJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0pIHtcclxuICB9XHJcblxyXG4gIGdldEJ5SW50ZXJ2YWwoaWRzVXNlcnM6IG51bWJlcltdLCBkYXRlU3RhcnQ6IERhdGUsIGRhdGVFbmQ6IERhdGUpIHtcclxuICAgIGNvbnN0IHBhcmFtOiBpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCA9IHtcclxuICAgICAgT1JERVI6IHtcclxuICAgICAgICBJRDogJ0RFU0MnXHJcbiAgICAgIH0sXHJcbiAgICAgIEZJTFRFUjoge1xyXG4gICAgICAgIFVTRVJfSUQ6IGlkc1VzZXJzLFxyXG4gICAgICAgICc+PUNSRUFURURfREFURSc6IGRhdGVTdGFydC50b0xvY2FsZVN0cmluZygncnUtUnUnLCB7XHJcbiAgICAgICAgICB0aW1lWm9uZU5hbWU6ICdzaG9ydCdcclxuICAgICAgICB9KSxcclxuICAgICAgICAnPD1DUkVBVEVEX0RBVEUnOiBkYXRlRW5kLnRvTG9jYWxlU3RyaW5nKCdydS1SdScsIHtcclxuICAgICAgICAgIHRpbWVab25lTmFtZTogJ3Nob3J0J1xyXG4gICAgICAgIH0pLFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5nZXRMaXN0KHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgLy8gVE9ETzog0KHQtNC10LvQsNGC0Ywg0L3QvtGA0LzQsNC70YzQvdC+XHJcbiAgZ2V0TGlzdEJ5SURUYXNrKGlkczogbnVtYmVyW10pIHtcclxuICAgIC8vINCg0LDQsdC+0YLQsNC10YIg0YLQvtC70YzQutC+INC/0L7RgtC+0LzRgyDRh9GC0L4gXCJuUGFnZVNpemU6IDk5OTk5XCJcclxuICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0LCBpQlhSZXN0VGFza0VsYXBzZWRJdGVtSHR0cD5cclxuICAgIChcclxuICAgICAgaWRzLm1hcChpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbmFtZTogdGhpcy5odHRwLmdldE5hbWVNZXRob2QoWyR0YXNrLCAkZWxhcHNlZGl0ZW0sICRnZXRsaXN0XSksXHJcbiAgICAgICAgICBwYXJhbToge1xyXG4gICAgICAgICAgICBUQVNLSUQ6IGksXHJcbiAgICAgICAgICAgIFBBUkFNUzoge1xyXG4gICAgICAgICAgICAgIE5BVl9QQVJBTVM6IHtcclxuICAgICAgICAgICAgICAgIG5QYWdlU2l6ZTogOTk5OTksXHJcbiAgICAgICAgICAgICAgICBpTnVtUGFnZTogMVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgIGlmICh2ICYmIHYubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb25zdCByZXMgPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0V2l0aG91dEtleSh2KVxyXG4gICAgICAgICAgcmV0dXJuIEJYUmVzdE1hcFRhc2tFbGFwc2VkSXRlbS5nZXRMaXN0KHJlcylcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2tBcnIodGFza3M6IG51bWJlcltdLCB1c2VyQ3VycmVudDogaUJYUmVzdFVzZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcclxuICAgIGxldCByZXF1ZXN0OiBSZWNvcmQ8bnVtYmVyLCBPYnNlcnZhYmxlPGJvb2xlYW4+PiA9IE9iamVjdC5hc3NpZ24oe30sIC4uLnRhc2tzLm1hcChpID0+IHtcclxuICAgICAgcmV0dXJuIHtbaV06IHRoaXMuY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2soaSwgdXNlckN1cnJlbnQpfVxyXG4gICAgfSkpXHJcbiAgICByZXR1cm4gZm9ya0pvaW4ocmVxdWVzdClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgIGxldCBmb3JGb3JlYWNoID0gT2JqZWN0LmVudHJpZXModikubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtpZDogTnVtYmVyKGtleSksIHZhbHVlOiB2YWx1ZX1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBpZiAoZm9yRm9yZWFjaC5maW5kKGkgPT4gaS52YWx1ZSA9PT0gdW5kZWZpbmVkKSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGxldCBmb3JGb3JlYWNoSGF2ZSA9IGZvckZvcmVhY2guZmlsdGVyKGkgPT4gaS52YWx1ZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBsZXQgZm9yRm9yZWFjaE5vdEhhdmUgPSBmb3JGb3JlYWNoLmZpbHRlcihpID0+IGkudmFsdWUgPT09IHVuZGVmaW5lZCkgLy8g0YLRg9GCINC/0L7Qu9GD0YfQsNC10Lwg0LLRgdC1IGlkINC90LUg0YHQvtGF0YDQsNC90LXQvdC90YvRhSDRgyDQvdCw0YEg0L/RgNCw0LJcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUlzQWN0aW9uQWxsb3dlZFBhcmFtLCBib29sZWFuPihcclxuICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCAuLi5mb3JGb3JlYWNoTm90SGF2ZVxyXG4gICAgICAgICAgICAgICAgLm1hcChpID0+IGkuaWQpXHJcbiAgICAgICAgICAgICAgICAubWFwKGkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIFtpXToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5odHRwLmdldE5hbWVNZXRob2QoWyR0YXNrLCAkZWxhcHNlZGl0ZW0sICRpc2FjdGlvbmFsbG93ZWRdKSxcclxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRBU0tJRDogaSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgSVRFTUlEOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBBQ1RJT05JRDogMVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgICBtYXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodiAmJiB2Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCByZXM6IFJlY29yZDxudW1iZXIsIGJvb2xlYW4+ID0gdGhpcy5odHRwLm1hcEJyYW5jaFJlc3VsdCh2KVxyXG4gICAgICAgICAgICAgICAgICBmb3JGb3JlYWNoTm90SGF2ZSA9IE9iamVjdC5lbnRyaWVzKHJlcykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge2lkOiBOdW1iZXIoa2V5KSwgdmFsdWU6IHZhbHVlfVxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihmb3JGb3JlYWNoSGF2ZSwgZm9yRm9yZWFjaE5vdEhhdmUpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKGZvckZvcmVhY2gpXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0J/RgNC+0LLQtdGA0LrQsCDQvdCwINCy0L7Qt9C80L7QttC90L7RgdGC0Ywg0LTQvtCx0LDQstC70LXQvdC40LUg0LfQsNC/0LjRgdC4INGC0YDQtdC60LAg0LIg0YLQsNGB0LrRg1xyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkVGFza1xyXG4gICAqIEBwYXJhbSB1c2VyQ3VycmVudFxyXG4gICAqL1xyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrKGlkVGFzazogbnVtYmVyLCB1c2VyQ3VycmVudDogaUJYUmVzdFVzZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcclxuICAgIC8vIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgLy8gaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgIC8vICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgLy8gICBpZiAoZmluZFRhc2s/LnBlcm1pc3Npb24pIHtcclxuICAgIC8vICAgICByZXR1cm4gb2YoZmluZFRhc2sucGVybWlzc2lvblsnRUxBUFNFRFRJTUUuQUREJ10pXHJcbiAgICAvLyAgIH1cclxuICAgIHJldHVybiAoKHVzZXJDdXJyZW50KSA/IG9mKHVzZXJDdXJyZW50KSA6IHRoaXMuQlhSZXN0TmF2dnlVc2VyLmN1cnJlbnQoKS5yZXMoKSkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgaWYgKHNlbGYpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRBY2Nlc3MoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZDogaWRUYXNrLFxyXG4gICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgfSkucmVzKCkucGlwZShcclxuICAgICAgICAgICAgLy8gdGFwKHYgPT4ge1xyXG4gICAgICAgICAgICAvLyAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgLy8gICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgLy8gICAgICAgdGFza3M6IFt7aWQ6IGlkVGFzaywgcGVybWlzc2lvbjogdltzZWxmLklEXSwgZWxhcHNlZEl0ZW06IFtdfV1cclxuICAgICAgICAgICAgLy8gICAgIH0pXHJcbiAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAvLyB9KSxcclxuICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF1bJ0VMQVBTRURUSU1FLkFERCddIDogZmFsc2VcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCf0YDQvtCy0LXRgNC60LAg0L3QsCDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINC/0YDQvtGH0YLQtdC90LjRjyDRgtCw0LrRgdC60LhcclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZFRhc2tcclxuICAgKiBAcGFyYW0gdXNlckN1cnJlbnRcclxuICAgKi9cclxuICBjaGVja1Blcm1pc3Npb25SZWFkVGFzayhpZFRhc2s6IG51bWJlciwgdXNlckN1cnJlbnQ6IGlCWFJlc3RVc2VyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIC8vIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAvLyAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgIC8vICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdpZFRhc2snLCBpZFRhc2spXHJcbiAgICByZXR1cm4gKCh1c2VyQ3VycmVudCkgPyBvZih1c2VyQ3VycmVudCkgOiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzKCkpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKHNlbGYgPT4ge1xyXG4gICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0QWNjZXNzKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgIH0pLnJlcygpLnBpcGUoXHJcbiAgICAgICAgICAgIC8vIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgLy8gICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBQZXJtaXNzaW9uLnNldCh7XHJcbiAgICAgICAgICAgIC8vICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgICAgLy8gfSksXHJcbiAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gKHYgJiYgdltzZWxmLklEXSkgPyAhIXZbc2VsZi5JRF0gOiBmYWxzZSAvLyDQvtGC0LTQtdC70YzQvdC+0LPQviDRhNC70LDQs9CwINC90LAg0YfRgtC10L3QuNC1INC90LXRgiwg0LLRi9GF0L7QtNC40YIg0YfRgtC+INC10YHQu9C4INC/0YDQsNCy0LAg0L7RgtC00LDQu9C40YHRjCDRgtC+INC4INC/0YDQsNCy0LAg0LXRgdGC0YxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICAvLyB9XHJcbiAgICAvL1xyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCX0LDQutC+0L3Rh9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQtNC+0LHQsNCy0LvQtdC90LjRjyDQt9Cw0L/QuNGB0Lgg0YEg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtC5INC/0YDQvtCy0LXRgNC60L7QuSDQv9GA0LDQslxyXG4gICAqXHJcbiAgICogVE9ETzog0LTQvtCx0LDQstC40YLRjCDRgdC+0YXRgNCw0L3QtdC90LjQtSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+INC/0YDQvtCy0LXRgNC10L3QvdGL0YUg0LfQsNC/0LjRgdC10LlcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICBhZGQocGFyYW06IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlFbGFwc2VkSXRlbS5hZGQocGFyYW0pLnJlcygpXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC00L7QsdCw0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0JfQsNC60L7QvdGH0LXQvdC90YvQuSDQvNC10YLQvtC0INC+0LHQvdC+0LLQu9C10L3QuNGPINC30LDQv9C40YHQuCDRgSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+0Lkg0L/RgNC+0LLQtdGA0LrQvtC5INC/0YDQsNCyXHJcbiAgICpcclxuICAgKiBUT0RPOiDQtNC+0LHQsNCy0LjRgtGMINGB0L7RhdGA0LDQvdC10L3QuNC1INC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L4g0L/RgNC+0LLQtdGA0LXQvdC90YvRhSDQt9Cw0L/QuNGB0LXQuVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIHVwZGF0ZShwYXJhbTogaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoKGFsbG93ZWRSZWFkVGFzaykgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZE1vZGlmeShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0udXBkYXRlKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSkpXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINGH0YLQviDRjdGC0L4g0LfQsCDQtdCx0LDRgtC90Y8g0LIg0LrQvtC80LzQtdC90YLQsNGFINC4INCy0L/QuNGB0LDRgtGMINC90L7RgNC80LDQu9GM0L3QvtC5INC60L7QvNC10L3RgiDQtdGB0LvQuCDQvtC90LAg0L3Rg9C20L3QsFxyXG4gIGlzQWxsb3dlZE1vZGlmeShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIC8vIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgLy8gaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgIC8vICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgLy8gICBpZiAoZmluZFRhc2spIHtcclxuICAgIC8vICAgICBsZXQgZmluZCA9IGZpbmRUYXNrLmVsYXBzZWRJdGVtLmZpbmQoaSA9PiBpLmlkID09PSBpZEl0ZW0pXHJcbiAgICAvLyAgICAgaWYgKGZpbmQgJiYgZmluZC52ZXJpZmllZC5lZGl0KSB7XHJcbiAgICAvLyAgICAgICByZXR1cm4gb2YoZmluZC5lZGl0KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG5cclxuICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHtcclxuICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgIElURU1JRDogaWRJdGVtLFxyXG4gICAgICBBQ1RJT05JRDogMlxyXG4gICAgfSkucmVzKClcclxuICAgIC8vICAgLnBpcGUoXHJcbiAgICAvLyAgIHRhcCh2ID0+IHtcclxuICAgIC8vICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAvLyAgICAgICAgIHtcclxuICAgIC8vICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgLy8gICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAvLyAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgIC8vICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgLy8gICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgIC8vICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAvLyAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlzQWN0aW9uQWxsb3dlZCDRgSDRhNC40LrRgdC+0Lwg0L3QsCDQv9GA0L7QstC10YDQutGDINCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0YfRgtC10L3QuNGPINC30LDQtNCw0YfQuCDQt9Cw0L/QuNGB0LhcclxuICAgKiAo0LHQtdC3INC/0YDQvtCy0LXRgNC60Lgg0LTQsNGR0YIg0L7RiNC40LHQutGDKVxyXG4gICAqXHJcbiAgICogaWRBY3Rpb246XHJcbiAgICogMSAtIEFDVElPTl9FTEFQU0VEX1RJTUVfQUREXHJcbiAgICogMiAtIEFDVElPTl9FTEFQU0VEX1RJTUVfTU9ESUZZXHJcbiAgICogMyAtIEFDVElPTl9FTEFQU0VEX1RJTUVfUkVNT1ZFXHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgaXNBY3Rpb25BbGxvd2VkKHBhcmFtOiBpSXNBY3Rpb25BbGxvd2VkUGFyYW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoY2FuUmVhZCA9PiB7XHJcbiAgICAgICAgaWYgKGNhblJlYWQpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDQn9C+0LvQvdC+0YbQtdC90L3Ri9C5INC80LXRgtC+0LQg0YPQtNCw0LvQtdC90LjRj1xyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgZGVsKHBhcmFtOiBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZFJlbW92ZShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uZGVsZXRlKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGD0LTQsNC70LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiBpZEl0ZW0sXHJcbiAgICAgICAgQUNUSU9OSUQ6IDNcclxuICAgICAgfSlcclxuICB9XHJcbn1cclxuIl19
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3ZILE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzlDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBSXhFLE1BQU0sT0FBTywrQkFBK0I7SUFPMUMsWUFBb0Isc0JBQThDO1FBQTlDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFMakQsU0FBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUE7UUFDM0IsYUFBUSxHQUFHLElBQUksOEJBQThCLEVBQUUsQ0FBQTtRQUMvQyxvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO0lBRzFELENBQUM7SUFFRCxhQUFhLENBQUMsUUFBa0IsRUFBRSxTQUFlLEVBQUUsT0FBYTtRQUM5RCxNQUFNLEtBQUssR0FBK0I7WUFD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QUFDO2dCQUNOLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQTtZQUMxRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDcEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUN6QjtZQUNFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsQ0FBQztTQUNaLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQsXHJcbiAgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHAsXHJcbiAgaUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcyxcclxuICBpQlhSZXN0VGFza0dldEFjY2VzcyxcclxuICBpSXNBY3Rpb25BbGxvd2VkUGFyYW0sXHJcbiAgaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0sXHJcbiAgaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0sXHJcbiAgaUJYUmVzdFBhcmFtRGVsRWxhcHNlZGl0ZW1cclxufSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrJ1xyXG5pbXBvcnQgeyBIdHRwQlhTZXJ2aWNlcyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xyXG5pbXBvcnQgeyAkZWxhcHNlZGl0ZW0sICRnZXRhY2Nlc3MsICRnZXRsaXN0LCAkaXNhY3Rpb25hbGxvd2VkLCAkdGFzaywgJHRhc2tzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IG1lcmdlTWFwLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VXNlciB9IGZyb20gJy4uLy4uL3VzZXInXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VGFza3MgfSBmcm9tICcuLi8uLi90YXNrcydcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtIH0gZnJvbSAnLi4vZGVsZWdhdGUvZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGlCWFJlc3RVc2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlcidcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2VsYXBzZWRpdGVtJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0ge1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBuZXcgSHR0cEJYU2VydmljZXMoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVsZWdhdGUgPSBuZXcgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtKClcclxuICBwcml2YXRlIHJlYWRvbmx5IEJYUmVzdE5hdnZ5VXNlciA9IG5ldyBCWFJlc3ROYXZ2eVVzZXIoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQlhSZXN0TmF2dnlUYXNrcyA9IG5ldyBCWFJlc3ROYXZ2eVRhc2tzKClcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtOiBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtKSB7XHJcbiAgfVxyXG5cclxuICBnZXRCeUludGVydmFsKGlkc1VzZXJzOiBudW1iZXJbXSwgZGF0ZVN0YXJ0OiBEYXRlLCBkYXRlRW5kOiBEYXRlKSB7XHJcbiAgICBjb25zdCBwYXJhbTogaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgPSB7XHJcbiAgICAgIE9SREVSOiB7XHJcbiAgICAgICAgSUQ6ICdERVNDJ1xyXG4gICAgICB9LFxyXG4gICAgICBGSUxURVI6IHtcclxuICAgICAgICBVU0VSX0lEOiBpZHNVc2VycyxcclxuICAgICAgICAnPj1DUkVBVEVEX0RBVEUnOiBkYXRlU3RhcnQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1Jywge1xyXG4gICAgICAgICAgdGltZVpvbmVOYW1lOiAnc2hvcnQnXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgJzw9Q1JFQVRFRF9EQVRFJzogZGF0ZUVuZC50b0xvY2FsZVN0cmluZygncnUtUnUnLCB7XHJcbiAgICAgICAgICB0aW1lWm9uZU5hbWU6ICdzaG9ydCdcclxuICAgICAgICB9KSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUuZ2V0TGlzdChwYXJhbSlcclxuICB9XHJcblxyXG4gIC8vIFRPRE86INCh0LTQtdC70LDRgtGMINC90L7RgNC80LDQu9GM0L3QvlxyXG4gIGdldExpc3RCeUlEVGFzayhpZHM6IG51bWJlcltdKSB7XHJcbiAgICAvLyDQoNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQv9C+0YLQvtC80YMg0YfRgtC+IFwiblBhZ2VTaXplOiA5OTk5OVwiXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmJyYW5jaDxpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCwgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHA+XHJcbiAgICAoXHJcbiAgICAgIGlkcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFzaywgJGVsYXBzZWRpdGVtLCAkZ2V0bGlzdF0pLFxyXG4gICAgICAgICAgcGFyYW06IHtcclxuICAgICAgICAgICAgVEFTS0lEOiBpLFxyXG4gICAgICAgICAgICBQQVJBTVM6IHtcclxuICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICBuUGFnZVNpemU6IDk5OTk5LFxyXG4gICAgICAgICAgICAgICAgaU51bVBhZ2U6IDFcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICBpZiAodiAmJiB2Lmxlbmd0aCkge1xyXG4gICAgICAgICAgY29uc3QgcmVzID0gdGhpcy5odHRwLm1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXkodilcclxuICAgICAgICAgIHJldHVybiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0uZ2V0TGlzdChyZXMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrQXJyKHRhc2tzOiBudW1iZXJbXSwgdXNlckN1cnJlbnQ6IGlCWFJlc3RVc2VyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyDQo9Cx0LjRgNCw0LXQvCDQtNGD0LHQu9C4LCDRh9GC0L7QsdGLINC90LUg0L/RgNC+0LLQtdGA0Y/RgtGMINC/0YDQsNCy0LAg0L/QviDQvtC00L3QvtC5INC30LDQtNCw0YfQtSDQvdC10YHQutC+0LvRjNC60L4g0YDQsNC3LlxyXG4gICAgY29uc3QgaWRzID0gWy4uLm5ldyBTZXQodGFza3MuZmlsdGVyKGkgPT4gISFpKSldXHJcbiAgICAvLyDQldGB0LvQuCDRgtC10LrRg9GJ0LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQv9C10YDQtdC00LDQvSDRgdC90LDRgNGD0LbQuCwg0LfQsNC/0YDQsNGI0LjQstCw0LXQvCDQtdCz0L4g0L7QtNC40L0g0YDQsNC3INC90LAg0LLQtdGB0Ywg0L3QsNCx0L7RgCDQt9Cw0LTQsNGHLlxyXG4gICAgY29uc3QgdXNlciQgPSB1c2VyQ3VycmVudCA/IG9mKHVzZXJDdXJyZW50KSA6IHRoaXMuQlhSZXN0TmF2dnlVc2VyLmN1cnJlbnQoKS5yZXMoKVxyXG5cclxuICAgIC8vINCh0YLQsNGA0YvQuSBiYXRjaCDRh9C10YDQtdC3IHRhc2suZWxhcHNlZGl0ZW0uaXNhY3Rpb25hbGxvd2VkLlxyXG4gICAgLy8g0JLRi9C30YvQstCw0LXQvCDQtdCz0L4g0L3QuNC20LUg0YLQvtC70YzQutC+INC00LvRjyDQt9Cw0LTQsNGHLCDQv9C+INC60L7RgtC+0YDRi9C8IGdldGFjY2VzcyDQvdC1INCy0LXRgNC90YPQuyBFTEFQU0VEVElNRS5BREQuXHJcbiAgICBjb25zdCBsb2FkTWlzc2luZ0J5QWN0aW9uQWxsb3dlZCA9IChtaXNzaW5nSWRzOiBudW1iZXJbXSwgcmVzb2x2ZWQ6IHsgaWQ6IG51bWJlciwgdmFsdWU6IGJvb2xlYW4gfVtdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlJc0FjdGlvbkFsbG93ZWRQYXJhbSwgYm9vbGVhbj4oXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4ubWlzc2luZ0lkcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBbaV06IHtcclxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLmh0dHAuZ2V0TmFtZU1ldGhvZChbJHRhc2ssICRlbGFwc2VkaXRlbSwgJGlzYWN0aW9uYWxsb3dlZF0pLFxyXG4gICAgICAgICAgICAgIHBhcmFtOiB7XHJcbiAgICAgICAgICAgICAgICBUQVNLSUQ6IGksXHJcbiAgICAgICAgICAgICAgICBJVEVNSUQ6IDEsXHJcbiAgICAgICAgICAgICAgICBBQ1RJT05JRDogMVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKVxyXG4gICAgICApLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPiA9IHRoaXMuaHR0cC5tYXBCcmFuY2hSZXN1bHQodilcclxuICAgICAgICAgICAgY29uc3QgbG9hZGVkID0gT2JqZWN0LmVudHJpZXMocmVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZX1cclxuICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBbLi4ucmVzb2x2ZWQsIC4uLmxvYWRlZF1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghaWRzLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gb2YoW10pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHVzZXIkLnBpcGUoXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIG1lcmdlTWFwKHNlbGYgPT4ge1xyXG4gICAgICAgIGlmICghc2VsZikge1xyXG4gICAgICAgICAgLy8g0KHRgtGA0LDRhdC+0LLQvtGH0L3QsNGPINCy0LXRgtC60LA6INC10YHQu9C4IHVzZXIuY3VycmVudCDQvdC1INCy0LXRgNC90YPQu9GB0Y8sIGdldGFjY2VzcyDQstGL0LfQstCw0YLRjCDQvdC10LvRjNC30Y8uXHJcbiAgICAgICAgICByZXR1cm4gbG9hZE1pc3NpbmdCeUFjdGlvbkFsbG93ZWQoaWRzLCBbXSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vINCe0YHQvdC+0LLQvdC+0Lkg0L/Rg9GC0Yw6INC+0LTQvdC40LwgYmF0Y2gt0LfQsNC/0YDQvtGB0L7QvCDQv9C+0LvRg9GH0LDQtdC8INC/0YDQsNCy0LAgRUxBUFNFRFRJTUUuQUREINC/0L4g0LLRgdC10Lwg0LfQsNC00LDRh9Cw0LwuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcywgaUJYUmVzdFRhc2tHZXRBY2Nlc3M+KFxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4uaWRzLm1hcChpZCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgW2lkXToge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5odHRwLmdldE5hbWVNZXRob2QoWyR0YXNrcywgJHRhc2ssICRnZXRhY2Nlc3NdKSxcclxuICAgICAgICAgICAgICAgIHBhcmFtOiB7XHJcbiAgICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSlcclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICBjb25zdCByZXMgPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0PGlCWFJlc3RUYXNrR2V0QWNjZXNzPih2KVxyXG4gICAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gaWRzLm1hcChpZCA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzW2lkXT8uYWxsb3dlZEFjdGlvbnM/LltzZWxmLklEXT8uWydFTEFQU0VEVElNRS5BREQnXVxyXG4gICAgICAgICAgICAgIH0pKVxyXG5cclxuICAgICAgICAgICAgICAvLyBnZXRhY2Nlc3Mg0LzQvtC20LXRgiDQstC10YDQvdGD0YLRjCB0cnVlINC40LvQuCBmYWxzZSAtINC+0LHQsCDQt9C90LDRh9C10L3QuNGPINGB0YfQuNGC0LDQtdC8INCz0L7RgtC+0LLRi9C8INC+0YLQstC10YLQvtC8LlxyXG4gICAgICAgICAgICAgIC8vINCSINGB0YLQsNGA0YvQuSBpc2FjdGlvbmFsbG93ZWQg0L7RgtC/0YDQsNCy0LvRj9C10Lwg0YLQvtC70YzQutC+INC30LDQtNCw0YfQuCDQsdC10Lcg0Y/QstC90L7Qs9C+IEVMQVBTRURUSU1FLkFERC5cclxuICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IHBlcm1pc3Npb25zLmZpbHRlcihpID0+IGkudmFsdWUgIT09IHVuZGVmaW5lZCkgYXMgeyBpZDogbnVtYmVyLCB2YWx1ZTogYm9vbGVhbiB9W11cclxuICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nSWRzID0gcGVybWlzc2lvbnMuZmlsdGVyKGkgPT4gaS52YWx1ZSA9PT0gdW5kZWZpbmVkKS5tYXAoaSA9PiBpLmlkKVxyXG5cclxuICAgICAgICAgICAgICBpZiAobWlzc2luZ0lkcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBsb2FkTWlzc2luZ0J5QWN0aW9uQWxsb3dlZChtaXNzaW5nSWRzLCByZXNvbHZlZClcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiBvZihwZXJtaXNzaW9ucylcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8g0JXRgdC70LggYmF0Y2ggZ2V0YWNjZXNzINC90LUg0LLQtdGA0L3Rg9C70YHRjywg0YHQvtGF0YDQsNC90Y/QtdC8INC/0L7QstC10LTQtdC90LjQtSDRgdGC0LDRgNC+0LPQviBmYWxsYmFjay5cclxuICAgICAgICAgICAgcmV0dXJuIGxvYWRNaXNzaW5nQnlBY3Rpb25BbGxvd2VkKGlkcywgW10pXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcbiAgLyoqXHJcbiAgICog0J/RgNC+0LLQtdGA0LrQsCDQvdCwINCy0L7Qt9C80L7QttC90L7RgdGC0Ywg0LTQvtCx0LDQstC70LXQvdC40LUg0LfQsNC/0LjRgdC4INGC0YDQtdC60LAg0LIg0YLQsNGB0LrRg1xyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkVGFza1xyXG4gICAqIEBwYXJhbSB1c2VyQ3VycmVudFxyXG4gICAqL1xyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrKGlkVGFzazogbnVtYmVyLCB1c2VyQ3VycmVudDogaUJYUmVzdFVzZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcclxuICAgIC8vIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgLy8gaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgIC8vICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgLy8gICBpZiAoZmluZFRhc2s/LnBlcm1pc3Npb24pIHtcclxuICAgIC8vICAgICByZXR1cm4gb2YoZmluZFRhc2sucGVybWlzc2lvblsnRUxBUFNFRFRJTUUuQUREJ10pXHJcbiAgICAvLyAgIH1cclxuICAgIHJldHVybiAoKHVzZXJDdXJyZW50KSA/IG9mKHVzZXJDdXJyZW50KSA6IHRoaXMuQlhSZXN0TmF2dnlVc2VyLmN1cnJlbnQoKS5yZXMoKSkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgaWYgKHNlbGYpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRBY2Nlc3MoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZDogaWRUYXNrLFxyXG4gICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgfSkucmVzKCkucGlwZShcclxuICAgICAgICAgICAgLy8gdGFwKHYgPT4ge1xyXG4gICAgICAgICAgICAvLyAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgLy8gICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgLy8gICAgICAgdGFza3M6IFt7aWQ6IGlkVGFzaywgcGVybWlzc2lvbjogdltzZWxmLklEXSwgZWxhcHNlZEl0ZW06IFtdfV1cclxuICAgICAgICAgICAgLy8gICAgIH0pXHJcbiAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAvLyB9KSxcclxuICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF1bJ0VMQVBTRURUSU1FLkFERCddIDogZmFsc2VcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCf0YDQvtCy0LXRgNC60LAg0L3QsCDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINC/0YDQvtGH0YLQtdC90LjRjyDRgtCw0LrRgdC60LhcclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZFRhc2tcclxuICAgKiBAcGFyYW0gdXNlckN1cnJlbnRcclxuICAgKi9cclxuICBjaGVja1Blcm1pc3Npb25SZWFkVGFzayhpZFRhc2s6IG51bWJlciwgdXNlckN1cnJlbnQ6IGlCWFJlc3RVc2VyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIC8vIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAvLyAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgIC8vICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdpZFRhc2snLCBpZFRhc2spXHJcbiAgICByZXR1cm4gKCh1c2VyQ3VycmVudCkgPyBvZih1c2VyQ3VycmVudCkgOiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzKCkpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKHNlbGYgPT4ge1xyXG4gICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0QWNjZXNzKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgIH0pLnJlcygpLnBpcGUoXHJcbiAgICAgICAgICAgIC8vIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgLy8gICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBQZXJtaXNzaW9uLnNldCh7XHJcbiAgICAgICAgICAgIC8vICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgICAgLy8gfSksXHJcbiAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gKHYgJiYgdltzZWxmLklEXSkgPyAhIXZbc2VsZi5JRF0gOiBmYWxzZSAvLyDQvtGC0LTQtdC70YzQvdC+0LPQviDRhNC70LDQs9CwINC90LAg0YfRgtC10L3QuNC1INC90LXRgiwg0LLRi9GF0L7QtNC40YIg0YfRgtC+INC10YHQu9C4INC/0YDQsNCy0LAg0L7RgtC00LDQu9C40YHRjCDRgtC+INC4INC/0YDQsNCy0LAg0LXRgdGC0YxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICAvLyB9XHJcbiAgICAvL1xyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCX0LDQutC+0L3Rh9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQtNC+0LHQsNCy0LvQtdC90LjRjyDQt9Cw0L/QuNGB0Lgg0YEg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtC5INC/0YDQvtCy0LXRgNC60L7QuSDQv9GA0LDQslxyXG4gICAqXHJcbiAgICogVE9ETzog0LTQvtCx0LDQstC40YLRjCDRgdC+0YXRgNCw0L3QtdC90LjQtSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+INC/0YDQvtCy0LXRgNC10L3QvdGL0YUg0LfQsNC/0LjRgdC10LlcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICBhZGQocGFyYW06IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlFbGFwc2VkSXRlbS5hZGQocGFyYW0pLnJlcygpXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC00L7QsdCw0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0JfQsNC60L7QvdGH0LXQvdC90YvQuSDQvNC10YLQvtC0INC+0LHQvdC+0LLQu9C10L3QuNGPINC30LDQv9C40YHQuCDRgSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+0Lkg0L/RgNC+0LLQtdGA0LrQvtC5INC/0YDQsNCyXHJcbiAgICpcclxuICAgKiBUT0RPOiDQtNC+0LHQsNCy0LjRgtGMINGB0L7RhdGA0LDQvdC10L3QuNC1INC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L4g0L/RgNC+0LLQtdGA0LXQvdC90YvRhSDQt9Cw0L/QuNGB0LXQuVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIHVwZGF0ZShwYXJhbTogaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoKGFsbG93ZWRSZWFkVGFzaykgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZE1vZGlmeShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0udXBkYXRlKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSkpXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINGH0YLQviDRjdGC0L4g0LfQsCDQtdCx0LDRgtC90Y8g0LIg0LrQvtC80LzQtdC90YLQsNGFINC4INCy0L/QuNGB0LDRgtGMINC90L7RgNC80LDQu9GM0L3QvtC5INC60L7QvNC10L3RgiDQtdGB0LvQuCDQvtC90LAg0L3Rg9C20L3QsFxyXG4gIGlzQWxsb3dlZE1vZGlmeShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIC8vIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgLy8gaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgIC8vICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgLy8gICBpZiAoZmluZFRhc2spIHtcclxuICAgIC8vICAgICBsZXQgZmluZCA9IGZpbmRUYXNrLmVsYXBzZWRJdGVtLmZpbmQoaSA9PiBpLmlkID09PSBpZEl0ZW0pXHJcbiAgICAvLyAgICAgaWYgKGZpbmQgJiYgZmluZC52ZXJpZmllZC5lZGl0KSB7XHJcbiAgICAvLyAgICAgICByZXR1cm4gb2YoZmluZC5lZGl0KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG5cclxuICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHtcclxuICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgIElURU1JRDogaWRJdGVtLFxyXG4gICAgICBBQ1RJT05JRDogMlxyXG4gICAgfSkucmVzKClcclxuICAgIC8vICAgLnBpcGUoXHJcbiAgICAvLyAgIHRhcCh2ID0+IHtcclxuICAgIC8vICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAvLyAgICAgICAgIHtcclxuICAgIC8vICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgLy8gICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAvLyAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgIC8vICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgLy8gICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgIC8vICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAvLyAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlzQWN0aW9uQWxsb3dlZCDRgSDRhNC40LrRgdC+0Lwg0L3QsCDQv9GA0L7QstC10YDQutGDINCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0YfRgtC10L3QuNGPINC30LDQtNCw0YfQuCDQt9Cw0L/QuNGB0LhcclxuICAgKiAo0LHQtdC3INC/0YDQvtCy0LXRgNC60Lgg0LTQsNGR0YIg0L7RiNC40LHQutGDKVxyXG4gICAqXHJcbiAgICogaWRBY3Rpb246XHJcbiAgICogMSAtIEFDVElPTl9FTEFQU0VEX1RJTUVfQUREXHJcbiAgICogMiAtIEFDVElPTl9FTEFQU0VEX1RJTUVfTU9ESUZZXHJcbiAgICogMyAtIEFDVElPTl9FTEFQU0VEX1RJTUVfUkVNT1ZFXHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgaXNBY3Rpb25BbGxvd2VkKHBhcmFtOiBpSXNBY3Rpb25BbGxvd2VkUGFyYW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoY2FuUmVhZCA9PiB7XHJcbiAgICAgICAgaWYgKGNhblJlYWQpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDQn9C+0LvQvdC+0YbQtdC90L3Ri9C5INC80LXRgtC+0LQg0YPQtNCw0LvQtdC90LjRj1xyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgZGVsKHBhcmFtOiBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZFJlbW92ZShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uZGVsZXRlKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGD0LTQsNC70LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiBpZEl0ZW0sXHJcbiAgICAgICAgQUNUSU9OSUQ6IDNcclxuICAgICAgfSlcclxuICB9XHJcbn1cclxuIl19
|