{"version":3,"sources":["../../node_modules/.pnpm/dom-helpers@3.4.0/node_modules/dom-helpers/class/addClass.js","../../node_modules/.pnpm/dom-helpers@3.4.0/node_modules/dom-helpers/class/hasClass.js","../../node_modules/.pnpm/dom-helpers@3.4.0/node_modules/dom-helpers/class/removeClass.js","../../node_modules/.pnpm/decode-uri-component@0.2.0/node_modules/decode-uri-component/index.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/millisecond.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/ticks.js","../../node_modules/.pnpm/d3-time-format@3.0.0/node_modules/d3-time-format/src/locale.js","../../node_modules/.pnpm/d3-time-format@3.0.0/node_modules/d3-time-format/src/defaultLocale.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/second.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/duration.js","../../../src/propertyUtils.js","../../../src/utils.js","../../../src/getOffsetParent.js","../../../src/isAncestorFixed.js","../../../src/getVisibleRectForElement.js","../../../src/adjustForViewport.js","../../../src/getRegion.js","../../../src/getAlignOffset.js","../../../src/getElFuturePos.js","../../../src/align/align.js","../../../src/align/alignElement.js","../../../src/align/alignPoint.js","../../node_modules/.pnpm/decimal.js-light@2.5.1/node_modules/decimal.js-light/decimal.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcYear.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcMonth.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcWeek.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcDay.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcHour.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcMinute.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/year.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/month.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/week.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/day.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/hour.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/minute.js","../../src/utils.ts","../../src/comparator.ts","../../src/index.ts","../../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","addClass","_hasClass","element","className","classList","add","setAttribute","baseVal","module","hasClass","contains","indexOf","replaceClassName","origClass","classToRemove","replace","RegExp","removeClass","remove","token","singleMatcher","multiMatcher","decodeComponents","components","split","decodeURIComponent","join","err","length","left","slice","right","Array","prototype","concat","call","decode","input","tokens","match","i","customDecodeURIComponent","replaceMap","exec","result","entries","Object","keys","key","encodedURI","TypeError","millisecond","interval","date","step","setTime","start","end","every","k","Math","floor","isFinite","milliseconds","range","ticker","year","month","week","day","hour","minute","tickIntervals","second","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","ticks","stop","count","reverse","tickInterval","target","abs","bisector","tickStep","max","t","utcYear","utcMonth","utcWeek","utcDay","utcHour","utcMinute","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","d","y","Date","m","H","M","S","L","setFullYear","utcDate","UTC","setUTCFullYear","newDate","formatLocale","locale","locale_dateTime","dateTime","locale_date","locale_time","time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","x","newFormat","X","c","specifier","string","j","n","pad","format","charCodeAt","push","pads","charAt","newParse","Z","undefined","parseSpecifier","Q","s","p","q","V","w","getUTCDay","utcMonday","ceil","offset","getUTCFullYear","getUTCMonth","getUTCDate","getDay","timeMonday","timeDay","getFullYear","getMonth","getDate","u","W","U","parse","get","toLowerCase","getHours","getUTCHours","f","toString","utcFormat","utcParse","numberRe","percentRe","requoteRe","value","fill","width","sign","requote","names","map","Map","name","timeYear","getMilliseconds","getMinutes","getSeconds","timeSunday","dISO","timeThursday","z","getTimezoneOffset","getUTCMilliseconds","getUTCMinutes","getUTCSeconds","dow","utcSunday","UTCdISO","utcThursday","timeFormat","timeParse","defaultLocale","definition","seconds","jsCssMap","Webkit","Moz","ms","O","vendorPrefix","style","document","testProp","getVendorPrefix","getTransitionName","node","getTransformName","window","transform","matrix","parseFloat","matrix2d","matrix3d","match2d","arr","xy","setTransform","match3d","RE_NUM","originalStyle","elem","css","el","getComputedStyleX","doc","body","docElem","box","top","ret","method","getScroll","pos","getClientPosition","getScrollLeft","getScrollTop","obj","isWindow","computedStyle","val","getDocument","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","PX","rsLeft","dir","option","presetH","presetV","horizontalProperty","getOffsetDirection","verticalProperty","oppositeHorizontalProperty","oppositeOffsetDirection","oppositeVerticalProperty","originalTransition","originalOffset","getOffset","getTransitionProperty","setTransitionProperty","forceRelayout","old","preset","off","originalXY","getTransformXY","resultXY","setTransformXY","oriOffset","oLeft","oTop","tLeft","tTop","setLeftTop","fn","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","MARGIN_INDEX","options","callback","props","prop","which","cssProp","domUtils","getParent","parent","each","refWin","win","documentElement","documentElementProp","extra","borderBoxValue","isBorderBox","isBorderBoxFn","cssBoxValue","Number","borderBoxValueOrIsBorderBox","getPBMWidth","cssShow","position","visibility","display","args","getWH","swap","first","getWHIgnoreDisplay","includeMargin","from","to","utils","getWindow","setOffset","clone","overflow","mix","getWindowScrollLeft","getWindowScrollTop","merge","viewportWidth","viewportHeight","positionStyle","skipStatic","visibleRect","bottom","Infinity","getOffsetParent","navigator","originalPosition","scrollX","scrollY","documentWidth","documentHeight","bodyStyle","alwaysByViewport","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","size","elRegion","height","h","align","region","p1","getAlignOffset","points","p2","diff","targetOffset","elFuturePos","parseInt","str","convertOffset","source","newOverflowCfg","fail","getVisibleRectForElement","getRegion","normalizeOffset","getElFuturePos","newElRegion","isFailX","newPoints","flip","l","r","newOffset","flipOffset","newTargetOffset","newElFuturePos","isCompleteFailX","isFailY","b","isCompleteFailY","isStillFailX","isStillFailY","adjustForViewport","useCssRight","useCssBottom","useCssTransform","ignoreShake","targetRegion","refNodeRegion","isTargetNotOutOfVisible","isOutOfVisibleRect","doAlign","alignElement","pageX","tgtPoint","pageY","tgtRegion","pointInView","globalScope","MAX_DIGITS","Decimal","precision","rounding","toExpNeg","toExpPos","LN10","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","mathpow","pow","isDecimal","ONE","BASE","LOG_BASE","MAX_SAFE_INTEGER","MAX_E","P","absoluteValue","constructor","comparedTo","cmp","xdL","ydL","e","decimalPlaces","dp","dividedBy","div","divide","dividedToIntegerBy","idiv","Ctor","round","equals","eq","exponent","getBase10Exponent","greaterThan","gt","greaterThanOrEqualTo","gte","isInteger","isint","isNegative","isneg","isPositive","ispos","isZero","lessThan","lt","lessThanOrEqualTo","lte","logarithm","log","base","pr","wpr","Error","ln","minus","sub","subtract","modulo","mod","times","naturalExponential","exp","naturalLogarithm","negated","neg","plus","sd","squareRoot","sqrt","digitsToString","toExponential","mul","carry","rL","xd","yd","pop","shift","toDecimalPlaces","todp","rm","checkInt32","toFixed","toInteger","toint","toNumber","toPower","yIsInt","guard","yn","truncate","toPrecision","toSignificantDigits","tosd","valueOf","toJSON","len","unshift","min","ws","indexOfLastWord","getZeroString","multiplyInteger","temp","compare","a","aL","bL","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","denominator","sum","getLn10","zs","c0","numerator","x2","parseDecimal","search","substring","rd","doRound","xdi","xe","xLTy","isExp","ps","test","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","config","set","hasOwnProperty","v","define","t0","t1","newInterval","floori","offseti","field","arguments","d0","d1","previous","filter","setUTCMonth","setUTCHours","utcYears","setUTCDate","utcMonths","utcWeekday","utcTuesday","utcWednesday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","utcDays","setUTCMinutes","utcHours","setUTCSeconds","utcMinutes","setMonth","setHours","years","setDate","weekday","sunday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","hours","minutes","has","prefix","Events","create","__proto__","EE","context","once","addListener","emitter","event","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","getOwnPropertySymbols","listeners","handlers","ee","listenerCount","emit","a1","a2","a3","a4","a5","removeListener","apply","on","removeAllListeners","prefixed"],"mappings":"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","file":"static/js/vendors~main~77d46026.b10dfdbc.chunk.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\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 minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.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, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\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","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.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","let vendorPrefix;\n\nconst jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-',\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n const style = document.createElement('p').style;\n const testProp = 'Transform';\n for (const key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix()\n ? `${getVendorPrefix()}TransitionProperty`\n : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? `${getVendorPrefix()}Transform` : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n const name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n const name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n const matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0),\n };\n }\n return {\n x: 0,\n y: 0,\n };\n}\n\nconst matrix2d = /matrix\\((.*)\\)/;\nconst matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n let arr;\n let match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, `matrix(${arr.join(',')})`);\n } else {\n const match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, `matrix3d(${arr.join(',')})`);\n }\n } else {\n setTransform(\n node,\n `translateX(${xy.x}px) translateY(${xy.y}px) translateZ(0)`,\n );\n }\n}\n","import {\n setTransitionProperty,\n getTransitionProperty,\n getTransformXY,\n setTransformXY,\n getTransformName,\n} from './propertyUtils';\n\nconst RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nlet getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n const originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n let value = v;\n if (typeof name === 'object') {\n for (const i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = `${value}px`;\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n let box;\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y,\n };\n}\n\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n let computedStyle = cs;\n let val = '';\n const d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nconst _RE_NUM_NO_PX = new RegExp(`^(${RE_NUM})(?!px)[a-z%]+$`, 'i');\nconst RE_POS = /^(top|right|bottom|left)$/;\nconst CURRENT_STYLE = 'currentStyle';\nconst RUNTIME_STYLE = 'runtimeStyle';\nconst LEFT = 'left';\nconst PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n let ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n const style = elem.style;\n const left = style[LEFT];\n const rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle\n ? _getComputedStyle\n : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n let presetH = -999;\n let presetV = -999;\n const horizontalProperty = getOffsetDirection('left', option);\n const verticalProperty = getOffsetDirection('top', option);\n const oppositeHorizontalProperty = oppositeOffsetDirection(\n horizontalProperty,\n );\n const oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n let originalTransition = '';\n const originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = `${presetH}px`;\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = `${presetV}px`;\n }\n // force relayout\n forceRelayout(elem);\n const old = getOffset(elem);\n const originalStyle = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const preset = key === 'left' ? presetH : presetV;\n const off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n const ret = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const off = offset[key] - originalOffset[key];\n if (key === dir) {\n ret[dir] = originalStyle[dir] + off;\n } else {\n ret[dir] = originalStyle[dir] - off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n const originalOffset = getOffset(elem);\n const originalXY = getTransformXY(elem);\n const resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n const oriOffset = getOffset(elem);\n\n const oLeft = oriOffset.left.toFixed(0);\n const oTop = oriOffset.top.toFixed(0);\n const tLeft = offset.left.toFixed(0);\n const tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (\n option.useCssTransform &&\n getTransformName() in document.body.style\n ) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (let i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nconst BOX_MODELS = ['margin', 'border', 'padding'];\nconst CONTENT_INDEX = -1;\nconst PADDING_INDEX = 2;\nconst BORDER_INDEX = 1;\nconst MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n const old = {};\n const style = elem.style;\n let name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n let value = 0;\n let prop;\n let j;\n let i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n let cssProp;\n if (prop === 'border') {\n cssProp = `${prop}${which[i]}Width`;\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nconst domUtils = {\n getParent(element) {\n let parent = element;\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n return parent;\n },\n};\n\neach(['Width', 'Height'], name => {\n domUtils[`doc${name}`] = refWin => {\n const d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[`scroll${name}`],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[`scroll${name}`],\n domUtils[`viewport${name}`](d),\n );\n };\n\n domUtils[`viewport${name}`] = win => {\n // pc browser includes scrollbar in window.innerWidth\n const prop = `client${name}`;\n const doc = win.document;\n const body = doc.body;\n const documentElement = doc.documentElement;\n const documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return (\n (doc.compatMode === 'CSS1Compat' && documentElementProp) ||\n (body && body[prop]) ||\n documentElementProp\n );\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n let extra = ex;\n if (isWindow(elem)) {\n return name === 'width'\n ? domUtils.viewportWidth(elem)\n : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width'\n ? domUtils.docWidth(elem)\n : domUtils.docHeight(elem);\n }\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n let borderBoxValue =\n name === 'width'\n ? Math.floor(elem.getBoundingClientRect().width)\n : Math.floor(elem.getBoundingClientRect().height);\n const isBorderBox = isBorderBoxFn(elem);\n let cssBoxValue = 0;\n if (\n borderBoxValue === null ||\n borderBoxValue === undefined ||\n borderBoxValue <= 0\n ) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (\n cssBoxValue === null ||\n cssBoxValue === undefined ||\n Number(cssBoxValue) < 0\n ) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n const borderBoxValueOrIsBorderBox =\n borderBoxValue !== undefined || isBorderBox;\n const val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return (\n val +\n (extra === PADDING_INDEX\n ? -getPBMWidth(elem, ['border'], which)\n : getPBMWidth(elem, ['margin'], which))\n );\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nconst cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block',\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(...args) {\n let val;\n const elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, () => {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], name => {\n const first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[`outer${first}`] = (el, includeMargin) => {\n return (\n el &&\n getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX)\n );\n };\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = (elem, v) => {\n let val = v;\n if (val !== undefined) {\n if (elem) {\n const isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (const i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nconst utils = {\n getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n const doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument,\n offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow,\n each,\n css,\n clone(obj) {\n let i;\n const ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n const overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n mix,\n getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0,\n};\n\nmix(utils, domUtils);\n\nexport default utils;\n","import utils from './utils';\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nconst { getParent } = utils;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n