bx-rest 0.9.3 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +56 -11
  2. package/consts/part-name-methods.d.ts +1 -1
  3. package/esm2022/consts/part-name-methods.mjs +2 -2
  4. package/esm2022/map/im/recent.mjs +1 -1
  5. package/esm2022/public-api.mjs +2 -6
  6. package/esm2022/request/app.mjs +2 -3
  7. package/esm2022/request/bizproc/activity.mjs +1 -1
  8. package/esm2022/request/bizproc/event.mjs +1 -1
  9. package/esm2022/request/bizproc/robot.mjs +1 -1
  10. package/esm2022/request/bizproc/task.mjs +1 -1
  11. package/esm2022/request/bizproc/workflow/instance.mjs +1 -1
  12. package/esm2022/request/bizproc/workflow/template.mjs +1 -1
  13. package/esm2022/request/department.mjs +8 -3
  14. package/esm2022/request/disk/attachedObject.mjs +5 -3
  15. package/esm2022/request/disk/file.mjs +6 -3
  16. package/esm2022/request/disk/folder.mjs +16 -3
  17. package/esm2022/request/lists/element.mjs +6 -3
  18. package/esm2022/request/log/blogcomment.mjs +1 -1
  19. package/esm2022/request/log/blogpost.mjs +6 -3
  20. package/esm2022/request/server.mjs +5 -3
  21. package/esm2022/request/socialnetwork/api/contentview.mjs +5 -3
  22. package/esm2022/request/socialnetwork/api/livefeed/blogpost/important.mjs +5 -3
  23. package/esm2022/request/socialnetwork.mjs +1 -2
  24. package/esm2022/request/sonet_group.mjs +5 -3
  25. package/esm2022/request/task/elapseditem.mjs +9 -3
  26. package/esm2022/request/task/item/userfield.mjs +5 -3
  27. package/esm2022/request/task/planner.mjs +3 -3
  28. package/esm2022/request/tasks/task/result.mjs +7 -3
  29. package/esm2022/request/tasks/task.mjs +13 -3
  30. package/esm2022/request/user/userfield.mjs +5 -3
  31. package/esm2022/request/user.mjs +11 -3
  32. package/esm2022/request-navvy/bizproc/task.mjs +26 -0
  33. package/esm2022/request-navvy/bizproc/workflow.mjs +20 -2
  34. package/esm2022/request-navvy/bizproc.mjs +3 -1
  35. package/esm2022/request-navvy/crm.mjs +1 -1
  36. package/esm2022/request-navvy/disk/attachedObject.mjs +3 -3
  37. package/esm2022/request-navvy/socialnetwork/api/contentview.mjs +3 -3
  38. package/esm2022/request-navvy/task/commentitem.mjs +9 -3
  39. package/esm2022/request-navvy/task/operation/elapseditem.mjs +1 -2
  40. package/esm2022/request-navvy/timeman.mjs +1 -25
  41. package/esm2022/rest/base.mjs +1 -3
  42. package/esm2022/services/http/HttpBX.mjs +21 -14
  43. package/esm2022/services/http/http.mjs +52 -53
  44. package/esm2022/services/http/sessionKey.mjs +152 -52
  45. package/esm2022/typification/rest/bizproc/task/complete.mjs +2 -0
  46. package/esm2022/typification/rest/bizproc/task/delegate.mjs +2 -0
  47. package/esm2022/typification/rest/bizproc/task/list.mjs +2 -0
  48. package/esm2022/typification/rest/bizproc/workflow/instances.mjs +2 -0
  49. package/esm2022/typification/rest/bizproc/workflow/kill.mjs +2 -0
  50. package/esm2022/typification/rest/bizproc/workflow/terminate.mjs +2 -0
  51. package/esm2022/typification/rest/bizproc.mjs +7 -1
  52. package/fesm2022/bx-rest.mjs +518 -1074
  53. package/fesm2022/bx-rest.mjs.map +1 -1
  54. package/package.json +13 -7
  55. package/public-api.d.ts +1 -5
  56. package/request/department.d.ts +6 -1
  57. package/request/disk/attachedObject.d.ts +3 -1
  58. package/request/disk/file.d.ts +4 -1
  59. package/request/disk/folder.d.ts +14 -1
  60. package/request/lists/element.d.ts +4 -1
  61. package/request/log/blogpost.d.ts +4 -1
  62. package/request/server.d.ts +3 -1
  63. package/request/sonet_group.d.ts +3 -1
  64. package/request/task/elapseditem.d.ts +7 -1
  65. package/request/tasks/task/result.d.ts +5 -1
  66. package/request/tasks/task.d.ts +11 -1
  67. package/request/user/userfield.d.ts +3 -1
  68. package/request/user.d.ts +9 -1
  69. package/request-navvy/bizproc/task.d.ts +16 -0
  70. package/request-navvy/bizproc/workflow.d.ts +13 -1
  71. package/request-navvy/bizproc.d.ts +2 -0
  72. package/request-navvy/task/commentitem.d.ts +7 -1
  73. package/request-navvy/task/operation/elapseditem.d.ts +9 -10
  74. package/rest/base.d.ts +0 -2
  75. package/services/http/http.d.ts +1 -1
  76. package/services/http/sessionKey.d.ts +16 -2
  77. package/typification/rest/bizproc/task/complete.d.ts +7 -0
  78. package/typification/rest/bizproc/task/delegate.d.ts +5 -0
  79. package/typification/rest/bizproc/task/list.d.ts +52 -0
  80. package/typification/rest/bizproc/workflow/instances.d.ts +20 -0
  81. package/typification/rest/bizproc/workflow/kill.d.ts +3 -0
  82. package/typification/rest/bizproc/workflow/terminate.d.ts +4 -0
  83. package/typification/rest/bizproc.d.ts +6 -0
  84. package/esm2022/request/timeman.mjs +0 -57
  85. package/esm2022/typification/base/methods.mjs +0 -700
  86. package/request/timeman.d.ts +0 -11
  87. package/typification/base/methods.d.ts +0 -6
@@ -4,48 +4,21 @@ import { prepareBaseAddress } from '../base';
4
4
  import { LocalStorageServices as LocalStorage } from '../../services/vanilla/localStorage';
5
5
  import { BXRestSettings, DEFAULT_BX_REST_SETTINGS } from '../../settings';
6
6
  import { SessionStorage } from '../vanilla/sessionStorage';
