@tiba-spark/client-shared-lib 25.4.0-266 → 25.4.0-285

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.
@@ -38,4 +38,17 @@ export function printSpecialDaysText(translateService, specialDays) {
38
38
  export function getDaysFromValue(translateService, days, value) {
39
39
  return days.filter(day => (value & day.value) !== 0).map(day => translateService.instant(day.label));
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy91dGlscy90ZXh0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzFELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFN0csTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFekUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXO0lBQ2xDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLElBQUksRUFBRSxLQUFLO1FBQzdELE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0QsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQVc7SUFDaEQsT0FBTyxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7SUFDdEUsT0FBTywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsS0FBSywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUN0RixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQVU7SUFDN0MsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztBQUMvRCxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxLQUFhO0lBQy9DLElBQUksb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQzlCLElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsSUFBSSxlQUFlLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hDLG9CQUFvQixHQUFHLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxPQUFPLG9CQUFvQixDQUFDO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsZ0JBQWtDLEVBQUUsV0FBbUI7SUFDMUYsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFDO0lBRWxDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkcsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLGdCQUFrQyxFQUFFLElBQVcsRUFBRSxLQUFhO0lBQzdGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdkcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uIH0gZnJvbSBcIi4uL2VudW1zL2xvY2FsaXphdGlvbi5lbnVtXCI7XG5pbXBvcnQgeyBEYXkgfSBmcm9tIFwiLi4vc2VydmljZXMvZGF0ZS5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjb25zdCBsb3dlckNhc2VGaXJzdExldHRlciA9ICh2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZS5jaGFyQXQoMCkudG9Mb2NhbGVMb3dlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpO1xuZXhwb3J0IGNvbnN0IGNhcGl0YWxpemVGaXJzdExldHRlciA9ICh2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZS5jaGFyQXQoMCkudG9Mb2NhbGVVcHBlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpO1xuXG5leHBvcnQgY29uc3QgbG93ZXJDYXNlID0gKHZhbHVlOiBhbnkpID0+IHZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW1lbGl6ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvKD86Xlxcd3xbQS1aXXxcXGJcXHcpL2csIGZ1bmN0aW9uICh3b3JkLCBpbmRleCkge1xuICAgIHJldHVybiBpbmRleCA9PT0gMCA/IHdvcmQudG9Mb3dlckNhc2UoKSA6IHdvcmQudG9VcHBlckNhc2UoKTtcbiAgfSkucmVwbGFjZSgvXFxzKy9nLCAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NoYXJhY3Rlckxlbmd0aFZhbGlkKHN0cjogc3RyaW5nKSB7XG4gIHJldHVybiBzdHI/Lmxlbmd0aCA+PSAyIHx8IHN0cj8ubGVuZ3RoID09PSAwIHx8ICFzdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmVWZXJzaW9uc0NvbXBhdGlibGUodmVyc2lvbjE6IHN0cmluZywgdmVyc2lvbjI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2VNYWpvckFuZE1pbm9yRnJvbVZlcnNpb24odmVyc2lvbjEpID09PSBnZU1ham9yQW5kTWlub3JGcm9tVmVyc2lvbih2ZXJzaW9uMilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVmaW5lZEFuZE5vdEVtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09ICcnO1xufVxuXG5mdW5jdGlvbiBnZU1ham9yQW5kTWlub3JGcm9tVmVyc2lvbihpbnB1dDogc3RyaW5nKSB7XG4gIGxldCBtYWpvckFuZE1pbm9yVmVyc2lvbiA9ICcnO1xuICB2YXIgc3BsaXR0ZWRWZXJzaW9uID0gaW5wdXQuc3BsaXQoJy4nKTtcbiAgaWYgKHNwbGl0dGVkVmVyc2lvbj8ubGVuZ3RoID4gMSkge1xuICAgIG1ham9yQW5kTWlub3JWZXJzaW9uID0gYCR7c3BsaXR0ZWRWZXJzaW9uWzBdfS4ke3NwbGl0dGVkVmVyc2lvblsxXX1gO1xuICB9XG4gIHJldHVybiBtYWpvckFuZE1pbm9yVmVyc2lvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50U3BlY2lhbERheXNUZXh0KHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHNwZWNpYWxEYXlzOiBudW1iZXIpIHtcbiAgY29uc3Qgc2VsZWN0ZWREYXlzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCA1OyBpbmRleCsrKSB7XG4gICAgY29uc3QgYml0UG9zaXRpb24gPSBNYXRoLnBvdygyLCBpbmRleCk7XG4gICAgaWYgKChzcGVjaWFsRGF5cyAmIGJpdFBvc2l0aW9uKSAhPT0gMCkge1xuICAgICAgY29uc3QgdHJhbnNsYXRlZExhYmVsID0gdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KExvY2FsaXphdGlvbi5zcGVjaWFsX2RheV9hY3JvbnltX2ksIHsgaTogaW5kZXggKyAxIH0pO1xuICAgICAgc2VsZWN0ZWREYXlzLnB1c2godHJhbnNsYXRlZExhYmVsKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlbGVjdGVkRGF5cy5qb2luKCcsICcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF5c0Zyb21WYWx1ZSh0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBkYXlzOiBEYXlbXSAsdmFsdWU6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIGRheXMuZmlsdGVyKGRheSA9PiAodmFsdWUgJiBkYXkudmFsdWUpICE9PSAwKS5tYXAoZGF5ID0+IHRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChkYXkubGFiZWwpKTtcbn1cbiJdfQ==
41
+ export function objectKeystoLowerCase(obj) {
42
+ if (Array.isArray(obj)) {
43
+ return obj.map(item => objectKeystoLowerCase(item));
44
+ }
45
+ if (obj !== null && typeof obj === 'object') {
46
+ const normalized = {};
47
+ for (const key of Object.keys(obj)) {
48
+ normalized[key.toLowerCase()] = objectKeystoLowerCase(obj[key]);
49
+ }
50
+ return normalized;
51
+ }
52
+ return obj;
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy91dGlscy90ZXh0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzFELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFN0csTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFekUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXO0lBQ2xDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLElBQUksRUFBRSxLQUFLO1FBQzdELE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0QsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQVc7SUFDaEQsT0FBTyxHQUFH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QVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb24gfSBmcm9tIFwiLi4vZW51bXMvbG9jYWxpemF0aW9uLmVudW1cIjtcbmltcG9ydCB7IERheSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9kYXRlLnNlcnZpY2VcIjtcblxuZXhwb3J0IGNvbnN0IGxvd2VyQ2FzZUZpcnN0TGV0dGVyID0gKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlLmNoYXJBdCgwKS50b0xvY2FsZUxvd2VyQ2FzZSgpICsgdmFsdWUuc2xpY2UoMSk7XG5leHBvcnQgY29uc3QgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyID0gKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlLmNoYXJBdCgwKS50b0xvY2FsZVVwcGVyQ2FzZSgpICsgdmFsdWUuc2xpY2UoMSk7XG5cbmV4cG9ydCBjb25zdCBsb3dlckNhc2UgPSAodmFsdWU6IGFueSkgPT4gdmFsdWU/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbWVsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oPzpeXFx3fFtBLVpdfFxcYlxcdykvZywgZnVuY3Rpb24gKHdvcmQsIGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4ID09PSAwID8gd29yZC50b0xvd2VyQ2FzZSgpIDogd29yZC50b1VwcGVyQ2FzZSgpO1xuICB9KS5yZXBsYWNlKC9cXHMrL2csICcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hhcmFjdGVyTGVuZ3RoVmFsaWQoc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHN0cj8ubGVuZ3RoID49IDIgfHwgc3RyPy5sZW5ndGggPT09IDAgfHwgIXN0cjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZVZlcnNpb25zQ29tcGF0aWJsZSh2ZXJzaW9uMTogc3RyaW5nLCB2ZXJzaW9uMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZU1ham9yQW5kTWlub3JGcm9tVmVyc2lvbih2ZXJzaW9uMSkgPT09IGdlTWFqb3JBbmRNaW5vckZyb21WZXJzaW9uKHZlcnNpb24yKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZWZpbmVkQW5kTm90RW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gJyc7XG59XG5cbmZ1bmN0aW9uIGdlTWFqb3JBbmRNaW5vckZyb21WZXJzaW9uKGlucHV0OiBzdHJpbmcpIHtcbiAgbGV0IG1ham9yQW5kTWlub3JWZXJzaW9uID0gJyc7XG4gIHZhciBzcGxpdHRlZFZlcnNpb24gPSBpbnB1dC5zcGxpdCgnLicpO1xuICBpZiAoc3BsaXR0ZWRWZXJzaW9uPy5sZW5ndGggPiAxKSB7XG4gICAgbWFqb3JBbmRNaW5vclZlcnNpb24gPSBgJHtzcGxpdHRlZFZlcnNpb25bMF19LiR7c3BsaXR0ZWRWZXJzaW9uWzFdfWA7XG4gIH1cbiAgcmV0dXJuIG1ham9yQW5kTWlub3JWZXJzaW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRTcGVjaWFsRGF5c1RleHQodHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSwgc3BlY2lhbERheXM6IG51bWJlcikge1xuICBjb25zdCBzZWxlY3RlZERheXM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IDU7IGluZGV4KyspIHtcbiAgICBjb25zdCBiaXRQb3NpdGlvbiA9IE1hdGgucG93KDIsIGluZGV4KTtcbiAgICBpZiAoKHNwZWNpYWxEYXlzICYgYml0UG9zaXRpb24pICE9PSAwKSB7XG4gICAgICBjb25zdCB0cmFuc2xhdGVkTGFiZWwgPSB0cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoTG9jYWxpemF0aW9uLnNwZWNpYWxfZGF5X2Fjcm9ueW1faSwgeyBpOiBpbmRleCArIDEgfSk7XG4gICAgICBzZWxlY3RlZERheXMucHVzaCh0cmFuc2xhdGVkTGFiZWwpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc2VsZWN0ZWREYXlzLmpvaW4oJywgJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXlzRnJvbVZhbHVlKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIGRheXM6IERheVtdLCB2YWx1ZTogbnVtYmVyKTogc3RyaW5nW10ge1xuICByZXR1cm4gZGF5cy5maWx0ZXIoZGF5ID0+ICh2YWx1ZSAmIGRheS52YWx1ZSkgIT09IDApLm1hcChkYXkgPT4gdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGRheS5sYWJlbCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0S2V5c3RvTG93ZXJDYXNlKG9iajogYW55KTogYW55IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKGl0ZW0gPT4gb2JqZWN0S2V5c3RvTG93ZXJDYXNlKGl0ZW0pKTtcbiAgfVxuXG4gIGlmIChvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCBub3JtYWxpemVkOiBhbnkgPSB7fTtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iaikpIHtcbiAgICAgIG5vcm1hbGl6ZWRba2V5LnRvTG93ZXJDYXNlKCldID0gb2JqZWN0S2V5c3RvTG93ZXJDYXNlKG9ialtrZXldKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG4iXX0=