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

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 => this.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()] = this.objectKeystoLowerCase(obj[key]);
49
+ }
50
+ return normalized;
51
+ }
52
+ return obj;
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy91dGlscy90ZXh0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzFELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFN0csTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFekUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXO0lBQ2xDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLElBQUksRUFBRSxLQUFLO1FBQzdELE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0QsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQVc7SUFDaEQsT0FBTyxHQUFH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dkUsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsaXphdGlvbiB9IGZyb20gXCIuLi9lbnVtcy9sb2NhbGl6YXRpb24uZW51bVwiO1xuaW1wb3J0IHsgRGF5IH0gZnJvbSBcIi4uL3NlcnZpY2VzL2RhdGUuc2VydmljZVwiO1xuXG5leHBvcnQgY29uc3QgbG93ZXJDYXNlRmlyc3RMZXR0ZXIgPSAodmFsdWU6IHN0cmluZykgPT4gdmFsdWUuY2hhckF0KDApLnRvTG9jYWxlTG93ZXJDYXNlKCkgKyB2YWx1ZS5zbGljZSgxKTtcbmV4cG9ydCBjb25zdCBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgPSAodmFsdWU6IHN0cmluZykgPT4gdmFsdWUuY2hhckF0KDApLnRvTG9jYWxlVXBwZXJDYXNlKCkgKyB2YWx1ZS5zbGljZSgxKTtcblxuZXhwb3J0IGNvbnN0IGxvd2VyQ2FzZSA9ICh2YWx1ZTogYW55KSA9PiB2YWx1ZT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FtZWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoLyg/Ol5cXHd8W0EtWl18XFxiXFx3KS9nLCBmdW5jdGlvbiAod29yZCwgaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXggPT09IDAgPyB3b3JkLnRvTG93ZXJDYXNlKCkgOiB3b3JkLnRvVXBwZXJDYXNlKCk7XG4gIH0pLnJlcGxhY2UoL1xccysvZywgJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaGFyYWN0ZXJMZW5ndGhWYWxpZChzdHI6IHN0cmluZykge1xuICByZXR1cm4gc3RyPy5sZW5ndGggPj0gMiB8fCBzdHI/Lmxlbmd0aCA9PT0gMCB8fCAhc3RyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlVmVyc2lvbnNDb21wYXRpYmxlKHZlcnNpb24xOiBzdHJpbmcsIHZlcnNpb24yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdlTWFqb3JBbmRNaW5vckZyb21WZXJzaW9uKHZlcnNpb24xKSA9PT0gZ2VNYWpvckFuZE1pbm9yRnJvbVZlcnNpb24odmVyc2lvbjIpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RlZmluZWRBbmROb3RFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAnJztcbn1cblxuZnVuY3Rpb24gZ2VNYWpvckFuZE1pbm9yRnJvbVZlcnNpb24oaW5wdXQ6IHN0cmluZykge1xuICBsZXQgbWFqb3JBbmRNaW5vclZlcnNpb24gPSAnJztcbiAgdmFyIHNwbGl0dGVkVmVyc2lvbiA9IGlucHV0LnNwbGl0KCcuJyk7XG4gIGlmIChzcGxpdHRlZFZlcnNpb24/Lmxlbmd0aCA+IDEpIHtcbiAgICBtYWpvckFuZE1pbm9yVmVyc2lvbiA9IGAke3NwbGl0dGVkVmVyc2lvblswXX0uJHtzcGxpdHRlZFZlcnNpb25bMV19YDtcbiAgfVxuICByZXR1cm4gbWFqb3JBbmRNaW5vclZlcnNpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludFNwZWNpYWxEYXlzVGV4dCh0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBzcGVjaWFsRGF5czogbnVtYmVyKSB7XG4gIGNvbnN0IHNlbGVjdGVkRGF5czogc3RyaW5nW10gPSBbXTtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgNTsgaW5kZXgrKykge1xuICAgIGNvbnN0IGJpdFBvc2l0aW9uID0gTWF0aC5wb3coMiwgaW5kZXgpO1xuICAgIGlmICgoc3BlY2lhbERheXMgJiBiaXRQb3NpdGlvbikgIT09IDApIHtcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRMYWJlbCA9IHRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChMb2NhbGl6YXRpb24uc3BlY2lhbF9kYXlfYWNyb255bV9pLCB7IGk6IGluZGV4ICsgMSB9KTtcbiAgICAgIHNlbGVjdGVkRGF5cy5wdXNoKHRyYW5zbGF0ZWRMYWJlbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzZWxlY3RlZERheXMuam9pbignLCAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERheXNGcm9tVmFsdWUodHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSwgZGF5czogRGF5W10sIHZhbHVlOiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBkYXlzLmZpbHRlcihkYXkgPT4gKHZhbHVlICYgZGF5LnZhbHVlKSAhPT0gMCkubWFwKGRheSA9PiB0cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZGF5LmxhYmVsKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RLZXlzdG9Mb3dlckNhc2Uob2JqOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5tYXAoaXRlbSA9PiB0aGlzLm9iamVjdEtleXN0b0xvd2VyQ2FzZShpdGVtKSk7XG4gIH1cblxuICBpZiAob2JqICE9PSBudWxsICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZDogYW55ID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XG4gICAgICBub3JtYWxpemVkW2tleS50b0xvd2VyQ2FzZSgpXSA9IHRoaXMub2JqZWN0S2V5c3RvTG93ZXJDYXNlKG9ialtrZXldKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG4iXX0=