7
- export default class SessionKeyServices {
7
+ export class SessionKeyError extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = 'SessionKeyError';
11
+ }
12
+ }
13
+ export class SessionKeyServices {
8
14
  constructor() {
9
15
  this.authHave = false;
10
16
  this.subscribe = {
11
17
  authData: new Subscription()
12
18
  };
13
19
  this.BX_REST_SETTINGS = BXRestSettings.date;
14
- const authData = SessionStorage.getItem(this.constructor.name);
15
- if ((authData && !authData.access_token.length) || !authData) {
16
- // получаем токен по собственным каналом (в битриксе приложение trace:apps.trace)
17
- window.addEventListener('message', (event) => {
18
- if (event.origin !== window.origin) { // проверяем что это не наше сообщение (с текущего приложения)
19
- if (event.data && event.data.param) {
20
- if (typeof event.data.param === 'string') {
21
- event.data.param = JSON.parse(event.data.param);
22
- }
23
- if (event.data.param.access_token) {
24
- const param = event.data.param;
25
- const save = {
26
- access_token: (param.access_token) ? param.access_token : undefined,
27
- client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,
28
- domain: (param.domain) ? param.domain : undefined,
29
- expires: (param.expires) ? param.expires : undefined,
30
- expires_in: (param.expires_in) ? param.expires_in : undefined,
31
- member_id: (param.member_id) ? param.member_id : undefined,
32
- refresh_token: (param.refresh_token) ? param.refresh_token : undefined,
33
- scope: (param.scope) ? param.scope : undefined,
34
- server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,
35
- status: (param.status) ? param.status : undefined,
36
- user_id: (param.user_id) ? param.user_id : undefined,
37
- type: (param.type) ? param.type : undefined,
38
- };
39
- if (Object.keys(save).length && save.access_token) {
40
- SessionStorage.setItem(this.constructor.name, save);
41
- this.subscribeAll();
42
- }
43
- }
44
- }
45
- }
46
- });
47
- }
48
- else if (this.getAuth().length) {
20
+ const authData = this.getSessionItem(this.constructor.name);
21
+ if (this.getAuth().length > 0) {
49
22
  this.authHave = true;
50
23
  }
51
24
  this.authData = authData;
@@ -56,18 +29,20 @@ export default class SessionKeyServices {
56
29
  getAuth() {
57
30
  switch (this.BX_REST_SETTINGS.auth.key) {
58
31
  case 'auth':
59
- return Cookies.get('auth');
60
- default:
61
- if (window.BX && window.BX.bitrix_sessid()) { // чё за хуйня?
62
- return window.BX.bitrix_sessid();
32
+ return this.getCookie('auth');
33
+ default: {
34
+ const bxSessid = this.getBxSessid();
35
+ if (bxSessid) {
36
+ return bxSessid;
63
37
  }
64
- else if (this.getSessid().length) {
38
+ else if (this.getSessid().length > 0) {
65
39
  const str = this.getSessid();
66
40
  return (str) ? str : '';
67
41
  }
68
42
  else {
69
- return Cookies.get('auth');
43
+ return this.getCookie('auth');
70
44
  }
45
+ }
71
46
  }
72
47
  }
73
48
  getKeyAuth() {
@@ -79,33 +54,56 @@ export default class SessionKeyServices {
79
54
  }
80
55
  }
81
56
  getSessid() {
82
- const check = new URLSearchParams(document.location.search).get('sessid');
57
+ const check = this.getSearchParam('sessid');
83
58
  if (check) {
84
- LocalStorage.set('sessid', check);
59
+ this.setLocalStorage('sessid', check);
85
60
  return check;
86
61
  }
87
- else if (LocalStorage.get('sessid')) {
88
- return LocalStorage.get('sessid');
62
+ else if (this.getLocalStorage('sessid')) {
63
+ return this.getLocalStorage('sessid') || '';
89
64
  }
90
65
  return '';
91
66
  }
92
67
  getAuthParams() {
93
68
  const source = this.BX_REST_SETTINGS.auth.source;
94
69
  if (typeof source === 'function') {
95
- return source();
70
+ try {
71
+ return this.normalizeValue(source());
72
+ }
73
+ catch {
74
+ return undefined;
75
+ }
96
76
  }
97
77
  switch (source) {
98
78
  case 'cookies':
99
- return this.getAuth();
79
+ return this.normalizeValue(this.getAuth());
100
80
  case 'localStorage':
101
- return LocalStorage.get(this.BX_REST_SETTINGS.auth.key);
81
+ return this.normalizeValue(this.getLocalStorage(this.BX_REST_SETTINGS.auth.key));
82
+ case 'off':
83
+ return undefined;
102
84
  default:
103
- return (this.authData) ? this.authData.access_token : undefined;
85
+ return this.normalizeValue((this.authData) ? this.authData.access_token : undefined);
104
86
  }
105
87
  }
106
88
  getCheckAuthParamsIsOn() {
107
89
  return this.BX_REST_SETTINGS.auth.source !== 'off';
108
90
  }
91
+ getAuthError(operation = 'request') {
92
+ const source = this.BX_REST_SETTINGS.auth.source;
93
+ const key = this.getKeyAuth();
94
+ if (!this.getCheckAuthParamsIsOn()) {
95
+ return new SessionKeyError(`Authorization is disabled for ${operation}: BXRestSettings.auth.source is "off".`);
96
+ }
97
+ const sourceName = (typeof source === 'function') ? 'custom function' : source;
98
+ const checked = this.getAuthCheckedPlaces();
99
+ return new SessionKeyError([
100
+ `Authorization token was not found for ${operation}.`,
101
+ `auth.source: ${sourceName}.`,
102
+ `auth.key: ${key}.`,
103
+ `Checked: ${checked.join(', ')}.`,
104
+ 'Set BXRestSettings.auth.source/key correctly or save a valid token before making the request.'
105
+ ].join(' '));
106
+ }
109
107
  getBaseUrl() {
110
108
  const additional_part = (this.BX_REST_SETTINGS.urls.additional_part || this.BX_REST_SETTINGS.urls.additional_part === '')
111
109
  ? this.BX_REST_SETTINGS.urls.additional_part
@@ -113,8 +111,110 @@ export default class SessionKeyServices {
113
111
  if (this.BX_REST_SETTINGS.urls.source === 'string') {
114
112
  return of(prepareBaseAddress(this.BX_REST_SETTINGS.urls.key, additional_part));
115
113
  }
116
- const str = localStorage.getItem(this.BX_REST_SETTINGS.urls.key);
114
+ const str = this.getLocalStorage(this.BX_REST_SETTINGS.urls.key);
117
115
  return of(prepareBaseAddress((str) ? str : '', additional_part));
118
116
  }
117
+ getBaseUrlError(operation = 'request') {
118
+ return new SessionKeyError([
119
+ `Base URL was not resolved for ${operation}.`,
120
+ `urls.source: ${this.BX_REST_SETTINGS.urls.source}.`,
121
+ `urls.key: ${this.BX_REST_SETTINGS.urls.key || '(empty)'}.`,
122
+ 'Set BXRestSettings.urls.key to a URL or to a localStorage key containing the portal URL.'
123
+ ].join(' '));
124
+ }
125
+ getAuthCheckedPlaces() {
126
+ const source = this.BX_REST_SETTINGS.auth.source;
127
+ if (typeof source === 'function') {
128
+ return ['BXRestSettings.auth.source()'];
129
+ }
130
+ switch (source) {
131
+ case 'cookies':
132
+ return this.BX_REST_SETTINGS.auth.key === 'auth'
133
+ ? ['cookie "auth"']
134
+ : ['window.BX.bitrix_sessid()', 'URL query "sessid"', 'localStorage "sessid"', 'cookie "auth"'];
135
+ case 'localStorage':
136
+ return [`localStorage "${this.BX_REST_SETTINGS.auth.key}"`];
137
+ case 'off':
138
+ return ['authorization lookup skipped'];
139
+ default:
140
+ return [`sessionStorage "${this.constructor.name}" access_token`];
141
+ }
142
+ }
143
+ getBxSessid() {
144
+ const bx = (typeof window !== 'undefined') ? window.BX : undefined;
145
+ if (!bx || typeof bx.bitrix_sessid !== 'function') {
146
+ return '';
147
+ }
148
+ try {
149
+ return this.normalizeValue(bx.bitrix_sessid()) || '';
150
+ }
151
+ catch {
152
+ return '';
153
+ }
154
+ }
155
+ getSearchParam(name) {
156
+ if (typeof document === 'undefined') {
157
+ return undefined;
158
+ }
159
+ try {
160
+ return new URLSearchParams(document.location.search).get(name) || undefined;
161
+ }
162
+ catch {
163
+ return undefined;
164
+ }
165
+ }
166
+ getCookie(name) {
167
+ if (typeof document === 'undefined') {
168
+ return '';
169
+ }
170
+ try {
171
+ return Cookies.get(name);
172
+ }
173
+ catch {
174
+ return '';
175
+ }
176
+ }
177
+ getLocalStorage(name) {
178
+ return this.getStorageItem('localStorage', name);
179
+ }
180
+ setLocalStorage(name, value) {
181
+ if (typeof localStorage === 'undefined') {
182
+ return;
183
+ }
184
+ try {
185
+ LocalStorage.set(name, value);
186
+ }
187
+ catch {
188
+ return;
189
+ }
190
+ }
191
+ getSessionItem(name) {
192
+ if (typeof sessionStorage === 'undefined') {
193
+ return undefined;
194
+ }
195
+ try {
196
+ return SessionStorage.getItem(name);
197
+ }
198
+ catch {
199
+ return undefined;
200
+ }
201
+ }
202
+ getStorageItem(kind, name) {
203
+ const storage = kind === 'localStorage'
204
+ ? (typeof localStorage !== 'undefined' ? localStorage : undefined)
205
+ : (typeof sessionStorage !== 'undefined' ? sessionStorage : undefined);
206
+ if (!storage) {
207
+ return null;
208
+ }
209
+ try {
210
+ return storage.getItem(name);
211
+ }
212
+ catch {
213
+ return null;
214
+ }
215
+ }
216
+ normalizeValue(value) {
217
+ return (value && value.length > 0) ? value : undefined;
218
+ }
119
219
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFJMUQsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFVckM7UUFSQSxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBRWhCLGNBQVMsR0FBRztZQUNWLFFBQVEsRUFBRSxJQUFJLFlBQVksRUFBRTtTQUM3QixDQUFBO1FBRWdCLHFCQUFnQixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUE7UUFJckQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBYyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNFLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0QsaUZBQWlGO1lBQ2pGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFtQixFQUFFLEVBQUU7Z0JBQ3pELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyw4REFBOEQ7b0JBQ2xH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QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsS0FBSyxFQUFFLENBQUM7WUFDekgsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUMxQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQTtRQUVqRCxJQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBQyxDQUFDO1lBQ2pELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUE7UUFDaEYsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVoRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb29raWVzIGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbmlsbGEv0YFvb2tpZXMnXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBwcmVwYXJlQmFzZUFkZHJlc3MgfSBmcm9tICcuLi9iYXNlJ1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlcyBhcyBMb2NhbFN0b3JhZ2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL2xvY2FsU3RvcmFnZSdcclxuaW1wb3J0IHsgQlhSZXN0U2V0dGluZ3MsIERFRkFVTFRfQlhfUkVTVF9TRVRUSU5HUyB9IGZyb20gJy4uLy4uL3NldHRpbmdzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0QXV0aCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXHJcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlIH0gZnJvbSAnLi4vdmFuaWxsYS9zZXNzaW9uU3RvcmFnZSdcclxuXHJcbnR5cGUgSUtleUF1dGggPSAnc2Vzc2lkJyB8ICdhdXRoJyB8IHN0cmluZ1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Vzc2lvbktleVNlcnZpY2VzIHtcclxuXHJcbiAgYXV0aEhhdmUgPSBmYWxzZVxyXG4gIGF1dGhEYXRhOiBpQlhSZXN0QXV0aCB8IHVuZGVmaW5lZFxyXG4gIHN1YnNjcmliZSA9IHtcclxuICAgIGF1dGhEYXRhOiBuZXcgU3Vic2NyaXB0aW9uKClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQlhfUkVTVF9TRVRUSU5HUyA9IEJYUmVzdFNldHRpbmdzLmRhdGVcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7XHJcbiAgICBjb25zdCBhdXRoRGF0YSA9IFNlc3Npb25TdG9yYWdlLmdldEl0ZW08aUJYUmVzdEF1dGg+KHRoaXMuY29uc3RydWN0b3IubmFtZSlcclxuICAgIGlmICgoYXV0aERhdGEgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHx8ICFhdXRoRGF0YSkge1xyXG4gICAgICAvLyDQv9C+0LvRg9GH0LDQtdC8INGC0L7QutC10L0g0L/QviDRgdC+0LHRgdGC0LLQtdC90L3Ri9C8INC60LDQvdCw0LvQvtC8ICjQsiDQsdC40YLRgNC40LrRgdC1INC/0YDQuNC70L7QttC10L3QuNC1IHRyYWNlOmFwcHMudHJhY2UpXHJcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQub3JpZ2luICE9PSB3aW5kb3cub3JpZ2luKSB7IC8vINC/0YDQvtCy0LXRgNGP0LXQvCDRh9GC0L4g0Y3RgtC+INC90LUg0L3QsNGI0LUg0YHQvtC+0LHRidC10L3QuNC1ICjRgSDRgtC10LrRg9GJ0LXQs9C+INC/0YDQuNC70L7QttC10L3QuNGPKVxyXG4gICAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS5wYXJhbSkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGV2ZW50LmRhdGEucGFyYW0gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgZXZlbnQuZGF0YS5wYXJhbSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YS5wYXJhbSlcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEucGFyYW0uYWNjZXNzX3Rva2VuKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcGFyYW0gPSBldmVudC5kYXRhLnBhcmFtXHJcbiAgICAgICAgICAgICAgY29uc3Qgc2F2ZSA9IHtcclxuICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogKHBhcmFtLmFjY2Vzc190b2tlbikgPyBwYXJhbS5hY2Nlc3NfdG9rZW4gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICBjbGllbnRfZW5kcG9pbnQ6IChwYXJhbS5jbGllbnRfZW5kcG9pbnQpID8gcGFyYW0uY2xpZW50X2VuZHBvaW50IDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgZG9tYWluOiAocGFyYW0uZG9tYWluKSA/IHBhcmFtLmRvbWFpbiA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIGV4cGlyZXM6IChwYXJhbS5leHBpcmVzKSA/IHBhcmFtLmV4cGlyZXMgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICBleHBpcmVzX2luOiAocGFyYW0uZXhwaXJlc19pbikgPyBwYXJhbS5leHBpcmVzX2luIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgbWVtYmVyX2lkOiAocGFyYW0ubWVtYmVyX2lkKSA/IHBhcmFtLm1lbWJlcl9pZCA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIHJlZnJlc2hfdG9rZW46IChwYXJhbS5yZWZyZXNoX3Rva2VuKSA/IHBhcmFtLnJlZnJlc2hfdG9rZW4gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICBzY29wZTogKHBhcmFtLnNjb3BlKSA/IHBhcmFtLnNjb3BlIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgc2VydmVyX2VuZHBvaW50OiAocGFyYW0uc2VydmVyX2VuZHBvaW50KSA/IHBhcmFtLnNlcnZlcl9lbmRwb2ludCA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogKHBhcmFtLnN0YXR1cykgPyBwYXJhbS5zdGF0dXMgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICB1c2VyX2lkOiAocGFyYW0udXNlcl9pZCkgPyBwYXJhbS51c2VyX2lkIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogKHBhcmFtLnR5cGUpID8gcGFyYW0udHlwZSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcclxuICAgICAgICAgICAgICAgIFNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBzYXZlKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBbGwoKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0gZWxzZSBpZiAodGhpcy5nZXRBdXRoKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYXV0aEhhdmUgPSB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hdXRoRGF0YSA9IGF1dGhEYXRhXHJcblxyXG4gIH1cclxuXHJcbiAgc3Vic2NyaWJlQWxsKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEudW5zdWJzY3JpYmUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0QXV0aCgpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkpIHtcclxuICAgICAgY2FzZSAnYXV0aCc6XHJcbiAgICAgICAgcmV0dXJuIENvb2tpZXMuZ2V0KCdhdXRoJylcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBpZiAoKHdpbmRvdyBhcyBhbnkpLkJYICYmICh3aW5kb3cgYXMgYW55KS5CWC5iaXRyaXhfc2Vzc2lkKCkpIHsgLy8g0YfRkSDQt9CwINGF0YPQudC90Y8/XHJcbiAgICAgICAgICByZXR1cm4gKHdpbmRvdyBhcyBhbnkpLkJYLmJpdHJpeF9zZXNzaWQoKVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5nZXRTZXNzaWQoKS5sZW5ndGgpIHtcclxuICAgICAgICAgIGNvbnN0IHN0ciA9IHRoaXMuZ2V0U2Vzc2lkKClcclxuICAgICAgICAgIHJldHVybiAoc3RyKSA/IHN0ciA6ICcnXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0S2V5QXV0aCgpOiBJS2V5QXV0aCB7XHJcbiAgICBpZiAodGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2F1dGgnXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZXNzaWQoKSB7XHJcbiAgICBjb25zdCBjaGVjayA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoKS5nZXQoJ3Nlc3NpZCcpXHJcbiAgICBpZiAoY2hlY2spIHtcclxuICAgICAgTG9jYWxTdG9yYWdlLnNldCgnc2Vzc2lkJywgY2hlY2spXHJcbiAgICAgIHJldHVybiBjaGVja1xyXG4gICAgfSBlbHNlIGlmIChMb2NhbFN0b3JhZ2UuZ2V0KCdzZXNzaWQnKSkge1xyXG4gICAgICByZXR1cm4gTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJylcclxuICAgIH1cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuXHJcbiAgZ2V0QXV0aFBhcmFtcygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGguc291cmNlXHJcblxyXG4gICAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHNvdXJjZSgpXHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoIChzb3VyY2UpIHtcclxuICAgICAgY2FzZSAnY29va2llcyc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXV0aCgpXHJcbiAgICAgIGNhc2UgJ2xvY2FsU3RvcmFnZSc6XHJcbiAgICAgICAgcmV0dXJuIExvY2FsU3RvcmFnZS5nZXQodGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5KVxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAodGhpcy5hdXRoRGF0YSkgPyB0aGlzLmF1dGhEYXRhLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tBdXRoUGFyYW1zSXNPbigpe1xyXG4gICAgcmV0dXJuIHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLnNvdXJjZSAhPT0gJ29mZidcclxuICB9XHJcblxyXG4gIGdldEJhc2VVcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcclxuICAgIGNvbnN0IGFkZGl0aW9uYWxfcGFydCA9ICh0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5hZGRpdGlvbmFsX3BhcnQgfHwgdGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMuYWRkaXRpb25hbF9wYXJ0ID09PSAnJylcclxuICAgID8gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMuYWRkaXRpb25hbF9wYXJ0XHJcbiAgICAgIDogREVGQVVMVF9CWF9SRVNUX1NFVFRJTkdTLnVybHMuYWRkaXRpb25hbF9wYXJ0XHJcblxyXG4gICAgaWYodGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMuc291cmNlID09PSAnc3RyaW5nJyl7XHJcbiAgICAgIHJldHVybiBvZihwcmVwYXJlQmFzZUFkZHJlc3ModGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMua2V5LCBhZGRpdGlvbmFsX3BhcnQpKVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0ciA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuQlhfUkVTVF9TRVRUSU5HUy51cmxzLmtleSlcclxuXHJcbiAgICByZXR1cm4gb2YocHJlcGFyZUJhc2VBZGRyZXNzKChzdHIpID8gc3RyIDogJycsIGFkZGl0aW9uYWxfcGFydCkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFLMUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsS0FBSztJQUN4QyxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQTtJQUMvQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0lBVTdCO1FBUkEsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUVoQixjQUFTLEdBQUc7WUFDVixRQUFRLEVBQUUsSUFBSSxZQUFZLEVBQUU7U0FDN0IsQ0FBQTtRQUVnQixxQkFBZ0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFBO1FBSXJELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQWMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4RSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7UUFDdEIsQ0FBQztRQUVE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cEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLGNBQWM7WUFDckMsQ0FBQyxDQUFDLENBQUMsT0FBTyxZQUFZLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNsRSxDQUFDLENBQUMsQ0FBQyxPQUFPLGNBQWMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFeEUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWdDO1FBQ3JELE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvb2tpZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS/RgW9va2llcydcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgcHJlcGFyZUJhc2VBZGRyZXNzIH0gZnJvbSAnLi4vYmFzZSdcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2VzIGFzIExvY2FsU3RvcmFnZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbmlsbGEvbG9jYWxTdG9yYWdlJ1xuaW1wb3J0IHsgQlhSZXN0U2V0dGluZ3MsIERFRkFVTFRfQlhfUkVTVF9TRVRUSU5HUyB9IGZyb20gJy4uLy4uL3NldHRpbmdzJ1xuaW1wb3J0IHsgaUJYUmVzdEF1dGggfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vYXV0aC9zYXZlJ1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2UgfSBmcm9tICcuLi92YW5pbGxhL3Nlc3Npb25TdG9yYWdlJ1xuXG50eXBlIElLZXlBdXRoID0gJ3Nlc3NpZCcgfCAnYXV0aCcgfCBzdHJpbmdcbnR5cGUgU3RvcmFnZUtpbmQgPSAnbG9jYWxTdG9yYWdlJyB8ICdzZXNzaW9uU3RvcmFnZSdcblxuZXhwb3J0IGNsYXNzIFNlc3Npb25LZXlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSlcbiAgICB0aGlzLm5hbWUgPSAnU2Vzc2lvbktleUVycm9yJ1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTZXNzaW9uS2V5U2VydmljZXMge1xuXG4gIGF1dGhIYXZlID0gZmFsc2VcbiAgYXV0aERhdGE6IGlCWFJlc3RBdXRoIHwgdW5kZWZpbmVkXG4gIHN1YnNjcmliZSA9IHtcbiAgICBhdXRoRGF0YTogbmV3IFN1YnNjcmlwdGlvbigpXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IEJYX1JFU1RfU0VUVElOR1MgPSBCWFJlc3RTZXR0aW5ncy5kYXRlXG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIGNvbnN0IGF1dGhEYXRhID0gdGhpcy5nZXRTZXNzaW9uSXRlbTxpQlhSZXN0QXV0aD4odGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICAgIGlmICh0aGlzLmdldEF1dGgoKS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF1dGhIYXZlID0gdHJ1ZVxuICAgIH1cblxuICAgIHRoaXMuYXV0aERhdGEgPSBhdXRoRGF0YVxuXG4gIH1cblxuICBzdWJzY3JpYmVBbGwoKSB7XG4gICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEudW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgZ2V0QXV0aCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5KSB7XG4gICAgICBjYXNlICdhdXRoJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29va2llKCdhdXRoJylcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgYnhTZXNzaWQgPSB0aGlzLmdldEJ4U2Vzc2lkKClcbiAgICAgICAgaWYgKGJ4U2Vzc2lkKSB7XG4gICAgICAgICAgcmV0dXJuIGJ4U2Vzc2lkXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5nZXRTZXNzaWQoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3Qgc3RyID0gdGhpcy5nZXRTZXNzaWQoKVxuICAgICAgICAgIHJldHVybiAoc3RyKSA/IHN0ciA6ICcnXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29va2llKCdhdXRoJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEtleUF1dGgoKTogSUtleUF1dGgge1xuICAgIGlmICh0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYXV0aCdcbiAgICB9XG4gIH1cblxuICBnZXRTZXNzaWQoKSB7XG4gICAgY29uc3QgY2hlY2sgPSB0aGlzLmdldFNlYXJjaFBhcmFtKCdzZXNzaWQnKVxuICAgIGlmIChjaGVjaykge1xuICAgICAgdGhpcy5zZXRMb2NhbFN0b3JhZ2UoJ3Nlc3NpZCcsIGNoZWNrKVxuICAgICAgcmV0dXJuIGNoZWNrXG4gICAgfSBlbHNlIGlmICh0aGlzLmdldExvY2FsU3RvcmFnZSgnc2Vzc2lkJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldExvY2FsU3RvcmFnZSgnc2Vzc2lkJykgfHwgJydcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBnZXRBdXRoUGFyYW1zKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGguc291cmNlXG5cbiAgICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUoc291cmNlKCkpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAoc291cmNlKSB7XG4gICAgICBjYXNlICdjb29raWVzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUodGhpcy5nZXRBdXRoKCkpXG4gICAgICBjYXNlICdsb2NhbFN0b3JhZ2UnOlxuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmdldExvY2FsU3RvcmFnZSh0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkpKVxuICAgICAgY2FzZSAnb2ZmJzpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUoKHRoaXMuYXV0aERhdGEpID8gdGhpcy5hdXRoRGF0YS5hY2Nlc3NfdG9rZW4gOiB1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgZ2V0Q2hlY2tBdXRoUGFyYW1zSXNPbigpe1xuICAgIHJldHVybiB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2UgIT09ICdvZmYnXG4gIH1cblxuICBnZXRBdXRoRXJyb3Iob3BlcmF0aW9uID0gJ3JlcXVlc3QnKTogU2Vzc2lvbktleUVycm9yIHtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2VcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleUF1dGgoKVxuXG4gICAgaWYgKCF0aGlzLmdldENoZWNrQXV0aFBhcmFtc0lzT24oKSkge1xuICAgICAgcmV0dXJuIG5ldyBTZXNzaW9uS2V5RXJyb3IoXG4gICAgICAgIGBBdXRob3JpemF0aW9uIGlzIGRpc2FibGVkIGZvciAke29wZXJhdGlvbn06IEJYUmVzdFNldHRpbmdzLmF1dGguc291cmNlIGlzIFwib2ZmXCIuYFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZU5hbWUgPSAodHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJykgPyAnY3VzdG9tIGZ1bmN0aW9uJyA6IHNvdXJjZVxuICAgIGNvbnN0IGNoZWNrZWQgPSB0aGlzLmdldEF1dGhDaGVja2VkUGxhY2VzKClcblxuICAgIHJldHVybiBuZXcgU2Vzc2lvbktleUVycm9yKFtcbiAgICAgIGBBdXRob3JpemF0aW9uIHRva2VuIHdhcyBub3QgZm91bmQgZm9yICR7b3BlcmF0aW9ufS5gLFxuICAgICAgYGF1dGguc291cmNlOiAke3NvdXJjZU5hbWV9LmAsXG4gICAgICBgYXV0aC5rZXk6ICR7a2V5fS5gLFxuICAgICAgYENoZWNrZWQ6ICR7Y2hlY2tlZC5qb2luKCcsICcpfS5gLFxuICAgICAgJ1NldCBCWFJlc3RTZXR0aW5ncy5hdXRoLnNvdXJjZS9rZXkgY29ycmVjdGx5IG9yIHNhdmUgYSB2YWxpZCB0b2tlbiBiZWZvcmUgbWFraW5nIHRoZSByZXF1ZXN0LidcbiAgICBdLmpvaW4oJyAnKSlcbiAgfVxuXG4gIGdldEJhc2VVcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBhZGRpdGlvbmFsX3BhcnQgPSAodGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMuYWRkaXRpb25hbF9wYXJ0IHx8IHRoaXMuQlhfUkVTVF9TRVRUSU5HUy51cmxzLmFkZGl0aW9uYWxfcGFydCA9PT0gJycpXG4gICAgPyB0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5hZGRpdGlvbmFsX3BhcnRcbiAgICAgIDogREVGQVVMVF9CWF9SRVNUX1NFVFRJTkdTLnVybHMuYWRkaXRpb25hbF9wYXJ0XG5cbiAgICBpZih0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5zb3VyY2UgPT09ICdzdHJpbmcnKXtcbiAgICAgIHJldHVybiBvZihwcmVwYXJlQmFzZUFkZHJlc3ModGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMua2V5LCBhZGRpdGlvbmFsX3BhcnQpKVxuICAgIH1cblxuICAgIGNvbnN0IHN0ciA9IHRoaXMuZ2V0TG9jYWxTdG9yYWdlKHRoaXMuQlhfUkVTVF9TRVRUSU5HUy51cmxzLmtleSlcblxuICAgIHJldHVybiBvZihwcmVwYXJlQmFzZUFkZHJlc3MoKHN0cikgPyBzdHIgOiAnJywgYWRkaXRpb25hbF9wYXJ0KSlcbiAgfVxuXG4gIGdldEJhc2VVcmxFcnJvcihvcGVyYXRpb24gPSAncmVxdWVzdCcpOiBTZXNzaW9uS2V5RXJyb3Ige1xuICAgIHJldHVybiBuZXcgU2Vzc2lvbktleUVycm9yKFtcbiAgICAgIGBCYXNlIFVSTCB3YXMgbm90IHJlc29sdmVkIGZvciAke29wZXJhdGlvbn0uYCxcbiAgICAgIGB1cmxzLnNvdXJjZTogJHt0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5zb3VyY2V9LmAsXG4gICAgICBgdXJscy5rZXk6ICR7dGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMua2V5IHx8ICcoZW1wdHkpJ30uYCxcbiAgICAgICdTZXQgQlhSZXN0U2V0dGluZ3MudXJscy5rZXkgdG8gYSBVUkwgb3IgdG8gYSBsb2NhbFN0b3JhZ2Uga2V5IGNvbnRhaW5pbmcgdGhlIHBvcnRhbCBVUkwuJ1xuICAgIF0uam9pbignICcpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBdXRoQ2hlY2tlZFBsYWNlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGguc291cmNlXG5cbiAgICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIFsnQlhSZXN0U2V0dGluZ3MuYXV0aC5zb3VyY2UoKSddXG4gICAgfVxuXG4gICAgc3dpdGNoIChzb3VyY2UpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5ID09PSAnYXV0aCdcbiAgICAgICAgICA/IFsnY29va2llIFwiYXV0aFwiJ11cbiAgICAgICAgICA6IFsnd2luZG93LkJYLmJpdHJpeF9zZXNzaWQoKScsICdVUkwgcXVlcnkgXCJzZXNzaWRcIicsICdsb2NhbFN0b3JhZ2UgXCJzZXNzaWRcIicsICdjb29raWUgXCJhdXRoXCInXVxuICAgICAgY2FzZSAnbG9jYWxTdG9yYWdlJzpcbiAgICAgICAgcmV0dXJuIFtgbG9jYWxTdG9yYWdlIFwiJHt0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXl9XCJgXVxuICAgICAgY2FzZSAnb2ZmJzpcbiAgICAgICAgcmV0dXJuIFsnYXV0aG9yaXphdGlvbiBsb29rdXAgc2tpcHBlZCddXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gW2BzZXNzaW9uU3RvcmFnZSBcIiR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfVwiIGFjY2Vzc190b2tlbmBdXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRCeFNlc3NpZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJ4ID0gKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSA/ICh3aW5kb3cgYXMgYW55KS5CWCA6IHVuZGVmaW5lZFxuXG4gICAgaWYgKCFieCB8fCB0eXBlb2YgYnguYml0cml4X3Nlc3NpZCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuICcnXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKGJ4LmJpdHJpeF9zZXNzaWQoKSkgfHwgJydcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiAnJ1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VhcmNoUGFyYW0obmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyhkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2gpLmdldChuYW1lKSB8fCB1bmRlZmluZWRcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENvb2tpZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gJydcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIENvb2tpZXMuZ2V0KG5hbWUpXG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gJydcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsU3RvcmFnZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdG9yYWdlSXRlbSgnbG9jYWxTdG9yYWdlJywgbmFtZSlcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9jYWxTdG9yYWdlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIExvY2FsU3RvcmFnZS5zZXQobmFtZSwgdmFsdWUpXG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlc3Npb25JdGVtPFQ+KG5hbWU6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2Ygc2Vzc2lvblN0b3JhZ2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBTZXNzaW9uU3RvcmFnZS5nZXRJdGVtPFQ+KG5hbWUpXG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdG9yYWdlSXRlbShraW5kOiBTdG9yYWdlS2luZCwgbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3Qgc3RvcmFnZSA9IGtpbmQgPT09ICdsb2NhbFN0b3JhZ2UnXG4gICAgICA/ICh0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSAndW5kZWZpbmVkJyA/IGxvY2FsU3RvcmFnZSA6IHVuZGVmaW5lZClcbiAgICAgIDogKHR5cGVvZiBzZXNzaW9uU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcgPyBzZXNzaW9uU3RvcmFnZSA6IHVuZGVmaW5lZClcblxuICAgIGlmICghc3RvcmFnZSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHN0b3JhZ2UuZ2V0SXRlbShuYW1lKVxuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+IDApID8gdmFsdWUgOiB1bmRlZmluZWRcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iaXpwcm9jL3Rhc2svY29tcGxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIGlCWFJlc3RCaXpwcm9jVGFza0NvbXBsZXRlU3RhdHVzID1cbiAgfCAxXG4gIHwgMlxuICB8IDNcbiAgfCA0XG4gIHwgJ3llcydcbiAgfCAnbm8nXG4gIHwgJ29rJ1xuICB8ICdjYW5jZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQml6cHJvY1Rhc2tDb21wbGV0ZSB7XG4gIFRBU0tfSUQ6IG51bWJlclxuICBTVEFUVVM6IGlCWFJlc3RCaXpwcm9jVGFza0NvbXBsZXRlU3RhdHVzXG4gIENPTU1FTlQ/OiBzdHJpbmdcbiAgRklFTERTPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iaXpwcm9jL3Rhc2svZGVsZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQml6cHJvY1Rhc2tEZWxlZ2F0ZSB7XG4gIFRBU0tfSURTOiBudW1iZXJbXVxuICBGUk9NX1VTRVJfSUQ6IG51bWJlclxuICBUT19VU0VSX0lEOiBudW1iZXJcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2JpenByb2MvdGFzay9saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpQlhSZXN0UGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL2Jhc2UvYXBpLXBhZ2luYXRpb24tYngnXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Tb3J0IH0gZnJvbSAnLi4vLi4vYmFzZS9zb3J0J1xuXG5leHBvcnQgdHlwZSBpQlhSZXN0Qml6cHJvY1Rhc2tGaWVsZCA9XG4gIHwgJ0lEJ1xuICB8ICdXT1JLRkxPV19JRCdcbiAgfCAnRE9DVU1FTlRfTkFNRSdcbiAgfCAnREVTQ1JJUFRJT04nXG4gIHwgJ05BTUUnXG4gIHwgJ01PRElGSUVEJ1xuICB8ICdXT1JLRkxPV19TVEFSVEVEJ1xuICB8ICdXT1JLRkxPV19TVEFSVEVEX0JZJ1xuICB8ICdPVkVSRFVFX0RBVEUnXG4gIHwgJ1dPUktGTE9XX1RFTVBMQVRFX0lEJ1xuICB8ICdXT1JLRkxPV19URU1QTEFURV9OQU1FJ1xuICB8ICdXT1JLRkxPV19TVEFURSdcbiAgfCAnU1RBVFVTJ1xuICB8ICdVU0VSX0lEJ1xuICB8ICdVU0VSX1NUQVRVUydcbiAgfCAnTU9EVUxFX0lEJ1xuICB8ICdFTlRJVFknXG4gIHwgJ0RPQ1VNRU5UX0lEJ1xuICB8ICdBQ1RJVklUWSdcbiAgfCAnQUNUSVZJVFlfTkFNRSdcbiAgfCAnRE9DVU1FTlRfVVJMJ1xuICB8ICdQQVJBTUVURVJTJ1xuXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbUJpenByb2NUYXNrTGlzdCBleHRlbmRzIGlCWFJlc3RQYWdpbmF0aW9uIHtcbiAgc2VsZWN0PzogaUJYUmVzdEJpenByb2NUYXNrRmllbGRbXVxuICBmaWx0ZXI/OiBQYXJ0aWFsPFJlY29yZDxpQlhSZXN0Qml6cHJvY1Rhc2tGaWVsZCwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD4+XG4gIG9yZGVyPzogUGFydGlhbDxSZWNvcmQ8aUJYUmVzdEJpenByb2NUYXNrRmllbGQsIGlCWFJlc3RQYXJhbVNvcnQ+PlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RCaXpwcm9jVGFza1BhcmFtZXRlckZpZWxkIHtcbiAgSWQ6IHN0cmluZ1xuICBUeXBlOiBzdHJpbmdcbiAgTmFtZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBEZXNjcmlwdGlvbjogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBNdWx0aXBsZTogYm9vbGVhblxuICBSZXF1aXJlZDogYm9vbGVhblxuICBPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGxcbiAgU2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbFxuICBEZWZhdWx0OiB1bmtub3duXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEJpenByb2NUYXNrUGFyYW1ldGVycyB7XG4gIENvbW1lbnRMYWJlbD86IHN0cmluZ1xuICBDb21tZW50UmVxdWlyZWQ/OiAnTicgfCAnWScgfCAnWUEnIHwgJ1lSJ1xuICBTaG93Q29tbWVudD86ICdOJyB8ICdZJ1xuICBTdGF0dXNPa0xhYmVsPzogc3RyaW5nXG4gIFN0YXR1c1llc0xhYmVsPzogc3RyaW5nXG4gIFN0YXR1c05vTGFiZWw/OiBzdHJpbmdcbiAgRmllbGRzPzogaUJYUmVzdEJpenByb2NUYXNrUGFyYW1ldGVyRmllbGRbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RCaXpwcm9jVGFzayB7XG4gIElEOiBzdHJpbmdcbiAgV09SS0ZMT1dfSUQ/OiBzdHJpbmdcbiAgRE9DVU1FTlRfTkFNRT86IHN0cmluZ1xuICBERVNDUklQVElPTj86IHN0cmluZ1xuICBOQU1FPzogc3RyaW5nXG4gIE1PRElGSUVEPzogc3RyaW5nXG4gIFdPUktGTE9XX1NUQVJURUQ/OiBzdHJpbmdcbiAgV09SS0ZMT1dfU1RBUlRFRF9CWT86IHN0cmluZ1xuICBPVkVSRFVFX0RBVEU/OiBzdHJpbmcgfCBudWxsXG4gIFdPUktGTE9XX1RFTVBMQVRFX0lEPzogc3RyaW5nXG4gIFdPUktGTE9XX1RFTVBMQVRFX05BTUU/OiBzdHJpbmdcbiAgV09SS0ZMT1dfU1RBVEU/OiBzdHJpbmdcbiAgU1RBVFVTPzogc3RyaW5nXG4gIFVTRVJfSUQ/OiBzdHJpbmdcbiAgVVNFUl9TVEFUVVM/OiBzdHJpbmdcbiAgTU9EVUxFX0lEPzogc3RyaW5nXG4gIEVOVElUWT86IHN0cmluZ1xuICBET0NVTUVOVF9JRD86IHN0cmluZ1xuICBBQ1RJVklUWT86IHN0cmluZ1xuICBBQ1RJVklUWV9OQU1FPzogc3RyaW5nXG4gIERPQ1VNRU5UX1VSTD86IHN0cmluZ1xuICBQQVJBTUVURVJTPzogaUJYUmVzdEJpenByb2NUYXNrUGFyYW1ldGVyc1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYml6cHJvYy93b3JrZmxvdy9pbnN0YW5jZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RGaWx0ZXJHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi9iYXNlL2ZpbHRlci1nZW5lcmF0b3InXG5pbXBvcnQgeyBpQlhSZXN0UGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL2Jhc2UvYXBpLXBhZ2luYXRpb24tYngnXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Tb3J0IH0gZnJvbSAnLi4vLi4vYmFzZS9zb3J0J1xuXG5leHBvcnQgdHlwZSBpQlhSZXN0Qml6cHJvY1dvcmtmbG93SW5zdGFuY2VGaWVsZCA9XG4gIHwgJ0lEJ1xuICB8ICdNT0RJRklFRCdcbiAgfCAnT1dORURfVU5USUwnXG4gIHwgJ01PRFVMRV9JRCdcbiAgfCAnRU5USVRZJ1xuICB8ICdET0NVTUVOVF9JRCdcbiAgfCAnU1RBUlRFRCdcbiAgfCAnU1RBUlRFRF9CWSdcbiAgfCAnVEVNUExBVEVfSUQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQml6cHJvY1dvcmtmbG93SW5zdGFuY2VzIGV4dGVuZHMgaUJYUmVzdFBhZ2luYXRpb24ge1xuICBzZWxlY3Q/OiBpQlhSZXN0Qml6cHJvY1dvcmtmbG93SW5zdGFuY2VGaWVsZFtdXG4gIGZpbHRlcj86IGlCWFJlc3RGaWx0ZXJHZW5lcmF0b3I8UmVjb3JkPGlCWFJlc3RCaXpwcm9jV29ya2Zsb3dJbnN0YW5jZUZpZWxkLCBzdHJpbmcgfCBudW1iZXIgfCBudWxsPj5cbiAgb3JkZXI/OiBQYXJ0aWFsPFJlY29yZDxpQlhSZXN0Qml6cHJvY1dvcmtmbG93SW5zdGFuY2VGaWVsZCwgaUJYUmVzdFBhcmFtU29ydD4+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEJpenByb2NXb3JrZmxvd0luc3RhbmNlIHtcbiAgSUQ6IHN0cmluZ1xuICBNT0RJRklFRD86IHN0cmluZ1xuICBPV05FRF9VTlRJTD86IHN0cmluZyB8IG51bGxcbiAgTU9EVUxFX0lEPzogc3RyaW5nXG4gIEVOVElUWT86IHN0cmluZ1xuICBET0NVTUVOVF9JRD86IHN0cmluZ1xuICBTVEFSVEVEPzogc3RyaW5nXG4gIFNUQVJURURfQlk/OiBzdHJpbmdcbiAgVEVNUExBVEVfSUQ/OiBzdHJpbmdcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2JpenByb2Mvd29ya2Zsb3cva2lsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0UGFyYW1CaXpwcm9jV29ya2Zsb3dLaWxsIHtcbiAgSUQ6IHN0cmluZ1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYml6cHJvYy93b3JrZmxvdy90ZXJtaW5hdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQml6cHJvY1dvcmtmbG93VGVybWluYXRlIHtcbiAgSUQ6IHN0cmluZ1xuICBTVEFUVVM/OiBzdHJpbmdcbn1cbiJdfQ==
@@ -2,6 +2,12 @@
2
2
  * Файл для возможности импорта интерфейсов данного пакета в локальные проекты
3
3
  */
4
4
  export * from './bizproc/base/filedEnum';
5
+ export * from './bizproc/task/complete';
6
+ export * from './bizproc/task/delegate';
7
+ export * from './bizproc/task/list';
8
+ export * from './bizproc/workflow/instances';
9
+ export * from './bizproc/workflow/kill';
5
10
  export * from './bizproc/workflow/start';
11
+ export * from './bizproc/workflow/terminate';
6
12
  export * from './bizproc/workflow/template/list';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml6cHJvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2JpenByb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiDQpNCw0LnQuyDQtNC70Y8g0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQuNC80L/QvtGA0YLQsCDQuNC90YLQtdGA0YTQtdC50YHQvtCyINC00LDQvdC90L7Qs9C+INC/0LDQutC10YLQsCDQsiDQu9C+0LrQsNC70YzQvdGL0LUg0L/RgNC+0LXQutGC0YtcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vYml6cHJvYy9iYXNlL2ZpbGVkRW51bSdcclxuZXhwb3J0ICogZnJvbSAnLi9iaXpwcm9jL3dvcmtmbG93L3N0YXJ0J1xyXG5leHBvcnQgKiBmcm9tICcuL2JpenByb2Mvd29ya2Zsb3cvdGVtcGxhdGUvbGlzdCciXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml6cHJvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2JpenByb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiDQpNCw0LnQuyDQtNC70Y8g0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQuNC80L/QvtGA0YLQsCDQuNC90YLQtdGA0YTQtdC50YHQvtCyINC00LDQvdC90L7Qs9C+INC/0LDQutC10YLQsCDQsiDQu9C+0LrQsNC70YzQvdGL0LUg0L/RgNC+0LXQutGC0YtcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vYml6cHJvYy9iYXNlL2ZpbGVkRW51bSdcbmV4cG9ydCAqIGZyb20gJy4vYml6cHJvYy90YXNrL2NvbXBsZXRlJ1xuZXhwb3J0ICogZnJvbSAnLi9iaXpwcm9jL3Rhc2svZGVsZWdhdGUnXG5leHBvcnQgKiBmcm9tICcuL2JpenByb2MvdGFzay9saXN0J1xuZXhwb3J0ICogZnJvbSAnLi9iaXpwcm9jL3dvcmtmbG93L2luc3RhbmNlcydcbmV4cG9ydCAqIGZyb20gJy4vYml6cHJvYy93b3JrZmxvdy9raWxsJ1xuZXhwb3J0ICogZnJvbSAnLi9iaXpwcm9jL3dvcmtmbG93L3N0YXJ0J1xuZXhwb3J0ICogZnJvbSAnLi9iaXpwcm9jL3dvcmtmbG93L3Rlcm1pbmF0ZSdcbmV4cG9ydCAqIGZyb20gJy4vYml6cHJvYy93b3JrZmxvdy90ZW1wbGF0ZS9saXN0J1xuIl19