@sbb-esta/lyne-elements-experimental 1.10.0 → 1.11.0

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.
@@ -0,0 +1,53 @@
1
+ import { t as toDate, c as constructFrom, d as millisecondsInDay } from "./toDate-B6IBgPYH.js";
2
+ function getTimezoneOffsetInMilliseconds(date) {
3
+ const _date = toDate(date);
4
+ const utcDate = new Date(
5
+ Date.UTC(
6
+ _date.getFullYear(),
7
+ _date.getMonth(),
8
+ _date.getDate(),
9
+ _date.getHours(),
10
+ _date.getMinutes(),
11
+ _date.getSeconds(),
12
+ _date.getMilliseconds()
13
+ )
14
+ );
15
+ utcDate.setUTCFullYear(_date.getFullYear());
16
+ return +date - +utcDate;
17
+ }
18
+ function normalizeDates(context, ...dates) {
19
+ const normalize = constructFrom.bind(
20
+ null,
21
+ dates.find((date) => typeof date === "object")
22
+ );
23
+ return dates.map(normalize);
24
+ }
25
+ function startOfDay(date, options) {
26
+ const _date = toDate(date, options == null ? void 0 : options.in);
27
+ _date.setHours(0, 0, 0, 0);
28
+ return _date;
29
+ }
30
+ function differenceInCalendarDays(laterDate, earlierDate, options) {
31
+ const [laterDate_, earlierDate_] = normalizeDates(
32
+ options == null ? void 0 : options.in,
33
+ laterDate,
34
+ earlierDate
35
+ );
36
+ const laterStartOfDay = startOfDay(laterDate_);
37
+ const earlierStartOfDay = startOfDay(earlierDate_);
38
+ const laterTimestamp = +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);
39
+ const earlierTimestamp = +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);
40
+ return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
41
+ }
42
+ function isDate(value) {
43
+ return value instanceof Date || typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]";
44
+ }
45
+ function isValid(date) {
46
+ return !(!isDate(date) && typeof date !== "number" || isNaN(+toDate(date)));
47
+ }
48
+ export {
49
+ differenceInCalendarDays as d,
50
+ isValid as i,
51
+ normalizeDates as n
52
+ };
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNWYWxpZC1ET19wSHdjVy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL19saWIvZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9fbGliL25vcm1hbGl6ZURhdGVzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL3N0YXJ0T2ZEYXkuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2lzRGF0ZS5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc1ZhbGlkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBHb29nbGUgQ2hyb21lIGFzIG9mIDY3LjAuMzM5Ni44NyBpbnRyb2R1Y2VkIHRpbWV6b25lcyB3aXRoIG9mZnNldCB0aGF0IGluY2x1ZGVzIHNlY29uZHMuXG4gKiBUaGV5IHVzdWFsbHkgYXBwZWFyIGZvciBkYXRlcyB0aGF0IGRlbm90ZSB0aW1lIGJlZm9yZSB0aGUgdGltZXpvbmVzIHdlcmUgaW50cm9kdWNlZFxuICogKGUuZy4gZm9yICdFdXJvcGUvUHJhZ3VlJyB0aW1lem9uZSB0aGUgb2Zmc2V0IGlzIEdNVCswMDo1Nzo0NCBiZWZvcmUgMSBPY3RvYmVyIDE4OTFcbiAqIGFuZCBHTVQrMDE6MDA6MDAgYWZ0ZXIgdGhhdCBkYXRlKVxuICpcbiAqIERhdGUjZ2V0VGltZXpvbmVPZmZzZXQgcmV0dXJucyB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgYW5kIHdvdWxkIHJldHVybiA1NyBmb3IgdGhlIGV4YW1wbGUgYWJvdmUsXG4gKiB3aGljaCB3b3VsZCBsZWFkIHRvIGluY29ycmVjdCBjYWxjdWxhdGlvbnMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSB0aW1lem9uZSBvZmZzZXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGFrZXMgc2Vjb25kcyBpbiBhY2NvdW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUpO1xuICBjb25zdCB1dGNEYXRlID0gbmV3IERhdGUoXG4gICAgRGF0ZS5VVEMoXG4gICAgICBfZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgX2RhdGUuZ2V0TW9udGgoKSxcbiAgICAgIF9kYXRlLmdldERhdGUoKSxcbiAgICAgIF9kYXRlLmdldEhvdXJzKCksXG4gICAgICBfZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICBfZGF0ZS5nZXRTZWNvbmRzKCksXG4gICAgICBfZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICApLFxuICApO1xuICB1dGNEYXRlLnNldFVUQ0Z1bGxZZWFyKF9kYXRlLmdldEZ1bGxZZWFyKCkpO1xuICByZXR1cm4gK2RhdGUgLSArdXRjRGF0ZTtcbn1cbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi4vY29uc3RydWN0RnJvbS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplRGF0ZXMoY29udGV4dCwgLi4uZGF0ZXMpIHtcbiAgY29uc3Qgbm9ybWFsaXplID0gY29uc3RydWN0RnJvbS5iaW5kKFxuICAgIG51bGwsXG4gICAgY29udGV4dCB8fCBkYXRlcy5maW5kKChkYXRlKSA9PiB0eXBlb2YgZGF0ZSA9PT0gXCJvYmplY3RcIiksXG4gICk7XG4gIHJldHVybiBkYXRlcy5tYXAobm9ybWFsaXplKTtcbn1cbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgc3RhcnRPZkRheX0gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZEYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIGRheSBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgZGF5IGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIG9yaWdpbmFsIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgc3RhcnQgb2YgYSBkYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIHN0YXJ0IG9mIGEgZGF5IGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogY29uc3QgcmVzdWx0ID0gc3RhcnRPZkRheShuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBUdWUgU2VwIDAyIDIwMTQgMDA6MDA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0T2ZEYXkoZGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlLCBvcHRpb25zPy5pbik7XG4gIF9kYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICByZXR1cm4gX2RhdGU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgc3RhcnRPZkRheTtcbiIsImltcG9ydCB7IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgfSBmcm9tIFwiLi9fbGliL2dldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZURhdGVzIH0gZnJvbSBcIi4vX2xpYi9ub3JtYWxpemVEYXRlcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5EYXkgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IHN0YXJ0T2ZEYXkgfSBmcm9tIFwiLi9zdGFydE9mRGF5LmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXN9IGZ1bmN0aW9uIG9wdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgdGltZXMgYXJlIHJlbW92ZWRcbiAqIGZyb20gdGhlIGRhdGVzIGFuZCB0aGVuIHRoZSBkaWZmZXJlbmNlIGluIGRheXMgaXMgY2FsY3VsYXRlZC5cbiAqXG4gKiBAcGFyYW0gbGF0ZXJEYXRlIC0gVGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSBlYXJsaWVyRGF0ZSAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0XG4gKlxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBjYWxlbmRhciBkYXlzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjAwOjAwIGFuZCAyIEp1bHkgMjAxMiAwMDowMDowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMiwgNiwgMiwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCAwKVxuICogKVxuICogLy89PiAzNjZcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjU5OjAwIGFuZCAzIEp1bHkgMjAxMSAwMDowMTowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMywgMCwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCA1OSlcbiAqIClcbiAqIC8vPT4gMVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgW2xhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlX10gPSBub3JtYWxpemVEYXRlcyhcbiAgICBvcHRpb25zPy5pbixcbiAgICBsYXRlckRhdGUsXG4gICAgZWFybGllckRhdGUsXG4gICk7XG5cbiAgY29uc3QgbGF0ZXJTdGFydE9mRGF5ID0gc3RhcnRPZkRheShsYXRlckRhdGVfKTtcbiAgY29uc3QgZWFybGllclN0YXJ0T2ZEYXkgPSBzdGFydE9mRGF5KGVhcmxpZXJEYXRlXyk7XG5cbiAgY29uc3QgbGF0ZXJUaW1lc3RhbXAgPVxuICAgICtsYXRlclN0YXJ0T2ZEYXkgLSBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGxhdGVyU3RhcnRPZkRheSk7XG4gIGNvbnN0IGVhcmxpZXJUaW1lc3RhbXAgPVxuICAgICtlYXJsaWVyU3RhcnRPZkRheSAtIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMoZWFybGllclN0YXJ0T2ZEYXkpO1xuXG4gIC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyIGJlY2F1c2UgdGhlIG51bWJlciBvZlxuICAvLyBtaWxsaXNlY29uZHMgaW4gYSBkYXkgaXMgbm90IGNvbnN0YW50IChlLmcuIGl0J3MgZGlmZmVyZW50IGluIHRoZSB3ZWVrIG9mXG4gIC8vIHRoZSBkYXlsaWdodCBzYXZpbmcgdGltZSBjbG9jayBzaGlmdCkuXG4gIHJldHVybiBNYXRoLnJvdW5kKChsYXRlclRpbWVzdGFtcCAtIGVhcmxpZXJUaW1lc3RhbXApIC8gbWlsbGlzZWNvbmRzSW5EYXkpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cztcbiIsIi8qKlxuICogQG5hbWUgaXNEYXRlXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiB2YWx1ZSBhIGRhdGU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIGluc3RhbmNlIG9mIERhdGUuIFRoZSBmdW5jdGlvbiB3b3JrcyBmb3IgZGF0ZXMgdHJhbnNmZXJyZWQgYWNyb3NzIGlmcmFtZXMuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhIHZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUobmV3IERhdGUoKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgYW4gaW52YWxpZCBkYXRlOlxuICogY29uc3QgcmVzdWx0ID0gaXNEYXRlKG5ldyBEYXRlKE5hTikpXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIHNvbWUgdmFsdWU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUoJzIwMTQtMDItMzEnKVxuICogLy89PiBmYWxzZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgYW4gb2JqZWN0OlxuICogY29uc3QgcmVzdWx0ID0gaXNEYXRlKHt9KVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgdmFsdWUgaW5zdGFuY2VvZiBEYXRlIHx8XG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gXCJbb2JqZWN0IERhdGVdXCIpXG4gICk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNEYXRlO1xuIiwiaW1wb3J0IHsgaXNEYXRlIH0gZnJvbSBcIi4vaXNEYXRlLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc1ZhbGlkXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIHZhbGlkP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJucyBmYWxzZSBpZiBhcmd1bWVudCBpcyBJbnZhbGlkIERhdGUgYW5kIHRydWUgb3RoZXJ3aXNlLlxuICogQXJndW1lbnQgaXMgY29udmVydGVkIHRvIERhdGUgdXNpbmcgYHRvRGF0ZWAuIFNlZSBbdG9EYXRlXShodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL3RvRGF0ZSlcbiAqIEludmFsaWQgRGF0ZSBpcyBhIERhdGUsIHdob3NlIHRpbWUgdmFsdWUgaXMgTmFOLlxuICpcbiAqIFRpbWUgdmFsdWUgb2YgRGF0ZTogaHR0cDovL2VzNS5naXRodWIuaW8vI3gxNS45LjEuMVxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gY2hlY2tcbiAqXG4gKiBAcmV0dXJucyBUaGUgZGF0ZSBpcyB2YWxpZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIHZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc1ZhbGlkKG5ldyBEYXRlKDIwMTQsIDEsIDMxKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIHZhbHVlLCBjb252ZXJ0aWJsZSBpbnRvIGEgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQoMTM5MzgwNDgwMDAwMClcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIGludmFsaWQgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQobmV3IERhdGUoJycpKVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZChkYXRlKSB7XG4gIHJldHVybiAhKCghaXNEYXRlKGRhdGUpICYmIHR5cGVvZiBkYXRlICE9PSBcIm51bWJlclwiKSB8fCBpc05hTigrdG9EYXRlKGRhdGUpKSk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNWYWxpZDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBYU8sU0FBUyxnQ0FBZ0MsTUFBTTtBQUNwRCxRQUFNLFFBQVEsT0FBTyxJQUFJO0FBQ3pCLFFBQU0sVUFBVSxJQUFJO0FBQUEsSUFDbEIsS0FBSztBQUFBLE1BQ0gsTUFBTSxZQUFhO0FBQUEsTUFDbkIsTUFBTSxTQUFVO0FBQUEsTUFDaEIsTUFBTSxRQUFTO0FBQUEsTUFDZixNQUFNLFNBQVU7QUFBQSxNQUNoQixNQUFNLFdBQVk7QUFBQSxNQUNsQixNQUFNLFdBQVk7QUFBQSxNQUNsQixNQUFNLGdCQUFpQjtBQUFBLElBQ3hCO0FBQUEsRUFDTDtBQUNFLFVBQVEsZUFBZSxNQUFNLFlBQWEsQ0FBQTtBQUMxQyxTQUFPLENBQUMsT0FBTyxDQUFDO0FBQ2xCO0FDMUJPLFNBQVMsZUFBZSxZQUFZLE9BQU87QUFDaEQsUUFBTSxZQUFZLGNBQWM7QUFBQSxJQUM5QjtBQUFBLElBQ1csTUFBTSxLQUFLLENBQUMsU0FBUyxPQUFPLFNBQVMsUUFBUTtBQUFBLEVBQzVEO0FBQ0UsU0FBTyxNQUFNLElBQUksU0FBUztBQUM1QjtBQ29CTyxTQUFTLFdBQVcsTUFBTSxTQUFTO0FBQ3hDLFFBQU0sUUFBUSxPQUFPLE1BQU0sbUNBQVMsRUFBRTtBQUN0QyxRQUFNLFNBQVMsR0FBRyxHQUFHLEdBQUcsQ0FBQztBQUN6QixTQUFPO0FBQ1Q7QUNRTyxTQUFTLHlCQUF5QixXQUFXLGFBQWEsU0FBUztBQUN4RSxRQUFNLENBQUMsWUFBWSxZQUFZLElBQUk7QUFBQSxJQUNqQyxtQ0FBUztBQUFBLElBQ1Q7QUFBQSxJQUNBO0FBQUEsRUFDSjtBQUVFLFFBQU0sa0JBQWtCLFdBQVcsVUFBVTtBQUM3QyxRQUFNLG9CQUFvQixXQUFXLFlBQVk7QUFFakQsUUFBTSxpQkFDSixDQUFDLGtCQUFrQixnQ0FBZ0MsZUFBZTtBQUNwRSxRQUFNLG1CQUNKLENBQUMsb0JBQW9CLGdDQUFnQyxpQkFBaUI7QUFLeEUsU0FBTyxLQUFLLE9BQU8saUJBQWlCLG9CQUFvQixpQkFBaUI7QUFDM0U7QUMzQk8sU0FBUyxPQUFPLE9BQU87QUFDNUIsU0FDRSxpQkFBaUIsUUFDaEIsT0FBTyxVQUFVLFlBQ2hCLE9BQU8sVUFBVSxTQUFTLEtBQUssS0FBSyxNQUFNO0FBRWhEO0FDSk8sU0FBUyxRQUFRLE1BQU07QUFDNUIsU0FBTyxFQUFHLENBQUMsT0FBTyxJQUFJLEtBQUssT0FBTyxTQUFTLFlBQWEsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDO0FBQzdFOyIsInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswLDEsMiwzLDQsNV19
@@ -8,8 +8,8 @@ import "@sbb-esta/lyne-elements/divider.js";
8
8
  import "@sbb-esta/lyne-elements/screen-reader-only.js";
