bx-rest 0.6.7 → 0.8.1
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/functions/errorHandler.mjs +34 -0
- package/esm2022/map/im/recent.mjs +14 -3
- package/esm2022/map/pull.mjs +12 -10
- package/esm2022/request-navvy/pull/config.mjs +5 -1
- package/esm2022/services/base.mjs +78 -16
- package/esm2022/services/http/HttpBX.mjs +38 -4
- package/esm2022/services/http/HttpData.mjs +2 -2
- package/esm2022/services/http/http.mjs +25 -1
- package/esm2022/services/http/sessionKey.mjs +6 -2
- package/esm2022/typification/rest/im/dialog/recent/get.mjs +1 -1
- package/esm2022/typification/settings.mjs +1 -1
- package/fesm2022/bx-rest.mjs +206 -31
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/functions/errorHandler.d.ts +10 -0
- package/map/im/recent.d.ts +2 -1
- package/package.json +1 -1
- package/request-navvy/pull/config.d.ts +4 -0
- package/services/base.d.ts +52 -0
- package/services/http/HttpBX.d.ts +1 -0
- package/typification/rest/im/dialog/recent/get.d.ts +11 -7
- package/typification/settings.d.ts +2 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export function CatchError(options) {
|
|
2
|
+
return function (target, propertyKey, descriptor) {
|
|
3
|
+
const original = descriptor.value;
|
|
4
|
+
descriptor.value = function (...args) {
|
|
5
|
+
try {
|
|
6
|
+
return original.apply(this, args);
|
|
7
|
+
}
|
|
8
|
+
catch (err) {
|
|
9
|
+
const errorInfo = {
|
|
10
|
+
message: `❌ Error in ${target.constructor.name}.${propertyKey}`,
|
|
11
|
+
args,
|
|
12
|
+
error: err instanceof Error ? err.message : String(err),
|
|
13
|
+
stack: err instanceof Error ? err.stack : new Error().stack,
|
|
14
|
+
};
|
|
15
|
+
console.error(formatError(errorInfo));
|
|
16
|
+
if (options?.rethrow)
|
|
17
|
+
throw err;
|
|
18
|
+
return options?.defaultValue;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return descriptor;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
// Общая функция форматирования
|
|
25
|
+
export function formatError(info) {
|
|
26
|
+
const stackLines = info.stack?.split('\n').slice(2).join('\n');
|
|
27
|
+
return [
|
|
28
|
+
info.message,
|
|
29
|
+
info.args ? ` • args: ${JSON.stringify(info.args)}` : '',
|
|
30
|
+
info.error ? ` • error: ${info.error}` : '',
|
|
31
|
+
` • stack trace:\n${stackLines}`,
|
|
32
|
+
].join('\n');
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvZnVuY3Rpb25zL2Vycm9ySGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQW1EO0lBQzVFLE9BQU8sVUFDTCxNQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBOEI7UUFFOUIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtRQUVqQyxVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFXO1lBQ3pDLElBQUksQ0FBQztnQkFDSCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ25DLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLE1BQU0sU0FBUyxHQUFHO29CQUNoQixPQUFPLEVBQUUsY0FBYyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxXQUFXLEVBQUU7b0JBQy9ELElBQUk7b0JBQ0osS0FBSyxFQUFFLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQ3ZELEtBQUssRUFBRSxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUs7aUJBQzVELENBQUE7Z0JBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtnQkFFckMsSUFBSSxPQUFPLEVBQUUsT0FBTztvQkFBRSxNQUFNLEdBQUcsQ0FBQTtnQkFDL0IsT0FBTyxPQUFPLEVBQUUsWUFBWSxDQUFBO1lBQzlCLENBQUM7UUFDSCxDQUFDLENBQUE7UUFFRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsK0JBQStCO0FBQy9CLE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBdUU7SUFDakcsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5RCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDMUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDN0Msc0JBQXNCLFVBQVUsRUFBRTtLQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gQ2F0Y2hFcnJvcihvcHRpb25zPzogeyByZXRocm93PzogYm9vbGVhbjsgZGVmYXVsdFZhbHVlPzogYW55IH0pIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKFxyXG4gICAgdGFyZ2V0OiBhbnksXHJcbiAgICBwcm9wZXJ0eUtleTogc3RyaW5nLFxyXG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXHJcbiAgKSB7XHJcbiAgICBjb25zdCBvcmlnaW5hbCA9IGRlc2NyaXB0b3IudmFsdWVcclxuXHJcbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpXHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnN0IGVycm9ySW5mbyA9IHtcclxuICAgICAgICAgIG1lc3NhZ2U6IGDinYwgRXJyb3IgaW4gJHt0YXJnZXQuY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleX1gLFxyXG4gICAgICAgICAgYXJncyxcclxuICAgICAgICAgIGVycm9yOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVyciksXHJcbiAgICAgICAgICBzdGFjazogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIuc3RhY2sgOiBuZXcgRXJyb3IoKS5zdGFjayxcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0RXJyb3IoZXJyb3JJbmZvKSlcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnJldGhyb3cpIHRocm93IGVyclxyXG4gICAgICAgIHJldHVybiBvcHRpb25zPy5kZWZhdWx0VmFsdWVcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZXNjcmlwdG9yXHJcbiAgfVxyXG59XHJcblxyXG4vLyDQntCx0YnQsNGPINGE0YPQvdC60YbQuNGPINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40Y9cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGluZm86IHsgbWVzc2FnZTogc3RyaW5nOyBhcmdzPzogYW55W107IGVycm9yPzogc3RyaW5nOyBzdGFjaz86IHN0cmluZyB9KTogc3RyaW5nIHtcclxuICBjb25zdCBzdGFja0xpbmVzID0gaW5mby5zdGFjaz8uc3BsaXQoJ1xcbicpLnNsaWNlKDIpLmpvaW4oJ1xcbicpXHJcbiAgcmV0dXJuIFtcclxuICAgIGluZm8ubWVzc2FnZSxcclxuICAgIGluZm8uYXJncyA/IGAgICDigKIgYXJnczogJHtKU09OLnN0cmluZ2lmeShpbmZvLmFyZ3MpfWAgOiAnJyxcclxuICAgIGluZm8uZXJyb3IgPyBgICAg4oCiIGVycm9yOiAke2luZm8uZXJyb3J9YCA6ICcnLFxyXG4gICAgYCAgIOKAoiBzdGFjayB0cmFjZTpcXG4ke3N0YWNrTGluZXN9YCxcclxuICBdLmpvaW4oJ1xcbicpXHJcbn1cclxuIl19
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
1
2
|
import { toDate, toNum } from '../../services/base';
|
|
3
|
+
import { CatchError } from '../../functions/errorHandler';
|
|
2
4
|
export class BXRestMapImRecent {
|
|
3
5
|
static get(value) {
|
|
4
6
|
return value
|
|
@@ -18,7 +20,7 @@ export class BXRestMapImRecent {
|
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
: undefined,
|
|
21
|
-
chat: i.chat
|
|
23
|
+
chat: i.chat && BXRestMapImRecent.isIBXRestImDialogRecentGetChatChatDataHttp(i.chat)
|
|
22
24
|
? {
|
|
23
25
|
...i.chat,
|
|
24
26
|
...{
|
|
@@ -26,7 +28,7 @@ export class BXRestMapImRecent {
|
|
|
26
28
|
date_create: toDate(i.chat.date_create)
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
|
-
:
|
|
31
|
+
: i.chat,
|
|
30
32
|
}
|
|
31
33
|
}))
|
|
32
34
|
: undefined;
|
|
@@ -58,5 +60,14 @@ export class BXRestMapImRecent {
|
|
|
58
60
|
}
|
|
59
61
|
: undefined;
|
|
60
62
|
}
|
|
63
|
+
static isIBXRestImDialogRecentGetChatChatDataHttp(item) {
|
|
64
|
+
return 'id' in item;
|
|
65
|
+
}
|
|
61
66
|
}
|
|
62
|
-
|
|
67
|
+
__decorate([
|
|
68
|
+
CatchError({ rethrow: true })
|
|
69
|
+
], BXRestMapImRecent, "get", null);
|
|
70
|
+
__decorate([
|
|
71
|
+
CatchError({ rethrow: true })
|
|
72
|
+
], BXRestMapImRecent, "list", null);
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvbWFwL2ltL3JlY2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUtuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFFekQsTUFBTSxPQUFPLGlCQUFpQjtJQUdyQixBQUFQLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBaUQ7UUFFeEQsT0FBTyxLQUFLO1lBQ1YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixHQUFHLENBQUM7Z0JBQ0osR0FBRztvQkFDRCxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztvQkFDekIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO3dCQUN2QixDQUFDLENBQUM7NEJBQ0EsR0FBRyxDQUFDLENBQUMsSUFBSTs0QkFDVCxHQUFHO2dDQUNELEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0NBQ3BCLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0NBQ3pGLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxD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QkFDRixDQUFDLENBQUM7aUJBQ0o7YUFDRjtZQUNELENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLElBQXlGO1FBQ3pJLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQTtJQUNyQixDQUFDO0NBQ0Y7QUFsRVE7SUFETixVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBaUM3QjtBQUdNO0lBRE4sVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO21DQTJCN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldCwgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdENoYXREYXRhSHR0cCwgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdFVzZXJEYXRhQmFzZSxcclxuICBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRIdHRwLFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2ltL2RpYWxvZy9yZWNlbnQvZ2V0J1xyXG5pbXBvcnQgeyB0b0RhdGUsIHRvTnVtIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZSdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0SW1EaWFsb2dSZWNlbnRMaXN0LFxyXG4gIGlCWFJlc3RJbURpYWxvZ1JlY2VudExpc3RIdHRwXHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvaW0vZGlhbG9nL3JlY2VudC9saXN0J1xyXG5pbXBvcnQgeyBDYXRjaEVycm9yIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2Vycm9ySGFuZGxlcidcclxuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3RNYXBJbVJlY2VudCB7XHJcblxyXG4gIEBDYXRjaEVycm9yKHsgcmV0aHJvdzogdHJ1ZSB9KVxyXG4gIHN0YXRpYyBnZXQodmFsdWU6IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEh0dHBbXSB8IHVuZGVmaW5lZCk6IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFtdIHwgdW5kZWZpbmVkIHtcclxuXHJcbiAgICAgIHJldHVybiB2YWx1ZVxyXG4gICAgICAgID8gdmFsdWUubWFwKGkgPT4gKHtcclxuICAgICAgICAgIC4uLmksXHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGRhdGVfdXBkYXRlOiB0b0RhdGUoaS5kYXRlX3VwZGF0ZSksXHJcbiAgICAgICAgICAgIGNvdW50ZXI6IHRvTnVtKGkuY291bnRlciksXHJcbiAgICAgICAgICAgIHVzZXI6IGkudXNlciAmJiBpLnVzZXIuaWRcclxuICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIC4uLmkudXNlcixcclxuICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgaWQ6IHRvTnVtKGkudXNlci5pZCksXHJcbiAgICAgICAgICAgICAgICAgIGxhc3RfYWN0aXZpdHlfZGF0ZTogaS51c2VyLmxhc3RfYWN0aXZpdHlfZGF0ZSA/IHRvRGF0ZShpLnVzZXIubGFzdF9hY3Rpdml0eV9kYXRlKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICBtb2JpbGVfbGFzdF9kYXRlOiBpLnVzZXIubW9iaWxlX2xhc3RfZGF0ZSA/IHRvRGF0ZShpLnVzZXIubW9iaWxlX2xhc3RfZGF0ZSkgOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgYWJzZW50OiBpLnVzZXIuYWJzZW50ID8gdG9EYXRlKGkudXNlci5hYnNlbnQpIDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICBjaGF0OiBpLmNoYXQgJiYgQlhSZXN0TWFwSW1SZWNlbnQuaXNJQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0Q2hhdERhdGFIdHRwKGkuY2hhdClcclxuICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIC4uLmkuY2hhdCxcclxuICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgaWQ6IHRvTnVtKGkuY2hhdC5pZCksXHJcbiAgICAgICAgICAgICAgICAgIGRhdGVfY3JlYXRlOiB0b0RhdGUoaS5jaGF0LmRhdGVfY3JlYXRlKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA6IGkuY2hhdCxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgICA6IHVuZGVmaW5lZFxyXG5cclxuICB9XHJcblxyXG4gIEBDYXRjaEVycm9yKHsgcmV0aHJvdzogdHJ1ZSB9KVxyXG4gIHN0YXRpYyBsaXN0KHZhbHVlOiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRMaXN0SHR0cCB8IHVuZGVmaW5lZCk6IGlCWFJlc3RJbURpYWxvZ1JlY2VudExpc3QgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuICh2YWx1ZSlcclxuICAgICAgPyB7XHJcbiAgICAgICAgLi4udmFsdWUsIC4uLntcclxuICAgICAgICAgIGl0ZW1zOiB2YWx1ZS5pdGVtcy5tYXAoaSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5pLCAuLi57XHJcbiAgICAgICAgICAgICAgaWQ6IHRvTnVtKGkuaWQpLFxyXG4gICAgICAgICAgICAgIGRhdGVfdXBkYXRlOiB0b0RhdGUoaS5kYXRlX3VwZGF0ZSksXHJcbiAgICAgICAgICAgICAgbGluZXM6IChpLmxpbmVzKSA/IHsuLi5pLmxpbmVzLCAuLi57ZGF0ZV9jcmVhdGU6IHRvRGF0ZShpLmxpbmVzLmRhdGVfY3JlYXRlKX19IDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHsuLi5pLm1lc3NhZ2UsIC4uLntkYXRlOiB0b0RhdGUoaS5tZXNzYWdlLmRhdGUpfX0sXHJcbiAgICAgICAgICAgICAgY2hhdDogKGkuY2hhdCkgPyB7Li4uaS5jaGF0LCAuLi57ZGF0ZV9jcmVhdGU6IHRvRGF0ZShpLmNoYXQuZGF0ZV9jcmVhdGUpfX0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgdXNlcjogKGkudXNlcilcclxuICAgICAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgICAuLi5pLnVzZXIsXHJcbiAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICBiaXJ0aGRheTogKGkudXNlci5iaXJ0aGRheSkgPyB0b0RhdGUoaS51c2VyLmJpcnRoZGF5KSA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhc3RfYWN0aXZpdHlfZGF0ZTogKGkudXNlci5sYXN0X2FjdGl2aXR5X2RhdGUpID8gdG9EYXRlKGkudXNlci5sYXN0X2FjdGl2aXR5X2RhdGUpIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vYmlsZV9sYXN0X2RhdGU6IChpLnVzZXIubW9iaWxlX2xhc3RfZGF0ZSkgPyB0b0RhdGUoaS51c2VyLm1vYmlsZV9sYXN0X2RhdGUpIDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgOiB1bmRlZmluZWRcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpc0lCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRDaGF0RGF0YUh0dHAoaXRlbTogaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdENoYXREYXRhSHR0cCB8IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRVc2VyRGF0YUJhc2UpOiBpdGVtIGlzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRDaGF0RGF0YUh0dHAge1xyXG4gICAgcmV0dXJuICdpZCcgaW4gaXRlbVxyXG4gIH1cclxufSJdfQ==
|
package/esm2022/map/pull.mjs
CHANGED
|
@@ -2,16 +2,18 @@ import { toDate } from '../services/base';
|
|
|
2
2
|
import { BXRestMapPullApplicationConfig } from './pull/application/config';
|
|
3
3
|
export class BXRestMapPull {
|
|
4
4
|
static get(value) {
|
|
5
|
-
console.log('Object.entries(value.publicChannels)', value)
|
|
6
|
-
if
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
5
|
+
// console.log('Object.entries(value.publicChannels)', value)
|
|
6
|
+
//if(value?.publicChannels) {
|
|
7
|
+
// console.log('Object.entries(value.publicChannels)',
|
|
8
|
+
// value.publicChannels, Object.entries(value.publicChannels), Object.fromEntries(Object.entries(value.publicChannels).map(([key, val]) => (
|
|
9
|
+
// [key,
|
|
10
|
+
// {
|
|
11
|
+
// ...val,
|
|
12
|
+
// start: toDate(val.start), end: toDate(val.end)
|
|
13
|
+
// } as iBXRestPullConfigPublicChannelsGet
|
|
14
|
+
// ]))) as Record<string, iBXRestPullConfigPublicChannelsGet>,)
|
|
15
|
+
//}
|
|
14
16
|
return value ? { ...BXRestMapPullApplicationConfig.get(value), ...{ serverTime: toDate(value.serverTime) } } : undefined;
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL21hcC9wdWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUUxRSxNQUFNLE9BQU8sYUFBYTtJQUN4QixNQUFNLENBQUMsR0FBRyxDQUFDLEtBQTJDO1FBQ3BELDZEQUE2RDtRQUM3RCw2QkFBNkI7UUFDM0Isc0RBQXNEO1FBQ3RELDhJQUE4STtRQUM5SSxVQUFVO1FBQ1YsUUFBUTtRQUNSLGdCQUFnQjtRQUNoQix1REFBdUQ7UUFDdkQsOENBQThDO1FBQzlDLGlFQUFpRTtRQUNuRSxHQUFHO1FBQ0gsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBSSw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFDLEVBQXlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUMvSSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGlCWFJlc3RQdWxsQ29uZmlnR2V0LFxyXG4gIGlCWFJlc3RQdWxsQ29uZmlnR2V0SHR0cFxyXG59IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3B1bGwvY29uZmlnL2dldCdcclxuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSAnLi4vc2VydmljZXMvYmFzZSdcclxuaW1wb3J0IHsgQlhSZXN0TWFwUHVsbEFwcGxpY2F0aW9uQ29uZmlnIH0gZnJvbSAnLi9wdWxsL2FwcGxpY2F0aW9uL2NvbmZpZydcclxuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3RNYXBQdWxsIHtcclxuICBzdGF0aWMgZ2V0KHZhbHVlOiBpQlhSZXN0UHVsbENvbmZpZ0dldEh0dHAgfCB1bmRlZmluZWQpOiBpQlhSZXN0UHVsbENvbmZpZ0dldCB8IHVuZGVmaW5lZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnT2JqZWN0LmVudHJpZXModmFsdWUucHVibGljQ2hhbm5lbHMpJywgdmFsdWUpXHJcbiAgICAvL2lmKHZhbHVlPy5wdWJsaWNDaGFubmVscykge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnT2JqZWN0LmVudHJpZXModmFsdWUucHVibGljQ2hhbm5lbHMpJyxcclxuICAgICAgLy8gICB2YWx1ZS5wdWJsaWNDaGFubmVscywgT2JqZWN0LmVudHJpZXModmFsdWUucHVibGljQ2hhbm5lbHMpLCBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXModmFsdWUucHVibGljQ2hhbm5lbHMpLm1hcCgoW2tleSwgdmFsXSkgPT4gKFxyXG4gICAgICAvLyAgIFtrZXksXHJcbiAgICAgIC8vICAgICB7XHJcbiAgICAgIC8vICAgICAgIC4uLnZhbCxcclxuICAgICAgLy8gICAgICAgc3RhcnQ6IHRvRGF0ZSh2YWwuc3RhcnQpLCBlbmQ6IHRvRGF0ZSh2YWwuZW5kKVxyXG4gICAgICAvLyAgICAgfSBhcyBpQlhSZXN0UHVsbENvbmZpZ1B1YmxpY0NoYW5uZWxzR2V0XHJcbiAgICAgIC8vICAgXSkpKSBhcyBSZWNvcmQ8c3RyaW5nLCBpQlhSZXN0UHVsbENvbmZpZ1B1YmxpY0NoYW5uZWxzR2V0PiwpXHJcbiAgICAvL31cclxuICAgIHJldHVybiB2YWx1ZSA/IHsuLi4gQlhSZXN0TWFwUHVsbEFwcGxpY2F0aW9uQ29uZmlnLmdldCh2YWx1ZSksIC4uLntzZXJ2ZXJUaW1lOiB0b0RhdGUodmFsdWUuc2VydmVyVGltZSl9fSBhcyBpQlhSZXN0UHVsbENvbmZpZ0dldCA6IHVuZGVmaW5lZFxyXG4gIH1cclxufSJdfQ==
|
|
@@ -13,8 +13,12 @@ export class BXRestNavvyPullConfig {
|
|
|
13
13
|
this.Navvy = new Navvy();
|
|
14
14
|
}
|
|
15
15
|
static { this.public = new BXRestMapPullChannelPublic(); }
|
|
16
|
+
/**
|
|
17
|
+
* @experimental
|
|
18
|
+
* Этот метод находится в процессе тестирования и может измениться.
|
|
19
|
+
*/
|
|
16
20
|
get() {
|
|
17
21
|
return this.Navvy.simple(this.url.get, undefined, BXRestMapPull.get);
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC1uYXZ2eS9wdWxsL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRXJFLE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDRSxRQUFHLEdBQUc7WUFDSjs7ZUFFRztZQUNILEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1NBQzVCLENBQUE7UUFFTyxVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQWM3QixDQUFDO2FBYmUsV0FBTSxHQUFHLElBQUksMEJBQTBCLEVBQUUsQUFBbkMsQ0FBbUM7SUFFdkQ7OztPQUdHO0lBQ0gsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUNaLFNBQVMsRUFDVCxhQUFhLENBQUMsR0FBRyxDQUNsQixDQUFBO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRjb25maWcsICRnZXQsICRwdWxsIH0gZnJvbSAnLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBpQlhSZXN0UHVsbENvbmZpZ0dldCwgaUJYUmVzdFB1bGxDb25maWdHZXRIdHRwIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvcHVsbCdcclxuaW1wb3J0IHsgQlhSZXN0TWFwUHVsbCB9IGZyb20gJy4uLy4uL21hcC9wdWxsJ1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBQdWxsQ2hhbm5lbFB1YmxpYyB9IGZyb20gJy4uLy4uL21hcC9jaGFubmVsL3B1YmxpYydcclxuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eVB1bGxDb25maWcge1xyXG4gIHVybCA9IHtcclxuICAgIC8qKlxyXG4gICAgICog0J/QvtC70YPRh9Cw0LXRgiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQtNC70Y8g0L/QvtC00LrQu9GO0YfQtdC90LjRjyDQsiDQstC10LEg0YHQvtC60LXRgtGDXHJcbiAgICAgKi9cclxuICAgIGdldDogWyRwdWxsLCAkY29uZmlnLCAkZ2V0XVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBOYXZ2eSA9IG5ldyBOYXZ2eSgpXHJcbiAgcHVibGljIHN0YXRpYyBwdWJsaWMgPSBuZXcgQlhSZXN0TWFwUHVsbENoYW5uZWxQdWJsaWMoKVxyXG5cclxuICAvKipcclxuICAgKiBAZXhwZXJpbWVudGFsXHJcbiAgICog0K3RgtC+0YIg0LzQtdGC0L7QtCDQvdCw0YXQvtC00LjRgtGB0Y8g0LIg0L/RgNC+0YbQtdGB0YHQtSDRgtC10YHRgtC40YDQvtCy0LDQvdC40Y8g0Lgg0LzQvtC20LXRgiDQuNC30LzQtdC90LjRgtGM0YHRjy5cclxuICAgKi9cclxuICBnZXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGU8aUJYUmVzdFB1bGxDb25maWdHZXRIdHRwLCBpQlhSZXN0UHVsbENvbmZpZ0dldD4oXHJcbiAgICAgIHRoaXMudXJsLmdldCxcclxuICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICBCWFJlc3RNYXBQdWxsLmdldFxyXG4gICAgKVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { DateTime } from 'luxon';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Преобразует значение в строку
|
|
4
|
+
*
|
|
5
|
+
* @param val
|
|
6
|
+
* @param throwError
|
|
7
|
+
*/
|
|
3
8
|
export function toStr(val, throwError = false) {
|
|
4
9
|
if (val === null || val === undefined) {
|
|
5
10
|
if (throwError) {
|
|
@@ -9,18 +14,49 @@ export function toStr(val, throwError = false) {
|
|
|
9
14
|
}
|
|
10
15
|
return String(val);
|
|
11
16
|
}
|
|
12
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Преобразует значение в число
|
|
19
|
+
*/
|
|
13
20
|
export function toNum(val, throwError = true, defValue = 0) {
|
|
14
21
|
const result = Number(val);
|
|
15
22
|
if (isNaN(result)) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
const error = new ToNumError(val);
|
|
24
|
+
if (throwError)
|
|
25
|
+
throw error;
|
|
26
|
+
// Если ошибка не пробрасывается — просто логируем
|
|
27
|
+
console.error(error.toString());
|
|
19
28
|
return defValue;
|
|
20
29
|
}
|
|
21
30
|
return result;
|
|
22
31
|
}
|
|
23
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Кастомный тип ошибки для числовых преобразований
|
|
34
|
+
*/
|
|
35
|
+
export class ToNumError extends Error {
|
|
36
|
+
constructor(value) {
|
|
37
|
+
const valueType = typeof value;
|
|
38
|
+
const formattedValue = valueType === 'object' ? JSON.stringify(value) : String(value);
|
|
39
|
+
const message = `Invalid value passed to toNum(): ${formattedValue} (type: ${valueType})`;
|
|
40
|
+
super(message);
|
|
41
|
+
this.value = value;
|
|
42
|
+
this.name = 'ToNumError';
|
|
43
|
+
// сохраняем стек вызова (отфильтровав сам конструктор)
|
|
44
|
+
if (this.stack) {
|
|
45
|
+
const stackLines = this.stack.split('\n');
|
|
46
|
+
// Удаляем строку конструктора (чтобы стек начинался с места вызова toNum)
|
|
47
|
+
this.stack = [stackLines[0], ...stackLines.slice(2)].join('\n');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
toString() {
|
|
51
|
+
return [
|
|
52
|
+
`❌ [${this.name}] ${this.message}`,
|
|
53
|
+
this.stack ? ` Stack trace:\n${this.stack}` : '',
|
|
54
|
+
].join('\n');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Преобразует значение в дату
|
|
59
|
+
*/
|
|
24
60
|
export function toDate(val, format, opt, throwError = true) {
|
|
25
61
|
if (val instanceof Date) {
|
|
26
62
|
return val;
|
|
@@ -45,7 +81,12 @@ export function toDate(val, format, opt, throwError = true) {
|
|
|
45
81
|
}
|
|
46
82
|
return new Date();
|
|
47
83
|
}
|
|
48
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Преобразует дату в строку с учетом временной зоны
|
|
86
|
+
*
|
|
87
|
+
* @param date
|
|
88
|
+
* @param throwError
|
|
89
|
+
*/
|
|
49
90
|
export function toISOStringWithTimezone(date, throwError = true) {
|
|
50
91
|
if (!(date instanceof Date)) {
|
|
51
92
|
if (throwError)
|
|
@@ -64,7 +105,12 @@ export function toISOStringWithTimezone(date, throwError = true) {
|
|
|
64
105
|
diff + pad(tzOffset / 60) +
|
|
65
106
|
':' + pad(tzOffset % 60);
|
|
66
107
|
}
|
|
67
|
-
|
|
108
|
+
/**
|
|
109
|
+
* Преобразует значение в булево значение
|
|
110
|
+
*
|
|
111
|
+
* @param val
|
|
112
|
+
* @param throwError
|
|
113
|
+
*/
|
|
68
114
|
export function toBool(val, throwError = true) {
|
|
69
115
|
switch (typeof val) {
|
|
70
116
|
case 'string':
|
|
@@ -84,7 +130,11 @@ export function toBool(val, throwError = true) {
|
|
|
84
130
|
return Boolean(val);
|
|
85
131
|
}
|
|
86
132
|
}
|
|
87
|
-
|
|
133
|
+
/**
|
|
134
|
+
* Преобразует булево значение в 'Y' или 'N'
|
|
135
|
+
*
|
|
136
|
+
* @param val
|
|
137
|
+
*/
|
|
88
138
|
export function toBXYorN(val) {
|
|
89
139
|
return val ? 'Y' : 'N';
|
|
90
140
|
}
|
|
@@ -96,7 +146,11 @@ export function getBaseUrlHttps(url, component = false) {
|
|
|
96
146
|
return encodeURI('https://' + cropUrl(url) + '/');
|
|
97
147
|
}
|
|
98
148
|
}
|
|
99
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Обрезает URL (удаляет протокол)
|
|
151
|
+
*
|
|
152
|
+
* @param url
|
|
153
|
+
*/
|
|
100
154
|
export function cropUrl(url) {
|
|
101
155
|
url = url ? url.replace('https://', '') : '';
|
|
102
156
|
url = url ? url.replace('http://', '') : '';
|
|
@@ -104,7 +158,11 @@ export function cropUrl(url) {
|
|
|
104
158
|
url = url ? url.replace('http:', '') : '';
|
|
105
159
|
return url;
|
|
106
160
|
}
|
|
107
|
-
|
|
161
|
+
/**
|
|
162
|
+
* Преобразует файл в base64
|
|
163
|
+
*
|
|
164
|
+
* @param file
|
|
165
|
+
*/
|
|
108
166
|
export function getBase64File(file) {
|
|
109
167
|
return new Promise((resolve, reject) => {
|
|
110
168
|
const reader = new FileReader();
|
|
@@ -113,7 +171,11 @@ export function getBase64File(file) {
|
|
|
113
171
|
reader.onerror = error => reject(error);
|
|
114
172
|
});
|
|
115
173
|
}
|
|
116
|
-
|
|
174
|
+
/**
|
|
175
|
+
* Получить файл в формате base64 с разбивкой на заголовок и данные
|
|
176
|
+
*
|
|
177
|
+
* @param file
|
|
178
|
+
*/
|
|
117
179
|
export async function getBase64FileLikeStr(file) {
|
|
118
180
|
const result = await getBase64File(file);
|
|
119
181
|
if (typeof result === 'string') {
|
|
@@ -126,9 +188,9 @@ export async function getBase64FileLikeStr(file) {
|
|
|
126
188
|
return undefined;
|
|
127
189
|
}
|
|
128
190
|
export function prepareBaseAddress(url, add = '') {
|
|
129
|
-
if (url.search('https://') !== 0 && url.search('http://')) {
|
|
130
|
-
|
|
131
|
-
}
|
|
191
|
+
// if (url.search('https://') !== 0 && url.search('http://')) {
|
|
192
|
+
// url = 'https://' + url
|
|
193
|
+
// }
|
|
132
194
|
if (add && add.length > 0) {
|
|
133
195
|
if (url.lastIndexOf('/') !== (url.length - 1)) {
|
|
134
196
|
url = url + '/';
|
|
@@ -140,4 +202,4 @@ export function prepareBaseAddress(url, add = '') {
|
|
|
140
202
|
}
|
|
141
203
|
return url;
|
|
142
204
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUdoQyxnQ0FBZ0M7QUFDaEMsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUFRLEVBQUUsVUFBVSxHQUFHLEtBQUs7SUFDaEQsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBQ3hFLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNwQixDQUFDO0FBRUQsK0JBQStCO0FBQy9CLE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBUSxFQUFFLFVBQVUsR0FBRyxJQUFJLEVBQUUsUUFBUSxHQUFHLENBQUM7SUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQTtRQUNqRSxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELDhCQUE4QjtBQUM5QixNQUFNLFVBQVUsTUFBTSxDQUFDLEdBQTJCLEVBQUUsTUFBZSxFQUFFLEdBQXFCLEVBQUUsVUFBVSxHQUFHLElBQUk7SUFDM0csSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FB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LE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFXLEVBQUUsTUFBMEIsRUFBRTtJQUMxRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMxRCxHQUFHLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7UUFDakIsQ0FBQztRQUVELEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDakIsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nXHJcbmltcG9ydCB7IERhdGVUaW1lT3B0aW9ucyB9IGZyb20gJ2x1eG9uL3NyYy9kYXRldGltZSdcclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0LfQvdCw0YfQtdC90LjQtSDQsiDRgdGC0YDQvtC60YNcclxuZXhwb3J0IGZ1bmN0aW9uIHRvU3RyKHZhbDogYW55LCB0aHJvd0Vycm9yID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQpIHtcclxuICAgIGlmICh0aHJvd0Vycm9yKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZTogJHt2YWx9IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gc3RyaW5nYClcclxuICAgIH1cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuICByZXR1cm4gU3RyaW5nKHZhbClcclxufVxyXG5cclxuLy8g0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGH0LjRgdC70L5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvTnVtKHZhbDogYW55LCB0aHJvd0Vycm9yID0gdHJ1ZSwgZGVmVmFsdWUgPSAwKTogbnVtYmVyIHtcclxuICBjb25zdCByZXN1bHQgPSBOdW1iZXIodmFsKVxyXG4gIGlmIChpc05hTihyZXN1bHQpKSB7XHJcbiAgICBpZiAodGhyb3dFcnJvcikge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWU6IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gbnVtYmVyJylcclxuICAgIH1cclxuICAgIHJldHVybiBkZWZWYWx1ZVxyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0XHJcbn1cclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0LfQvdCw0YfQtdC90LjQtSDQsiDQtNCw0YLRg1xyXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRlKHZhbDogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBvcHQ/OiBEYXRlVGltZU9wdGlvbnMsIHRocm93RXJyb3IgPSB0cnVlKTogRGF0ZSB7XHJcbiAgaWYgKHZhbCBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgIHJldHVybiB2YWxcclxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBpZiAoZm9ybWF0KSB7XHJcbiAgICAgIGlmIChvcHQpIHtcclxuICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWwsIGZvcm1hdCwgb3B0KS50b0pTRGF0ZSgpXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21Gb3JtYXQodmFsLCBmb3JtYXQpLnRvSlNEYXRlKClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWwpXHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHZhbClcclxuICB9XHJcblxyXG4gIGlmICh0aHJvd0Vycm9yKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKCdXcm9uZyBkYXRlIGZvcm1hdCcsIHZhbCwgZm9ybWF0KVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBkYXRlIGZvcm1hdCcpXHJcbiAgfVxyXG5cclxuICByZXR1cm4gbmV3IERhdGUoKVxyXG59XHJcblxyXG4vLyDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC00LDRgtGDINCyINGB0YLRgNC+0LrRgyDRgSDRg9GH0LXRgtC+0Lwg0LLRgNC10LzQtdC90L3QvtC5INC30L7QvdGLXHJcbmV4cG9ydCBmdW5jdGlvbiB0b0lTT1N0cmluZ1dpdGhUaW1lem9uZShkYXRlOiBEYXRlLCB0aHJvd0Vycm9yID0gdHJ1ZSk6IHN0cmluZyB7XHJcbiAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICBpZiAodGhyb3dFcnJvcikgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZhbHVlOiBub3QgYSB2YWxpZCBEYXRlIG9iamVjdCcpXHJcbiAgICByZXR1cm4gJydcclxuICB9XHJcblxyXG4gIGNvbnN0IHR6T2Zmc2V0ID0gLWRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKVxyXG4gIGNvbnN0IGRpZmYgPSB0ek9mZnNldCA+PSAwID8gJysnIDogJy0nXHJcbiAgY29uc3QgcGFkID0gKG46IG51bWJlcikgPT4gYCR7TWF0aC5mbG9vcihNYXRoLmFicyhuKSl9YC5wYWRTdGFydCgyLCAnMCcpXHJcbiAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAnLScgKyBwYWQoZGF0ZS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgJy0nICsgcGFkKGRhdGUuZ2V0RGF0ZSgpKSArXHJcbiAgICAnVCcgKyBwYWQoZGF0ZS5nZXRIb3VycygpKSArXHJcbiAgICAnOicgKyBwYWQoZGF0ZS5nZXRNaW51dGVzKCkpICtcclxuICAgICc6JyArIHBhZChkYXRlLmdldFNlY29uZHMoKSkgK1xyXG4gICAgZGlmZiArIHBhZCh0ek9mZnNldCAvIDYwKSArXHJcbiAgICAnOicgKyBwYWQodHpPZmZzZXQgJSA2MClcclxufVxyXG5cclxuLy8g0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINCx0YPQu9C10LLQviDQt9C90LDRh9C10L3QuNC1XHJcbmV4cG9ydCBmdW5jdGlvbiB0b0Jvb2wodmFsOiBhbnksIHRocm93RXJyb3IgPSB0cnVlKTogYm9vbGVhbiB7XHJcbiAgc3dpdGNoICh0eXBlb2YgdmFsKSB7XHJcbiAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICB2YWwgPSB2YWwudG9Mb3dlckNhc2UoKVxyXG4gICAgICBpZiAodmFsID09PSAnbicgfHwgdmFsID09PSAneScpIHsgLy8g0LHQuNGC0YDQuNC60YHQvtCy0YvQtSDQv9C+0L3Rj9GC0LjRjyDQviBib29sXHJcbiAgICAgICAgcmV0dXJuIHZhbCA9PT0gJ3knXHJcbiAgICAgIH0gZWxzZSBpZiAodmFsID09PSAndHJ1ZScgfHwgdmFsID09PSAnZmFsc2UnKSB7IC8vINCx0LjRgtGA0LjQutGB0L7QstGL0LUg0L/QvtC90Y/RgtC40Y8g0L4gYm9vbFxyXG4gICAgICAgIHJldHVybiB2YWwgPT09ICd0cnVlJ1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aHJvd0Vycm9yKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWU6IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYm9vbGVhbicpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgIH1cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBCb29sZWFuKHZhbClcclxuICB9XHJcbn1cclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0LHRg9C70LXQstC+INC30L3QsNGH0LXQvdC40LUg0LIgJ1knINC40LvQuCAnTidcclxuZXhwb3J0IGZ1bmN0aW9uIHRvQlhZb3JOKHZhbDogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHZhbCA/ICdZJyA6ICdOJ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzZVVybEh0dHBzKHVybDogc3RyaW5nLCBjb21wb25lbnQgPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgaWYgKGNvbXBvbmVudCkge1xyXG4gICAgcmV0dXJuIGVuY29kZVVSSShjcm9wVXJsKHVybCkgKyAnLycpXHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBlbmNvZGVVUkkoJ2h0dHBzOi8vJyArIGNyb3BVcmwodXJsKSArICcvJylcclxuICB9XHJcbn1cclxuXHJcbi8vINCe0LHRgNC10LfQsNC10YIgVVJMICjRg9C00LDQu9GP0LXRgiDQv9GA0L7RgtC+0LrQvtC7KVxyXG5leHBvcnQgZnVuY3Rpb24gY3JvcFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgdXJsID0gdXJsID8gdXJsLnJlcGxhY2UoJ2h0dHBzOi8vJywgJycpIDogJydcclxuICB1cmwgPSB1cmwgPyB1cmwucmVwbGFjZSgnaHR0cDovLycsICcnKSA6ICcnXHJcbiAgdXJsID0gdXJsID8gdXJsLnJlcGxhY2UoJ2h0dHBzOicsICcnKSA6ICcnXHJcbiAgdXJsID0gdXJsID8gdXJsLnJlcGxhY2UoJ2h0dHA6JywgJycpIDogJydcclxuICByZXR1cm4gdXJsXHJcbn1cclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0YTQsNC50Lsg0LIgYmFzZTY0XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNlNjRGaWxlKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXHJcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKVxyXG4gICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpXHJcbiAgICByZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcilcclxuICB9KVxyXG59XHJcblxyXG4vLyDQn9C+0LvRg9GH0LjRgtGMINGE0LDQudC7INCyINGE0L7RgNC80LDRgtC1IGJhc2U2NCDRgSDRgNCw0LfQsdC40LLQutC+0Lkg0L3QsCDQt9Cw0LPQvtC70L7QstC+0Log0Lgg0LTQsNC90L3Ri9C1XHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYXNlNjRGaWxlTGlrZVN0cihmaWxlOiBGaWxlKTogUHJvbWlzZTx7XHJcbiAgaGVhZGVyOiBzdHJpbmcsXHJcbiAgdmFsOiBzdHJpbmdcclxufSB8IHVuZGVmaW5lZD4ge1xyXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldEJhc2U2NEZpbGUoZmlsZSlcclxuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpIHtcclxuICAgIGNvbnN0IHNwbGl0ID0gcmVzdWx0LnNwbGl0KCcsJylcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcjogc3BsaXRbMF0sXHJcbiAgICAgIHZhbDogc3BsaXRbMV1cclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHVuZGVmaW5lZFxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUJhc2VBZGRyZXNzKHVybDogc3RyaW5nLCBhZGQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnKSB7XHJcbiAgaWYgKHVybC5zZWFyY2goJ2h0dHBzOi8vJykgIT09IDAgJiYgdXJsLnNlYXJjaCgnaHR0cDovLycpKSB7XHJcbiAgICB1cmwgPSAnaHR0cHM6Ly8nICsgdXJsXHJcbiAgfVxyXG5cclxuICBpZiAoYWRkICYmIGFkZC5sZW5ndGggPiAwKSB7XHJcbiAgICBpZiAodXJsLmxhc3RJbmRleE9mKCcvJykgIT09ICh1cmwubGVuZ3RoIC0gMSkpIHtcclxuICAgICAgdXJsID0gdXJsICsgJy8nXHJcbiAgICB9XHJcblxyXG4gICAgdXJsID0gdXJsICsgYWRkXHJcbiAgfVxyXG5cclxuICBpZiAodXJsLmxhc3RJbmRleE9mKCcvJykgIT09ICh1cmwubGVuZ3RoIC0gMSkpIHtcclxuICAgIHVybCA9IHVybCArICcvJ1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHVybFxyXG59Il19
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUdoQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBUSxFQUFFLFVBQVUsR0FBRyxLQUFLO0lBQ2hELElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUMsQ0FBQTtRQUN4RSxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDcEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUFRLEVBQUUsVUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsQ0FBQztJQUM3RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFMUIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVqQyxJQUFJLFVBQVU7WUFBRSxNQUFNLEtBQUssQ0FBQTtRQUUzQixrREFBa0Q7UUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUMvQixPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLEtBQUs7SUFDbkMsWUFBNEIs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O0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBVyxFQUFFLE1BQTBCLEVBQUU7SUFDMUUsK0RBQStEO0lBQy9ELDJCQUEyQjtJQUMzQixJQUFJO0lBRUosSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7UUFDakIsQ0FBQztRQUVELEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDakIsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nXHJcbmltcG9ydCB7IERhdGVUaW1lT3B0aW9ucyB9IGZyb20gJ2x1eG9uL3NyYy9kYXRldGltZSdcclxuXHJcbi8qKlxyXG4gKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC30L3QsNGH0LXQvdC40LUg0LIg0YHRgtGA0L7QutGDXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWxcclxuICogQHBhcmFtIHRocm93RXJyb3JcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0b1N0cih2YWw6IGFueSwgdGhyb3dFcnJvciA9IGZhbHNlKTogc3RyaW5nIHtcclxuICBpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAodGhyb3dFcnJvcikge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdmFsdWU6ICR7dmFsfSBjYW5ub3QgYmUgY29udmVydGVkIHRvIHN0cmluZ2ApXHJcbiAgICB9XHJcbiAgICByZXR1cm4gJydcclxuICB9XHJcbiAgcmV0dXJuIFN0cmluZyh2YWwpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC30L3QsNGH0LXQvdC40LUg0LIg0YfQuNGB0LvQvlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvTnVtKHZhbDogYW55LCB0aHJvd0Vycm9yID0gdHJ1ZSwgZGVmVmFsdWUgPSAwKTogbnVtYmVyIHtcclxuICBjb25zdCByZXN1bHQgPSBOdW1iZXIodmFsKVxyXG5cclxuICBpZiAoaXNOYU4ocmVzdWx0KSkge1xyXG4gICAgY29uc3QgZXJyb3IgPSBuZXcgVG9OdW1FcnJvcih2YWwpXHJcblxyXG4gICAgaWYgKHRocm93RXJyb3IpIHRocm93IGVycm9yXHJcblxyXG4gICAgLy8g0JXRgdC70Lgg0L7RiNC40LHQutCwINC90LUg0L/RgNC+0LHRgNCw0YHRi9Cy0LDQtdGC0YHRjyDigJQg0L/RgNC+0YHRgtC+INC70L7Qs9C40YDRg9C10LxcclxuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IudG9TdHJpbmcoKSlcclxuICAgIHJldHVybiBkZWZWYWx1ZVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlc3VsdFxyXG59XHJcblxyXG4vKipcclxuICog0JrQsNGB0YLQvtC80L3Ri9C5INGC0LjQvyDQvtGI0LjQsdC60Lgg0LTQu9GPINGH0LjRgdC70L7QstGL0YUg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjQuVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRvTnVtRXJyb3IgZXh0ZW5kcyBFcnJvciB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHR5cGVvZiB2YWx1ZVxyXG4gICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPVxyXG4gICAgICB2YWx1ZVR5cGUgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogU3RyaW5nKHZhbHVlKVxyXG4gICAgY29uc3QgbWVzc2FnZSA9IGBJbnZhbGlkIHZhbHVlIHBhc3NlZCB0byB0b051bSgpOiAke2Zvcm1hdHRlZFZhbHVlfSAodHlwZTogJHt2YWx1ZVR5cGV9KWBcclxuICAgIHN1cGVyKG1lc3NhZ2UpXHJcbiAgICB0aGlzLm5hbWUgPSAnVG9OdW1FcnJvcidcclxuXHJcbiAgICAvLyDRgdC+0YXRgNCw0L3Rj9C10Lwg0YHRgtC10Log0LLRi9C30L7QstCwICjQvtGC0YTQuNC70YzRgtGA0L7QstCw0LIg0YHQsNC8INC60L7QvdGB0YLRgNGD0LrRgtC+0YApXHJcbiAgICBpZiAodGhpcy5zdGFjaykge1xyXG4gICAgICBjb25zdCBzdGFja0xpbmVzID0gdGhpcy5zdGFjay5zcGxpdCgnXFxuJylcclxuICAgICAgLy8g0KPQtNCw0LvRj9C10Lwg0YHRgtGA0L7QutGDINC60L7QvdGB0YLRgNGD0LrRgtC+0YDQsCAo0YfRgtC+0LHRiyDRgdGC0LXQuiDQvdCw0YfQuNC90LDQu9GB0Y8g0YEg0LzQtdGB0YLQsCDQstGL0LfQvtCy0LAgdG9OdW0pXHJcbiAgICAgIHRoaXMuc3RhY2sgPSBbc3RhY2tMaW5lc1swXSwgLi4uc3RhY2tMaW5lcy5zbGljZSgyKV0uam9pbignXFxuJylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICBg4p2MIFske3RoaXMubmFtZX1dICR7dGhpcy5tZXNzYWdlfWAsXHJcbiAgICAgIHRoaXMuc3RhY2sgPyBgICAgU3RhY2sgdHJhY2U6XFxuJHt0aGlzLnN0YWNrfWAgOiAnJyxcclxuICAgIF0uam9pbignXFxuJylcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC30L3QsNGH0LXQvdC40LUg0LIg0LTQsNGC0YNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGUodmFsOiBudW1iZXIgfCBzdHJpbmcgfCBEYXRlLCBmb3JtYXQ/OiBzdHJpbmcsIG9wdD86IERhdGVUaW1lT3B0aW9ucywgdGhyb3dFcnJvciA9IHRydWUpOiBEYXRlIHtcclxuICBpZiAodmFsIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgcmV0dXJuIHZhbFxyXG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcclxuICAgIGlmIChmb3JtYXQpIHtcclxuICAgICAgaWYgKG9wdCkge1xyXG4gICAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tRm9ybWF0KHZhbCwgZm9ybWF0LCBvcHQpLnRvSlNEYXRlKClcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWwsIGZvcm1hdCkudG9KU0RhdGUoKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbClcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodmFsKVxyXG4gIH1cclxuXHJcbiAgaWYgKHRocm93RXJyb3IpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoJ1dyb25nIGRhdGUgZm9ybWF0JywgdmFsLCBmb3JtYXQpXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1dyb25nIGRhdGUgZm9ybWF0JylcclxuICB9XHJcblxyXG4gIHJldHVybiBuZXcgRGF0ZSgpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC00LDRgtGDINCyINGB0YLRgNC+0LrRgyDRgSDRg9GH0LXRgtC+0Lwg0LLRgNC10LzQtdC90L3QvtC5INC30L7QvdGLXHJcbiAqXHJcbiAqIEBwYXJhbSBkYXRlXHJcbiAqIEBwYXJhbSB0aHJvd0Vycm9yXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdG9JU09TdHJpbmdXaXRoVGltZXpvbmUoZGF0ZTogRGF0ZSwgdGhyb3dFcnJvciA9IHRydWUpOiBzdHJpbmcge1xyXG4gIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkge1xyXG4gICAgaWYgKHRocm93RXJyb3IpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2YWx1ZTogbm90IGEgdmFsaWQgRGF0ZSBvYmplY3QnKVxyXG4gICAgcmV0dXJuICcnXHJcbiAgfVxyXG5cclxuICBjb25zdCB0ek9mZnNldCA9IC1kYXRlLmdldFRpbWV6b25lT2Zmc2V0KClcclxuICBjb25zdCBkaWZmID0gdHpPZmZzZXQgPj0gMCA/ICcrJyA6ICctJ1xyXG4gIGNvbnN0IHBhZCA9IChuOiBudW1iZXIpID0+IGAke01hdGguZmxvb3IoTWF0aC5hYnMobikpfWAucGFkU3RhcnQoMiwgJzAnKVxyXG4gIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgJy0nICsgcGFkKGRhdGUuZ2V0TW9udGgoKSArIDEpICtcclxuICAgICctJyArIHBhZChkYXRlLmdldERhdGUoKSkgK1xyXG4gICAgJ1QnICsgcGFkKGRhdGUuZ2V0SG91cnMoKSkgK1xyXG4gICAgJzonICsgcGFkKGRhdGUuZ2V0TWludXRlcygpKSArXHJcbiAgICAnOicgKyBwYWQoZGF0ZS5nZXRTZWNvbmRzKCkpICtcclxuICAgIGRpZmYgKyBwYWQodHpPZmZzZXQgLyA2MCkgK1xyXG4gICAgJzonICsgcGFkKHR6T2Zmc2V0ICUgNjApXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC30L3QsNGH0LXQvdC40LUg0LIg0LHRg9C70LXQstC+INC30L3QsNGH0LXQvdC40LVcclxuICpcclxuICogQHBhcmFtIHZhbFxyXG4gKiBAcGFyYW0gdGhyb3dFcnJvclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvQm9vbCh2YWw6IGFueSwgdGhyb3dFcnJvciA9IHRydWUpOiBib29sZWFuIHtcclxuICBzd2l0Y2ggKHR5cGVvZiB2YWwpIHtcclxuICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgIHZhbCA9IHZhbC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIGlmICh2YWwgPT09ICduJyB8fCB2YWwgPT09ICd5JykgeyAvLyDQsdC40YLRgNC40LrRgdC+0LLRi9C1INC/0L7QvdGP0YLQuNGPINC+IGJvb2xcclxuICAgICAgICByZXR1cm4gdmFsID09PSAneSdcclxuICAgICAgfSBlbHNlIGlmICh2YWwgPT09ICd0cnVlJyB8fCB2YWwgPT09ICdmYWxzZScpIHsgLy8g0LHQuNGC0YDQuNC60YHQvtCy0YvQtSDQv9C+0L3Rj9GC0LjRjyDQviBib29sXHJcbiAgICAgICAgcmV0dXJuIHZhbCA9PT0gJ3RydWUnXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRocm93RXJyb3IpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2YWx1ZTogY2Fubm90IGJlIGNvbnZlcnRlZCB0byBib29sZWFuJylcclxuICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgICAgfVxyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIEJvb2xlYW4odmFsKVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0LHRg9C70LXQstC+INC30L3QsNGH0LXQvdC40LUg0LIgJ1knINC40LvQuCAnTidcclxuICpcclxuICogQHBhcmFtIHZhbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvQlhZb3JOKHZhbDogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHZhbCA/ICdZJyA6ICdOJ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzZVVybEh0dHBzKHVybDogc3RyaW5nLCBjb21wb25lbnQgPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgaWYgKGNvbXBvbmVudCkge1xyXG4gICAgcmV0dXJuIGVuY29kZVVSSShjcm9wVXJsKHVybCkgKyAnLycpXHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBlbmNvZGVVUkkoJ2h0dHBzOi8vJyArIGNyb3BVcmwodXJsKSArICcvJylcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQntCx0YDQtdC30LDQtdGCIFVSTCAo0YPQtNCw0LvRj9C10YIg0L/RgNC+0YLQvtC60L7QuylcclxuICpcclxuICogQHBhcmFtIHVybFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyb3BVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIHVybCA9IHVybCA/IHVybC5yZXBsYWNlKCdodHRwczovLycsICcnKSA6ICcnXHJcbiAgdXJsID0gdXJsID8gdXJsLnJlcGxhY2UoJ2h0dHA6Ly8nLCAnJykgOiAnJ1xyXG4gIHVybCA9IHVybCA/IHVybC5yZXBsYWNlKCdodHRwczonLCAnJykgOiAnJ1xyXG4gIHVybCA9IHVybCA/IHVybC5yZXBsYWNlKCdodHRwOicsICcnKSA6ICcnXHJcbiAgcmV0dXJuIHVybFxyXG59XHJcblxyXG4vKipcclxuICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDRhNCw0LnQuyDQsiBiYXNlNjRcclxuICpcclxuICogQHBhcmFtIGZpbGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNlNjRGaWxlKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXHJcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKVxyXG4gICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpXHJcbiAgICByZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcilcclxuICB9KVxyXG59XHJcblxyXG4vKipcclxuICog0J/QvtC70YPRh9C40YLRjCDRhNCw0LnQuyDQsiDRhNC+0YDQvNCw0YLQtSBiYXNlNjQg0YEg0YDQsNC30LHQuNCy0LrQvtC5INC90LAg0LfQsNCz0L7Qu9C+0LLQvtC6INC4INC00LDQvdC90YvQtVxyXG4gKlxyXG4gKiBAcGFyYW0gZmlsZVxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhc2U2NEZpbGVMaWtlU3RyKGZpbGU6IEZpbGUpOiBQcm9taXNlPHtcclxuICBoZWFkZXI6IHN0cmluZyxcclxuICB2YWw6IHN0cmluZ1xyXG59IHwgdW5kZWZpbmVkPiB7XHJcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0QmFzZTY0RmlsZShmaWxlKVxyXG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xyXG4gICAgY29uc3Qgc3BsaXQgPSByZXN1bHQuc3BsaXQoJywnKVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaGVhZGVyOiBzcGxpdFswXSxcclxuICAgICAgdmFsOiBzcGxpdFsxXVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gdW5kZWZpbmVkXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlQmFzZUFkZHJlc3ModXJsOiBzdHJpbmcsIGFkZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gJycpIHtcclxuICAvLyBpZiAodXJsLnNlYXJjaCgnaHR0cHM6Ly8nKSAhPT0gMCAmJiB1cmwuc2VhcmNoKCdodHRwOi8vJykpIHtcclxuICAvLyAgIHVybCA9ICdodHRwczovLycgKyB1cmxcclxuICAvLyB9XHJcblxyXG4gIGlmIChhZGQgJiYgYWRkLmxlbmd0aCA+IDApIHtcclxuICAgIGlmICh1cmwubGFzdEluZGV4T2YoJy8nKSAhPT0gKHVybC5sZW5ndGggLSAxKSkge1xyXG4gICAgICB1cmwgPSB1cmwgKyAnLydcclxuICAgIH1cclxuXHJcbiAgICB1cmwgPSB1cmwgKyBhZGRcclxuICB9XHJcblxyXG4gIGlmICh1cmwubGFzdEluZGV4T2YoJy8nKSAhPT0gKHVybC5sZW5ndGggLSAxKSkge1xyXG4gICAgdXJsID0gdXJsICsgJy8nXHJcbiAgfVxyXG5cclxuICByZXR1cm4gdXJsXHJcbn0iXX0=
|
|
@@ -69,27 +69,61 @@ export class HttpBXServices extends HttpServices {
|
|
|
69
69
|
}
|
|
70
70
|
httpPost(url, params = {}) {
|
|
71
71
|
const paramsClone = clone(params);
|
|
72
|
+
const key = this.session.getKeyAuth();
|
|
72
73
|
let auth = this.session.getAuthParams();
|
|
73
74
|
const checkIsOn = this.session.getCheckAuthParamsIsOn();
|
|
74
|
-
if (checkIsOn) {
|
|
75
|
+
if (checkIsOn && key === 'OAuth2') {
|
|
75
76
|
if (!auth && BXRestSettings.date.auth.source !== 'off') {
|
|
76
77
|
throw new Error('Authorization required (post)');
|
|
77
78
|
}
|
|
78
|
-
paramsClone[
|
|
79
|
+
paramsClone[key] = auth;
|
|
79
80
|
}
|
|
80
81
|
return this.session.getBaseUrl().pipe(switchMap((baseUrl) => {
|
|
81
82
|
if (!baseUrl) {
|
|
82
83
|
return throwError(() => new Error('get base url error'));
|
|
83
84
|
}
|
|
84
85
|
const fullUrl = prepareBaseAddress(baseUrl) + url;
|
|
85
|
-
|
|
86
|
+
if (auth === 'sessid') {
|
|
87
|
+
// Преобразуем параметры в формат x-www-form-urlencoded
|
|
88
|
+
const bodyString = this.serializeBitrixParams(paramsClone);
|
|
89
|
+
return from(this.axiosInstance.post(fullUrl, bodyString, {
|
|
90
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
91
|
+
}).then((response) => response.data));
|
|
92
|
+
}
|
|
86
93
|
return from(this.axiosInstance.post(fullUrl, paramsClone, {
|
|
94
|
+
withCredentials: key === 'OAuth2',
|
|
87
95
|
headers: {
|
|
88
96
|
'Content-Type': 'application/json',
|
|
89
97
|
}
|
|
90
98
|
}).then((response) => response.data));
|
|
91
99
|
}));
|
|
92
100
|
}
|
|
101
|
+
serializeBitrixParams(obj, prefix = '') {
|
|
102
|
+
const pairs = [];
|
|
103
|
+
for (const key in obj) {
|
|
104
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key))
|
|
105
|
+
continue;
|
|
106
|
+
const value = obj[key];
|
|
107
|
+
const prefixedKey = prefix ? `${prefix}[${key}]` : key;
|
|
108
|
+
if (Array.isArray(value)) {
|
|
109
|
+
value.forEach((item) => {
|
|
110
|
+
if (typeof item === 'object') {
|
|
111
|
+
pairs.push(this.serializeBitrixParams(item, `${prefixedKey}[]`));
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
pairs.push(`${encodeURIComponent(prefixedKey)}[]=${encodeURIComponent(item)}`);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
else if (typeof value === 'object' && value !== null) {
|
|
119
|
+
pairs.push(this.serializeBitrixParams(value, prefixedKey));
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
pairs.push(`${encodeURIComponent(prefixedKey)}=${encodeURIComponent(value)}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return pairs.join('&');
|
|
126
|
+
}
|
|
93
127
|
// Мб не работает
|
|
94
128
|
httpGet(url, params = {}) {
|
|
95
129
|
if (params === null) {
|
|
@@ -119,4 +153,4 @@ export class HttpBXServices extends HttpServices {
|
|
|
119
153
|
return arr.join('.');
|
|
120
154
|
}
|
|
121
155
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBS3JDLE9BQU8sT0FBTyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsWUFBWTtJQUU5Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFPLEtBQXlEO1FBRXBFLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQVMsSUFBSSxDQUFDLFlBQVksQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQSxDQUFDLG1CQUFtQjtRQUNuQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUEsQ0FBQywyQ0FBMkM7UUFDN0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQy9ELFFBQVEsQ0FBQyxDQUFDLENBQUMs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QUksQ0FBQyxDQUNwQyxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsR0FBYTtRQUN6QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgZm9ya0pvaW4sIGZyb20gfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2VzIH0gZnJvbSAnLi9odHRwJ1xyXG5pbXBvcnQge1xyXG4gIGlCYXRjaFJlcXVlc3RBbnN3ZXIsIGlCYXRjaFJlcXVlc3RQYXJhbSwgaUJhdGNoUmVxdWVzdFBhcmFtQXJyLCBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwLCBrZXlCYXRjaCxcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbSdcclxuaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvYW5zd2VyJ1xyXG5pbXBvcnQgZmxhdHRlbiBmcm9tICdqdXN0LWZsYXR0ZW4taXQnXHJcbmltcG9ydCB7IGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXHJcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcydcclxuaW1wb3J0IHsgcHJlcGFyZUJhc2VBZGRyZXNzIH0gZnJvbSAnLi4vYmFzZSdcclxuaW1wb3J0IHsgQlhSZXN0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9zZXR0aW5ncydcclxuXHJcbmV4cG9ydCBjbGFzcyBIdHRwQlhTZXJ2aWNlcyBleHRlbmRzIEh0dHBTZXJ2aWNlcyB7XHJcblxyXG4gIC8qKlxyXG4gICAqINCt0YLQviDQv9C40LfQtNC10YYg0LAg0L3QtSDQvNC10YLQvtC0XHJcbiAgICogVE9ETzog0KPQtNCw0LvQuNGC0Ywg0LTQsNC90L3Ri9C5INC80LXRgtC+0LQg0L/QvtGB0LvQtSDRgNC10LDQu9C40LfQsNGG0LjQuCDQtdCz0L4g0LIg0YDQsNC30LTQtdC70LUgTmF2dnlcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICBicmFuY2g8VCwgQT4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKVxyXG4gICAgOiBPYnNlcnZhYmxlPGlCYXRjaFJlcXVlc3RBbnN3ZXI8QT5bXSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IHByZXBhcmVQYXJhbSA9IE9iamVjdC5lbnRyaWVzPHN0cmluZz4odGhpcy5wcmVwYXJlQmF0Y2g8VD4ocGFyYW0pKVxyXG4gICAgY29uc3Qgc2l6ZSA9IDUwIC8vINCx0L7Qu9GM0YjQtSDQvdC1INC+0YLQtNCw0YHRglxyXG4gICAgbGV0IHN1YmFycmF5ID0gW10gLy/QvNCw0YHRgdC40LIg0LIg0LrQvtGC0L7RgNGL0Lkg0LHRg9C00LXRgiDQstGL0LLQtdC00LXQvSDRgNC10LfRg9C70YzRgtCw0YIuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGguY2VpbChwcmVwYXJlUGFyYW0ubGVuZ3RoIC8gc2l6ZSk7IGkrKykge1xyXG4gICAgICBzdWJhcnJheVtpXSA9IHByZXBhcmVQYXJhbS5zbGljZSgoaSAqIHNpemUpLCAoaSAqIHNpemUpICsgc2l6ZSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ya0pvaW4oXHJcbiAgICAgIHN1YmFycmF5Lm1hcChpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwUG9zdCgnYmF0Y2guanNvbicsIHtcclxuICAgICAgICAgIGhhbHQ6IDAsXHJcbiAgICAgICAgICBjbWQ6IE9iamVjdC5hc3NpZ24oe30sIC4uLmkubWFwKHggPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1t4WzBdXTogeFsxXX1cclxuICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pXHJcbiAgICApIGFzIE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdPlxyXG4gIH1cclxuXHJcbiAgcHJlcGFyZUJhdGNoPFQ+KHBhcmFtOiBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gfCBpQmF0Y2hSZXF1ZXN0UGFyYW08VD5bXSk6IGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAge1xyXG4gICAgbGV0IHJlczogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCA9IE9iamVjdC5rZXlzKHBhcmFtKS5yZWR1Y2UoXHJcbiAgICAgIChvYmosIGtleSkgPT4ge1xyXG4gICAgICAgIG9ialtrZXldID0gJydcclxuICAgICAgICByZXR1cm4gb2JqXHJcbiAgICAgIH0sXHJcbiAgICAgIHt9IGFzIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHBcclxuICAgIClcclxuICAgIGZvciAobGV0IGtleSBpbiBwYXJhbSkge1xyXG4gICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGtleSA9PT0gJ251bWJlcicgJiYgcGFyYW1ba2V5XS5wYXJhbSkge1xyXG4gICAgICAgIHJlc1trZXldID0gcGFyYW1ba2V5XS5uYW1lICsgJz8nICsgcXMuc3RyaW5naWZ5KHBhcmFtW2tleV0ucGFyYW0sIHthcnJheUZvcm1hdDogJ2JyYWNrZXRzJ30pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXNcclxuICB9XHJcblxyXG4gIG1hcEJyYW5jaFJlc3VsdDxUPihyZXM6IGlCYXRjaFJlcXVlc3RBbnN3ZXI8VD5bXSkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PlxyXG4gICAgICAoaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkpICYmIGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpLnJlc3VsdCkpID8gaS5yZXN1bHQucmVzdWx0IDogdW5kZWZpbmVkKVxyXG4gICAgKSBhcyBSZWNvcmQ8a2V5QmF0Y2gsIFQ+XHJcbiAgfVxyXG5cclxuICBtYXBCcmFuY2hSZXN1bHRXaXRob3V0S2V5PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKTogVFtdIHtcclxuICAgIHJldHVybiBmbGF0dGVuPFQ+KE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PlxyXG4gICAgICAoaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkpICYmIGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpLnJlc3VsdCkpXHJcbiAgICAgICAgPyBpLnJlc3VsdC5yZXN1bHRcclxuICAgICAgICA6IHVuZGVmaW5lZCkpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQntGB0L3QvtCy0L3QvtC5INC80LXRgtC+0LQg0LTQu9GPINC30LDQv9GA0L7RgdC+0LJcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIHBhcmFtc1xyXG4gICAqL1xyXG4gIHBvc3Q8VD4obmFtZTogc3RyaW5nW10sIHBhcmFtczogYW55ID0ge30pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBQb3N0PGlCWFJlc3RBbnN3ZXI8VD4+KHRoaXMuZ2V0TmFtZU1ldGhvZChuYW1lKSwgcGFyYW1zKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0JLRgtC+0YDQvtGB0YLQtdC/0LXQvdC90YvQuSDQvNC10YLQvtC0INC00LvRjyDQt9Cw0L/RgNC+0YHQvtCyLiDQn9C+INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0LvRg9GH0YjQtSDQvdC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjFxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgZ2V0PFQ+KG5hbWU6IHN0cmluZ1tdLCBwYXJhbXM6IGFueSA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwR2V0PGlCWFJlc3RBbnN3ZXI8VD4+KHRoaXMuZ2V0TmFtZU1ldGhvZChuYW1lKSwgcGFyYW1zKVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaHR0cFBvc3Q8VD4odXJsOiBzdHJpbmcsIHBhcmFtczogYW55ID0ge30pOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcclxuICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICBjb25zdCBjaGVja0lzT24gPSB0aGlzLnNlc3Npb24uZ2V0Q2hlY2tBdXRoUGFyYW1zSXNPbigpXHJcbiAgICBpZiAoY2hlY2tJc09uKSB7XHJcbiAgICAgIGlmICghYXV0aCAmJiBCWFJlc3RTZXR0aW5ncy5kYXRlLmF1dGguc291cmNlICE9PSAnb2ZmJykge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQXV0aG9yaXphdGlvbiByZXF1aXJlZCAocG9zdCknKVxyXG4gICAgICB9XHJcbiAgICAgIHBhcmFtc0Nsb25lW3RoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKCldID0gYXV0aFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoYmFzZVVybCkgPT4ge1xyXG4gICAgICAgIGlmICghYmFzZVVybCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdnZXQgYmFzZSB1cmwgZXJyb3InKSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZ1bGxVcmwgPSBwcmVwYXJlQmFzZUFkZHJlc3MoYmFzZVVybCkgKyB1cmxcclxuICAgICAgICAvLyBjb25zdCBib2R5ID0gdGhpcy5nZXRIdHRwUGFyYW1zUG9zdChwYXJhbXNDbG9uZSwgbmV3IEZvcm1EYXRhKCksIGZhbHNlLCBbXSlcclxuXHJcbiAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBwYXJhbXNDbG9uZSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8vINCc0LEg0L3QtSDRgNCw0LHQvtGC0LDQtdGCXHJcbiAgb3ZlcnJpZGUgaHR0cEdldDxUPih1cmw6IHN0cmluZywgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgaWYgKHBhcmFtcyA9PT0gbnVsbCkge1xyXG4gICAgICBwYXJhbXMgPSB7fVxyXG4gICAgfVxyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgIGlmIChhdXRoKSB7XHJcbiAgICAgIHBhcmFtc0Nsb25lW3RoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKCldID0gYXV0aFxyXG4gICAgfVxyXG5cclxuICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICBwYXJhbXM6IHBhcmFtc0Nsb25lXHJcbiAgICAgIC8vIHBhcmFtczogSlNPTi5zdHJpbmdpZnkocGFyYW1zQ2xvbmUpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRCYXNlVXJsKCkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKChiYXNlVXJsKSA9PiB7XHJcbiAgICAgICAgaWYgKCFiYXNlVXJsKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ2dldCBiYXNlIHVybCBlcnJvcicpKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihwcmVwYXJlQmFzZUFkZHJlc3MoYmFzZVVybCkgKyB1cmwsIG9wdGlvbnMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSlcclxuICAgICAgICApXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXROYW1lTWV0aG9kKGFycjogc3RyaW5nW10pIHtcclxuICAgIHJldHVybiBhcnIuam9pbignLicpXHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBS3JDLE9BQU8sT0FBTyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsWUFBWTtJQUU5Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFPLEtBQXlEO1FBRXBFLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQVMsSUFBSSxDQUFDLFlBQVksQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQSxDQUFDLG1CQUFtQjtRQUNuQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUEsQ0FBQywyQ0FBMkM7UUFDN0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQy9ELFFBQVEsQ0FBQyxDQUFDLENBQUMs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QUM7WUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUMvQyxDQUFDO1FBRUQsSUFBSSxPQUFPLEdBQUc7WUFDWixNQUFNLEVBQUUsV0FBVztZQUNuQixzQ0FBc0M7U0FDdkMsQ0FBQTtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQ25DLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7WUFDMUQsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxPQUFPLEVBQ25FO2dCQUNFLE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUsa0JBQWtCO2lCQUNuQzthQUNGLENBQ0YsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDcEMsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQWE7UUFDekIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IsIGZvcmtKb2luLCBmcm9tIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlcyB9IGZyb20gJy4vaHR0cCdcclxuaW1wb3J0IHtcclxuICBpQmF0Y2hSZXF1ZXN0QW5zd2VyLCBpQmF0Y2hSZXF1ZXN0UGFyYW0sIGlCYXRjaFJlcXVlc3RQYXJhbUFyciwgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCwga2V5QmF0Y2gsXHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmF0Y2gvYmF0Y2hSZXF1ZXN0UGFyYW0nXHJcbmltcG9ydCB7IGlCWFJlc3RBbnN3ZXIgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2Fuc3dlcidcclxuaW1wb3J0IGZsYXR0ZW4gZnJvbSAnanVzdC1mbGF0dGVuLWl0J1xyXG5pbXBvcnQgeyBpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvbWFwUmVzdWx0J1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0ICogYXMgcXMgZnJvbSAncXMnXHJcbmltcG9ydCB7IHByZXBhcmVCYXNlQWRkcmVzcyB9IGZyb20gJy4uL2Jhc2UnXHJcbmltcG9ydCB7IEJYUmVzdFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3MnXHJcblxyXG5leHBvcnQgY2xhc3MgSHR0cEJYU2VydmljZXMgZXh0ZW5kcyBIdHRwU2VydmljZXMge1xyXG5cclxuICAvKipcclxuICAgKiDQrdGC0L4g0L/QuNC30LTQtdGGINCwINC90LUg0LzQtdGC0L7QtFxyXG4gICAqIFRPRE86INCj0LTQsNC70LjRgtGMINC00LDQvdC90YvQuSDQvNC10YLQvtC0INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40Lgg0LXQs9C+INCyINGA0LDQt9C00LXQu9C1IE5hdnZ5XHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgYnJhbmNoPFQsIEE+KHBhcmFtOiBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gfCBpQmF0Y2hSZXF1ZXN0UGFyYW08VD5bXSlcclxuICAgIDogT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10gfCB1bmRlZmluZWQ+IHtcclxuICAgIGxldCBwcmVwYXJlUGFyYW0gPSBPYmplY3QuZW50cmllczxzdHJpbmc+KHRoaXMucHJlcGFyZUJhdGNoPFQ+KHBhcmFtKSlcclxuICAgIGNvbnN0IHNpemUgPSA1MCAvLyDQsdC+0LvRjNGI0LUg0L3QtSDQvtGC0LTQsNGB0YJcclxuICAgIGxldCBzdWJhcnJheSA9IFtdIC8v0LzQsNGB0YHQuNCyINCyINC60L7RgtC+0YDRi9C5INCx0YPQtNC10YIg0LLRi9Cy0LXQtNC10L0g0YDQtdC30YPQu9GM0YLQsNGCLlxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLmNlaWwocHJlcGFyZVBhcmFtLmxlbmd0aCAvIHNpemUpOyBpKyspIHtcclxuICAgICAgc3ViYXJyYXlbaV0gPSBwcmVwYXJlUGFyYW0uc2xpY2UoKGkgKiBzaXplKSwgKGkgKiBzaXplKSArIHNpemUpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZvcmtKb2luKFxyXG4gICAgICBzdWJhcnJheS5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFBvc3QoJ2JhdGNoLmpzb24nLCB7XHJcbiAgICAgICAgICBoYWx0OiAwLFxyXG4gICAgICAgICAgY21kOiBPYmplY3QuYXNzaWduKHt9LCAuLi5pLm1hcCh4ID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtbeFswXV06IHhbMV19XHJcbiAgICAgICAgICB9KSlcclxuICAgICAgICB9KVxyXG4gICAgICB9KVxyXG4gICAgKSBhcyBPYnNlcnZhYmxlPGlCYXRjaFJlcXVlc3RBbnN3ZXI8QT5bXT5cclxuICB9XHJcblxyXG4gIHByZXBhcmVCYXRjaDxUPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pOiBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwIHtcclxuICAgIGxldCByZXM6IGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAgPSBPYmplY3Qua2V5cyhwYXJhbSkucmVkdWNlKFxyXG4gICAgICAob2JqLCBrZXkpID0+IHtcclxuICAgICAgICBvYmpba2V5XSA9ICcnXHJcbiAgICAgICAgcmV0dXJuIG9ialxyXG4gICAgICB9LFxyXG4gICAgICB7fSBhcyBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwXHJcbiAgICApXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gcGFyYW0pIHtcclxuICAgICAgaWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBrZXkgPT09ICdudW1iZXInICYmIHBhcmFtW2tleV0ucGFyYW0pIHtcclxuICAgICAgICByZXNba2V5XSA9IHBhcmFtW2tleV0ubmFtZSArICc/JyArIHFzLnN0cmluZ2lmeShwYXJhbVtrZXldLnBhcmFtLCB7YXJyYXlGb3JtYXQ6ICdicmFja2V0cyd9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzXHJcbiAgfVxyXG5cclxuICBtYXBCcmFuY2hSZXN1bHQ8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pIHtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKFtdLCAuLi5yZXMubWFwKGkgPT5cclxuICAgICAgKGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpKSAmJiBpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaS5yZXN1bHQpKSA/IGkucmVzdWx0LnJlc3VsdCA6IHVuZGVmaW5lZClcclxuICAgICkgYXMgUmVjb3JkPGtleUJhdGNoLCBUPlxyXG4gIH1cclxuXHJcbiAgbWFwQnJhbmNoUmVzdWx0V2l0aG91dEtleTxUPihyZXM6IGlCYXRjaFJlcXVlc3RBbnN3ZXI8VD5bXSk6IFRbXSB7XHJcbiAgICByZXR1cm4gZmxhdHRlbjxUPihPYmplY3QuYXNzaWduKFtdLCAuLi5yZXMubWFwKGkgPT5cclxuICAgICAgKGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpKSAmJiBpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaS5yZXN1bHQpKVxyXG4gICAgICAgID8gaS5yZXN1bHQucmVzdWx0XHJcbiAgICAgICAgOiB1bmRlZmluZWQpKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0J7RgdC90L7QstC90L7QuSDQvNC10YLQvtC0INC00LvRjyDQt9Cw0L/RgNC+0YHQvtCyXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbmFtZVxyXG4gICAqIEBwYXJhbSBwYXJhbXNcclxuICAgKi9cclxuICBwb3N0PFQ+KG5hbWU6IHN0cmluZ1tdLCBwYXJhbXM6IGFueSA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwUG9zdDxpQlhSZXN0QW5zd2VyPFQ+Pih0aGlzLmdldE5hbWVNZXRob2QobmFtZSksIHBhcmFtcylcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCS0YLQvtGA0L7RgdGC0LXQv9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7Qsi4g0J/QviDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC70YPRh9GI0LUg0L3QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YxcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIHBhcmFtc1xyXG4gICAqL1xyXG4gIGdldDxUPihuYW1lOiBzdHJpbmdbXSwgcGFyYW1zOiBhbnkgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cEdldDxpQlhSZXN0QW5zd2VyPFQ+Pih0aGlzLmdldE5hbWVNZXRob2QobmFtZSksIHBhcmFtcylcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGh0dHBQb3N0PFQ+KHVybDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKClcclxuXHJcbiAgICBsZXQgYXV0aCA9IHRoaXMuc2Vzc2lvbi5nZXRBdXRoUGFyYW1zKClcclxuICAgIGNvbnN0IGNoZWNrSXNPbiA9IHRoaXMuc2Vzc2lvbi5nZXRDaGVja0F1dGhQYXJhbXNJc09uKClcclxuICAgIGlmIChjaGVja0lzT24gJiYga2V5ID09PSAnT0F1dGgyJykge1xyXG4gICAgICBpZiAoIWF1dGggJiYgQlhSZXN0U2V0dGluZ3MuZGF0ZS5hdXRoLnNvdXJjZSAhPT0gJ29mZicpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F1dGhvcml6YXRpb24gcmVxdWlyZWQgKHBvc3QpJylcclxuICAgICAgfVxyXG4gICAgICBwYXJhbXNDbG9uZVtrZXldID0gYXV0aFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoYmFzZVVybCkgPT4ge1xyXG4gICAgICAgIGlmICghYmFzZVVybCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdnZXQgYmFzZSB1cmwgZXJyb3InKSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZ1bGxVcmwgPSBwcmVwYXJlQmFzZUFkZHJlc3MoYmFzZVVybCkgKyB1cmxcclxuXHJcbiAgICAgICAgaWYgKGF1dGggPT09ICdzZXNzaWQnKSB7XHJcbiAgICAgICAgICAvLyDQn9GA0LXQvtCx0YDQsNC30YPQtdC8INC/0LDRgNCw0LzQtdGC0YDRiyDQsiDRhNC+0YDQvNCw0YIgeC13d3ctZm9ybS11cmxlbmNvZGVkXHJcblxyXG4gICAgICAgICAgY29uc3QgYm9keVN0cmluZyA9IHRoaXMuc2VyaWFsaXplQml0cml4UGFyYW1zKHBhcmFtc0Nsb25lKVxyXG4gICAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICAgIHRoaXMuYXhpb3NJbnN0YW5jZS5wb3N0PFQ+KGZ1bGxVcmwsIGJvZHlTdHJpbmcsIHtcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSxcclxuICAgICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmRhdGEpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBwYXJhbXNDbG9uZSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczoga2V5ID09PSAnT0F1dGgyJyxcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSlcclxuICAgICAgICApXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZXJpYWxpemVCaXRyaXhQYXJhbXMob2JqOiBhbnksIHByZWZpeCA9ICcnKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhaXJzOiBzdHJpbmdbXSA9IFtdXHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkgY29udGludWVcclxuXHJcbiAgICAgIGNvbnN0IHZhbHVlID0gb2JqW2tleV1cclxuICAgICAgY29uc3QgcHJlZml4ZWRLZXkgPSBwcmVmaXggPyBgJHtwcmVmaXh9WyR7a2V5fV1gIDoga2V5XHJcblxyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIHBhaXJzLnB1c2godGhpcy5zZXJpYWxpemVCaXRyaXhQYXJhbXMoaXRlbSwgYCR7cHJlZml4ZWRLZXl9W11gKSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHBhaXJzLnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KHByZWZpeGVkS2V5KX1bXT0ke2VuY29kZVVSSUNvbXBvbmVudChpdGVtKX1gKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgIHBhaXJzLnB1c2godGhpcy5zZXJpYWxpemVCaXRyaXhQYXJhbXModmFsdWUsIHByZWZpeGVkS2V5KSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwYWlycy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChwcmVmaXhlZEtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhaXJzLmpvaW4oJyYnKVxyXG4gIH1cclxuXHJcbiAgLy8g0JzQsSDQvdC1INGA0LDQsdC+0YLQsNC10YJcclxuICBvdmVycmlkZSBodHRwR2V0PFQ+KHVybDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBpZiAocGFyYW1zID09PSBudWxsKSB7XHJcbiAgICAgIHBhcmFtcyA9IHt9XHJcbiAgICB9XHJcbiAgICBsZXQgYXV0aCA9IHRoaXMuc2Vzc2lvbi5nZXRBdXRoUGFyYW1zKClcclxuICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxyXG4gICAgaWYgKGF1dGgpIHtcclxuICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zQ2xvbmVcclxuICAgICAgLy8gcGFyYW1zOiBKU09OLnN0cmluZ2lmeShwYXJhbXNDbG9uZSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKGJhc2VVcmwpID0+IHtcclxuICAgICAgICBpZiAoIWJhc2VVcmwpIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignZ2V0IGJhc2UgdXJsIGVycm9yJykpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZnJvbShcclxuICAgICAgICAgIHRoaXMuYXhpb3NJbnN0YW5jZS5wb3N0PFQ+KHByZXBhcmVCYXNlQWRkcmVzcyhiYXNlVXJsKSArIHVybCwgb3B0aW9ucyxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldE5hbWVNZXRob2QoYXJyOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIGFyci5qb2luKCcuJylcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|
|
@@ -56,7 +56,7 @@ export class HttpData {
|
|
|
56
56
|
case 'function':
|
|
57
57
|
case 'undefined':
|
|
58
58
|
default:
|
|
59
|
-
console.error('
|
|
59
|
+
console.error('You sent something wrong', obj[key], typeof obj[key], typeof obj);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -74,4 +74,4 @@ export class HttpData {
|
|
|
74
74
|
return str.replace(/\/{2,}/g, '/');
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9odHRwL0h0dHBEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBRUUsZ0JBQVcsR0FBdUI7WUFDaEMsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxJQUFJO2dCQUNWLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1NBQ0YsQ0FBQTtJQTZFSCxDQUFDO0lBM0VDLGlCQUFpQixDQUNmLEdBQVEsRUFDUixpQkFBMkIsSUFBSSxRQUFRLEVBQUUsRUFDekMsVUFBb0IsRUFBRSxFQUN0QixRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVc7UUFFM0IsSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDeEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3RCLElBQUksTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7Z0JBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUE7WUFDVCxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUMvQixPQUFPLGNBQWMsQ0FBQTtRQUN2QixDQUFDO2FBQU0sSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDL0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3RCLElBQUksUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdB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SUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUE7WUFDekMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBRUQsdUJBQXVCLENBQUMsR0FBVztRQUNqQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlIdHRwUGFyYW1TZXR0aW5ncyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhIHtcclxuXHJcbiAgZGVmU2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHtcclxuICAgIHRpbWVab25lOiB7XHJcbiAgICAgIGNhbGM6IHRydWUsXHJcbiAgICAgIGxldmVsT3V0OiBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cFBhcmFtc1Bvc3QoXHJcbiAgICBvYmo6IGFueSxcclxuICAgIHNlbmRIdHRwUGFyYW1zOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpLFxyXG4gICAgbmVzdGluZzogc3RyaW5nW10gPSBbXSxcclxuICAgIHNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICk6IGFueSB7XHJcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgQmxvYikge1xyXG4gICAgICBsZXQgZmlyc3QgPSBuZXN0aW5nWzBdXHJcbiAgICAgIGxldCBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXSdcclxuICAgICAgICA6IGZpcnN0XHJcbiAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9iailcclxuICAgICAgcmV0dXJuIHNlbmRIdHRwUGFyYW1zXHJcbiAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICBsZXQgdHpvZmZzZXQgPSAoc2V0dGluZ3MudGltZVpvbmUuY2FsYykgPyBvYmouZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwIDogMCAvLyDQstGL0YfQuNGB0LvRj9C10Lwg0LLQu9C40Y/QvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwXHJcbiAgICAgIGxldCBsZXZlbE91dCA9IChzZXR0aW5ncy50aW1lWm9uZS5sZXZlbE91dCkgPyBvYmouZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwIDogMCAvLyDQstGL0YfQuNGB0LvRj9C10Lwg0LLQu9C40Y/QvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwXHJcbiAgICAgIGxldCBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXSdcclxuICAgICAgICA6IGZpcnN0XHJcbiAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIChuZXcgRGF0ZShvYmoudmFsdWVPZigpICsgdHpvZmZzZXQgLSBsZXZlbE91dCkpLnRvSVNPU3RyaW5nKCkpXHJcbiAgICAgIHJldHVybiBzZW5kSHR0cFBhcmFtc1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgICAgbGV0IHNldEtleSA9ICcnXHJcbiAgICAgICAgaWYgKG5lc3RpbmcubGVuZ3RoKSB7XHJcbiAgICAgICAgICBsZXQgZmlyc3QgPSBuZXN0aW5nWzBdXHJcbiAgICAgICAgICBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgICAgICA/
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9odHRwL0h0dHBEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBRUUsZ0JBQVcsR0FBdUI7WUFDaEMsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxJQUFJO2dCQUNWLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1NBQ0YsQ0FBQTtJQTZFSCxDQUFDO0lBM0VDLGlCQUFpQixDQUNmLEdBQVEsRUFDUixpQkFBMkIsSUFBSSxRQUFRLEVBQUUsRUFDekMsVUFBb0IsRUFBRSxFQUN0QixRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVc7UUFFM0IsSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDeEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3RCLElBQUksTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7Z0JBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUE7WUFDVCxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUMvQixPQUFPLGNBQWMsQ0FBQTtRQUN2QixDQUFDO2FBQU0sSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDL0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3RCLElBQUksUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdB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SUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUE7WUFDekMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBRUQsdUJBQXVCLENBQUMsR0FBVztRQUNqQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlIdHRwUGFyYW1TZXR0aW5ncyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhIHtcclxuXHJcbiAgZGVmU2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHtcclxuICAgIHRpbWVab25lOiB7XHJcbiAgICAgIGNhbGM6IHRydWUsXHJcbiAgICAgIGxldmVsT3V0OiBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cFBhcmFtc1Bvc3QoXHJcbiAgICBvYmo6IGFueSxcclxuICAgIHNlbmRIdHRwUGFyYW1zOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpLFxyXG4gICAgbmVzdGluZzogc3RyaW5nW10gPSBbXSxcclxuICAgIHNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICk6IGFueSB7XHJcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgQmxvYikge1xyXG4gICAgICBsZXQgZmlyc3QgPSBuZXN0aW5nWzBdXHJcbiAgICAgIGxldCBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXSdcclxuICAgICAgICA6IGZpcnN0XHJcbiAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9iailcclxuICAgICAgcmV0dXJuIHNlbmRIdHRwUGFyYW1zXHJcbiAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICBsZXQgdHpvZmZzZXQgPSAoc2V0dGluZ3MudGltZVpvbmUuY2FsYykgPyBvYmouZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwIDogMCAvLyDQstGL0YfQuNGB0LvRj9C10Lwg0LLQu9C40Y/QvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwXHJcbiAgICAgIGxldCBsZXZlbE91dCA9IChzZXR0aW5ncy50aW1lWm9uZS5sZXZlbE91dCkgPyBvYmouZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwIDogMCAvLyDQstGL0YfQuNGB0LvRj9C10Lwg0LLQu9C40Y/QvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwXHJcbiAgICAgIGxldCBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXSdcclxuICAgICAgICA6IGZpcnN0XHJcbiAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIChuZXcgRGF0ZShvYmoudmFsdWVPZigpICsgdHpvZmZzZXQgLSBsZXZlbE91dCkpLnRvSVNPU3RyaW5nKCkpXHJcbiAgICAgIHJldHVybiBzZW5kSHR0cFBhcmFtc1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgICAgbGV0IHNldEtleSA9ICcnXHJcbiAgICAgICAgaWYgKG5lc3RpbmcubGVuZ3RoKSB7XHJcbiAgICAgICAgICBsZXQgZmlyc3QgPSBuZXN0aW5nWzBdXHJcbiAgICAgICAgICBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgICAgICA/IGZpcnN0ICsgJ1snICsgbmVzdGluZy5zbGljZSgxKS5qb2luKCddWycpICsgJ11bJyArIGtleSArICddJ1xyXG4gICAgICAgICAgICA6IGZpcnN0ICsgJ1snICsga2V5ICsgJ10nXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNldEtleSA9IGtleVxyXG4gICAgICAgIH1cclxuICAgICAgICBzd2l0Y2ggKHR5cGVvZiBvYmpba2V5XSkge1xyXG4gICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgb2JqW2tleV0pXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBjYXNlICdzeW1ib2wnOlxyXG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgIGNhc2UgJ2JpZ2ludCc6XHJcbiAgICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgU3RyaW5nKG9ialtrZXldKSlcclxuICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgIGNhc2UgJ29iamVjdCc6XHJcbiAgICAgICAgICAgIG5lc3RpbmcucHVzaChrZXkpXHJcbiAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gdGhpcy5nZXRIdHRwUGFyYW1zUG9zdChcclxuICAgICAgICAgICAgICBvYmpba2V5XSxcclxuICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyxcclxuICAgICAgICAgICAgICBuZXN0aW5nLFxyXG4gICAgICAgICAgICAgIHNldHRpbmdzXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgbmVzdGluZy5wb3AoKVxyXG4gICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxyXG4gICAgICAgICAgY2FzZSAndW5kZWZpbmVkJzpcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1lvdSBzZW50IHNvbWV0aGluZyB3cm9uZycsIG9ialtrZXldLCB0eXBlb2Ygb2JqW2tleV0sIHR5cGVvZiBvYmopXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICB9XHJcblxyXG4gIHNsaWNlQXJyYXlJbnRvQ2h1bmtzKGFycjogYW55W10sIGNodW5rU2l6ZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCByZXMgPSBbXVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNodW5rU2l6ZSkge1xyXG4gICAgICBjb25zdCBjaHVuayA9IGFyci5zbGljZShpLCBpICsgY2h1bmtTaXplKVxyXG4gICAgICByZXMucHVzaChjaHVuaylcclxuICAgIH1cclxuICAgIHJldHVybiByZXNcclxuICB9XHJcblxyXG4gIHJlbW92aW5nTXVsdGlwbGVTbGFzaGVzKHN0cjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1xcL3syLH0vZywgJy8nKVxyXG4gIH1cclxufVxyXG4iXX0=
|