@dpuse/dpuse-tool-d3 0.0.12 → 0.0.14
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/README.md +223 -717
- package/dist/{axis-DbjL_93j.js → axis-B7xlWKkC.js} +2 -2
- package/dist/axis-B7xlWKkC.js.map +1 -0
- package/dist/{billboardJs-DHDJ97w1.js → billboardJs-BTW-G9h0.js} +2 -2
- package/dist/{billboardJs-DHDJ97w1.js.map → billboardJs-BTW-G9h0.js.map} +1 -1
- package/dist/dpuse-tool-d3.es.js +2 -2
- package/dist/{observablePlot-CNlbR_T4.js → observablePlot-D7o8-dnK.js} +2 -2
- package/dist/{observablePlot-CNlbR_T4.js.map → observablePlot-D7o8-dnK.js.map} +1 -1
- package/package.json +5 -4
- package/dist/axis-DbjL_93j.js.map +0 -1
|
@@ -253,7 +253,7 @@ function ge({ _intern: e, _key: t }, n) {
|
|
|
253
253
|
}
|
|
254
254
|
function _e({ _intern: e, _key: t }, n) {
|
|
255
255
|
let r = t(n);
|
|
256
|
-
return e.has(r) && (n = e.get(
|
|
256
|
+
return e.has(r) && (n = e.get(r), e.delete(r)), n;
|
|
257
257
|
}
|
|
258
258
|
function ve(e) {
|
|
259
259
|
return typeof e == "object" && e ? e.valueOf() : e;
|
|
@@ -1618,4 +1618,4 @@ function Mr(e) {
|
|
|
1618
1618
|
//#endregion
|
|
1619
1619
|
export { O as $, Xt as A, le as B, Y as C, J as D, an as E, Jt as F, F as G, R as H, B as I, P as J, I as K, pe as L, Gt as M, Kt as N, Zt as O, qt as P, T as Q, me as R, X as S, sn as T, se as U, ue as V, L as W, E as X, te as Y, ne as Z, Xn as _, dr as a, A as at, Rn as b, gr as c, ie as ct, _r as d, y as dt, D as et, ur as f, b as ft, $n as g, er as h, g as ht, kr as i, oe as it, q as j, Qt as k, pr as l, x as lt, ir as m, v as mt, Mr as n, ae as nt, hr as o, M as ot, ar as p, _ as pt, N as q, Ar as r, j as rt, fr as s, re as st, jr as t, ee as tt, mr as u, C as ut, Yn as v, pn as w, jn as x, zn as y, fe as z };
|
|
1620
1620
|
|
|
1621
|
-
//# sourceMappingURL=axis-
|
|
1621
|
+
//# sourceMappingURL=axis-B7xlWKkC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axis-B7xlWKkC.js","names":["number","number","locale","defaultLocale","value","value","constant","number","rgb","string","date","numberArray","object","number","constant","bisect","interpolateValue","interpolateNumber","number","interpolateRound","formatDecimal","formatRounded","formatPrefixAuto","identity","formatGroup","formatNumerals","formatTypes","formatTrim","exponent","formatLocale","exponent","exponent","exponent","precisionPrefix","precisionRound","precisionFixed","number","timeWeek","timeSecond","utcWeek","utcSecond","epsilon","identity"],"sources":["../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-array/src/descending.js","../node_modules/d3-array/src/bisector.js","../node_modules/d3-array/src/number.js","../node_modules/d3-array/src/bisect.js","../node_modules/internmap/src/index.js","../node_modules/d3-array/src/ticks.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/init.js","../node_modules/d3-scale/src/ordinal.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/d3-format/src/exponent.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-scale/src/linear.js","../node_modules/d3-scale/src/nice.js","../node_modules/d3-scale/src/log.js","../node_modules/d3-scale/src/symlog.js","../node_modules/d3-scale/src/time.js","../node_modules/d3-scale/src/utcTime.js","../node_modules/d3-brush/src/brush.js","../node_modules/d3-shape/src/math.js","../node_modules/d3-axis/src/identity.js","../node_modules/d3-axis/src/axis.js"],"sourcesContent":["const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if (!isFinite(x) || x === 0) return null; // NaN, ±Infinity, ±0\n var i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\"), coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return prefixExponent = undefined, x.toPrecision(p);\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier, options) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = (options && options.prefix !== undefined ? options.prefix : \"\") + (symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\"),\n suffix = (symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\") + (options && options.suffix !== undefined ? options.suffix : \"\");\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" && !isNaN(value) && prefixExponent !== undefined ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier), {suffix: prefixes[8 + e / 3]});\n return function(value) {\n return f(k * value);\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format, formatSpecifier} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nexport function loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n\n if (r) ([u, v] = [v, u]);\n\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection, event) {\n if (group.tween) {\n group\n .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start(event).brush(event).end(event);\n });\n }\n };\n\n brush.clear = function(group, event) {\n brush.move(group, null, event);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n else this.emit(\"brush\", event);\n return this;\n },\n brush: function(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[\n w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n ], [\n e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n ]];\n if (points.length > 1) move(event);\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points)\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n lockY = true;\n else\n lockX = true;\n }\n for (const point of points)\n if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n const point = points[0], point0 = point.point0;\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move(event);\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move(event);\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move(event);\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","export default function(x) {\n return x;\n}\n","import identity from \"./identity.js\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + x + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + y + \")\";\n}\n\nfunction number(scale) {\n return d => +scale(d);\n}\n\nfunction center(scale, offset) {\n offset = Math.max(0, scale.bandwidth() - offset * 2) / 2;\n if (scale.round()) offset = Math.round(offset);\n return d => +scale(d) + offset;\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n offset = typeof window !== \"undefined\" && window.devicePixelRatio > 1 ? 0 : 0.5,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + offset,\n range1 = +range[range.length - 1] + offset,\n position = (scale.bandwidth ? center : number)(scale.copy(), offset),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"currentColor\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"currentColor\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"currentColor\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient === right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H\" + offset + \"V\" + range1 + \"H\" + k * tickSizeOuter : \"M\" + offset + \",\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V\" + offset + \"H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",\" + offset + \"H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d) + offset); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = Array.from(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n axis.offset = function(_) {\n return arguments.length ? (offset = +_, axis) : offset;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56],"mappings":";;AAAA,IAAM,oBAAK,IAAI,KAAG,GAAG,oBAAK,IAAI,KAAG;AAEjC,SAAgB,EAAa,GAAQ,GAAS,GAAO,GAAO;CAE1D,SAAS,EAAS,GAAM;EACtB,OAAO,EAAO,IAAO,UAAU,WAAW,oBAAI,IAAI,KAAG,oBAAI,IAAI,KAAK,CAAC,CAAI,CAAC,GAAG;CAC7E;CA6DA,OA3DA,EAAS,SAAS,OACT,EAAO,oBAAO,IAAI,KAAK,CAAC,CAAI,CAAC,GAAG,IAGzC,EAAS,QAAQ,OACR,EAAO,oBAAO,IAAI,KAAK,IAAO,CAAC,CAAC,GAAG,EAAQ,GAAM,CAAC,GAAG,EAAO,CAAI,GAAG,IAG5E,EAAS,SAAS,MAAS;EACzB,IAAM,IAAK,EAAS,CAAI,GAAG,IAAK,EAAS,KAAK,CAAI;EAClD,OAAO,IAAO,IAAK,IAAK,IAAO,IAAK;CACtC,GAEA,EAAS,UAAU,GAAM,OAChB,EAAQ,oBAAO,IAAI,KAAK,CAAC,CAAI,GAAG,KAAQ,OAAO,IAAI,KAAK,MAAM,CAAI,CAAC,GAAG,IAG/E,EAAS,SAAS,GAAO,GAAM,MAAS;EACtC,IAAM,IAAQ,CAAC;EAGf,IAFA,IAAQ,EAAS,KAAK,CAAK,GAC3B,IAAO,KAAQ,OAAO,IAAI,KAAK,MAAM,CAAI,GACrC,EAAE,IAAQ,MAAS,EAAE,IAAO,IAAI,OAAO;EAC3C,IAAI;EACJ;GAAG,EAAM,KAAK,oBAAW,IAAI,KAAK,CAAC,CAAK,CAAC,GAAG,EAAQ,GAAO,CAAI,GAAG,EAAO,CAAK;SACvE,IAAW,KAAS,IAAQ;EACnC,OAAO;CACT,GAEA,EAAS,UAAU,MACV,GAAc,MAAS;EAC5B,IAAI,KAAQ,GAAM,OAAO,EAAO,CAAI,GAAG,CAAC,EAAK,CAAI,IAAG,EAAK,QAAQ,IAAO,CAAC;CAC3E,IAAI,GAAM,MAAS;EACjB,IAAI,KAAQ,GACV,IAAI,IAAO,GAAG,OAAO,EAAE,KAAQ,IAC7B,OAAO,EAAQ,GAAM,EAAE,GAAG,CAAC,EAAK,CAAI;OAC/B,OAAO,EAAE,KAAQ,IACtB,OAAO,EAAQ,GAAM,CAAE,GAAG,CAAC,EAAK,CAAI;CAG1C,CAAC,GAGC,MACF,EAAS,SAAS,GAAO,OACvB,EAAG,QAAQ,CAAC,CAAK,GAAG,EAAG,QAAQ,CAAC,CAAG,GACnC,EAAO,CAAE,GAAG,EAAO,CAAE,GACd,KAAK,MAAM,EAAM,GAAI,CAAE,CAAC,IAGjC,EAAS,SAAS,OAChB,IAAO,KAAK,MAAM,CAAI,GACf,CAAC,SAAS,CAAI,KAAK,EAAE,IAAO,KAAK,OAChC,IAAO,IACT,EAAS,OAAO,KACX,MAAM,EAAM,CAAC,IAAI,MAAS,KAC1B,MAAM,EAAS,MAAM,GAAG,CAAC,IAAI,MAAS,CAAC,IAH9B,KAOjB;AACT;;;AClEA,IAAa,IAAc,QAAmB,CAE9C,IAAI,GAAM,MAAS;CACjB,EAAK,QAAQ,CAAC,IAAO,CAAI;AAC3B,IAAI,GAAO,MACF,IAAM,CACd;AAGD,EAAY,SAAS,OACnB,IAAI,KAAK,MAAM,CAAC,GACZ,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,KAAW,OAC/B,IAAI,IACH,GAAc,MAAS;CAC5B,EAAK,QAAQ,KAAK,MAAM,IAAO,CAAC,IAAI,CAAC;AACvC,IAAI,GAAM,MAAS;CACjB,EAAK,QAAQ,CAAC,IAAO,IAAO,CAAC;AAC/B,IAAI,GAAO,OACD,IAAM,KAAS,CACxB,IAPoB,IAUK,EAAY;;;ACxBxC,IAAa,IAAiB,KACjB,IAAiB,IAAiB,IAClC,IAAe,IAAiB,IAChC,IAAc,IAAe,IAC7B,IAAe,IAAc,GAC7B,IAAgB,IAAc,IAC9B,IAAe,IAAc,KCH7B,IAAS,GAAc,MAAS;CAC3C,EAAK,QAAQ,IAAO,EAAK,gBAAgB,CAAC;AAC5C,IAAI,GAAM,MAAS;CACjB,EAAK,QAAQ,CAAC,IAAO,IAAO,CAAc;AAC5C,IAAI,GAAO,OACD,IAAM,KAAS,IACrB,MACK,EAAK,cAAc,CAC3B;AAEsB,EAAO;;;ACV9B,IAAa,IAAa,GAAc,MAAS;CAC/C,EAAK,QAAQ,IAAO,EAAK,gBAAgB,IAAI,EAAK,WAAW,IAAI,CAAc;AACjF,IAAI,GAAM,MAAS;CACjB,EAAK,QAAQ,CAAC,IAAO,IAAO,CAAc;AAC5C,IAAI,GAAO,OACD,IAAM,KAAS,IACrB,MACK,EAAK,WAAW,CACxB;AAE0B,EAAW;AAEtC,IAAa,IAAY,GAAc,MAAS;CAC9C,EAAK,cAAc,GAAG,CAAC;AACzB,IAAI,GAAM,MAAS;CACjB,EAAK,QAAQ,CAAC,IAAO,IAAO,CAAc;AAC5C,IAAI,GAAO,OACD,IAAM,KAAS,IACrB,MACK,EAAK,cAAc,CAC3B;AAEyB,EAAU;;;ACtBpC,IAAa,IAAW,GAAc,MAAS;CAC7C,EAAK,QAAQ,IAAO,EAAK,gBAAgB,IAAI,EAAK,WAAW,IAAI,IAAiB,EAAK,WAAW,IAAI,CAAc;AACtH,IAAI,GAAM,MAAS;CACjB,EAAK,QAAQ,CAAC,IAAO,IAAO,CAAY;AAC1C,IAAI,GAAO,OACD,IAAM,KAAS,IACrB,MACK,EAAK,SAAS,CACtB;AAEwB,EAAS;AAElC,IAAa,IAAU,GAAc,MAAS;CAC5C,EAAK,cAAc,GAAG,GAAG,CAAC;AAC5B,IAAI,GAAM,MAAS;CACjB,EAAK,QAAQ,CAAC,IAAO,IAAO,CAAY;AAC1C,IAAI,GAAO,OACD,IAAM,KAAS,IACrB,MACK,EAAK,YAAY,CACzB;AAEuB,EAAQ;;;ACtBhC,IAAa,IAAU,GACrB,MAAQ,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC,IAC/B,GAAM,MAAS,EAAK,QAAQ,EAAK,QAAQ,IAAI,CAAI,IACjD,GAAO,OAAS,IAAM,KAAS,EAAI,kBAAkB,IAAI,EAAM,kBAAkB,KAAK,KAAkB,IACzG,MAAQ,EAAK,QAAQ,IAAI,CAC3B;AAEwB,EAAQ;AAEhC,IAAa,IAAS,GAAc,MAAS;CAC3C,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,IAAI,GAAM,MAAS;CACjB,EAAK,WAAW,EAAK,WAAW,IAAI,CAAI;AAC1C,IAAI,GAAO,OACD,IAAM,KAAS,IACrB,MACK,EAAK,WAAW,IAAI,CAC5B;AAEsB,EAAO;AAE9B,IAAa,IAAU,GAAc,MAAS;CAC5C,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,IAAI,GAAM,MAAS;CACjB,EAAK,WAAW,EAAK,WAAW,IAAI,CAAI;AAC1C,IAAI,GAAO,OACD,IAAM,KAAS,IACrB,MACK,KAAK,MAAM,IAAO,CAAW,CACrC;AAEuB,EAAQ;;;AC/BhC,SAAS,EAAY,GAAG;CACtB,OAAO,GAAc,MAAS;EAE5B,AADA,EAAK,QAAQ,EAAK,QAAQ,KAAK,EAAK,OAAO,IAAI,IAAI,KAAK,CAAC,GACzD,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;CAC1B,IAAI,GAAM,MAAS;EACjB,EAAK,QAAQ,EAAK,QAAQ,IAAI,IAAO,CAAC;CACxC,IAAI,GAAO,OACD,IAAM,KAAS,EAAI,kBAAkB,IAAI,EAAM,kBAAkB,KAAK,KAAkB,CACjG;AACH;AAEA,IAAa,IAAa,EAAY,CAAC,GAC1B,IAAa,EAAY,CAAC,GAC1B,IAAc,EAAY,CAAC,GAC3B,KAAgB,EAAY,CAAC,GAC7B,IAAe,EAAY,CAAC,GAC5B,KAAa,EAAY,CAAC,GAC1B,KAAe,EAAY,CAAC;AAEd,EAAW,OACX,EAAW,OACV,EAAY,OACV,GAAc,OACf,EAAa,OACf,GAAW,OACT,GAAa;AAE1C,SAAS,EAAW,GAAG;CACrB,OAAO,GAAc,MAAS;EAE5B,AADA,EAAK,WAAW,EAAK,WAAW,KAAK,EAAK,UAAU,IAAI,IAAI,KAAK,CAAC,GAClE,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;CAC7B,IAAI,GAAM,MAAS;EACjB,EAAK,WAAW,EAAK,WAAW,IAAI,IAAO,CAAC;CAC9C,IAAI,GAAO,OACD,IAAM,KAAS,CACxB;AACH;AAEA,IAAa,IAAY,EAAW,CAAC,GACxB,IAAY,EAAW,CAAC,GACxB,KAAa,EAAW,CAAC,GACzB,KAAe,EAAW,CAAC,GAC3B,IAAc,EAAW,CAAC,GAC1B,KAAY,EAAW,CAAC,GACxB,KAAc,EAAW,CAAC;AAEb,EAAU,OACV,EAAU,OACT,GAAW,OACT,GAAa,OACd,EAAY,OACd,GAAU,OACR,GAAY;;;ACrDxC,IAAa,IAAY,GAAc,MAAS;CAE9C,AADA,EAAK,QAAQ,CAAC,GACd,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAC1B,IAAI,GAAM,MAAS;CACjB,EAAK,SAAS,EAAK,SAAS,IAAI,CAAI;AACtC,IAAI,GAAO,MACF,EAAI,SAAS,IAAI,EAAM,SAAS,KAAK,EAAI,YAAY,IAAI,EAAM,YAAY,KAAK,KACrF,MACK,EAAK,SAAS,CACtB;AAEyB,EAAU;AAEpC,IAAa,IAAW,GAAc,MAAS;CAE7C,AADA,EAAK,WAAW,CAAC,GACjB,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,IAAI,GAAM,MAAS;CACjB,EAAK,YAAY,EAAK,YAAY,IAAI,CAAI;AAC5C,IAAI,GAAO,MACF,EAAI,YAAY,IAAI,EAAM,YAAY,KAAK,EAAI,eAAe,IAAI,EAAM,eAAe,KAAK,KACjG,MACK,EAAK,YAAY,CACzB;AAEwB,EAAS;;;ACxBlC,IAAa,IAAW,GAAc,MAAS;CAE7C,AADA,EAAK,SAAS,GAAG,CAAC,GAClB,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAC1B,IAAI,GAAM,MAAS;CACjB,EAAK,YAAY,EAAK,YAAY,IAAI,CAAI;AAC5C,IAAI,GAAO,MACF,EAAI,YAAY,IAAI,EAAM,YAAY,IAC3C,MACK,EAAK,YAAY,CACzB;AAGD,EAAS,SAAS,MACT,CAAC,SAAS,IAAI,KAAK,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,GAAc,MAAS;CAG9E,AAFA,EAAK,YAAY,KAAK,MAAM,EAAK,YAAY,IAAI,CAAC,IAAI,CAAC,GACvD,EAAK,SAAS,GAAG,CAAC,GAClB,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAC1B,IAAI,GAAM,MAAS;CACjB,EAAK,YAAY,EAAK,YAAY,IAAI,IAAO,CAAC;AAChD,CAAC,GAGsB,EAAS;AAElC,IAAa,IAAU,GAAc,MAAS;CAE5C,AADA,EAAK,YAAY,GAAG,CAAC,GACrB,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,IAAI,GAAM,MAAS;CACjB,EAAK,eAAe,EAAK,eAAe,IAAI,CAAI;AAClD,IAAI,GAAO,MACF,EAAI,eAAe,IAAI,EAAM,eAAe,IACjD,MACK,EAAK,eAAe,CAC5B;AAGD,EAAQ,SAAS,MACR,CAAC,SAAS,IAAI,KAAK,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,GAAc,MAAS;CAG9E,AAFA,EAAK,eAAe,KAAK,MAAM,EAAK,eAAe,IAAI,CAAC,IAAI,CAAC,GAC7D,EAAK,YAAY,GAAG,CAAC,GACrB,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,IAAI,GAAM,MAAS;CACjB,EAAK,eAAe,EAAK,eAAe,IAAI,IAAO,CAAC;AACtD,CAAC,GAGqB,EAAQ;;;AChDhC,SAAwB,EAAU,GAAG,GAAG;CACtC,OAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;AAC9E;;;ACFA,SAAwB,GAAW,GAAG,GAAG;CACvC,OAAO,KAAK,QAAQ,KAAK,OAAO,MAC5B,IAAI,IAAI,KACR,IAAI,IAAI,IACR,KAAK,IAAI,IACT;AACN;;;ACHA,SAAwB,EAAS,GAAG;CAClC,IAAI,GAAU,GAAU;CAOxB,AAAI,EAAE,WAAW,KAKf,IAAW,MAAM,KAAa,MAAM,KAAa,IAAI,IACrD,IAAW,GACX,IAAQ,MANR,IAAW,GACX,KAAY,GAAG,MAAM,EAAU,EAAE,CAAC,GAAG,CAAC,GACtC,KAAS,GAAG,MAAM,EAAE,CAAC,IAAI;CAO3B,SAAS,EAAK,GAAG,GAAG,IAAK,GAAG,IAAK,EAAE,QAAQ;EACzC,IAAI,IAAK,GAAI;GACX,IAAI,EAAS,GAAG,CAAC,MAAM,GAAG,OAAO;GACjC,GAAG;IACD,IAAM,IAAO,IAAK,MAAQ;IAC1B,AAAI,EAAS,EAAE,IAAM,CAAC,IAAI,IAAG,IAAK,IAAM,IACnC,IAAK;GACZ,SAAS,IAAK;EAChB;EACA,OAAO;CACT;CAEA,SAAS,EAAM,GAAG,GAAG,IAAK,GAAG,IAAK,EAAE,QAAQ;EAC1C,IAAI,IAAK,GAAI;GACX,IAAI,EAAS,GAAG,CAAC,MAAM,GAAG,OAAO;GACjC,GAAG;IACD,IAAM,IAAO,IAAK,MAAQ;IAC1B,AAAI,EAAS,EAAE,IAAM,CAAC,KAAK,IAAG,IAAK,IAAM,IACpC,IAAK;GACZ,SAAS,IAAK;EAChB;EACA,OAAO;CACT;CAEA,SAAS,EAAO,GAAG,GAAG,IAAK,GAAG,IAAK,EAAE,QAAQ;EAC3C,IAAM,IAAI,EAAK,GAAG,GAAG,GAAI,IAAK,CAAC;EAC/B,OAAO,IAAI,KAAM,EAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAM,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;CAClE;CAEA,OAAO;EAAC;EAAM;EAAQ;CAAK;AAC7B;AAEA,SAAS,KAAO;CACd,OAAO;AACT;;;ACvDA,SAAwBA,GAAO,GAAG;CAChC,OAAO,MAAM,OAAO,MAAM,CAAC;AAC7B;AAEA,UAAiB,GAAQ,GAAQ,GAAS;CACxC,IAAI,MAAY,KAAA,GACT,KAAA,IAAI,KAAS,GAChB,AAAI,KAAS,SAAS,IAAQ,CAAC,MAAU,MACvC,MAAM;MAGL;EACL,IAAI,IAAQ;EACZ,KAAK,IAAI,KAAS,GAChB,CAAK,IAAQ,EAAQ,GAAO,EAAE,GAAO,CAAM,MAAM,SAAS,IAAQ,CAAC,MAAU,MAC3E,MAAM;CAGZ;AACF;;;ACfA,IAAM,KAAkB,EAAS,CAAS,GAC7B,KAAc,GAAgB;AACjB,GAAgB,MACd,EAASC,EAAM,CAAC,CAAC;;;ACP7C,IAAa,KAAb,cAA+B,IAAI;CACjC,YAAY,GAAS,IAAM,IAAO;EAGhC,IAFA,MAAM,GACN,OAAO,iBAAiB,MAAM;GAAC,SAAS,EAAC,uBAAO,IAAI,IAAI,EAAC;GAAG,MAAM,EAAC,OAAO,EAAG;EAAC,CAAC,GAC3E,KAAW,MAAM,KAAK,IAAM,CAAC,GAAK,MAAU,GAAS,KAAK,IAAI,GAAK,CAAK;CAC9E;CACA,IAAI,GAAK;EACP,OAAO,MAAM,IAAI,GAAW,MAAM,CAAG,CAAC;CACxC;CACA,IAAI,GAAK;EACP,OAAO,MAAM,IAAI,GAAW,MAAM,CAAG,CAAC;CACxC;CACA,IAAI,GAAK,GAAO;EACd,OAAO,MAAM,IAAI,GAAW,MAAM,CAAG,GAAG,CAAK;CAC/C;CACA,OAAO,GAAK;EACV,OAAO,MAAM,OAAO,GAAc,MAAM,CAAG,CAAC;CAC9C;AACF,GAEa,KAAb,cAA+B,IAAI;CACjC,YAAY,GAAQ,IAAM,IAAO;EAG/B,IAFA,MAAM,GACN,OAAO,iBAAiB,MAAM;GAAC,SAAS,EAAC,uBAAO,IAAI,IAAI,EAAC;GAAG,MAAM,EAAC,OAAO,EAAG;EAAC,CAAC,GAC3E,KAAU,MAAM,KAAK,IAAM,KAAS,GAAQ,KAAK,IAAI,CAAK;CAChE;CACA,IAAI,GAAO;EACT,OAAO,MAAM,IAAI,GAAW,MAAM,CAAK,CAAC;CAC1C;CACA,IAAI,GAAO;EACT,OAAO,MAAM,IAAI,GAAW,MAAM,CAAK,CAAC;CAC1C;CACA,OAAO,GAAO;EACZ,OAAO,MAAM,OAAO,GAAc,MAAM,CAAK,CAAC;CAChD;AACF;AAEA,SAAS,GAAW,EAAC,YAAS,WAAO,GAAO;CAC1C,IAAM,IAAM,EAAK,CAAK;CACtB,OAAO,EAAQ,IAAI,CAAG,IAAI,EAAQ,IAAI,CAAG,IAAI;AAC/C;AAEA,SAAS,GAAW,EAAC,YAAS,WAAO,GAAO;CAC1C,IAAM,IAAM,EAAK,CAAK;CAGtB,OAFI,EAAQ,IAAI,CAAG,IAAU,EAAQ,IAAI,CAAG,KAC5C,EAAQ,IAAI,GAAK,CAAK,GACf;AACT;AAEA,SAAS,GAAc,EAAC,YAAS,WAAO,GAAO;CAC7C,IAAM,IAAM,EAAK,CAAK;CAKtB,OAJI,EAAQ,IAAI,CAAG,MACjB,IAAQ,EAAQ,IAAI,CAAG,GACvB,EAAQ,OAAO,CAAG,IAEb;AACT;AAEA,SAAS,GAAM,GAAO;CACpB,OAAyB,OAAO,KAAU,YAAnC,IAA8C,EAAM,QAAQ,IAAI;AACzE;;;AC5DA,IAAM,KAAM,KAAK,KAAK,EAAE,GACpB,KAAK,KAAK,KAAK,EAAE,GACjB,KAAK,KAAK,KAAK,CAAC;AAEpB,SAAS,EAAS,GAAO,GAAM,GAAO;CACpC,IAAM,KAAQ,IAAO,KAAS,KAAK,IAAI,GAAG,CAAK,GAC3C,IAAQ,KAAK,MAAM,KAAK,MAAM,CAAI,CAAC,GACnC,IAAQ,IAAgB,MAAI,GAC5B,IAAS,KAAS,KAAM,KAAK,KAAS,KAAK,IAAI,KAAS,KAAK,IAAI,GACjE,GAAI,GAAI;CAgBZ,OAfI,IAAQ,KACV,IAAe,MAAI,CAAC,IAAS,GAC7B,IAAK,KAAK,MAAM,IAAQ,CAAG,GAC3B,IAAK,KAAK,MAAM,IAAO,CAAG,GACtB,IAAK,IAAM,KAAO,EAAE,GACpB,IAAK,IAAM,KAAM,EAAE,GACvB,IAAM,CAAC,MAEP,IAAe,MAAI,IAAS,GAC5B,IAAK,KAAK,MAAM,IAAQ,CAAG,GAC3B,IAAK,KAAK,MAAM,IAAO,CAAG,GACtB,IAAK,IAAM,KAAO,EAAE,GACpB,IAAK,IAAM,KAAM,EAAE,IAErB,IAAK,KAAM,MAAO,KAAS,IAAQ,IAAU,EAAS,GAAO,GAAM,IAAQ,CAAC,IACzE;EAAC;EAAI;EAAI;CAAG;AACrB;AAEA,SAAwB,EAAM,GAAO,GAAM,GAAO;CAEhD,IADA,IAAO,CAAC,GAAM,IAAQ,CAAC,GAAO,IAAQ,CAAC,GACnC,EAAE,IAAQ,IAAI,OAAO,CAAC;CAC1B,IAAI,MAAU,GAAM,OAAO,CAAC,CAAK;CACjC,IAAM,IAAU,IAAO,GAAO,CAAC,GAAI,GAAI,KAAO,IAAU,EAAS,GAAM,GAAO,CAAK,IAAI,EAAS,GAAO,GAAM,CAAK;CAClH,IAAI,EAAE,KAAM,IAAK,OAAO,CAAC;CACzB,IAAM,IAAI,IAAK,IAAK,GAAG,IAAY,MAAM,CAAC;CAC1C,IAAI,GACF,IAAI,IAAM,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAM,MAAM,IAAK,KAAK,CAAC;MAC3D,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAM,MAAM,IAAK,KAAK;MAEvD,IAAI,IAAM,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAM,MAAM,IAAK,KAAK,CAAC;MAC3D,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAM,MAAM,IAAK,KAAK;CAEzD,OAAO;AACT;AAEA,SAAgB,GAAc,GAAO,GAAM,GAAO;CAEhD,OADA,IAAO,CAAC,GAAM,IAAQ,CAAC,GAAO,IAAQ,CAAC,GAChC,EAAS,GAAO,GAAM,CAAK,CAAC,CAAC;AACtC;AAEA,SAAgB,GAAS,GAAO,GAAM,GAAO;CAC3C,IAAO,CAAC,GAAM,IAAQ,CAAC,GAAO,IAAQ,CAAC;CACvC,IAAM,IAAU,IAAO,GAAO,IAAM,IAAU,GAAc,GAAM,GAAO,CAAK,IAAI,GAAc,GAAO,GAAM,CAAK;CAClH,QAAQ,IAAU,KAAK,MAAM,IAAM,IAAI,IAAI,CAAC,IAAM;AACpD;;;AC3CA,SAAS,GAAO,GAAM,GAAO,GAAM,GAAK,GAAM,GAAQ;CAEpD,IAAM,IAAgB;EACpB;GAAC;GAAS;GAAQ;EAAc;EAChC;GAAC;GAAS;GAAI,IAAI;EAAc;EAChC;GAAC;GAAQ;GAAI,KAAK;EAAc;EAChC;GAAC;GAAQ;GAAI,KAAK;EAAc;EAChC;GAAC;GAAS;GAAQ;EAAc;EAChC;GAAC;GAAS;GAAI,IAAI;EAAc;EAChC;GAAC;GAAQ;GAAI,KAAK;EAAc;EAChC;GAAC;GAAQ;GAAI,KAAK;EAAc;EAChC;GAAG;GAAO;GAAQ;EAAc;EAChC;GAAG;GAAO;GAAI,IAAI;EAAc;EAChC;GAAG;GAAO;GAAI,IAAI;EAAc;EAChC;GAAG;GAAM;GAAI,KAAK;EAAc;EAChC;GAAI;GAAM;GAAQ;EAAc;EAChC;GAAI;GAAM;GAAI,IAAI;EAAc;EAChC;GAAG;GAAO;GAAQ;EAAc;EAChC;GAAE;GAAQ;GAAQ;EAAc;EAChC;GAAE;GAAQ;GAAI,IAAI;EAAc;EAChC;GAAG;GAAO;GAAQ;EAAc;CAClC;CAEA,SAAS,EAAM,GAAO,GAAM,GAAO;EACjC,IAAM,IAAU,IAAO;EACvB,AAAI,MAAS,CAAC,GAAO,KAAQ,CAAC,GAAM,CAAK;EACzC,IAAM,IAAW,KAAS,OAAO,EAAM,SAAU,aAAa,IAAQ,EAAa,GAAO,GAAM,CAAK,GAC/F,IAAQ,IAAW,EAAS,MAAM,GAAO,CAAC,IAAO,CAAC,IAAI,CAAC;EAC7D,OAAO,IAAU,EAAM,QAAQ,IAAI;CACrC;CAEA,SAAS,EAAa,GAAO,GAAM,GAAO;EACxC,IAAM,IAAS,KAAK,IAAI,IAAO,CAAK,IAAI,GAClC,IAAI,GAAU,KAAI,OAAU,CAAI,CAAC,CAAC,MAAM,GAAe,CAAM;EACnE,IAAI,MAAM,EAAc,QAAQ,OAAO,EAAK,MAAM,GAAS,IAAQ,GAAc,IAAO,GAAc,CAAK,CAAC;EAC5G,IAAI,MAAM,GAAG,OAAO,EAAY,MAAM,KAAK,IAAI,GAAS,GAAO,GAAM,CAAK,GAAG,CAAC,CAAC;EAC/E,IAAM,CAAC,GAAG,KAAQ,EAAc,IAAS,EAAc,IAAI,EAAE,CAAC,KAAK,EAAc,EAAE,CAAC,KAAK,IAAS,IAAI,IAAI;EAC1G,OAAO,EAAE,MAAM,CAAI;CACrB;CAEA,OAAO,CAAC,GAAO,CAAY;AAC7B;AAEA,IAAM,CAAC,IAAU,MAAmB,GAAO,GAAS,GAAU,GAAW,GAAS,GAAS,CAAS,GAC9F,CAAC,IAAW,MAAoB,GAAO,GAAU,GAAW,GAAY,GAAS,GAAU,CAAU;;;AC1C3G,SAAS,GAAU,GAAG;CACpB,IAAI,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK;EACzB,IAAI,IAAO,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;EAEpD,OADA,EAAK,YAAY,EAAE,CAAC,GACb;CACT;CACA,OAAO,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACnD;AAEA,SAAS,GAAQ,GAAG;CAClB,IAAI,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK;EACzB,IAAI,IAAO,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;EAE9D,OADA,EAAK,eAAe,EAAE,CAAC,GAChB;CACT;CACA,OAAO,IAAI,KAAK,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7D;AAEA,SAAS,EAAQ,GAAG,GAAG,GAAG;CACxB,OAAO;EAAI;EAAM;EAAM;EAAG,GAAG;EAAG,GAAG;EAAG,GAAG;EAAG,GAAG;CAAC;AAClD;AAEA,SAAwB,GAAa,GAAQ;CAC3C,IAAI,IAAkB,EAAO,UACzB,IAAc,EAAO,MACrB,IAAc,EAAO,MACrB,IAAiB,EAAO,SACxB,IAAkB,EAAO,MACzB,IAAuB,EAAO,WAC9B,IAAgB,EAAO,QACvB,IAAqB,EAAO,aAE5B,IAAW,EAAS,CAAc,GAClC,IAAe,EAAa,CAAc,GAC1C,IAAY,EAAS,CAAe,GACpC,IAAgB,EAAa,CAAe,GAC5C,IAAiB,EAAS,CAAoB,GAC9C,IAAqB,EAAa,CAAoB,GACtD,IAAU,EAAS,CAAa,GAChC,IAAc,EAAa,CAAa,GACxC,IAAe,EAAS,CAAkB,GAC1C,IAAmB,EAAa,CAAkB,GAElD,IAAU;EACZ,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,KAAK;CACP,GAEI,IAAa;EACf,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,KAAK;CACP,GAEI,IAAS;EACX,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,GAAK;EACL,KAAK;CACP;CAQA,AALA,EAAQ,IAAI,EAAU,GAAa,CAAO,GAC1C,EAAQ,IAAI,EAAU,GAAa,CAAO,GAC1C,EAAQ,IAAI,EAAU,GAAiB,CAAO,GAC9C,EAAW,IAAI,EAAU,GAAa,CAAU,GAChD,EAAW,IAAI,EAAU,GAAa,CAAU,GAChD,EAAW,IAAI,EAAU,GAAiB,CAAU;CAEpD,SAAS,EAAU,GAAW,GAAS;EACrC,OAAO,SAAS,GAAM;GACpB,IAAI,IAAS,CAAC,GACV,IAAI,IACJ,IAAI,GACJ,IAAI,EAAU,QACd,GACA,GACA;GAIJ,KAFM,aAAgB,SAAO,oBAAO,IAAI,KAAK,CAAC,CAAI,IAE3C,EAAE,IAAI,IACX,AAAI,EAAU,WAAW,CAAC,MAAM,OAC9B,EAAO,KAAK,EAAU,MAAM,GAAG,CAAC,CAAC,IAC5B,IAAM,GAAK,IAAI,EAAU,OAAO,EAAE,CAAC,OAAO,OAC1C,IAAM,MAAM,MAAM,MAAM,MADwB,IAAI,EAAU,OAAO,EAAE,CAAC,IAEzE,IAAS,EAAQ,QAAI,IAAI,EAAO,GAAM,CAAG,IAC7C,EAAO,KAAK,CAAC,GACb,IAAI,IAAI;GAKZ,OADA,EAAO,KAAK,EAAU,MAAM,GAAG,CAAC,CAAC,GAC1B,EAAO,KAAK,EAAE;EACvB;CACF;CAEA,SAAS,EAAS,GAAW,GAAG;EAC9B,OAAO,SAAS,GAAQ;GACtB,IAAI,IAAI,EAAQ,MAAM,KAAA,GAAW,CAAC,GAC9B,IAAI,EAAe,GAAG,GAAW,KAAU,IAAI,CAAC,GAChD,GAAM;GACV,IAAI,KAAK,EAAO,QAAQ,OAAO;GAG/B,IAAI,OAAO,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC;GACjC,IAAI,OAAO,GAAG,OAAO,IAAI,KAAK,EAAE,IAAI,OAAQ,OAAO,IAAI,EAAE,IAAI,EAAE;GAY/D,IATI,KAAK,EAAE,OAAO,OAAI,EAAE,IAAI,IAGxB,OAAO,MAAG,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,KAGjC,EAAE,MAAM,KAAA,MAAW,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,IAG1C,OAAO,GAAG;IACZ,IAAI,EAAE,IAAI,KAAK,EAAE,IAAI,IAAI,OAAO;IAEhC,AADM,OAAO,MAAI,EAAE,IAAI,IACnB,OAAO,KACT,IAAO,GAAQ,EAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAM,EAAK,UAAU,GACzD,IAAO,IAAM,KAAK,MAAQ,IAAI,EAAU,KAAK,CAAI,IAAI,EAAU,CAAI,GACnE,IAAO,EAAO,OAAO,IAAO,EAAE,IAAI,KAAK,CAAC,GACxC,EAAE,IAAI,EAAK,eAAe,GAC1B,EAAE,IAAI,EAAK,YAAY,GACvB,EAAE,IAAI,EAAK,WAAW,KAAK,EAAE,IAAI,KAAK,MAEtC,IAAO,GAAU,EAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAM,EAAK,OAAO,GACxD,IAAO,IAAM,KAAK,MAAQ,IAAI,EAAW,KAAK,CAAI,IAAI,EAAW,CAAI,GACrE,IAAO,EAAQ,OAAO,IAAO,EAAE,IAAI,KAAK,CAAC,GACzC,EAAE,IAAI,EAAK,YAAY,GACvB,EAAE,IAAI,EAAK,SAAS,GACpB,EAAE,IAAI,EAAK,QAAQ,KAAK,EAAE,IAAI,KAAK;GAEvC,OAAO,CAAI,OAAO,KAAK,OAAO,OACtB,OAAO,MAAI,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,IAAI,SAAO,KACnD,IAAM,OAAO,IAAI,GAAQ,EAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,GAAU,EAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAChG,EAAE,IAAI,GACN,EAAE,IAAI,OAAO,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,IAAM,KAAK,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,IAAM,KAAK;GAYzF,OAPI,OAAO,KACT,EAAE,KAAK,EAAE,IAAI,MAAM,GACnB,EAAE,KAAK,EAAE,IAAI,KACN,GAAQ,CAAC,KAIX,GAAU,CAAC;EACpB;CACF;CAEA,SAAS,EAAe,GAAG,GAAW,GAAQ,GAAG;EAO/C,KANA,IAAI,IAAI,GACJ,IAAI,EAAU,QACd,IAAI,EAAO,QACX,GACA,GAEG,IAAI,IAAG;GACZ,IAAI,KAAK,GAAG,OAAO;GAEnB,IADA,IAAI,EAAU,WAAW,GAAG,GACxB,MAAM,IAGR;QAFA,IAAI,EAAU,OAAO,GAAG,GACxB,IAAQ,EAAO,KAAK,KAAO,EAAU,OAAO,GAAG,IAAI,IAC/C,CAAC,MAAW,IAAI,EAAM,GAAG,GAAQ,CAAC,KAAK,GAAI,OAAO;GAAA,OACjD,IAAI,KAAK,EAAO,WAAW,GAAG,GACnC,OAAO;EAEX;EAEA,OAAO;CACT;CAEA,SAAS,GAAY,GAAG,GAAQ,GAAG;EACjC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,CAAC,CAAC;EACrC,OAAO,KAAK,EAAE,IAAI,EAAa,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;CAC7E;CAEA,SAAS,EAAkB,GAAG,GAAQ,GAAG;EACvC,IAAI,IAAI,EAAe,KAAK,EAAO,MAAM,CAAC,CAAC;EAC3C,OAAO,KAAK,EAAE,IAAI,EAAmB,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;CACnF;CAEA,SAAS,GAAa,GAAG,GAAQ,GAAG;EAClC,IAAI,IAAI,EAAU,KAAK,EAAO,MAAM,CAAC,CAAC;EACtC,OAAO,KAAK,EAAE,IAAI,EAAc,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;CAC9E;CAEA,SAAS,GAAgB,GAAG,GAAQ,GAAG;EACrC,IAAI,IAAI,EAAa,KAAK,EAAO,MAAM,CAAC,CAAC;EACzC,OAAO,KAAK,EAAE,IAAI,EAAiB,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;CACjF;CAEA,SAAS,EAAW,GAAG,GAAQ,GAAG;EAChC,IAAI,IAAI,EAAQ,KAAK,EAAO,MAAM,CAAC,CAAC;EACpC,OAAO,KAAK,EAAE,IAAI,EAAY,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;CAC5E;CAEA,SAAS,EAAoB,GAAG,GAAQ,GAAG;EACzC,OAAO,EAAe,GAAG,GAAiB,GAAQ,CAAC;CACrD;CAEA,SAAS,GAAgB,GAAG,GAAQ,GAAG;EACrC,OAAO,EAAe,GAAG,GAAa,GAAQ,CAAC;CACjD;CAEA,SAAS,GAAgB,GAAG,GAAQ,GAAG;EACrC,OAAO,EAAe,GAAG,GAAa,GAAQ,CAAC;CACjD;CAEA,SAAS,EAAmB,GAAG;EAC7B,OAAO,EAAqB,EAAE,OAAO;CACvC;CAEA,SAAS,GAAc,GAAG;EACxB,OAAO,EAAgB,EAAE,OAAO;CAClC;CAEA,SAAS,GAAiB,GAAG;EAC3B,OAAO,EAAmB,EAAE,SAAS;CACvC;CAEA,SAAS,EAAY,GAAG;EACtB,OAAO,EAAc,EAAE,SAAS;CAClC;CAEA,SAAS,EAAa,GAAG;EACvB,OAAO,EAAe,EAAE,EAAE,SAAS,KAAK;CAC1C;CAEA,SAAS,EAAc,GAAG;EACxB,OAAO,IAAI,CAAC,EAAE,EAAE,SAAS,IAAI;CAC/B;CAEA,SAAS,EAAsB,GAAG;EAChC,OAAO,EAAqB,EAAE,UAAU;CAC1C;CAEA,SAAS,EAAiB,GAAG;EAC3B,OAAO,EAAgB,EAAE,UAAU;CACrC;CAEA,SAAS,GAAoB,GAAG;EAC9B,OAAO,EAAmB,EAAE,YAAY;CAC1C;CAEA,SAAS,EAAe,GAAG;EACzB,OAAO,EAAc,EAAE,YAAY;CACrC;CAEA,SAAS,GAAgB,GAAG;EAC1B,OAAO,EAAe,EAAE,EAAE,YAAY,KAAK;CAC7C;CAEA,SAAS,GAAiB,GAAG;EAC3B,OAAO,IAAI,CAAC,EAAE,EAAE,YAAY,IAAI;CAClC;CAEA,OAAO;EACL,QAAQ,SAAS,GAAW;GAC1B,IAAI,IAAI,EAAU,KAAa,IAAI,CAAO;GAE1C,OADA,EAAE,WAAW,WAAW;IAAE,OAAO;GAAW,GACrC;EACT;EACA,OAAO,SAAS,GAAW;GACzB,IAAI,IAAI,EAAS,KAAa,IAAI,EAAK;GAEvC,OADA,EAAE,WAAW,WAAW;IAAE,OAAO;GAAW,GACrC;EACT;EACA,WAAW,SAAS,GAAW;GAC7B,IAAI,IAAI,EAAU,KAAa,IAAI,CAAU;GAE7C,OADA,EAAE,WAAW,WAAW;IAAE,OAAO;GAAW,GACrC;EACT;EACA,UAAU,SAAS,GAAW;GAC5B,IAAI,IAAI,EAAS,KAAa,IAAI,EAAI;GAEtC,OADA,EAAE,WAAW,WAAW;IAAE,OAAO;GAAW,GACrC;EACT;CACF;AACF;AAEA,IAAI,KAAO;CAAC,KAAK;CAAI,GAAK;CAAK,GAAK;AAAG,GACnC,IAAW,WACX,KAAY,MACZ,KAAY;AAEhB,SAAS,EAAI,GAAO,GAAM,GAAO;CAC/B,IAAI,IAAO,IAAQ,IAAI,MAAM,IACzB,KAAU,IAAO,CAAC,IAAQ,KAAS,IACnC,IAAS,EAAO;CACpB,OAAO,KAAQ,IAAS,IAAY,MAAM,IAAQ,IAAS,CAAC,CAAC,CAAC,KAAK,CAAI,IAAI,IAAS;AACtF;AAEA,SAAS,GAAQ,GAAG;CAClB,OAAO,EAAE,QAAQ,IAAW,MAAM;AACpC;AAEA,SAAS,EAAS,GAAO;CACvB,OAAW,OAAO,SAAS,EAAM,IAAI,EAAO,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,GAAG;AACpE;AAEA,SAAS,EAAa,GAAO;CAC3B,OAAO,IAAI,IAAI,EAAM,KAAK,GAAM,MAAM,CAAC,EAAK,YAAY,GAAG,CAAC,CAAC,CAAC;AAChE;AAEA,SAAS,GAAyB,GAAG,GAAQ,GAAG;CAC9C,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAyB,GAAG,GAAQ,GAAG;CAC9C,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAsB,GAAG,GAAQ,GAAG;CAC3C,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAmB,GAAG,GAAQ,GAAG;CACxC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAsB,GAAG,GAAQ,GAAG;CAC3C,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAc,GAAG,GAAQ,GAAG;CACnC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAU,GAAG,GAAQ,GAAG;CAC/B,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,OAAO,MAAO,IAAI,EAAE,EAAE,CAAC,UAAU;AAC3E;AAEA,SAAS,GAAU,GAAG,GAAQ,GAAG;CAC/B,IAAI,IAAI,+BAA+B,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAClE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,IAAI,EAAE,EAAE,CAAC,UAAU;AAC5E;AAEA,SAAS,GAAa,GAAG,GAAQ,GAAG;CAClC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;AACrD;AAEA,SAAS,GAAiB,GAAG,GAAQ,GAAG;CACtC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;AACjD;AAEA,SAAS,GAAgB,GAAG,GAAQ,GAAG;CACrC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAe,GAAG,GAAQ,GAAG;CACpC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AACvD;AAEA,SAAS,GAAY,GAAG,GAAQ,GAAG;CACjC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAa,GAAG,GAAQ,GAAG;CAClC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAa,GAAG,GAAQ,GAAG;CAClC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAkB,GAAG,GAAQ,GAAG;CACvC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAkB,GAAG,GAAQ,GAAG;CACvC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C,OAAO,KAAK,EAAE,IAAI,KAAK,MAAM,EAAE,KAAK,GAAI,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU;AAChE;AAEA,SAAS,GAAoB,GAAG,GAAQ,GAAG;CACzC,IAAI,IAAI,GAAU,KAAK,EAAO,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7C,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,SAAS;AAC/B;AAEA,SAAS,GAAmB,GAAG,GAAQ,GAAG;CACxC,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,CAAC,CAAC;CACrC,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAA0B,GAAG,GAAQ,GAAG;CAC/C,IAAI,IAAI,EAAS,KAAK,EAAO,MAAM,CAAC,CAAC;CACrC,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU;AAC9C;AAEA,SAAS,GAAiB,GAAG,GAAG;CAC9B,OAAO,EAAI,EAAE,QAAQ,GAAG,GAAG,CAAC;AAC9B;AAEA,SAAS,GAAa,GAAG,GAAG;CAC1B,OAAO,EAAI,EAAE,SAAS,GAAG,GAAG,CAAC;AAC/B;AAEA,SAAS,GAAa,GAAG,GAAG;CAC1B,OAAO,EAAI,EAAE,SAAS,IAAI,MAAM,IAAI,GAAG,CAAC;AAC1C;AAEA,SAAS,GAAgB,GAAG,GAAG;CAC7B,OAAO,EAAI,IAAI,EAAQ,MAAM,EAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACpD;AAEA,SAAS,GAAmB,GAAG,GAAG;CAChC,OAAO,EAAI,EAAE,gBAAgB,GAAG,GAAG,CAAC;AACtC;AAEA,SAAS,GAAmB,GAAG,GAAG;CAChC,OAAO,GAAmB,GAAG,CAAC,IAAI;AACpC;AAEA,SAAS,GAAkB,GAAG,GAAG;CAC/B,OAAO,EAAI,EAAE,SAAS,IAAI,GAAG,GAAG,CAAC;AACnC;AAEA,SAAS,GAAc,GAAG,GAAG;CAC3B,OAAO,EAAI,EAAE,WAAW,GAAG,GAAG,CAAC;AACjC;AAEA,SAAS,GAAc,GAAG,GAAG;CAC3B,OAAO,EAAI,EAAE,WAAW,GAAG,GAAG,CAAC;AACjC;AAEA,SAAS,GAA0B,GAAG;CACpC,IAAI,IAAM,EAAE,OAAO;CACnB,OAAO,MAAQ,IAAI,IAAI;AACzB;AAEA,SAAS,GAAuB,GAAG,GAAG;CACpC,OAAO,EAAI,EAAW,MAAM,EAAS,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AACvD;AAEA,SAAS,GAAK,GAAG;CACf,IAAI,IAAM,EAAE,OAAO;CACnB,OAAQ,KAAO,KAAK,MAAQ,IAAK,EAAa,CAAC,IAAI,EAAa,KAAK,CAAC;AACxE;AAEA,SAAS,GAAoB,GAAG,GAAG;CAEjC,OADA,IAAI,GAAK,CAAC,GACH,EAAI,EAAa,MAAM,EAAS,CAAC,GAAG,CAAC,KAAK,EAAS,CAAC,CAAC,CAAC,OAAO,MAAM,IAAI,GAAG,CAAC;AACpF;AAEA,SAAS,GAA0B,GAAG;CACpC,OAAO,EAAE,OAAO;AAClB;AAEA,SAAS,GAAuB,GAAG,GAAG;CACpC,OAAO,EAAI,EAAW,MAAM,EAAS,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AACvD;AAEA,SAAS,GAAW,GAAG,GAAG;CACxB,OAAO,EAAI,EAAE,YAAY,IAAI,KAAK,GAAG,CAAC;AACxC;AAEA,SAAS,GAAc,GAAG,GAAG;CAE3B,OADA,IAAI,GAAK,CAAC,GACH,EAAI,EAAE,YAAY,IAAI,KAAK,GAAG,CAAC;AACxC;AAEA,SAAS,GAAe,GAAG,GAAG;CAC5B,OAAO,EAAI,EAAE,YAAY,IAAI,KAAO,GAAG,CAAC;AAC1C;AAEA,SAAS,GAAkB,GAAG,GAAG;CAC/B,IAAI,IAAM,EAAE,OAAO;CAEnB,OADA,IAAK,KAAO,KAAK,MAAQ,IAAK,EAAa,CAAC,IAAI,EAAa,KAAK,CAAC,GAC5D,EAAI,EAAE,YAAY,IAAI,KAAO,GAAG,CAAC;AAC1C;AAEA,SAAS,GAAW,GAAG;CACrB,IAAI,IAAI,EAAE,kBAAkB;CAC5B,QAAQ,IAAI,IAAI,OAAO,KAAK,IAAI,QAC1B,EAAI,IAAI,KAAK,GAAG,KAAK,CAAC,IACtB,EAAI,IAAI,IAAI,KAAK,CAAC;AAC1B;AAEA,SAAS,GAAoB,GAAG,GAAG;CACjC,OAAO,EAAI,EAAE,WAAW,GAAG,GAAG,CAAC;AACjC;AAEA,SAAS,GAAgB,GAAG,GAAG;CAC7B,OAAO,EAAI,EAAE,YAAY,GAAG,GAAG,CAAC;AAClC;AAEA,SAAS,GAAgB,GAAG,GAAG;CAC7B,OAAO,EAAI,EAAE,YAAY,IAAI,MAAM,IAAI,GAAG,CAAC;AAC7C;AAEA,SAAS,GAAmB,GAAG,GAAG;CAChC,OAAO,EAAI,IAAI,EAAO,MAAM,EAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAClD;AAEA,SAAS,GAAsB,GAAG,GAAG;CACnC,OAAO,EAAI,EAAE,mBAAmB,GAAG,GAAG,CAAC;AACzC;AAEA,SAAS,GAAsB,GAAG,GAAG;CACnC,OAAO,GAAsB,GAAG,CAAC,IAAI;AACvC;AAEA,SAAS,GAAqB,GAAG,GAAG;CAClC,OAAO,EAAI,EAAE,YAAY,IAAI,GAAG,GAAG,CAAC;AACtC;AAEA,SAAS,GAAiB,GAAG,GAAG;CAC9B,OAAO,EAAI,EAAE,cAAc,GAAG,GAAG,CAAC;AACpC;AAEA,SAAS,GAAiB,GAAG,GAAG;CAC9B,OAAO,EAAI,EAAE,cAAc,GAAG,GAAG,CAAC;AACpC;AAEA,SAAS,GAA6B,GAAG;CACvC,IAAI,IAAM,EAAE,UAAU;CACtB,OAAO,MAAQ,IAAI,IAAI;AACzB;AAEA,SAAS,GAA0B,GAAG,GAAG;CACvC,OAAO,EAAI,EAAU,MAAM,EAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AACrD;AAEA,SAAS,GAAQ,GAAG;CAClB,IAAI,IAAM,EAAE,UAAU;CACtB,OAAQ,KAAO,KAAK,MAAQ,IAAK,EAAY,CAAC,IAAI,EAAY,KAAK,CAAC;AACtE;AAEA,SAAS,GAAuB,GAAG,GAAG;CAEpC,OADA,IAAI,GAAQ,CAAC,GACN,EAAI,EAAY,MAAM,EAAQ,CAAC,GAAG,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,GAAG,CAAC;AACpF;AAEA,SAAS,GAA6B,GAAG;CACvC,OAAO,EAAE,UAAU;AACrB;AAEA,SAAS,GAA0B,GAAG,GAAG;CACvC,OAAO,EAAI,EAAU,MAAM,EAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AACrD;AAEA,SAAS,GAAc,GAAG,GAAG;CAC3B,OAAO,EAAI,EAAE,eAAe,IAAI,KAAK,GAAG,CAAC;AAC3C;AAEA,SAAS,GAAiB,GAAG,GAAG;CAE9B,OADA,IAAI,GAAQ,CAAC,GACN,EAAI,EAAE,eAAe,IAAI,KAAK,GAAG,CAAC;AAC3C;AAEA,SAAS,GAAkB,GAAG,GAAG;CAC/B,OAAO,EAAI,EAAE,eAAe,IAAI,KAAO,GAAG,CAAC;AAC7C;AAEA,SAAS,GAAqB,GAAG,GAAG;CAClC,IAAI,IAAM,EAAE,UAAU;CAEtB,OADA,IAAK,KAAO,KAAK,MAAQ,IAAK,EAAY,CAAC,IAAI,EAAY,KAAK,CAAC,GAC1D,EAAI,EAAE,eAAe,IAAI,KAAO,GAAG,CAAC;AAC7C;AAEA,SAAS,KAAgB;CACvB,OAAO;AACT;AAEA,SAAS,KAAuB;CAC9B,OAAO;AACT;AAEA,SAAS,GAAoB,GAAG;CAC9B,OAAO,CAAC;AACV;AAEA,SAAS,GAA2B,GAAG;CACrC,OAAO,KAAK,MAAO,IAAI,GAAI;AAC7B;;;ACtrBA,IAAIC,GACO,IACA,IACA,IACA;AAEXC,GAAc;CACZ,UAAU;CACV,MAAM;CACN,MAAM;CACN,SAAS,CAAC,MAAM,IAAI;CACpB,MAAM;EAAC;EAAU;EAAU;EAAW;EAAa;EAAY;EAAU;CAAU;CACnF,WAAW;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;CAAK;CAC3D,QAAQ;EAAC;EAAW;EAAY;EAAS;EAAS;EAAO;EAAQ;EAAQ;EAAU;EAAa;EAAW;EAAY;CAAU;CACjI,aAAa;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;CAAK;AAClG,CAAC;AAED,SAAwBA,GAAc,GAAY;CAMhD,OALA,IAAS,GAAa,CAAU,GAChC,KAAaD,EAAO,QACpB,KAAYA,EAAO,OACnB,KAAYA,EAAO,WACnB,KAAWA,EAAO,UACXA;AACT;;;AC1BA,SAAgB,EAAU,GAAQ,GAAO;CACvC,QAAQ,UAAU,QAAlB;EACE,KAAK,GAAG;EACR,KAAK;GAAG,KAAK,MAAM,CAAM;GAAG;EAC5B,SAAS,KAAK,MAAM,CAAK,CAAC,CAAC,OAAO,CAAM;CAC1C;CACA,OAAO;AACT;AAEA,SAAgB,GAAiB,GAAQ,GAAc;CACrD,QAAQ,UAAU,QAAlB;EACE,KAAK,GAAG;EACR,KAAK;GACH,AAAI,OAAO,KAAW,aAAY,KAAK,aAAa,CAAM,IACrD,KAAK,MAAM,CAAM;GACtB;EAEF,SAEE,AADA,KAAK,OAAO,CAAM,GACd,OAAO,KAAiB,aAAY,KAAK,aAAa,CAAY,IACjE,KAAK,MAAM,CAAY;CAGhC;CACA,OAAO;AACT;;;ACtBA,IAAa,KAAW,OAAO,UAAU;AAEzC,SAAwB,KAAU;CAChC,IAAI,IAAQ,IAAI,GAAU,GACtB,IAAS,CAAC,GACV,IAAQ,CAAC,GACT,IAAU;CAEd,SAAS,EAAM,GAAG;EAChB,IAAI,IAAI,EAAM,IAAI,CAAC;EACnB,IAAI,MAAM,KAAA,GAAW;GACnB,IAAI,MAAY,IAAU,OAAO;GACjC,EAAM,IAAI,GAAG,IAAI,EAAO,KAAK,CAAC,IAAI,CAAC;EACrC;EACA,OAAO,EAAM,IAAI,EAAM;CACzB;CA0BA,OAxBA,EAAM,SAAS,SAAS,GAAG;EACzB,IAAI,CAAC,UAAU,QAAQ,OAAO,EAAO,MAAM;EAC3C,IAAS,CAAC,GAAG,IAAQ,IAAI,GAAU;EACnC,KAAK,IAAM,KAAS,GACd,EAAM,IAAI,CAAK,KACnB,EAAM,IAAI,GAAO,EAAO,KAAK,CAAK,IAAI,CAAC;EAEzC,OAAO;CACT,GAEA,EAAM,QAAQ,SAAS,GAAG;EACxB,OAAO,UAAU,UAAU,IAAQ,MAAM,KAAK,CAAC,GAAG,KAAS,EAAM,MAAM;CACzE,GAEA,EAAM,UAAU,SAAS,GAAG;EAC1B,OAAO,UAAU,UAAU,IAAU,GAAG,KAAS;CACnD,GAEA,EAAM,OAAO,WAAW;EACtB,OAAO,GAAQ,GAAQ,CAAK,CAAC,CAAC,QAAQ,CAAO;CAC/C,GAEA,EAAU,MAAM,GAAO,SAAS,GAEzB;AACT;;;AC7CA,SAAA,GAAwB,GAAG,GAAG;CAC5B,AAAQ,MAAI,CAAC;CACb,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,GACvC,IAAI,EAAE,MAAM,GACZ;CACJ,OAAO,SAAS,GAAG;EACjB,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,KAAK;EACvD,OAAO;CACT;AACF;AAEA,SAAgB,GAAc,GAAG;CAC/B,OAAO,YAAY,OAAO,CAAC,KAAK,EAAE,aAAa;AACjD;;;ACNA,SAAgB,GAAa,GAAG,GAAG;CACjC,IAAI,IAAK,IAAI,EAAE,SAAS,GACpB,IAAK,IAAI,KAAK,IAAI,GAAI,EAAE,MAAM,IAAI,GAClC,IAAQ,MAAM,CAAE,GAChB,IAAQ,MAAM,CAAE,GAChB;CAEJ,KAAK,IAAI,GAAG,IAAI,GAAI,EAAE,GAAG,EAAE,KAAKE,EAAM,EAAE,IAAI,EAAE,EAAE;CAChD,OAAO,IAAI,GAAI,EAAE,GAAG,EAAE,KAAK,EAAE;CAE7B,OAAO,SAAS,GAAG;EACjB,KAAK,IAAI,GAAG,IAAI,GAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;EACtC,OAAO;CACT;AACF;;;ACrBA,SAAA,GAAwB,GAAG,GAAG;CAC5B,IAAI,oBAAI,IAAI,KAAG;CACf,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAAG;EACjC,OAAO,EAAE,QAAQ,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG;CACzC;AACF;;;ACHA,SAAA,GAAwB,GAAG,GAAG;CAC5B,IAAI,IAAI,CAAC,GACL,IAAI,CAAC,GACL;CAKJ,KAAK,MAHa,OAAO,KAAM,aAA3B,OAAqC,IAAI,CAAC,KAC5B,OAAO,KAAM,aAA3B,OAAqC,IAAI,CAAC,IAEpC,GACR,AAAI,KAAK,IACP,EAAE,KAAKC,EAAM,EAAE,IAAI,EAAE,EAAE,IAEvB,EAAE,KAAK,EAAE;CAIb,OAAO,SAAS,GAAG;EACjB,KAAK,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;EAC1B,OAAO;CACT;AACF;;;ACZA,SAAA,EAAwB,GAAG,GAAG;CAC5B,IAAI,IAAI,OAAO,GAAG;CAClB,OAAO,KAAK,QAAQ,MAAM,YAAYC,EAAS,CAAC,KACzC,MAAM,WAAWC,IAClB,MAAM,YAAa,IAAI,EAAM,CAAC,MAAM,IAAI,GAAGC,KAAOC,IAClD,aAAa,IAAQD,IACrB,aAAa,OAAOE,KACpB,GAAc,CAAC,IAAIC,KACnB,MAAM,QAAQ,CAAC,IAAI,KACnB,OAAO,EAAE,WAAY,cAAc,OAAO,EAAE,YAAa,cAAc,MAAM,CAAC,IAAIC,KAClFL,EAAAA,CAAQ,GAAG,CAAC;AACpB;;;ACrBA,SAAA,GAAwB,GAAG,GAAG;CAC5B,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAAG;EACjC,OAAO,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;CACvC;AACF;;;ACJA,SAAwB,GAAU,GAAG;CACnC,OAAO,WAAW;EAChB,OAAO;CACT;AACF;;;ACJA,SAAwBM,GAAO,GAAG;CAChC,OAAO,CAAC;AACV;;;ACGA,IAAI,KAAO,CAAC,GAAG,CAAC;AAEhB,SAAgB,EAAS,GAAG;CAC1B,OAAO;AACT;AAEA,SAAS,GAAU,GAAG,GAAG;CACvB,QAAQ,KAAM,IAAI,CAAC,KACb,SAAS,GAAG;EAAE,QAAQ,IAAI,KAAK;CAAG,IAClCC,GAAS,MAAM,CAAC,IAAI,MAAM,EAAG;AACrC;AAEA,SAAS,GAAQ,GAAG,GAAG;CACrB,IAAI;CAEJ,OADI,IAAI,MAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IACtB,SAAS,GAAG;EAAE,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;CAAG;AAC3D;AAIA,SAAS,GAAM,GAAQ,GAAO,GAAa;CACzC,IAAI,IAAK,EAAO,IAAI,IAAK,EAAO,IAAI,IAAK,EAAM,IAAI,IAAK,EAAM;CAG9D,OAFI,IAAK,KAAI,IAAK,GAAU,GAAI,CAAE,GAAG,IAAK,EAAY,GAAI,CAAE,MACvD,IAAK,GAAU,GAAI,CAAE,GAAG,IAAK,EAAY,GAAI,CAAE,IAC7C,SAAS,GAAG;EAAE,OAAO,EAAG,EAAG,CAAC,CAAC;CAAG;AACzC;AAEA,SAAS,GAAQ,GAAQ,GAAO,GAAa;CAC3C,IAAI,IAAI,KAAK,IAAI,EAAO,QAAQ,EAAM,MAAM,IAAI,GAC5C,IAAQ,MAAM,CAAC,GACf,IAAQ,MAAM,CAAC,GACf,IAAI;CAQR,KALI,EAAO,KAAK,EAAO,OACrB,IAAS,EAAO,MAAM,CAAC,CAAC,QAAQ,GAChC,IAAQ,EAAM,MAAM,CAAC,CAAC,QAAQ,IAGzB,EAAE,IAAI,IAEX,AADA,EAAE,KAAK,GAAU,EAAO,IAAI,EAAO,IAAI,EAAE,GACzC,EAAE,KAAK,EAAY,EAAM,IAAI,EAAM,IAAI,EAAE;CAG3C,OAAO,SAAS,GAAG;EACjB,IAAI,IAAIC,GAAO,GAAQ,GAAG,GAAG,CAAC,IAAI;EAClC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;CACrB;AACF;AAEA,SAAgB,EAAK,GAAQ,GAAQ;CACnC,OAAO,EACF,OAAO,EAAO,OAAO,CAAC,CAAC,CACvB,MAAM,EAAO,MAAM,CAAC,CAAC,CACrB,YAAY,EAAO,YAAY,CAAC,CAAC,CACjC,MAAM,EAAO,MAAM,CAAC,CAAC,CACrB,QAAQ,EAAO,QAAQ,CAAC;AAC/B;AAEA,SAAgB,KAAc;CAC5B,IAAI,IAAS,IACT,IAAQ,IACR,IAAcC,GACd,GACA,GACA,GACA,IAAQ,GACR,GACA,GACA;CAEJ,SAAS,IAAU;EACjB,IAAI,IAAI,KAAK,IAAI,EAAO,QAAQ,EAAM,MAAM;EAI5C,OAHI,MAAU,MAAU,IAAQ,GAAQ,EAAO,IAAI,EAAO,IAAI,EAAE,IAChE,IAAY,IAAI,IAAI,KAAU,IAC9B,IAAS,IAAQ,MACV;CACT;CAEA,SAAS,EAAM,GAAG;EAChB,OAAO,KAAK,QAAQ,MAAM,IAAI,CAAC,CAAC,IAAI,KAAW,AAAW,MAAS,EAAU,EAAO,IAAI,CAAS,GAAG,GAAO,CAAW,EAAA,CAAI,EAAU,EAAM,CAAC,CAAC,CAAC;CAC/I;CA8BA,OA5BA,EAAM,SAAS,SAAS,GAAG;EACzB,OAAO,EAAM,GAAa,AAAU,MAAQ,EAAU,GAAO,EAAO,IAAI,CAAS,GAAGC,CAAiB,EAAA,CAAI,CAAC,CAAC,CAAC;CAC9G,GAEA,EAAM,SAAS,SAAS,GAAG;EACzB,OAAO,UAAU,UAAU,IAAS,MAAM,KAAK,GAAGC,EAAM,GAAG,EAAQ,KAAK,EAAO,MAAM;CACvF,GAEA,EAAM,QAAQ,SAAS,GAAG;EACxB,OAAO,UAAU,UAAU,IAAQ,MAAM,KAAK,CAAC,GAAG,EAAQ,KAAK,EAAM,MAAM;CAC7E,GAEA,EAAM,aAAa,SAAS,GAAG;EAC7B,OAAO,IAAQ,MAAM,KAAK,CAAC,GAAG,IAAcC,IAAkB,EAAQ;CACxE,GAEA,EAAM,QAAQ,SAAS,GAAG;EACxB,OAAO,UAAU,UAAU,IAAQ,IAAI,KAAO,GAAU,EAAQ,KAAK,MAAU;CACjF,GAEA,EAAM,cAAc,SAAS,GAAG;EAC9B,OAAO,UAAU,UAAU,IAAc,GAAG,EAAQ,KAAK;CAC3D,GAEA,EAAM,UAAU,SAAS,GAAG;EAC1B,OAAO,UAAU,UAAU,IAAU,GAAG,KAAS;CACnD,GAEO,SAAS,GAAG,GAAG;EAEpB,OADA,IAAY,GAAG,IAAc,GACtB,EAAQ;CACjB;AACF;AAEA,SAAwB,KAAa;CACnC,OAAO,GAAY,CAAC,CAAC,GAAU,CAAQ;AACzC;;;AC5HA,SAAA,GAAwB,GAAG;CACzB,OAAO,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,KAAK,OAChC,EAAE,eAAe,IAAI,CAAC,CAAC,QAAQ,MAAM,EAAE,IACvC,EAAE,SAAS,EAAE;AACrB;AAKA,SAAgB,GAAmB,GAAG,GAAG;CACvC,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,GAAG,OAAO;CACpC,IAAI,KAAK,IAAI,IAAI,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE,cAAc,EAAA,CAAG,QAAQ,GAAG,GAAG,IAAc,EAAE,MAAM,GAAG,CAAC;CAIrG,OAAO,CACL,EAAY,SAAS,IAAI,EAAY,KAAK,EAAY,MAAM,CAAC,IAAI,GACjE,CAAC,EAAE,MAAM,IAAI,CAAC,CAChB;AACF;;;ACjBA,SAAA,EAAwB,GAAG;CACzB,OAAO,IAAI,GAAmB,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK;AACzD;;;ACJA,SAAA,GAAwB,GAAU,GAAW;CAC3C,OAAO,SAAS,GAAO,GAAO;EAO5B,KANA,IAAI,IAAI,EAAM,QACV,IAAI,CAAC,GACL,IAAI,GACJ,IAAI,EAAS,IACb,IAAS,GAEN,IAAI,KAAK,IAAI,MACd,IAAS,IAAI,IAAI,MAAO,IAAI,KAAK,IAAI,GAAG,IAAQ,CAAM,IAC1D,EAAE,KAAK,EAAM,UAAU,KAAK,GAAG,IAAI,CAAC,CAAC,GACrC,GAAK,KAAU,IAAI,KAAK,MACxB,IAAI,EAAS,KAAK,IAAI,KAAK,EAAS;EAGtC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAS;CACnC;AACF;;;ACjBA,SAAA,GAAwB,GAAU;CAChC,OAAO,SAAS,GAAO;EACrB,OAAO,EAAM,QAAQ,UAAU,SAAS,GAAG;GACzC,OAAO,EAAS,CAAC;EACnB,CAAC;CACH;AACF;;;ACLA,IAAI,KAAK;AAET,SAAwB,EAAgB,GAAW;CACjD,IAAI,EAAE,IAAQ,GAAG,KAAK,CAAS,IAAI,MAAU,MAAM,qBAAqB,CAAS;CACjF,IAAI;CACJ,OAAO,IAAI,GAAgB;EACzB,MAAM,EAAM;EACZ,OAAO,EAAM;EACb,MAAM,EAAM;EACZ,QAAQ,EAAM;EACd,MAAM,EAAM;EACZ,OAAO,EAAM;EACb,OAAO,EAAM;EACb,WAAW,EAAM,MAAM,EAAM,EAAE,CAAC,MAAM,CAAC;EACvC,MAAM,EAAM;EACZ,MAAM,EAAM;CACd,CAAC;AACH;AAEA,EAAgB,YAAY,GAAgB;AAE5C,SAAgB,GAAgB,GAAW;CAUzC,AATA,KAAK,OAAO,EAAU,SAAS,KAAA,IAAY,MAAM,EAAU,OAAO,IAClE,KAAK,QAAQ,EAAU,UAAU,KAAA,IAAY,MAAM,EAAU,QAAQ,IACrE,KAAK,OAAO,EAAU,SAAS,KAAA,IAAY,MAAM,EAAU,OAAO,IAClE,KAAK,SAAS,EAAU,WAAW,KAAA,IAAY,KAAK,EAAU,SAAS,IACvE,KAAK,OAAO,CAAC,CAAC,EAAU,MACxB,KAAK,QAAQ,EAAU,UAAU,KAAA,IAAY,KAAA,IAAY,CAAC,EAAU,OACpE,KAAK,QAAQ,CAAC,CAAC,EAAU,OACzB,KAAK,YAAY,EAAU,cAAc,KAAA,IAAY,KAAA,IAAY,CAAC,EAAU,WAC5E,KAAK,OAAO,CAAC,CAAC,EAAU,MACxB,KAAK,OAAO,EAAU,SAAS,KAAA,IAAY,KAAK,EAAU,OAAO;AACnE;AAEA,GAAgB,UAAU,WAAW,WAAW;CAC9C,OAAO,KAAK,OACN,KAAK,QACL,KAAK,OACL,KAAK,UACJ,KAAK,OAAO,MAAM,OAClB,KAAK,UAAU,KAAA,IAAY,KAAK,KAAK,IAAI,GAAG,KAAK,QAAQ,CAAC,MAC1D,KAAK,QAAQ,MAAM,OACnB,KAAK,cAAc,KAAA,IAAY,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAY,CAAC,MACxE,KAAK,OAAO,MAAM,MACnB,KAAK;AACb;;;AC7CA,SAAA,GAAwB,GAAG;CACzB,KAAK,KAAK,IAAI,IAAI,EAAE,QAAQ,IAAI,GAAG,IAAK,IAAI,GAAI,IAAI,GAAG,EAAE,GACvD,QAAQ,EAAE,IAAV;EACE,KAAK;GAAK,IAAK,IAAK;GAAG;EACvB,KAAK;GAA2B,AAAlB,MAAO,MAAG,IAAK,IAAG,IAAK;GAAG;EACxC;GAAS,IAAI,CAAC,CAAC,EAAE,IAAI,MAAM;GAAK,AAAI,IAAK,MAAG,IAAK;CACnD;CAEF,OAAO,IAAK,IAAI,EAAE,MAAM,GAAG,CAAE,IAAI,EAAE,MAAM,IAAK,CAAC,IAAI;AACrD;;;ACRA,IAAW;AAEX,SAAA,GAAwB,GAAG,GAAG;CAC5B,IAAI,IAAI,GAAmB,GAAG,CAAC;CAC/B,IAAI,CAAC,GAAG,OAAO,KAAiB,KAAA,GAAW,EAAE,YAAY,CAAC;CAC1D,IAAI,IAAc,EAAE,IAChB,IAAW,EAAE,IACb,IAAI,KAAY,KAAiB,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,MAAM,IAAW,CAAC,CAAC,CAAC,IAAI,KAAK,GAC5F,IAAI,EAAY;CACpB,OAAO,MAAM,IAAI,IACX,IAAI,IAAI,IAAkB,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IACnD,IAAI,IAAI,EAAY,MAAM,GAAG,CAAC,IAAI,MAAM,EAAY,MAAM,CAAC,IAC3D,OAAW,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAmB,GAAG,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1F;;;ACbA,SAAA,GAAwB,GAAG,GAAG;CAC5B,IAAI,IAAI,GAAmB,GAAG,CAAC;CAC/B,IAAI,CAAC,GAAG,OAAO,IAAI;CACnB,IAAI,IAAc,EAAE,IAChB,IAAW,EAAE;CACjB,OAAO,IAAW,IAAI,OAAW,MAAM,CAAC,CAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,IACxD,EAAY,SAAS,IAAW,IAAI,EAAY,MAAM,GAAG,IAAW,CAAC,IAAI,MAAM,EAAY,MAAM,IAAW,CAAC,IAC7G,IAAkB,MAAM,IAAW,EAAY,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG;AAC3E;;;ACNA,IAAA,KAAe;CACb,MAAM,GAAG,OAAO,IAAI,IAAA,CAAK,QAAQ,CAAC;CAClC,IAAM,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;CACpC,IAAM,MAAM,IAAI;CAChB,GAAKC;CACL,IAAM,GAAG,MAAM,EAAE,cAAc,CAAC;CAChC,IAAM,GAAG,MAAM,EAAE,QAAQ,CAAC;CAC1B,IAAM,GAAG,MAAM,EAAE,YAAY,CAAC;CAC9B,IAAM,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;CACpC,IAAM,GAAG,MAAMC,GAAc,IAAI,KAAK,CAAC;CACvC,GAAKA;CACL,GAAKC;CACL,IAAM,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY;CACnD,IAAM,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE;AACvC;;;AClBA,SAAA,GAAwB,GAAG;CACzB,OAAO;AACT;;;ACOA,IAAI,KAAM,MAAM,UAAU,KACtB,KAAW;CAAC;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAG;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;AAAG;AAElF,SAAA,GAAwB,GAAQ;CAC9B,IAAI,IAAQ,EAAO,aAAa,KAAA,KAAa,EAAO,cAAc,KAAA,IAAYC,KAAWC,GAAY,GAAI,KAAK,EAAO,UAAU,MAAM,GAAG,EAAO,YAAY,EAAE,GACzJ,IAAiB,EAAO,aAAa,KAAA,IAAY,KAAK,EAAO,SAAS,KAAK,IAC3E,IAAiB,EAAO,aAAa,KAAA,IAAY,KAAK,EAAO,SAAS,KAAK,IAC3E,IAAU,EAAO,YAAY,KAAA,IAAY,MAAM,EAAO,UAAU,IAChE,IAAW,EAAO,aAAa,KAAA,IAAYD,KAAWE,GAAe,GAAI,KAAK,EAAO,UAAU,MAAM,CAAC,GACtG,IAAU,EAAO,YAAY,KAAA,IAAY,MAAM,EAAO,UAAU,IAChE,IAAQ,EAAO,UAAU,KAAA,IAAY,MAAM,EAAO,QAAQ,IAC1D,IAAM,EAAO,QAAQ,KAAA,IAAY,QAAQ,EAAO,MAAM;CAE1D,SAAS,EAAU,GAAW,GAAS;EACrC,IAAY,EAAgB,CAAS;EAErC,IAAI,IAAO,EAAU,MACjB,IAAQ,EAAU,OAClB,IAAO,EAAU,MACjB,IAAS,EAAU,QACnB,IAAO,EAAU,MACjB,IAAQ,EAAU,OAClB,IAAQ,EAAU,OAClB,IAAY,EAAU,WACtB,IAAO,EAAU,MACjB,IAAO,EAAU;EASrB,AANI,MAAS,OAAK,IAAQ,IAAM,IAAO,OAG7BC,GAAY,OAAO,MAAc,KAAA,MAAc,IAAY,KAAK,IAAO,IAAM,IAAO,OAG1F,KAAS,MAAS,OAAO,MAAU,SAAM,IAAO,IAAM,IAAO,KAAK,IAAQ;EAI9E,IAAI,KAAU,KAAW,EAAQ,WAAW,KAAA,IAAY,EAAQ,SAAS,OAAO,MAAW,MAAM,IAAiB,MAAW,OAAO,SAAS,KAAK,CAAI,IAAI,MAAM,EAAK,YAAY,IAAI,KACjL,KAAU,MAAW,MAAM,IAAiB,OAAO,KAAK,CAAI,IAAI,IAAU,OAAO,KAAW,EAAQ,WAAW,KAAA,IAAY,EAAQ,SAAS,KAK5I,IAAaA,GAAY,IACzB,IAAc,aAAa,KAAK,CAAI;EAMxC,IAAY,MAAc,KAAA,IAAY,IAChC,SAAS,KAAK,CAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,CAAS,CAAC,IACzD,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,CAAS,CAAC;EAEzC,SAAS,EAAO,GAAO;GACrB,IAAI,IAAc,GACd,IAAc,GACd,GAAG,GAAG;GAEV,IAAI,MAAS,KAEX,AADA,IAAc,EAAW,CAAK,IAAI,GAClC,IAAQ;QACH;IACL,IAAQ,CAAC;IAGT,IAAI,IAAgB,IAAQ,KAAK,IAAI,IAAQ;IAiB7C,IAdA,IAAQ,MAAM,CAAK,IAAI,IAAM,EAAW,KAAK,IAAI,CAAK,GAAG,CAAS,GAG9D,MAAM,IAAQC,GAAW,CAAK,IAG9B,KAAiB,CAAC,KAAU,KAAK,MAAS,QAAK,IAAgB,KAGnE,KAAe,IAAiB,MAAS,MAAM,IAAO,IAAS,MAAS,OAAO,MAAS,MAAM,KAAK,KAAQ,GAC3G,KAAe,MAAS,OAAO,CAAC,MAAM,CAAK,KAAK,OAAmB,KAAA,IAAY,GAAS,IAAI,KAAiB,KAAK,MAAM,KAAe,KAAiB,MAAS,MAAM,MAAM,KAIzK,GAEF;UADA,IAAI,IAAI,IAAI,EAAM,QACX,EAAE,IAAI,IACX,IAAI,IAAI,EAAM,WAAW,CAAC,GAAG,KAAK,KAAK,IAAI,IAAI;MAE7C,AADA,KAAe,MAAM,KAAK,IAAU,EAAM,MAAM,IAAI,CAAC,IAAI,EAAM,MAAM,CAAC,KAAK,GAC3E,IAAQ,EAAM,MAAM,GAAG,CAAC;MACxB;KACF;;GAGN;GAGA,AAAI,KAAS,CAAC,MAAM,IAAQ,EAAM,GAAO,QAAQ;GAGjD,IAAI,IAAS,EAAY,SAAS,EAAM,SAAS,EAAY,QACzD,IAAU,IAAS,IAAY,MAAM,IAAQ,IAAS,CAAC,CAAC,CAAC,KAAK,CAAI,IAAI;GAM1E,QAHI,KAAS,MAAM,IAAQ,EAAM,IAAU,GAAO,EAAQ,SAAS,IAAQ,EAAY,SAAS,QAAQ,GAAG,IAAU,KAG7G,GAAR;IACE,KAAK;KAAK,IAAQ,IAAc,IAAQ,IAAc;KAAS;IAC/D,KAAK;KAAK,IAAQ,IAAc,IAAU,IAAQ;KAAa;IAC/D,KAAK;KAAK,IAAQ,EAAQ,MAAM,GAAG,IAAS,EAAQ,UAAU,CAAC,IAAI,IAAc,IAAQ,IAAc,EAAQ,MAAM,CAAM;KAAG;IAC9H,SAAS,IAAQ,IAAU,IAAc,IAAQ;GACnD;GAEA,OAAO,EAAS,CAAK;EACvB;EAMA,OAJA,EAAO,WAAW,WAAW;GAC3B,OAAO,IAAY;EACrB,GAEO;CACT;CAEA,SAAS,EAAa,GAAW,GAAO;EACtC,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,MAAMC,EAAS,CAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GACjE,IAAa,MAAI,CAAC,GAClB,IAAI,GAAW,IAAY,EAAgB,CAAS,GAAG,EAAU,OAAO,KAAK,IAAY,EAAC,QAAQ,GAAS,IAAI,IAAI,GAAE,CAAC;EAC1H,OAAO,SAAS,GAAO;GACrB,OAAO,EAAE,IAAI,CAAK;EACpB;CACF;CAEA,OAAO;EACL,QAAQ;EACM;CAChB;AACF;;;AChJA,IAAI,IACO,IACA;AAEX,GAAc;CACZ,WAAW;CACX,UAAU,CAAC,CAAC;CACZ,UAAU,CAAC,KAAK,EAAE;AACpB,CAAC;AAED,SAAwB,GAAc,GAAY;CAIhD,OAHA,KAASC,GAAa,CAAU,GAChC,KAAS,GAAO,QAChB,KAAe,GAAO,cACf;AACT;;;ACfA,SAAA,GAAwB,GAAM;CAC5B,OAAO,KAAK,IAAI,GAAG,CAACC,EAAS,KAAK,IAAI,CAAI,CAAC,CAAC;AAC9C;;;ACFA,SAAA,GAAwB,GAAM,GAAO;CACnC,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,MAAMC,EAAS,CAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAIA,EAAS,KAAK,IAAI,CAAI,CAAC,CAAC;AAC9G;;;ACFA,SAAA,GAAwB,GAAM,GAAK;CAEjC,OADA,IAAO,KAAK,IAAI,CAAI,GAAG,IAAM,KAAK,IAAI,CAAG,IAAI,GACtC,KAAK,IAAI,GAAGC,EAAS,CAAG,IAAIA,EAAS,CAAI,CAAC,IAAI;AACvD;;;ACFA,SAAwB,GAAW,GAAO,GAAM,GAAO,GAAW;CAChE,IAAI,IAAO,GAAS,GAAO,GAAM,CAAK,GAClC;CAEJ,QADA,IAAY,EAAgB,KAAoB,IAAgB,GACxD,EAAU,MAAlB;EACE,KAAK;GACH,IAAI,IAAQ,KAAK,IAAI,KAAK,IAAI,CAAK,GAAG,KAAK,IAAI,CAAI,CAAC;GAEpD,OADI,EAAU,aAAa,QAAQ,CAAC,MAAM,IAAYC,GAAgB,GAAM,CAAK,CAAC,MAAG,EAAU,YAAY,IACpG,GAAa,GAAW,CAAK;EAEtC,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;GACH,AAAI,EAAU,aAAa,QAAQ,CAAC,MAAM,IAAYC,GAAe,GAAM,KAAK,IAAI,KAAK,IAAI,CAAK,GAAG,KAAK,IAAI,CAAI,CAAC,CAAC,CAAC,MAAG,EAAU,YAAY,KAAa,EAAU,SAAS;GAC9K;EAEF,KAAK;EACL,KAAK,KACH,AAAI,EAAU,aAAa,QAAQ,CAAC,MAAM,IAAYC,GAAe,CAAI,CAAC,MAAG,EAAU,YAAY,KAAa,EAAU,SAAS,OAAO;CAG9I;CACA,OAAO,GAAO,CAAS;AACzB;;;ACvBA,SAAgB,GAAU,GAAO;CAC/B,IAAI,IAAS,EAAM;CAkDnB,OAhDA,EAAM,QAAQ,SAAS,GAAO;EAC5B,IAAI,IAAI,EAAO;EACf,OAAO,EAAM,EAAE,IAAI,EAAE,EAAE,SAAS,IAAI,KAAgB,EAAU;CAChE,GAEA,EAAM,aAAa,SAAS,GAAO,GAAW;EAC5C,IAAI,IAAI,EAAO;EACf,OAAO,GAAW,EAAE,IAAI,EAAE,EAAE,SAAS,IAAI,KAAgB,IAAY,CAAS;CAChF,GAEA,EAAM,OAAO,SAAS,GAAO;EAC3B,AAAmB,MAAQ;EAE3B,IAAI,IAAI,EAAO,GACX,IAAK,GACL,IAAK,EAAE,SAAS,GAChB,IAAQ,EAAE,IACV,IAAO,EAAE,IACT,GACA,GACA,IAAU;EAOd,KALI,IAAO,MACT,IAAO,GAAO,IAAQ,GAAM,IAAO,GACnC,IAAO,GAAI,IAAK,GAAI,IAAK,IAGpB,MAAY,IAAG;GAEpB,IADA,IAAO,GAAc,GAAO,GAAM,CAAK,GACnC,MAAS,GAGX,OAFA,EAAE,KAAM,GACR,EAAE,KAAM,GACD,EAAO,CAAC;GACV,IAAI,IAAO,GAEhB,AADA,IAAQ,KAAK,MAAM,IAAQ,CAAI,IAAI,GACnC,IAAO,KAAK,KAAK,IAAO,CAAI,IAAI;QAC3B,IAAI,IAAO,GAEhB,AADA,IAAQ,KAAK,KAAK,IAAQ,CAAI,IAAI,GAClC,IAAO,KAAK,MAAM,IAAO,CAAI,IAAI;QAEjC;GAEF,IAAU;EACZ;EAEA,OAAO;CACT,GAEO;AACT;AAEA,SAAwB,KAAS;CAC/B,IAAI,IAAQ,GAAW;CAQvB,OANA,EAAM,OAAO,WAAW;EACtB,OAAO,EAAK,GAAO,GAAO,CAAC;CAC7B,GAEA,EAAU,MAAM,GAAO,SAAS,GAEzB,GAAU,CAAK;AACxB;;;ACrEA,SAAwB,GAAK,GAAQ,GAAU;CAC7C,IAAS,EAAO,MAAM;CAEtB,IAAI,IAAK,GACL,IAAK,EAAO,SAAS,GACrB,IAAK,EAAO,IACZ,IAAK,EAAO,IACZ;CASJ,OAPI,IAAK,MACP,IAAI,GAAI,IAAK,GAAI,IAAK,GACtB,IAAI,GAAI,IAAK,GAAI,IAAK,IAGxB,EAAO,KAAM,EAAS,MAAM,CAAE,GAC9B,EAAO,KAAM,EAAS,KAAK,CAAE,GACtB;AACT;;;ACXA,SAAS,GAAa,GAAG;CACvB,OAAO,KAAK,IAAI,CAAC;AACnB;AAEA,SAAS,GAAa,GAAG;CACvB,OAAO,KAAK,IAAI,CAAC;AACnB;AAEA,SAAS,GAAc,GAAG;CACxB,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;AACrB;AAEA,SAAS,GAAc,GAAG;CACxB,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;AACrB;AAEA,SAAS,GAAM,GAAG;CAChB,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,IAAI;AACjD;AAEA,SAAS,GAAK,GAAM;CAClB,OAAO,MAAS,KAAK,KACf,MAAS,KAAK,IAAI,KAAK,OACvB,MAAc,MAAM;AAC5B;AAEA,SAAS,GAAK,GAAM;CAClB,OAAO,MAAS,KAAK,IAAI,KAAK,MACxB,MAAS,MAAM,KAAK,SACnB,MAAS,KAAK,KAAK,SAClB,IAAO,KAAK,IAAI,CAAI,IAAG,MAAK,KAAK,IAAI,CAAC,IAAI;AACpD;AAEA,SAAS,GAAQ,GAAG;CAClB,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;AAC3B;AAEA,SAAgB,GAAQ,GAAW;CACjC,IAAM,IAAQ,EAAU,IAAc,EAAY,GAC5C,IAAS,EAAM,QACjB,IAAO,IACP,GACA;CAEJ,SAAS,IAAU;EAQjB,OAPA,IAAO,GAAK,CAAI,GAAG,IAAO,GAAK,CAAI,GAC/B,EAAO,CAAC,CAAC,KAAK,KAChB,IAAO,GAAQ,CAAI,GAAG,IAAO,GAAQ,CAAI,GACzC,EAAU,IAAe,EAAa,KAEtC,EAAU,IAAc,EAAY,GAE/B;CACT;CAwEA,OAtEA,EAAM,OAAO,SAAS,GAAG;EACvB,OAAO,UAAU,UAAU,IAAO,CAAC,GAAG,EAAQ,KAAK;CACrD,GAEA,EAAM,SAAS,SAAS,GAAG;EACzB,OAAO,UAAU,UAAU,EAAO,CAAC,GAAG,EAAQ,KAAK,EAAO;CAC5D,GAEA,EAAM,SAAQ,MAAS;EACrB,IAAM,IAAI,EAAO,GACb,IAAI,EAAE,IACN,IAAI,EAAE,EAAE,SAAS,IACf,IAAI,IAAI;EAEd,AAAI,MAAG,CAAE,GAAG,KAAK,CAAC,GAAG,CAAC;EAEtB,IAAI,IAAI,EAAK,CAAC,GACV,IAAI,EAAK,CAAC,GACV,GACA,GACE,IAAI,KAAS,OAAO,KAAK,CAAC,GAC5B,IAAI,CAAC;EAET,IAAI,EAAE,IAAO,MAAM,IAAI,IAAI,GAAG;GAE5B,IADA,IAAI,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,GAC9B,IAAI,GAAG;WAAO,KAAK,GAAG,EAAE,GAC1B,KAAK,IAAI,GAAG,IAAI,GAAM,EAAE,GACtB,QAAI,IAAI,IAAI,IAAI,EAAK,CAAC,CAAC,IAAI,IAAI,EAAK,CAAC,GACjC,MAAI,IACR;SAAI,IAAI,GAAG;KACX,EAAE,KAAK,CAAC;IADG;GAEb,OACK,OAAO,KAAK,GAAG,EAAE,GACtB,KAAK,IAAI,IAAO,GAAG,KAAK,GAAG,EAAE,GAC3B,QAAI,IAAI,IAAI,IAAI,EAAK,CAAC,CAAC,IAAI,IAAI,EAAK,CAAC,GACjC,MAAI,IACR;QAAI,IAAI,GAAG;IACX,EAAE,KAAK,CAAC;GADG;GAIf,AAAI,EAAE,SAAS,IAAI,MAAG,IAAI,EAAM,GAAG,GAAG,CAAC;EACzC,OACE,IAAI,EAAM,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAI;EAE9C,OAAO,IAAI,EAAE,QAAQ,IAAI;CAC3B,GAEA,EAAM,cAAc,GAAO,MAAc;EAOvC,IANA,AAAmB,MAAQ,IAC3B,AAAuB,MAAY,MAAS,KAAK,MAAM,KACnD,OAAO,KAAc,eACnB,EAAE,IAAO,OAAO,IAAY,EAAgB,CAAS,EAAA,CAAG,aAAa,SAAM,EAAU,OAAO,KAChG,IAAY,GAAO,CAAS,IAE1B,MAAU,UAAU,OAAO;EAC/B,IAAM,IAAI,KAAK,IAAI,GAAG,IAAO,IAAQ,EAAM,MAAM,CAAC,CAAC,MAAM;EACzD,QAAO,MAAK;GACV,IAAI,IAAI,IAAI,EAAK,KAAK,MAAM,EAAK,CAAC,CAAC,CAAC;GAEpC,OADI,IAAI,IAAO,IAAO,OAAK,KAAK,IACzB,KAAK,IAAI,EAAU,CAAC,IAAI;EACjC;CACF,GAEA,EAAM,aACG,EAAO,GAAK,EAAO,GAAG;EAC3B,QAAO,MAAK,EAAK,KAAK,MAAM,EAAK,CAAC,CAAC,CAAC;EACpC,OAAM,MAAK,EAAK,KAAK,KAAK,EAAK,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC,GAGG;AACT;AAEA,SAAwB,KAAM;CAC5B,IAAM,IAAQ,GAAQ,GAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;CAGnD,OAFA,EAAM,aAAa,EAAK,GAAO,GAAI,CAAC,CAAC,CAAC,KAAK,EAAM,KAAK,CAAC,GACvD,EAAU,MAAM,GAAO,SAAS,GACzB;AACT;;;ACvIA,SAAS,GAAgB,GAAG;CAC1B,OAAO,SAAS,GAAG;EACjB,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC;CAClD;AACF;AAEA,SAAS,GAAgB,GAAG;CAC1B,OAAO,SAAS,GAAG;EACjB,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI;CAClD;AACF;AAEA,SAAgB,GAAU,GAAW;CACnC,IAAI,IAAI,GAAG,IAAQ,EAAU,GAAgB,CAAC,GAAG,GAAgB,CAAC,CAAC;CAMnE,OAJA,EAAM,WAAW,SAAS,GAAG;EAC3B,OAAO,UAAU,SAAS,EAAU,GAAgB,IAAI,CAAC,CAAC,GAAG,GAAgB,CAAC,CAAC,IAAI;CACrF,GAEO,GAAU,CAAK;AACxB;AAEA,SAAwB,KAAS;CAC/B,IAAI,IAAQ,GAAU,GAAY,CAAC;CAMnC,OAJA,EAAM,OAAO,WAAW;EACtB,OAAO,EAAK,GAAO,GAAO,CAAC,CAAC,CAAC,SAAS,EAAM,SAAS,CAAC;CACxD,GAEO,EAAU,MAAM,GAAO,SAAS;AACzC;;;AC5BA,SAAS,GAAK,GAAG;CACf,OAAO,IAAI,KAAK,CAAC;AACnB;AAEA,SAASC,GAAO,GAAG;CACjB,OAAO,aAAa,OAAO,CAAC,IAAI,iBAAC,IAAI,KAAK,CAAC,CAAC;AAC9C;AAEA,SAAgB,GAAS,GAAO,GAAc,GAAM,GAAO,GAAM,GAAK,GAAM,GAAQ,GAAQ,GAAQ;CAClG,IAAI,IAAQ,GAAW,GACnB,IAAS,EAAM,QACf,IAAS,EAAM,QAEf,IAAoB,EAAO,KAAK,GAChC,IAAe,EAAO,KAAK,GAC3B,IAAe,EAAO,OAAO,GAC7B,IAAa,EAAO,OAAO,GAC3B,IAAY,EAAO,OAAO,GAC1B,IAAa,EAAO,OAAO,GAC3B,IAAc,EAAO,IAAI,GACzB,IAAa,EAAO,IAAI;CAE5B,SAAS,EAAW,GAAM;EACxB,QAAQ,EAAO,CAAI,IAAI,IAAO,IACxB,EAAO,CAAI,IAAI,IAAO,IACtB,EAAK,CAAI,IAAI,IAAO,IACpB,EAAI,CAAI,IAAI,IAAO,IACnB,EAAM,CAAI,IAAI,IAAQ,EAAK,CAAI,IAAI,IAAO,IAAY,IACtD,EAAK,CAAI,IAAI,IAAO,IACpB,EAAA,CAAY,CAAI;CACxB;CA6BA,OA3BA,EAAM,SAAS,SAAS,GAAG;EACzB,OAAO,IAAI,KAAK,EAAO,CAAC,CAAC;CAC3B,GAEA,EAAM,SAAS,SAAS,GAAG;EACzB,OAAO,UAAU,SAAS,EAAO,MAAM,KAAK,GAAGA,EAAM,CAAC,IAAI,EAAO,CAAC,CAAC,IAAI,EAAI;CAC7E,GAEA,EAAM,QAAQ,SAAS,GAAU;EAC/B,IAAI,IAAI,EAAO;EACf,OAAO,EAAM,EAAE,IAAI,EAAE,EAAE,SAAS,IAAI,KAAmB,EAAa;CACtE,GAEA,EAAM,aAAa,SAAS,GAAO,GAAW;EAC5C,OAAO,KAAa,OAAO,IAAa,EAAO,CAAS;CAC1D,GAEA,EAAM,OAAO,SAAS,GAAU;EAC9B,IAAI,IAAI,EAAO;EAEf,QADI,CAAC,KAAY,OAAO,EAAS,SAAU,gBAAY,IAAW,EAAa,EAAE,IAAI,EAAE,EAAE,SAAS,IAAI,KAAmB,EAAa,IAC/H,IAAW,EAAO,GAAK,GAAG,CAAQ,CAAC,IAAI;CAChD,GAEA,EAAM,OAAO,WAAW;EACtB,OAAO,EAAK,GAAO,GAAS,GAAO,GAAc,GAAM,GAAO,GAAM,GAAK,GAAM,GAAQ,GAAQ,CAAM,CAAC;CACxG,GAEO;AACT;AAEA,SAAwB,KAAO;CAC7B,OAAO,EAAU,MAAM,GAAS,IAAW,IAAkB,GAAU,GAAWC,GAAU,GAAS,GAAU,GAAYC,GAAY,EAAU,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAM,GAAG,CAAC,GAAG,IAAI,KAAK,KAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS;AACpN;;;ACjEA,SAAwB,KAAU;CAChC,OAAO,EAAU,MAAM,GAAS,IAAU,IAAiB,GAAS,GAAUC,GAAS,GAAQ,GAAS,GAAWC,GAAW,EAAS,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,KAAM,GAAG,CAAC,GAAG,KAAK,IAAI,KAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS;AAC1M;;;ACOA,IAAM,EAAC,SAAK,SAAK,KAAA,OAAO;AAYb,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAI,GAOnB,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAI,GAOnB;CAAC;CAAK;CAAK;CAAK;CAAK;CAAM;CAAM;CAAM;AAAI,CAAC,CAAC,IAAI,EAAI;AA8DhE,SAAS,GAAK,GAAG;CACf,OAAO,EAAC,MAAM,EAAC;AACjB;AA+BA,SAAgB,GAAe,GAAM;CACnC,IAAI,IAAQ,EAAK;CACjB,OAAO,IAAQ,EAAM,IAAI,OAAO,EAAM,SAAS,IAAI;AACrD;;;ACxIA,IAAa,KAAM,KAAK,KAEX,KAAM,KAAK,KACX,KAAM,KAAK,KACX,KAAO,KAAK,MAEZC,KAAU,OACV,KAAK,KAAK;AACD,KAAK;AAC3B,IAAa,KAAM,IAAI;;;ACXvB,SAAA,GAAwB,GAAG;CACzB,OAAO;AACT;;;ACAA,IAAI,KAAM,GACN,KAAQ,GACR,KAAS,GACT,IAAO,GACP,KAAU;AAEd,SAAS,GAAW,GAAG;CACrB,OAAO,eAAe,IAAI;AAC5B;AAEA,SAAS,GAAW,GAAG;CACrB,OAAO,iBAAiB,IAAI;AAC9B;AAEA,SAAS,GAAO,GAAO;CACrB,QAAO,MAAK,CAAC,EAAM,CAAC;AACtB;AAEA,SAAS,GAAO,GAAO,GAAQ;CAG7B,OAFA,IAAS,KAAK,IAAI,GAAG,EAAM,UAAU,IAAI,IAAS,CAAC,IAAI,GACnD,EAAM,MAAM,MAAG,IAAS,KAAK,MAAM,CAAM,KACtC,MAAK,CAAC,EAAM,CAAC,IAAI;AAC1B;AAEA,SAAS,KAAW;CAClB,OAAO,CAAC,KAAK;AACf;AAEA,SAAS,GAAK,GAAQ,GAAO;CAC3B,IAAI,IAAgB,CAAC,GACjB,IAAa,MACb,IAAa,MACb,IAAgB,GAChB,IAAgB,GAChB,IAAc,GACd,IAAS,OAAO,SAAW,OAAe,OAAO,mBAAmB,IAAI,IAAI,IAC5E,IAAI,MAAW,MAAO,MAAW,IAAO,KAAK,GAC7C,IAAI,MAAW,KAAQ,MAAW,KAAQ,MAAM,KAChD,IAAY,MAAW,MAAO,MAAW,KAAS,KAAa;CAEnE,SAAS,EAAK,GAAS;EACrB,IAAI,IAAS,MAAsB,EAAM,QAAQ,EAAM,MAAM,MAAM,GAAO,CAAa,IAAI,EAAM,OAAO,IACpG,IAAS,MAAsB,EAAM,aAAa,EAAM,WAAW,MAAM,GAAO,CAAa,IAAIC,KACjG,IAAU,KAAK,IAAI,GAAe,CAAC,IAAI,GACvC,IAAQ,EAAM,MAAM,GACpB,IAAS,CAAC,EAAM,KAAK,GACrB,IAAS,CAAC,EAAM,EAAM,SAAS,KAAK,GACpC,KAAY,EAAM,YAAY,KAAS,GAAA,CAAQ,EAAM,KAAK,GAAG,CAAM,GACnE,IAAY,EAAQ,YAAY,EAAQ,UAAU,IAAI,GACtD,IAAO,EAAU,UAAU,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GACjD,IAAO,EAAU,UAAU,OAAO,CAAC,CAAC,KAAK,GAAQ,CAAK,CAAC,CAAC,MAAM,GAC9D,IAAW,EAAK,KAAK,GACrB,IAAY,EAAK,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,SAAS,MAAM,GACzD,IAAO,EAAK,OAAO,MAAM,GACzB,IAAO,EAAK,OAAO,MAAM;EAwD7B,AAtDA,IAAO,EAAK,MAAM,EAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,CAAC,CACjD,KAAK,SAAS,QAAQ,CAAC,CACvB,KAAK,UAAU,cAAc,CAAC,GAEnC,IAAO,EAAK,MAAM,CAAS,GAE3B,IAAO,EAAK,MAAM,EAAU,OAAO,MAAM,CAAC,CACrC,KAAK,UAAU,cAAc,CAAC,CAC9B,KAAK,IAAI,KAAK,IAAI,CAAa,CAAC,GAErC,IAAO,EAAK,MAAM,EAAU,OAAO,MAAM,CAAC,CACrC,KAAK,QAAQ,cAAc,CAAC,CAC5B,KAAK,GAAG,IAAI,CAAO,CAAC,CACpB,KAAK,MAAM,MAAW,KAAM,QAAQ,MAAW,KAAS,WAAW,QAAQ,CAAC,GAE7E,MAAY,MACd,IAAO,EAAK,WAAW,CAAO,GAC9B,IAAO,EAAK,WAAW,CAAO,GAC9B,IAAO,EAAK,WAAW,CAAO,GAC9B,IAAO,EAAK,WAAW,CAAO,GAE9B,IAAW,EAAS,WAAW,CAAO,CAAC,CAClC,KAAK,WAAW,EAAO,CAAC,CACxB,KAAK,aAAa,SAAS,GAAG;GAAE,OAAO,SAAS,IAAI,EAAS,CAAC,CAAC,IAAI,EAAU,IAAI,CAAM,IAAI,KAAK,aAAa,WAAW;EAAG,CAAC,GAEjI,EACK,KAAK,WAAW,EAAO,CAAC,CACxB,KAAK,aAAa,SAAS,GAAG;GAAE,IAAI,IAAI,KAAK,WAAW;GAAQ,OAAO,GAAW,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAS,CAAC,KAAK,CAAM;EAAG,CAAC,IAGhJ,EAAS,OAAO,GAEhB,EACK,KAAK,KAAK,MAAW,KAAQ,MAAW,KAClC,IAAgB,MAAM,IAAI,IAAgB,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAI,IAAgB,MAAM,IAAS,MAAM,IAAS,MAAM,IACrJ,IAAgB,MAAM,IAAS,MAAM,IAAI,IAAgB,MAAM,IAAS,MAAM,IAAS,MAAM,IAAI,IAAgB,MAAM,IAAS,MAAM,IAAS,MAAM,CAAO,GAEvK,EACK,KAAK,WAAW,CAAC,CAAC,CAClB,KAAK,aAAa,SAAS,GAAG;GAAE,OAAO,EAAU,EAAS,CAAC,IAAI,CAAM;EAAG,CAAC,GAE9E,EACK,KAAK,IAAI,KAAK,IAAI,CAAa,GAEpC,EACK,KAAK,GAAG,IAAI,CAAO,CAAC,CACpB,KAAK,CAAM,GAEhB,EAAU,OAAO,EAAQ,CAAC,CACrB,KAAK,QAAQ,MAAM,CAAC,CACpB,KAAK,aAAa,EAAE,CAAC,CACrB,KAAK,eAAe,YAAY,CAAC,CACjC,KAAK,eAAe,MAAW,KAAQ,UAAU,MAAW,IAAO,QAAQ,QAAQ,GAExF,EACK,KAAK,WAAW;GAAE,KAAK,SAAS;EAAU,CAAC;CAClD;CA0CA,OAxCA,EAAK,QAAQ,SAAS,GAAG;EACvB,OAAO,UAAU,UAAU,IAAQ,GAAG,KAAQ;CAChD,GAEA,EAAK,QAAQ,WAAW;EACtB,OAAO,IAAgB,MAAM,KAAK,SAAS,GAAG;CAChD,GAEA,EAAK,gBAAgB,SAAS,GAAG;EAC/B,OAAO,UAAU,UAAU,IAAgB,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,CAAC,GAAG,KAAQ,EAAc,MAAM;CACzG,GAEA,EAAK,aAAa,SAAS,GAAG;EAC5B,OAAO,UAAU,UAAU,IAAa,KAAK,OAAO,OAAO,MAAM,KAAK,CAAC,GAAG,KAAQ,KAAc,EAAW,MAAM;CACnH,GAEA,EAAK,aAAa,SAAS,GAAG;EAC5B,OAAO,UAAU,UAAU,IAAa,GAAG,KAAQ;CACrD,GAEA,EAAK,WAAW,SAAS,GAAG;EAC1B,OAAO,UAAU,UAAU,IAAgB,IAAgB,CAAC,GAAG,KAAQ;CACzE,GAEA,EAAK,gBAAgB,SAAS,GAAG;EAC/B,OAAO,UAAU,UAAU,IAAgB,CAAC,GAAG,KAAQ;CACzD,GAEA,EAAK,gBAAgB,SAAS,GAAG;EAC/B,OAAO,UAAU,UAAU,IAAgB,CAAC,GAAG,KAAQ;CACzD,GAEA,EAAK,cAAc,SAAS,GAAG;EAC7B,OAAO,UAAU,UAAU,IAAc,CAAC,GAAG,KAAQ;CACvD,GAEA,EAAK,SAAS,SAAS,GAAG;EACxB,OAAO,UAAU,UAAU,IAAS,CAAC,GAAG,KAAQ;CAClD,GAEO;AACT;AAEA,SAAgB,GAAQ,GAAO;CAC7B,OAAO,GAAK,IAAK,CAAK;AACxB;AAEA,SAAgB,GAAU,GAAO;CAC/B,OAAO,GAAK,IAAO,CAAK;AAC1B;AAEA,SAAgB,GAAW,GAAO;CAChC,OAAO,GAAK,IAAQ,CAAK;AAC3B;AAEA,SAAgB,GAAS,GAAO;CAC9B,OAAO,GAAK,GAAM,CAAK;AACzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as e, f as t, n, r, t as i } from "./select-BIuoFcZG.js";
|
|
2
2
|
import { O as a, t as o } from "./src-DnMaAyIP.js";
|
|
3
|
-
import { F as s, M as c, N as l, P as u, _ as d, f, h as p, i as m, k as h, m as g, n as _, p as v, r as y, t as b, y as x } from "./axis-
|
|
3
|
+
import { F as s, M as c, N as l, P as u, _ as d, f, h as p, i as m, k as h, m as g, n as _, p as v, r as y, t as b, y as x } from "./axis-B7xlWKkC.js";
|
|
4
4
|
import { t as S } from "./drag-B46QGUMq.js";
|
|
5
5
|
import { t as C } from "./linear-J4iYa1Bf.js";
|
|
6
6
|
//#region node_modules/billboard.js/dist-esm/config/const.js
|
|
@@ -7310,4 +7310,4 @@ function _o(e, t) {
|
|
|
7310
7310
|
//#endregion
|
|
7311
7311
|
export { _o as renderBillboardJS };
|
|
7312
7312
|
|
|
7313
|
-
//# sourceMappingURL=billboardJs-
|
|
7313
|
+
//# sourceMappingURL=billboardJs-BTW-G9h0.js.map
|