9
9
  import "@sbb-esta/lyne-elements/journey-header.js";
10
10
  import "./pearl-chain-time.js";
11
- import { i as isValid } from "./isValid-BVccOlli.js";
12
- import { f as format } from "./format-DkbylFCM.js";
11
+ import { i as isValid } from "./isValid-DO_pHwcW.js";
12
+ import { f as format } from "./format-DTy5_IOt.js";
13
13
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
14
14
  /*
15
15
  * SBB table mixin
@@ -6,7 +6,7 @@ import { property, customElement } from "lit/decorators.js";
6
6
  import { removeTimezoneFromISOTimeString } from "./core/datetime.js";
7
7
  import { getDepartureArrivalTimeAttribute, isRideLeg } from "./core/timetable.js";
8
8
  import "./pearl-chain.js";
9
- import { f as format } from "./format-DkbylFCM.js";
9
+ import { f as format } from "./format-DTy5_IOt.js";
10
10
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
11
11
  /*
12
12
  * SBB table mixin
@@ -4,17 +4,13 @@ import { property, customElement } from "lit/decorators.js";
4
4
  import { styleMap } from "lit/directives/style-map.js";
5
5
  import { removeTimezoneFromISOTimeString } from "./core/datetime.js";
6
6
  import { isRideLeg } from "./core/timetable.js";
7
- import { d as differenceInMinutes, a as addMinutes } from "./differenceInMinutes-DHtPDiUE.js";
8
- import { t as toDate } from "./constants-BMGwMkN3.js";
7
+ import { d as differenceInMinutes, a as addMinutes } from "./differenceInMinutes-Cmyza6nm.js";
8
+ import { t as toDate } from "./toDate-B6IBgPYH.js";
9
9
  function isAfter(date, dateToCompare) {
10
- const _date = toDate(date);
11
- const _dateToCompare = toDate(dateToCompare);
12
- return _date.getTime() > _dateToCompare.getTime();
10
+ return +toDate(date) > +toDate(dateToCompare);
13
11
  }
14
12
  function isBefore(date, dateToCompare) {
15
- const _date = toDate(date);
16
- const _dateToCompare = toDate(dateToCompare);
17
- return +_date < +_dateToCompare;
13
+ return +toDate(date) < +toDate(dateToCompare);
18
14
  }
19
15
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
20
16
  /*
@@ -613,4 +609,4 @@ SbbPearlChainElement = __decorateClass([
613
609
  export {
614
610
  SbbPearlChainElement
615
611
  };
616
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0FmdGVyLm1qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0JlZm9yZS5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3BlYXJsLWNoYWluL3BlYXJsLWNoYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5tanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc0FmdGVyXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBmaXJzdCBkYXRlIGFmdGVyIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGZpcnN0IGRhdGUgYWZ0ZXIgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBhZnRlciB0aGUgb3RoZXIgb25lIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0gZGF0ZVRvQ29tcGFyZSAtIFRoZSBkYXRlIHRvIGNvbXBhcmUgd2l0aFxuICpcbiAqIEByZXR1cm5zIFRoZSBmaXJzdCBkYXRlIGlzIGFmdGVyIHRoZSBzZWNvbmQgZGF0ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxMCBKdWx5IDE5ODkgYWZ0ZXIgMTEgRmVicnVhcnkgMTk4Nz9cbiAqIGNvbnN0IHJlc3VsdCA9IGlzQWZ0ZXIobmV3IERhdGUoMTk4OSwgNiwgMTApLCBuZXcgRGF0ZSgxOTg3LCAxLCAxMSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWZ0ZXIoZGF0ZSwgZGF0ZVRvQ29tcGFyZSkge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlKTtcbiAgY29uc3QgX2RhdGVUb0NvbXBhcmUgPSB0b0RhdGUoZGF0ZVRvQ29tcGFyZSk7XG4gIHJldHVybiBfZGF0ZS5nZXRUaW1lKCkgPiBfZGF0ZVRvQ29tcGFyZS5nZXRUaW1lKCk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNBZnRlcjtcbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5tanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc0JlZm9yZVxuICogQGNhdGVnb3J5IENvbW1vbiBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZmlyc3QgZGF0ZSBiZWZvcmUgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZmlyc3QgZGF0ZSBiZWZvcmUgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBiZWZvcmUgdGhlIG90aGVyIG9uZSB0byByZXR1cm4gdHJ1ZVxuICogQHBhcmFtIGRhdGVUb0NvbXBhcmUgLSBUaGUgZGF0ZSB0byBjb21wYXJlIHdpdGhcbiAqXG4gKiBAcmV0dXJucyBUaGUgZmlyc3QgZGF0ZSBpcyBiZWZvcmUgdGhlIHNlY29uZCBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDEwIEp1bHkgMTk4OSBiZWZvcmUgMTEgRmVicnVhcnkgMTk4Nz9cbiAqIGNvbnN0IHJlc3VsdCA9IGlzQmVmb3JlKG5ldyBEYXRlKDE5ODksIDYsIDEwKSwgbmV3IERhdGUoMTk4NywgMSwgMTEpKVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCZWZvcmUoZGF0ZSwgZGF0ZVRvQ29tcGFyZSkge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlKTtcbiAgY29uc3QgX2RhdGVUb0NvbXBhcmUgPSB0b0RhdGUoZGF0ZVRvQ29tcGFyZSk7XG4gIHJldHVybiArX2RhdGUgPCArX2RhdGVUb0NvbXBhcmU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNCZWZvcmU7XG4iLCJpbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZUxpa2UgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2ludGVyZmFjZXMvdHlwZXMnO1xuaW1wb3J0IHsgYWRkTWludXRlcywgZGlmZmVyZW5jZUluTWludXRlcywgaXNBZnRlciwgaXNCZWZvcmUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQgeyByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nIH0gZnJvbSAnLi4vY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgdHlwZSB7IExlZywgUHRSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuaW1wb3J0IHsgaXNSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wZWFybC1jaGFpbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG50eXBlIFN0YXR1cyA9ICdwcm9ncmVzcycgfCAnZnV0dXJlJyB8ICdwYXN0JztcbnR5cGUgVGltZSA9IHtcbiAgdGltZT86IERhdGU7XG4gIGRlbGF5OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIEl0IHZpc3VhbGx5IGRpc3BsYXlzIGpvdXJuZXkgaW5mb3JtYXRpb24uXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItcGVhcmwtY2hhaW4nKVxuZXhwb3J0IGNsYXNzIFNiYlBlYXJsQ2hhaW5FbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGxlZ3Mgb2YgdGhlIHBlYXJsLWNoYWluLlxuICAgKiBGb3JtYXQ6XG4gICAqIGB7XCJsZWdzXCI6IFt7XCJkdXJhdGlvblwiOiAyNX0sIC4uLl19YFxuICAgKiBgZHVyYXRpb25gIGluIG1pbnV0ZXMuIER1cmF0aW9uIG9mIHRoZSBsZWcgaXMgcmVsYXRpdmVcbiAgICogdG8gdGhlIHRvdGFsIHRyYXZlbCB0aW1lLiBFeGFtcGxlOiBkZXBhcnR1cmUgMTY6MzAsIGNoYW5nZSBhdCAxNjo0MCxcbiAgICogYXJyaXZhbCBhdCAxNzowMC4gU28gdGhlIGNoYW5nZSBzaG91bGQgaGF2ZSBhIGR1cmF0aW9uIG9mIDMzLjMzJS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEFycmF5IH0pIHB1YmxpYyBsZWdzPzogKExlZyB8IFB0UmlkZUxlZylbXTtcblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQsIHRoZSBjdXJyZW50IGxvY2F0aW9uIGhhcyBhIHB1bHNhdGluZyBhbmltYXRpb24uIFlvdSBjYW5cbiAgICogZGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdpdGggdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgZGlzYWJsZUFuaW1hdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS4gUmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBTYmJEYXRlTGlrZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IGRlZmF1bHREYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoZGVmYXVsdERhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH1cbiAgcHVibGljIGdldCBub3coKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ub3c7XG4gIH1cbiAgcHJpdmF0ZSBfbm93OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10pOiBudW1iZXIge1xuICAgIHJldHVybiBsZWdzPy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBsZWcpID0+IHtcbiAgICAgIGNvbnN0IGFycml2YWxOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbD8udGltZSk7XG4gICAgICBjb25zdCBkZXBhcnR1cmVOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlPy50aW1lKTtcbiAgICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgc3VtICtcbiAgICAgICAgICBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICAgICAgICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbC50aW1lKSEsXG4gICAgICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdW07XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9pc0FsbENhbmNlbGxlZChsZWdzOiBQdFJpZGVMZWdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsZWdzPy5ldmVyeSgobGVnKSA9PiBsZWc/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJlbGF0aXZlRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10sIGxlZzogUHRSaWRlTGVnKTogbnVtYmVyIHtcbiAgICBjb25zdCBhcnJpdmFsTm9UeiA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWw/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZU5vVHogPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICBjb25zdCBkdXJhdGlvbiA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoXG4gICAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWwudGltZSkhLFxuICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFsbER1cmF0aW9ucyA9IHRoaXMuX2dldEFsbER1cmF0aW9uKGxlZ3MpO1xuXG4gICAgICBpZiAoYWxsRHVyYXRpb25zID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxMDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoZHVyYXRpb24gLyBhbGxEdXJhdGlvbnMpICogMTAwO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFByb2dyZXNzKG5vdzogRGF0ZSwgc3RhcnQ/OiBUaW1lLCBlbmQ/OiBUaW1lKTogbnVtYmVyIHtcbiAgICBpZiAoIXN0YXJ0Py50aW1lIHx8ICFlbmQ/LnRpbWUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gYWRkTWludXRlcyhzdGFydC50aW1lLCBzdGFydC5kZWxheSA/PyAwKTtcbiAgICBjb25zdCBlbmRXaXRoRGVsYXkgPSBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG4gICAgY29uc3QgdG90YWwgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGVuZFdpdGhEZWxheSwgc3RhcnRXaXRoRGVsYXkpO1xuICAgIGNvbnN0IHByb2dyZXNzID0gZGlmZmVyZW5jZUluTWludXRlcyhub3csIHN0YXJ0V2l0aERlbGF5KTtcblxuICAgIHJldHVybiB0b3RhbCAmJiAocHJvZ3Jlc3MgLyB0b3RhbCkgKiAxMDA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdGF0dXMobm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBTdGF0dXMge1xuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gc3RhcnQgJiYgc3RhcnQudGltZSAmJiBhZGRNaW51dGVzKHN0YXJ0LnRpbWUsIHN0YXJ0LmRlbGF5ID8/IDApO1xuICAgIGNvbnN0IGVuZFdpdGhEZWxheSA9IGVuZCAmJiBlbmQudGltZSAmJiBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG5cbiAgICBpZiAoXG4gICAgICBzdGFydFdpdGhEZWxheSAmJlxuICAgICAgaXNCZWZvcmUoc3RhcnRXaXRoRGVsYXksIG5vdykgJiZcbiAgICAgIGVuZFdpdGhEZWxheSAmJlxuICAgICAgaXNBZnRlcihlbmRXaXRoRGVsYXksIG5vdylcbiAgICApIHtcbiAgICAgIHJldHVybiAncHJvZ3Jlc3MnO1xuICAgIH0gZWxzZSBpZiAoZW5kV2l0aERlbGF5ICYmIGlzQmVmb3JlKGVuZFdpdGhEZWxheSwgbm93KSkge1xuICAgICAgcmV0dXJuICdwYXN0JztcbiAgICB9XG4gICAgcmV0dXJuICdmdXR1cmUnO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUG9zaXRpb24obm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBUZW1wbGF0ZVJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gdGhpcy5fZ2V0UHJvZ3Jlc3Mobm93LCBzdGFydCwgZW5kKTtcbiAgICBpZiAoY3VycmVudFBvc2l0aW9uIDwgMCAmJiBjdXJyZW50UG9zaXRpb24gPiAxMDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdGF0dXNTdHlsZSA9ICgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICctLXNiYi1wZWFybC1jaGFpbi1zdGF0dXMtcG9zaXRpb24nOiBgJHtjdXJyZW50UG9zaXRpb259JWAsXG4gICAgICAgIC4uLihjdXJyZW50UG9zaXRpb24gPj0gNTAgPyB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLTEwMCUpYCB9IDoge30pLFxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYW5pbWF0aW9uID0gdGhpcy5kaXNhYmxlQW5pbWF0aW9uID8gJ3NiYi1wZWFybC1jaGFpbl9fcG9zaXRpb24tLW5vLWFuaW1hdGlvbicgOiAnJztcblxuICAgIHJldHVybiBodG1sYDxzcGFuXG4gICAgICBzdHlsZT0ke3N0eWxlTWFwKHN0YXR1c1N0eWxlKCkpfVxuICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3Bvc2l0aW9uICR7YW5pbWF0aW9ufVwiXG4gICAgPjwvc3Bhbj5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgbm93ID0gdGhpcy5ub3cgPz8gbmV3IERhdGUoKTtcblxuICAgIGNvbnN0IHJpZGVMZWdzOiBQdFJpZGVMZWdbXSA9IHRoaXMubGVncz8uZmlsdGVyKChsZWcpID0+IGlzUmlkZUxlZyhsZWcpKSBhcyBQdFJpZGVMZWdbXTtcblxuICAgIGNvbnN0IGRlcGFydHVyZVRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJiByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKHJpZGVMZWdzWzBdPy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZVdpdGhEZWxheSA9IGRlcGFydHVyZVRpbWUgJiYge1xuICAgICAgdGltZTogZGVwYXJ0dXJlVGltZSxcbiAgICAgIGRlbGF5OiByaWRlTGVnc1swXS5kZXBhcnR1cmUuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgYXJyaXZhbFRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJlxuICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhyaWRlTGVnc1tyaWRlTGVncy5sZW5ndGggLSAxXS5hcnJpdmFsPy50aW1lKTtcbiAgICBjb25zdCBhcnJpdmFsVGltZURlbGF5ID0gYXJyaXZhbFRpbWUgJiYge1xuICAgICAgdGltZTogYXJyaXZhbFRpbWUsXG4gICAgICBkZWxheTogcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV0/LmFycml2YWwuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICByZXR1cm4gcmlkZUxlZ3MgJiZcbiAgICAgICAgcmlkZUxlZ3NbMF0/LnNlcnZpY2VKb3VybmV5Py5zdG9wUG9pbnRzICYmXG4gICAgICAgIHJpZGVMZWdzWzBdPy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50c1swXS5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJ1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBhcnJpdmFsTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICBjb25zdCBsYXN0TGVnID0gcmlkZUxlZ3MgJiYgcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBzdG9wcyA9IGxhc3RMZWcgJiYgbGFzdExlZy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50cztcblxuICAgICAgcmV0dXJuIHN0b3BzICYmIHN0b3BzW3N0b3BzLmxlbmd0aCAtIDFdLnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbi0tYXJyaXZhbC1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBkZXBhcnR1cmVDYW5jZWxDbGFzcyA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgIHJldHVybiByaWRlTGVncyAmJiByaWRlTGVnc1swXT8uc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWRcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3QgYXJyaXZhbENhbmNlbENsYXNzID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgcmV0dXJuIHJpZGVMZWdzICYmIHJpZGVMZWdzW3JpZGVMZWdzLmxlbmd0aCAtIDFdPy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LmNhbmNlbGxlZFxuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWFycml2YWwtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3Qgc3RhdHVzID1cbiAgICAgIGRlcGFydHVyZVdpdGhEZWxheSAmJlxuICAgICAgYXJyaXZhbFRpbWVEZWxheSAmJlxuICAgICAgdGhpcy5fZ2V0U3RhdHVzKG5vdywgZGVwYXJ0dXJlV2l0aERlbGF5LCBhcnJpdmFsVGltZURlbGF5KTtcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzRGVwYXJ0dXJlID1cbiAgICAgIHJpZGVMZWdzICYmIHN0YXR1cyAmJiAhZGVwYXJ0dXJlQ2FuY2VsQ2xhc3MgPyAnc2JiLXBlYXJsLWNoYWluX19idWxsZXQtLScgKyBzdGF0dXMgOiAnJztcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzQXJyaXZhbCA9XG4gICAgICByaWRlTGVncyAmJiBzdGF0dXMgJiYgIWFycml2YWxDYW5jZWxDbGFzc1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2J1bGxldC0tJyArIHRoaXMuX2dldFN0YXR1cyhub3csIHVuZGVmaW5lZCwgYXJyaXZhbFRpbWVEZWxheSlcbiAgICAgICAgOiAnJztcblxuICAgIGlmICh0aGlzLl9pc0FsbENhbmNlbGxlZChyaWRlTGVncykpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCBzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1kaXNydXB0aW9uXCI+PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2xlZyBzYmItcGVhcmwtY2hhaW5fX2xlZy0tZGlzcnVwdGlvblwiPjwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wZWFybC1jaGFpblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgJHtzdGF0dXNDbGFzc0RlcGFydHVyZX0gJHtkZXBhcnR1cmVOb3RTZXJ2aWNlZH0gJHtkZXBhcnR1cmVDYW5jZWxDbGFzc31cIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICAke3JpZGVMZWdzPy5tYXAoKGxlZzogUHRSaWRlTGVnLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzdG9wUG9pbnRzLCBzZXJ2aWNlQWx0ZXJhdGlvbiB9ID0gbGVnPy5zZXJ2aWNlSm91cm5leSB8fCB7fTtcblxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5fZ2V0UmVsYXRpdmVEdXJhdGlvbihyaWRlTGVncywgbGVnKTtcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmUgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgICAgICAgIGNvbnN0IGFycml2YWwgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsPy50aW1lKTtcblxuICAgICAgICAgIGNvbnN0IGlzQXJyaXZhbE5vdFNlcnZpY2VkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJztcbiAgICAgICAgICBjb25zdCBpc0Fycml2YWxQbGFubmVkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnUExBTk5FRCc7XG4gICAgICAgICAgY29uc3QgaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCA9IHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1swXT8uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCc7XG5cbiAgICAgICAgICBjb25zdCBzdG9wUG9pbnRzQmVmb3JlID0gaW5kZXggPiAwICYmIHJpZGVMZWdzW2luZGV4IC0gMV0uc2VydmljZUpvdXJuZXkuc3RvcFBvaW50cztcbiAgICAgICAgICBjb25zdCBpc0JlZm9yZUxlZ0Fycml2YWxOb3RTZXJ2aWNlZCA9XG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlICYmXG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlW3N0b3BQb2ludHNCZWZvcmUubGVuZ3RoIC0gMV0/LnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnO1xuXG4gICAgICAgICAgY29uc3Qgc2tpcHBlZExlZyA9XG4gICAgICAgICAgICBpc0Fycml2YWxOb3RTZXJ2aWNlZCB8fCAoaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCAmJiBpc0Fycml2YWxQbGFubmVkKVxuICAgICAgICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2xlZy0tc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmVTa2lwcGVkQnVsbGV0ID1cbiAgICAgICAgICAgIGlzRGVwYXJ0dXJlTm90U2VydmljZWQgfHwgaXNCZWZvcmVMZWdBcnJpdmFsTm90U2VydmljZWRcbiAgICAgICAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluX19zdG9wLS1kZXBhcnR1cmUtc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcblxuICAgICAgICAgIGNvbnN0IGNhbmNlbGxlZCA9IHNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWQgPyAnc2JiLXBlYXJsLWNoYWluX19sZWctLWRpc3J1cHRpb24nIDogJyc7XG5cbiAgICAgICAgICBjb25zdCBsZWdEZXBhcnR1cmVXaXRoRGVsYXkgPSB7IHRpbWU6IGRlcGFydHVyZSwgZGVsYXk6IGxlZy5kZXBhcnR1cmU/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBsZWdBcnJpdmFsV2l0aERlbGF5ID0geyB0aW1lOiBhcnJpdmFsLCBkZWxheTogbGVnLmFycml2YWw/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSB0aGlzLl9nZXRTdGF0dXMobm93LCBsZWdEZXBhcnR1cmVXaXRoRGVsYXksIGxlZ0Fycml2YWxXaXRoRGVsYXkpO1xuXG4gICAgICAgICAgY29uc3QgbGVnU3RhdHVzID0gIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZyAmJiAnc2JiLXBlYXJsLWNoYWluX19sZWctLScgKyBzdGF0dXM7XG4gICAgICAgICAgY29uc3QgbGVnU3R5bGUgPSAoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXdpZHRoJzogYCR7ZHVyYXRpb259JWAsXG4gICAgICAgICAgICAgIC4uLihzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXN0YXR1cyc6IGAke3RoaXMuX2dldFByb2dyZXNzKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KX0lYCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBodG1sYCA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fbGVnICR7bGVnU3RhdHVzIHx8ICcnfSAke2NhbmNlbGxlZH0gJHtza2lwcGVkTGVnfVwiXG4gICAgICAgICAgICBzdHlsZT0ke3N0eWxlTWFwKGxlZ1N0eWxlKCkpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7aW5kZXggPiAwICYmIGluZGV4IDwgcmlkZUxlZ3MubGVuZ3RoXG4gICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fc3RvcCAke2RlcGFydHVyZVNraXBwZWRCdWxsZXR9XCI+PC9zcGFuPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHtzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlclBvc2l0aW9uKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KVxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgfSl9XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCAke3N0YXR1c0NsYXNzQXJyaXZhbH0gJHthcnJpdmFsTm90U2VydmljZWR9ICR7YXJyaXZhbENhbmNlbENsYXNzfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGVhcmwtY2hhaW4nOiBTYmJQZWFybENoYWluRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9iIiwiX2EiLCJfZCIsIl9jIiwiX2UiLCJzdGF0dXMi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
612
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0FmdGVyLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2lzQmVmb3JlLmpzIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9wZWFybC1jaGFpbi9wZWFybC1jaGFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc0FmdGVyXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBmaXJzdCBkYXRlIGFmdGVyIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGZpcnN0IGRhdGUgYWZ0ZXIgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBhZnRlciB0aGUgb3RoZXIgb25lIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0gZGF0ZVRvQ29tcGFyZSAtIFRoZSBkYXRlIHRvIGNvbXBhcmUgd2l0aFxuICpcbiAqIEByZXR1cm5zIFRoZSBmaXJzdCBkYXRlIGlzIGFmdGVyIHRoZSBzZWNvbmQgZGF0ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxMCBKdWx5IDE5ODkgYWZ0ZXIgMTEgRmVicnVhcnkgMTk4Nz9cbiAqIGNvbnN0IHJlc3VsdCA9IGlzQWZ0ZXIobmV3IERhdGUoMTk4OSwgNiwgMTApLCBuZXcgRGF0ZSgxOTg3LCAxLCAxMSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWZ0ZXIoZGF0ZSwgZGF0ZVRvQ29tcGFyZSkge1xuICByZXR1cm4gK3RvRGF0ZShkYXRlKSA+ICt0b0RhdGUoZGF0ZVRvQ29tcGFyZSk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNBZnRlcjtcbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGlzQmVmb3JlXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBmaXJzdCBkYXRlIGJlZm9yZSB0aGUgc2Vjb25kIG9uZT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBmaXJzdCBkYXRlIGJlZm9yZSB0aGUgc2Vjb25kIG9uZT9cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRoYXQgc2hvdWxkIGJlIGJlZm9yZSB0aGUgb3RoZXIgb25lIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0gZGF0ZVRvQ29tcGFyZSAtIFRoZSBkYXRlIHRvIGNvbXBhcmUgd2l0aFxuICpcbiAqIEByZXR1cm5zIFRoZSBmaXJzdCBkYXRlIGlzIGJlZm9yZSB0aGUgc2Vjb25kIGRhdGVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSXMgMTAgSnVseSAxOTg5IGJlZm9yZSAxMSBGZWJydWFyeSAxOTg3P1xuICogY29uc3QgcmVzdWx0ID0gaXNCZWZvcmUobmV3IERhdGUoMTk4OSwgNiwgMTApLCBuZXcgRGF0ZSgxOTg3LCAxLCAxMSkpXG4gKiAvLz0+IGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0JlZm9yZShkYXRlLCBkYXRlVG9Db21wYXJlKSB7XG4gIHJldHVybiArdG9EYXRlKGRhdGUpIDwgK3RvRGF0ZShkYXRlVG9Db21wYXJlKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBpc0JlZm9yZTtcbiIsImltcG9ydCB7IGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlTGlrZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBhZGRNaW51dGVzLCBkaWZmZXJlbmNlSW5NaW51dGVzLCBpc0FmdGVyLCBpc0JlZm9yZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB0eXBlIHsgTGVnLCBQdFJpZGVMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS5qcyc7XG5pbXBvcnQgeyBpc1JpZGVMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BlYXJsLWNoYWluLnNjc3M/bGl0JmlubGluZSc7XG5cbnR5cGUgU3RhdHVzID0gJ3Byb2dyZXNzJyB8ICdmdXR1cmUnIHwgJ3Bhc3QnO1xudHlwZSBUaW1lID0ge1xuICB0aW1lPzogRGF0ZTtcbiAgZGVsYXk6IG51bWJlcjtcbn07XG5cbi8qKlxuICogSXQgdmlzdWFsbHkgZGlzcGxheXMgam91cm5leSBpbmZvcm1hdGlvbi5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1wZWFybC1jaGFpbicpXG5leHBvcnQgY2xhc3MgU2JiUGVhcmxDaGFpbkVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgbGVncyBvZiB0aGUgcGVhcmwtY2hhaW4uXG4gICAqIEZvcm1hdDpcbiAgICogYHtcImxlZ3NcIjogW3tcImR1cmF0aW9uXCI6IDI1fSwgLi4uXX1gXG4gICAqIGBkdXJhdGlvbmAgaW4gbWludXRlcy4gRHVyYXRpb24gb2YgdGhlIGxlZyBpcyByZWxhdGl2ZVxuICAgKiB0byB0aGUgdG90YWwgdHJhdmVsIHRpbWUuIEV4YW1wbGU6IGRlcGFydHVyZSAxNjozMCwgY2hhbmdlIGF0IDE2OjQwLFxuICAgKiBhcnJpdmFsIGF0IDE3OjAwLiBTbyB0aGUgY2hhbmdlIHNob3VsZCBoYXZlIGEgZHVyYXRpb24gb2YgMzMuMzMlLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQXJyYXkgfSkgcHVibGljIGxlZ3M/OiAoTGVnIHwgUHRSaWRlTGVnKVtdO1xuXG4gIC8qKlxuICAgKiBQZXIgZGVmYXVsdCwgdGhlIGN1cnJlbnQgbG9jYXRpb24gaGFzIGEgcHVsc2F0aW5nIGFuaW1hdGlvbi4gWW91IGNhblxuICAgKiBkaXNhYmxlIHRoZSBhbmltYXRpb24gd2l0aCB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZS1hbmltYXRpb24nLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBkaXNhYmxlQW5pbWF0aW9uPzogYm9vbGVhbjtcblxuICAvKiogQSBjb25maWd1cmVkIGRhdGUgd2hpY2ggYWN0cyBhcyB0aGUgY3VycmVudCBkYXRlIGluc3RlYWQgb2YgdGhlIHJlYWwgY3VycmVudCBkYXRlLiBSZWNvbW1lbmRlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBub3codmFsdWU6IFNiYkRhdGVMaWtlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbm93ID0gZGVmYXVsdERhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkZWZhdWx0RGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IG5vdygpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX25vdztcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9nZXRBbGxEdXJhdGlvbihsZWdzOiBQdFJpZGVMZWdbXSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGxlZ3M/LnJlZHVjZSgoc3VtOiBudW1iZXIsIGxlZykgPT4ge1xuICAgICAgY29uc3QgYXJyaXZhbE5vVHogPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsPy50aW1lKTtcbiAgICAgIGNvbnN0IGRlcGFydHVyZU5vVHogPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgICAgaWYgKGFycml2YWxOb1R6ICYmIGRlcGFydHVyZU5vVHopIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBzdW0gK1xuICAgICAgICAgIGRpZmZlcmVuY2VJbk1pbnV0ZXMoXG4gICAgICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsLnRpbWUpISxcbiAgICAgICAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmRlcGFydHVyZS50aW1lKSEsXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1bTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQWxsQ2FuY2VsbGVkKGxlZ3M6IFB0UmlkZUxlZ1tdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxlZ3M/LmV2ZXJ5KChsZWcpID0+IGxlZz8uc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UmVsYXRpdmVEdXJhdGlvbihsZWdzOiBQdFJpZGVMZWdbXSwgbGVnOiBQdFJpZGVMZWcpOiBudW1iZXIge1xuICAgIGNvbnN0IGFycml2YWxOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbD8udGltZSk7XG4gICAgY29uc3QgZGVwYXJ0dXJlTm9UeiA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmRlcGFydHVyZT8udGltZSk7XG4gICAgaWYgKGFycml2YWxOb1R6ICYmIGRlcGFydHVyZU5vVHopIHtcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gZGlmZmVyZW5jZUluTWludXRlcyhcbiAgICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbC50aW1lKSEsXG4gICAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmRlcGFydHVyZS50aW1lKSEsXG4gICAgICApO1xuICAgICAgY29uc3QgYWxsRHVyYXRpb25zID0gdGhpcy5fZ2V0QWxsRHVyYXRpb24obGVncyk7XG5cbiAgICAgIGlmIChhbGxEdXJhdGlvbnMgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIDEwMDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChkdXJhdGlvbiAvIGFsbER1cmF0aW9ucykgKiAxMDA7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UHJvZ3Jlc3Mobm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBudW1iZXIge1xuICAgIGlmICghc3RhcnQ/LnRpbWUgfHwgIWVuZD8udGltZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRXaXRoRGVsYXkgPSBhZGRNaW51dGVzKHN0YXJ0LnRpbWUsIHN0YXJ0LmRlbGF5ID8/IDApO1xuICAgIGNvbnN0IGVuZFdpdGhEZWxheSA9IGFkZE1pbnV0ZXMoZW5kLnRpbWUsIGVuZC5kZWxheSA/PyAwKTtcbiAgICBjb25zdCB0b3RhbCA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoZW5kV2l0aERlbGF5LCBzdGFydFdpdGhEZWxheSk7XG4gICAgY29uc3QgcHJvZ3Jlc3MgPSBkaWZmZXJlbmNlSW5NaW51dGVzKG5vdywgc3RhcnRXaXRoRGVsYXkpO1xuXG4gICAgcmV0dXJuIHRvdGFsICYmIChwcm9ncmVzcyAvIHRvdGFsKSAqIDEwMDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFN0YXR1cyhub3c6IERhdGUsIHN0YXJ0PzogVGltZSwgZW5kPzogVGltZSk6IFN0YXR1cyB7XG4gICAgY29uc3Qgc3RhcnRXaXRoRGVsYXkgPSBzdGFydCAmJiBzdGFydC50aW1lICYmIGFkZE1pbnV0ZXMoc3RhcnQudGltZSwgc3RhcnQuZGVsYXkgPz8gMCk7XG4gICAgY29uc3QgZW5kV2l0aERlbGF5ID0gZW5kICYmIGVuZC50aW1lICYmIGFkZE1pbnV0ZXMoZW5kLnRpbWUsIGVuZC5kZWxheSA/PyAwKTtcblxuICAgIGlmIChcbiAgICAgIHN0YXJ0V2l0aERlbGF5ICYmXG4gICAgICBpc0JlZm9yZShzdGFydFdpdGhEZWxheSwgbm93KSAmJlxuICAgICAgZW5kV2l0aERlbGF5ICYmXG4gICAgICBpc0FmdGVyKGVuZFdpdGhEZWxheSwgbm93KVxuICAgICkge1xuICAgICAgcmV0dXJuICdwcm9ncmVzcyc7XG4gICAgfSBlbHNlIGlmIChlbmRXaXRoRGVsYXkgJiYgaXNCZWZvcmUoZW5kV2l0aERlbGF5LCBub3cpKSB7XG4gICAgICByZXR1cm4gJ3Bhc3QnO1xuICAgIH1cbiAgICByZXR1cm4gJ2Z1dHVyZSc7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJQb3NpdGlvbihub3c6IERhdGUsIHN0YXJ0PzogVGltZSwgZW5kPzogVGltZSk6IFRlbXBsYXRlUmVzdWx0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjdXJyZW50UG9zaXRpb24gPSB0aGlzLl9nZXRQcm9ncmVzcyhub3csIHN0YXJ0LCBlbmQpO1xuICAgIGlmIChjdXJyZW50UG9zaXRpb24gPCAwICYmIGN1cnJlbnRQb3NpdGlvbiA+IDEwMCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHN0YXR1c1N0eWxlID0gKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJy0tc2JiLXBlYXJsLWNoYWluLXN0YXR1cy1wb3NpdGlvbic6IGAke2N1cnJlbnRQb3NpdGlvbn0lYCxcbiAgICAgICAgLi4uKGN1cnJlbnRQb3NpdGlvbiA+PSA1MCA/IHsgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgtMTAwJSlgIH0gOiB7fSksXG4gICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBhbmltYXRpb24gPSB0aGlzLmRpc2FibGVBbmltYXRpb24gPyAnc2JiLXBlYXJsLWNoYWluX19wb3NpdGlvbi0tbm8tYW5pbWF0aW9uJyA6ICcnO1xuXG4gICAgcmV0dXJuIGh0bWxgPHNwYW5cbiAgICAgIHN0eWxlPSR7c3R5bGVNYXAoc3RhdHVzU3R5bGUoKSl9XG4gICAgICBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fcG9zaXRpb24gJHthbmltYXRpb259XCJcbiAgICA+PC9zcGFuPmA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBub3cgPSB0aGlzLm5vdyA/PyBuZXcgRGF0ZSgpO1xuXG4gICAgY29uc3QgcmlkZUxlZ3M6IFB0UmlkZUxlZ1tdID0gdGhpcy5sZWdzPy5maWx0ZXIoKGxlZykgPT4gaXNSaWRlTGVnKGxlZykpIGFzIFB0UmlkZUxlZ1tdO1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlVGltZSA9XG4gICAgICByaWRlTGVncz8ubGVuZ3RoICYmIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcocmlkZUxlZ3NbMF0/LmRlcGFydHVyZT8udGltZSk7XG4gICAgY29uc3QgZGVwYXJ0dXJlV2l0aERlbGF5ID0gZGVwYXJ0dXJlVGltZSAmJiB7XG4gICAgICB0aW1lOiBkZXBhcnR1cmVUaW1lLFxuICAgICAgZGVsYXk6IHJpZGVMZWdzWzBdLmRlcGFydHVyZS5kZWxheSA/PyAwLFxuICAgIH07XG5cbiAgICBjb25zdCBhcnJpdmFsVGltZSA9XG4gICAgICByaWRlTGVncz8ubGVuZ3RoICYmXG4gICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKHJpZGVMZWdzW3JpZGVMZWdzLmxlbmd0aCAtIDFdLmFycml2YWw/LnRpbWUpO1xuICAgIGNvbnN0IGFycml2YWxUaW1lRGVsYXkgPSBhcnJpdmFsVGltZSAmJiB7XG4gICAgICB0aW1lOiBhcnJpdmFsVGltZSxcbiAgICAgIGRlbGF5OiByaWRlTGVnc1tyaWRlTGVncy5sZW5ndGggLSAxXT8uYXJyaXZhbC5kZWxheSA/PyAwLFxuICAgIH07XG5cbiAgICBjb25zdCBkZXBhcnR1cmVOb3RTZXJ2aWNlZCA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgIHJldHVybiByaWRlTGVncyAmJlxuICAgICAgICByaWRlTGVnc1swXT8uc2VydmljZUpvdXJuZXk/LnN0b3BQb2ludHMgJiZcbiAgICAgICAgcmlkZUxlZ3NbMF0/LnNlcnZpY2VKb3VybmV5Py5zdG9wUG9pbnRzWzBdLnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbi0tZGVwYXJ0dXJlLXNraXBwZWQnXG4gICAgICAgIDogJyc7XG4gICAgfSkoKTtcblxuICAgIGNvbnN0IGFycml2YWxOb3RTZXJ2aWNlZCA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgIGNvbnN0IGxhc3RMZWcgPSByaWRlTGVncyAmJiByaWRlTGVnc1tyaWRlTGVncy5sZW5ndGggLSAxXTtcbiAgICAgIGNvbnN0IHN0b3BzID0gbGFzdExlZyAmJiBsYXN0TGVnLnNlcnZpY2VKb3VybmV5Py5zdG9wUG9pbnRzO1xuXG4gICAgICByZXR1cm4gc3RvcHMgJiYgc3RvcHNbc3RvcHMubGVuZ3RoIC0gMV0uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCdcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluLS1hcnJpdmFsLXNraXBwZWQnXG4gICAgICAgIDogJyc7XG4gICAgfSkoKTtcblxuICAgIGNvbnN0IGRlcGFydHVyZUNhbmNlbENsYXNzID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgcmV0dXJuIHJpZGVMZWdzICYmIHJpZGVMZWdzWzBdPy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LmNhbmNlbGxlZFxuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1kaXNydXB0aW9uJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBhcnJpdmFsQ2FuY2VsQ2xhc3MgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICByZXR1cm4gcmlkZUxlZ3MgJiYgcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV0/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbi0tYXJyaXZhbC1kaXNydXB0aW9uJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBzdGF0dXMgPVxuICAgICAgZGVwYXJ0dXJlV2l0aERlbGF5ICYmXG4gICAgICBhcnJpdmFsVGltZURlbGF5ICYmXG4gICAgICB0aGlzLl9nZXRTdGF0dXMobm93LCBkZXBhcnR1cmVXaXRoRGVsYXksIGFycml2YWxUaW1lRGVsYXkpO1xuXG4gICAgY29uc3Qgc3RhdHVzQ2xhc3NEZXBhcnR1cmUgPVxuICAgICAgcmlkZUxlZ3MgJiYgc3RhdHVzICYmICFkZXBhcnR1cmVDYW5jZWxDbGFzcyA/ICdzYmItcGVhcmwtY2hhaW5fX2J1bGxldC0tJyArIHN0YXR1cyA6ICcnO1xuXG4gICAgY29uc3Qgc3RhdHVzQ2xhc3NBcnJpdmFsID1cbiAgICAgIHJpZGVMZWdzICYmIHN0YXR1cyAmJiAhYXJyaXZhbENhbmNlbENsYXNzXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbl9fYnVsbGV0LS0nICsgdGhpcy5fZ2V0U3RhdHVzKG5vdywgdW5kZWZpbmVkLCBhcnJpdmFsVGltZURlbGF5KVxuICAgICAgICA6ICcnO1xuXG4gICAgaWYgKHRoaXMuX2lzQWxsQ2FuY2VsbGVkKHJpZGVMZWdzKSkge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fYnVsbGV0IHNiYi1wZWFybC1jaGFpbi0tZGVwYXJ0dXJlLWRpc3J1cHRpb25cIj48L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fbGVnIHNiYi1wZWFybC1jaGFpbl9fbGVnLS1kaXNydXB0aW9uXCI+PC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCBzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1kaXNydXB0aW9uXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCAke3N0YXR1c0NsYXNzRGVwYXJ0dXJlfSAke2RlcGFydHVyZU5vdFNlcnZpY2VkfSAke2RlcGFydHVyZUNhbmNlbENsYXNzfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgICR7cmlkZUxlZ3M/Lm1hcCgobGVnOiBQdFJpZGVMZWcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHN0b3BQb2ludHMsIHNlcnZpY2VBbHRlcmF0aW9uIH0gPSBsZWc/LnNlcnZpY2VKb3VybmV5IHx8IHt9O1xuXG4gICAgICAgICAgY29uc3QgZHVyYXRpb24gPSB0aGlzLl9nZXRSZWxhdGl2ZUR1cmF0aW9uKHJpZGVMZWdzLCBsZWcpO1xuICAgICAgICAgIGNvbnN0IGRlcGFydHVyZSA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmRlcGFydHVyZT8udGltZSk7XG4gICAgICAgICAgY29uc3QgYXJyaXZhbCA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWw/LnRpbWUpO1xuXG4gICAgICAgICAgY29uc3QgaXNBcnJpdmFsTm90U2VydmljZWQgPVxuICAgICAgICAgICAgc3RvcFBvaW50cyAmJiBzdG9wUG9pbnRzW3N0b3BQb2ludHMubGVuZ3RoIC0gMV0/LnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnO1xuICAgICAgICAgIGNvbnN0IGlzQXJyaXZhbFBsYW5uZWQgPVxuICAgICAgICAgICAgc3RvcFBvaW50cyAmJiBzdG9wUG9pbnRzW3N0b3BQb2ludHMubGVuZ3RoIC0gMV0/LnN0b3BTdGF0dXMgPT09ICdQTEFOTkVEJztcbiAgICAgICAgICBjb25zdCBpc0RlcGFydHVyZU5vdFNlcnZpY2VkID0gc3RvcFBvaW50cyAmJiBzdG9wUG9pbnRzWzBdPy5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJztcblxuICAgICAgICAgIGNvbnN0IHN0b3BQb2ludHNCZWZvcmUgPSBpbmRleCA+IDAgJiYgcmlkZUxlZ3NbaW5kZXggLSAxXS5zZXJ2aWNlSm91cm5leS5zdG9wUG9pbnRzO1xuICAgICAgICAgIGNvbnN0IGlzQmVmb3JlTGVnQXJyaXZhbE5vdFNlcnZpY2VkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHNCZWZvcmUgJiZcbiAgICAgICAgICAgIHN0b3BQb2ludHNCZWZvcmVbc3RvcFBvaW50c0JlZm9yZS5sZW5ndGggLSAxXT8uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCc7XG5cbiAgICAgICAgICBjb25zdCBza2lwcGVkTGVnID1cbiAgICAgICAgICAgIGlzQXJyaXZhbE5vdFNlcnZpY2VkIHx8IChpc0RlcGFydHVyZU5vdFNlcnZpY2VkICYmIGlzQXJyaXZhbFBsYW5uZWQpXG4gICAgICAgICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbl9fbGVnLS1za2lwcGVkJ1xuICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICAgIGNvbnN0IGRlcGFydHVyZVNraXBwZWRCdWxsZXQgPVxuICAgICAgICAgICAgaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCB8fCBpc0JlZm9yZUxlZ0Fycml2YWxOb3RTZXJ2aWNlZFxuICAgICAgICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX3N0b3AtLWRlcGFydHVyZS1za2lwcGVkJ1xuICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgICAgY29uc3QgY2FuY2VsbGVkID0gc2VydmljZUFsdGVyYXRpb24/LmNhbmNlbGxlZCA/ICdzYmItcGVhcmwtY2hhaW5fX2xlZy0tZGlzcnVwdGlvbicgOiAnJztcblxuICAgICAgICAgIGNvbnN0IGxlZ0RlcGFydHVyZVdpdGhEZWxheSA9IHsgdGltZTogZGVwYXJ0dXJlLCBkZWxheTogbGVnLmRlcGFydHVyZT8uZGVsYXkgPz8gMCB9O1xuICAgICAgICAgIGNvbnN0IGxlZ0Fycml2YWxXaXRoRGVsYXkgPSB7IHRpbWU6IGFycml2YWwsIGRlbGF5OiBsZWcuYXJyaXZhbD8uZGVsYXkgPz8gMCB9O1xuICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMuX2dldFN0YXR1cyhub3csIGxlZ0RlcGFydHVyZVdpdGhEZWxheSwgbGVnQXJyaXZhbFdpdGhEZWxheSk7XG5cbiAgICAgICAgICBjb25zdCBsZWdTdGF0dXMgPSAhY2FuY2VsbGVkICYmICFza2lwcGVkTGVnICYmICdzYmItcGVhcmwtY2hhaW5fX2xlZy0tJyArIHN0YXR1cztcbiAgICAgICAgICBjb25zdCBsZWdTdHlsZSA9ICgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICctLXNiYi1wZWFybC1jaGFpbi1sZWctd2lkdGgnOiBgJHtkdXJhdGlvbn0lYCxcbiAgICAgICAgICAgICAgLi4uKHN0YXR1cyA9PT0gJ3Byb2dyZXNzJyAmJiAhY2FuY2VsbGVkICYmICFza2lwcGVkTGVnXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICctLXNiYi1wZWFybC1jaGFpbi1sZWctc3RhdHVzJzogYCR7dGhpcy5fZ2V0UHJvZ3Jlc3Mobm93LCBsZWdEZXBhcnR1cmVXaXRoRGVsYXksIGxlZ0Fycml2YWxXaXRoRGVsYXkpfSVgLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgcmV0dXJuIGh0bWxgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19sZWcgJHtsZWdTdGF0dXMgfHwgJyd9ICR7Y2FuY2VsbGVkfSAke3NraXBwZWRMZWd9XCJcbiAgICAgICAgICAgIHN0eWxlPSR7c3R5bGVNYXAobGVnU3R5bGUoKSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgJHtpbmRleCA+IDAgJiYgaW5kZXggPCByaWRlTGVncy5sZW5ndGhcbiAgICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19zdG9wICR7ZGVwYXJ0dXJlU2tpcHBlZEJ1bGxldH1cIj48L3NwYW4+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAke3N0YXR1cyA9PT0gJ3Byb2dyZXNzJyAmJiAhY2FuY2VsbGVkICYmICFza2lwcGVkTGVnXG4gICAgICAgICAgICAgID8gdGhpcy5fcmVuZGVyUG9zaXRpb24obm93LCBsZWdEZXBhcnR1cmVXaXRoRGVsYXksIGxlZ0Fycml2YWxXaXRoRGVsYXkpXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5gO1xuICAgICAgICB9KX1cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fYnVsbGV0ICR7c3RhdHVzQ2xhc3NBcnJpdmFsfSAke2Fycml2YWxOb3RTZXJ2aWNlZH0gJHthcnJpdmFsQ2FuY2VsQ2xhc3N9XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wZWFybC1jaGFpbic6IFNiYlBlYXJsQ2hhaW5FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2IiLCJfYSIsIl9kIiwiX2MiLCJfZSIsInN0YXR1cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQk8sU0FBUyxRQUFRLE1BQU0sZUFBZTtBQUMzQyxTQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLGFBQWE7QUFDOUM7QUNGTyxTQUFTLFNBQVMsTUFBTSxlQUFlO0FBQzVDLFNBQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sYUFBYTtBQUM5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -10,7 +10,7 @@ import "@sbb-esta/lyne-elements/card.js";
10
10
  import "@sbb-esta/lyne-elements/icon.js";
11
11
  import "@sbb-esta/lyne-elements/timetable-occupancy.js";
12
12
  import "./pearl-chain-time.js";
13
- import { f as format } from "./format-DkbylFCM.js";
13
+ import { f as format } from "./format-DTy5_IOt.js";
14
14
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
15
15
  /*
16
16
  * SBB table mixin
@@ -0,0 +1,24 @@
1
+ const millisecondsInWeek = 6048e5;
2
+ const millisecondsInDay = 864e5;
3
+ const millisecondsInMinute = 6e4;
4
+ const millisecondsInHour = 36e5;
5
+ const constructFromSymbol = Symbol.for("constructDateFrom");
6
+ function constructFrom(date, value) {
7
+ if (typeof date === "function") return date(value);
8
+ if (date && typeof date === "object" && constructFromSymbol in date)
9
+ return date[constructFromSymbol](value);
10
+ if (date instanceof Date) return new date.constructor(value);
11
+ return new Date(value);
12
+ }
13
+ function toDate(argument, context) {
14
+ return constructFrom(context || argument, argument);
15
+ }
16
+ export {
17
+ millisecondsInHour as a,
18
+ millisecondsInMinute as b,
19
+ constructFrom as c,
20
+ millisecondsInDay as d,
21
+ millisecondsInWeek as m,
22
+ toDate as t
23
+ };
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9EYXRlLUI2SUJnUFlILmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvY29uc3RhbnRzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2NvbnN0cnVjdEZyb20uanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvdG9EYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBjb25zdGFudHNcbiAqIEBzdW1tYXJ5IFVzZWZ1bCBjb25zdGFudHNcbiAqIEBkZXNjcmlwdGlvblxuICogQ29sbGVjdGlvbiBvZiB1c2VmdWwgZGF0ZSBjb25zdGFudHMuXG4gKlxuICogVGhlIGNvbnN0YW50cyBjb3VsZCBiZSBpbXBvcnRlZCBmcm9tIGBkYXRlLWZucy9jb25zdGFudHNgOlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBtYXhUaW1lLCBtaW5UaW1lIH0gZnJvbSBcIi4vY29uc3RhbnRzL2RhdGUtZm5zL2NvbnN0YW50c1wiO1xuICpcbiAqIGZ1bmN0aW9uIGlzQWxsb3dlZFRpbWUodGltZSkge1xuICogICByZXR1cm4gdGltZSA8PSBtYXhUaW1lICYmIHRpbWUgPj0gbWluVGltZTtcbiAqIH1cbiAqIGBgYFxuICovXG5cbi8qKlxuICogQGNvbnN0YW50XG4gKiBAbmFtZSBkYXlzSW5XZWVrXG4gKiBAc3VtbWFyeSBEYXlzIGluIDEgd2Vlay5cbiAqL1xuZXhwb3J0IGNvbnN0IGRheXNJbldlZWsgPSA3O1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgZGF5c0luWWVhclxuICogQHN1bW1hcnkgRGF5cyBpbiAxIHllYXIuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBIb3cgbWFueSBkYXlzIGluIGEgeWVhci5cbiAqXG4gKiBPbmUgeWVhcnMgZXF1YWxzIDM2NS4yNDI1IGRheXMgYWNjb3JkaW5nIHRvIHRoZSBmb3JtdWxhOlxuICpcbiAqID4gTGVhcCB5ZWFyIG9jY3VycyBldmVyeSA0IHllYXJzLCBleGNlcHQgZm9yIHllYXJzIHRoYXQgYXJlIGRpdmlzaWJsZSBieSAxMDAgYW5kIG5vdCBkaXZpc2libGUgYnkgNDAwLlxuICogPiAxIG1lYW4geWVhciA9ICgzNjUrMS80LTEvMTAwKzEvNDAwKSBkYXlzID0gMzY1LjI0MjUgZGF5c1xuICovXG5leHBvcnQgY29uc3QgZGF5c0luWWVhciA9IDM2NS4yNDI1O1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgbWF4VGltZVxuICogQHN1bW1hcnkgTWF4aW11bSBhbGxvd2VkIHRpbWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IG1heFRpbWUgfSBmcm9tIFwiLi9jb25zdGFudHMvZGF0ZS1mbnMvY29uc3RhbnRzXCI7XG4gKlxuICogY29uc3QgaXNWYWxpZCA9IDg2NDAwMDAwMDAwMDAwMDEgPD0gbWF4VGltZTtcbiAqIC8vPT4gZmFsc2VcbiAqXG4gKiBuZXcgRGF0ZSg4NjQwMDAwMDAwMDAwMDAxKTtcbiAqIC8vPT4gSW52YWxpZCBEYXRlXG4gKi9cbmV4cG9ydCBjb25zdCBtYXhUaW1lID0gTWF0aC5wb3coMTAsIDgpICogMjQgKiA2MCAqIDYwICogMTAwMDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pblRpbWVcbiAqIEBzdW1tYXJ5IE1pbmltdW0gYWxsb3dlZCB0aW1lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBtaW5UaW1lIH0gZnJvbSBcIi4vY29uc3RhbnRzL2RhdGUtZm5zL2NvbnN0YW50c1wiO1xuICpcbiAqIGNvbnN0IGlzVmFsaWQgPSAtODY0MDAwMDAwMDAwMDAwMSA+PSBtaW5UaW1lO1xuICogLy89PiBmYWxzZVxuICpcbiAqIG5ldyBEYXRlKC04NjQwMDAwMDAwMDAwMDAxKVxuICogLy89PiBJbnZhbGlkIERhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IG1pblRpbWUgPSAtbWF4VGltZTtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pbGxpc2Vjb25kc0luV2Vla1xuICogQHN1bW1hcnkgTWlsbGlzZWNvbmRzIGluIDEgd2Vlay5cbiAqL1xuZXhwb3J0IGNvbnN0IG1pbGxpc2Vjb25kc0luV2VlayA9IDYwNDgwMDAwMDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pbGxpc2Vjb25kc0luRGF5XG4gKiBAc3VtbWFyeSBNaWxsaXNlY29uZHMgaW4gMSBkYXkuXG4gKi9cbmV4cG9ydCBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDg2NDAwMDAwO1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgbWlsbGlzZWNvbmRzSW5NaW51dGVcbiAqIEBzdW1tYXJ5IE1pbGxpc2Vjb25kcyBpbiAxIG1pbnV0ZVxuICovXG5leHBvcnQgY29uc3QgbWlsbGlzZWNvbmRzSW5NaW51dGUgPSA2MDAwMDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pbGxpc2Vjb25kc0luSG91clxuICogQHN1bW1hcnkgTWlsbGlzZWNvbmRzIGluIDEgaG91clxuICovXG5leHBvcnQgY29uc3QgbWlsbGlzZWNvbmRzSW5Ib3VyID0gMzYwMDAwMDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pbGxpc2Vjb25kc0luU2Vjb25kXG4gKiBAc3VtbWFyeSBNaWxsaXNlY29uZHMgaW4gMSBzZWNvbmRcbiAqL1xuZXhwb3J0IGNvbnN0IG1pbGxpc2Vjb25kc0luU2Vjb25kID0gMTAwMDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pbnV0ZXNJblllYXJcbiAqIEBzdW1tYXJ5IE1pbnV0ZXMgaW4gMSB5ZWFyLlxuICovXG5leHBvcnQgY29uc3QgbWludXRlc0luWWVhciA9IDUyNTYwMDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pbnV0ZXNJbk1vbnRoXG4gKiBAc3VtbWFyeSBNaW51dGVzIGluIDEgbW9udGguXG4gKi9cbmV4cG9ydCBjb25zdCBtaW51dGVzSW5Nb250aCA9IDQzMjAwO1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgbWludXRlc0luRGF5XG4gKiBAc3VtbWFyeSBNaW51dGVzIGluIDEgZGF5LlxuICovXG5leHBvcnQgY29uc3QgbWludXRlc0luRGF5ID0gMTQ0MDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1pbnV0ZXNJbkhvdXJcbiAqIEBzdW1tYXJ5IE1pbnV0ZXMgaW4gMSBob3VyLlxuICovXG5leHBvcnQgY29uc3QgbWludXRlc0luSG91ciA9IDYwO1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgbW9udGhzSW5RdWFydGVyXG4gKiBAc3VtbWFyeSBNb250aHMgaW4gMSBxdWFydGVyLlxuICovXG5leHBvcnQgY29uc3QgbW9udGhzSW5RdWFydGVyID0gMztcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIG1vbnRoc0luWWVhclxuICogQHN1bW1hcnkgTW9udGhzIGluIDEgeWVhci5cbiAqL1xuZXhwb3J0IGNvbnN0IG1vbnRoc0luWWVhciA9IDEyO1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgcXVhcnRlcnNJblllYXJcbiAqIEBzdW1tYXJ5IFF1YXJ0ZXJzIGluIDEgeWVhclxuICovXG5leHBvcnQgY29uc3QgcXVhcnRlcnNJblllYXIgPSA0O1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgc2Vjb25kc0luSG91clxuICogQHN1bW1hcnkgU2Vjb25kcyBpbiAxIGhvdXIuXG4gKi9cbmV4cG9ydCBjb25zdCBzZWNvbmRzSW5Ib3VyID0gMzYwMDtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIHNlY29uZHNJbk1pbnV0ZVxuICogQHN1bW1hcnkgU2Vjb25kcyBpbiAxIG1pbnV0ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlY29uZHNJbk1pbnV0ZSA9IDYwO1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgc2Vjb25kc0luRGF5XG4gKiBAc3VtbWFyeSBTZWNvbmRzIGluIDEgZGF5LlxuICovXG5leHBvcnQgY29uc3Qgc2Vjb25kc0luRGF5ID0gc2Vjb25kc0luSG91ciAqIDI0O1xuXG4vKipcbiAqIEBjb25zdGFudFxuICogQG5hbWUgc2Vjb25kc0luV2Vla1xuICogQHN1bW1hcnkgU2Vjb25kcyBpbiAxIHdlZWsuXG4gKi9cbmV4cG9ydCBjb25zdCBzZWNvbmRzSW5XZWVrID0gc2Vjb25kc0luRGF5ICogNztcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIHNlY29uZHNJblllYXJcbiAqIEBzdW1tYXJ5IFNlY29uZHMgaW4gMSB5ZWFyLlxuICovXG5leHBvcnQgY29uc3Qgc2Vjb25kc0luWWVhciA9IHNlY29uZHNJbkRheSAqIGRheXNJblllYXI7XG5cbi8qKlxuICogQGNvbnN0YW50XG4gKiBAbmFtZSBzZWNvbmRzSW5Nb250aFxuICogQHN1bW1hcnkgU2Vjb25kcyBpbiAxIG1vbnRoXG4gKi9cbmV4cG9ydCBjb25zdCBzZWNvbmRzSW5Nb250aCA9IHNlY29uZHNJblllYXIgLyAxMjtcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIHNlY29uZHNJblF1YXJ0ZXJcbiAqIEBzdW1tYXJ5IFNlY29uZHMgaW4gMSBxdWFydGVyLlxuICovXG5leHBvcnQgY29uc3Qgc2Vjb25kc0luUXVhcnRlciA9IHNlY29uZHNJbk1vbnRoICogMztcblxuLyoqXG4gKiBAY29uc3RhbnRcbiAqIEBuYW1lIGNvbnN0cnVjdEZyb21TeW1ib2xcbiAqIEBzdW1tYXJ5IFN5bWJvbCBlbmFibGluZyBEYXRlIGV4dGVuc2lvbnMgdG8gaW5oZXJpdCBwcm9wZXJ0aWVzIGZyb20gdGhlIHJlZmVyZW5jZSBkYXRlLlxuICpcbiAqIFRoZSBzeW1ib2wgaXMgdXNlZCB0byBlbmFibGUgdGhlIGBjb25zdHJ1Y3RGcm9tYCBmdW5jdGlvbiB0byBjb25zdHJ1Y3QgYSBkYXRlXG4gKiB1c2luZyBhIHJlZmVyZW5jZSBkYXRlIGFuZCBhIHZhbHVlLiBJdCBhbGxvd3MgdG8gdHJhbnNmZXIgZXh0cmEgcHJvcGVydGllc1xuICogZnJvbSB0aGUgcmVmZXJlbmNlIGRhdGUgdG8gdGhlIG5ldyBkYXRlLiBJdCdzIHVzZWZ1bCBmb3IgZXh0ZW5zaW9ucyBsaWtlXG4gKiBbYFRaRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy90eikgdGhhdCBhY2NlcHQgYSB0aW1lIHpvbmUgYXNcbiAqIGEgY29uc3RydWN0b3IgYXJndW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBjb25zdHJ1Y3RGcm9tU3ltYm9sID0gU3ltYm9sLmZvcihcImNvbnN0cnVjdERhdGVGcm9tXCIpO1xuIiwiaW1wb3J0IHsgY29uc3RydWN0RnJvbVN5bWJvbCB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGNvbnN0cnVjdEZyb21cbiAqIEBjYXRlZ29yeSBHZW5lcmljIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBkYXRlIHVzaW5nIHRoZSByZWZlcmVuY2UgZGF0ZSBhbmQgdGhlIHZhbHVlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGUgZnVuY3Rpb24gY29uc3RydWN0cyBhIG5ldyBkYXRlIHVzaW5nIHRoZSBjb25zdHJ1Y3RvciBmcm9tIHRoZSByZWZlcmVuY2VcbiAqIGRhdGUgYW5kIHRoZSBnaXZlbiB2YWx1ZS4gSXQgaGVscHMgdG8gYnVpbGQgZ2VuZXJpYyBmdW5jdGlvbnMgdGhhdCBhY2NlcHRcbiAqIGRhdGUgZXh0ZW5zaW9ucy5cbiAqXG4gKiBJdCBkZWZhdWx0cyB0byBgRGF0ZWAgaWYgdGhlIHBhc3NlZCByZWZlcmVuY2UgZGF0ZSBpcyBhIG51bWJlciBvciBhIHN0cmluZy5cbiAqXG4gKiBTdGFydGluZyBmcm9tIHYzLjcuMCwgaXQgYWxsb3dzIHRvIGNvbnN0cnVjdCBhIGRhdGUgdXNpbmcgYFtTeW1ib2wuZm9yKFwiY29uc3RydWN0RGF0ZUZyb21cIildYFxuICogZW5hYmxpbmcgdG8gdHJhbnNmZXIgZXh0cmEgcHJvcGVydGllcyBmcm9tIHRoZSByZWZlcmVuY2UgZGF0ZSB0byB0aGUgbmV3IGRhdGUuXG4gKiBJdCdzIHVzZWZ1bCBmb3IgZXh0ZW5zaW9ucyBsaWtlIFtgVFpEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3R6KVxuICogdGhhdCBhY2NlcHQgYSB0aW1lIHpvbmUgYXMgYSBjb25zdHJ1Y3RvciBhcmd1bWVudC5cbiAqXG4gKiBAdHlwZVBhcmFtIERhdGVUeXBlIC0gVGhlIGBEYXRlYCB0eXBlLCB0aGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24uIEdldHMgaW5mZXJyZWQgZnJvbSBwYXNzZWQgYXJndW1lbnRzLiBBbGxvd3MgdG8gdXNlIGV4dGVuc2lvbnMgbGlrZSBbYFVUQ0RhdGVgXShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvdXRjKS5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSByZWZlcmVuY2UgZGF0ZSB0byB0YWtlIGNvbnN0cnVjdG9yIGZyb21cbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjcmVhdGUgdGhlIGRhdGVcbiAqXG4gKiBAcmV0dXJucyBEYXRlIGluaXRpYWxpemVkIHVzaW5nIHRoZSBnaXZlbiBkYXRlIGFuZCB2YWx1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS9kYXRlLWZuc1wiO1xuICpcbiAqIC8vIEEgZnVuY3Rpb24gdGhhdCBjbG9uZXMgYSBkYXRlIHByZXNlcnZpbmcgdGhlIG9yaWdpbmFsIHR5cGVcbiAqIGZ1bmN0aW9uIGNsb25lRGF0ZTxEYXRlVHlwZSBleHRlbmRzIERhdGU+KGRhdGU6IERhdGVUeXBlKTogRGF0ZVR5cGUge1xuICogICByZXR1cm4gY29uc3RydWN0RnJvbShcbiAqICAgICBkYXRlLCAvLyBVc2UgY29uc3RydWN0b3IgZnJvbSB0aGUgZ2l2ZW4gZGF0ZVxuICogICAgIGRhdGUuZ2V0VGltZSgpIC8vIFVzZSB0aGUgZGF0ZSB2YWx1ZSB0byBjcmVhdGUgYSBuZXcgZGF0ZVxuICogICApO1xuICogfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0RnJvbShkYXRlLCB2YWx1ZSkge1xuICBpZiAodHlwZW9mIGRhdGUgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGRhdGUodmFsdWUpO1xuXG4gIGlmIChkYXRlICYmIHR5cGVvZiBkYXRlID09PSBcIm9iamVjdFwiICYmIGNvbnN0cnVjdEZyb21TeW1ib2wgaW4gZGF0ZSlcbiAgICByZXR1cm4gZGF0ZVtjb25zdHJ1Y3RGcm9tU3ltYm9sXSh2YWx1ZSk7XG5cbiAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gbmV3IGRhdGUuY29uc3RydWN0b3IodmFsdWUpO1xuXG4gIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgY29uc3RydWN0RnJvbTtcbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi9jb25zdHJ1Y3RGcm9tLmpzXCI7XG5cbi8qKlxuICogQG5hbWUgdG9EYXRlXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IENvbnZlcnQgdGhlIGdpdmVuIGFyZ3VtZW50IHRvIGFuIGluc3RhbmNlIG9mIERhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBDb252ZXJ0IHRoZSBnaXZlbiBhcmd1bWVudCB0byBhbiBpbnN0YW5jZSBvZiBEYXRlLlxuICpcbiAqIElmIHRoZSBhcmd1bWVudCBpcyBhbiBpbnN0YW5jZSBvZiBEYXRlLCB0aGUgZnVuY3Rpb24gcmV0dXJucyBpdHMgY2xvbmUuXG4gKlxuICogSWYgdGhlIGFyZ3VtZW50IGlzIGEgbnVtYmVyLCBpdCBpcyB0cmVhdGVkIGFzIGEgdGltZXN0YW1wLlxuICpcbiAqIElmIHRoZSBhcmd1bWVudCBpcyBub25lIG9mIHRoZSBhYm92ZSwgdGhlIGZ1bmN0aW9uIHJldHVybnMgSW52YWxpZCBEYXRlLlxuICpcbiAqIFN0YXJ0aW5nIGZyb20gdjMuNy4wLCBpdCBjbG9uZXMgYSBkYXRlIHVzaW5nIGBbU3ltYm9sLmZvcihcImNvbnN0cnVjdERhdGVGcm9tXCIpXWBcbiAqIGVuYWJsaW5nIHRvIHRyYW5zZmVyIGV4dHJhIHByb3BlcnRpZXMgZnJvbSB0aGUgcmVmZXJlbmNlIGRhdGUgdG8gdGhlIG5ldyBkYXRlLlxuICogSXQncyB1c2VmdWwgZm9yIGV4dGVuc2lvbnMgbGlrZSBbYFRaRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy90eilcbiAqIHRoYXQgYWNjZXB0IGEgdGltZSB6b25lIGFzIGEgY29uc3RydWN0b3IgYXJndW1lbnQuXG4gKlxuICogKipOb3RlKio6ICphbGwqIERhdGUgYXJndW1lbnRzIHBhc3NlZCB0byBhbnkgKmRhdGUtZm5zKiBmdW5jdGlvbiBpcyBwcm9jZXNzZWQgYnkgYHRvRGF0ZWAuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBhcmd1bWVudCAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0XG4gKlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBkYXRlIGluIHRoZSBsb2NhbCB0aW1lIHpvbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ2xvbmUgdGhlIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSB0b0RhdGUobmV3IERhdGUoMjAxNCwgMSwgMTEsIDExLCAzMCwgMzApKVxuICogLy89PiBUdWUgRmViIDExIDIwMTQgMTE6MzA6MzBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCB0aGUgdGltZXN0YW1wIHRvIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSB0b0RhdGUoMTM5MjA5ODQzMDAwMClcbiAqIC8vPT4gVHVlIEZlYiAxMSAyMDE0IDExOjMwOjMwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGUoYXJndW1lbnQsIGNvbnRleHQpIHtcbiAgLy8gW1RPRE9dIEdldCByaWQgb2YgYHRvRGF0ZWAgb3IgYGNvbnN0cnVjdEZyb21gP1xuICByZXR1cm4gY29uc3RydWN0RnJvbShjb250ZXh0IHx8IGFyZ3VtZW50LCBhcmd1bWVudCk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgdG9EYXRlO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRFWSxNQUFDLHFCQUFxQjtBQU90QixNQUFDLG9CQUFvQjtBQU9yQixNQUFDLHVCQUF1QjtBQU94QixNQUFDLHFCQUFxQjtBQXNIM0IsTUFBTSxzQkFBc0IsT0FBTyxJQUFJLG1CQUFtQjtBQ2xMMUQsU0FBUyxjQUFjLE1BQU0sT0FBTztBQUN6QyxNQUFJLE9BQU8sU0FBUyxXQUFZLFFBQU8sS0FBSyxLQUFLO0FBRWpELE1BQUksUUFBUSxPQUFPLFNBQVMsWUFBWSx1QkFBdUI7QUFDN0QsV0FBTyxLQUFLLG1CQUFtQixFQUFFLEtBQUs7QUFFeEMsTUFBSSxnQkFBZ0IsS0FBTSxRQUFPLElBQUksS0FBSyxZQUFZLEtBQUs7QUFFM0QsU0FBTyxJQUFJLEtBQUssS0FBSztBQUN2QjtBQ05PLFNBQVMsT0FBTyxVQUFVLFNBQVM7QUFFeEMsU0FBTyxjQUFjLFdBQVcsVUFBVSxRQUFRO0FBQ3BEOyIsInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswLDEsMl19
@@ -0,0 +1,23 @@
1
+ import { t as u, b as d } from "./toDate-DQg4ZFnf.js";
2
+ function f(n, r, e) {
3
+ const t = u(n, e == null ? void 0 : e.in);
4
+ return t.setTime(t.getTime() + r * d), t;
5
+ }
6
+ function c(n) {
7
+ return (r) => {
8
+ const t = (n ? Math[n] : Math.trunc)(r);
9
+ return t === 0 ? 0 : t;
10
+ };
11
+ }
12
+ function i(n, r) {
13
+ return +u(n) - +u(r);
14
+ }
15
+ function s(n, r, e) {
16
+ const t = i(n, r) / d;
17
+ return c(e == null ? void 0 : e.roundingMethod)(t);
18
+ }
19
+ export {
20
+ f as a,
21
+ s as d,
22
+ c as g
23
+ };