From 588762a8e171051d7e4d4880b67d1420f74369aa Mon Sep 17 00:00:00 2001 From: jason-zl190 Date: Sat, 18 Jul 2026 23:04:16 +0800 Subject: [PATCH 1/7] feat(plotly): add Plotly backend with the four acceptance templates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a fourth rendering backend per docs/adding-a-backend.md: an assemblePlotly orchestrator reusing the shared core pipeline (Phase 0 semantics / Phase 1 layout), diverging only at Phase 2 to emit Plotly figures ({ data: traces[], layout }). Figures are pure JSON — temporal axes use Plotly's native date axis instead of tick callbacks, so compiled specs survive serialization. First-merge scope (§6 acceptance): Bar, Line, Area, Scatter templates mirroring the Chart.js templates' decisions (category order, zero baseline, color grouping, horizontal bar transposition, interpolate / opacity / stackMode / showPoints properties). column/row facet encodings are dropped with an 'unsupported-channel' warning; subplot grids are a follow-up. Wiring per §4: barrel export, tsup entry, ./plotly subpath export, plotly.js as an optional peerDependency (mirrors chart.js), smoke test, and tests/plotly-backend.test.ts (10 cases incl. a recursive no-functions JSON-purity check). Co-Authored-By: Claude Fable 5 --- packages/flint-js/package.json | 9 + packages/flint-js/src/index.ts | 2 + packages/flint-js/src/plotly/assemble.ts | 253 ++++++++++++++++++ packages/flint-js/src/plotly/index.ts | 34 +++ .../flint-js/src/plotly/instantiate-spec.ts | 124 +++++++++ .../flint-js/src/plotly/templates/area.ts | 140 ++++++++++ packages/flint-js/src/plotly/templates/bar.ts | 80 ++++++ .../flint-js/src/plotly/templates/index.ts | 46 ++++ .../flint-js/src/plotly/templates/line.ts | 142 ++++++++++ .../flint-js/src/plotly/templates/scatter.ts | 99 +++++++ .../flint-js/src/plotly/templates/utils.ts | 138 ++++++++++ .../flint-js/tests/plotly-backend.test.ts | 133 +++++++++ packages/flint-js/tests/smoke.test.ts | 8 + packages/flint-js/tsup.config.ts | 3 +- 14 files changed, 1210 insertions(+), 1 deletion(-) create mode 100644 packages/flint-js/src/plotly/assemble.ts create mode 100644 packages/flint-js/src/plotly/index.ts create mode 100644 packages/flint-js/src/plotly/instantiate-spec.ts create mode 100644 packages/flint-js/src/plotly/templates/area.ts create mode 100644 packages/flint-js/src/plotly/templates/bar.ts create mode 100644 packages/flint-js/src/plotly/templates/index.ts create mode 100644 packages/flint-js/src/plotly/templates/line.ts create mode 100644 packages/flint-js/src/plotly/templates/scatter.ts create mode 100644 packages/flint-js/src/plotly/templates/utils.ts create mode 100644 packages/flint-js/tests/plotly-backend.test.ts diff --git a/packages/flint-js/package.json b/packages/flint-js/package.json index f78d096b..64482690 100644 --- a/packages/flint-js/package.json +++ b/packages/flint-js/package.json @@ -50,6 +50,11 @@ "import": "./dist/echarts/index.js", "require": "./dist/echarts/index.cjs" }, + "./plotly": { + "types": "./dist/plotly/index.d.ts", + "import": "./dist/plotly/index.js", + "require": "./dist/plotly/index.cjs" + }, "./chartjs": { "types": "./dist/chartjs/index.d.ts", "import": "./dist/chartjs/index.js", @@ -87,6 +92,7 @@ }, "peerDependencies": { "chart.js": "^4.0.0", + "plotly.js": "^2.0.0 || ^3.0.0", "echarts": "^5.0.0 || ^6.0.0", "vega": "^5.0.0 || ^6.0.0", "vega-lite": "^5.0.0 || ^6.0.0" @@ -103,6 +109,9 @@ }, "chart.js": { "optional": true + }, + "plotly.js": { + "optional": true } }, "devDependencies": { diff --git a/packages/flint-js/src/index.ts b/packages/flint-js/src/index.ts index 5f121268..c38e99e9 100644 --- a/packages/flint-js/src/index.ts +++ b/packages/flint-js/src/index.ts @@ -14,6 +14,7 @@ * vegalite/ — Vega-Lite backend: assembly, templates, spec instantiation * echarts/ — ECharts backend: assembly, templates, spec instantiation * chartjs/ — Chart.js backend: assembly, templates, spec instantiation + * plotly/ — Plotly backend: assembly, templates, spec instantiation * * Assembly functions: * assembleVegaLite(input) — Vega-Lite spec @@ -52,3 +53,4 @@ export * from './echarts'; // Chart.js backend: assembleChartjs, templates, spec instantiation export * from './chartjs'; +export * from './plotly'; diff --git a/packages/flint-js/src/plotly/assemble.ts b/packages/flint-js/src/plotly/assemble.ts new file mode 100644 index 00000000..2cb94dc3 --- /dev/null +++ b/packages/flint-js/src/plotly/assemble.ts @@ -0,0 +1,253 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * Plotly chart assembly — Two-Stage Pipeline Coordinator. + * + * Reuses the **same core analysis pipeline** as the other backends: + * Phase 0: resolveChannelSemantics → ChannelSemantics + * Step 0a: declareLayoutMode → LayoutDeclaration + * Step 0b: convertTemporalData → converted data + * Step 0c: filterOverflow → filtered data, nominalCounts + * Phase 1: computeLayout → LayoutResult + * + * Then diverges for Phase 2 (Plotly-specific): + * template.instantiate → builds the Plotly figure structure + * plApplyLayoutToSpec → applies layout decisions to the figure + * + * Key structural difference from the other backends' output: + * PL: { data: [{ type, x, y, … }], layout: { xaxis, yaxis, … } } + * Figures are pure JSON — no callback functions anywhere — so compiled + * specs survive serialization across process boundaries. + * + * First-merge scope: no `column` / `row` facet support; encodings on + * unsupported channels are dropped with a warning (follow-up: subplot grids). + * + * This module has NO React, Redux, or UI framework dependencies. + */ + +import { + ChartEncoding, + ChartTemplateDef, + ChartAssemblyInput, + AssembleOptions, + LayoutDeclaration, + InstantiateContext, +} from '../core/types'; +import type { ChartWarning } from '../core/types'; +import { applyEncodingOverrides } from '../core/encoding-overrides'; +import { applyAggregation } from '../core/aggregate'; +import { plGetTemplateDef } from './templates'; +import { resolveChannelSemantics, convertTemporalData } from '../core/resolve-semantics'; +import { computeZeroDecision } from '../core/semantic-types'; +import { filterOverflow } from '../core/filter-overflow'; +import { computeLayout, computeChannelBudgets, deriveStretchCaps, resolveBaseSize } from '../core/compute-layout'; +import { decideColorMaps } from '../core/color-decisions'; +import { plApplyLayoutToSpec, plApplyTooltips } from './instantiate-spec'; +import { normalizeStaticSeries } from '../core/static-series'; +import { normalizeChartProperties } from '../core/normalize-properties'; + +// --------------------------------------------------------------------------- +// Public API +// --------------------------------------------------------------------------- +/** + * Assemble a Plotly figure object (`{ data, layout }`). + * + * ```ts + * const figure = assemblePlotly({ + * data: { values: myRows }, + * semantic_types: { weight: 'Quantity' }, + * chart_spec: { chartType: 'Bar Chart', encodings: { x: { field: 'category' }, y: { field: 'value' } } }, + * }); + * ``` + * + * @returns A Plotly figure with optional `_warnings` and `_width`/`_height` hints + */ +export function assemblePlotly(input: ChartAssemblyInput): any { + const chartType = input.chart_spec.chartType; + const semanticTypes = input.semantic_types ?? {}; + const sizeCeiling = input.chart_spec.canvasSize; + const baseSize = resolveBaseSize(input.chart_spec.baseSize, sizeCeiling); + const canvasSize = baseSize; + const options = input.options ?? {}; + const chartTemplate = plGetTemplateDef(chartType) as ChartTemplateDef; + if (!chartTemplate) { + throw new Error(`Unknown Plotly chart type: ${chartType}. Use plAllTemplateDefs to see available types.`); + } + + const warnings: ChartWarning[] = []; + + const normalizedProps = normalizeChartProperties( + chartTemplate.properties, input.chart_spec.chartProperties, + ); + const chartProperties = normalizedProps.chartProperties; + warnings.push(...normalizedProps.warnings); + + // ═══════════════════════════════════════════════════════════════════════ + // PRE-PHASE: Static Series Normalization + // ═══════════════════════════════════════════════════════════════════════ + const rawData = input.data.values ?? []; + const normalized = normalizeStaticSeries( + input.chart_spec.encodings, rawData, semanticTypes, + ); + let data = normalized.data; + const staticSeries = normalized.staticSeries; + + // First-merge scope: drop encodings on channels this template does not + // declare (notably column/row facets) instead of silently mis-rendering. + const supported: Record = {}; + for (const [ch, enc] of Object.entries(normalized.encodings)) { + if (chartTemplate.channels.includes(ch)) { + supported[ch] = enc; + } else { + warnings.push({ + severity: 'warning', + code: 'unsupported-channel', + message: `Channel "${ch}" is not supported by the Plotly ${chartType} template yet and was ignored.`, + channel: ch, + field: enc.field, + }); + } + } + + const encodings = applyEncodingOverrides(chartTemplate, supported, chartProperties); + + // Optional aggregation transform — see vegalite/assemble for rationale. + data = applyAggregation(encodings, data); + + // ═══════════════════════════════════════════════════════════════════════ + // PHASE 0: Resolve Semantics (shared — completely target-agnostic) + // ═══════════════════════════════════════════════════════════════════════ + + const tplMark = chartTemplate.template?.mark; + const templateMarkType = typeof tplMark === 'string' ? tplMark : tplMark?.type; + + const convertedData = convertTemporalData(data, semanticTypes); + + const channelSemantics = resolveChannelSemantics( + encodings, data, semanticTypes, convertedData, + ); + + // Finalize zero-baseline (requires template mark knowledge) + const effectiveMarkType = templateMarkType || 'point'; + for (const [channel, cs] of Object.entries(channelSemantics)) { + if ((channel === 'x' || channel === 'y') && cs.type === 'quantitative') { + const numericValues = data + .map(r => r[cs.field]) + .filter((v: any) => v != null && typeof v === 'number' && !isNaN(v)); + cs.zero = computeZeroDecision( + cs.semanticAnnotation.semanticType, channel, effectiveMarkType, numericValues, + ); + } + } + + // ═══════════════════════════════════════════════════════════════════════ + // STEP 0a: declareLayoutMode (shared hook) + // ═══════════════════════════════════════════════════════════════════════ + + const declaration: LayoutDeclaration = chartTemplate.declareLayoutMode + ? chartTemplate.declareLayoutMode(channelSemantics, data, chartProperties) + : {}; + + const effectiveOptions: AssembleOptions = { + ...options, + ...(declaration.paramOverrides || {}), + }; + + Object.assign(effectiveOptions, deriveStretchCaps(baseSize, sizeCeiling, effectiveOptions)); + + const { + addTooltips: addTooltipsOpt = false, + } = effectiveOptions; + + // ═══════════════════════════════════════════════════════════════════════ + // STEP 0b: filterOverflow (shared) + // ═══════════════════════════════════════════════════════════════════════ + + const allMarkTypes = new Set(); + if (templateMarkType) allMarkTypes.add(templateMarkType); + + const budgets = computeChannelBudgets( + channelSemantics, declaration, convertedData, canvasSize, effectiveOptions, + ); + const facetGridResult = budgets.facetGrid; + + const overflowResult = filterOverflow( + channelSemantics, declaration, encodings, convertedData, + budgets, allMarkTypes, + ); + + const values = overflowResult.filteredData; + warnings.push(...overflowResult.warnings); + + // ═══════════════════════════════════════════════════════════════════════ + // PHASE 1: Compute Layout (shared — completely target-agnostic) + // ═══════════════════════════════════════════════════════════════════════ + + const layoutResult = computeLayout( + channelSemantics, + declaration, + values, + canvasSize, + effectiveOptions, + facetGridResult, + ); + + layoutResult.truncations = overflowResult.truncations; + + // ═══════════════════════════════════════════════════════════════════════ + // PHASE 2: Instantiate Plotly Figure (PL-specific) + // ═══════════════════════════════════════════════════════════════════════ + + const resolvedEncodings: Record = {}; + for (const [channel, encoding] of Object.entries(encodings)) { + const cs = channelSemantics[channel]; + if (cs) { + resolvedEncodings[channel] = { + field: cs.field, + type: cs.type, + aggregate: encoding.aggregate, + }; + } + } + + const instantiateContext: InstantiateContext = { + channelSemantics, + layout: layoutResult, + table: values, + fullTable: convertedData, + resolvedEncodings, + encodings, + chartProperties, + staticSeries, + canvasSize, + semanticTypes, + chartType, + assembleOptions: effectiveOptions, + colorDecisions: decideColorMaps({ + chartType, + encodings, + channelSemantics, + table: values, + background: 'light', + }), + }; + + const figure: any = structuredClone(chartTemplate.template); + chartTemplate.instantiate(figure, instantiateContext); + plApplyLayoutToSpec(figure, instantiateContext, warnings); + if (addTooltipsOpt) plApplyTooltips(figure); + if (chartTemplate.postProcess) chartTemplate.postProcess(figure, instantiateContext); + + // ═══════════════════════════════════════════════════════════════════════ + // RESULT + // ═══════════════════════════════════════════════════════════════════════ + + if (warnings.length > 0) { + figure._warnings = warnings; + } + + figure._dataLength = values.length; + + return figure; +} diff --git a/packages/flint-js/src/plotly/index.ts b/packages/flint-js/src/plotly/index.ts new file mode 100644 index 00000000..9dd7d029 --- /dev/null +++ b/packages/flint-js/src/plotly/index.ts @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * @module flint-chart/plotly + * + * Plotly backend for flint-chart. + * + * Compiles the core semantic layer into Plotly figure objects. + * Contains PL-specific assembly, spec instantiation, and chart templates. + * + * Architecture contrast with other backends: + * VL: encoding-channel-based — { encoding: { x: { field, type }, y: ... } } + * EC: series-based — { series: [{ type, data }], xAxis, yAxis } + * CJS: dataset-based — { type, data: { labels, datasets[] }, options } + * PL: trace-based — { data: [{ type, x, y }], layout } + * + * Same core pipeline (Phase 0 + Phase 1), different Phase 2 output. + * Figures are pure JSON (no callback functions). + */ + +// PL assembly function +export { assemblePlotly } from './assemble'; + +// PL spec instantiation (Phase 2) +export { plApplyLayoutToSpec, plApplyTooltips } from './instantiate-spec'; + +// PL template registry +export { + plTemplateDefs, + plAllTemplateDefs, + plGetTemplateDef, + plGetTemplateChannels, +} from './templates'; diff --git a/packages/flint-js/src/plotly/instantiate-spec.ts b/packages/flint-js/src/plotly/instantiate-spec.ts new file mode 100644 index 00000000..fe2f0ead --- /dev/null +++ b/packages/flint-js/src/plotly/instantiate-spec.ts @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * ============================================================================= + * PHASE 2: INSTANTIATE SPEC — Plotly backend + * ============================================================================= + * + * Translates semantic decisions (Phase 0) and layout dimensions (Phase 1) + * into Plotly-specific figure properties. + * + * Key differences from the other backends: + * - PL figures are `{ data: traces[], layout }` and stay pure JSON — axis + * tick formatting uses declarative `tickformat`/axis types, never + * callback functions + * - PL sizing via `layout.width` / `layout.height` + * - PL label rotation via `layout.xaxis.tickangle` + * + * PL dependency: **Yes — this is where Plotly-specific syntax lives** + * ============================================================================= + */ + +import type { + InstantiateContext, + ChartWarning, +} from '../core/types'; + +/** + * Phase 2: Apply layout and semantic decisions to the Plotly figure. + * + * Handles common Plotly plumbing across all templates: + * - Figure sizing (_width, _height + layout.width/height) + * - Axis label rotation and font sizing + * - Overflow truncation warnings + */ +export function plApplyLayoutToSpec( + figure: any, + context: InstantiateContext, + warnings: ChartWarning[], +): void { + const { layout, canvasSize } = context; + + if (!figure.layout) figure.layout = {}; + + // ── Figure dimensions ──────────────────────────────────────────────── + if (!figure._width) { + const PADDING = 80; // approximate space for axes, labels + + const xIsDiscrete = layout.xNominalCount > 0 || layout.xContinuousAsDiscrete > 0; + const yIsDiscrete = layout.yNominalCount > 0 || layout.yContinuousAsDiscrete > 0; + + let plotWidth: number; + let plotHeight: number; + + if (xIsDiscrete && layout.xStepUnit !== 'group') { + const xItemCount = layout.xNominalCount || layout.xContinuousAsDiscrete || 0; + plotWidth = xItemCount > 0 ? layout.xStep * xItemCount : (layout.subplotWidth || canvasSize.width); + } else { + plotWidth = layout.subplotWidth || canvasSize.width; + } + + if (yIsDiscrete && layout.yStepUnit !== 'group') { + const yItemCount = layout.yNominalCount || layout.yContinuousAsDiscrete || 0; + plotHeight = yItemCount > 0 ? layout.yStep * yItemCount : (layout.subplotHeight || canvasSize.height); + } else { + plotHeight = layout.subplotHeight || canvasSize.height; + } + + const legendGutter = figure.layout.showlegend ? 96 : 0; + figure._width = plotWidth + PADDING + legendGutter; + figure._height = plotHeight + PADDING; + } + + figure.layout.width = figure._width; + figure.layout.height = figure._height; + figure.layout.margin = figure.layout.margin ?? { t: 24 }; + + // ── X-axis label rotation and font sizing ──────────────────────────── + if (layout.xLabel) { + if (!figure.layout.xaxis) figure.layout.xaxis = {}; + if (layout.xLabel.labelAngle && layout.xLabel.labelAngle !== 0) { + figure.layout.xaxis.tickangle = Math.abs(layout.xLabel.labelAngle); + } + if (layout.xLabel.fontSize) { + figure.layout.xaxis.tickfont = { + ...(figure.layout.xaxis.tickfont || {}), + size: layout.xLabel.fontSize, + }; + } + } + + // ── Y-axis label font sizing ───────────────────────────────────────── + if (layout.yLabel?.fontSize) { + if (!figure.layout.yaxis) figure.layout.yaxis = {}; + figure.layout.yaxis.tickfont = { + ...(figure.layout.yaxis.tickfont || {}), + size: layout.yLabel.fontSize, + }; + } + + // ── Overflow truncation warnings ───────────────────────────────────── + if (layout.truncations && layout.truncations.length > 0) { + for (const trunc of layout.truncations) { + warnings.push({ + severity: 'warning', + code: 'overflow', + message: trunc.message, + channel: trunc.channel, + field: trunc.field, + }); + } + } +} + +/** + * Apply tooltips to a Plotly figure. Plotly hover is on by default; this + * pins an explicit unified hover mode so tooltips read across series. + */ +export function plApplyTooltips(figure: any): void { + if (!figure.layout) figure.layout = {}; + if (figure.layout.hovermode == null) { + figure.layout.hovermode = 'closest'; + } +} diff --git a/packages/flint-js/src/plotly/templates/area.ts b/packages/flint-js/src/plotly/templates/area.ts new file mode 100644 index 00000000..0cc5a64e --- /dev/null +++ b/packages/flint-js/src/plotly/templates/area.ts @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * Plotly Area Chart template (single + multi-series). + * + * Mirrors the Chart.js Area template's decisions. Plotly renders areas as + * scatter traces with `fill`; multi-series stacking uses `stackgroup` + * (the Plotly-native equivalent of Chart.js `fill: 'stack'`). + */ + +import { ChartTemplateDef, ChartPropertyDef } from '../../core/types'; +import { + extractCategories, + groupBy, + buildCategoryAlignedData, + coerceIsoDateForPlotly, + getSeriesColor, +} from './utils'; + +const isDiscrete = (type: string | undefined) => type === 'nominal' || type === 'ordinal'; + +/** Hex → rgba with alpha, for translucent area fills. */ +function fillColor(hex: string, alpha: number): string { + const m = /^#?([0-9a-f]{6})$/i.exec(hex.trim()); + if (!m) return hex; + const v = parseInt(m[1], 16); + const a = Math.max(0, Math.min(1, alpha)); + return `rgba(${(v >> 16) & 255}, ${(v >> 8) & 255}, ${v & 255}, ${a})`; +} + +export const plAreaChartDef: ChartTemplateDef = { + chart: 'Area Chart', + template: { mark: 'area', encoding: {} }, + channels: ['x', 'y', 'color', 'opacity'], + markCognitiveChannel: 'area', + declareLayoutMode: () => ({ + paramOverrides: { continuousMarkCrossSection: { x: 100, y: 20, seriesCountAxis: 'auto' }, facetAspectRatioResistance: 0.5 }, + }), + instantiate: (spec, ctx) => { + const { channelSemantics, table, chartProperties } = ctx; + const xCS = channelSemantics.x; + const yCS = channelSemantics.y; + const colorField = channelSemantics.color?.field; + + if (!xCS?.field || !yCS?.field) return; + const xField = xCS.field; + const yField = yCS.field; + + const xIsDiscrete = isDiscrete(xCS.type); + const xIsTemporal = xCS.type === 'temporal'; + const mapX = (raw: unknown) => (xIsTemporal ? coerceIsoDateForPlotly(raw) : raw); + + const categories = xIsDiscrete + ? extractCategories(table, xField, xCS.ordinalSortOrder) + : undefined; + + const opacity = Number(chartProperties?.opacity ?? 0.4); + const stackMode = chartProperties?.stackMode; + const stacked = stackMode !== 'layered'; + const smooth = chartProperties?.interpolate === 'monotone'; + + const traces: any[] = []; + const makeTrace = (name: string, rows: any[], colorIndex: number) => { + const xVals = xIsDiscrete ? categories! : rows.map(r => mapX(r[xField])); + const yVals = xIsDiscrete + ? buildCategoryAlignedData(rows, xField, yField, categories!) + : rows.map(r => (r[yField] == null ? null : r[yField])); + const color = getSeriesColor(colorIndex); + const trace: any = { + type: 'scatter', + mode: 'lines', + name, + x: xVals, + y: yVals, + line: { color, shape: smooth ? 'spline' : 'linear' }, + fillcolor: fillColor(color, opacity), + }; + if (colorField && stacked) { + trace.stackgroup = 'one'; + } else { + trace.fill = 'tozeroy'; + } + return trace; + }; + + if (colorField) { + let i = 0; + for (const [name, rows] of groupBy(table, colorField)) { + traces.push(makeTrace(name, rows, i)); + i++; + } + } else { + traces.push(makeTrace(yField, table, 0)); + } + + const xAxisSpec: any = { title: { text: xField } }; + if (xIsDiscrete) { + xAxisSpec.type = 'category'; + xAxisSpec.categoryorder = 'array'; + xAxisSpec.categoryarray = categories; + } else if (xIsTemporal) { + xAxisSpec.type = 'date'; + } + + const yAxisSpec: any = { title: { text: yField } }; + if (yCS.zero) { + yAxisSpec.rangemode = yCS.zero.zero !== false ? 'tozero' : 'normal'; + } + + const figure: any = { + data: traces, + layout: { + xaxis: xAxisSpec, + yaxis: yAxisSpec, + showlegend: !!colorField, + }, + }; + + Object.assign(spec, figure); + delete spec.mark; + delete spec.encoding; + }, + properties: [ + { + key: 'interpolate', label: 'Curve', type: 'discrete', options: [ + { value: undefined, label: 'Default (linear)' }, + { value: 'linear', label: 'Linear' }, + { value: 'monotone', label: 'Monotone (smooth)' }, + ], + } as ChartPropertyDef, + { key: 'opacity', label: 'Opacity', type: 'continuous', min: 0.1, max: 1, step: 0.05, defaultValue: 0.4 } as ChartPropertyDef, + { + key: 'stackMode', label: 'Stack', type: 'discrete', options: [ + { value: undefined, label: 'Stacked (default)' }, + { value: 'layered', label: 'Layered (overlap)' }, + ], + } as ChartPropertyDef, + ], +}; diff --git a/packages/flint-js/src/plotly/templates/bar.ts b/packages/flint-js/src/plotly/templates/bar.ts new file mode 100644 index 00000000..7df8000b --- /dev/null +++ b/packages/flint-js/src/plotly/templates/bar.ts @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * Plotly Bar Chart template. + * + * Mirrors the Chart.js Bar template's decisions (category detection, + * ordinal sort order, zero baseline, horizontal transposition), expressed + * as a Plotly `bar` trace: + * CJS: { type: 'bar', data: { labels, datasets[] }, options: { indexAxis } } + * PL: { data: [{ type: 'bar', x, y, orientation }], layout: { xaxis, yaxis } } + */ + +import { ChartTemplateDef, ChartPropertyDef } from '../../core/types'; +import { extractCategories, buildCategoryAlignedData, detectAxes, getSeriesColor } from './utils'; +import { detectBandedAxisFromSemantics } from '../../core/axis-detection'; + +export const plBarChartDef: ChartTemplateDef = { + chart: 'Bar Chart', + template: { mark: 'bar', encoding: {} }, + channels: ['x', 'y', 'color', 'opacity'], + markCognitiveChannel: 'length', + declareLayoutMode: (cs, table) => { + const result = detectBandedAxisFromSemantics(cs, table, { preferAxis: 'x' }); + return { + axisFlags: result ? { [result.axis]: { banded: true } } : { x: { banded: true } }, + resolvedTypes: result?.resolvedTypes, + }; + }, + instantiate: (spec, ctx) => { + const { channelSemantics, table } = ctx; + const { categoryAxis, valueAxis } = detectAxes(channelSemantics); + + const catField = channelSemantics[categoryAxis]?.field; + const valField = channelSemantics[valueAxis]?.field; + if (!catField || !valField) return; + + const catCS = channelSemantics[categoryAxis]; + const categories = extractCategories(table, catField, catCS?.ordinalSortOrder); + const values = buildCategoryAlignedData(table, catField, valField, categories); + + const isHorizontal = categoryAxis === 'y'; + + const catAxisSpec = { + type: 'category' as const, + categoryorder: 'array' as const, + categoryarray: categories, + title: { text: catField }, + }; + const valCS = channelSemantics[valueAxis]; + // Bars encode length — include zero unless the semantic decision says otherwise. + const includeZero = valCS?.zero ? valCS.zero.zero !== false : true; + const valAxisSpec = { + title: { text: valField }, + rangemode: (includeZero ? 'tozero' : 'normal') as 'tozero' | 'normal', + }; + + const figure: any = { + data: [{ + type: 'bar', + name: valField, + ...(isHorizontal + ? { x: values, y: categories, orientation: 'h' } + : { x: categories, y: values }), + marker: { color: getSeriesColor(0) }, + }], + layout: { + ...(isHorizontal + ? { xaxis: valAxisSpec, yaxis: catAxisSpec } + : { xaxis: catAxisSpec, yaxis: valAxisSpec }), + showlegend: false, + }, + }; + + Object.assign(spec, figure); + delete spec.mark; + delete spec.encoding; + }, + properties: [] as ChartPropertyDef[], +}; diff --git a/packages/flint-js/src/plotly/templates/index.ts b/packages/flint-js/src/plotly/templates/index.ts new file mode 100644 index 00000000..af6c2e50 --- /dev/null +++ b/packages/flint-js/src/plotly/templates/index.ts @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * Plotly template registry. + * + * Mirrors the structure of chartjs/templates/index.ts, echarts/templates/index.ts + * and vegalite/templates/index.ts but with Plotly template definitions. + * + * First-merge scope (see docs/adding-a-backend.md §6): the four acceptance + * templates. Further templates are follow-ups. + */ + +import { ChartTemplateDef } from '../../core/types'; +import { plBarChartDef } from './bar'; +import { plLineChartDef } from './line'; +import { plAreaChartDef } from './area'; +import { plScatterPlotDef } from './scatter'; + +/** + * Plotly chart template definitions, grouped by category. + */ +export const plTemplateDefs: { [key: string]: ChartTemplateDef[] } = { + 'Scatter & Point': [plScatterPlotDef], + 'Bar': [plBarChartDef], + 'Line & Area': [plLineChartDef, plAreaChartDef], +}; + +/** + * Flat list of all Plotly chart template definitions. + */ +export const plAllTemplateDefs: ChartTemplateDef[] = Object.values(plTemplateDefs).flat(); + +/** + * Look up a Plotly chart template definition by chart type name. + */ +export function plGetTemplateDef(chartType: string): ChartTemplateDef | undefined { + return plAllTemplateDefs.find(t => t.chart === chartType); +} + +/** + * Get the available channels for a Plotly chart type. + */ +export function plGetTemplateChannels(chartType: string): string[] { + return plGetTemplateDef(chartType)?.channels || []; +} diff --git a/packages/flint-js/src/plotly/templates/line.ts b/packages/flint-js/src/plotly/templates/line.ts new file mode 100644 index 00000000..4485e50d --- /dev/null +++ b/packages/flint-js/src/plotly/templates/line.ts @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * Plotly Line Chart template (single + multi-series). + * + * Mirrors the Chart.js Line template's decisions. Plotly differences: + * - temporal x uses Plotly's native `date` axis (ISO strings), no tick + * callback needed — figures stay pure JSON + * - one trace per series; the legend comes from trace `name`s + */ + +import { ChartTemplateDef, ChartPropertyDef } from '../../core/types'; +import { + extractCategories, + groupBy, + buildCategoryAlignedData, + coerceIsoDateForPlotly, + getSeriesColor, +} from './utils'; + +const isDiscrete = (type: string | undefined) => type === 'nominal' || type === 'ordinal'; + +/** Map the shared `interpolate` property onto Plotly's `line.shape`. */ +function lineShape(interpolate: unknown): 'linear' | 'spline' | 'hv' | 'vh' | 'hvh' { + switch (interpolate) { + case 'monotone': + case 'basis': + case 'cardinal': + case 'catmull-rom': + return 'spline'; + case 'step': + return 'hvh'; + case 'step-before': + return 'vh'; + case 'step-after': + return 'hv'; + default: + return 'linear'; + } +} + +export const plLineChartDef: ChartTemplateDef = { + chart: 'Line Chart', + template: { mark: 'line', encoding: {} }, + channels: ['x', 'y', 'color', 'opacity'], + markCognitiveChannel: 'position', + declareLayoutMode: () => ({ + paramOverrides: { continuousMarkCrossSection: { x: 100, y: 20, seriesCountAxis: 'auto' }, facetAspectRatioResistance: 0.5 }, + }), + instantiate: (spec, ctx) => { + const { channelSemantics, table, chartProperties } = ctx; + const xCS = channelSemantics.x; + const yCS = channelSemantics.y; + const colorField = channelSemantics.color?.field; + + if (!xCS?.field || !yCS?.field) return; + const xField = xCS.field; + const yField = yCS.field; + + const xIsDiscrete = isDiscrete(xCS.type); + const xIsTemporal = xCS.type === 'temporal'; + + const mapX = (raw: unknown) => (xIsTemporal ? coerceIsoDateForPlotly(raw) : raw); + + const categories = xIsDiscrete + ? extractCategories(table, xField, xCS.ordinalSortOrder) + : undefined; + + const shape = lineShape(chartProperties?.interpolate); + const showPoints = chartProperties?.showPoints === true; + const mode = showPoints ? 'lines+markers' : 'lines'; + + const traces: any[] = []; + const makeTrace = (name: string, rows: any[], colorIndex: number) => { + const xVals = xIsDiscrete + ? categories! + : rows.map(r => mapX(r[xField])); + const yVals = xIsDiscrete + ? buildCategoryAlignedData(rows, xField, yField, categories!) + : rows.map(r => (r[yField] == null ? null : r[yField])); + return { + type: 'scatter', + mode, + name, + x: xVals, + y: yVals, + line: { color: getSeriesColor(colorIndex), shape }, + }; + }; + + if (colorField) { + let i = 0; + for (const [name, rows] of groupBy(table, colorField)) { + traces.push(makeTrace(name, rows, i)); + i++; + } + } else { + traces.push(makeTrace(yField, table, 0)); + } + + const xAxisSpec: any = { title: { text: xField } }; + if (xIsDiscrete) { + xAxisSpec.type = 'category'; + xAxisSpec.categoryorder = 'array'; + xAxisSpec.categoryarray = categories; + } else if (xIsTemporal) { + xAxisSpec.type = 'date'; + } + + const yAxisSpec: any = { title: { text: yField } }; + if (yCS.zero) { + yAxisSpec.rangemode = yCS.zero.zero !== false ? 'tozero' : 'normal'; + } + + const figure: any = { + data: traces, + layout: { + xaxis: xAxisSpec, + yaxis: yAxisSpec, + showlegend: !!colorField, + }, + }; + + Object.assign(spec, figure); + delete spec.mark; + delete spec.encoding; + }, + properties: [ + { + key: 'interpolate', label: 'Curve', type: 'discrete', options: [ + { value: undefined, label: 'Default (linear)' }, + { value: 'linear', label: 'Linear' }, + { value: 'monotone', label: 'Monotone (smooth)' }, + { value: 'step', label: 'Step' }, + { value: 'step-before', label: 'Step Before' }, + { value: 'step-after', label: 'Step After' }, + ], + } as ChartPropertyDef, + { key: 'showPoints', label: 'Show points', type: 'binary', defaultValue: false } as ChartPropertyDef, + ], +}; diff --git a/packages/flint-js/src/plotly/templates/scatter.ts b/packages/flint-js/src/plotly/templates/scatter.ts new file mode 100644 index 00000000..4e1161be --- /dev/null +++ b/packages/flint-js/src/plotly/templates/scatter.ts @@ -0,0 +1,99 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * Plotly Scatter Plot template. + * + * Mirrors the Chart.js Scatter template's decisions (color grouping, zero + * baseline per axis, canvas-aware point radius) as Plotly `scatter` traces + * in `markers` mode. + */ + +import { ChartTemplateDef, ChartPropertyDef } from '../../core/types'; +import { groupBy, getSeriesColor } from './utils'; + +/** Compute a reasonable marker diameter based on canvas area and point count. */ +function computeMarkerSize(width: number, height: number, pointCount: number): number { + const canvasArea = width * height; + const areaPerPoint = canvasArea / Math.max(1, pointCount); + const idealRadius = Math.sqrt(areaPerPoint * 0.05) / 2; + const radius = Math.max(2, Math.min(6, Math.round(idealRadius))); + return radius * 2; +} + +export const plScatterPlotDef: ChartTemplateDef = { + chart: 'Scatter Plot', + template: { mark: 'circle', encoding: {} }, + channels: ['x', 'y', 'color', 'size', 'opacity'], + markCognitiveChannel: 'position', + instantiate: (spec, ctx) => { + const { channelSemantics, table, chartProperties } = ctx; + const xField = channelSemantics.x?.field; + const yField = channelSemantics.y?.field; + const colorField = channelSemantics.color?.field; + + if (!xField || !yField) return; + + const opacity = Number(chartProperties?.opacity ?? 1); + + const traces: any[] = []; + const makeTrace = (name: string | undefined, rows: any[], colorIndex: number) => ({ + type: 'scatter', + mode: 'markers', + ...(name != null ? { name } : {}), + x: rows.map(r => r[xField]), + y: rows.map(r => r[yField]), + marker: { + color: getSeriesColor(colorIndex), + opacity, + line: { color: '#ffffff', width: 0.5 }, + }, + }); + + if (colorField) { + let i = 0; + for (const [name, rows] of groupBy(table, colorField)) { + traces.push(makeTrace(name, rows, i)); + i++; + } + } else { + traces.push(makeTrace(undefined, table, 0)); + } + + const xAxisSpec: any = { title: { text: xField } }; + const yAxisSpec: any = { title: { text: yField } }; + if (channelSemantics.x?.zero) { + xAxisSpec.rangemode = channelSemantics.x.zero.zero !== false ? 'tozero' : 'normal'; + } + if (channelSemantics.y?.zero) { + yAxisSpec.rangemode = channelSemantics.y.zero.zero !== false ? 'tozero' : 'normal'; + } + + const figure: any = { + data: traces, + layout: { + xaxis: xAxisSpec, + yaxis: yAxisSpec, + showlegend: !!colorField, + }, + }; + + Object.assign(spec, figure); + delete spec.mark; + delete spec.encoding; + }, + properties: [ + { key: 'opacity', label: 'Opacity', type: 'continuous', min: 0.1, max: 1, step: 0.05, defaultValue: 1 } as ChartPropertyDef, + ], + postProcess: (figure, ctx) => { + if (!Array.isArray(figure.data)) return; + const w = figure._width || ctx.canvasSize.width; + const h = figure._height || ctx.canvasSize.height; + const size = computeMarkerSize(w, h, ctx.table.length); + for (const trace of figure.data) { + if (trace?.marker && trace.marker.size == null) { + trace.marker.size = size; + } + } + }, +}; diff --git a/packages/flint-js/src/plotly/templates/utils.ts b/packages/flint-js/src/plotly/templates/utils.ts new file mode 100644 index 00000000..160d4824 --- /dev/null +++ b/packages/flint-js/src/plotly/templates/utils.ts @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * Shared helper functions for Plotly template hooks. + * Pure logic — no UI dependencies. + */ + +import type { ChannelSemantics } from '../../core/types'; + +const isDiscrete = (type: string | undefined) => type === 'nominal' || type === 'ordinal'; + +/** + * Extract unique category values from data for a given field, preserving order. + * If `ordinalSortOrder` is provided, returns values sorted in that canonical order. + */ +export function extractCategories(data: any[], field: string, ordinalSortOrder?: string[]): string[] { + const seen = new Set(); + const result: string[] = []; + for (const row of data) { + const val = row[field]; + if (val != null) { + const key = String(val); + if (!seen.has(key)) { + seen.add(key); + result.push(key); + } + } + } + + if (ordinalSortOrder && ordinalSortOrder.length > 0) { + const orderMap = new Map(ordinalSortOrder.map((v, i) => [v, i])); + result.sort((a, b) => { + const ia = orderMap.get(a); + const ib = orderMap.get(b); + if (ia !== undefined && ib !== undefined) return ia - ib; + if (ia !== undefined) return -1; + if (ib !== undefined) return 1; + return 0; + }); + } + + return result; +} + +/** + * Group data by a categorical field. + * Returns a map: seriesName → rows[]. + */ +export function groupBy(data: any[], field: string): Map { + const groups = new Map(); + for (const row of data) { + const key = String(row[field] ?? ''); + if (!groups.has(key)) groups.set(key, []); + groups.get(key)!.push(row); + } + return groups; +} + +/** + * Build category-aligned value array for a subset of rows. + * Returns values indexed by category position (null for missing). + */ +export function buildCategoryAlignedData( + rows: any[], + catField: string, + valField: string, + categories: string[], +): (number | null)[] { + const map = new Map(); + for (const row of rows) { + const key = String(row[catField] ?? ''); + const val = row[valField]; + if (val != null && !isNaN(val)) { + map.set(key, (map.get(key) ?? 0) + Number(val)); + } + } + return categories.map(cat => map.get(cat) ?? null); +} + +/** + * Detect which axis is the category (banded) axis and which is the value axis. + */ +export function detectAxes( + channelSemantics: Record, +): { categoryAxis: 'x' | 'y'; valueAxis: 'x' | 'y' } { + const xCS = channelSemantics.x; + const yCS = channelSemantics.y; + + if (xCS && isDiscrete(xCS.type)) { + return { categoryAxis: 'x', valueAxis: 'y' }; + } + if (yCS && isDiscrete(yCS.type)) { + return { categoryAxis: 'y', valueAxis: 'x' }; + } + return { categoryAxis: 'x', valueAxis: 'y' }; +} + +/** + * Coerce a temporal value to an ISO-8601 string for Plotly's native `date` + * axis. Numbers below 1e12 are treated as Unix seconds; strings and Dates are + * parsed directly. Returns null when unparseable. + */ +export function coerceIsoDateForPlotly(raw: unknown): string | null { + if (raw == null) return null; + let ms: number; + if (typeof raw === 'number' && Number.isFinite(raw)) { + ms = raw < 1e12 ? Math.round(raw * 1000) : raw; + } else if (raw instanceof Date) { + ms = raw.getTime(); + } else { + ms = new Date(String(raw)).getTime(); + } + return Number.isFinite(ms) ? new Date(ms).toISOString() : null; +} + +/** + * Plotly's default qualitative palette (plotly.js `layout.colorway` defaults). + * Kept local to this backend, mirroring how each backend owns its palette. + * Integration with core color-decisions is a follow-up. + */ +export const PLOTLY_COLORS = [ + '#636efa', // blue-violet + '#EF553B', // red-orange + '#00cc96', // green + '#ab63fa', // purple + '#FFA15A', // orange + '#19d3f3', // cyan + '#FF6692', // pink + '#B6E880', // light green + '#FF97FF', // magenta + '#FECB52', // yellow +]; + +/** Series color by index (wraps around the default palette). */ +export function getSeriesColor(index: number): string { + return PLOTLY_COLORS[index % PLOTLY_COLORS.length]; +} diff --git a/packages/flint-js/tests/plotly-backend.test.ts b/packages/flint-js/tests/plotly-backend.test.ts new file mode 100644 index 00000000..bdf64202 --- /dev/null +++ b/packages/flint-js/tests/plotly-backend.test.ts @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { describe, it, expect } from 'vitest'; +import { assemblePlotly, plGetTemplateDef, plAllTemplateDefs } from '../src'; + +const SALES = [ + { region: 'East', revenue: 168 }, + { region: 'South', revenue: 167 }, + { region: 'North', revenue: 145 }, +]; + +const GROUPED = [ + { region: 'East', revenue: 168, year: '2024' }, + { region: 'South', revenue: 167, year: '2024' }, + { region: 'East', revenue: 120, year: '2025' }, + { region: 'South', revenue: 131, year: '2025' }, +]; + +const CARS = [ + { weight: 1.6, mpg: 32, origin: 'JP' }, + { weight: 2.1, mpg: 27, origin: 'US' }, + { weight: 1.9, mpg: 29, origin: 'EU' }, +]; + +const MONTHLY = [ + { month: '2025-01', value: 12 }, + { month: '2025-02', value: 18 }, + { month: '2025-03', value: 15 }, +]; + +function input(chartType: string, encodings: Record, values: any[], semantic_types: Record, chartProperties?: Record) { + return { + data: { values }, + semantic_types, + chart_spec: { chartType, encodings, baseSize: { width: 400, height: 300 }, ...(chartProperties ? { chartProperties } : {}) }, + } as any; +} + +/** Recursively assert a value contains no functions (pure JSON). */ +function assertNoFunctions(node: any, path = '$'): void { + if (typeof node === 'function') { + throw new Error(`function found at ${path}`); + } + if (node && typeof node === 'object') { + for (const [k, v] of Object.entries(node)) { + assertNoFunctions(v, `${path}.${k}`); + } + } +} + +describe('Plotly backend', () => { + it('registers exactly the four acceptance templates', () => { + expect(plAllTemplateDefs.map(t => t.chart).sort()).toEqual( + ['Area Chart', 'Bar Chart', 'Line Chart', 'Scatter Plot'], + ); + expect(plGetTemplateDef('Bar Chart')).toBeDefined(); + }); + + it('throws on an unregistered chart type', () => { + expect(() => + assemblePlotly(input('Heatmap', { x: { field: 'region' }, y: { field: 'revenue' } }, SALES, { region: 'Region', revenue: 'Amount' })), + ).toThrow(/Unknown Plotly chart type/); + }); + + it('bar: builds a bar trace with category order and zero baseline', () => { + const fig = assemblePlotly(input('Bar Chart', { x: { field: 'region' }, y: { field: 'revenue' } }, SALES, { region: 'Region', revenue: 'Amount' })); + expect(fig.data).toHaveLength(1); + expect(fig.data[0].type).toBe('bar'); + expect(fig.data[0].x).toEqual(['East', 'South', 'North']); + expect(fig.data[0].y).toEqual([168, 167, 145]); + expect(fig.layout.xaxis.type).toBe('category'); + expect(fig.layout.yaxis.rangemode).toBe('tozero'); + expect(fig.layout.width).toBeGreaterThan(0); + expect(fig.layout.height).toBeGreaterThan(0); + }); + + it('bar: transposes to horizontal when the category is on y', () => { + const fig = assemblePlotly(input('Bar Chart', { x: { field: 'revenue' }, y: { field: 'region' } }, SALES, { region: 'Region', revenue: 'Amount' })); + expect(fig.data[0].orientation).toBe('h'); + expect(fig.data[0].y).toEqual(['East', 'South', 'North']); + expect(fig.layout.xaxis.rangemode).toBe('tozero'); + }); + + it('line: one trace per color group with legend on', () => { + const fig = assemblePlotly(input('Line Chart', { x: { field: 'region' }, y: { field: 'revenue' }, color: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' })); + expect(fig.data).toHaveLength(2); + expect(fig.data.map((t: any) => t.name)).toEqual(['2024', '2025']); + expect(fig.data[0].mode).toBe('lines'); + expect(fig.layout.showlegend).toBe(true); + }); + + it('line: temporal x uses a native date axis with ISO values', () => { + const fig = assemblePlotly(input('Line Chart', { x: { field: 'month' }, y: { field: 'value' } }, MONTHLY, { month: 'YearMonth', value: 'Amount' })); + expect(fig.layout.xaxis.type).toBe('date'); + expect(typeof fig.data[0].x[0]).toBe('string'); + expect(fig.data[0].x[0]).toMatch(/^\d{4}-\d{2}-\d{2}T/); + }); + + it('area: stacked color groups use stackgroup; single series fills to zero', () => { + const grouped = assemblePlotly(input('Area Chart', { x: { field: 'region' }, y: { field: 'revenue' }, color: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' })); + expect(grouped.data.every((t: any) => t.stackgroup === 'one')).toBe(true); + + const single = assemblePlotly(input('Area Chart', { x: { field: 'region' }, y: { field: 'revenue' } }, SALES, { region: 'Region', revenue: 'Amount' })); + expect(single.data[0].fill).toBe('tozeroy'); + }); + + it('scatter: markers mode, per-group traces, no forced zero for open measures', () => { + const fig = assemblePlotly(input('Scatter Plot', { x: { field: 'weight' }, y: { field: 'mpg' }, color: { field: 'origin' } }, CARS, { weight: 'Quantity', mpg: 'Quantity', origin: 'Country' })); + expect(fig.data).toHaveLength(3); + expect(fig.data[0].mode).toBe('markers'); + expect(fig.data[0].marker.size).toBeGreaterThan(0); + }); + + it('drops unsupported facet channels with a warning instead of throwing', () => { + const fig = assemblePlotly(input('Bar Chart', { x: { field: 'region' }, y: { field: 'revenue' }, column: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' })); + expect(fig.data[0].type).toBe('bar'); + expect(fig._warnings?.some((w: any) => /column/.test(w.message))).toBe(true); + }); + + it('figures are pure JSON for all four templates', () => { + const figures = [ + assemblePlotly(input('Bar Chart', { x: { field: 'region' }, y: { field: 'revenue' } }, SALES, { region: 'Region', revenue: 'Amount' })), + assemblePlotly(input('Line Chart', { x: { field: 'month' }, y: { field: 'value' } }, MONTHLY, { month: 'YearMonth', value: 'Amount' })), + assemblePlotly(input('Area Chart', { x: { field: 'region' }, y: { field: 'revenue' }, color: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' })), + assemblePlotly(input('Scatter Plot', { x: { field: 'weight' }, y: { field: 'mpg' } }, CARS, { weight: 'Quantity', mpg: 'Quantity' })), + ]; + for (const fig of figures) { + assertNoFunctions(fig); + expect(JSON.parse(JSON.stringify(fig))).toEqual(fig); + } + }); +}); diff --git a/packages/flint-js/tests/smoke.test.ts b/packages/flint-js/tests/smoke.test.ts index 1684754d..a8891eab 100644 --- a/packages/flint-js/tests/smoke.test.ts +++ b/packages/flint-js/tests/smoke.test.ts @@ -6,6 +6,7 @@ import { assembleVegaLite, assembleECharts, assembleChartjs, + assemblePlotly, } from '../src'; const DATA = [ @@ -47,6 +48,13 @@ describe('public API smoke', () => { expect(config.type ?? config.data ?? config.options).toBeDefined(); }); + it('assemblePlotly returns a figure object', () => { + const figure = assemblePlotly(INPUT) as any; + expect(figure).toBeDefined(); + expect(Array.isArray(figure.data)).toBe(true); + expect(figure.layout).toBeDefined(); + }); + it('line chart with quantitative color uses a line layer plus colored points', () => { const spec = assembleVegaLite({ data: { diff --git a/packages/flint-js/tsup.config.ts b/packages/flint-js/tsup.config.ts index 860a3862..3b11b9a7 100644 --- a/packages/flint-js/tsup.config.ts +++ b/packages/flint-js/tsup.config.ts @@ -7,6 +7,7 @@ export default defineConfig({ 'vegalite/index': 'src/vegalite/index.ts', 'echarts/index': 'src/echarts/index.ts', 'chartjs/index': 'src/chartjs/index.ts', + 'plotly/index': 'src/plotly/index.ts', 'test-data/index': 'src/test-data/index.ts', 'gallery/index': 'src/gallery/index.ts', }, @@ -17,5 +18,5 @@ export default defineConfig({ splitting: false, treeshake: true, target: 'es2020', - external: ['vega', 'vega-lite', 'echarts', 'chart.js'], + external: ['vega', 'vega-lite', 'echarts', 'chart.js', 'plotly.js'], }); From 19d762e2ce716a2c716636c545ec741839b8fb57 Mon Sep 17 00:00:00 2001 From: jason-zl190 Date: Sat, 18 Jul 2026 23:04:16 +0800 Subject: [PATCH 2/7] feat(site): render the Plotly backend in gallery and editor PlotlyView (plotly.js-dist-min, designed-size wrapper mirroring ChartjsView), a BACKENDS adapter entry, and the per-view dispatch lines in WallChart / TripleChart / DocChart. Editor output language and ChartWall result names gain their 'plotly' entries. Co-Authored-By: Claude Fable 5 --- package-lock.json | 22 +++++------ site/package.json | 1 + site/src/components/DocChart.tsx | 2 + site/src/components/PlotlyView.tsx | 57 +++++++++++++++++++++++++++ site/src/components/TripleChart.tsx | 2 + site/src/components/WallChart.tsx | 2 + site/src/routes/ChartWall.tsx | 1 + site/src/routes/Editor.tsx | 1 + site/src/shared/supported-backends.ts | 10 ++++- site/src/types/plotly.d.ts | 7 ++++ 10 files changed, 93 insertions(+), 12 deletions(-) create mode 100644 site/src/components/PlotlyView.tsx create mode 100644 site/src/types/plotly.d.ts diff --git a/package-lock.json b/package-lock.json index 12cd7f8e..45112eac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5545,7 +5545,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5567,7 +5566,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5589,7 +5587,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5611,7 +5608,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5633,7 +5629,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5655,7 +5650,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5677,7 +5671,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5699,7 +5692,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5721,7 +5713,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5743,7 +5734,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -5765,7 +5755,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -7242,6 +7231,12 @@ "pathe": "^2.0.1" } }, + "node_modules/plotly.js-dist-min": { + "version": "2.35.3", + "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.35.3.tgz", + "integrity": "sha512-sz2HLP8gkysLx/BanM2PtJTtZ1PLPwdHwMWNri2YxLBy3IOeuDsVQtlmWa4hoK3j/fi4naaD3uZJqH5ozM3zGg==", + "license": "MIT" + }, "node_modules/postcss": { "version": "8.5.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", @@ -9614,6 +9609,7 @@ "peerDependencies": { "chart.js": "^4.0.0", "echarts": "^5.0.0 || ^6.0.0", + "plotly.js": "^2.0.0 || ^3.0.0", "vega": "^5.0.0 || ^6.0.0", "vega-lite": "^5.0.0 || ^6.0.0" }, @@ -9624,6 +9620,9 @@ "echarts": { "optional": true }, + "plotly.js": { + "optional": true + }, "vega": { "optional": true }, @@ -9843,6 +9842,7 @@ "flint-chart": "*", "i18next": "^26.3.6", "katex": "^0.17.0", + "plotly.js-dist-min": "^2.35.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^17.0.10", diff --git a/site/package.json b/site/package.json index 72d39abd..698d0229 100644 --- a/site/package.json +++ b/site/package.json @@ -16,6 +16,7 @@ "@uiw/react-codemirror": "^4.23.0", "chart.js": "^4.5.1", "echarts": "^6.0.0", + "plotly.js-dist-min": "^2.35.2", "flint-chart": "*", "i18next": "^26.3.6", "katex": "^0.17.0", diff --git a/site/src/components/DocChart.tsx b/site/src/components/DocChart.tsx index eea0ad8c..b91d7272 100644 --- a/site/src/components/DocChart.tsx +++ b/site/src/components/DocChart.tsx @@ -3,6 +3,7 @@ import { TEST_GENERATORS } from 'flint-chart/test-data'; import { VegaLiteView } from './VegaLiteView'; import { EChartsView } from './EChartsView'; import { ChartjsView } from './ChartjsView'; +import { PlotlyView } from './PlotlyView'; import { ScaleToFit } from './ScaleToFit'; import { testCaseToAssemblyInput, type CanvasSize } from '../shared/test-case-utils'; import { BACKENDS, type PreviewBackend } from '../shared/supported-backends'; @@ -147,6 +148,7 @@ export function DocChart({ source, backend = 'vegalite' }: { source: string; bac {result.kind === 'vegalite' && } {result.kind === 'echarts' && } {result.kind === 'chartjs' && } + {result.kind === 'plotly' && } ); diff --git a/site/src/components/PlotlyView.tsx b/site/src/components/PlotlyView.tsx new file mode 100644 index 00000000..04261adb --- /dev/null +++ b/site/src/components/PlotlyView.tsx @@ -0,0 +1,57 @@ +import { useEffect, useRef } from 'react'; +import Plotly from 'plotly.js-dist-min'; + +const asFinite = (v: unknown): number | undefined => + typeof v === 'number' && Number.isFinite(v) ? v : undefined; + +/** + * Plotly renderer. + * + * The flint Plotly assembler computes a designed figure size (`_width`/`_height`, + * also written into `layout.width`/`layout.height`). Render into a wrapper sized + * to those dimensions so the plot keeps its designed proportions, the same way + * the other backend views render at their natural designed size. + */ +export function PlotlyView({ + figure, + height = 320, + constrain = true, +}: { + figure: any; + height?: number; + /** When false, render at the designed pixel size without clamping to the + * container width (used by the photo-wall, which scales charts to fit). */ + constrain?: boolean; +}) { + const ref = useRef(null); + + const designedWidth = asFinite(figure?._width); + const designedHeight = asFinite(figure?._height); + const renderHeight = designedHeight ?? height; + + useEffect(() => { + const el = ref.current; + if (!el) return; + Plotly.newPlot(el, figure?.data ?? [], figure?.layout ?? {}, { + displayModeBar: false, + responsive: false, + }); + return () => { + Plotly.purge(el); + }; + }, [figure]); + + return ( +
+
+
+ ); +} diff --git a/site/src/components/TripleChart.tsx b/site/src/components/TripleChart.tsx index 582202dc..8cd17a5e 100644 --- a/site/src/components/TripleChart.tsx +++ b/site/src/components/TripleChart.tsx @@ -3,6 +3,7 @@ import type { TestCase } from 'flint-chart/test-data'; import { VegaLiteView } from './VegaLiteView'; import { EChartsView } from './EChartsView'; import { ChartjsView } from './ChartjsView'; +import { PlotlyView } from './PlotlyView'; import { testCaseToAssemblyInput } from '../shared/test-case-utils'; import { BACKENDS, @@ -130,6 +131,7 @@ export function TripleChart({ {backend === 'vegalite' && } {backend === 'echarts' && } {backend === 'chartjs' && } + {backend === 'plotly' && } ) : (
diff --git a/site/src/components/WallChart.tsx b/site/src/components/WallChart.tsx
index 66fd0368..178f6d55 100644
--- a/site/src/components/WallChart.tsx
+++ b/site/src/components/WallChart.tsx
@@ -3,6 +3,7 @@ import type { TestCase } from 'flint-chart/test-data';
 import { VegaLiteView } from './VegaLiteView';
 import { EChartsView } from './EChartsView';
 import { ChartjsView } from './ChartjsView';
+import { PlotlyView } from './PlotlyView';
 import { testCaseToAssemblyInput, thumbnailCanvasSize, type CanvasSize } from '../shared/test-case-utils';
 import { BACKENDS, type PreviewBackend } from '../shared/supported-backends';
 import { siteTheme } from '../shared/theme';
@@ -68,5 +69,6 @@ export function WallChart({
 
   if (backend === 'vegalite') return ;
   if (backend === 'echarts') return ;
+  if (backend === 'plotly') return ;
   return ;
 }
diff --git a/site/src/routes/ChartWall.tsx b/site/src/routes/ChartWall.tsx
index 1b9aae3e..2454f32e 100644
--- a/site/src/routes/ChartWall.tsx
+++ b/site/src/routes/ChartWall.tsx
@@ -561,6 +561,7 @@ function BackendIntro({
     vegalite: 'spec',
     echarts: 'option',
     chartjs: 'config',
+    plotly: 'figure',
   };
   const snippet = `import { ${category.fn} } from 'flint-chart';
 
diff --git a/site/src/routes/Editor.tsx b/site/src/routes/Editor.tsx
index a3317a92..f9306a22 100644
--- a/site/src/routes/Editor.tsx
+++ b/site/src/routes/Editor.tsx
@@ -318,6 +318,7 @@ const OUTPUT_LANG: Record = {
   vegalite: 'Vega-Lite JSON',
   echarts: 'ECharts option',
   chartjs: 'Chart.js config',
+  plotly: 'Plotly figure',
 };
 
 /**
diff --git a/site/src/shared/supported-backends.ts b/site/src/shared/supported-backends.ts
index f4c4ea1f..961e220f 100644
--- a/site/src/shared/supported-backends.ts
+++ b/site/src/shared/supported-backends.ts
@@ -2,13 +2,15 @@ import {
   assembleVegaLite,
   assembleECharts,
   assembleChartjs,
+  assemblePlotly,
   cjsGetTemplateDef,
   ecGetTemplateDef,
   vlGetTemplateDef,
+  plGetTemplateDef,
   type ChartAssemblyInput,
 } from 'flint-chart';
 
-export type PreviewBackend = 'vegalite' | 'echarts' | 'chartjs';
+export type PreviewBackend = 'vegalite' | 'echarts' | 'chartjs' | 'plotly';
 
 /** A backend's template def (or `undefined` when it has no template for a type). */
 type TemplateDef = ReturnType;
@@ -51,6 +53,12 @@ export const BACKENDS: Record = {
     assemble: assembleChartjs,
     getTemplateDef: cjsGetTemplateDef,
   },
+  plotly: {
+    id: 'plotly',
+    label: 'Plotly',
+    assemble: assemblePlotly,
+    getTemplateDef: plGetTemplateDef,
+  },
 };
 
 export const ALL_BACKENDS = Object.keys(BACKENDS) as PreviewBackend[];
diff --git a/site/src/types/plotly.d.ts b/site/src/types/plotly.d.ts
new file mode 100644
index 00000000..5116476f
--- /dev/null
+++ b/site/src/types/plotly.d.ts
@@ -0,0 +1,7 @@
+declare module 'plotly.js-dist-min' {
+  const Plotly: {
+    newPlot: (el: HTMLElement, data: unknown[], layout?: unknown, config?: unknown) => Promise;
+    purge: (el: HTMLElement) => void;
+  };
+  export default Plotly;
+}

From 77451f6f1ee85c04d32021dece8e4867c57e6d12 Mon Sep 17 00:00:00 2001
From: jason-zl190 
Date: Sat, 18 Jul 2026 23:27:19 +0800
Subject: [PATCH 3/7] feat(plotly): facet grids and color-decision palettes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Facets: column/row encodings render as a subplot grid (facet.ts) —
per-panel axis pairs with explicit domains, mirroring the Chart.js
backend's facet decisions: shared nice-rounded y-domain, y tick
labels and title on the leftmost column only, column-only wrapping
from the shared facet budget, column headers above panels. Row
headers sit on the right (Vega-Lite style) because the left edge is
occupied by y labels in a single combined figure; x-axis titles show
on the bottom row only for the same reason. The first-merge
'unsupported-channel' warning path is gone — all four templates now
declare column/row.

Colors: colormap.ts mirrors chartjs/colormap.ts — core color
decisions (schemeType / schemeId / categoryCount) pick from
Plotly-native palettes (plotly10 / light24 qualitative, viridis
sequential, RdBu diverging); templates thread the resolved palette
instead of indexing the default colorway directly.

Co-Authored-By: Claude Fable 5 
---
 package-lock.json                             |  22 +-
 packages/flint-js/src/plotly/assemble.ts      | 160 ++++++++++---
 packages/flint-js/src/plotly/colormap.ts      | 160 +++++++++++++
 packages/flint-js/src/plotly/facet.ts         | 216 ++++++++++++++++++
 .../flint-js/src/plotly/templates/area.ts     |   6 +-
 packages/flint-js/src/plotly/templates/bar.ts |   7 +-
 .../flint-js/src/plotly/templates/line.ts     |   6 +-
 .../flint-js/src/plotly/templates/scatter.ts  |   7 +-
 .../flint-js/src/plotly/templates/utils.ts    |  34 ++-
 9 files changed, 565 insertions(+), 53 deletions(-)
 create mode 100644 packages/flint-js/src/plotly/colormap.ts
 create mode 100644 packages/flint-js/src/plotly/facet.ts

diff --git a/package-lock.json b/package-lock.json
index 45112eac..12cd7f8e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5545,6 +5545,7 @@
       "os": [
         "android"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5566,6 +5567,7 @@
       "os": [
         "darwin"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5587,6 +5589,7 @@
       "os": [
         "darwin"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5608,6 +5611,7 @@
       "os": [
         "freebsd"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5629,6 +5633,7 @@
       "os": [
         "linux"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5650,6 +5655,7 @@
       "os": [
         "linux"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5671,6 +5677,7 @@
       "os": [
         "linux"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5692,6 +5699,7 @@
       "os": [
         "linux"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5713,6 +5721,7 @@
       "os": [
         "linux"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5734,6 +5743,7 @@
       "os": [
         "win32"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -5755,6 +5765,7 @@
       "os": [
         "win32"
       ],
+      "peer": true,
       "engines": {
         "node": ">= 12.0.0"
       },
@@ -7231,12 +7242,6 @@
         "pathe": "^2.0.1"
       }
     },
-    "node_modules/plotly.js-dist-min": {
-      "version": "2.35.3",
-      "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.35.3.tgz",
-      "integrity": "sha512-sz2HLP8gkysLx/BanM2PtJTtZ1PLPwdHwMWNri2YxLBy3IOeuDsVQtlmWa4hoK3j/fi4naaD3uZJqH5ozM3zGg==",
-      "license": "MIT"
-    },
     "node_modules/postcss": {
       "version": "8.5.15",
       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
@@ -9609,7 +9614,6 @@
       "peerDependencies": {
         "chart.js": "^4.0.0",
         "echarts": "^5.0.0 || ^6.0.0",
-        "plotly.js": "^2.0.0 || ^3.0.0",
         "vega": "^5.0.0 || ^6.0.0",
         "vega-lite": "^5.0.0 || ^6.0.0"
       },
@@ -9620,9 +9624,6 @@
         "echarts": {
           "optional": true
         },
-        "plotly.js": {
-          "optional": true
-        },
         "vega": {
           "optional": true
         },
@@ -9842,7 +9843,6 @@
         "flint-chart": "*",
         "i18next": "^26.3.6",
         "katex": "^0.17.0",
-        "plotly.js-dist-min": "^2.35.2",
         "react": "^18.3.1",
         "react-dom": "^18.3.1",
         "react-i18next": "^17.0.10",
diff --git a/packages/flint-js/src/plotly/assemble.ts b/packages/flint-js/src/plotly/assemble.ts
index 2cb94dc3..628bb304 100644
--- a/packages/flint-js/src/plotly/assemble.ts
+++ b/packages/flint-js/src/plotly/assemble.ts
@@ -20,14 +20,14 @@
  *   Figures are pure JSON — no callback functions anywhere — so compiled
  *   specs survive serialization across process boundaries.
  *
- * First-merge scope: no `column` / `row` facet support; encodings on
- * unsupported channels are dropped with a warning (follow-up: subplot grids).
+ * column/row facets render as a subplot grid (see facet.ts), mirroring the
+ * Chart.js backend's facet decisions (shared nice y-domain, leftmost-only
+ * y labels, column wrapping).
  *
  * This module has NO React, Redux, or UI framework dependencies.
  */
 
 import {
-    ChartEncoding,
     ChartTemplateDef,
     ChartAssemblyInput,
     AssembleOptions,
@@ -44,6 +44,7 @@ import { filterOverflow } from '../core/filter-overflow';
 import { computeLayout, computeChannelBudgets, deriveStretchCaps, resolveBaseSize } from '../core/compute-layout';
 import { decideColorMaps } from '../core/color-decisions';
 import { plApplyLayoutToSpec, plApplyTooltips } from './instantiate-spec';
+import { plCombineFacetPanels, niceBounds, type PlotlyFacetPanel } from './facet';
 import { normalizeStaticSeries } from '../core/static-series';
 import { normalizeChartProperties } from '../core/normalize-properties';
 
@@ -93,24 +94,7 @@ export function assemblePlotly(input: ChartAssemblyInput): any {
     let data = normalized.data;
     const staticSeries = normalized.staticSeries;
 
-    // First-merge scope: drop encodings on channels this template does not
-    // declare (notably column/row facets) instead of silently mis-rendering.
-    const supported: Record = {};
-    for (const [ch, enc] of Object.entries(normalized.encodings)) {
-        if (chartTemplate.channels.includes(ch)) {
-            supported[ch] = enc;
-        } else {
-            warnings.push({
-                severity: 'warning',
-                code: 'unsupported-channel',
-                message: `Channel "${ch}" is not supported by the Plotly ${chartType} template yet and was ignored.`,
-                channel: ch,
-                field: enc.field,
-            });
-        }
-    }
-
-    const encodings = applyEncodingOverrides(chartTemplate, supported, chartProperties);
+    const encodings = applyEncodingOverrides(chartTemplate, normalized.encodings, chartProperties);
 
     // Optional aggregation transform — see vegalite/assemble for rationale.
     data = applyAggregation(encodings, data);
@@ -233,11 +217,135 @@ export function assemblePlotly(input: ChartAssemblyInput): any {
         }),
     };
 
-    const figure: any = structuredClone(chartTemplate.template);
-    chartTemplate.instantiate(figure, instantiateContext);
-    plApplyLayoutToSpec(figure, instantiateContext, warnings);
-    if (addTooltipsOpt) plApplyTooltips(figure);
-    if (chartTemplate.postProcess) chartTemplate.postProcess(figure, instantiateContext);
+    const colField = channelSemantics.column?.field;
+    const rowField = channelSemantics.row?.field;
+    const hasFacet = !!(colField || rowField);
+
+    let figure: any;
+    if (hasFacet) {
+        const colValues = colField ? [...new Set(values.map((r: any) => String(r[colField])))] : [''];
+        const rowValues = rowField ? [...new Set(values.map((r: any) => String(r[rowField])))] : [''];
+
+        // Shared y-domain across panels (mirror the Chart.js backend): nice
+        // bounds so the shared top/bottom land on round tick values.
+        const yField = channelSemantics.y?.field;
+        let sharedYDomain: { min: number; max: number } | undefined;
+        if (yField) {
+            const nums = values
+                .map((r: any) => r[yField])
+                .filter((v: any) => typeof v === 'number' && Number.isFinite(v)) as number[];
+            if (nums.length > 0) {
+                const rawMin = Math.min(...nums);
+                const rawMax = Math.max(...nums);
+                const forceZero = !!channelSemantics.y?.zero?.zero;
+                const min = forceZero ? Math.min(0, rawMin) : rawMin;
+                const max = forceZero ? Math.max(0, rawMax) : rawMax;
+                sharedYDomain = niceBounds(min, max);
+            }
+        }
+
+        // Column wrapping: a column-only facet with more categories than fit
+        // in one row wraps into a 2D grid (matching the other backends). The
+        // wrap width comes from the shared facet-grid budget.
+        const maxColsPerRow = (colField && !rowField)
+            ? (facetGridResult?.columns ?? colValues.length)
+            : colValues.length;
+        const wrapColumnOnly = !!colField && !rowField && maxColsPerRow < colValues.length;
+
+        const gridRows: Array> = [];
+        if (wrapColumnOnly) {
+            for (let i = 0; i < colValues.length; i += maxColsPerRow) {
+                gridRows.push(
+                    colValues.slice(i, i + maxColsPerRow).map((cv) => ({ colVal: cv, rowVal: '' })),
+                );
+            }
+        } else {
+            for (let ri = 0; ri < rowValues.length; ri++) {
+                gridRows.push(colValues.map((cv) => ({ colVal: cv, rowVal: rowValues[ri] })));
+            }
+        }
+        const gridCols = Math.max(1, ...gridRows.map(r => r.length));
+
+        // Panel plot size — same discrete/continuous rules as plApplyLayoutToSpec.
+        const xIsDiscrete = layoutResult.xNominalCount > 0 || layoutResult.xContinuousAsDiscrete > 0;
+        const yIsDiscrete = layoutResult.yNominalCount > 0 || layoutResult.yContinuousAsDiscrete > 0;
+        let panelWidth: number;
+        let panelHeight: number;
+        if (xIsDiscrete && layoutResult.xStepUnit !== 'group') {
+            const n = layoutResult.xNominalCount || layoutResult.xContinuousAsDiscrete || 0;
+            panelWidth = n > 0 ? layoutResult.xStep * n : (layoutResult.subplotWidth || canvasSize.width);
+        } else {
+            panelWidth = layoutResult.subplotWidth || canvasSize.width;
+        }
+        if (yIsDiscrete && layoutResult.yStepUnit !== 'group') {
+            const n = layoutResult.yNominalCount || layoutResult.yContinuousAsDiscrete || 0;
+            panelHeight = n > 0 ? layoutResult.yStep * n : (layoutResult.subplotHeight || canvasSize.height);
+        } else {
+            panelHeight = layoutResult.subplotHeight || canvasSize.height;
+        }
+
+        const panels: PlotlyFacetPanel[] = [];
+        for (let ri = 0; ri < gridRows.length; ri++) {
+            const cells = gridRows[ri];
+            for (let ci = 0; ci < cells.length; ci++) {
+                const { colVal, rowVal } = cells[ci];
+                const panelData = values.filter((r: any) => {
+                    if (colField && String(r[colField]) !== colVal) return false;
+                    if (rowField && String(r[rowField]) !== rowVal) return false;
+                    return true;
+                });
+
+                const panelFigure: any = structuredClone(chartTemplate.template);
+                const panelContext: InstantiateContext = {
+                    ...instantiateContext,
+                    table: panelData,
+                };
+                chartTemplate.instantiate(panelFigure, panelContext);
+                if (chartTemplate.postProcess) chartTemplate.postProcess(panelFigure, panelContext);
+
+                panels.push({
+                    rowIndex: ri,
+                    colIndex: ci,
+                    rowHeader: rowField ? rowVal : undefined,
+                    colHeader: colField ? colVal : undefined,
+                    figure: panelFigure,
+                });
+            }
+        }
+
+        figure = plCombineFacetPanels(panels, {
+            rows: gridRows.length,
+            cols: gridCols,
+            panelWidth,
+            panelHeight,
+            sharedYDomain,
+            hasColHeader: !!colField,
+            hasRowHeader: !!rowField,
+            colHeaderPerRow: wrapColumnOnly,
+            showLegend: !!channelSemantics.color?.field,
+        });
+
+        // Apply the shared x-label rotation / font decisions to every panel axis.
+        if (layoutResult.xLabel) {
+            for (const key of Object.keys(figure.layout)) {
+                if (!/^xaxis\d*$/.test(key)) continue;
+                const ax = figure.layout[key];
+                if (layoutResult.xLabel.labelAngle) {
+                    ax.tickangle = Math.abs(layoutResult.xLabel.labelAngle);
+                }
+                if (layoutResult.xLabel.fontSize) {
+                    ax.tickfont = { ...(ax.tickfont || {}), size: layoutResult.xLabel.fontSize };
+                }
+            }
+        }
+        if (addTooltipsOpt) plApplyTooltips(figure);
+    } else {
+        figure = structuredClone(chartTemplate.template);
+        chartTemplate.instantiate(figure, instantiateContext);
+        plApplyLayoutToSpec(figure, instantiateContext, warnings);
+        if (addTooltipsOpt) plApplyTooltips(figure);
+        if (chartTemplate.postProcess) chartTemplate.postProcess(figure, instantiateContext);
+    }
 
     // ═══════════════════════════════════════════════════════════════════════
     // RESULT
diff --git a/packages/flint-js/src/plotly/colormap.ts b/packages/flint-js/src/plotly/colormap.ts
new file mode 100644
index 00000000..54afa6d3
--- /dev/null
+++ b/packages/flint-js/src/plotly/colormap.ts
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+// Plotly 专用调色板定义。
+// 承接 core/color-decisions.ts 中的抽象 colormap 信息(schemeType / schemeId / categoryCount),
+// 但真正的颜色数组与选盘策略完全在 Plotly backend 本地实现,并尽量贴近 Plotly 默认配色。
+
+import type { ColorDecision, ColorMapType } from '../core/color-decisions';
+
+export type PlotlyPaletteId = 'plotly10' | 'light24' | 'viridis' | 'RdBu' | string;
+
+export interface PlotlyColorMapDef {
+    id: PlotlyPaletteId;
+    type: ColorMapType;
+    supportsDiscrete: boolean;
+    supportsContinuous: boolean;
+    background: 'light' | 'dark' | 'any';
+    colorblindSafe?: boolean;
+    maxCategories?: number;
+    diverging?: boolean;
+    preferredMidpoint?: number;
+    colors: string[];
+}
+
+/**
+ * Plotly 常用的基础配色。plotly10 即 plotly.js 默认 `layout.colorway`;
+ * light24 对应 px.colors.qualitative.Light24 的前 20 色,用于高基数类别。
+ */
+const PLOTLY_COLOR_MAPS: PlotlyColorMapDef[] = [
+    {
+        id: 'plotly10',
+        type: 'categorical',
+        supportsDiscrete: true,
+        supportsContinuous: false,
+        background: 'any',
+        maxCategories: 10,
+        colorblindSafe: false,
+        colors: [
+            '#636efa', // blue-violet
+            '#EF553B', // red-orange
+            '#00cc96', // green
+            '#ab63fa', // purple
+            '#FFA15A', // orange
+            '#19d3f3', // cyan
+            '#FF6692', // pink
+            '#B6E880', // light green
+            '#FF97FF', // magenta
+            '#FECB52', // yellow
+        ],
+    },
+    {
+        id: 'light24',
+        type: 'categorical',
+        supportsDiscrete: true,
+        supportsContinuous: false,
+        background: 'light',
+        maxCategories: 24,
+        colorblindSafe: false,
+        colors: [
+            '#FD3216', '#00FE35', '#6A76FC', '#FED4C4', '#FE00CE',
+            '#0DF9FF', '#F6F926', '#FF9616', '#479B55', '#EEA6FB',
+            '#DC587D', '#D626FF', '#6E899C', '#00B5F7', '#B68E00',
+            '#C9FBE5', '#FF0092', '#22FFA7', '#E3EE9E', '#86CE00',
+            '#BC7196', '#7E7DCD', '#FC6955', '#E48F72',
+        ],
+    },
+    {
+        id: 'viridis',
+        type: 'sequential',
+        supportsDiscrete: true,
+        supportsContinuous: true,
+        background: 'any',
+        colorblindSafe: true,
+        colors: [
+            '#440154', '#46327e', '#365c8d', '#277f8e',
+            '#1fa187', '#4ac16d', '#a0da39', '#fde725',
+        ],
+    },
+    {
+        id: 'RdBu',
+        type: 'diverging',
+        supportsDiscrete: true,
+        supportsContinuous: true,
+        background: 'any',
+        diverging: true,
+        preferredMidpoint: 0,
+        colors: [
+            '#b2182b', '#d6604d', '#f4a582', '#fddbc7',
+            '#f7f7f7',
+            '#d1e5f0', '#92c5de', '#4393c3', '#2166ac',
+        ],
+    },
+];
+
+function getMapById(id: PlotlyPaletteId | undefined): PlotlyColorMapDef | undefined {
+    if (!id) return undefined;
+    const key = String(id).toLowerCase();
+    return PLOTLY_COLOR_MAPS.find(m => m.id.toLowerCase() === key);
+}
+
+export function getPaletteForScheme(id: PlotlyPaletteId): string[] | undefined {
+    const entry = getMapById(id);
+    return entry?.colors;
+}
+
+/**
+ * Plotly 侧的「选盘」函数:等价于 chartjs/colormap.ts 的 pickChartJsPalette。
+ *
+ * 策略:
+ *   1)若用户显式指定了 schemeId,则优先按该 id 取 palette。
+ *   2)否则根据 schemeType + categoryCount 自动挑选合适的盘:
+ *        - categorical:按类别数量在 plotly10 / light24 之间选;
+ *        - sequential:优先 viridis;
+ *        - diverging :优先 RdBu。
+ *   3)若都无法命中,回退到 Plotly 默认 categorical palette(plotly10)。
+ */
+export function pickPlotlyPalette(decision: ColorDecision | undefined): string[] {
+    if (!decision) {
+        const fallback = getPaletteForScheme('plotly10');
+        return fallback && fallback.length ? fallback : [];
+    }
+
+    const { schemeType, schemeId, categoryCount } = decision;
+
+    if (schemeId) {
+        const fromId = getPaletteForScheme(schemeId);
+        if (fromId && fromId.length > 0) {
+            return fromId;
+        }
+    }
+
+    const mapsOfType = PLOTLY_COLOR_MAPS.filter(m => m.type === schemeType);
+
+    if (schemeType === 'categorical') {
+        const k = categoryCount ?? 0;
+        const candidates = mapsOfType.filter(m => m.supportsDiscrete);
+        if (candidates.length) {
+            const byCapacity = candidates
+                .filter(m => m.maxCategories == null || m.maxCategories >= k)
+                .sort((a, b) => (a.maxCategories ?? Infinity) - (b.maxCategories ?? Infinity));
+            const picked = byCapacity[0] ?? candidates[0];
+            if (picked.colors.length) {
+                return picked.colors;
+            }
+        }
+    } else if (schemeType === 'sequential') {
+        const seq = mapsOfType.find(m => m.supportsContinuous) ?? getMapById('viridis');
+        if (seq && seq.colors.length) {
+            return seq.colors;
+        }
+    } else if (schemeType === 'diverging') {
+        const divergingFirst = mapsOfType.find(m => m.diverging) ?? getMapById('RdBu');
+        if (divergingFirst && divergingFirst.colors.length) {
+            return divergingFirst.colors;
+        }
+    }
+
+    const fallback = getPaletteForScheme('plotly10');
+    return fallback && fallback.length ? fallback : [];
+}
diff --git a/packages/flint-js/src/plotly/facet.ts b/packages/flint-js/src/plotly/facet.ts
new file mode 100644
index 00000000..fe2a6ebe
--- /dev/null
+++ b/packages/flint-js/src/plotly/facet.ts
@@ -0,0 +1,216 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+/**
+ * Plotly facet grid assembly.
+ *
+ * Combines per-panel figures (one template instantiation per column/row cell)
+ * into a single Plotly figure using per-panel axis pairs (`xaxis`/`xaxis2`/…)
+ * with explicit domains — the Plotly-native equivalent of the Chart.js
+ * backend's facet panel grid (chartjs/assemble.ts), mirroring its decisions:
+ *   - shared, nice-rounded y-domain across all panels
+ *   - only the leftmost column draws y tick labels and the y-axis title
+ *   - column-only facets wrap into a 2D grid using the shared facet budget
+ *   - column headers above panels, row headers rotated on the left
+ *   - one legend entry per series (deduped across panels via legendgroup)
+ */
+
+/** One instantiated facet cell. */
+export interface PlotlyFacetPanel {
+    rowIndex: number;
+    colIndex: number;
+    rowHeader?: string;
+    colHeader?: string;
+    /** The per-panel figure produced by template.instantiate ({ data, layout }). */
+    figure: any;
+}
+
+/**
+ * Round a [min, max] interval outward to "nice" round numbers so the shared
+ * facet axis lands its endpoints on clean tick values (same rule as the
+ * Chart.js backend / Vega-Lite `nice: true`).
+ */
+export function niceBounds(min: number, max: number, targetTicks = 5): { min: number; max: number } {
+    if (!(Number.isFinite(min) && Number.isFinite(max)) || max <= min) {
+        return { min, max };
+    }
+    const niceNum = (range: number, round: boolean): number => {
+        const exp = Math.floor(Math.log10(range));
+        const frac = range / 10 ** exp;
+        let niceFrac: number;
+        if (round) {
+            niceFrac = frac < 1.5 ? 1 : frac < 3 ? 2 : frac < 7 ? 5 : 10;
+        } else {
+            niceFrac = frac <= 1 ? 1 : frac <= 2 ? 2 : frac <= 5 ? 5 : 10;
+        }
+        return niceFrac * 10 ** exp;
+    };
+    const step = niceNum(niceNum(max - min, false) / Math.max(1, targetTicks - 1), true);
+    return {
+        min: Math.floor(min / step) * step,
+        max: Math.ceil(max / step) * step,
+    };
+}
+
+const FACET_GAP_PX = 16;
+const COL_HEADER_H = 22;
+const ROW_HEADER_W = 28;
+const MARGIN = { l: 64, r: 24, t: 16, b: 48 };
+const LEGEND_GUTTER = 96;
+
+/**
+ * Combine instantiated facet panels into one Plotly figure.
+ *
+ * Each panel's own `layout.xaxis` / `layout.yaxis` (category arrays, titles,
+ * range modes) is copied onto that panel's axis pair; traces are re-pointed at
+ * the pair. Domains are computed from the designed pixel grid so the figure
+ * scales exactly like the other backends' facet output.
+ */
+export function plCombineFacetPanels(
+    panels: PlotlyFacetPanel[],
+    opts: {
+        rows: number;
+        cols: number;
+        panelWidth: number;
+        panelHeight: number;
+        sharedYDomain?: { min: number; max: number };
+        hasColHeader: boolean;
+        hasRowHeader: boolean;
+        /** Wrapped column-only facets repeat the header band above every row. */
+        colHeaderPerRow: boolean;
+        showLegend: boolean;
+    },
+): any {
+    const {
+        rows, cols, panelWidth, panelHeight, sharedYDomain,
+        hasColHeader, hasRowHeader, colHeaderPerRow, showLegend,
+    } = opts;
+
+    // Row headers sit on the RIGHT (Vega-Lite style): the left edge is already
+    // occupied by y tick labels + the y-axis title, so a left-side header would
+    // collide with them in a single combined figure.
+    const rowHeaderW = hasRowHeader ? ROW_HEADER_W : 0;
+    const headerBands = colHeaderPerRow ? rows : (hasColHeader ? 1 : 0);
+
+    const plotW = cols * panelWidth + (cols - 1) * FACET_GAP_PX;
+    const plotH = rows * panelHeight + (rows - 1) * FACET_GAP_PX
+        + headerBands * COL_HEADER_H;
+    const totalW = MARGIN.l + plotW + rowHeaderW + MARGIN.r + (showLegend ? LEGEND_GUTTER : 0);
+    const totalH = MARGIN.t + plotH + MARGIN.b;
+
+    // Paper-fraction geometry (Plotly domains live inside the margins).
+    const paperW = plotW + rowHeaderW;
+    const paperH = plotH;
+    const xFrac = (px: number) => px / paperW;
+    const yFrac = (px: number) => px / paperH;
+
+    const colX0 = (ci: number) => ci * (panelWidth + FACET_GAP_PX);
+    // Row band top (px from paper top), accounting for header bands.
+    const rowY0 = (ri: number) => (colHeaderPerRow
+        ? ri * (COL_HEADER_H + panelHeight + FACET_GAP_PX) + COL_HEADER_H
+        : (hasColHeader ? COL_HEADER_H : 0) + ri * (panelHeight + FACET_GAP_PX));
+
+    const figure: any = {
+        data: [],
+        layout: {
+            margin: { ...MARGIN },
+            showlegend: showLegend,
+            annotations: [],
+        },
+        _facet: true,
+        _facetRows: rows,
+        _facetCols: cols,
+        _width: totalW,
+        _height: totalH,
+    };
+    figure.layout.width = totalW;
+    figure.layout.height = totalH;
+
+    const seenLegend = new Set();
+
+    for (const panel of panels) {
+        const { rowIndex: ri, colIndex: ci } = panel;
+        const n = ri * cols + ci + 1;
+        const xName = n === 1 ? 'xaxis' : `xaxis${n}`;
+        const yName = n === 1 ? 'yaxis' : `yaxis${n}`;
+        const xRef = n === 1 ? 'x' : `x${n}`;
+        const yRef = n === 1 ? 'y' : `y${n}`;
+
+        const x0 = xFrac(colX0(ci));
+        const x1 = xFrac(colX0(ci) + panelWidth);
+        // Plotly y-domain runs bottom-up; our rows run top-down.
+        const yTopPx = rowY0(ri);
+        const y1 = 1 - yFrac(yTopPx);
+        const y0 = 1 - yFrac(yTopPx + panelHeight);
+
+        const panelLayout = panel.figure?.layout ?? {};
+        const xAxis: any = { ...(panelLayout.xaxis ?? {}), domain: [x0, x1], anchor: yRef };
+        const yAxis: any = { ...(panelLayout.yaxis ?? {}), domain: [y0, y1], anchor: xRef };
+
+        // Shared y-domain across panels (mirror CJS: fixed nice range, no
+        // per-panel autorange). Rangemode would fight an explicit range.
+        if (sharedYDomain) {
+            yAxis.range = [sharedYDomain.min, sharedYDomain.max];
+            delete yAxis.rangemode;
+        }
+        // Only the leftmost column shows y tick labels + title.
+        if (ci > 0) {
+            yAxis.showticklabels = false;
+            delete yAxis.title;
+        }
+        // X-axis titles only on the bottom row (a per-panel title would
+        // collide with the next row's column headers in a single figure).
+        if (ri < rows - 1) {
+            delete xAxis.title;
+        }
+
+        figure.layout[xName] = xAxis;
+        figure.layout[yName] = yAxis;
+
+        for (const trace of panel.figure?.data ?? []) {
+            const placed: any = { ...trace, xaxis: xRef, yaxis: yRef };
+            const legendKey = String(placed.name ?? '');
+            if (legendKey) {
+                placed.legendgroup = legendKey;
+                placed.showlegend = !seenLegend.has(legendKey);
+                seenLegend.add(legendKey);
+            } else {
+                placed.showlegend = false;
+            }
+            figure.data.push(placed);
+        }
+
+        // Column header annotation (per wrapped row, or once on the top row).
+        if (panel.colHeader != null && (colHeaderPerRow || ri === 0)) {
+            figure.layout.annotations.push({
+                text: String(panel.colHeader),
+                showarrow: false,
+                xref: 'paper', yref: 'paper',
+                x: (x0 + x1) / 2,
+                y: 1 - yFrac(yTopPx - COL_HEADER_H / 2),
+                xanchor: 'center', yanchor: 'middle',
+                font: { size: 12 },
+            });
+        }
+
+        // Row header annotation (rightmost side, Vega-Lite style), rotated.
+        if (panel.rowHeader != null && ci === cols - 1) {
+            figure.layout.annotations.push({
+                text: String(panel.rowHeader),
+                showarrow: false,
+                textangle: 90,
+                xref: 'paper', yref: 'paper',
+                x: xFrac(plotW + rowHeaderW / 2),
+                y: (y0 + y1) / 2,
+                xanchor: 'center', yanchor: 'middle',
+                font: { size: 12 },
+            });
+        }
+    }
+
+    if (!showLegend) {
+        figure.layout.showlegend = false;
+    }
+
+    return figure;
+}
diff --git a/packages/flint-js/src/plotly/templates/area.ts b/packages/flint-js/src/plotly/templates/area.ts
index 0cc5a64e..2474ad98 100644
--- a/packages/flint-js/src/plotly/templates/area.ts
+++ b/packages/flint-js/src/plotly/templates/area.ts
@@ -15,6 +15,7 @@ import {
     groupBy,
     buildCategoryAlignedData,
     coerceIsoDateForPlotly,
+    getPlotlyPalette,
     getSeriesColor,
 } from './utils';
 
@@ -32,7 +33,7 @@ function fillColor(hex: string, alpha: number): string {
 export const plAreaChartDef: ChartTemplateDef = {
     chart: 'Area Chart',
     template: { mark: 'area', encoding: {} },
-    channels: ['x', 'y', 'color', 'opacity'],
+    channels: ['x', 'y', 'color', 'opacity', 'column', 'row'],
     markCognitiveChannel: 'area',
     declareLayoutMode: () => ({
         paramOverrides: { continuousMarkCrossSection: { x: 100, y: 20, seriesCountAxis: 'auto' }, facetAspectRatioResistance: 0.5 },
@@ -60,13 +61,14 @@ export const plAreaChartDef: ChartTemplateDef = {
         const stacked = stackMode !== 'layered';
         const smooth = chartProperties?.interpolate === 'monotone';
 
+        const palette = getPlotlyPalette(ctx, 'color');
         const traces: any[] = [];
         const makeTrace = (name: string, rows: any[], colorIndex: number) => {
             const xVals = xIsDiscrete ? categories! : rows.map(r => mapX(r[xField]));
             const yVals = xIsDiscrete
                 ? buildCategoryAlignedData(rows, xField, yField, categories!)
                 : rows.map(r => (r[yField] == null ? null : r[yField]));
-            const color = getSeriesColor(colorIndex);
+            const color = getSeriesColor(palette, colorIndex);
             const trace: any = {
                 type: 'scatter',
                 mode: 'lines',
diff --git a/packages/flint-js/src/plotly/templates/bar.ts b/packages/flint-js/src/plotly/templates/bar.ts
index 7df8000b..8950c860 100644
--- a/packages/flint-js/src/plotly/templates/bar.ts
+++ b/packages/flint-js/src/plotly/templates/bar.ts
@@ -12,13 +12,13 @@
  */
 
 import { ChartTemplateDef, ChartPropertyDef } from '../../core/types';
-import { extractCategories, buildCategoryAlignedData, detectAxes, getSeriesColor } from './utils';
+import { extractCategories, buildCategoryAlignedData, detectAxes, getPlotlyPalette, getSeriesColor } from './utils';
 import { detectBandedAxisFromSemantics } from '../../core/axis-detection';
 
 export const plBarChartDef: ChartTemplateDef = {
     chart: 'Bar Chart',
     template: { mark: 'bar', encoding: {} },
-    channels: ['x', 'y', 'color', 'opacity'],
+    channels: ['x', 'y', 'color', 'opacity', 'column', 'row'],
     markCognitiveChannel: 'length',
     declareLayoutMode: (cs, table) => {
         const result = detectBandedAxisFromSemantics(cs, table, { preferAxis: 'x' });
@@ -40,6 +40,7 @@ export const plBarChartDef: ChartTemplateDef = {
         const values = buildCategoryAlignedData(table, catField, valField, categories);
 
         const isHorizontal = categoryAxis === 'y';
+        const palette = getPlotlyPalette(ctx);
 
         const catAxisSpec = {
             type: 'category' as const,
@@ -62,7 +63,7 @@ export const plBarChartDef: ChartTemplateDef = {
                 ...(isHorizontal
                     ? { x: values, y: categories, orientation: 'h' }
                     : { x: categories, y: values }),
-                marker: { color: getSeriesColor(0) },
+                marker: { color: getSeriesColor(palette, 0) },
             }],
             layout: {
                 ...(isHorizontal
diff --git a/packages/flint-js/src/plotly/templates/line.ts b/packages/flint-js/src/plotly/templates/line.ts
index 4485e50d..4109a7b1 100644
--- a/packages/flint-js/src/plotly/templates/line.ts
+++ b/packages/flint-js/src/plotly/templates/line.ts
@@ -16,6 +16,7 @@ import {
     groupBy,
     buildCategoryAlignedData,
     coerceIsoDateForPlotly,
+    getPlotlyPalette,
     getSeriesColor,
 } from './utils';
 
@@ -43,7 +44,7 @@ function lineShape(interpolate: unknown): 'linear' | 'spline' | 'hv' | 'vh' | 'h
 export const plLineChartDef: ChartTemplateDef = {
     chart: 'Line Chart',
     template: { mark: 'line', encoding: {} },
-    channels: ['x', 'y', 'color', 'opacity'],
+    channels: ['x', 'y', 'color', 'opacity', 'column', 'row'],
     markCognitiveChannel: 'position',
     declareLayoutMode: () => ({
         paramOverrides: { continuousMarkCrossSection: { x: 100, y: 20, seriesCountAxis: 'auto' }, facetAspectRatioResistance: 0.5 },
@@ -71,6 +72,7 @@ export const plLineChartDef: ChartTemplateDef = {
         const showPoints = chartProperties?.showPoints === true;
         const mode = showPoints ? 'lines+markers' : 'lines';
 
+        const palette = getPlotlyPalette(ctx, 'color');
         const traces: any[] = [];
         const makeTrace = (name: string, rows: any[], colorIndex: number) => {
             const xVals = xIsDiscrete
@@ -85,7 +87,7 @@ export const plLineChartDef: ChartTemplateDef = {
                 name,
                 x: xVals,
                 y: yVals,
-                line: { color: getSeriesColor(colorIndex), shape },
+                line: { color: getSeriesColor(palette, colorIndex), shape },
             };
         };
 
diff --git a/packages/flint-js/src/plotly/templates/scatter.ts b/packages/flint-js/src/plotly/templates/scatter.ts
index 4e1161be..7bf0fba2 100644
--- a/packages/flint-js/src/plotly/templates/scatter.ts
+++ b/packages/flint-js/src/plotly/templates/scatter.ts
@@ -10,7 +10,7 @@
  */
 
 import { ChartTemplateDef, ChartPropertyDef } from '../../core/types';
-import { groupBy, getSeriesColor } from './utils';
+import { groupBy, getPlotlyPalette, getSeriesColor } from './utils';
 
 /** Compute a reasonable marker diameter based on canvas area and point count. */
 function computeMarkerSize(width: number, height: number, pointCount: number): number {
@@ -24,7 +24,7 @@ function computeMarkerSize(width: number, height: number, pointCount: number): n
 export const plScatterPlotDef: ChartTemplateDef = {
     chart: 'Scatter Plot',
     template: { mark: 'circle', encoding: {} },
-    channels: ['x', 'y', 'color', 'size', 'opacity'],
+    channels: ['x', 'y', 'color', 'size', 'opacity', 'column', 'row'],
     markCognitiveChannel: 'position',
     instantiate: (spec, ctx) => {
         const { channelSemantics, table, chartProperties } = ctx;
@@ -36,6 +36,7 @@ export const plScatterPlotDef: ChartTemplateDef = {
 
         const opacity = Number(chartProperties?.opacity ?? 1);
 
+        const palette = getPlotlyPalette(ctx, 'color');
         const traces: any[] = [];
         const makeTrace = (name: string | undefined, rows: any[], colorIndex: number) => ({
             type: 'scatter',
@@ -44,7 +45,7 @@ export const plScatterPlotDef: ChartTemplateDef = {
             x: rows.map(r => r[xField]),
             y: rows.map(r => r[yField]),
             marker: {
-                color: getSeriesColor(colorIndex),
+                color: getSeriesColor(palette, colorIndex),
                 opacity,
                 line: { color: '#ffffff', width: 0.5 },
             },
diff --git a/packages/flint-js/src/plotly/templates/utils.ts b/packages/flint-js/src/plotly/templates/utils.ts
index 160d4824..65bb7bae 100644
--- a/packages/flint-js/src/plotly/templates/utils.ts
+++ b/packages/flint-js/src/plotly/templates/utils.ts
@@ -6,7 +6,8 @@
  * Pure logic — no UI dependencies.
  */
 
-import type { ChannelSemantics } from '../../core/types';
+import type { ChannelSemantics, InstantiateContext } from '../../core/types';
+import { pickPlotlyPalette } from '../colormap';
 
 const isDiscrete = (type: string | undefined) => type === 'nominal' || type === 'ordinal';
 
@@ -116,8 +117,8 @@ export function coerceIsoDateForPlotly(raw: unknown): string | null {
 
 /**
  * Plotly's default qualitative palette (plotly.js `layout.colorway` defaults).
- * Kept local to this backend, mirroring how each backend owns its palette.
- * Integration with core color-decisions is a follow-up.
+ * Fallback when no color decision is available; the decision-aware path lives
+ * in ../colormap.ts (mirroring chartjs/colormap.ts).
  */
 export const PLOTLY_COLORS = [
     '#636efa', // blue-violet
@@ -132,7 +133,28 @@ export const PLOTLY_COLORS = [
     '#FECB52', // yellow
 ];
 
-/** Series color by index (wraps around the default palette). */
-export function getSeriesColor(index: number): string {
-    return PLOTLY_COLORS[index % PLOTLY_COLORS.length];
+/**
+ * 从 color-decisions 解析调色板;若没有决策则回退到 Plotly 默认 plotly10。
+ * (Mirror of chartjs/templates/utils.ts getChartJsPalette.)
+ */
+export function getPlotlyPalette(ctx: InstantiateContext, preferred: 'color' | 'group' = 'color'): string[] {
+    const decisions = ctx.colorDecisions;
+    const decision =
+        preferred === 'color'
+            ? decisions?.color ?? decisions?.group
+            : decisions?.group ?? decisions?.color;
+
+    const palette = pickPlotlyPalette(decision);
+    if (palette.length > 0) {
+        return palette;
+    }
+    return PLOTLY_COLORS;
+}
+
+/** Series color by index from a resolved palette. */
+export function getSeriesColor(palette: string[], index: number): string {
+    if (!palette.length) {
+        return PLOTLY_COLORS[index % PLOTLY_COLORS.length];
+    }
+    return palette[index % palette.length];
 }

From 9ab19b9687228287ee8dd9c924131b82afce6015 Mon Sep 17 00:00:00 2001
From: jason-zl190 
Date: Sat, 18 Jul 2026 23:27:19 +0800
Subject: [PATCH 4/7] test(plotly): dedicated test-data generators and backend
 test matrix
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

genPlotlyCoreTests (four templates, color on/off, horizontal bar) and
genPlotlyFacetTests (column / row / column-row grid), registered as
'Plotly: Core Templates' and 'Plotly: Facets' in TEST_GENERATORS per
the adding-a-chart-template §4 generator pattern. The backend test
file grows facet-grid assertions (axis pairs, shared range,
leftmost-only labels, header annotations, legend dedupe), a
diverging-vs-categorical scheme pick, a generator round-trip that
assembles every dedicated case, and keeps the JSON-purity check over
a facet figure.

Co-Authored-By: Claude Fable 5 
---
 packages/flint-js/src/test-data/index.ts      |   4 +
 .../flint-js/src/test-data/plotly-tests.ts    | 244 ++++++++++++++++++
 .../flint-js/tests/plotly-backend.test.ts     |  79 +++++-
 3 files changed, 324 insertions(+), 3 deletions(-)
 create mode 100644 packages/flint-js/src/test-data/plotly-tests.ts

diff --git a/packages/flint-js/src/test-data/index.ts b/packages/flint-js/src/test-data/index.ts
index c6e19771..e0d5595b 100644
--- a/packages/flint-js/src/test-data/index.ts
+++ b/packages/flint-js/src/test-data/index.ts
@@ -39,6 +39,7 @@ export { genGasPressureTests } from './gas-pressure-tests';
 export { genLineAreaStretchTests } from './line-area-stretch-tests';
 export { genEChartsScatterTests, genEChartsLineTests, genEChartsBarTests, genEChartsStackedBarTests, genEChartsGroupedBarTests, genEChartsStressTests, genEChartsAreaTests, genEChartsPieTests, genEChartsHeatmapTests, genEChartsHistogramTests, genEChartsBoxplotTests, genEChartsRadarTests, genEChartsCandlestickTests, genEChartsStreamgraphTests, genEChartsFacetSmallTests, genEChartsFacetWrapTests, genEChartsFacetClipTests, genEChartsRoseTests, genEChartsGaugeTests, genEChartsFunnelTests, genEChartsTreemapTests, genEChartsSunburstTests, genEChartsSankeyTests, genEChartsUniqueStressTests, genEChartsCalendarTests, genEChartsParallelTests, genEChartsGraphTests, genEChartsTreeTests } from './echarts-tests';
 export { genChartJsScatterTests, genChartJsLineTests, genChartJsBarTests, genChartJsStackedBarTests, genChartJsGroupedBarTests, genChartJsAreaTests, genChartJsPieTests, genChartJsHistogramTests, genChartJsRadarTests, genChartJsStressTests, genChartJsRoseTests, genChartJsBubbleTests, genChartJsDoughnutTests, genChartJsComboTests } from './chartjs-tests';
+export { genPlotlyCoreTests, genPlotlyFacetTests } from './plotly-tests';
 export { genDiscreteAxisTests } from './discrete-axis-tests';
 export { genDateTests, genDateYearTests, genDateMonthTests, genDateYearMonthTests, genDateDecadeTests, genDateDateTimeTests, genDateHoursTests } from './date-tests';
 export { genSemanticContextTests, genSnapToBoundTests } from './semantic-tests';
@@ -112,6 +113,7 @@ import { genDateYearTests, genDateMonthTests, genDateYearMonthTests, genDateDeca
 import { genSemanticContextTests, genSnapToBoundTests } from './semantic-tests';
 import { genEChartsScatterTests, genEChartsLineTests, genEChartsBarTests, genEChartsStackedBarTests, genEChartsGroupedBarTests, genEChartsStressTests, genEChartsAreaTests, genEChartsPieTests, genEChartsHeatmapTests, genEChartsHistogramTests, genEChartsBoxplotTests, genEChartsRadarTests, genEChartsCandlestickTests, genEChartsStreamgraphTests, genEChartsFacetSmallTests, genEChartsFacetWrapTests, genEChartsFacetClipTests, genEChartsRoseTests, genEChartsGaugeTests, genEChartsFunnelTests, genEChartsTreemapTests, genEChartsSunburstTests, genEChartsSankeyTests, genEChartsUniqueStressTests, genEChartsCalendarTests, genEChartsParallelTests, genEChartsGraphTests, genEChartsTreeTests } from './echarts-tests';
 import { genChartJsScatterTests, genChartJsLineTests, genChartJsBarTests, genChartJsStackedBarTests, genChartJsGroupedBarTests, genChartJsAreaTests, genChartJsPieTests, genChartJsHistogramTests, genChartJsRadarTests, genChartJsStressTests, genChartJsRoseTests, genChartJsBubbleTests, genChartJsDoughnutTests, genChartJsComboTests } from './chartjs-tests';
+import { genPlotlyCoreTests, genPlotlyFacetTests } from './plotly-tests';
 import {
     genGalleryRegionalSurveyScatterTests,
     genGalleryRegionalSurveyLineTests,
@@ -247,6 +249,8 @@ export const TEST_GENERATORS: Record TestCase[]> = {
     'Chart.js: Doughnut *': genChartJsDoughnutTests,
     'Chart.js: Combo *': genChartJsComboTests,
     'Chart.js: Stress Tests': genChartJsStressTests,
+    'Plotly: Core Templates': genPlotlyCoreTests,
+    'Plotly: Facets': genPlotlyFacetTests,
     'Gallery: Scatter': genGalleryRegionalSurveyScatterTests,
     'Gallery: Line': genGalleryRegionalSurveyLineTests,
     'Gallery: Bar': genGalleryRegionalSurveyBarTests,
diff --git a/packages/flint-js/src/test-data/plotly-tests.ts b/packages/flint-js/src/test-data/plotly-tests.ts
new file mode 100644
index 00000000..c58baa06
--- /dev/null
+++ b/packages/flint-js/src/test-data/plotly-tests.ts
@@ -0,0 +1,244 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+/**
+ * Plotly backend tests.
+ *
+ * Exercises the Plotly backend's first-merge surface: the four acceptance
+ * templates (Bar, Line, Area, Scatter) with color on/off, and the facet
+ * grid path (column, row, column×row) that renders as Plotly subplot pairs.
+ */
+
+import { Type } from './df-types';
+import { TestCase, makeField, makeEncodingItem } from './types';
+import { seededRandom } from './generators';
+
+// ---------------------------------------------------------------------------
+// Test data generators
+// ---------------------------------------------------------------------------
+
+function genRegionSales(seed: number) {
+    const rand = seededRandom(seed);
+    const regions = ['East', 'South', 'North', 'West', 'Central'];
+    return regions.map(r => ({
+        Region: r,
+        Revenue: Math.round(100 + rand() * 900),
+    }));
+}
+
+function genMonthlySeries(seed: number, series: string[]) {
+    const rand = seededRandom(seed);
+    const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'];
+    const data: any[] = [];
+    for (const m of months) {
+        for (const s of series) {
+            data.push({
+                Month: m,
+                Value: Math.round(200 + rand() * 800),
+                Series: s,
+            });
+        }
+    }
+    return data;
+}
+
+function genScatterGroups(n: number, seed: number) {
+    const rand = seededRandom(seed);
+    const groups = ['Alpha', 'Beta', 'Gamma'];
+    return Array.from({ length: n }, (_, i) => ({
+        X: Math.round(rand() * 100 * 10) / 10,
+        Y: Math.round(rand() * 100 * 10) / 10,
+        Group: groups[i % groups.length],
+    }));
+}
+
+function genQuarterRegion(seed: number) {
+    const rand = seededRandom(seed);
+    const quarters = ['Q1', 'Q2', 'Q3', 'Q4'];
+    const regions = ['North', 'South'];
+    const data: any[] = [];
+    for (const q of quarters) {
+        for (const r of regions) {
+            data.push({
+                Quarter: q,
+                Revenue: Math.round(200 + rand() * 800),
+                Region: r,
+            });
+        }
+    }
+    return data;
+}
+
+// ---------------------------------------------------------------------------
+// Test case builders
+// ---------------------------------------------------------------------------
+
+/** The four acceptance templates, single-series and color-grouped. */
+export function genPlotlyCoreTests(): TestCase[] {
+    const tests: TestCase[] = [];
+
+    {
+        const data = genRegionSales(42);
+        tests.push({
+            title: 'PL: Bar — Basic N×Q',
+            description: 'Single bar trace; category order preserved, zero baseline.',
+            tags: ['plotly', 'bar'],
+            chartType: 'Bar Chart',
+            data,
+            fields: [makeField('Region'), makeField('Revenue')],
+            metadata: {
+                Region: { type: Type.String, semanticType: 'Region', levels: [] },
+                Revenue: { type: Type.Number, semanticType: 'Amount', levels: [] },
+            },
+            encodingMap: { x: makeEncodingItem('Region'), y: makeEncodingItem('Revenue') },
+        });
+    }
+
+    {
+        const data = genRegionSales(43);
+        tests.push({
+            title: 'PL: Bar — Horizontal',
+            description: 'Category on y → orientation "h" bar trace.',
+            tags: ['plotly', 'bar', 'horizontal'],
+            chartType: 'Bar Chart',
+            data,
+            fields: [makeField('Region'), makeField('Revenue')],
+            metadata: {
+                Region: { type: Type.String, semanticType: 'Region', levels: [] },
+                Revenue: { type: Type.Number, semanticType: 'Amount', levels: [] },
+            },
+            encodingMap: { x: makeEncodingItem('Revenue'), y: makeEncodingItem('Region') },
+        });
+    }
+
+    {
+        const data = genMonthlySeries(77, ['ProductA', 'ProductB', 'ProductC']);
+        tests.push({
+            title: 'PL: Line — Color Groups',
+            description: 'One trace per series; legend from trace names.',
+            tags: ['plotly', 'line', 'color', 'multi-series'],
+            chartType: 'Line Chart',
+            data,
+            fields: [makeField('Month'), makeField('Value'), makeField('Series')],
+            metadata: {
+                Month: { type: Type.String, semanticType: 'Month', levels: [] },
+                Value: { type: Type.Number, semanticType: 'Amount', levels: [] },
+                Series: { type: Type.String, semanticType: 'Category', levels: [] },
+            },
+            encodingMap: { x: makeEncodingItem('Month'), y: makeEncodingItem('Value'), color: makeEncodingItem('Series') },
+        });
+    }
+
+    {
+        const data = genMonthlySeries(88, ['Web', 'Mobile']);
+        tests.push({
+            title: 'PL: Area — Stacked',
+            description: 'Color groups stack via stackgroup (Plotly-native stacking).',
+            tags: ['plotly', 'area', 'color', 'stacked'],
+            chartType: 'Area Chart',
+            data,
+            fields: [makeField('Month'), makeField('Value'), makeField('Series')],
+            metadata: {
+                Month: { type: Type.String, semanticType: 'Month', levels: [] },
+                Value: { type: Type.Number, semanticType: 'Amount', levels: [] },
+                Series: { type: Type.String, semanticType: 'Category', levels: [] },
+            },
+            encodingMap: { x: makeEncodingItem('Month'), y: makeEncodingItem('Value'), color: makeEncodingItem('Series') },
+        });
+    }
+
+    {
+        const data = genScatterGroups(90, 99);
+        tests.push({
+            title: 'PL: Scatter — Color Groups',
+            description: 'Markers mode, one trace per group, qualitative palette.',
+            tags: ['plotly', 'scatter', 'color', 'multi-series'],
+            chartType: 'Scatter Plot',
+            data,
+            fields: [makeField('X'), makeField('Y'), makeField('Group')],
+            metadata: {
+                X: { type: Type.Number, semanticType: 'Quantity', levels: [] },
+                Y: { type: Type.Number, semanticType: 'Quantity', levels: [] },
+                Group: { type: Type.String, semanticType: 'Category', levels: ['Alpha', 'Beta', 'Gamma'] },
+            },
+            encodingMap: { x: makeEncodingItem('X'), y: makeEncodingItem('Y'), color: makeEncodingItem('Group') },
+        });
+    }
+
+    return tests;
+}
+
+/** Facet grid path: column, row, and column×row subplot grids. */
+export function genPlotlyFacetTests(): TestCase[] {
+    const tests: TestCase[] = [];
+
+    {
+        const data = genQuarterRegion(11);
+        tests.push({
+            title: 'PL: Facet — Column',
+            description: 'Bar per Region column; shared nice y-domain, leftmost-only y labels.',
+            tags: ['plotly', 'facet', 'column', 'bar'],
+            chartType: 'Bar Chart',
+            data,
+            fields: [makeField('Quarter'), makeField('Revenue'), makeField('Region')],
+            metadata: {
+                Quarter: { type: Type.String, semanticType: 'Quarter', levels: [] },
+                Revenue: { type: Type.Number, semanticType: 'Amount', levels: [] },
+                Region: { type: Type.String, semanticType: 'Region', levels: [] },
+            },
+            encodingMap: { x: makeEncodingItem('Quarter'), y: makeEncodingItem('Revenue'), column: makeEncodingItem('Region') },
+        });
+    }
+
+    {
+        const data = genQuarterRegion(22);
+        tests.push({
+            title: 'PL: Facet — Row',
+            description: 'Line per Region row; rotated row headers, x title on bottom row only.',
+            tags: ['plotly', 'facet', 'row', 'line'],
+            chartType: 'Line Chart',
+            data,
+            fields: [makeField('Quarter'), makeField('Revenue'), makeField('Region')],
+            metadata: {
+                Quarter: { type: Type.String, semanticType: 'Quarter', levels: [] },
+                Revenue: { type: Type.Number, semanticType: 'Amount', levels: [] },
+                Region: { type: Type.String, semanticType: 'Region', levels: [] },
+            },
+            encodingMap: { x: makeEncodingItem('Quarter'), y: makeEncodingItem('Revenue'), row: makeEncodingItem('Region') },
+        });
+    }
+
+    {
+        const rand = seededRandom(33);
+        const data: any[] = [];
+        for (const a of ['A', 'B']) {
+            for (const b of ['X', 'Y']) {
+                for (let i = 0; i < 12; i++) {
+                    data.push({
+                        V: Math.round(rand() * 100),
+                        W: Math.round(rand() * 100),
+                        Col: a,
+                        Row: b,
+                    });
+                }
+            }
+        }
+        tests.push({
+            title: 'PL: Facet — Column × Row Grid',
+            description: 'Scatter 2×2 grid; one subplot axis pair per cell.',
+            tags: ['plotly', 'facet', 'grid', 'scatter'],
+            chartType: 'Scatter Plot',
+            data,
+            fields: [makeField('V'), makeField('W'), makeField('Col'), makeField('Row')],
+            metadata: {
+                V: { type: Type.Number, semanticType: 'Quantity', levels: [] },
+                W: { type: Type.Number, semanticType: 'Quantity', levels: [] },
+                Col: { type: Type.String, semanticType: 'Category', levels: [] },
+                Row: { type: Type.String, semanticType: 'Category', levels: [] },
+            },
+            encodingMap: { x: makeEncodingItem('V'), y: makeEncodingItem('W'), column: makeEncodingItem('Col'), row: makeEncodingItem('Row') },
+        });
+    }
+
+    return tests;
+}
diff --git a/packages/flint-js/tests/plotly-backend.test.ts b/packages/flint-js/tests/plotly-backend.test.ts
index bdf64202..324a51f2 100644
--- a/packages/flint-js/tests/plotly-backend.test.ts
+++ b/packages/flint-js/tests/plotly-backend.test.ts
@@ -3,6 +3,7 @@
 
 import { describe, it, expect } from 'vitest';
 import { assemblePlotly, plGetTemplateDef, plAllTemplateDefs } from '../src';
+import { genPlotlyCoreTests, genPlotlyFacetTests } from '../src/test-data';
 
 const SALES = [
   { region: 'East', revenue: 168 },
@@ -112,10 +113,81 @@ describe('Plotly backend', () => {
     expect(fig.data[0].marker.size).toBeGreaterThan(0);
   });
 
-  it('drops unsupported facet channels with a warning instead of throwing', () => {
+  it('column facet: one axis pair per panel, shared nice y-range, headers', () => {
     const fig = assemblePlotly(input('Bar Chart', { x: { field: 'region' }, y: { field: 'revenue' }, column: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' }));
-    expect(fig.data[0].type).toBe('bar');
-    expect(fig._warnings?.some((w: any) => /column/.test(w.message))).toBe(true);
+    expect(fig._facet).toBe(true);
+    expect(fig._facetCols).toBe(2);
+    expect(fig.layout.xaxis2).toBeDefined();
+    expect(fig.layout.yaxis2).toBeDefined();
+    expect(fig.layout.yaxis.range).toEqual(fig.layout.yaxis2.range);
+    expect(fig.layout.yaxis.range[0]).toBe(0); // Amount forces zero into the shared domain
+    expect(fig.layout.yaxis2.showticklabels).toBe(false); // leftmost-only y labels
+    const headerTexts = fig.layout.annotations.map((a: any) => a.text);
+    expect(headerTexts).toContain('2024');
+    expect(headerTexts).toContain('2025');
+    expect(fig.data.every((t: any) => t.xaxis && t.yaxis)).toBe(true);
+  });
+
+  it('row facet: stacked panels with rotated row headers', () => {
+    const fig = assemblePlotly(input('Line Chart', { x: { field: 'region' }, y: { field: 'revenue' }, row: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' }));
+    expect(fig._facet).toBe(true);
+    expect(fig._facetRows).toBe(2);
+    expect(fig._facetCols).toBe(1);
+    const rowHeaders = fig.layout.annotations.filter((a: any) => a.textangle === 90);
+    expect(rowHeaders.map((a: any) => a.text)).toEqual(['2024', '2025']);
+    // x title only on the bottom row
+    expect(fig.layout.xaxis.title).toBeUndefined();
+    expect(fig.layout.xaxis2.title).toBeDefined();
+  });
+
+  it('column+row facet: full grid with one axis pair per cell', () => {
+    const CELLS = [
+      { v: 1, w: 10, a: 'A', b: 'X' }, { v: 2, w: 20, a: 'B', b: 'X' },
+      { v: 3, w: 30, a: 'A', b: 'Y' }, { v: 4, w: 40, a: 'B', b: 'Y' },
+    ];
+    const fig = assemblePlotly(input('Scatter Plot', { x: { field: 'v' }, y: { field: 'w' }, column: { field: 'a' }, row: { field: 'b' } }, CELLS, { v: 'Quantity', w: 'Quantity', a: 'Category', b: 'Category' }));
+    expect(fig._facetRows).toBe(2);
+    expect(fig._facetCols).toBe(2);
+    expect(fig.layout.xaxis4).toBeDefined();
+    expect(fig.layout.yaxis4).toBeDefined();
+  });
+
+  it('facet legend is deduped across panels via legendgroup', () => {
+    const fig = assemblePlotly(input('Line Chart', { x: { field: 'region' }, y: { field: 'revenue' }, color: { field: 'year' }, column: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' }));
+    const shown = fig.data.filter((t: any) => t.showlegend);
+    const names = new Set(fig.data.map((t: any) => t.name));
+    expect(shown.length).toBe(names.size);
+    expect(fig.data.every((t: any) => t.legendgroup === t.name)).toBe(true);
+  });
+
+  it('diverging vs categorical semantics pick different scheme families', () => {
+    const TEMP = [
+      { city: 'Oslo', temp: -6 }, { city: 'Rome', temp: 14 }, { city: 'Cairo', temp: 24 },
+    ];
+    const diverging = assemblePlotly(input('Bar Chart', { x: { field: 'city' }, y: { field: 'temp' }, color: { field: 'temp' } }, TEMP, { city: 'City', temp: 'Temperature' }));
+    const categorical = assemblePlotly(input('Scatter Plot', { x: { field: 'weight' }, y: { field: 'mpg' }, color: { field: 'origin' } }, CARS, { weight: 'Quantity', mpg: 'Quantity', origin: 'Country' }));
+    // Categorical grouping draws from the plotly10 qualitative palette…
+    expect(categorical.data[0].marker.color).toBe('#636efa');
+    // …while a diverging measure on color routes to the RdBu ramp.
+    expect(diverging.data[0].marker.color).toBe('#b2182b');
+  });
+
+  it('every dedicated generator case assembles cleanly', () => {
+    for (const tc of [...genPlotlyCoreTests(), ...genPlotlyFacetTests()]) {
+      const encodings = Object.fromEntries(
+        Object.entries(tc.encodingMap).map(([ch, e]: [string, any]) => [ch, { field: e.fieldID }]),
+      );
+      const semantic_types = Object.fromEntries(
+        Object.entries(tc.metadata).map(([f, m]: [string, any]) => [f, m.semanticType]),
+      );
+      const fig = assemblePlotly({
+        data: { values: tc.data },
+        semantic_types,
+        chart_spec: { chartType: tc.chartType, encodings },
+      } as any);
+      expect(Array.isArray(fig.data), tc.title).toBe(true);
+      expect(fig.data.length, tc.title).toBeGreaterThan(0);
+    }
   });
 
   it('figures are pure JSON for all four templates', () => {
@@ -124,6 +196,7 @@ describe('Plotly backend', () => {
       assemblePlotly(input('Line Chart', { x: { field: 'month' }, y: { field: 'value' } }, MONTHLY, { month: 'YearMonth', value: 'Amount' })),
       assemblePlotly(input('Area Chart', { x: { field: 'region' }, y: { field: 'revenue' }, color: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' })),
       assemblePlotly(input('Scatter Plot', { x: { field: 'weight' }, y: { field: 'mpg' } }, CARS, { weight: 'Quantity', mpg: 'Quantity' })),
+      assemblePlotly(input('Bar Chart', { x: { field: 'region' }, y: { field: 'revenue' }, column: { field: 'year' } }, GROUPED, { region: 'Region', revenue: 'Amount', year: 'Year' })),
     ];
     for (const fig of figures) {
       assertNoFunctions(fig);

From dfbc91edaf52b46959a6d877b4eb7df3eea6d328 Mon Sep 17 00:00:00 2001
From: jason-zl190 
Date: Sat, 18 Jul 2026 23:27:19 +0800
Subject: [PATCH 5/7] chore(deps): keep the lockfile diff plotly-only

Regenerate package-lock.json from origin/dev and re-add just the
plotly entries (plotly.js-dist-min package + site dependency,
plotly.js peerDependency + peerDependenciesMeta), dropping the
unrelated peer-flag churn a full npm install had introduced.

Co-Authored-By: Claude Fable 5 
---
 package-lock.json | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 12cd7f8e..a40f3f42 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9615,7 +9615,8 @@
         "chart.js": "^4.0.0",
         "echarts": "^5.0.0 || ^6.0.0",
         "vega": "^5.0.0 || ^6.0.0",
-        "vega-lite": "^5.0.0 || ^6.0.0"
+        "vega-lite": "^5.0.0 || ^6.0.0",
+        "plotly.js": "^2.0.0 || ^3.0.0"
       },
       "peerDependenciesMeta": {
         "chart.js": {
@@ -9629,6 +9630,9 @@
         },
         "vega-lite": {
           "optional": true
+        },
+        "plotly.js": {
+          "optional": true
         }
       }
     },
@@ -9854,7 +9858,8 @@
         "remark-math": "^6.0.0",
         "vega": "^6.0.0",
         "vega-embed": "^7.1.0",
-        "vega-lite": "^6.4.1"
+        "vega-lite": "^6.4.1",
+        "plotly.js-dist-min": "^2.35.2"
       },
       "devDependencies": {
         "@types/react": "^18.3.0",
@@ -9864,6 +9869,12 @@
         "typescript": "^5.6.0",
         "vite": "^7.3.5"
       }
+    },
+    "node_modules/plotly.js-dist-min": {
+      "version": "2.35.3",
+      "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.35.3.tgz",
+      "integrity": "sha512-sz2HLP8gkysLx/BanM2PtJTtZ1PLPwdHwMWNri2YxLBy3IOeuDsVQtlmWa4hoK3j/fi4naaD3uZJqH5ozM3zGg==",
+      "license": "MIT"
     }
   }
 }

From d3b0b432839859f64fdf59507b259f7cd2884834 Mon Sep 17 00:00:00 2001
From: Chenglong Wang 
Date: Tue, 21 Jul 2026 18:39:42 -0700
Subject: [PATCH 6/7] excel backend

---
 .github/release-notes/0.3.0.md                |    39 +-
 docs/README.md                                |    21 +-
 docs/architecture.md                          |    27 +-
 docs/reference-vegalite.md                    |    12 +-
 packages/flint-js/package.json                |     5 +
 packages/flint-js/src/core/filter-overflow.ts |    85 +-
 packages/flint-js/src/docs/README.md          |    21 +-
 packages/flint-js/src/excel/artifact.ts       |   104 +
 packages/flint-js/src/excel/assemble.ts       |   576 +
 packages/flint-js/src/excel/chart-types.ts    |    95 +
 packages/flint-js/src/excel/codegen.ts        |   157 +
 packages/flint-js/src/excel/index.ts          |    52 +
 packages/flint-js/src/excel/runtime.ts        |   195 +
 packages/flint-js/src/excel/templates/area.ts |    13 +
 packages/flint-js/src/excel/templates/bar.ts  |    33 +
 .../flint-js/src/excel/templates/boxplot.ts   |    65 +
 .../src/excel/templates/candlestick.ts        |   107 +
 .../flint-js/src/excel/templates/funnel.ts    |    69 +
 .../flint-js/src/excel/templates/histogram.ts |    80 +
 .../flint-js/src/excel/templates/index.ts     |    49 +
 packages/flint-js/src/excel/templates/line.ts |    19 +
 packages/flint-js/src/excel/templates/pie.ts  |    16 +
 .../flint-js/src/excel/templates/pyramid.ts   |   115 +
 .../flint-js/src/excel/templates/radar.ts     |   111 +
 .../flint-js/src/excel/templates/scatter.ts   |    29 +
 .../flint-js/src/excel/templates/sunburst.ts  |    67 +
 .../flint-js/src/excel/templates/treemap.ts   |    65 +
 .../flint-js/src/excel/templates/types.ts     |    32 +
 .../flint-js/src/excel/templates/waterfall.ts |    68 +
 packages/flint-js/src/excel/types.ts          |   140 +
 packages/flint-js/src/index.ts                |     3 +
 packages/flint-js/src/test-data/index.ts      |     3 +-
 .../src/test-data/specialized-tests.ts        |    14 +-
 .../flint-js/src/vegalite/templates/index.ts  |     4 +-
 .../flint-js/src/vegalite/templates/pie.ts    |     5 +
 packages/flint-js/tests/excel-codegen.test.ts |    61 +
 packages/flint-js/tests/excel-runtime.test.ts |   124 +
 .../flint-js/tests/filter-overflow.test.ts    |    79 +
 .../flint-js/tests/heatmap-colors.test.ts     |    14 +-
 packages/flint-js/tests/smoke.test.ts         |   860 +
 packages/flint-js/tsup.config.ts              |     1 +
 .../flint-py/flint/core/filter_overflow.py    |    68 +-
 .../tests/unit/test_filter_overflow.py        |    74 +
 site/src/components/GalleryOptionsBar.tsx     |     1 +
 site/src/components/SizingPlayground.tsx      |     7 +-
 site/src/components/gallery-options-bar.css   |    50 +-
 site/src/global.css                           |    70 +
 test-harness/excel/.gitignore                 |     6 +
 test-harness/excel/README.md                  |    99 +
 .../excel/evaluations/candlestick-audit.mjs   |   139 +
 .../excel/evaluations/examples/README.md      |    45 +
 .../evaluations/examples/candlestick.png      |   Bin 0 -> 259096 bytes
 .../excel/evaluations/examples/funnel.png     |   Bin 0 -> 122236 bytes
 .../evaluations/examples/grouped-bar.png      |   Bin 0 -> 137107 bytes
 .../examples/multi-series-line.png            |   Bin 0 -> 185835 bytes
 .../excel/evaluations/examples/pyramid.png    |   Bin 0 -> 149610 bytes
 .../excel/evaluations/examples/radar.png      |   Bin 0 -> 222993 bytes
 .../evaluations/examples/stacked-area.png     |   Bin 0 -> 233041 bytes
 .../excel/evaluations/examples/sunburst.png   |   Bin 0 -> 497537 bytes
 .../excel/evaluations/examples/treemap.png    |   Bin 0 -> 168953 bytes
 .../excel/evaluations/gallery-run.mjs         |   112 +
 .../excel/evaluations/gen-gallery-inputs.mjs  |    96 +
 .../inputs/area-chart/00-card30.flint.json    |   141 +
 .../inputs/area-chart/01-card24.flint.json    |   503 +
 .../inputs/area-chart/02-card60.flint.json    |  2423 ++
 .../inputs/area-chart/03-card120.flint.json   |  9023 +++++++
 .../inputs/area-chart/04-card40.flint.json    |   623 +
 .../inputs/area-chart/05-card60.flint.json    |   808 +
 .../inputs/area-chart/06-card5.flint.json     |    41 +
 .../inputs/area-chart/07-card12.flint.json    |   263 +
 .../inputs/area-chart/08-card30.flint.json    |   141 +
 .../inputs/area-chart/09-card30.flint.json    |   141 +
 .../inputs/area-chart/10-card50.flint.json    |   773 +
 .../inputs/area-chart/11-card200.flint.json   |   821 +
 .../inputs/bar-chart/00-card5.flint.json      |    41 +
 .../inputs/bar-chart/01-card20.flint.json     |   101 +
 .../inputs/bar-chart/02-card20.flint.json     |   101 +
 .../inputs/bar-chart/03-card100.flint.json    |   421 +
 .../inputs/bar-chart/04-card5.flint.json      |    98 +
 .../inputs/bar-chart/05-card5.flint.json      |   523 +
 .../inputs/bar-chart/06-card10.flint.json     |    61 +
 .../inputs/bar-chart/07-card96.flint.json     |   421 +
 .../inputs/bar-chart/08-card29.flint.json     |   173 +
 .../inputs/bar-chart/09-card24.flint.json     |   117 +
 .../inputs/bar-chart/10-card100.flint.json    |   421 +
 .../inputs/bar-chart/11-card24.flint.json     |   383 +
 .../inputs/bar-chart/12-card18.flint.json     |    93 +
 .../inputs/bar-chart/13-card53.flint.json     |   293 +
 .../inputs/bar-chart/14-card20.flint.json     |   101 +
 .../inputs/bar-chart/15-card30.flint.json     |   141 +
 .../inputs/bar-chart/16-card5.flint.json      |    89 +
 .../inputs/bar-chart/17-card25.flint.json     |   121 +
 .../inputs/bar-chart/18-card5.flint.json      |    41 +
 .../inputs/boxplot/00-card5.flint.json        |   621 +
 .../inputs/boxplot/01-card5.flint.json        |   421 +
 .../inputs/boxplot/02-card12.flint.json       |  2421 ++
 .../inputs/boxplot/03-card4.flint.json        |  1023 +
 .../inputs/boxplot/04-card6.flint.json        |  2423 ++
 .../inputs/boxplot/05-card8.flint.json        |  3023 +++
 .../inputs/boxplot/06-card6.flint.json        |   742 +
 .../inputs/boxplot/07-card6.flint.json        |  1103 +
 .../inputs/boxplot/08-card6.flint.json        |  1106 +
 .../inputs/boxplot/09-card6.flint.json        |  1106 +
 .../candlestick-chart/00-card30.flint.json    |   237 +
 .../candlestick-chart/01-card90.flint.json    |   657 +
 .../candlestick-chart/02-card20.flint.json    |   167 +
 .../00-card9.flint.json                       |    73 +
 .../01-card21.flint.json                      |   169 +
 .../02-card12.flint.json                      |    83 +
 .../03-card12.flint.json                      |   143 +
 .../04-card15.flint.json                      |   121 +
 .../05-card4.flint.json                       |    43 +
 .../06-card35.flint.json                      |   203 +
 .../07-card24.flint.json                      |   169 +
 .../inputs/donut-chart/00-card0.flint.json    |    40 +
 .../inputs/donut-chart/01-card0.flint.json    |    64 +
 .../inputs/donut-chart/02-card0.flint.json    |   104 +
 .../inputs/donut-chart/03-card0.flint.json    |    48 +
 .../inputs/funnel-chart/00-card5.flint.json   |    41 +
 .../inputs/funnel-chart/01-card5.flint.json   |    44 +
 .../inputs/funnel-chart/02-card8.flint.json   |    53 +
 .../grouped-bar-chart/00-card4.flint.json     |    83 +
 .../grouped-bar-chart/01-card8.flint.json     |    53 +
 .../grouped-bar-chart/02-card90.flint.json    |  1373 ++
 .../grouped-bar-chart/03-card6.flint.json     |   173 +
 .../grouped-bar-chart/04-card12.flint.json    |   203 +
 .../grouped-bar-chart/05-card5.flint.json     |   123 +
 .../grouped-bar-chart/06-card24.flint.json    |   143 +
 .../grouped-bar-chart/07-card30.flint.json    |   173 +
 .../grouped-bar-chart/08-card8.flint.json     |  2023 ++
 .../grouped-bar-chart/09-card5.flint.json     |   273 +
 .../grouped-bar-chart/10-card5.flint.json     |   123 +
 .../grouped-bar-chart/11-card5.flint.json     |    42 +
 .../grouped-bar-chart/12-card6.flint.json     |    93 +
 .../grouped-bar-chart/13-card6.flint.json     |    96 +
 .../grouped-bar-chart/14-card6.flint.json     |    96 +
 .../inputs/heatmap/00-card5.flint.json        |   173 +
 .../inputs/heatmap/01-card10.flint.json       |   423 +
 .../inputs/heatmap/02-card50.flint.json       |  7523 ++++++
 .../inputs/heatmap/03-card12.flint.json       |   383 +
 .../inputs/heatmap/04-card80.flint.json       |  2023 ++
 .../inputs/heatmap/05-card5.flint.json        |  2023 ++
 .../inputs/heatmap/06-card60.flint.json       | 12023 ++++++++++
 .../inputs/heatmap/07-card80.flint.json       |  2023 ++
 .../inputs/heatmap/08-card5.flint.json        |  2023 ++
 .../inputs/histogram/00-card49.flint.json     |   319 +
 .../inputs/histogram/01-card42.flint.json     |   821 +
 .../inputs/histogram/02-card997.flint.json    |  3019 +++
 .../inputs/line-chart/00-card30.flint.json    |   141 +
 .../inputs/line-chart/01-card50.flint.json    |  1023 +
 .../inputs/line-chart/02-card100.flint.json   |  4023 ++++
 .../inputs/line-chart/03-card200.flint.json   | 20023 ++++++++++++++++
 .../inputs/line-chart/04-card60.flint.json    |   733 +
 .../inputs/line-chart/05-card30.flint.json    |   173 +
 .../inputs/line-chart/06-card5.flint.json     |    41 +
 .../inputs/line-chart/07-card12.flint.json    |   263 +
 .../inputs/line-chart/08-card30.flint.json    |   141 +
 .../inputs/line-chart/09-card5.flint.json     |    48 +
 .../inputs/line-chart/10-card5.flint.json     |    41 +
 .../inputs/line-chart/11-card12.flint.json    |   263 +
 .../inputs/line-chart/12-card30.flint.json    |   141 +
 .../inputs/line-chart/13-card30.flint.json    |   141 +
 .../inputs/line-chart/14-card50.flint.json    |   773 +
 .../inputs/line-chart/15-card200.flint.json   |   821 +
 .../inputs/line-chart/16-card16.flint.json    |   108 +
 .../inputs/line-chart/17-card13.flint.json    |   277 +
 .../inputs/pie-chart/00-card0.flint.json      |    37 +
 .../inputs/pie-chart/01-card0.flint.json      |    61 +
 .../inputs/pie-chart/02-card0.flint.json      |   101 +
 .../inputs/pie-chart/03-card0.flint.json      |    45 +
 .../inputs/pyramid-chart/00-card18.flint.json |   113 +
 .../inputs/pyramid-chart/01-card12.flint.json |    83 +
 .../inputs/pyramid-chart/02-card10.flint.json |    73 +
 .../inputs/pyramid-chart/03-card24.flint.json |   143 +
 .../inputs/pyramid-chart/04-card10.flint.json |    73 +
 .../inputs/pyramid-chart/05-card20.flint.json |   123 +
 .../inputs/pyramid-chart/06-card40.flint.json |   223 +
 .../inputs/pyramid-chart/07-card12.flint.json |    83 +
 .../inputs/radar-chart/00-card5.flint.json    |    48 +
 .../inputs/radar-chart/01-card6.flint.json    |    83 +
 .../inputs/radar-chart/02-card5.flint.json    |   101 +
 .../inputs/radar-chart/04-card5.flint.json    |    73 +
 .../inputs/radar-chart/05-card8.flint.json    |   103 +
 .../inputs/radar-chart/06-card12.flint.json   |   203 +
 .../inputs/scatter-plot/00-card20.flint.json  |   101 +
 .../inputs/scatter-plot/01-card20.flint.json  |   123 +
 .../inputs/scatter-plot/02-card20.flint.json  |   123 +
 .../inputs/scatter-plot/03-card30.flint.json  |   173 +
 .../inputs/scatter-plot/04-card47.flint.json  |   273 +
 .../inputs/scatter-plot/05-card20.flint.json  |   123 +
 .../inputs/scatter-plot/06-card15.flint.json  |   115 +
 .../inputs/scatter-plot/07-card30.flint.json  |   205 +
 .../inputs/scatter-plot/08-card20.flint.json  |   145 +
 .../inputs/scatter-plot/09-card91.flint.json  |   421 +
 .../inputs/scatter-plot/10-card395.flint.json |  2021 ++
 .../inputs/scatter-plot/11-card182.flint.json |  1023 +
 .../inputs/scatter-plot/12-card96.flint.json  |   523 +
 .../inputs/scatter-plot/13-card10.flint.json  |    73 +
 .../inputs/scatter-plot/14-card187.flint.json |  1023 +
 .../inputs/scatter-plot/15-card5.flint.json   |   148 +
 .../inputs/scatter-plot/16-card5.flint.json   |   148 +
 .../inputs/scatter-plot/17-card2.flint.json   |   141 +
 .../inputs/scatter-plot/18-card60.flint.json  |   261 +
 .../inputs/scatter-plot/19-card24.flint.json  |   148 +
 .../inputs/scatter-plot/20-card23.flint.json  |   148 +
 .../inputs/scatter-plot/21-card59.flint.json  |   261 +
 .../inputs/scatter-plot/22-card5.flint.json   |   123 +
 .../inputs/scatter-plot/23-card4.flint.json   |    78 +
 .../inputs/scatter-plot/24-card15.flint.json  |   688 +
 .../inputs/scatter-plot/25-card40.flint.json  |   223 +
 .../stacked-bar-chart/00-card4.flint.json     |    83 +
 .../stacked-bar-chart/01-card15.flint.json    |   398 +
 .../stacked-bar-chart/02-card80.flint.json    |  1223 +
 .../stacked-bar-chart/03-card6.flint.json     |   143 +
 .../stacked-bar-chart/04-card5.flint.json     |   773 +
 .../stacked-bar-chart/05-card10.flint.json    |   173 +
 .../stacked-bar-chart/06-card20.flint.json    |   423 +
 .../stacked-bar-chart/07-card10.flint.json    |   173 +
 .../stacked-bar-chart/08-card23.flint.json    |   143 +
 .../stacked-bar-chart/09-card43.flint.json    |   248 +
 .../stacked-bar-chart/10-card5.flint.json     |    93 +
 .../inputs/sunburst-chart/00-card0.flint.json |    45 +
 .../inputs/sunburst-chart/01-card0.flint.json |    73 +
 .../inputs/sunburst-chart/02-card0.flint.json |   103 +
 .../inputs/treemap/00-card0.flint.json        |    45 +
 .../inputs/treemap/01-card0.flint.json        |    83 +
 .../inputs/treemap/02-card0.flint.json        |    81 +
 .../waterfall-chart/00-card6.flint.json       |    45 +
 .../waterfall-chart/01-card7.flint.json       |    58 +
 .../waterfall-chart/02-card7.flint.json       |    49 +
 .../waterfall-chart/03-card14.flint.json      |    93 +
 .../waterfall-chart/04-card4.flint.json       |    37 +
 .../excel/evaluations/inspection-list.md      |   332 +
 .../excel/evaluations/layout-facet-audit.mjs  |   337 +
 .../excel/evaluations/make-audit-sheets.mjs   |   185 +
 .../excel/evaluations/render-client.mjs       |    80 +
 .../excel/evaluations/update-examples.mjs     |    30 +
 .../excel/office-runner/officejs/icon-16.png  |   Bin 0 -> 198 bytes
 .../excel/office-runner/officejs/icon-32.png  |   Bin 0 -> 222 bytes
 .../excel/office-runner/officejs/icon-80.png  |   Bin 0 -> 454 bytes
 .../excel/office-runner/officejs/icon.svg     |     8 +
 .../excel/office-runner/officejs/manifest.xml |    93 +
 .../office-runner/officejs/taskpane.html      |    87 +
 .../excel/office-runner/officejs/taskpane.js  |   126 +
 test-harness/excel/office-runner/server.mjs   |   345 +
 test-harness/excel/package.json               |    20 +
 test-harness/excel/tsconfig.json              |    19 +
 247 files changed, 123963 insertions(+), 196 deletions(-)
 create mode 100644 packages/flint-js/src/excel/artifact.ts
 create mode 100644 packages/flint-js/src/excel/assemble.ts
 create mode 100644 packages/flint-js/src/excel/chart-types.ts
 create mode 100644 packages/flint-js/src/excel/codegen.ts
 create mode 100644 packages/flint-js/src/excel/index.ts
 create mode 100644 packages/flint-js/src/excel/runtime.ts
 create mode 100644 packages/flint-js/src/excel/templates/area.ts
 create mode 100644 packages/flint-js/src/excel/templates/bar.ts
 create mode 100644 packages/flint-js/src/excel/templates/boxplot.ts
 create mode 100644 packages/flint-js/src/excel/templates/candlestick.ts
 create mode 100644 packages/flint-js/src/excel/templates/funnel.ts
 create mode 100644 packages/flint-js/src/excel/templates/histogram.ts
 create mode 100644 packages/flint-js/src/excel/templates/index.ts
 create mode 100644 packages/flint-js/src/excel/templates/line.ts
 create mode 100644 packages/flint-js/src/excel/templates/pie.ts
 create mode 100644 packages/flint-js/src/excel/templates/pyramid.ts
 create mode 100644 packages/flint-js/src/excel/templates/radar.ts
 create mode 100644 packages/flint-js/src/excel/templates/scatter.ts
 create mode 100644 packages/flint-js/src/excel/templates/sunburst.ts
 create mode 100644 packages/flint-js/src/excel/templates/treemap.ts
 create mode 100644 packages/flint-js/src/excel/templates/types.ts
 create mode 100644 packages/flint-js/src/excel/templates/waterfall.ts
 create mode 100644 packages/flint-js/src/excel/types.ts
 create mode 100644 packages/flint-js/tests/excel-codegen.test.ts
 create mode 100644 packages/flint-js/tests/excel-runtime.test.ts
 create mode 100644 packages/flint-js/tests/filter-overflow.test.ts
 create mode 100644 packages/flint-py/tests/unit/test_filter_overflow.py
 create mode 100644 test-harness/excel/.gitignore
 create mode 100644 test-harness/excel/README.md
 create mode 100644 test-harness/excel/evaluations/candlestick-audit.mjs
 create mode 100644 test-harness/excel/evaluations/examples/README.md
 create mode 100644 test-harness/excel/evaluations/examples/candlestick.png
 create mode 100644 test-harness/excel/evaluations/examples/funnel.png
 create mode 100644 test-harness/excel/evaluations/examples/grouped-bar.png
 create mode 100644 test-harness/excel/evaluations/examples/multi-series-line.png
 create mode 100644 test-harness/excel/evaluations/examples/pyramid.png
 create mode 100644 test-harness/excel/evaluations/examples/radar.png
 create mode 100644 test-harness/excel/evaluations/examples/stacked-area.png
 create mode 100644 test-harness/excel/evaluations/examples/sunburst.png
 create mode 100644 test-harness/excel/evaluations/examples/treemap.png
 create mode 100644 test-harness/excel/evaluations/gallery-run.mjs
 create mode 100644 test-harness/excel/evaluations/gen-gallery-inputs.mjs
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/00-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/01-card24.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/02-card60.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/03-card120.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/04-card40.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/05-card60.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/06-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/07-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/08-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/09-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/10-card50.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/area-chart/11-card200.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/00-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/01-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/02-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/03-card100.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/04-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/05-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/06-card10.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/07-card96.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/08-card29.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/09-card24.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/10-card100.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/11-card24.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/12-card18.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/13-card53.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/14-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/15-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/16-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/17-card25.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/bar-chart/18-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/00-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/01-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/02-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/03-card4.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/04-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/05-card8.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/06-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/07-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/08-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/boxplot/09-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/candlestick-chart/00-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/candlestick-chart/01-card90.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/candlestick-chart/02-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/00-card9.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/01-card21.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/02-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/03-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/04-card15.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/05-card4.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/06-card35.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/connected-scatter-plot/07-card24.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/donut-chart/00-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/donut-chart/01-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/donut-chart/02-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/donut-chart/03-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/funnel-chart/00-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/funnel-chart/01-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/funnel-chart/02-card8.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/00-card4.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/01-card8.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/02-card90.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/03-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/04-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/05-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/06-card24.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/07-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/08-card8.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/09-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/10-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/11-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/12-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/13-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/grouped-bar-chart/14-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/00-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/01-card10.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/02-card50.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/03-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/04-card80.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/05-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/06-card60.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/07-card80.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/heatmap/08-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/histogram/00-card49.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/histogram/01-card42.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/histogram/02-card997.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/00-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/01-card50.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/02-card100.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/03-card200.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/04-card60.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/05-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/06-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/07-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/08-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/09-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/10-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/11-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/12-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/13-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/14-card50.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/15-card200.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/16-card16.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/line-chart/17-card13.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pie-chart/00-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pie-chart/01-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pie-chart/02-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pie-chart/03-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/00-card18.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/01-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/02-card10.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/03-card24.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/04-card10.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/05-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/06-card40.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/pyramid-chart/07-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/radar-chart/00-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/radar-chart/01-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/radar-chart/02-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/radar-chart/04-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/radar-chart/05-card8.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/radar-chart/06-card12.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/00-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/01-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/02-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/03-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/04-card47.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/05-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/06-card15.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/07-card30.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/08-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/09-card91.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/10-card395.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/11-card182.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/12-card96.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/13-card10.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/14-card187.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/15-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/16-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/17-card2.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/18-card60.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/19-card24.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/20-card23.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/21-card59.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/22-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/23-card4.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/24-card15.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/scatter-plot/25-card40.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/00-card4.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/01-card15.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/02-card80.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/03-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/04-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/05-card10.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/06-card20.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/07-card10.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/08-card23.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/09-card43.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/stacked-bar-chart/10-card5.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/sunburst-chart/00-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/sunburst-chart/01-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/sunburst-chart/02-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/treemap/00-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/treemap/01-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/treemap/02-card0.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/waterfall-chart/00-card6.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/waterfall-chart/01-card7.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/waterfall-chart/02-card7.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/waterfall-chart/03-card14.flint.json
 create mode 100644 test-harness/excel/evaluations/inputs/waterfall-chart/04-card4.flint.json
 create mode 100644 test-harness/excel/evaluations/inspection-list.md
 create mode 100644 test-harness/excel/evaluations/layout-facet-audit.mjs
 create mode 100644 test-harness/excel/evaluations/make-audit-sheets.mjs
 create mode 100644 test-harness/excel/evaluations/render-client.mjs
 create mode 100644 test-harness/excel/evaluations/update-examples.mjs
 create mode 100644 test-harness/excel/office-runner/officejs/icon-16.png
 create mode 100644 test-harness/excel/office-runner/officejs/icon-32.png
 create mode 100644 test-harness/excel/office-runner/officejs/icon-80.png
 create mode 100644 test-harness/excel/office-runner/officejs/icon.svg
 create mode 100644 test-harness/excel/office-runner/officejs/manifest.xml
 create mode 100644 test-harness/excel/office-runner/officejs/taskpane.html
 create mode 100644 test-harness/excel/office-runner/officejs/taskpane.js
 create mode 100644 test-harness/excel/office-runner/server.mjs
 create mode 100644 test-harness/excel/package.json
 create mode 100644 test-harness/excel/tsconfig.json

diff --git a/.github/release-notes/0.3.0.md b/.github/release-notes/0.3.0.md
index 5945c154..7639ffd4 100644
--- a/.github/release-notes/0.3.0.md
+++ b/.github/release-notes/0.3.0.md
@@ -1,43 +1,30 @@
-# Flint 0.3
+Flint 0.3 makes charts easier to explore after they are created. The MCP App can now switch chart types and edit chart properties in place, while the original Flint spec stays compact and readable.
 
-Flint 0.3 makes charts easier to explore after they are created. The MCP App can
-now switch between compatible chart types and edit chart properties in place,
-while keeping the original Flint spec compact and readable.
+### Explore chart types
 
-## Explore chart types
-
-Move between compatible views without asking the agent to rebuild the chart.
-Flint preserves the data roles and derives the details needed by the new chart
-type.
+Move between compatible views without rebuilding the chart. For example, turn a dense Line Chart of food prices into compact Sparkline rows for easier comparison. Flint preserves the data roles and derives the details for the new chart type.
 
 Switching a line chart to a Sparkline in the Flint MCP App
 
-## Edit chart properties
+### Edit chart properties
 
-Common chart properties are available directly in the widget. Changes are
-immediate, and the available controls follow the selected chart and backend.
+Edit common properties directly in the widget. For example, turn labels on in a correlation heatmap to reveal the value in every cell. Controls adapt to the selected chart and backend, and changes appear immediately.
 
 Turning labels on for a heatmap in the Flint MCP App
 
-## Flint in Chinese
+### Flint in Chinese
 
-The website and documentation are now available in Chinese, including guides for
-getting started, authoring charts, and extending Flint.
+The website and documentation are now available in Chinese, including guides for getting started, authoring charts, and extending Flint.
 
 The Chinese Flint website and documentation
 
-## Smaller updates
+### Also in 0.3
 
 - Added backend-neutral chart recommendations and chart transformations.
-- Improved sparse area charts, grouped bars, boxplots, Gantt charts, and
-  Waterfall charts across supported backends.
-- Improved semantic formatting for axes, aggregates, and Sparkline averages.
-- Sparklines now self-scale each row and no longer expose a shared-Y option.
-- Added PNG copy, download, and reset actions to the MCP App.
-- Expanded chart-property guidance in the bundled agent skill and reference
-  documentation.
-
-See the [changelog](https://github.com/microsoft/flint-chart/blob/main/CHANGELOG.md#030---2026-07-19)
-for migration notes and the complete technical summary.
+- Improved sparse areas, grouped bars, boxplots, Gantt charts, and Waterfall charts across backends.
+- Improved semantic formatting and made Sparkline rows self-scale by default.
+- Added PNG copy, download, and reset actions, plus expanded agent guidance.
+
+See the [changelog](https://github.com/microsoft/flint-chart/blob/main/CHANGELOG.md#030---2026-07-19) for migration notes and the complete technical summary.
 
 **Full Changelog**: https://github.com/microsoft/flint-chart/compare/0.2.1...0.3.0
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
index fbcf3cc7..9002ee4a 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -851,9 +851,9 @@ interface ChartTemplateDef {
 
 ### `OverflowStrategy`
 
-Customizable per-template. The default strategy in `filter-overflow.ts` handles:
-connected marks (keep all for continuity), user sorts, auto-sorts,
-bar sum-aggregate, numeric sort, first-N.
+Customizable per-template. The default strategy in `filter-overflow.ts` keeps
+the first values in the selected display order: explicit user sort, canonical
+semantic order, numeric order, then data encounter order.
 
 ```typescript
 type OverflowStrategy = (
@@ -1009,13 +1009,14 @@ When discrete channels overflow the canvas budget, the library:
    count, placeholder string
 5. Emits `ChartWarning` for the UI
 
-The default overflow strategy priority:
-1. Connected marks (line, area) → keep all (truncation breaks continuity)
-2. User-specified sort → keep top/bottom N by sort order
-3. Quantitative opposite axis → sort by opposite, keep top N
-4. Bar with count aggregate → sum-aggregate and keep top N
-5. Numeric field → numeric sort, keep first N
-6. Fallback → keep first N in data order
+The default overflow strategy follows the chart's display order:
+1. User-specified sort → keep the first N values in that order
+2. Canonical semantic order (months, ranks, quarters, etc.) → keep the first N
+3. Numeric discrete field → numeric ascending, keep the first N
+4. Fallback → keep the first N in data encounter order
+
+Overflow does not introduce a measure-based top-N ranking. Select an explicit
+value sort when the largest or smallest categories should be retained.
 
 ---
 
diff --git a/docs/architecture.md b/docs/architecture.md
index efa192cf..dd11bf70 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -39,10 +39,10 @@ Most design logic lives in Stages 1–2 and is identical across backends.
 |-------|------------|----------------|-------------|
 | **1. Compiler frontend** | Resolve semantic context | Phase 0 — `resolveChannelSemantics()` | `ChannelSemantics` per channel |
 | **2. Optimizer** | Fit layout to canvas | Phase 1 — `computeLayout()`, `filterOverflow()` | `LayoutResult`, truncated data |
-| **3. Code generator** | Emit library-native spec | Phase 2 — `build*Encodings()`, `template.instantiate()` | VL / EC / CJS spec |
+| **3. Code generator** | Emit backend-native output | Phase 2 — `build*Encodings()`, `template.instantiate()` | VL / EC / CJS spec or Office.js program |
 
 ```text
-assembleVegaLite(input)   // or assembleECharts, assembleChartjs
+assembleVegaLite(input)   // or assembleECharts, assembleChartjs, assembleExcel
        │
        ▼
 ══ STAGE 1 — COMPILER FRONTEND (core/) ═════════════════════════
@@ -150,6 +150,27 @@ Registries: `vlTemplateDefs`, `ecTemplateDefs`, `cjsTemplateDefs`. Lookup: `vlGe
 
 New backends implement Stage 3 only; the frontend and optimizer stay unchanged. See [Extending backends](/documentation/adding-a-backend).
 
+### Excel backend
+
+Excel is a Stage 3 backend in `packages/flint-js`, parallel to Vega-Lite, ECharts, and Chart.js. It is not a separate package or an additional architectural layer.
+
+Office.js is imperative and requires an Excel host, so the backend first builds a typed native-chart artifact (`ExcelNativeChartSpec`) containing the worksheet matrix, native chart type, series bindings, dimensions, axes, labels, legend, and formatting. This versioned artifact is the contract between compilation and execution.
+
+The native-chart plan is an intermediate representation of the Excel backend, not a second user-authored chart specification. Callers continue to author the same semantic Flint input used by every backend:
+
+```text
+semantic Flint input
+       │
+       ▼
+assembleExcel() → ExcelNativeChartSpec
+                      │
+                      ├── renderExcelChart(Excel, artifact) → native Excel chart
+                      │
+                      └── generateOfficeJs(artifact) → standalone Office.js source
+```
+
+The normal add-in path transports the artifact and passes it, with the live Excel host, to `renderExcelChart()`. `generateOfficeJs()` is an optional projection for callers that need portable Office.js source; it is not a second contract or a required step in rendering. Host concerns such as worksheet selection, image capture, and process lifecycle stay outside compilation. Test harnesses may provide those host services, but they do not define Excel chart semantics.
+
 ---
 
 # §6 Inputs
@@ -178,9 +199,11 @@ packages/flint-js/src/
 ├── vegalite/       Stage 3 — Vega-Lite templates + assembleVegaLite
 ├── echarts/        Stage 3 — ECharts templates + assembleECharts
 ├── chartjs/        Stage 3 — Chart.js templates + assembleChartjs
+├── excel/          Stage 3 — native Excel chart planning + Office.js generation
 └── test-data/      gallery fixtures (TEST_GENERATORS)
 
 packages/flint-py/  Python port preview (package planned later)
+test-harness/excel/ Office.js runner + visual evaluations of Excel artifacts
 site/               demo site (gallery, editor, documentation)
 ```
 
diff --git a/docs/reference-vegalite.md b/docs/reference-vegalite.md
index 574c4acc..75f12e48 100644
--- a/docs/reference-vegalite.md
+++ b/docs/reference-vegalite.md
@@ -6,7 +6,7 @@ The Vega-Lite backend serves as Flint's reference implementation and offers the
 
 ## What this page covers
 
-This reference lists the 34 chart types currently supported by the Vega-Lite backend, grouped into 6 categories. Each chart entry shows:
+This reference lists the 35 chart types currently supported by the Vega-Lite backend, grouped into 6 categories. Each chart entry shows:
 
 - **Encoding channels** — the visual roles accepted in `chart_spec.encodings`, such as `x`, `y`, `color`, `size`, `column`, or `row`.
 - **Options** — template-specific `chart_spec.chartProperties` keys, including control type, domain, default, availability, and description.
@@ -345,6 +345,16 @@ _No template-specific parameters._
 | `sortSlices` | choice | `none` (Data order), `descending` (Largest first), `ascending` (Smallest first) | `none` | always | Sort slices |
 | `independentYAxis` | toggle | on / off | `false` | conditional | Use independent y-scales for facets. |
 
+### Donut Chart
+
+**Encoding channels:** `size`, `color`, `column`, `row`
+
+| Parameter | Control | Domain | Default | Availability | Description |
+|---|---|---|---|---|---|
+| `innerRadius` | number | 0 – 100 (step 5) | `0` | always | Inner radius as a percentage of the outer radius. |
+| `sortSlices` | choice | `none` (Data order), `descending` (Largest first), `ascending` (Smallest first) | `none` | always | Sort slices |
+| `independentYAxis` | toggle | on / off | `false` | conditional | Use independent y-scales for facets. |
+
 ### ![](chart-icon-rose.svg) Rose Chart
 
 **Encoding channels:** `x`, `y`, `color`, `column`, `row`
diff --git a/packages/flint-js/package.json b/packages/flint-js/package.json
index f19123cd..63c8ff84 100644
--- a/packages/flint-js/package.json
+++ b/packages/flint-js/package.json
@@ -55,6 +55,11 @@
       "import": "./dist/chartjs/index.js",
       "require": "./dist/chartjs/index.cjs"
     },
+    "./excel": {
+      "types": "./dist/excel/index.d.ts",
+      "import": "./dist/excel/index.js",
+      "require": "./dist/excel/index.cjs"
+    },
     "./test-data": {
       "types": "./dist/test-data/index.d.ts",
       "import": "./dist/test-data/index.js",
diff --git a/packages/flint-js/src/core/filter-overflow.ts b/packages/flint-js/src/core/filter-overflow.ts
index fee7c815..39cd07b1 100644
--- a/packages/flint-js/src/core/filter-overflow.ts
+++ b/packages/flint-js/src/core/filter-overflow.ts
@@ -145,7 +145,7 @@ export function filterOverflow(
             warnings.push({
                 severity: 'warning',
                 code: 'overflow',
-                message: `${omittedCount} of ${uniqueValues.length} values in '${fieldName}' were omitted (showing top ${valuesToKeep.length}).`,
+                message: `${omittedCount} of ${uniqueValues.length} values in '${fieldName}' were omitted (showing first ${valuesToKeep.length} in sort order).`,
                 channel,
                 field: fieldName,
             });
@@ -153,7 +153,7 @@ export function filterOverflow(
             truncations.push({
                 severity: 'warning',
                 code: 'overflow',
-                message: `${omittedCount} of ${uniqueValues.length} values in '${fieldName}' were omitted (showing top ${valuesToKeep.length}).`,
+                message: `${omittedCount} of ${uniqueValues.length} values in '${fieldName}' were omitted (showing first ${valuesToKeep.length} in sort order).`,
                 channel,
                 field: fieldName,
                 keptValues: valuesToKeep,
@@ -178,19 +178,16 @@ export function filterOverflow(
 /**
  * Default overflow strategy: decides which discrete values to keep.
  *
- * - Connected marks (line/area/trail): preserve natural order (first N)
  * - User-specified sort: respect it
- * - Auto-sort: sort by quantitative opposite axis or color, keep top N
- * - Bar charts: sum-aggregate for sort (total bar height matters)
+ * - Canonical semantic order (months, ranks, etc.): keep the first N
+ * - Numeric categories: keep the first N numerically
+ * - Otherwise preserve data encounter order
  */
 const defaultOverflowStrategy: OverflowStrategy = (
     channel, fieldName, uniqueValues, maxToKeep, context,
 ) => {
     const { data, channelSemantics, encodings, allMarkTypes } = context;
 
-    // Connected marks need chronological/natural order preserved
-    const hasConnectedMark = allMarkTypes.has('line') || allMarkTypes.has('area') || allMarkTypes.has('trail');
-
     // Determine sort intent from user encodings
     const encoding = encodings[channel];
     const sortBy = encoding?.sortBy;
@@ -199,7 +196,7 @@ const defaultOverflowStrategy: OverflowStrategy = (
     // Infer sort field and direction
     let sortField: string | undefined;
     let sortFieldType: string | undefined;
-    let isDescending = true;
+    let isDescending = false;
 
     if (sortBy) {
         // User explicitly specified sort
@@ -221,46 +218,10 @@ const defaultOverflowStrategy: OverflowStrategy = (
             }
             isDescending = sortOrder === 'descending';
         }
-    } else {
-        // Auto-detect sort: quantitative opposite axis or quantitative color
-        const oppositeChannel = channel === 'x' ? 'y' : channel === 'y' ? 'x' : undefined;
-
-        const colorCS = channelSemantics.color;
-        const oppositeCS = oppositeChannel ? channelSemantics[oppositeChannel] : undefined;
-
-        // For rect marks (heatmaps), color is the primary value — don't auto-sort by it
-        const markType = allMarkTypes.has('rect') ? 'rect' : undefined;
-        if (markType !== 'rect' && colorCS?.type === 'quantitative') {
-            sortField = colorCS.field;
-            sortFieldType = colorCS.type;
-        } else if (oppositeCS?.type === 'quantitative') {
-            sortField = oppositeCS.field;
-            sortFieldType = oppositeCS.type;
-        } else {
-            isDescending = false;
-        }
-    }
-
-    // For quantitative field values treated as nominal, sort numerically
-    const fieldOriginalType = inferVisCategory(data.map(r => r[fieldName]));
-    if (fieldOriginalType === 'quantitative' || channel === 'color') {
-        return uniqueValues.sort((a, b) => a - b)
-            .slice(0, maxToKeep);
     }
 
-    // Facet channels: first N
-    if (channel === 'column' || channel === 'row') {
-        return uniqueValues.slice(0, maxToKeep);
-    }
-
-    // Connected marks: preserve natural order
-    if (hasConnectedMark) {
-        return uniqueValues.slice(0, maxToKeep);
-    }
-
-    // Sort by aggregate of the quantitative sort field
+    // Explicit value sort takes precedence over the category field's own type.
     if (sortField && sortFieldType === 'quantitative') {
-        // Bar charts: sum aggregate (total bar height). Others: max.
         let aggregateOp = Math.max;
         let initialValue = -Infinity;
         if (allMarkTypes.has('bar') && sortField !== channelSemantics.color?.field) {
@@ -268,10 +229,10 @@ const defaultOverflowStrategy: OverflowStrategy = (
             initialValue = 0;
         }
 
-        const valueAggregates = new Map();
+        const valueAggregates = new Map();
         for (const row of data) {
             const fieldValue = row[fieldName];
-            const sortValue = row[sortField] || 0;
+            const sortValue = Number(row[sortField] ?? 0);
             if (valueAggregates.has(fieldValue)) {
                 valueAggregates.set(fieldValue, aggregateOp(valueAggregates.get(fieldValue)!, sortValue));
             } else {
@@ -286,9 +247,33 @@ const defaultOverflowStrategy: OverflowStrategy = (
             .map(v => v.value);
     }
 
-    // Descending explicit sort: reverse then take first N
+    const canonicalOrder = channelSemantics[channel]?.ordinalSortOrder;
+    if (!sortBy && !sortOrder && canonicalOrder?.length) {
+        const present = new Set(uniqueValues);
+        const ordered = canonicalOrder.filter(value => present.has(value));
+        const canonicalValues = new Set(ordered);
+        ordered.push(...uniqueValues.filter(value => !canonicalValues.has(value)));
+        return ordered.slice(0, maxToKeep);
+    }
+
+    // Match the display default for quantitative values treated as discrete.
+    const fieldOriginalType = inferVisCategory(data.map(r => r[fieldName]));
+    if (fieldOriginalType === 'quantitative' || channel === 'color') {
+        return [...uniqueValues].sort((a, b) => Number(a) - Number(b))
+            .slice(0, maxToKeep);
+    }
+
+    // Facet channels: first N
+    if (channel === 'column' || channel === 'row') {
+        return uniqueValues.slice(0, maxToKeep);
+    }
+
+    // Explicit field-order sort follows the displayed label order.
     if (sortOrder === 'descending') {
-        return uniqueValues.reverse().slice(0, maxToKeep);
+        return [...uniqueValues].sort((a, b) => String(b).localeCompare(String(a), undefined, { numeric: true })).slice(0, maxToKeep);
+    }
+    if (sortOrder === 'ascending') {
+        return [...uniqueValues].sort((a, b) => String(a).localeCompare(String(b), undefined, { numeric: true })).slice(0, maxToKeep);
     }
 
     // Default: first N values
diff --git a/packages/flint-js/src/docs/README.md b/packages/flint-js/src/docs/README.md
index 3af97308..8a3140a2 100644
--- a/packages/flint-js/src/docs/README.md
+++ b/packages/flint-js/src/docs/README.md
@@ -851,9 +851,9 @@ interface ChartTemplateDef {
 
 ### `OverflowStrategy`
 
-Customizable per-template. The default strategy in `filter-overflow.ts` handles:
-connected marks (keep all for continuity), user sorts, auto-sorts,
-bar sum-aggregate, numeric sort, first-N.
+Customizable per-template. The default strategy in `filter-overflow.ts` keeps
+the first values in the selected display order: explicit user sort, canonical
+semantic order, numeric order, then data encounter order.
 
 ```typescript
 type OverflowStrategy = (
@@ -1013,13 +1013,14 @@ When discrete channels overflow the canvas budget, the library:
    count, placeholder string
 5. Emits `ChartWarning` for the UI
 
-The default overflow strategy priority:
-1. Connected marks (line, area) → keep all (truncation breaks continuity)
-2. User-specified sort → keep top/bottom N by sort order
-3. Quantitative opposite axis → sort by opposite, keep top N
-4. Bar with count aggregate → sum-aggregate and keep top N
-5. Numeric field → numeric sort, keep first N
-6. Fallback → keep first N in data order
+The default overflow strategy follows the chart's display order:
+1. User-specified sort → keep the first N values in that order
+2. Canonical semantic order (months, ranks, quarters, etc.) → keep the first N
+3. Numeric discrete field → numeric ascending, keep the first N
+4. Fallback → keep the first N in data encounter order
+
+Overflow does not introduce a measure-based top-N ranking. Select an explicit
+value sort when the largest or smallest categories should be retained.
 
 ---
 
diff --git a/packages/flint-js/src/excel/artifact.ts b/packages/flint-js/src/excel/artifact.ts
new file mode 100644
index 00000000..728cf0ed
--- /dev/null
+++ b/packages/flint-js/src/excel/artifact.ts
@@ -0,0 +1,104 @@
+import type { ExcelNativeChartSpec } from './types';
+
+export const EXCEL_ARTIFACT_SCHEMA = 'flint.excel.chart/v1' as const;
+
+export const SUPPORTED_EXCEL_CHART_TYPES = [
+    'Area',
+    'AreaStacked',
+    'BarClustered',
+    'BarStacked',
+    'BoxWhisker',
+    'Bubble',
+    'ColumnClustered',
+    'ColumnStacked',
+    'Doughnut',
+    'Funnel',
+    'Line',
+    'Pie',
+    'RadarMarkers',
+    'StockOHLC',
+    'Sunburst',
+    'Treemap',
+    'Waterfall',
+    'XYScatter',
+    'XYScatterLines',
+] as const;
+
+const supportedChartTypes = new Set(SUPPORTED_EXCEL_CHART_TYPES);
+
+export interface PreparedExcelArtifact {
+    spec: ExcelNativeChartSpec;
+    data: Array>;
+    rows: number;
+    columns: number;
+    rangeA1: string;
+    chartType: string;
+    numericAxis: boolean;
+    dateAxis: boolean;
+    hasAxes: boolean;
+    isBar: boolean;
+    isLine: boolean;
+    seriesCount: number;
+}
+
+export function excelColumnLetter(index: number): string {
+    if (!Number.isInteger(index) || index < 0) {
+        throw new Error('Column index must be a non-negative integer.');
+    }
+    let result = '';
+    let remaining = index + 1;
+    while (remaining > 0) {
+        const digit = (remaining - 1) % 26;
+        result = String.fromCharCode(65 + digit) + result;
+        remaining = Math.floor((remaining - 1) / 26);
+    }
+    return result;
+}
+
+export function prepareExcelArtifact(value: unknown): PreparedExcelArtifact {
+    if (!value || typeof value !== 'object') {
+        throw new Error('Excel artifact must be an object.');
+    }
+    const spec = value as Partial;
+    if (spec.schema !== EXCEL_ARTIFACT_SCHEMA || spec.kind !== 'chart') {
+        throw new Error(`Expected a ${EXCEL_ARTIFACT_SCHEMA} chart artifact.`);
+    }
+    const chartType = spec.chartType;
+    if (typeof chartType !== 'string' || !supportedChartTypes.has(chartType)) {
+        throw new Error(`Unsupported Excel chart type: ${String(spec.chartType)}.`);
+    }
+    if (spec.seriesBy !== 'Columns' && spec.seriesBy !== 'Rows') {
+        throw new Error('Excel artifact seriesBy must be Columns or Rows.');
+    }
+    if (!Array.isArray(spec.data) || spec.data.length < 2 || spec.data.some((row) => !Array.isArray(row))) {
+        throw new Error('Excel artifact data must contain a header and at least one data row.');
+    }
+    const columns = Math.max(...spec.data.map((row) => row.length));
+    if (columns < 2) {
+        throw new Error('Excel artifact data must contain at least two columns.');
+    }
+    const rows = spec.data.length;
+    const data = spec.data.map((row) => {
+        const padded = row.slice();
+        while (padded.length < columns) padded.push(null);
+        return padded;
+    });
+    const seriesCount = /Treemap|Sunburst/i.test(chartType)
+        ? 1
+        : spec.series?.length ?? (spec.seriesBy === 'Rows' ? rows - 1 : columns - 1);
+
+    return {
+        spec: spec as ExcelNativeChartSpec,
+        data,
+        rows,
+        columns,
+        rangeA1: `A1:${excelColumnLetter(columns - 1)}${rows}`,
+        chartType,
+        numericAxis: /XYScatter|Bubble/i.test(chartType),
+        dateAxis: /Stock/i.test(chartType),
+        hasAxes: !/Pie|Doughnut|Treemap|Sunburst|Funnel/i.test(chartType),
+        isBar: /Bar|Column/i.test(chartType),
+        isLine: /Line/i.test(chartType),
+        seriesCount,
+    };
+}
diff --git a/packages/flint-js/src/excel/assemble.ts b/packages/flint-js/src/excel/assemble.ts
new file mode 100644
index 00000000..de1b538d
--- /dev/null
+++ b/packages/flint-js/src/excel/assemble.ts
@@ -0,0 +1,576 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+/**
+ * Excel chart assembly — Stage-3 code generator for Office.js Excel charts.
+ *
+ * Reuses the SAME core analysis pipeline as the other backends:
+ *   Phase 0:  convertTemporalData + resolveChannelSemantics → ChannelSemantics
+ *             (this decides each channel's role: quantitative = MEASURE,
+ *              nominal/ordinal/temporal = CATEGORY — no heuristics)
+ *   Stage 3:  pivot the long/tidy rows into Excel's WIDE matrix and emit an
+ *             ExcelChartSpec (native Office.js chart description).
+ *
+ * Excel charts consume a rectangular range (`charts.add(type, range, seriesBy)`),
+ * so the long/tidy data is pivoted: category field → first column, series field
+ * → series columns, measure → cells. Visual STYLE stays native to Excel (its
+ * own palette/gridlines); only Flint's LAYOUT decisions (which field is the
+ * category, number format, legend, orientation) are carried over.
+ */
+
+import type {
+    ChartAssemblyInput,
+    ChartEncoding,
+    ChartWarning,
+    LayoutDeclaration,
+    SemanticResult,
+} from '../core/types';
+import { resolveChannelSemantics, convertTemporalData } from '../core/resolve-semantics';
+import { detectBandedAxisFromSemantics } from '../core/axis-detection';
+import { computeChannelBudgets, deriveStretchCaps, resolveBaseSize } from '../core/compute-layout';
+import { filterOverflow } from '../core/filter-overflow';
+import { formatSpecToExcel } from './chart-types';
+import { excelGetTemplateDef } from './templates';
+import type {
+    ExcelAxisSpec,
+    ExcelChartSpec,
+    ExcelNativeChartSpec,
+    ExcelNativeSeriesSpec,
+    ExcelSeriesBy,
+} from './types';
+
+type Cell = string | number | null;
+
+const EXCEL_SERIES_COLORS = ['#4472C4', '#ED7D31', '#70AD47', '#FFC000', '#5B9BD5', '#A5A5A5'];
+
+function niceStep(span: number, targetTicks = 5): number {
+    if (!(span > 0)) return 1;
+    const rough = span / targetTicks;
+    const power = 10 ** Math.floor(Math.log10(rough));
+    const fraction = rough / power;
+    const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;
+    return niceFraction * power;
+}
+
+function focusedNumericAxis(values: number[]): Partial> {
+    const finite = values.filter(Number.isFinite);
+    if (finite.length === 0) return {};
+    const dataMinimum = Math.min(...finite);
+    const dataMaximum = Math.max(...finite);
+    const dataSpan = dataMaximum - dataMinimum;
+    const referenceSpan = dataSpan > 0 ? dataSpan : Math.max(1, Math.abs(dataMaximum) * 0.1);
+    const majorUnit = niceStep(referenceSpan);
+    const precision = 10 ** Math.max(0, -Math.floor(Math.log10(majorUnit)) + 1);
+    const round = (value: number) => Math.round(value * precision) / precision;
+    if (dataSpan === 0) {
+        return {
+            minimumScale: round(dataMinimum - majorUnit),
+            maximumScale: round(dataMaximum + majorUnit),
+            majorUnit,
+        };
+    }
+    const onMajorTick = (value: number) => Math.abs(value / majorUnit - Math.round(value / majorUnit)) < 1e-9;
+    const minimumScale = dataMinimum >= 0 && dataMinimum <= referenceSpan * 0.1
+        ? 0
+        : round(Math.floor(dataMinimum / majorUnit) * majorUnit);
+    const nextMajorTick = Math.ceil(dataMaximum / majorUnit) * majorUnit;
+    const maximumScale = onMajorTick(dataMaximum)
+        ? dataMaximum + majorUnit * 0.25
+        : nextMajorTick;
+    return {
+        minimumScale,
+        maximumScale: round(maximumScale),
+        majorUnit,
+    };
+}
+
+function temporalLabelSpacing(categoryCount: number, width: number): number | undefined {
+    const labelBudget = Math.max(12, Math.floor((width - 90) / 14));
+    return categoryCount > labelBudget ? Math.ceil(categoryCount / labelBudget) : undefined;
+}
+
+/** Normalize shorthand (`"x": "field"`) to `{ field }`. */
+function normalizeEncodings(
+    raw: Record,
+): Record {
+    const out: Record = {};
+    for (const [ch, v] of Object.entries(raw ?? {})) {
+        if (v == null) continue;
+        out[ch] = typeof v === 'string' ? { field: v } : (v as ChartEncoding);
+    }
+    return out;
+}
+
+/** Distinct values of a field, first-seen order. */
+function distinct(rows: any[], field: string): Cell[] {
+    const seen = new Set();
+    const out: Cell[] = [];
+    for (const r of rows) {
+        const v = r[field];
+        if (!seen.has(v)) { seen.add(v); out.push(v as Cell); }
+    }
+    return out;
+}
+
+function interpolateMissing(values: Cell[]): Cell[] {
+    const output = [...values];
+    for (let index = 0; index < output.length; index += 1) {
+        if (output[index] != null) continue;
+        let previous = index - 1;
+        let next = index + 1;
+        while (previous >= 0 && output[previous] == null) previous -= 1;
+        while (next < output.length && output[next] == null) next += 1;
+        if (previous < 0 || next >= output.length) continue;
+        const start = Number(output[previous]);
+        const end = Number(output[next]);
+        if (!Number.isFinite(start) || !Number.isFinite(end)) continue;
+        output[index] = start + ((end - start) * (index - previous)) / (next - previous);
+    }
+    return output;
+}
+
+function normalizedBubbleSizes(
+    rows: any[],
+    field: string,
+    type: string | undefined,
+    width: number,
+    height: number,
+): Map {
+    const values = rows.map((row) => row[field]).filter((value) => value != null);
+    const unique = [...new Set(values)];
+    const maximumArea = Math.round(Math.max(16, Math.min(361, (width * height / Math.max(1, rows.length)) * 0.6)));
+    const minimumArea = type === 'quantitative' || type === 'temporal'
+        ? 9
+        : Math.round(maximumArea / 4);
+    const output = new Map();
+    if (type !== 'quantitative' && type !== 'temporal') {
+        unique.forEach((value, index) => {
+            const t = unique.length > 1 ? index / (unique.length - 1) : 0.5;
+            output.set(value, minimumArea + t * (maximumArea - minimumArea));
+        });
+        return output;
+    }
+
+    const numeric = values.map(Number).filter(Number.isFinite);
+    const maximum = numeric.length > 0 ? Math.max(...numeric) : 1;
+    const sqrtMaximum = Math.sqrt(Math.max(0, maximum));
+    unique.forEach((value) => {
+        const numericValue = Number(value);
+        const t = sqrtMaximum > 0 && Number.isFinite(numericValue)
+            ? Math.sqrt(Math.max(0, numericValue)) / sqrtMaximum
+            : 0;
+        output.set(value, minimumArea + t * (maximumArea - minimumArea));
+    });
+    return output;
+}
+
+function interpolateColor(start: string, end: string, t: number): string {
+    const channel = (color: string, offset: number) => Number.parseInt(color.slice(offset, offset + 2), 16);
+    const hex = (value: number) => Math.round(value).toString(16).padStart(2, '0');
+    return `#${hex(channel(start, 1) + (channel(end, 1) - channel(start, 1)) * t)}${hex(channel(start, 3) + (channel(end, 3) - channel(start, 3)) * t)}${hex(channel(start, 5) + (channel(end, 5) - channel(start, 5)) * t)}`;
+}
+
+/**
+ * Assemble an {@link ExcelChartSpec} from a {@link ChartAssemblyInput}.
+ *
+ * @throws if the chart type has no native Excel equivalent (e.g. Heatmap).
+ */
+export function assembleExcel(input: ChartAssemblyInput): ExcelChartSpec {
+    const flintType = input.chart_spec.chartType;
+    const semanticTypes = input.semantic_types ?? {};
+    const rawData: any[] = input.data.values ?? [];
+    const encodings = normalizeEncodings(input.chart_spec.encodings);
+
+    // ── Phase 0 (reused core): resolve per-channel semantics ────────────────
+    let convertedData = convertTemporalData(rawData, semanticTypes);
+    const sem: SemanticResult = resolveChannelSemantics(
+        encodings, rawData, semanticTypes, convertedData,
+    );
+    const typeOf = (ch: string) => sem[ch]?.type;
+    const isMeasure = (ch: string) => typeOf(ch) === 'quantitative';
+    const fieldOf = (ch: string) => encodings[ch]?.field;
+    const overflowOrder = new Map();
+    const chartTemplate = excelGetTemplateDef(flintType);
+    if (!chartTemplate) {
+        throw new Error(`Excel backend does not support chart type "${flintType}" as a native Office.js chart.`);
+    }
+    if (fieldOf('column') || fieldOf('row')) {
+        throw new Error(`Excel backend does not support faceting in one native Excel chart: "${flintType}".`);
+    }
+    const templateContext = { input, table: convertedData, semantics: sem, fieldOf, typeOf };
+    const unsupportedReason = chartTemplate.validate?.(templateContext);
+    if (unsupportedReason) {
+        throw new Error(`Excel backend ${unsupportedReason}: "${flintType}".`);
+    }
+
+    if (chartTemplate.instantiate) {
+        return chartTemplate.instantiate(templateContext);
+    }
+
+    if (flintType === 'Bar Chart' || flintType === 'Grouped Bar Chart' || flintType === 'Stacked Bar Chart') {
+        const detected = detectBandedAxisFromSemantics(sem, convertedData, { preferAxis: 'x' });
+        const declaration: LayoutDeclaration = {
+            axisFlags: detected ? { [detected.axis]: { banded: true } } : { x: { banded: true } },
+            resolvedTypes: detected?.resolvedTypes,
+        };
+        const baseSize = resolveBaseSize(input.chart_spec.baseSize, input.chart_spec.canvasSize);
+        const options = {
+            facetFixedPadding: { width: 50, height: 40 },
+            facetGap: 10,
+            targetBandAR: 10,
+            ...deriveStretchCaps(baseSize, input.chart_spec.canvasSize, {}),
+        };
+        const budgets = computeChannelBudgets(sem, declaration, convertedData, baseSize, options);
+        const overflowResult = filterOverflow(
+            sem,
+            declaration,
+            encodings,
+            convertedData,
+            budgets,
+            new Set(['bar']),
+        );
+        convertedData = overflowResult.filteredData;
+        overflowResult.truncations.forEach((truncation) => {
+            overflowOrder.set(truncation.field, truncation.keptValues as Cell[]);
+        });
+    }
+
+    const mapping = chartTemplate.typeMapping;
+
+    // ── Resolve roles (category / measure / series) from semantics ──────────
+    let catCh: string | undefined;
+    let measCh: string | undefined;
+    let seriesCh: string | undefined;
+    let orientation: 'vertical' | 'horizontal' = 'vertical';
+    let isXY = false;
+
+    // categorical series candidate (group preferred, else categorical color)
+    const seriesCand = encodings.group
+        ? 'group'
+        : encodings.color && !isMeasure('color')
+            ? 'color'
+            : undefined;
+    const seriesField0 = seriesCand;
+
+    if (mapping.noAxes) {
+        // pie/doughnut: color = slices (category), size/theta/y = value
+        catCh = encodings.color ? 'color' : encodings.x ? 'x' : undefined;
+        measCh = encodings.size ? 'size' : encodings.theta ? 'theta' : encodings.y ? 'y' : undefined;
+        seriesCh = undefined;
+    } else if (mapping.xy) {
+        catCh = 'x'; measCh = 'y'; isXY = true; seriesCh = seriesField0;
+    } else if (isMeasure('x') && !isMeasure('y')) {
+        catCh = 'y'; measCh = 'x'; orientation = 'horizontal'; seriesCh = seriesField0;
+    } else {
+        catCh = 'x'; measCh = 'y'; seriesCh = seriesField0;
+    }
+
+    const catField = catCh ? fieldOf(catCh) : undefined;
+    const measField = measCh ? fieldOf(measCh) : undefined;
+    const seriesField = seriesCh ? fieldOf(seriesCh) : undefined;
+    const dashField = fieldOf('strokeDash');
+    const orderField = fieldOf('order');
+    const sizeField = fieldOf('size');
+    const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+    const bubbleSizes = sizeField
+        ? normalizedBubbleSizes(convertedData, sizeField, typeOf('size'), base.width, base.height)
+        : undefined;
+    const warnings: ChartWarning[] = [];
+
+    if (!catField || !measField) {
+        throw new Error(
+            `Excel backend could not resolve category/measure for "${flintType}" ` +
+            `(category=${catField}, measure=${measField}).`,
+        );
+    }
+
+    const numericXLine = flintType === 'Line Chart' && isMeasure('x') && isMeasure('y');
+    if (numericXLine) {
+        isXY = true;
+        catCh = 'x';
+        measCh = 'y';
+    }
+
+    // ── Stage 3: pivot long → wide matrix ───────────────────────────────────
+    const data: Array> = [];
+    let explicitSeries: ExcelNativeSeriesSpec[] | undefined;
+    let seriesFormats: ExcelNativeChartSpec['seriesFormats'];
+    if (isXY) {
+        const seriesKeys = seriesField ? distinct(convertedData, seriesField) : [measField];
+        const needsExplicitSeries = Boolean(seriesField || sizeField);
+        if (needsExplicitSeries) {
+            const columnsPerSeries = sizeField ? 3 : 2;
+            const groupedRows = seriesKeys.map((seriesKey) => {
+                const rows = convertedData.filter((row) => !seriesField || row[seriesField] === seriesKey);
+                if (!orderField) return rows;
+                return [...rows].sort((left, right) => {
+                    const leftValue = left[orderField];
+                    const rightValue = right[orderField];
+                    const leftNumber = Number(leftValue);
+                    const rightNumber = Number(rightValue);
+                    if (Number.isFinite(leftNumber) && Number.isFinite(rightNumber)) return leftNumber - rightNumber;
+                    const leftTime = new Date(String(leftValue)).getTime();
+                    const rightTime = new Date(String(rightValue)).getTime();
+                    if (Number.isFinite(leftTime) && Number.isFinite(rightTime)) return leftTime - rightTime;
+                    return String(leftValue).localeCompare(String(rightValue), undefined, { numeric: true });
+                });
+            });
+            const rowCount = Math.max(0, ...groupedRows.map((rows) => rows.length));
+            explicitSeries = seriesKeys.map((seriesKey, index) => ({
+                name: String(seriesKey),
+                xColumn: index * columnsPerSeries,
+                yColumn: index * columnsPerSeries + 1,
+                rowCount: groupedRows[index].length,
+                bubbleSizeColumn: sizeField ? index * columnsPerSeries + 2 : undefined,
+            }));
+            data.push(seriesKeys.flatMap((seriesKey) => [
+                `${String(seriesKey)} ${catField}`,
+                `${String(seriesKey)} ${measField}`,
+                ...(sizeField ? [`${String(seriesKey)} ${sizeField}`] : []),
+            ]));
+            for (let rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {
+                data.push(groupedRows.flatMap((rows) => {
+                    const row = rows[rowIndex];
+                    if (!row) return new Array(columnsPerSeries).fill(null);
+                    return [
+                        row[catField] as Cell,
+                        Number(row[measField]),
+                        ...(sizeField ? [bubbleSizes?.get(row[sizeField]) ?? 9] : []),
+                    ];
+                }));
+            }
+        } else {
+            data.push([catField, measField]);
+            const rows = orderField
+                ? [...convertedData].sort((left, right) => {
+                    const leftValue = left[orderField];
+                    const rightValue = right[orderField];
+                    const leftNumber = Number(leftValue);
+                    const rightNumber = Number(rightValue);
+                    if (Number.isFinite(leftNumber) && Number.isFinite(rightNumber)) return leftNumber - rightNumber;
+                    const leftTime = new Date(String(leftValue)).getTime();
+                    const rightTime = new Date(String(rightValue)).getTime();
+                    if (Number.isFinite(leftTime) && Number.isFinite(rightTime)) return leftTime - rightTime;
+                    return String(leftValue).localeCompare(String(rightValue), undefined, { numeric: true });
+                })
+                : convertedData;
+            for (const r of rows) {
+                const x = r[catField];
+                const y = r[measField];
+                if (x == null || y == null) continue;
+                data.push([x as Cell, Number(y)]);
+            }
+        }
+    } else {
+        let categories = distinct(convertedData, catField);
+        const rankedCategories = overflowOrder.get(catField);
+        if (rankedCategories) categories = rankedCategories;
+        if (flintType === 'Line Chart' || flintType === 'Area Chart') {
+            if (typeOf(catCh!) === 'temporal') {
+                categories = [...categories].sort((a, b) => new Date(String(a)).getTime() - new Date(String(b)).getTime());
+            } else if (typeOf(catCh!) === 'quantitative') {
+                categories = [...categories].sort((a, b) => Number(a) - Number(b));
+            }
+        }
+        let seriesKeys = seriesField ? distinct(convertedData, seriesField) : [measField];
+        if (seriesField && (flintType === 'Stacked Bar Chart' || flintType === 'Bar Chart')) {
+            seriesKeys = [...seriesKeys].sort((a, b) => String(a).localeCompare(String(b), undefined, { numeric: true }));
+            if (orientation === 'vertical') seriesKeys.reverse();
+        }
+        const dashValues = dashField ? distinct(convertedData, dashField) : [];
+        const seriesDescriptors = dashField
+            ? convertedData.reduce>((output, row) => {
+                const seriesValue = (seriesField ? row[seriesField] : measField) as Cell;
+                const dashValue = row[dashField] as Cell;
+                const key = `${String(seriesValue)}\u0001${String(dashValue)}`;
+                if (!output.some((descriptor) => descriptor.key === key)) {
+                    output.push({
+                        key,
+                        label: seriesField ? `${String(seriesValue)} — ${String(dashValue)}` : String(dashValue),
+                        seriesValue,
+                        dashValue,
+                    });
+                }
+                return output;
+            }, [])
+            : seriesKeys.map((seriesValue) => ({
+                key: String(seriesValue),
+                label: String(seriesValue),
+                seriesValue,
+                dashValue: null,
+            }));
+        const orderedSeries = Boolean(seriesField)
+            && typeOf(seriesCh!) === 'ordinal';
+        const numericSeriesValues = orderedSeries
+            ? seriesKeys.map(Number).filter(Number.isFinite)
+            : [];
+        const seriesMinimum = numericSeriesValues.length > 0 ? Math.min(...numericSeriesValues) : 0;
+        const seriesMaximum = numericSeriesValues.length > 0 ? Math.max(...numericSeriesValues) : 1;
+        const orderedSeriesColor = (value: Cell) => {
+            const numericValue = Number(value);
+            const t = Number.isFinite(numericValue) && seriesMaximum !== seriesMinimum
+                ? (numericValue - seriesMinimum) / (seriesMaximum - seriesMinimum)
+                : 0.5;
+            return interpolateColor('#D9E2F3', '#2F5597', t);
+        };
+        if (orderedSeries) {
+            seriesFormats = seriesDescriptors.map((descriptor) => ({
+                color: orderedSeriesColor(descriptor.seriesValue),
+            }));
+        }
+        if (dashField) {
+            seriesFormats = seriesDescriptors.map((descriptor) => ({
+                color: EXCEL_SERIES_COLORS[Math.max(0, seriesKeys.indexOf(descriptor.seriesValue)) % EXCEL_SERIES_COLORS.length],
+                lineStyle: dashValues.indexOf(descriptor.dashValue) === 0 ? 'Continuous' : 'Dash',
+            }));
+        }
+
+        // aggregate duplicates per (category × series) using the measure's default
+        const agg = sem[measCh!]?.aggregationDefault ?? 'sum';
+        const acc = new Map();
+        for (const r of convertedData) {
+            const cv = r[catField];
+            if (cv == null) continue;
+            const seriesValue = seriesField ? r[seriesField] : measField;
+            const sv = dashField
+                ? `${String(seriesValue)}\u0001${String(r[dashField])}`
+                : seriesValue;
+            const num = Number(r[measField]);
+            if (!Number.isFinite(num)) continue;
+            const key = `${String(cv)}\u0000${String(sv)}`;
+            const e = acc.get(key) ?? { sum: 0, count: 0 };
+            e.sum += num; e.count += 1; acc.set(key, e);
+        }
+        const valueAt = (cv: Cell, sv: Cell): Cell => {
+            const e = acc.get(`${String(cv)}\u0000${String(sv)}`);
+            if (!e) return null;
+            return agg === 'average' ? e.sum / e.count : e.sum;
+        };
+
+        let seriesValues = seriesDescriptors.map((descriptor) => categories.map((category) => valueAt(category, descriptor.key)));
+        if (flintType === 'Line Chart' || flintType === 'Area Chart') {
+            seriesValues = seriesValues.map(interpolateMissing);
+        }
+        if (flintType === 'Area Chart' && typeOf(catCh!) === 'quantitative' && categories.length > 1) {
+            const sourceX = categories.map(Number);
+            const sampleCount = Math.min(97, Math.max(49, categories.length));
+            const minimum = sourceX[0];
+            const maximum = sourceX[sourceX.length - 1];
+            const targetX = Array.from(
+                { length: sampleCount },
+                (_value, index) => minimum + (index / (sampleCount - 1)) * (maximum - minimum),
+            );
+            seriesValues = seriesValues.map((values) => {
+                let right = 1;
+                return targetX.map((x) => {
+                    while (right < sourceX.length - 1 && sourceX[right] < x) right += 1;
+                    const left = Math.max(0, right - 1);
+                    const span = sourceX[right] - sourceX[left];
+                    const t = span === 0 ? 0 : (x - sourceX[left]) / span;
+                    const leftValue = Number(values[left]);
+                    const rightValue = Number(values[right]);
+                    if (!Number.isFinite(leftValue)) return Number.isFinite(rightValue) ? rightValue : null;
+                    if (!Number.isFinite(rightValue)) return leftValue;
+                    return leftValue + (rightValue - leftValue) * t;
+                });
+            });
+            const tickLabels = new Map(Array.from(
+                { length: 5 },
+                (_value, index) => [
+                    Math.round((index / 4) * (sampleCount - 1)),
+                    Number((minimum + (index / 4) * (maximum - minimum)).toPrecision(4)),
+                ] as const,
+            ));
+            categories = targetX.map((_value, index) => tickLabels.get(index) ?? '');
+        }
+        data.push([catField, ...seriesDescriptors.map((descriptor) => descriptor.label)]);
+        for (let categoryIndex = 0; categoryIndex < categories.length; categoryIndex += 1) {
+            data.push([
+                String(categories[categoryIndex]),
+                ...seriesValues.map((values) => values[categoryIndex]),
+            ]);
+        }
+    }
+
+    // ── Chart type + styling (native Excel) ─────────────────────────────────
+    let excelChartType = orientation === 'horizontal' && mapping.horizontal
+        ? mapping.horizontal
+        : mapping.vertical;
+    if (numericXLine) excelChartType = 'XYScatterLines';
+    if (flintType === 'Connected Scatter Plot') excelChartType = 'XYScatterLines';
+    if (flintType === 'Scatter Plot' && sizeField) excelChartType = 'Bubble';
+    if (flintType === 'Area Chart' && seriesField) excelChartType = 'AreaStacked';
+    if (flintType === 'Bar Chart' && seriesField) {
+        excelChartType = orientation === 'horizontal' ? 'BarStacked' : 'ColumnStacked';
+    }
+    const isBarFamily = /Column|Bar/.test(excelChartType);
+    const hasNumericAxes = /XYScatter|Bubble/.test(excelChartType);
+    const numberFormat = formatSpecToExcel(measCh ? sem[measCh]?.format : undefined);
+    const seriesBy: ExcelSeriesBy = 'Columns';
+
+    const spec: ExcelNativeChartSpec = {
+        schema: 'flint.excel.chart/v1',
+        kind: 'chart',
+        chartType: excelChartType,
+        title: `${measField} by ${catField}`,
+        seriesBy,
+        series: explicitSeries,
+        seriesFormats,
+        bubbleScale: flintType === 'Scatter Plot' && sizeField ? 20 : undefined,
+        doughnutHoleSize: flintType === 'Donut Chart'
+            ? Math.max(10, Math.min(90, Number(input.chart_spec.chartProperties?.innerRadius ?? 50)))
+            : undefined,
+        data,
+        width: base.width,
+        height: base.height,
+        warnings,
+        _flint: { flintType, catField, measField, seriesField, orientation, isXY },
+    };
+
+    if (!mapping.noAxes) {
+        const measureValues = convertedData
+            .map((row) => Number(row[measField]))
+            .filter(Number.isFinite);
+        const measureMinimum = measureValues.length > 0 ? Math.min(...measureValues) : undefined;
+        const measureMaximum = measureValues.length > 0 ? Math.max(...measureValues) : undefined;
+        const focusedLineMinimum = flintType === 'Line Chart' && measureMinimum !== undefined && measureMaximum !== undefined
+            ? Math.max(0, measureMinimum - (measureMaximum - measureMinimum) * 0.05)
+            : undefined;
+        const numericXScale = hasNumericAxes
+            ? focusedNumericAxis(convertedData.map((row) => Number(row[catField])))
+            : {};
+        const numericYScale = hasNumericAxes
+            ? focusedNumericAxis(measureValues)
+            : {};
+        spec.categoryAxis = {
+            title: catField,
+            labelFontSize: orientation === 'horizontal' && data.length > 25
+                ? Math.max(5, Math.min(10, ((base.height - 80) / (data.length - 1)) * 0.72))
+                : undefined,
+            tickLabelSpacing: orientation === 'vertical' && typeOf(catCh!) === 'temporal'
+                ? temporalLabelSpacing(data.length - 1, base.width)
+                : undefined,
+            reversePlotOrder: orientation === 'horizontal' && typeOf(catCh!) !== 'temporal',
+            ...numericXScale,
+        };
+        spec.valueAxis = {
+            title: measField,
+            numberFormat,
+            minimumScale: flintType === 'Area Chart' ? 0 : focusedLineMinimum,
+            ...numericYScale,
+        };
+    }
+    spec.legend = mapping.noAxes
+        ? { visible: true, position: 'Right' }
+        : seriesField || dashField
+            ? { visible: true, position: 'Bottom' }
+            : { visible: false };
+    if (isBarFamily) spec.gapWidth = 60;
+    if (flintType === 'Grouped Bar Chart') {
+        const seriesCount = Math.max(1, data[0].length - 1);
+        spec.gapWidth = Math.min(500, (excelChartType.startsWith('Column') ? 60 : 40) * seriesCount);
+        spec.overlap = 0;
+    }
+
+    return spec;
+}
diff --git a/packages/flint-js/src/excel/chart-types.ts b/packages/flint-js/src/excel/chart-types.ts
new file mode 100644
index 00000000..bdb6063c
--- /dev/null
+++ b/packages/flint-js/src/excel/chart-types.ts
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+/**
+ * Excel chart-type mapping + FormatSpec → Excel number format.
+ *
+ * Excel's native chart types are a fixed enum (`Excel.ChartType`), so a Flint
+ * chart type maps to the closest native Excel chart. Orientation (vertical vs
+ * horizontal) is decided by the assembler from channel semantics and selects
+ * the Column* vs Bar* family.
+ */
+
+import type { FormatSpec } from '../core/field-semantics';
+
+/** Which native Excel family a Flint chart maps to. */
+export interface ExcelTypeMapping {
+    /** Vertical (category on x) Excel.ChartType. */
+    vertical: string;
+    /** Horizontal (category on y) Excel.ChartType, when the family supports it. */
+    horizontal?: string;
+    /** True for pie/doughnut/… charts that have no value/category axes. */
+    noAxes?: boolean;
+    /** True for XY (both-measure) charts. */
+    xy?: boolean;
+}
+
+/** Flint chart type (display name) → Excel chart family. */
+export const EXCEL_TYPE_MAP: Record = {
+    'Bar Chart': { vertical: 'ColumnClustered', horizontal: 'BarClustered' },
+    'Grouped Bar Chart': { vertical: 'ColumnClustered', horizontal: 'BarClustered' },
+    'Stacked Bar Chart': { vertical: 'ColumnStacked', horizontal: 'BarStacked' },
+    'Pyramid Chart': { vertical: 'BarStacked', horizontal: 'BarStacked' },
+    'Histogram': { vertical: 'ColumnClustered' },
+    'Line Chart': { vertical: 'Line' },
+    'Area Chart': { vertical: 'Area', horizontal: undefined },
+    'Scatter Plot': { vertical: 'XYScatter', xy: true },
+    'Connected Scatter Plot': { vertical: 'XYScatterLines', xy: true },
+    'Pie Chart': { vertical: 'Pie', noAxes: true },
+    'Donut Chart': { vertical: 'Doughnut', noAxes: true },
+    'Boxplot': { vertical: 'BoxWhisker' },
+    'Candlestick Chart': { vertical: 'StockOHLC' },
+    'Waterfall Chart': { vertical: 'Waterfall' },
+    'Radar Chart': { vertical: 'RadarMarkers' },
+    'Funnel Chart': { vertical: 'Funnel', noAxes: true },
+    'Treemap': { vertical: 'Treemap', noAxes: true },
+    'Sunburst Chart': { vertical: 'Sunburst', noAxes: true },
+};
+
+/** Chart types this backend can render natively in Excel. */
+export function isExcelSupported(flintChartType: string): boolean {
+    return flintChartType in EXCEL_TYPE_MAP;
+}
+
+/**
+ * Map a Flint {@link FormatSpec} to an Excel number-format string.
+ *
+ * Excel formats are pattern strings (`"$#,##0"`, `"0.0%"`, `"#,##0"`), distinct
+ * from d3/Vega patterns, so we translate from the FormatSpec's intent (prefix,
+ * suffix, abbreviate) rather than its d3 `pattern`.
+ */
+export function formatSpecToExcel(fmt: FormatSpec | undefined): string | undefined {
+    if (!fmt) return undefined;
+    const prefix = fmt.prefix ?? '';
+    const suffix = fmt.suffix ?? '';
+    const pat = fmt.pattern ?? '';
+
+    // percent
+    if (suffix === '%' || pat.includes('%')) {
+        const decimals = decimalsFromPattern(pat);
+        return decimals > 0 ? `0.${'0'.repeat(decimals)}%` : '0%';
+    }
+
+    // decide the numeric core
+    const decimals = decimalsFromPattern(pat);
+    let core = decimals > 0 ? `#,##0.${'0'.repeat(decimals)}` : '#,##0';
+    if (fmt.abbreviate) core = '#,##0,"K"'; // thousands abbreviation (approx)
+
+    const pre = prefix ? escapeLiteral(prefix) : '';
+    const suf = suffix ? escapeLiteral(suffix) : '';
+    if (!pre && !suf && !fmt.abbreviate && decimals === 0) return 'General';
+    return `${pre}${core}${suf}`;
+}
+
+/** Number of fractional digits requested by a d3-ish pattern (best-effort). */
+function decimalsFromPattern(pat: string): number {
+    const m = pat.match(/\.(\d+)/);
+    return m ? Number(m[1]) : 0;
+}
+
+/** Wrap non-numeric literal text so Excel treats it literally in a format. */
+function escapeLiteral(s: string): string {
+    // A leading/trailing currency symbol is fine bare; wrap other text in quotes.
+    if (s === '$' || s === '€' || s === '£' || s === '¥') return s;
+    return `"${s}"`;
+}
diff --git a/packages/flint-js/src/excel/codegen.ts b/packages/flint-js/src/excel/codegen.ts
new file mode 100644
index 00000000..099f549c
--- /dev/null
+++ b/packages/flint-js/src/excel/codegen.ts
@@ -0,0 +1,157 @@
+import { prepareExcelArtifact } from './artifact';
+import type { ExcelAxisSpec, ExcelNativeChartSpec } from './types';
+
+export interface OfficeJsCodegenOptions {
+    scale?: number;
+    cleanWorksheet?: boolean;
+    functionName?: string;
+}
+
+export interface GeneratedOfficeJs {
+    code: string;
+    meta: {
+        schema: ExcelNativeChartSpec['schema'];
+        rangeA1: string;
+        chartType: string;
+        rows: number;
+        columns: number;
+    };
+}
+
+function axisCode(axisName: 'categoryAxis' | 'valueAxis', axis: ExcelAxisSpec): string[] {
+    const target = `chart.axes.${axisName}`;
+    const lines: string[] = [];
+    if (axis.title) {
+        lines.push(`  ${target}.title.text = ${JSON.stringify(axis.title)};`);
+        lines.push(`  ${target}.title.visible = true;`);
+    }
+    if (axis.numberFormat) lines.push(`  ${target}.numberFormat = ${JSON.stringify(axis.numberFormat)};`);
+    if (axis.labelFontSize !== undefined) lines.push(`  ${target}.format.font.size = ${axis.labelFontSize};`);
+    if (axis.tickLabelSpacing !== undefined) lines.push(`  ${target}.tickLabelSpacing = ${axis.tickLabelSpacing};`);
+    if (axis.reversePlotOrder !== undefined) lines.push(`  ${target}.reversePlotOrder = ${axis.reversePlotOrder};`);
+    if (axis.minimumScale !== undefined) lines.push(`  ${target}.minimum = ${axis.minimumScale};`);
+    if (axis.maximumScale !== undefined) lines.push(`  ${target}.maximum = ${axis.maximumScale};`);
+    if (axis.majorUnit !== undefined) lines.push(`  ${target}.majorUnit = ${axis.majorUnit};`);
+    return lines;
+}
+
+function positiveScale(value: number | undefined): number {
+    const scale = value ?? 3;
+    if (!Number.isFinite(scale) || scale <= 0) throw new Error('Office.js image scale must be positive.');
+    return scale;
+}
+
+export function generateOfficeJs(value: unknown, options: OfficeJsCodegenOptions = {}): GeneratedOfficeJs {
+    const prepared = prepareExcelArtifact(value);
+    const { spec } = prepared;
+    const functionName = options.functionName ?? 'renderFlintChart';
+    if (!/^[$A-Z_a-z][$\w]*$/.test(functionName)) {
+        throw new Error('Office.js functionName must be a valid JavaScript identifier.');
+    }
+    const width = spec.width ?? 400;
+    const height = spec.height ?? 300;
+    const scale = positiveScale(options.scale);
+    const imageWidth = Math.round(width * (96 / 72) * scale);
+    const imageHeight = Math.round(height * (96 / 72) * scale);
+    const lines = [
+        `async function ${functionName}(context) {`,
+        '  const sheet = context.workbook.worksheets.getActiveWorksheet();',
+    ];
+
+    if (options.cleanWorksheet) {
+        lines.push(
+            "  sheet.charts.load('items/name');",
+            '  const previousRange = sheet.getUsedRangeOrNullObject();',
+            '  await context.sync();',
+            '  sheet.charts.items.forEach((existingChart) => existingChart.delete());',
+            '  if (!previousRange.isNullObject) previousRange.clear();',
+        );
+    }
+
+    lines.push(
+        `  const values = ${JSON.stringify(prepared.data)};`,
+        `  const dataRange = sheet.getRange(${JSON.stringify(prepared.rangeA1)});`,
+        '  dataRange.numberFormat = values.map((row, rowIndex) =>',
+        `    row.map((_cell, columnIndex) => rowIndex === 0 ? '@' : columnIndex === 0 && ${prepared.dateAxis} ? 'yyyy-mm-dd' : columnIndex === 0 && ${!prepared.numericAxis} ? '@' : 'General'),`,
+        '  );',
+        '  dataRange.values = values;',
+        `  const chart = sheet.charts.add(${JSON.stringify(prepared.chartType)}, dataRange, ${JSON.stringify(spec.seriesBy)});`,
+    );
+
+    if (spec.series?.length) {
+        lines.push("  chart.series.load('items');", '  await context.sync();');
+        lines.push(`  if (chart.series.items.length < ${spec.series.length}) throw new Error('Excel inferred too few series.');`);
+        spec.series.forEach((binding, index) => {
+            lines.push(
+                `  chart.series.items[${index}].name = ${JSON.stringify(binding.name)};`,
+                `  chart.series.items[${index}].setXAxisValues(sheet.getRangeByIndexes(1, ${binding.xColumn}, ${binding.rowCount}, 1));`,
+                `  chart.series.items[${index}].setValues(sheet.getRangeByIndexes(1, ${binding.yColumn}, ${binding.rowCount}, 1));`,
+            );
+            if (binding.bubbleSizeColumn !== undefined) {
+                lines.push(`  chart.series.items[${index}].setBubbleSizes(sheet.getRangeByIndexes(1, ${binding.bubbleSizeColumn}, ${binding.rowCount}, 1));`);
+            }
+        });
+        lines.push(
+            `  for (let index = chart.series.items.length - 1; index >= ${spec.series.length}; index -= 1) {`,
+            '    chart.series.getItemAt(index).delete();',
+            '    await context.sync();',
+            '  }',
+        );
+    }
+
+    lines.push(`  chart.width = ${width};`, `  chart.height = ${height};`);
+    if (spec.title) {
+        lines.push(`  chart.title.text = ${JSON.stringify(spec.title)};`, '  chart.title.visible = true;');
+    }
+    if (spec.legend) {
+        lines.push(`  chart.legend.visible = ${spec.legend.visible};`);
+        if (spec.legend.visible && spec.legend.position) {
+            lines.push(`  chart.legend.position = ${JSON.stringify(spec.legend.position)};`);
+        }
+    }
+    if (spec.dataLabels) {
+        lines.push(`  chart.dataLabels.visible = ${spec.dataLabels.visible};`);
+        if (spec.dataLabels.position) lines.push(`  chart.dataLabels.position = ${JSON.stringify(spec.dataLabels.position)};`);
+        if (spec.dataLabels.numberFormat) lines.push(`  chart.dataLabels.numberFormat = ${JSON.stringify(spec.dataLabels.numberFormat)};`);
+        if (spec.dataLabels.fontColor) lines.push(`  chart.dataLabels.format.font.color = ${JSON.stringify(spec.dataLabels.fontColor)};`);
+        if (spec.dataLabels.fontSize !== undefined) lines.push(`  chart.dataLabels.format.font.size = ${spec.dataLabels.fontSize};`);
+    }
+    if (prepared.hasAxes) {
+        if (spec.categoryAxis) lines.push(...axisCode('categoryAxis', spec.categoryAxis));
+        if (spec.valueAxis) lines.push(...axisCode('valueAxis', spec.valueAxis));
+    }
+
+    lines.push(`  const seriesFormats = ${JSON.stringify(spec.seriesFormats ?? [])};`);
+    lines.push(`  for (let index = 0; index < ${prepared.seriesCount}; index += 1) {`, '    const series = chart.series.getItemAt(index);', '    const format = seriesFormats[index];');
+    if (prepared.isBar && spec.gapWidth !== undefined) lines.push(`    series.gapWidth = ${spec.gapWidth};`);
+    if (prepared.isBar && spec.overlap !== undefined) lines.push(`    series.overlap = ${spec.overlap};`);
+    if (/Bubble/i.test(prepared.chartType) && spec.bubbleScale !== undefined) lines.push(`    series.bubbleScale = ${spec.bubbleScale};`);
+    if (/Doughnut/i.test(prepared.chartType) && spec.doughnutHoleSize !== undefined) lines.push(`    series.doughnutHoleSize = ${spec.doughnutHoleSize};`);
+    if (/BoxWhisker/i.test(prepared.chartType) && spec.boxWhiskerOptions) lines.push(`    series.boxwhiskerOptions.set(${JSON.stringify(spec.boxWhiskerOptions)});`);
+    if (/Waterfall/i.test(prepared.chartType) && spec.showConnectorLines !== undefined) lines.push(`    series.showConnectorLines = ${spec.showConnectorLines};`);
+    lines.push('    if (format?.color) {');
+    if (!prepared.isLine) lines.push('      series.format.fill.setSolidColor(format.color);');
+    lines.push('      series.format.line.color = format.color;', '    }', '    if (format?.lineStyle) series.format.line.lineStyle = format.lineStyle;', '  }');
+    lines.push(
+        `  const image = chart.getImage(${imageWidth}, ${imageHeight}, Excel.ImageFittingMode.fit);`,
+        '  await context.sync();',
+        '  return image.value;',
+        '}',
+        '',
+        'async function main() {',
+        `  return Excel.run(${functionName});`,
+        '}',
+        '',
+    );
+
+    return {
+        code: lines.join('\n'),
+        meta: {
+            schema: spec.schema,
+            rangeA1: prepared.rangeA1,
+            chartType: prepared.chartType,
+            rows: prepared.rows,
+            columns: prepared.columns,
+        },
+    };
+}
diff --git a/packages/flint-js/src/excel/index.ts b/packages/flint-js/src/excel/index.ts
new file mode 100644
index 00000000..15f2770f
--- /dev/null
+++ b/packages/flint-js/src/excel/index.ts
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+/**
+ * @module flint-chart/excel
+ *
+ * Excel backend for flint-chart.
+ *
+ * Compiles the core semantic layer into a native Office.js Excel chart spec
+ * (a wide/matrix data range + chart type, axes, legend). A host renders it via
+ * the Office.js Excel API (`sheet.charts.add(...)` + `chart.getImage()`).
+ *
+ * Architecture contrast with other backends:
+ *   VL:    encoding-channel-based — { encoding: { x, y }, mark }
+ *   EC:    series-based           — { series: [...], xAxis, yAxis }
+ *   CJS:   dataset-based          — { type, data: { labels, datasets } }
+ *   Excel: range/matrix-based     — { chartType, data: [[...]], seriesBy, axes }
+ *
+ * Same core Phase 0 (semantics); Excel-specific Stage 3 output.
+ */
+
+export { assembleExcel } from './assemble';
+export {
+    EXCEL_ARTIFACT_SCHEMA,
+    SUPPORTED_EXCEL_CHART_TYPES,
+    excelColumnLetter,
+    prepareExcelArtifact,
+} from './artifact';
+export type { PreparedExcelArtifact } from './artifact';
+export { generateOfficeJs } from './codegen';
+export type { GeneratedOfficeJs, OfficeJsCodegenOptions } from './codegen';
+export { renderExcelChart } from './runtime';
+export type { ExcelRenderOptions, ExcelRenderResult, OfficeJsExcelApi } from './runtime';
+export { EXCEL_TYPE_MAP, isExcelSupported, formatSpecToExcel } from './chart-types';
+export {
+    excelAllTemplateDefs,
+    excelGetTemplateDef,
+    excelGetTemplateChannels,
+} from './templates';
+export type { ExcelTemplateContext, ExcelTemplateDef } from './templates';
+export type {
+    ExcelChartSpec,
+    ExcelNativeChartSpec,
+    ExcelNativeSeriesSpec,
+    ExcelNativeSeriesFormatSpec,
+    ExcelAxisSpec,
+    ExcelLegendSpec,
+    ExcelDataLabelsSpec,
+    ExcelBoxWhiskerOptionsSpec,
+    ExcelSeriesBy,
+    ExcelLegendPosition,
+} from './types';
diff --git a/packages/flint-js/src/excel/runtime.ts b/packages/flint-js/src/excel/runtime.ts
new file mode 100644
index 00000000..82603ca2
--- /dev/null
+++ b/packages/flint-js/src/excel/runtime.ts
@@ -0,0 +1,195 @@
+import { prepareExcelArtifact, type PreparedExcelArtifact } from './artifact';
+
+export interface OfficeJsExcelApi {
+    run(callback: (context: any) => Promise): Promise;
+    ImageFittingMode: { fit: any };
+}
+
+export interface ExcelRenderOptions {
+    scale?: number;
+    cleanWorksheet?: boolean;
+    inspectNativeChart?: boolean;
+}
+
+export interface ExcelRenderResult {
+    pngBase64: string;
+    inspection: unknown | null;
+}
+
+function applyChartFormat(chart: any, prepared: PreparedExcelArtifact): void {
+    const { spec } = prepared;
+    if (spec.legend) {
+        chart.legend.visible = spec.legend.visible;
+        if (spec.legend.visible && spec.legend.position) chart.legend.position = spec.legend.position;
+    }
+    if (prepared.hasAxes) {
+        const axes = [
+            [chart.axes.categoryAxis, spec.categoryAxis],
+            [chart.axes.valueAxis, spec.valueAxis],
+        ] as const;
+        for (const [axis, format] of axes) {
+            if (!format) continue;
+            if (format.title) {
+                axis.title.text = format.title;
+                axis.title.visible = true;
+            }
+            if (format.numberFormat) axis.numberFormat = format.numberFormat;
+            if (format.labelFontSize !== undefined) axis.format.font.size = format.labelFontSize;
+            if (format.tickLabelSpacing !== undefined) axis.tickLabelSpacing = format.tickLabelSpacing;
+            if (format.reversePlotOrder !== undefined) axis.reversePlotOrder = format.reversePlotOrder;
+            if (format.minimumScale !== undefined) axis.minimum = format.minimumScale;
+            if (format.maximumScale !== undefined) axis.maximum = format.maximumScale;
+            if (format.majorUnit !== undefined) axis.majorUnit = format.majorUnit;
+        }
+    }
+    if (spec.dataLabels) {
+        chart.dataLabels.visible = spec.dataLabels.visible;
+        if (spec.dataLabels.position) chart.dataLabels.position = spec.dataLabels.position;
+        if (spec.dataLabels.numberFormat) chart.dataLabels.numberFormat = spec.dataLabels.numberFormat;
+        if (spec.dataLabels.fontColor) chart.dataLabels.format.font.color = spec.dataLabels.fontColor;
+        if (spec.dataLabels.fontSize !== undefined) chart.dataLabels.format.font.size = spec.dataLabels.fontSize;
+    }
+    for (let index = 0; index < prepared.seriesCount; index += 1) {
+        const series = chart.series.getItemAt(index);
+        const format = spec.seriesFormats?.[index];
+        if (format?.color) {
+            if (!prepared.isLine) series.format.fill.setSolidColor(format.color);
+            series.format.line.color = format.color;
+        }
+        if (format?.lineStyle) series.format.line.lineStyle = format.lineStyle;
+        if (prepared.isBar && spec.gapWidth !== undefined) series.gapWidth = spec.gapWidth;
+        if (prepared.isBar && spec.overlap !== undefined) series.overlap = spec.overlap;
+        if (/Bubble/i.test(prepared.chartType) && spec.bubbleScale !== undefined) series.bubbleScale = spec.bubbleScale;
+        if (/Doughnut/i.test(prepared.chartType) && spec.doughnutHoleSize !== undefined) series.doughnutHoleSize = spec.doughnutHoleSize;
+        if (/BoxWhisker/i.test(prepared.chartType) && spec.boxWhiskerOptions) series.boxwhiskerOptions.set(spec.boxWhiskerOptions);
+        if (/Waterfall/i.test(prepared.chartType) && spec.showConnectorLines !== undefined) series.showConnectorLines = spec.showConnectorLines;
+    }
+}
+
+async function inspectChart(context: any, sheet: any, dataRange: any, chart: any): Promise {
+    try {
+        dataRange.load('address,values,numberFormat');
+        const usedRange = sheet.getUsedRangeOrNullObject();
+        usedRange.load('isNullObject,address,values');
+        chart.load('name,chartType');
+        chart.series.load('items/name,items/chartType,items/axisGroup,items/formula');
+        await context.sync();
+        for (const series of chart.series.items) {
+            series.binOptions.load('type,count,width,allowOverflow,overflowValue,allowUnderflow,underflowValue');
+        }
+        const primaryCategoryAxis = chart.axes.getItemOrNullObject('Category', 'Primary');
+        const primaryValueAxis = chart.axes.getItemOrNullObject('Value', 'Primary');
+        const secondaryValueAxis = chart.axes.getItemOrNullObject('Value', 'Secondary');
+        for (const axis of [primaryCategoryAxis, primaryValueAxis, secondaryValueAxis]) {
+            axis.load('isNullObject,axisType,axisGroup,visible,minimum,maximum,numberFormat');
+            axis.title.load('text,visible');
+        }
+        await context.sync();
+        const describeAxis = (axis: any) => axis.isNullObject ? null : { ...axis.toJSON(), title: axis.title.toJSON() };
+        return {
+            sourceRange: {
+                address: dataRange.address,
+                values: dataRange.values,
+                numberFormat: dataRange.numberFormat,
+            },
+            usedRange: usedRange.isNullObject ? null : {
+                address: usedRange.address,
+                values: usedRange.values,
+            },
+            chart: {
+                name: chart.name,
+                chartType: chart.chartType,
+                series: chart.series.items.map((series: any) => ({
+                    ...series.toJSON(),
+                    binOptions: series.binOptions.toJSON(),
+                })),
+                axes: {
+                    primaryCategory: describeAxis(primaryCategoryAxis),
+                    primaryValue: describeAxis(primaryValueAxis),
+                    secondaryValue: describeAxis(secondaryValueAxis),
+                },
+            },
+        };
+    } catch (error) {
+        return { error: error instanceof Error ? error.message : String(error) };
+    }
+}
+
+function imageScale(value: number | undefined): number {
+    const scale = value ?? 3;
+    if (!Number.isFinite(scale) || scale <= 0) throw new Error('Office.js image scale must be positive.');
+    return scale;
+}
+
+export async function renderExcelChart(
+    excelApi: OfficeJsExcelApi,
+    value: unknown,
+    options: ExcelRenderOptions = {},
+): Promise {
+    const prepared = prepareExcelArtifact(value);
+    const { spec } = prepared;
+    const scale = imageScale(options.scale);
+    return excelApi.run(async (context) => {
+        const sheet = context.workbook.worksheets.getActiveWorksheet();
+        if (options.cleanWorksheet !== false) {
+            sheet.charts.load('items/name');
+            const previousRange = sheet.getUsedRangeOrNullObject();
+            await context.sync();
+            sheet.charts.items.forEach((existingChart: any) => existingChart.delete());
+            if (!previousRange.isNullObject) previousRange.clear();
+        }
+
+        const dataRange = sheet.getRange(prepared.rangeA1);
+        dataRange.numberFormat = prepared.data.map((row, rowIndex) => row.map((_cell, columnIndex) =>
+            rowIndex === 0
+                ? '@'
+                : columnIndex === 0 && prepared.dateAxis
+                    ? 'yyyy-mm-dd'
+                    : columnIndex === 0 && !prepared.numericAxis ? '@' : 'General',
+        ));
+        dataRange.values = prepared.data;
+        const chart = sheet.charts.add(prepared.chartType, dataRange, spec.seriesBy);
+
+        if (spec.series?.length) {
+            chart.series.load('items');
+            await context.sync();
+            if (chart.series.items.length < spec.series.length) {
+                throw new Error(`Excel inferred ${chart.series.items.length} series; ${spec.series.length} required.`);
+            }
+            for (const [index, binding] of spec.series.entries()) {
+                const series = chart.series.items[index];
+                series.name = binding.name;
+                series.setXAxisValues(sheet.getRangeByIndexes(1, binding.xColumn, binding.rowCount, 1));
+                series.setValues(sheet.getRangeByIndexes(1, binding.yColumn, binding.rowCount, 1));
+                if (binding.bubbleSizeColumn !== undefined) {
+                    series.setBubbleSizes(sheet.getRangeByIndexes(1, binding.bubbleSizeColumn, binding.rowCount, 1));
+                }
+            }
+            for (let index = chart.series.items.length - 1; index >= spec.series.length; index -= 1) {
+                chart.series.getItemAt(index).delete();
+                await context.sync();
+            }
+        }
+
+        const width = spec.width ?? 400;
+        const height = spec.height ?? 300;
+        chart.width = width;
+        chart.height = height;
+        if (spec.title) {
+            chart.title.text = spec.title;
+            chart.title.visible = true;
+        }
+        applyChartFormat(chart, prepared);
+        await context.sync();
+        const image = chart.getImage(
+            Math.round(width * (96 / 72) * scale),
+            Math.round(height * (96 / 72) * scale),
+            excelApi.ImageFittingMode.fit,
+        );
+        await context.sync();
+        const inspection = options.inspectNativeChart
+            ? await inspectChart(context, sheet, dataRange, chart)
+            : null;
+        return { pngBase64: image.value, inspection };
+    });
+}
diff --git a/packages/flint-js/src/excel/templates/area.ts b/packages/flint-js/src/excel/templates/area.ts
new file mode 100644
index 00000000..6fa36d6d
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/area.ts
@@ -0,0 +1,13 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+export const excelAreaChartDef: ExcelTemplateDef = {
+    chart: 'Area Chart',
+    channels: ['x', 'y', 'color'],
+    typeMapping: { vertical: 'Area' },
+    validate: ({ typeOf }) => typeOf('y') !== 'quantitative'
+        ? 'requires a quantitative y field for a native Excel area chart'
+        : undefined,
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/bar.ts b/packages/flint-js/src/excel/templates/bar.ts
new file mode 100644
index 00000000..14e97d21
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/bar.ts
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+export const excelBarChartDef: ExcelTemplateDef = {
+    chart: 'Bar Chart',
+    channels: ['x', 'y', 'color'],
+    typeMapping: { vertical: 'ColumnClustered', horizontal: 'BarClustered' },
+    validate: ({ typeOf }) => typeOf('x') !== 'quantitative' && typeOf('y') !== 'quantitative'
+        ? 'requires one quantitative measure axis for a native Excel bar chart'
+        : undefined,
+};
+
+export const excelGroupedBarChartDef: ExcelTemplateDef = {
+    chart: 'Grouped Bar Chart',
+    channels: ['x', 'y', 'group'],
+    typeMapping: { vertical: 'ColumnClustered', horizontal: 'BarClustered' },
+    validate: (context) => excelBarChartDef.validate?.(context)
+        ?? (context.typeOf('group') === 'quantitative' || context.typeOf('group') === 'temporal'
+            ? 'does not support continuous grouping in a native Excel grouped bar chart'
+            : undefined),
+};
+
+export const excelStackedBarChartDef: ExcelTemplateDef = {
+    chart: 'Stacked Bar Chart',
+    channels: ['x', 'y', 'color'],
+    typeMapping: { vertical: 'ColumnStacked', horizontal: 'BarStacked' },
+    validate: (context) => excelBarChartDef.validate?.(context)
+        ?? (context.typeOf('color') === 'quantitative' || context.typeOf('color') === 'temporal'
+            ? 'does not support continuous color in a native Excel stacked bar chart'
+            : undefined),
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/boxplot.ts b/packages/flint-js/src/excel/templates/boxplot.ts
new file mode 100644
index 00000000..051ca7cf
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/boxplot.ts
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import { formatSpecToExcel } from '../chart-types';
+import type { ExcelTemplateDef } from './types';
+
+export const excelBoxplotDef: ExcelTemplateDef = {
+    chart: 'Boxplot',
+    channels: ['x', 'y', 'color'],
+    typeMapping: { vertical: 'BoxWhisker' },
+    validate: ({ input, fieldOf, typeOf }) => {
+        if (!fieldOf('x') || typeOf('x') === 'temporal') {
+            return 'requires a categorical x field for a native Excel box and whisker chart';
+        }
+        if (!fieldOf('y') || typeOf('y') !== 'quantitative') {
+            return 'requires a quantitative y field for a native Excel box and whisker chart';
+        }
+        if (fieldOf('color')) {
+            return 'does not yet support color-grouped native Excel box and whisker charts';
+        }
+        if (fieldOf('column') || fieldOf('row')) {
+            return 'does not support faceting in one native Excel box and whisker chart';
+        }
+        if (input.chart_spec.chartProperties?.whiskerMethod === 'minmax') {
+            return 'does not support min-max whiskers because Office.js exposes no native BoxWhisker whisker-method control';
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, semantics, fieldOf }) => {
+        const categoryField = fieldOf('x')!;
+        const valueField = fieldOf('y')!;
+        const rows = table.filter((row) => row[categoryField] != null && Number.isFinite(Number(row[valueField])));
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+        const properties = input.chart_spec.chartProperties;
+
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'BoxWhisker',
+            title: `${valueField} by ${categoryField}`,
+            seriesBy: 'Columns',
+            data: [
+                [categoryField, valueField],
+                ...rows.map((row) => [String(row[categoryField]), Number(row[valueField])]),
+            ],
+            categoryAxis: { title: categoryField },
+            valueAxis: {
+                title: valueField,
+                numberFormat: formatSpecToExcel(semantics.y?.format),
+            },
+            legend: { visible: false },
+            boxWhiskerOptions: {
+                quartileCalculation: 'Inclusive',
+                showInnerPoints: false,
+                showMeanLine: false,
+                showMeanMarker: false,
+                showOutlierPoints: properties?.showOutliers !== false,
+            },
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: { flintType: 'Boxplot', categoryField, valueField, rawObservations: rows.length },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/candlestick.ts b/packages/flint-js/src/excel/templates/candlestick.ts
new file mode 100644
index 00000000..fada1375
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/candlestick.ts
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import { formatSpecToExcel } from '../chart-types';
+import type { ExcelTemplateDef } from './types';
+
+const PRICE_CHANNELS = ['open', 'high', 'low', 'close'] as const;
+const EXCEL_EPOCH = Date.UTC(1899, 11, 30);
+const DAY_MILLISECONDS = 24 * 60 * 60 * 1000;
+
+function excelDateSerial(value: unknown): number {
+    return (new Date(value as string | number | Date).getTime() - EXCEL_EPOCH) / DAY_MILLISECONDS;
+}
+
+function niceStep(span: number): number {
+    const rough = span / 5;
+    const power = 10 ** Math.floor(Math.log10(rough));
+    const fraction = rough / power;
+    return (fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10) * power;
+}
+
+export const excelCandlestickDef: ExcelTemplateDef = {
+    chart: 'Candlestick Chart',
+    channels: ['x', 'open', 'high', 'low', 'close'],
+    typeMapping: { vertical: 'StockOHLC' },
+    validate: ({ table, fieldOf, typeOf }) => {
+        const xField = fieldOf('x');
+        if (!xField || !['temporal', 'ordinal'].includes(typeOf('x') ?? '')) {
+            return 'requires a temporal or ordered x field for a native Excel stock chart';
+        }
+        for (const channel of PRICE_CHANNELS) {
+            if (!fieldOf(channel) || typeOf(channel) !== 'quantitative') {
+                return `requires a quantitative ${channel} field for a native Excel stock chart`;
+            }
+        }
+        if (fieldOf('color') || fieldOf('group') || fieldOf('detail')) {
+            return 'does not support color, group, or detail encodings in a native Excel stock chart';
+        }
+        if (table.length === 0) {
+            return 'requires at least one OHLC row for a native Excel stock chart';
+        }
+
+        let previousTime = Number.NEGATIVE_INFINITY;
+        for (const [index, row] of table.entries()) {
+            const time = new Date(row[xField]).getTime();
+            if (!Number.isFinite(time)) {
+                return `requires a valid date at row ${index + 1} for a native Excel stock chart`;
+            }
+            if (time <= previousTime) {
+                return 'requires x values sorted in strictly increasing chronological order for a native Excel stock chart';
+            }
+            previousTime = time;
+
+            const rawPrices = PRICE_CHANNELS.map((channel) => row[fieldOf(channel)!]);
+            const [open, high, low, close] = rawPrices.map(Number);
+            if (rawPrices.some((value) => value == null || value === '') || ![open, high, low, close].every(Number.isFinite)) {
+                return `requires finite open, high, low, and close values at row ${index + 1} for a native Excel stock chart`;
+            }
+            if (high < Math.max(open, low, close) || low > Math.min(open, high, close)) {
+                return `requires coherent OHLC values at row ${index + 1} (high >= open/close/low and low <= open/close/high)`;
+            }
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, semantics, fieldOf }) => {
+        const xField = fieldOf('x')!;
+        const fields = PRICE_CHANNELS.map((channel) => fieldOf(channel)!);
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+        const labelBudget = Math.max(12, Math.floor((base.width - 90) / 14));
+        const tickLabelSpacing = table.length > labelBudget ? Math.ceil(table.length / labelBudget) : undefined;
+        const lows = table.map((row) => Number(row[fields[2]]));
+        const highs = table.map((row) => Number(row[fields[1]]));
+        const minimum = Math.min(...lows);
+        const maximum = Math.max(...highs);
+        const majorUnit = niceStep(Math.max(maximum - minimum, Math.abs(maximum) * 0.1, 1));
+        const minimumScale = Math.floor(minimum / majorUnit) * majorUnit;
+        const maximumScale = Math.ceil(maximum / majorUnit) * majorUnit;
+
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'StockOHLC',
+            title: `${fields[3]} by ${xField}`,
+            seriesBy: 'Columns',
+            data: [
+                [xField, ...fields],
+                ...table.map((row) => [
+                    excelDateSerial(row[xField]),
+                    ...fields.map((field) => Number(row[field])),
+                ]),
+            ],
+            categoryAxis: { title: xField, numberFormat: 'yyyy-mm-dd', tickLabelSpacing },
+            valueAxis: {
+                title: 'Price',
+                numberFormat: formatSpecToExcel(semantics.close?.format),
+                minimumScale,
+                maximumScale: maximumScale === maximum ? maximumScale + majorUnit : maximumScale,
+                majorUnit,
+            },
+            legend: { visible: false },
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: { flintType: 'Candlestick Chart', xField, priceFields: fields },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/funnel.ts b/packages/flint-js/src/excel/templates/funnel.ts
new file mode 100644
index 00000000..401037de
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/funnel.ts
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import { formatSpecToExcel } from '../chart-types';
+import type { ExcelTemplateDef } from './types';
+
+export const excelFunnelChartDef: ExcelTemplateDef = {
+    chart: 'Funnel Chart',
+    channels: ['y', 'size'],
+    typeMapping: { vertical: 'Funnel', noAxes: true },
+    validate: ({ table, fieldOf, typeOf }) => {
+        if (!fieldOf('y') || typeOf('y') === 'quantitative') {
+            return 'requires a categorical y stage field for a native Excel funnel chart';
+        }
+        if (typeOf('size') !== 'quantitative') {
+            return 'requires a quantitative size field for a native Excel funnel chart';
+        }
+        const valueField = fieldOf('size')!;
+        if (table.some((row) => Number.isFinite(Number(row[valueField])) && Number(row[valueField]) < 0)) {
+            return 'requires non-negative values for a native Excel funnel chart';
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, semantics, fieldOf }) => {
+        const stageField = fieldOf('y')!;
+        const valueField = fieldOf('size')!;
+        const stageValues = new Map();
+        for (const row of table) {
+            const stage = row[stageField];
+            const value = Number(row[valueField]);
+            if (stage == null || !Number.isFinite(value)) continue;
+            const label = String(stage);
+            stageValues.set(label, (stageValues.get(label) ?? 0) + value);
+        }
+
+        const rows = [...stageValues.entries()];
+        const sort = input.chart_spec.chartProperties?.sort ?? 'descending';
+        if (sort === 'descending') rows.sort((left, right) => right[1] - left[1]);
+        if (sort === 'ascending') rows.sort((left, right) => left[1] - right[1]);
+
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'Funnel',
+            title: `${valueField} by ${stageField}`,
+            seriesBy: 'Columns',
+            data: [[stageField, valueField], ...rows],
+            legend: { visible: false },
+            dataLabels: {
+                visible: true,
+                numberFormat: formatSpecToExcel(semantics.size?.format),
+                fontColor: '#FFFFFF',
+                fontSize: 11,
+            },
+            seriesFormats: [{ color: '#4472C4' }],
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: {
+                flintType: 'Funnel Chart',
+                stageField,
+                valueField,
+                sort,
+                valueNumberFormat: formatSpecToExcel(semantics.size?.format),
+            },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/histogram.ts b/packages/flint-js/src/excel/templates/histogram.ts
new file mode 100644
index 00000000..bf6964eb
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/histogram.ts
@@ -0,0 +1,80 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+function niceBinStep(minimum: number, maximum: number, maxBins: number): number {
+    const raw = Math.max(Number.EPSILON, maximum - minimum) / Math.max(1, maxBins);
+    const power = 10 ** Math.floor(Math.log10(raw));
+    const error = raw / power;
+    const factor = error >= 5 ? 10 : error >= 2 ? 5 : error >= 1 ? 2 : 1;
+    return factor * power;
+}
+
+export const excelHistogramDef: ExcelTemplateDef = {
+    chart: 'Histogram',
+    channels: ['x', 'color'],
+    typeMapping: { vertical: 'ColumnClustered' },
+    validate: ({ fieldOf, typeOf }) => {
+        const valueChannel = fieldOf('x') ? 'x' : 'y';
+        return !fieldOf(valueChannel) || typeOf(valueChannel) !== 'quantitative'
+            ? 'requires a quantitative value field for a native Excel histogram'
+            : undefined;
+    },
+    instantiate: ({ input, table, fieldOf }) => {
+        const valueField = fieldOf('x') ?? fieldOf('y')!;
+        const values = table.map((row) => Number(row[valueField])).filter(Number.isFinite);
+        if (values.length === 0) throw new Error('Excel histogram requires finite numeric values.');
+
+        const requestedBins = Number(input.chart_spec.chartProperties?.binCount);
+        const maxBins = Number.isFinite(requestedBins) && requestedBins > 0
+            ? Math.max(1, Math.round(requestedBins))
+            : 10;
+        const minimum = Math.min(...values);
+        const maximum = Math.max(...values);
+        const binWidth = maximum > minimum ? niceBinStep(minimum, maximum, maxBins) : 1;
+        const binMinimum = Math.floor(minimum / binWidth) * binWidth;
+        const binMaximum = Math.ceil(maximum / binWidth) * binWidth;
+        const binCount = Math.max(1, Math.round((binMaximum - binMinimum) / binWidth));
+        const labels = Array.from({ length: binCount }, (_value, index) => {
+            const lower = binMinimum + index * binWidth;
+            const upper = binMinimum + (index + 1) * binWidth;
+            return `${Number(lower.toFixed(2))}-${Number(upper.toFixed(2))}`;
+        });
+        const colorField = fieldOf('color');
+        const seriesKeys = colorField
+            ? [...new Set(table.map((row) => String(row[colorField])))]
+            : ['Count'];
+        const seriesCounts = seriesKeys.map(() => new Array(binCount).fill(0));
+        for (const row of table) {
+            const value = Number(row[valueField]);
+            if (!Number.isFinite(value)) continue;
+            const binIndex = Math.min(
+                binCount - 1,
+                Math.max(0, Math.floor((value - binMinimum) / binWidth)),
+            );
+            const seriesIndex = colorField ? seriesKeys.indexOf(String(row[colorField])) : 0;
+            if (seriesIndex >= 0) seriesCounts[seriesIndex][binIndex] += 1;
+        }
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: colorField ? 'ColumnStacked' : 'ColumnClustered',
+            title: `Distribution of ${valueField}`,
+            seriesBy: 'Columns',
+            data: [
+                [valueField, ...seriesKeys],
+                ...labels.map((label, index) => [label, ...seriesCounts.map((series) => series[index])]),
+            ],
+            categoryAxis: { title: valueField },
+            valueAxis: { title: 'Count', numberFormat: '0' },
+            legend: { visible: Boolean(colorField), position: 'Bottom' },
+            gapWidth: 0,
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: { flintType: 'Histogram', valueField, colorField, binCount, binMinimum, binMaximum },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/index.ts b/packages/flint-js/src/excel/templates/index.ts
new file mode 100644
index 00000000..367fbb5a
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/index.ts
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+import { excelAreaChartDef } from './area';
+import { excelBarChartDef, excelGroupedBarChartDef, excelStackedBarChartDef } from './bar';
+import { excelBoxplotDef } from './boxplot';
+import { excelCandlestickDef } from './candlestick';
+import { excelFunnelChartDef } from './funnel';
+import { excelHistogramDef } from './histogram';
+import { excelLineChartDef } from './line';
+import { excelDonutChartDef, excelPieChartDef } from './pie';
+import { excelPyramidChartDef } from './pyramid';
+import { excelRadarChartDef } from './radar';
+import { excelConnectedScatterPlotDef, excelScatterPlotDef } from './scatter';
+import { excelSunburstChartDef } from './sunburst';
+import { excelTreemapDef } from './treemap';
+import { excelWaterfallChartDef } from './waterfall';
+
+export const excelAllTemplateDefs: ExcelTemplateDef[] = [
+    excelBarChartDef,
+    excelGroupedBarChartDef,
+    excelStackedBarChartDef,
+    excelPyramidChartDef,
+    excelLineChartDef,
+    excelAreaChartDef,
+    excelScatterPlotDef,
+    excelConnectedScatterPlotDef,
+    excelPieChartDef,
+    excelDonutChartDef,
+    excelHistogramDef,
+    excelBoxplotDef,
+    excelCandlestickDef,
+    excelWaterfallChartDef,
+    excelRadarChartDef,
+    excelFunnelChartDef,
+    excelTreemapDef,
+    excelSunburstChartDef,
+];
+
+export function excelGetTemplateDef(chartType: string): ExcelTemplateDef | undefined {
+    return excelAllTemplateDefs.find((template) => template.chart === chartType);
+}
+
+export function excelGetTemplateChannels(chartType: string): string[] {
+    return excelGetTemplateDef(chartType)?.channels ?? [];
+}
+
+export type { ExcelTemplateContext, ExcelTemplateDef } from './types';
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/line.ts b/packages/flint-js/src/excel/templates/line.ts
new file mode 100644
index 00000000..871d6f4b
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/line.ts
@@ -0,0 +1,19 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+export const excelLineChartDef: ExcelTemplateDef = {
+    chart: 'Line Chart',
+    channels: ['x', 'y', 'color', 'strokeDash'],
+    typeMapping: { vertical: 'Line' },
+    validate: ({ typeOf }) => {
+        if (typeOf('y') !== 'quantitative') {
+            return 'requires a quantitative y field for a native Excel line chart';
+        }
+        if (typeOf('color') === 'quantitative' || typeOf('color') === 'temporal') {
+            return 'does not support continuous color on a native Excel line chart';
+        }
+        return undefined;
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/pie.ts b/packages/flint-js/src/excel/templates/pie.ts
new file mode 100644
index 00000000..38d71c14
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/pie.ts
@@ -0,0 +1,16 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+export const excelPieChartDef: ExcelTemplateDef = {
+    chart: 'Pie Chart',
+    channels: ['color', 'size', 'theta'],
+    typeMapping: { vertical: 'Pie', noAxes: true },
+};
+
+export const excelDonutChartDef: ExcelTemplateDef = {
+    chart: 'Donut Chart',
+    channels: ['color', 'size', 'theta'],
+    typeMapping: { vertical: 'Doughnut', noAxes: true },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/pyramid.ts b/packages/flint-js/src/excel/templates/pyramid.ts
new file mode 100644
index 00000000..33724f04
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/pyramid.ts
@@ -0,0 +1,115 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import { formatSpecToExcel } from '../chart-types';
+import type { ExcelTemplateDef } from './types';
+
+function niceMaximum(value: number): { maximum: number; majorUnit: number } {
+    const roughStep = Math.max(value, 1) / 5;
+    const power = 10 ** Math.floor(Math.log10(roughStep));
+    const fraction = roughStep / power;
+    const majorUnit = (fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10) * power;
+    return { maximum: Math.ceil(value / majorUnit) * majorUnit, majorUnit };
+}
+
+function absoluteNumberFormat(format: string | undefined): string {
+    const positive = !format || format === 'General' ? '#,##0' : format;
+    return `${positive};${positive};0`;
+}
+
+export const excelPyramidChartDef: ExcelTemplateDef = {
+    chart: 'Pyramid Chart',
+    channels: ['x', 'y', 'color'],
+    typeMapping: { vertical: 'BarStacked', horizontal: 'BarStacked' },
+    validate: ({ table, fieldOf, typeOf }) => {
+        const xIsMeasure = typeOf('x') === 'quantitative';
+        const yIsMeasure = typeOf('y') === 'quantitative';
+        if (xIsMeasure === yIsMeasure) {
+            return 'requires exactly one quantitative measure axis for a native Excel pyramid chart';
+        }
+        const categoryChannel = xIsMeasure ? 'y' : 'x';
+        if (!fieldOf(categoryChannel) || typeOf(categoryChannel) === 'quantitative') {
+            return 'requires a discrete category axis for a native Excel pyramid chart';
+        }
+        const groupField = fieldOf('color');
+        if (!groupField || ['quantitative', 'temporal'].includes(typeOf('color') ?? '')) {
+            return 'requires a discrete color field for a native Excel pyramid chart';
+        }
+        const groups = [...new Set(table.map((row) => row[groupField]).filter((value) => value != null))];
+        if (groups.length !== 2) {
+            return `requires exactly two groups for a native Excel pyramid chart (found ${groups.length})`;
+        }
+        const measureField = fieldOf(xIsMeasure ? 'x' : 'y')!;
+        if (table.some((row) => Number.isFinite(Number(row[measureField])) && Number(row[measureField]) < 0)) {
+            return 'requires non-negative values for a native Excel pyramid chart';
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, semantics, fieldOf, typeOf }) => {
+        const measureChannel = typeOf('x') === 'quantitative' ? 'x' : 'y';
+        const categoryChannel = measureChannel === 'x' ? 'y' : 'x';
+        const measureField = fieldOf(measureChannel)!;
+        const categoryField = fieldOf(categoryChannel)!;
+        const groupField = fieldOf('color')!;
+        const categories = [...new Set(table.map((row) => row[categoryField]).filter((value) => value != null))];
+        const groups = [...new Set(table.map((row) => row[groupField]).filter((value) => value != null))];
+        const totals = new Map();
+        for (const row of table) {
+            const category = row[categoryField];
+            const group = row[groupField];
+            const value = Number(row[measureField]);
+            if (category == null || group == null || !Number.isFinite(value)) continue;
+            const key = `${String(category)}\u0000${String(group)}`;
+            totals.set(key, (totals.get(key) ?? 0) + value);
+        }
+        const valueAt = (category: unknown, group: unknown): number | null => {
+            const value = totals.get(`${String(category)}\u0000${String(group)}`);
+            return value === undefined ? null : value;
+        };
+        const maximumValue = Math.max(0, ...totals.values());
+        const { maximum, majorUnit } = niceMaximum(maximumValue);
+        const numberFormat = formatSpecToExcel(semantics[measureChannel]?.format);
+        const base = input.chart_spec.baseSize ?? { width: 560, height: 360 };
+
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'BarStacked',
+            title: `${measureField} by ${categoryField} and ${groupField}`,
+            seriesBy: 'Columns',
+            data: [
+                [categoryField, ...groups.map(String)],
+                ...categories.map((category) => {
+                    const leftValue = valueAt(category, groups[0]);
+                    return [
+                        String(category),
+                        leftValue === null ? null : -leftValue,
+                        valueAt(category, groups[1]),
+                    ];
+                }),
+            ],
+            categoryAxis: { title: categoryField, reversePlotOrder: true },
+            valueAxis: {
+                title: measureField,
+                numberFormat: absoluteNumberFormat(numberFormat),
+                minimumScale: -maximum,
+                maximumScale: maximum,
+                majorUnit,
+            },
+            legend: { visible: true, position: 'Bottom' },
+            seriesFormats: [{ color: '#4472C4' }, { color: '#C55A5A' }],
+            gapWidth: 45,
+            overlap: 100,
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: {
+                flintType: 'Pyramid Chart',
+                categoryField,
+                measureField,
+                groupField,
+                groups: groups.map(String),
+            },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/radar.ts b/packages/flint-js/src/excel/templates/radar.ts
new file mode 100644
index 00000000..2be88dde
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/radar.ts
@@ -0,0 +1,111 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+function niceMaximum(value: number): number {
+    if (!(value > 0)) return 1;
+    const power = 10 ** Math.floor(Math.log10(value));
+    const fraction = value / power;
+    const niceFraction = fraction <= 1 ? 1
+        : fraction <= 2 ? 2
+        : fraction <= 2.5 ? 2.5
+        : fraction <= 5 ? 5
+        : 10;
+    return niceFraction * power;
+}
+
+export const excelRadarChartDef: ExcelTemplateDef = {
+    chart: 'Radar Chart',
+    channels: ['x', 'y', 'color'],
+    typeMapping: { vertical: 'RadarMarkers' },
+    validate: ({ table, fieldOf, typeOf }) => {
+        if (!fieldOf('x') || typeOf('x') === 'quantitative' || typeOf('x') === 'temporal') {
+            return 'requires a categorical metric x field for a native Excel radar chart';
+        }
+        if (!fieldOf('y') || typeOf('y') !== 'quantitative') {
+            return 'requires a quantitative y field for a native Excel radar chart';
+        }
+        if (fieldOf('color') && (typeOf('color') === 'quantitative' || typeOf('color') === 'temporal')) {
+            return 'requires a discrete color field for native Excel radar series';
+        }
+        if (fieldOf('column') || fieldOf('row')) {
+            return 'does not support faceting in one native Excel radar chart';
+        }
+        const valueField = fieldOf('y')!;
+        if (table.some((row) => Number(row[valueField]) < 0)) {
+            return 'requires non-negative values for a native Excel radar chart';
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, fieldOf }) => {
+        const metricField = fieldOf('x')!;
+        const valueField = fieldOf('y')!;
+        const seriesField = fieldOf('color');
+        const metrics = [...new Set(table.map((row) => String(row[metricField])))];
+        if (metrics.length < 3) {
+            throw new Error('Excel radar chart requires at least three metric axes.');
+        }
+        const seriesKeys = seriesField
+            ? [...new Set(table.map((row) => String(row[seriesField])))]
+            : [valueField];
+        const metricMaximums = new Map(metrics.map((metric) => {
+            const values = table
+                .filter((row) => String(row[metricField]) === metric)
+                .map((row) => Number(row[valueField]))
+                .filter(Number.isFinite);
+            return [metric, niceMaximum(values.length > 0 ? Math.max(...values) : 1)] as const;
+        }));
+        const accumulators = new Map();
+        for (const row of table) {
+            const metric = String(row[metricField]);
+            const series = seriesField ? String(row[seriesField]) : valueField;
+            const value = Number(row[valueField]);
+            if (!Number.isFinite(value)) continue;
+            const key = `${series}\u0000${metric}`;
+            const accumulator = accumulators.get(key) ?? { sum: 0, count: 0 };
+            accumulator.sum += value;
+            accumulator.count += 1;
+            accumulators.set(key, accumulator);
+        }
+        const normalizedValue = (series: string, metric: string): number => {
+            const accumulator = accumulators.get(`${series}\u0000${metric}`);
+            if (!accumulator) return 0;
+            return (accumulator.sum / accumulator.count) / metricMaximums.get(metric)!;
+        };
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 400 };
+        const filledRequested = input.chart_spec.chartProperties?.filled !== false;
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'RadarMarkers',
+            title: `${valueField} by ${metricField}`,
+            seriesBy: 'Columns',
+            data: [
+                [metricField, ...seriesKeys],
+                ...metrics.map((metric) => [
+                    `${metric} (${metricMaximums.get(metric)})`,
+                    ...seriesKeys.map((series) => normalizedValue(series, metric)),
+                ]),
+            ],
+            valueAxis: { minimumScale: 0, maximumScale: 1, majorUnit: 0.25 },
+            legend: { visible: Boolean(seriesField), position: 'Bottom' },
+            width: base.width,
+            height: base.height,
+            warnings: filledRequested ? [{
+                severity: 'info',
+                code: 'excel-radar-fill-unsupported',
+                message: 'Excel Radar uses outlines and markers because Office.js does not expose translucent chart-series fills.',
+            }] : [],
+            _flint: {
+                flintType: 'Radar Chart',
+                metricField,
+                valueField,
+                seriesField,
+                metricMaximums: Object.fromEntries(metricMaximums),
+                normalized: true,
+                filledRequested,
+            },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/scatter.ts b/packages/flint-js/src/excel/templates/scatter.ts
new file mode 100644
index 00000000..62972b3e
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/scatter.ts
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+import { requireQuantitativeAxes } from './types';
+
+export const excelScatterPlotDef: ExcelTemplateDef = {
+    chart: 'Scatter Plot',
+    channels: ['x', 'y', 'color', 'size'],
+    typeMapping: { vertical: 'XYScatter', xy: true },
+    validate: (context) => requireQuantitativeAxes(context)
+        ?? (context.typeOf('color') === 'quantitative' || context.typeOf('color') === 'temporal'
+            ? 'does not support continuous color in a native Excel Scatter or Bubble chart'
+            : undefined),
+};
+
+export const excelConnectedScatterPlotDef: ExcelTemplateDef = {
+    chart: 'Connected Scatter Plot',
+    channels: ['x', 'y', 'order', 'color', 'detail'],
+    typeMapping: { vertical: 'XYScatterLines', xy: true },
+    validate: (context) => requireQuantitativeAxes(context)
+        ?? (!context.fieldOf('order')
+            ? 'requires an explicit order field for a native Excel connected scatter chart'
+            : context.fieldOf('detail')
+                ? 'does not support an unlegended detail series in a native Excel connected scatter chart'
+                : context.typeOf('color') === 'quantitative' || context.typeOf('color') === 'temporal'
+                    ? 'does not support continuous color in a native Excel connected scatter chart'
+                    : undefined),
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/sunburst.ts b/packages/flint-js/src/excel/templates/sunburst.ts
new file mode 100644
index 00000000..57f18331
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/sunburst.ts
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+export const excelSunburstChartDef: ExcelTemplateDef = {
+    chart: 'Sunburst Chart',
+    channels: ['color', 'size', 'group', 'detail'],
+    typeMapping: { vertical: 'Sunburst', noAxes: true },
+    validate: ({ table, fieldOf, typeOf }) => {
+        if (!fieldOf('color') || typeOf('color') === 'quantitative') {
+            return 'requires a categorical color field for a native Excel sunburst chart';
+        }
+        if (typeOf('size') !== 'quantitative') {
+            return 'requires a quantitative size field for a native Excel sunburst chart';
+        }
+        if (fieldOf('group') && typeOf('group') === 'quantitative') {
+            return 'requires a categorical group field for a native Excel sunburst hierarchy';
+        }
+        if (fieldOf('detail') && !fieldOf('group')) {
+            return 'requires a group field before detail in a native Excel sunburst hierarchy';
+        }
+        if (fieldOf('detail') && typeOf('detail') === 'quantitative') {
+            return 'requires a categorical detail field for a native Excel sunburst hierarchy';
+        }
+        const valueField = fieldOf('size')!;
+        if (table.some((row) => Number.isFinite(Number(row[valueField])) && Number(row[valueField]) < 0)) {
+            return 'requires non-negative values for a native Excel sunburst chart';
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, fieldOf }) => {
+        const categoryField = fieldOf('color')!;
+        const groupField = fieldOf('group');
+        const detailField = fieldOf('detail');
+        const valueField = fieldOf('size')!;
+        const hierarchyFields = [categoryField, groupField, detailField].filter((field): field is string => Boolean(field));
+        const leaves = new Map();
+        for (const row of table) {
+            const path = hierarchyFields.map((field) => row[field]);
+            const value = Number(row[valueField]);
+            if (path.some((part) => part == null) || !Number.isFinite(value)) continue;
+            const labels = path.map(String);
+            const key = labels.join('\u0000');
+            const existing = leaves.get(key);
+            leaves.set(key, { path: labels, value: (existing?.value ?? 0) + value });
+        }
+
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'Sunburst',
+            title: `${valueField} by ${hierarchyFields[hierarchyFields.length - 1]}`,
+            seriesBy: 'Columns',
+            data: [
+                [...hierarchyFields, valueField],
+                ...[...leaves.values()].map((leaf) => [...leaf.path, leaf.value]),
+            ],
+            legend: { visible: false },
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: { flintType: 'Sunburst Chart', hierarchyFields, valueField },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/treemap.ts b/packages/flint-js/src/excel/templates/treemap.ts
new file mode 100644
index 00000000..d604a228
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/treemap.ts
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ExcelTemplateDef } from './types';
+
+export const excelTreemapDef: ExcelTemplateDef = {
+    chart: 'Treemap',
+    channels: ['color', 'size', 'detail'],
+    typeMapping: { vertical: 'Treemap', noAxes: true },
+    validate: ({ table, fieldOf, typeOf }) => {
+        if (!fieldOf('color') || typeOf('color') === 'quantitative') {
+            return 'requires a categorical color field for a native Excel treemap';
+        }
+        if (typeOf('size') !== 'quantitative') {
+            return 'requires a quantitative size field for a native Excel treemap';
+        }
+        if (fieldOf('detail') && typeOf('detail') === 'quantitative') {
+            return 'requires a categorical detail field for a native Excel treemap hierarchy';
+        }
+        const valueField = fieldOf('size')!;
+        if (table.some((row) => Number.isFinite(Number(row[valueField])) && Number(row[valueField]) < 0)) {
+            return 'requires non-negative values for a native Excel treemap';
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, fieldOf }) => {
+        const categoryField = fieldOf('color')!;
+        const detailField = fieldOf('detail');
+        const valueField = fieldOf('size')!;
+        const leaves = new Map();
+        for (const row of table) {
+            const category = row[categoryField];
+            const detail = detailField ? row[detailField] : undefined;
+            const value = Number(row[valueField]);
+            if (category == null || (detailField && detail == null) || !Number.isFinite(value)) continue;
+            const categoryLabel = String(category);
+            const detailLabel = detailField ? String(detail) : undefined;
+            const key = `${categoryLabel}\u0000${detailLabel ?? ''}`;
+            const existing = leaves.get(key);
+            leaves.set(key, {
+                category: categoryLabel,
+                detail: detailLabel,
+                value: (existing?.value ?? 0) + value,
+            });
+        }
+
+        const rows = [...leaves.values()];
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'Treemap',
+            title: `${valueField} by ${detailField ?? categoryField}`,
+            seriesBy: 'Columns',
+            data: detailField
+                ? [[categoryField, detailField, valueField], ...rows.map((row) => [row.category, row.detail!, row.value])]
+                : [[categoryField, valueField], ...rows.map((row) => [row.category, row.value])],
+            legend: { visible: false },
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: { flintType: 'Treemap', categoryField, detailField, valueField },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/types.ts b/packages/flint-js/src/excel/templates/types.ts
new file mode 100644
index 00000000..e7b5f0a4
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/types.ts
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import type { ChartAssemblyInput, SemanticResult } from '../../core/types';
+import type { ExcelTypeMapping } from '../chart-types';
+import type { ExcelNativeChartSpec } from '../types';
+
+export interface ExcelTemplateContext {
+    input: ChartAssemblyInput;
+    table: any[];
+    semantics: SemanticResult;
+    fieldOf: (channel: string) => string | undefined;
+    typeOf: (channel: string) => string | undefined;
+}
+
+export interface ExcelTemplateDef {
+    chart: string;
+    channels: string[];
+    typeMapping: ExcelTypeMapping;
+    validate?: (context: ExcelTemplateContext) => string | undefined;
+    instantiate?: (context: ExcelTemplateContext) => ExcelNativeChartSpec;
+}
+
+export function requireQuantitativeAxes(context: ExcelTemplateContext): string | undefined {
+    if (context.typeOf('x') !== 'quantitative' || context.typeOf('y') !== 'quantitative') {
+        return 'requires quantitative x and y fields for a native Excel XY chart';
+    }
+    if (context.fieldOf('shape')) {
+        return 'does not support a shape encoding in native Excel charts';
+    }
+    return undefined;
+}
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/templates/waterfall.ts b/packages/flint-js/src/excel/templates/waterfall.ts
new file mode 100644
index 00000000..f368565c
--- /dev/null
+++ b/packages/flint-js/src/excel/templates/waterfall.ts
@@ -0,0 +1,68 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import { resolveTotalsMode } from '../../chart-types/waterfall';
+import { formatSpecToExcel } from '../chart-types';
+import type { ExcelTemplateDef } from './types';
+
+export const excelWaterfallChartDef: ExcelTemplateDef = {
+    chart: 'Waterfall Chart',
+    channels: ['x', 'y', 'color'],
+    typeMapping: { vertical: 'Waterfall' },
+    validate: ({ input, table, fieldOf, typeOf }) => {
+        if (!fieldOf('x')) return 'requires a category x field for a native Excel waterfall chart';
+        if (typeOf('y') !== 'quantitative') {
+            return 'requires a quantitative y field for a native Excel waterfall chart';
+        }
+        if (fieldOf('color') && typeOf('color') === 'quantitative') {
+            return 'requires color to contain start/delta/end roles for a native Excel waterfall chart';
+        }
+        const valueField = fieldOf('y')!;
+        const typeField = fieldOf('color');
+        const values = table.map((row) => Number(row[valueField])).filter(Number.isFinite);
+        if (typeField) {
+            const unsupportedTotal = table.findIndex((row, index) => {
+                const role = String(row[typeField] ?? '').toLowerCase();
+                return index > 0 && (role === 'start' || role === 'end' || role === 'total');
+            });
+            if (unsupportedTotal >= 0) {
+                return 'cannot mark non-initial total points because Office.js does not expose Waterfall total-point semantics';
+            }
+        } else {
+            const totals = resolveTotalsMode(values, input.chart_spec.chartProperties?.totals);
+            if (totals === 'last' || totals === 'both') {
+                return 'cannot mark a final total because Office.js does not expose Waterfall total-point semantics';
+            }
+        }
+        return undefined;
+    },
+    instantiate: ({ input, table, semantics, fieldOf }) => {
+        const categoryField = fieldOf('x')!;
+        const valueField = fieldOf('y')!;
+        const rows = table.filter((row) => row[categoryField] != null && Number.isFinite(Number(row[valueField])));
+
+        const base = input.chart_spec.baseSize ?? { width: 480, height: 320 };
+        return {
+            schema: 'flint.excel.chart/v1',
+            kind: 'chart',
+            chartType: 'Waterfall',
+            title: `${valueField} by ${categoryField}`,
+            seriesBy: 'Columns',
+            data: [
+                [categoryField, valueField],
+                ...rows.map((row) => [String(row[categoryField]), Number(row[valueField])]),
+            ],
+            categoryAxis: { title: categoryField },
+            valueAxis: {
+                title: valueField,
+                numberFormat: formatSpecToExcel(semantics.y?.format),
+            },
+            legend: { visible: false },
+            showConnectorLines: true,
+            width: base.width,
+            height: base.height,
+            warnings: [],
+            _flint: { flintType: 'Waterfall Chart', categoryField, valueField },
+        };
+    },
+};
\ No newline at end of file
diff --git a/packages/flint-js/src/excel/types.ts b/packages/flint-js/src/excel/types.ts
new file mode 100644
index 00000000..8d236eb5
--- /dev/null
+++ b/packages/flint-js/src/excel/types.ts
@@ -0,0 +1,140 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+/**
+ * Excel backend types.
+ *
+ * The Excel "native spec" is a declarative description of an Office.js chart:
+ * a wide/matrix data range plus chart type, axes, legend, and series config.
+ * A host renders it imperatively via the Office.js Excel API
+ * (`sheet.charts.add(type, range, seriesBy)` + `chart.getImage()`).
+ *
+ * This mirrors how the other backends emit a native artifact (Vega-Lite spec,
+ * ECharts option, Chart.js config) — here the artifact targets Excel charts.
+ */
+
+import type { ChartWarning } from '../core/types';
+
+/** Excel `ChartSeriesBy` orientation. */
+export type ExcelSeriesBy = 'Columns' | 'Rows';
+
+/** Excel `ChartLegendPosition` (subset we emit). */
+export type ExcelLegendPosition = 'Top' | 'Bottom' | 'Left' | 'Right';
+
+export interface ExcelAxisSpec {
+    /** Axis title text (from the field display name). */
+    title?: string;
+    /** Axis-label font size in points, used when dense categories need explicit sizing. */
+    labelFontSize?: number;
+    /** Number of categories between displayed labels; underlying data stays intact. */
+    tickLabelSpacing?: number;
+    /** Excel number format string, e.g. `"$#,##0"`, `"0.0%"`, `"#,##0"`. */
+    numberFormat?: string;
+    /** Reverse Excel's native category plotting order (horizontal nominal bars). */
+    reversePlotOrder?: boolean;
+    /** Explicit native-axis minimum, used for zero-anchored length/area charts. */
+    minimumScale?: number;
+    /** Explicit native-axis maximum, used to avoid excessive automatic headroom. */
+    maximumScale?: number;
+    /** Interval between major ticks on a numeric axis. */
+    majorUnit?: number;
+}
+
+export interface ExcelLegendSpec {
+    visible: boolean;
+    position?: ExcelLegendPosition;
+}
+
+export interface ExcelDataLabelsSpec {
+    visible: boolean;
+    position?: 'BestFit' | 'Center' | 'InsideBase' | 'InsideEnd' | 'OutsideEnd';
+    numberFormat?: string;
+    fontColor?: string;
+    fontSize?: number;
+}
+
+export interface ExcelNativeSeriesSpec {
+    /** Legend/series name. */
+    name: string;
+    /** Zero-based worksheet column containing X values, excluding the header row. */
+    xColumn: number;
+    /** Zero-based worksheet column containing Y values, excluding the header row. */
+    yColumn: number;
+    /** Number of populated worksheet rows in this series. */
+    rowCount: number;
+    /** Optional zero-based worksheet column containing bubble sizes. */
+    bubbleSizeColumn?: number;
+}
+
+export interface ExcelNativeSeriesFormatSpec {
+    /** Native HTML color shared by related series segments. */
+    color?: string;
+    /** Excel.ChartLineStyle string. */
+    lineStyle?: 'Continuous' | 'Dash' | 'DashDot' | 'DashDotDot' | 'Dot' | 'RoundDot';
+}
+
+export interface ExcelBoxWhiskerOptionsSpec {
+    quartileCalculation?: 'Inclusive' | 'Exclusive';
+    showInnerPoints?: boolean;
+    showMeanLine?: boolean;
+    showMeanMarker?: boolean;
+    showOutlierPoints?: boolean;
+}
+
+interface ExcelRenderSpecBase {
+    /** Stable discriminator for serialized Flint Excel artifacts. */
+    schema: 'flint.excel.chart/v1';
+    /** Chart title. */
+    title?: string;
+    /** Source values written to the worksheet. */
+    data: Array>;
+    /** Target width/height in points (from Flint layout / baseSize). */
+    width?: number;
+    height?: number;
+    /** Flint assembler warnings (overflow, etc.). */
+    warnings?: ChartWarning[];
+    /** Provenance for debugging (not consumed by the renderer). */
+    _flint?: Record;
+}
+
+/** A conventional native Excel chart rendered through `Chart.getImage()`. */
+export interface ExcelNativeChartSpec extends ExcelRenderSpecBase {
+    kind: 'chart';
+    /**
+     * The Office.js `Excel.ChartType` enum string, e.g. `"ColumnClustered"`,
+     * `"BarStacked"`, `"Line"`, `"XYScatter"`, `"Pie"`.
+     */
+    chartType: string;
+    /** Whether series run down columns or across rows of the data range. */
+    seriesBy: ExcelSeriesBy;
+    /** Explicit bindings for XY/bubble series when Excel cannot infer grouped ranges. */
+    series?: ExcelNativeSeriesSpec[];
+    /** Formatting aligned with the rendered series order. */
+    seriesFormats?: ExcelNativeSeriesFormatSpec[];
+    /** Category (label) axis. Absent for pie/doughnut (no axes). */
+    categoryAxis?: ExcelAxisSpec;
+    /** Value (measure) axis. Absent for pie/doughnut. */
+    valueAxis?: ExcelAxisSpec;
+    /** Legend visibility + position. */
+    legend?: ExcelLegendSpec;
+    /** Native chart data labels. */
+    dataLabels?: ExcelDataLabelsSpec;
+    /** Bar/column gap width (%) — bar family only. */
+    gapWidth?: number;
+    /** Bar/column series overlap (%) — 2-D bar family only. */
+    overlap?: number;
+    /** Excel bubble-size percentage (0-300), applied to every bubble series. */
+    bubbleScale?: number;
+    /** Doughnut hole size percentage (10-90), applied to every doughnut series. */
+    doughnutHoleSize?: number;
+    /** Statistical options applied to every native box-and-whisker series. */
+    boxWhiskerOptions?: ExcelBoxWhiskerOptionsSpec;
+    /** Display native connector lines between Waterfall points. */
+    showConnectorLines?: boolean;
+}
+
+/** A backend-native Excel chart artifact. */
+export type ExcelChartSpec = ExcelNativeChartSpec;
+
+/** Preferred name for the backend artifact; retained alongside ExcelChartSpec. */
+export type ExcelRenderSpec = ExcelChartSpec;
diff --git a/packages/flint-js/src/index.ts b/packages/flint-js/src/index.ts
index 5f121268..90f845c5 100644
--- a/packages/flint-js/src/index.ts
+++ b/packages/flint-js/src/index.ts
@@ -52,3 +52,6 @@ export * from './echarts';
 
 // Chart.js backend: assembleChartjs, templates, spec instantiation
 export * from './chartjs';
+
+// Excel backend: assembleExcel + Excel chart spec types
+export * from './excel';
diff --git a/packages/flint-js/src/test-data/index.ts b/packages/flint-js/src/test-data/index.ts
index c6e19771..abd5feab 100644
--- a/packages/flint-js/src/test-data/index.ts
+++ b/packages/flint-js/src/test-data/index.ts
@@ -99,7 +99,7 @@ import { genAreaTests, genStreamgraphTests } from './area-tests';
 import { genRangeAreaTests, genEChartsRangeAreaTests, genChartJsRangeAreaTests } from './range-area-tests';
 import { genEcdfTests, genEChartsEcdfTests, genChartJsEcdfTests } from './ecdf-tests';
 import {
-    genHeatmapTests, genPieTests, genRangedDotPlotTests, genLollipopTests,
+    genHeatmapTests, genPieTests, genDonutTests, genRangedDotPlotTests, genLollipopTests,
     genWaterfallTests, genBarTableTests, genCandlestickTests, genRadarTests, genPyramidTests,
     genRoseTests,
 } from './specialized-tests';
@@ -156,6 +156,7 @@ export const TEST_GENERATORS: Record TestCase[]> = {
     'Boxplot': genBoxplotTests,
     'Violin Plot': genViolinTests,
     'Pie Chart': genPieTests,
+    'Donut Chart': genDonutTests,
     'Ranged Dot Plot': genRangedDotPlotTests,
     'Area Chart': () => [...genAreaTests(), galleryFacetAreaExample()],
     'Streamgraph': genStreamgraphTests,
diff --git a/packages/flint-js/src/test-data/specialized-tests.ts b/packages/flint-js/src/test-data/specialized-tests.ts
index 4398df81..3378866e 100644
--- a/packages/flint-js/src/test-data/specialized-tests.ts
+++ b/packages/flint-js/src/test-data/specialized-tests.ts
@@ -300,6 +300,16 @@ export function genPieTests(): TestCase[] {
     return tests;
 }
 
+export function genDonutTests(): TestCase[] {
+    return genPieTests().map(test => ({
+        ...test,
+        title: test.title.replace('Pie', 'Donut'),
+        description: test.description.replace('Pie', 'Donut'),
+        chartType: 'Donut Chart',
+        chartProperties: { ...test.chartProperties, innerRadius: 50 },
+    }));
+}
+
 // ------ Ranged Dot Plot ------
 export function genRangedDotPlotTests(): TestCase[] {
     const tests: TestCase[] = [];
@@ -1136,7 +1146,7 @@ export function genCandlestickTests(): TestCase[] {
         const baseDate = new Date('2024-01-02');
         for (let i = 0; i < days; i++) {
             const date = new Date(baseDate);
-            date.setDate(baseDate.getDate() + i);
+            date.setUTCDate(baseDate.getUTCDate() + i);
             const change = (rand() - 0.48) * 4;  // slight upward bias
             const open = Math.round(price * 100) / 100;
             const close = Math.round((price + change) * 100) / 100;
@@ -1242,7 +1252,7 @@ export function genCandlestickTests(): TestCase[] {
             const baseDate = new Date('2024-03-01');
             for (let i = 0; i < 20; i++) {
                 const date = new Date(baseDate);
-                date.setDate(baseDate.getDate() + i);
+                date.setUTCDate(baseDate.getUTCDate() + i);
                 const change = (rand() - 0.48) * 4;
                 const open = Math.round(price * 100) / 100;
                 const close = Math.round((price + change) * 100) / 100;
diff --git a/packages/flint-js/src/vegalite/templates/index.ts b/packages/flint-js/src/vegalite/templates/index.ts
index 56c3c0a6..2fe6ace4 100644
--- a/packages/flint-js/src/vegalite/templates/index.ts
+++ b/packages/flint-js/src/vegalite/templates/index.ts
@@ -22,7 +22,7 @@ import { bumpChartDef } from './bump';
 import { slopeChartDef } from './slope';
 import { areaChartDef, streamgraphDef } from './area';
 import { rangeAreaChartDef } from './range-area';
-import { pieChartDef } from './pie';
+import { donutChartDef, pieChartDef } from './pie';
 import { lollipopChartDef } from './lollipop';
 import { densityPlotDef } from './density';
 import { violinPlotDef } from './violin';
@@ -250,7 +250,7 @@ export const vlTemplateDefs: { [key: string]: ChartTemplateDef[] } = Object.from
         "Bars":            [barChartDef, groupedBarChartDef, stackedBarChartDef, lollipopChartDef, waterfallChartDef, ganttChartDef, bulletChartDef],
         "Distributions":   [histogramDef, densityPlotDef, ecdfPlotDef, violinPlotDef, boxplotDef, pyramidChartDef, candlestickChartDef],
         "Lines & Areas":   [lineChartDef, sparklineDef, bumpChartDef, slopeChartDef, areaChartDef, streamgraphDef, rangeAreaChartDef],
-        "Circular":        [pieChartDef, roseChartDef, radarChartDef],
+        "Circular":        [pieChartDef, donutChartDef, roseChartDef, radarChartDef],
         "Tables & Maps":   [heatmapDef, barTableDef, kpiCardDef, mapDef, choroplethDef],
     }).map(([category, defs]) => [category, defs.map(withInjectedProperties)]),
 );
diff --git a/packages/flint-js/src/vegalite/templates/pie.ts b/packages/flint-js/src/vegalite/templates/pie.ts
index b83a771f..d8eb4c3b 100644
--- a/packages/flint-js/src/vegalite/templates/pie.ts
+++ b/packages/flint-js/src/vegalite/templates/pie.ts
@@ -107,3 +107,8 @@ export const pieChartDef: ChartTemplateDef = {
         },
     ] as ChartPropertyDef[],
 };
+
+export const donutChartDef: ChartTemplateDef = {
+    ...pieChartDef,
+    chart: "Donut Chart",
+};
diff --git a/packages/flint-js/tests/excel-codegen.test.ts b/packages/flint-js/tests/excel-codegen.test.ts
new file mode 100644
index 00000000..36206977
--- /dev/null
+++ b/packages/flint-js/tests/excel-codegen.test.ts
@@ -0,0 +1,61 @@
+import { describe, expect, it } from 'vitest';
+import { generateOfficeJs, prepareExcelArtifact } from '../src/excel';
+import type { ExcelNativeChartSpec } from '../src/excel';
+
+const funnelArtifact: ExcelNativeChartSpec = {
+    schema: 'flint.excel.chart/v1',
+    kind: 'chart',
+    chartType: 'Funnel',
+    seriesBy: 'Columns',
+    title: 'Amount by Stage',
+    data: [['Stage', 'Amount'], ['Prospects', 500], ['Qualified', 425]],
+    dataLabels: {
+        visible: true,
+        numberFormat: '#,##0',
+        fontColor: '#FFFFFF',
+        fontSize: 11,
+    },
+    seriesFormats: [{ color: '#4472C4' }],
+    width: 480,
+    height: 320,
+};
+
+describe('Excel Office.js artifacts', () => {
+    it('prepares a versioned artifact without legacy coercion', () => {
+        expect(prepareExcelArtifact(funnelArtifact)).toMatchObject({
+            chartType: 'Funnel',
+            rangeA1: 'A1:B3',
+            rows: 3,
+            columns: 2,
+            hasAxes: false,
+        });
+        expect(() => prepareExcelArtifact({ ...funnelArtifact, chartType: 'funnel' })).toThrow(
+            'Unsupported Excel chart type: funnel.',
+        );
+        expect(() => prepareExcelArtifact({ ...funnelArtifact, schema: undefined })).toThrow(
+            'Expected a flint.excel.chart/v1 chart artifact.',
+        );
+    });
+
+    it('generates standalone Office.js with artifact formatting', () => {
+        const generated = generateOfficeJs(funnelArtifact, { scale: 2 });
+        expect(generated.meta).toEqual({
+            schema: 'flint.excel.chart/v1',
+            rangeA1: 'A1:B3',
+            chartType: 'Funnel',
+            rows: 3,
+            columns: 2,
+        });
+        expect(generated.code).toContain('sheet.charts.add("Funnel", dataRange, "Columns")');
+        expect(generated.code).toContain('chart.dataLabels.format.font.color = "#FFFFFF"');
+        expect(generated.code).toContain('chart.series.getItemAt(index)');
+        expect(generated.code).toContain('chart.getImage(1280, 853, Excel.ImageFittingMode.fit)');
+        expect(() => new Function('Excel', `${generated.code}\nreturn main;`)).not.toThrow();
+    });
+
+    it('keeps host options out of the serialized artifact', () => {
+        generateOfficeJs(funnelArtifact, { scale: 4, cleanWorksheet: true });
+        expect(funnelArtifact).not.toHaveProperty('scale');
+        expect(funnelArtifact).not.toHaveProperty('cleanWorksheet');
+    });
+});
diff --git a/packages/flint-js/tests/excel-runtime.test.ts b/packages/flint-js/tests/excel-runtime.test.ts
new file mode 100644
index 00000000..70b4efb4
--- /dev/null
+++ b/packages/flint-js/tests/excel-runtime.test.ts
@@ -0,0 +1,124 @@
+import { describe, expect, it, vi } from 'vitest';
+import { renderExcelChart, type OfficeJsExcelApi } from '../src/excel';
+import type { ExcelNativeChartSpec } from '../src/excel';
+
+function createMockExcel() {
+    const calls = {
+        chartType: '',
+        seriesBy: '',
+        rangeAddress: '',
+        values: null as unknown,
+        numberFormat: null as unknown,
+        image: null as unknown,
+        labels: {} as Record,
+        fillColor: '',
+        clears: 0,
+        syncs: 0,
+    };
+    const series = {
+        format: {
+            fill: { setSolidColor: (color: string) => { calls.fillColor = color; } },
+            line: {},
+        },
+    };
+    const chart = {
+        series: { getItemAt: () => series },
+        title: {},
+        legend: {},
+        dataLabels: {
+            format: { font: {} },
+            set visible(value: boolean) { calls.labels.visible = value; },
+            set position(value: string) { calls.labels.position = value; },
+            set numberFormat(value: string) { calls.labels.numberFormat = value; },
+        },
+        axes: {},
+        getImage: (width: number, height: number, mode: unknown) => {
+            calls.image = { width, height, mode };
+            return { value: 'iVBORw0KGgoMOCK' };
+        },
+    };
+    Object.defineProperties(chart.dataLabels.format.font, {
+        color: { set: (value: string) => { calls.labels.fontColor = value; } },
+        size: { set: (value: number) => { calls.labels.fontSize = value; } },
+    });
+    const range = {
+        set values(value: unknown) { calls.values = value; },
+        set numberFormat(value: unknown) { calls.numberFormat = value; },
+    };
+    const sheet = {
+        charts: {
+            items: [],
+            load: vi.fn(),
+            add: (chartType: string, _range: unknown, seriesBy: string) => {
+                calls.chartType = chartType;
+                calls.seriesBy = seriesBy;
+                return chart;
+            },
+        },
+        getUsedRangeOrNullObject: () => ({
+            isNullObject: false,
+            clear: () => { calls.clears += 1; },
+        }),
+        getRange: (address: string) => {
+            calls.rangeAddress = address;
+            return range;
+        },
+    };
+    const run = vi.fn(async (callback: (context: unknown) => Promise) => callback({
+        workbook: { worksheets: { getActiveWorksheet: () => sheet } },
+        sync: async () => { calls.syncs += 1; },
+    }));
+    const excel = {
+        run,
+        ImageFittingMode: { fit: 'fit' },
+    } as OfficeJsExcelApi;
+    return { excel, calls, run };
+}
+
+const artifact: ExcelNativeChartSpec = {
+    schema: 'flint.excel.chart/v1',
+    kind: 'chart',
+    chartType: 'Funnel',
+    seriesBy: 'Columns',
+    title: 'Amount by Stage',
+    data: [['Stage', 'Amount'], ['Prospects', 500], ['Qualified', 425]],
+    dataLabels: {
+        visible: true,
+        numberFormat: '#,##0',
+        fontColor: '#FFFFFF',
+        fontSize: 11,
+    },
+    seriesFormats: [{ color: '#4472C4' }],
+    width: 480,
+    height: 320,
+};
+
+describe('renderExcelChart', () => {
+    it('executes a Flint artifact against the Office.js object model', async () => {
+        const { excel, calls } = createMockExcel();
+        const result = await renderExcelChart(excel, artifact, { scale: 2 });
+
+        expect(calls.rangeAddress).toBe('A1:B3');
+        expect(calls.values).toEqual(artifact.data);
+        expect(calls.chartType).toBe('Funnel');
+        expect(calls.seriesBy).toBe('Columns');
+        expect(calls.labels).toEqual({
+            visible: true,
+            numberFormat: '#,##0',
+            fontColor: '#FFFFFF',
+            fontSize: 11,
+        });
+        expect(calls.fillColor).toBe('#4472C4');
+        expect(calls.image).toEqual({ width: 1280, height: 853, mode: 'fit' });
+        expect(calls.clears).toBe(1);
+        expect(result).toEqual({ pngBase64: 'iVBORw0KGgoMOCK', inspection: null });
+    });
+
+    it('rejects invalid artifacts before entering Excel.run', async () => {
+        const { excel, run } = createMockExcel();
+        await expect(renderExcelChart(excel, { ...artifact, chartType: 'funnel' })).rejects.toThrow(
+            'Unsupported Excel chart type: funnel.',
+        );
+        expect(run).not.toHaveBeenCalled();
+    });
+});
diff --git a/packages/flint-js/tests/filter-overflow.test.ts b/packages/flint-js/tests/filter-overflow.test.ts
new file mode 100644
index 00000000..4f828c61
--- /dev/null
+++ b/packages/flint-js/tests/filter-overflow.test.ts
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import { describe, expect, it } from 'vitest';
+import { filterOverflow } from '../src/core/filter-overflow';
+import type { ChannelSemantics, ChartEncoding } from '../src/core/types';
+
+const budgets = { maxValues: { x: 3 } };
+const marks = new Set(['bar']);
+const annotation = { semanticType: 'Category' };
+
+function keptCategories(
+  data: Array<{ Category: string; Value: number }>,
+  categorySemantics: Omit,
+  categoryEncoding: ChartEncoding,
+): string[] {
+  const result = filterOverflow(
+    {
+      x: { semanticAnnotation: annotation, ...categorySemantics },
+      y: { field: 'Value', type: 'quantitative', semanticAnnotation: { semanticType: 'Quantity' } },
+    },
+    { axisFlags: { x: { banded: true } } },
+    {
+      x: categoryEncoding,
+      y: { field: 'Value' },
+    },
+    data,
+    budgets,
+    marks,
+  );
+  return result.truncations[0].keptValues as string[];
+}
+
+describe('overflow category selection', () => {
+  it('preserves encounter order when no sort is selected', () => {
+    const data = [
+      { Category: 'Delta', Value: 100 },
+      { Category: 'Alpha', Value: 1 },
+      { Category: 'Charlie', Value: 80 },
+      { Category: 'Bravo', Value: 50 },
+    ];
+
+    expect(keptCategories(
+      data,
+      { field: 'Category', type: 'nominal' },
+      { field: 'Category' },
+    )).toEqual(['Delta', 'Alpha', 'Charlie']);
+  });
+
+  it('uses canonical semantic order when available', () => {
+    const data = [
+      { Category: 'Mar', Value: 100 },
+      { Category: 'Jan', Value: 1 },
+      { Category: 'Apr', Value: 80 },
+      { Category: 'Feb', Value: 50 },
+    ];
+
+    expect(keptCategories(
+      data,
+      { field: 'Category', type: 'ordinal', ordinalSortOrder: ['Jan', 'Feb', 'Mar', 'Apr'] },
+      { field: 'Category' },
+    )).toEqual(['Jan', 'Feb', 'Mar']);
+  });
+
+  it('uses an explicitly selected value sort', () => {
+    const data = [
+      { Category: 'Delta', Value: 100 },
+      { Category: 'Alpha', Value: 1 },
+      { Category: 'Charlie', Value: 80 },
+      { Category: 'Bravo', Value: 50 },
+    ];
+
+    expect(keptCategories(
+      data,
+      { field: 'Category', type: 'nominal' },
+      { field: 'Category', sortBy: 'y', sortOrder: 'descending' },
+    )).toEqual(['Delta', 'Charlie', 'Bravo']);
+  });
+});
diff --git a/packages/flint-js/tests/heatmap-colors.test.ts b/packages/flint-js/tests/heatmap-colors.test.ts
index 497cf4d2..0c29a623 100644
--- a/packages/flint-js/tests/heatmap-colors.test.ts
+++ b/packages/flint-js/tests/heatmap-colors.test.ts
@@ -2,7 +2,7 @@
 // Licensed under the MIT License.
 
 import { describe, expect, it } from 'vitest';
-import { assembleECharts, assembleVegaLite } from '../src';
+import { assembleECharts, assembleExcel, assembleVegaLite } from '../src';
 
 const HEATMAP_DATA = [
   { day: 'Mon', hour: '09:00', value: 1 },
@@ -50,6 +50,18 @@ function divergingHeatmapInput() {
 }
 
 describe('heatmap color defaults', () => {
+  it('rejects heatmaps because Office.js has no native heatmap chart type', () => {
+    expect(() => assembleExcel(heatmapInput())).toThrow(
+      'Excel backend does not support chart type "Heatmap" as a native Office.js chart.',
+    );
+  });
+
+  it('also rejects diverging heatmaps rather than emulating a color scale', () => {
+    expect(() => assembleExcel(divergingHeatmapInput())).toThrow(
+      'Excel backend does not support chart type "Heatmap" as a native Office.js chart.',
+    );
+  });
+
   it('uses blues for non-diverging Vega-Lite heatmaps by default', () => {
     const spec = assembleVegaLite(heatmapInput()) as any;
 
diff --git a/packages/flint-js/tests/smoke.test.ts b/packages/flint-js/tests/smoke.test.ts
index 1684754d..9cf8957b 100644
--- a/packages/flint-js/tests/smoke.test.ts
+++ b/packages/flint-js/tests/smoke.test.ts
@@ -6,6 +6,7 @@ import {
   assembleVegaLite,
   assembleECharts,
   assembleChartjs,
+  assembleExcel,
 } from '../src';
 
 const DATA = [
@@ -47,6 +48,865 @@ describe('public API smoke', () => {
     expect(config.type ?? config.data ?? config.options).toBeDefined();
   });
 
+  it('assembleExcel returns an Excel chart spec with a wide data matrix', () => {
+    const spec = assembleExcel(INPUT) as any;
+    expect(spec).toBeDefined();
+    // XYScatter (both axes quantitative), wide matrix with a header row
+    expect(spec.chartType).toBe('XYScatter');
+    expect(Array.isArray(spec.data)).toBe(true);
+    expect(spec.data[0]).toEqual([
+      'JP weight', 'JP mpg',
+      'US weight', 'US mpg',
+      'EU weight', 'EU mpg',
+    ]);
+    expect(spec.series).toEqual([
+      { name: 'JP', xColumn: 0, yColumn: 1, rowCount: 1 },
+      { name: 'US', xColumn: 2, yColumn: 3, rowCount: 1 },
+      { name: 'EU', xColumn: 4, yColumn: 5, rowCount: 1 },
+    ]);
+    expect(spec.seriesBy).toBe('Columns');
+  });
+
+  it('assembleExcel preserves bar-template roles when both axes are quantitative', () => {
+    const spec = assembleExcel({
+      data: { values: [{ X: 1, Value: 10 }, { X: 2, Value: 20 }] },
+      semantic_types: { X: 'Quantity', Value: 'Quantity' },
+      chart_spec: { chartType: 'Bar Chart', encodings: { x: 'X', y: 'Value' } },
+    }) as any;
+
+    expect(spec.kind).toBe('chart');
+    expect(spec.chartType).toBe('ColumnClustered');
+    expect(spec.data).toEqual([['X', 'Value'], ['1', 10], ['2', 20]]);
+  });
+
+  it('assembleExcel uses stacked charts for a colored Bar Chart', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Category: 'A', Value: 3, Segment: 'US' },
+        { Category: 'A', Value: 4, Segment: 'JP' },
+      ] },
+      semantic_types: { Category: 'Category', Value: 'Quantity', Segment: 'Category' },
+      chart_spec: { chartType: 'Bar Chart', encodings: { x: 'Category', y: 'Value', color: 'Segment' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('ColumnStacked');
+    expect(spec.data[0]).toEqual(['Category', 'US', 'JP']);
+  });
+
+  it('assembleExcel emits native histogram data without requiring a category', () => {
+    const spec = assembleExcel({
+      data: { values: [{ Value: 1 }, { Value: 2 }, { Value: 3 }] },
+      semantic_types: { Value: 'Quantity' },
+      chart_spec: { chartType: 'Histogram', encodings: { x: 'Value' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('ColumnClustered');
+    expect(spec.data[0]).toEqual(['Value', 'Count']);
+    expect(spec.data.slice(1).reduce((sum: number, row: any[]) => sum + row[1], 0)).toBe(3);
+    expect(spec.gapWidth).toBe(0);
+  });
+
+  it('assembleExcel emits a native delta Waterfall with connector lines', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Department: 'Engineering', Variance: 120 },
+        { Department: 'Sales', Variance: -45 },
+        { Department: 'Marketing', Variance: -80 },
+      ] },
+      semantic_types: { Department: 'Category', Variance: 'Quantity' },
+      chart_spec: {
+        chartType: 'Waterfall Chart',
+        encodings: { x: 'Department', y: 'Variance' },
+        chartProperties: { totals: 'first' },
+      },
+    }) as any;
+
+    expect(spec.kind).toBe('chart');
+    expect(spec.chartType).toBe('Waterfall');
+    expect(spec.data).toEqual([
+      ['Department', 'Variance'],
+      ['Engineering', 120],
+      ['Sales', -45],
+      ['Marketing', -80],
+    ]);
+    expect(spec.showConnectorLines).toBe(true);
+  });
+
+  it('assembleExcel normalizes native Radar series by each metric maximum', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Team: 'A', Metric: 'Speed', Value: 80 },
+        { Team: 'B', Metric: 'Speed', Value: 100 },
+        { Team: 'A', Metric: 'Cost', Value: 20 },
+        { Team: 'B', Metric: 'Cost', Value: 40 },
+        { Team: 'A', Metric: 'Quality', Value: 75 },
+        { Team: 'B', Metric: 'Quality', Value: 50 },
+      ] },
+      semantic_types: { Team: 'Category', Metric: 'Category', Value: 'Quantity' },
+      chart_spec: {
+        chartType: 'Radar Chart',
+        encodings: { x: 'Metric', y: 'Value', color: 'Team' },
+      },
+    }) as any;
+
+    expect(spec.chartType).toBe('RadarMarkers');
+    expect(spec.data).toEqual([
+      ['Metric', 'A', 'B'],
+      ['Speed (100)', 0.8, 1],
+      ['Cost (50)', 0.4, 0.8],
+      ['Quality (100)', 0.75, 0.5],
+    ]);
+    expect(spec.valueAxis).toEqual({ minimumScale: 0, maximumScale: 1, majorUnit: 0.25 });
+    expect(spec.legend).toEqual({ visible: true, position: 'Bottom' });
+    expect(spec.warnings).toEqual([expect.objectContaining({ code: 'excel-radar-fill-unsupported' })]);
+  });
+
+  it('assembleExcel maps unfilled Radar to native markers and rejects facets', () => {
+    const input = {
+      data: { values: [
+        { Metric: 'A', Value: 1, Region: 'North' },
+        { Metric: 'B', Value: 2, Region: 'North' },
+        { Metric: 'C', Value: 3, Region: 'North' },
+      ] },
+      semantic_types: { Metric: 'Category', Value: 'Quantity', Region: 'Category' },
+      chart_spec: {
+        chartType: 'Radar Chart',
+        encodings: { x: 'Metric', y: 'Value' },
+        chartProperties: { filled: false },
+      },
+    };
+    expect((assembleExcel(input) as any).chartType).toBe('RadarMarkers');
+
+    expect(() => assembleExcel({
+      ...input,
+      chart_spec: {
+        ...input.chart_spec,
+        encodings: { ...input.chart_spec.encodings, column: 'Region' },
+      },
+    } as any)).toThrow('does not support faceting');
+  });
+
+  it('assembleExcel rejects generic chart facets instead of collapsing panels', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Region: 'North', Category: 'A', Value: 10 },
+        { Region: 'South', Category: 'A', Value: 20 },
+      ] },
+      semantic_types: { Region: 'Category', Category: 'Category', Value: 'Quantity' },
+      chart_spec: {
+        chartType: 'Bar Chart',
+        encodings: { x: 'Category', y: 'Value', column: 'Region' },
+      },
+    })).toThrow('does not support faceting in one native Excel chart');
+  });
+
+  it('assembleExcel rejects Waterfalls requiring a non-initial total point', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Step: 'Opening', Value: 500, Type: 'start' },
+        { Step: 'Sales', Value: 200, Type: 'delta' },
+        { Step: 'Closing', Value: 700, Type: 'end' },
+      ] },
+      semantic_types: { Step: 'Category', Value: 'Quantity', Type: 'Category' },
+      chart_spec: {
+        chartType: 'Waterfall Chart',
+        encodings: { x: 'Step', y: 'Value', color: 'Type' },
+      },
+    })).toThrow('Office.js does not expose Waterfall total-point semantics');
+  });
+
+  it('assembleExcel preserves raw observations for native Boxplot quartiles', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Group: 'A', Value: 1 },
+        { Group: 'A', Value: 5 },
+        { Group: 'B', Value: 2 },
+        { Group: 'B', Value: 8 },
+      ] },
+      semantic_types: { Group: 'Category', Value: 'Quantity' },
+      chart_spec: { chartType: 'Boxplot', encodings: { x: 'Group', y: 'Value' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('BoxWhisker');
+    expect(spec.data).toEqual([
+      ['Group', 'Value'],
+      ['A', 1],
+      ['A', 5],
+      ['B', 2],
+      ['B', 8],
+    ]);
+    expect(spec.boxWhiskerOptions).toEqual({
+      quartileCalculation: 'Inclusive',
+      showInnerPoints: false,
+      showMeanLine: false,
+      showMeanMarker: false,
+      showOutlierPoints: true,
+    });
+  });
+
+  it('assembleExcel emits the native StockOHLC date-open-high-low-close range', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Date: '2026-01-02', Open: 100, High: 108, Low: 98, Close: 105 },
+        { Date: '2026-01-05', Open: 105, High: 110, Low: 101, Close: 103 },
+      ] },
+      semantic_types: { Date: 'Date', Open: 'Quantity', High: 'Quantity', Low: 'Quantity', Close: 'Quantity' },
+      chart_spec: {
+        chartType: 'Candlestick Chart',
+        encodings: { x: 'Date', open: 'Open', high: 'High', low: 'Low', close: 'Close' },
+      },
+    }) as any;
+
+    expect(spec.chartType).toBe('StockOHLC');
+    expect(spec.seriesBy).toBe('Columns');
+    expect(spec.data).toEqual([
+      ['Date', 'Open', 'High', 'Low', 'Close'],
+      [46024, 100, 108, 98, 105],
+      [46027, 105, 110, 101, 103],
+    ]);
+    expect(spec.categoryAxis.numberFormat).toBe('yyyy-mm-dd');
+    expect(spec.valueAxis).toEqual({
+      title: 'Price',
+      numberFormat: undefined,
+      minimumScale: 95,
+      maximumScale: 115,
+      majorUnit: 5,
+    });
+    expect(spec.legend).toEqual({ visible: false });
+  });
+
+  it('assembleExcel rejects invalid native Candlestick rows and unsupported encodings', () => {
+    const input = {
+      data: { values: [
+        { Date: '2026-01-02', Open: 100, High: 99, Low: 98, Close: 105, Ticker: 'A' },
+      ] },
+      semantic_types: {
+        Date: 'Date', Open: 'Quantity', High: 'Quantity', Low: 'Quantity', Close: 'Quantity', Ticker: 'Category',
+      },
+      chart_spec: {
+        chartType: 'Candlestick Chart',
+        encodings: { x: 'Date', open: 'Open', high: 'High', low: 'Low', close: 'Close' },
+      },
+    };
+
+    expect(() => assembleExcel(input)).toThrow('requires coherent OHLC values at row 1');
+    expect(() => assembleExcel({
+      ...input,
+      data: { values: [
+        { Date: '2026-01-05', Open: 100, High: 108, Low: 98, Close: 105, Ticker: 'A' },
+        { Date: '2026-01-02', Open: 105, High: 110, Low: 101, Close: 103, Ticker: 'A' },
+      ] },
+    })).toThrow('sorted in strictly increasing chronological order');
+    expect(() => assembleExcel({
+      ...input,
+      data: { values: [{ Date: '2026-01-02', Open: 100, High: 108, Low: 98, Close: 105, Ticker: 'A' }] },
+      chart_spec: {
+        ...input.chart_spec,
+        encodings: { ...input.chart_spec.encodings, color: 'Ticker' },
+      },
+    })).toThrow('does not support color, group, or detail encodings');
+    expect(() => assembleExcel({
+      ...input,
+      semantic_types: { ...input.semantic_types, Open: 'Category' },
+      data: { values: [{ Date: '2026-01-02', Open: 'start', High: 108, Low: 98, Close: 105, Ticker: 'A' }] },
+    })).toThrow('requires a quantitative open field');
+    expect(() => assembleExcel({
+      ...input,
+      data: { values: [{ Date: '2026-01-02', Open: 100, High: Number.POSITIVE_INFINITY, Low: 98, Close: 105, Ticker: 'A' }] },
+    })).toThrow('requires finite open, high, low, and close values');
+  });
+
+  it('assembleExcel accepts an explicitly ordered date-like Candlestick x field', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Session: '2026-01-02', Open: 100, High: 108, Low: 98, Close: 105 },
+        { Session: '2026-01-05', Open: 105, High: 110, Low: 101, Close: 103 },
+      ] },
+      semantic_types: { Session: 'Category', Open: 'Quantity', High: 'Quantity', Low: 'Quantity', Close: 'Quantity' },
+      chart_spec: {
+        chartType: 'Candlestick Chart',
+        encodings: {
+          x: { field: 'Session', type: 'ordinal' },
+          open: 'Open', high: 'High', low: 'Low', close: 'Close',
+        },
+      },
+    }) as any;
+
+    expect(spec.chartType).toBe('StockOHLC');
+    expect(spec.data.slice(1).map((row: any[]) => row[0])).toEqual([46024, 46027]);
+  });
+
+  it('assembleExcel thins dense Candlestick date labels without dropping OHLC rows', () => {
+    const values = Array.from({ length: 90 }, (_, index) => ({
+      Date: new Date(Date.UTC(2026, 0, index + 1)).toISOString().slice(0, 10),
+      Open: 100 + index,
+      High: 103 + index,
+      Low: 98 + index,
+      Close: 101 + index,
+    }));
+    const spec = assembleExcel({
+      data: { values },
+      semantic_types: { Date: 'Date', Open: 'Quantity', High: 'Quantity', Low: 'Quantity', Close: 'Quantity' },
+      chart_spec: {
+        chartType: 'Candlestick Chart',
+        encodings: { x: 'Date', open: 'Open', high: 'High', low: 'Low', close: 'Close' },
+        baseSize: { width: 640, height: 380 },
+      },
+    }) as any;
+
+    expect(spec.data).toHaveLength(91);
+    expect(spec.categoryAxis.tickLabelSpacing).toBe(3);
+  });
+
+  it('assembleExcel rejects color-grouped native Boxplots', () => {
+    expect(() => assembleExcel({
+      data: { values: [{ Group: 'A', Value: 1, Segment: 'X' }] },
+      semantic_types: { Group: 'Category', Value: 'Quantity', Segment: 'Category' },
+      chart_spec: { chartType: 'Boxplot', encodings: { x: 'Group', y: 'Value', color: 'Segment' } },
+    })).toThrow('does not yet support color-grouped');
+  });
+
+  it('assembleExcel rejects Boxplot min-max whiskers', () => {
+    expect(() => assembleExcel({
+      data: { values: [{ Group: 'A', Value: 1 }, { Group: 'A', Value: 2 }] },
+      semantic_types: { Group: 'Category', Value: 'Quantity' },
+      chart_spec: {
+        chartType: 'Boxplot',
+        encodings: { x: 'Group', y: 'Value' },
+        chartProperties: { whiskerMethod: 'minmax' },
+      },
+    })).toThrow('does not support min-max whiskers');
+  });
+
+  it('assembleExcel uses native numeric-x lines instead of row-index categories', () => {
+    const spec = assembleExcel({
+      data: { values: [{ X: 0, Value: 2 }, { X: 10, Value: 5 }] },
+      semantic_types: { X: 'Quantity', Value: 'Quantity' },
+      chart_spec: { chartType: 'Line Chart', encodings: { x: 'X', y: 'Value' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('XYScatterLines');
+    expect(spec.data).toEqual([['X', 'Value'], [0, 2], [10, 5]]);
+    expect(spec.categoryAxis).toMatchObject({ minimumScale: 0, maximumScale: 10.5, majorUnit: 2 });
+    expect(spec.valueAxis).toMatchObject({ minimumScale: 2, maximumScale: 5.3, majorUnit: 1 });
+  });
+
+  it('assembleExcel binds grouped numeric-x lines as explicit XY series', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { X: 1, Value: 10, Series: 'A' },
+        { X: 2, Value: 20, Series: 'A' },
+        { X: 1, Value: 30, Series: 'B' },
+      ] },
+      semantic_types: { X: 'Quantity', Value: 'Quantity', Series: 'Category' },
+      chart_spec: { chartType: 'Line Chart', encodings: { x: 'X', y: 'Value', color: 'Series' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('XYScatterLines');
+    expect(spec.series).toEqual([
+      { name: 'A', xColumn: 0, yColumn: 1, rowCount: 2 },
+      { name: 'B', xColumn: 2, yColumn: 3, rowCount: 1 },
+    ]);
+    expect(spec.data[0]).toEqual(['A X', 'A Value', 'B X', 'B Value']);
+  });
+
+  it('assembleExcel thins dense temporal labels without dropping data points', () => {
+    const values = Array.from({ length: 60 }, (_value, index) => ({
+      Date: new Date(Date.UTC(2026, 0, index + 1)).toISOString().slice(0, 10),
+      Value: index,
+    }));
+    const spec = assembleExcel({
+      data: { values },
+      semantic_types: { Date: 'Date', Value: 'Quantity' },
+      chart_spec: {
+        chartType: 'Area Chart',
+        encodings: { x: 'Date', y: 'Value' },
+        baseSize: { width: 550, height: 400 },
+      },
+    }) as any;
+
+    expect(spec.data).toHaveLength(values.length + 1);
+    expect(spec.categoryAxis.tickLabelSpacing).toBe(2);
+  });
+
+  it('assembleExcel emits grouped bubble series with explicit size ranges', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { X: 1, Y: 10, Size: 5, Segment: 'A' },
+        { X: 2, Y: 20, Size: 8, Segment: 'B' },
+      ] },
+      semantic_types: { X: 'Quantity', Y: 'Quantity', Size: 'Quantity', Segment: 'Category' },
+      chart_spec: { chartType: 'Scatter Plot', encodings: { x: 'X', y: 'Y', size: 'Size', color: 'Segment' } },
+    }) as any;
+
+    expect(spec.kind).toBe('chart');
+    expect(spec.chartType).toBe('Bubble');
+    expect(spec.series).toEqual([
+      { name: 'A', xColumn: 0, yColumn: 1, rowCount: 1, bubbleSizeColumn: 2 },
+      { name: 'B', xColumn: 3, yColumn: 4, rowCount: 1, bubbleSizeColumn: 5 },
+    ]);
+    expect(spec.data[0]).toEqual(['A X', 'A Y', 'A Size', 'B X', 'B Y', 'B Size']);
+    expect(spec.data[1].slice(0, 2)).toEqual([1, 10]);
+    expect(spec.data[1].slice(3, 5)).toEqual([2, 20]);
+    expect(spec.data[1][2]).toBeLessThan(spec.data[1][5]);
+  });
+
+  it('assembleExcel rejects categorical scatter positions instead of drawing worksheet shapes', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Category: 'A', Group: 'One', Size: 3 },
+        { Category: 'B', Group: 'Two', Size: 8 },
+      ] },
+      semantic_types: { Category: 'Category', Group: 'Category', Size: 'Quantity' },
+      chart_spec: { chartType: 'Scatter Plot', encodings: { x: 'Category', y: 'Group', size: 'Size' } },
+    })).toThrow('requires quantitative x and y fields');
+  });
+
+  it('assembleExcel rejects continuous-color scatter instead of dropping the color encoding', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { X: 1, Y: 10, Color: 0.2 },
+        { X: 2, Y: 20, Color: 0.8 },
+      ] },
+      semantic_types: { X: 'Quantity', Y: 'Quantity', Color: 'Quantity' },
+      chart_spec: { chartType: 'Scatter Plot', encodings: { x: 'X', y: 'Y', color: 'Color' } },
+    })).toThrow('does not support continuous color');
+  });
+
+  it('assembleExcel rejects categorical-y lines instead of drawing worksheet geometry', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { X: 0, Step: 'Stage 1' },
+        { X: 50, Step: 'Stage 2' },
+        { X: 100, Step: 'Stage 3' },
+      ] },
+      semantic_types: { X: 'Quantity', Step: 'Category' },
+      chart_spec: { chartType: 'Line Chart', encodings: { x: 'X', y: 'Step' } },
+    })).toThrow('requires a quantitative y field');
+  });
+
+  it('assembleExcel rejects continuous-color lines instead of overlaying worksheet shapes', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Stage: 'Stage 1', Value: 10, Color: 0 },
+        { Stage: 'Stage 2', Value: 20, Color: 5 },
+        { Stage: 'Stage 3', Value: 15, Color: 10 },
+      ] },
+      semantic_types: { Stage: 'Category', Value: 'Quantity', Color: 'Quantity' },
+      chart_spec: { chartType: 'Line Chart', encodings: { x: 'Stage', y: 'Value', color: 'Color' } },
+    })).toThrow('does not support continuous color');
+  });
+
+  it('assembleExcel maps ordinal bubble sizes to finite ordered areas', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { X: 1, Y: 10, Level: 'Low' },
+        { X: 2, Y: 20, Level: 'Medium' },
+        { X: 3, Y: 30, Level: 'High' },
+      ] },
+      semantic_types: { X: 'Quantity', Y: 'Quantity', Level: 'Rank' },
+      chart_spec: { chartType: 'Scatter Plot', encodings: { x: 'X', y: 'Y', size: 'Level' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('Bubble');
+    expect(spec.series).toEqual([
+      { name: 'Y', xColumn: 0, yColumn: 1, rowCount: 3, bubbleSizeColumn: 2 },
+    ]);
+    const sizes = spec.data.slice(1).map((row: any[]) => row[2]);
+    expect(sizes.every(Number.isFinite)).toBe(true);
+    expect(sizes[0]).toBeLessThan(sizes[1]);
+    expect(sizes[1]).toBeLessThan(sizes[2]);
+  });
+
+  it('assembleExcel stacks multi-series areas and anchors them at zero', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Date: '2026-01-01', Value: 2, Series: 'A' },
+        { Date: '2026-01-01', Value: 3, Series: 'B' },
+      ] },
+      semantic_types: { Date: 'Date', Value: 'Quantity', Series: 'Category' },
+      chart_spec: { chartType: 'Area Chart', encodings: { x: 'Date', y: 'Value', color: 'Series' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('AreaStacked');
+    expect(spec.valueAxis.minimumScale).toBe(0);
+  });
+
+  it('assembleExcel resamples quantitative-x areas onto a sparse-labeled numeric grid', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { X: 0, Value: 0 },
+        { X: 1, Value: 1 },
+        { X: 10, Value: 10 },
+      ] },
+      semantic_types: { X: 'Quantity', Value: 'Quantity' },
+      chart_spec: { chartType: 'Area Chart', encodings: { x: 'X', y: 'Value' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('Area');
+    expect(spec.data).toHaveLength(50);
+    expect(spec.data[1]).toEqual(['0', 0]);
+    expect(spec.data[2][0]).toBe('');
+    expect(spec.data[25]).toEqual(['5', 5]);
+    expect(spec.data[49]).toEqual(['10', 10]);
+  });
+
+  it('assembleExcel preserves semantic series and null gaps in sparse grouped bars', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Region: 'North', Sales: 10, Channel: 'Retail' },
+        { Region: 'North', Sales: 20, Channel: 'Online' },
+        { Region: 'South', Sales: 30, Channel: 'Online' },
+        { Region: 'South', Sales: 40, Channel: 'Direct' },
+      ] },
+      semantic_types: { Region: 'Category', Sales: 'Quantity', Channel: 'Category' },
+      chart_spec: { chartType: 'Grouped Bar Chart', encodings: { x: 'Region', y: 'Sales', group: 'Channel' } },
+    }) as any;
+
+    expect(spec.data).toEqual([
+      ['Region', 'Retail', 'Online', 'Direct'],
+      ['North', 10, 20, null],
+      ['South', null, 30, 40],
+    ]);
+    expect(spec.legend).toEqual({ visible: true, position: 'Bottom' });
+    expect(spec.gapWidth).toBe(180);
+    expect(spec.overlap).toBe(0);
+  });
+
+  it('assembleExcel keeps horizontal grouped bars compact', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Region: 'North', Sales: 10, Channel: 'Retail' },
+        { Region: 'North', Sales: 20, Channel: 'Online' },
+        { Region: 'South', Sales: 30, Channel: 'Direct' },
+      ] },
+      semantic_types: { Region: 'Category', Sales: 'Quantity', Channel: 'Category' },
+      chart_spec: { chartType: 'Grouped Bar Chart', encodings: { x: 'Sales', y: 'Region', group: 'Channel' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('BarClustered');
+    expect(spec.gapWidth).toBe(120);
+    expect(spec.overlap).toBe(0);
+  });
+
+  it('assembleExcel emits a symmetric two-group native pyramid', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Age: '0-17', Gender: 'Male', Population: 30 },
+        { Age: '0-17', Gender: 'Female', Population: 28 },
+        { Age: '18-34', Gender: 'Male', Population: 20 },
+        { Age: '18-34', Gender: 'Female', Population: 22 },
+        { Age: '18-34', Gender: 'Female', Population: 3 },
+        { Age: '35-49', Gender: 'Female', Population: 12 },
+      ] },
+      semantic_types: { Age: 'Category', Gender: 'Category', Population: 'Quantity' },
+      chart_spec: { chartType: 'Pyramid Chart', encodings: { y: 'Age', x: 'Population', color: 'Gender' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('BarStacked');
+    expect(spec.data).toEqual([
+      ['Age', 'Male', 'Female'],
+      ['0-17', -30, 28],
+      ['18-34', -20, 25],
+      ['35-49', null, 12],
+    ]);
+    expect(spec.valueAxis).toEqual({
+      title: 'Population',
+      numberFormat: '#,##0;#,##0;0',
+      minimumScale: -30,
+      maximumScale: 30,
+      majorUnit: 10,
+    });
+    expect(spec.seriesFormats).toEqual([{ color: '#4472C4' }, { color: '#C55A5A' }]);
+    expect(spec.overlap).toBe(100);
+  });
+
+  it('assembleExcel rejects pyramids without exactly two groups', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Age: '0-17', Gender: 'Female', Population: 28 },
+        { Age: '18-34', Gender: 'Female', Population: 22 },
+      ] },
+      semantic_types: { Age: 'Category', Gender: 'Category', Population: 'Quantity' },
+      chart_spec: { chartType: 'Pyramid Chart', encodings: { y: 'Age', x: 'Population', color: 'Gender' } },
+    })).toThrow('requires exactly two groups');
+  });
+
+  it('assembleExcel emits a sorted native funnel and aggregates duplicate stages', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Stage: 'Trial', Count: 20 },
+        { Stage: 'Visit', Count: 70 },
+        { Stage: 'Trial', Count: 10 },
+        { Stage: 'Signup', Count: 50 },
+      ] },
+      semantic_types: { Stage: 'Category', Count: 'Quantity' },
+      chart_spec: { chartType: 'Funnel Chart', encodings: { y: 'Stage', size: 'Count' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('Funnel');
+    expect(spec.data).toEqual([
+      ['Stage', 'Count'],
+      ['Visit', 70],
+      ['Signup', 50],
+      ['Trial', 30],
+    ]);
+    expect(spec.legend).toEqual({ visible: false });
+    expect(spec.dataLabels).toEqual({
+      visible: true,
+      numberFormat: undefined,
+      fontColor: '#FFFFFF',
+      fontSize: 11,
+    });
+    expect(spec.seriesFormats).toEqual([{ color: '#4472C4' }]);
+  });
+
+  it('assembleExcel rejects negative native funnel values', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Stage: 'Visit', Count: 70 },
+        { Stage: 'Refund', Count: -5 },
+      ] },
+      semantic_types: { Stage: 'Category', Count: 'Quantity' },
+      chart_spec: { chartType: 'Funnel Chart', encodings: { y: 'Stage', size: 'Count' } },
+    })).toThrow('requires non-negative values');
+  });
+
+  it('assembleExcel emits a two-level native treemap and aggregates duplicate leaves', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Region: 'Americas', Country: 'USA', Revenue: 20 },
+        { Region: 'Europe', Country: 'France', Revenue: 30 },
+        { Region: 'Americas', Country: 'USA', Revenue: 10 },
+        { Region: 'Americas', Country: 'Canada', Revenue: 15 },
+      ] },
+      semantic_types: { Region: 'Category', Country: 'Country', Revenue: 'Amount' },
+      chart_spec: { chartType: 'Treemap', encodings: { color: 'Region', detail: 'Country', size: 'Revenue' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('Treemap');
+    expect(spec.data).toEqual([
+      ['Region', 'Country', 'Revenue'],
+      ['Americas', 'USA', 30],
+      ['Europe', 'France', 30],
+      ['Americas', 'Canada', 15],
+    ]);
+    expect(spec.legend).toEqual({ visible: false });
+  });
+
+  it('assembleExcel rejects negative native treemap values', () => {
+    expect(() => assembleExcel({
+      data: { values: [{ Sector: 'Energy', Value: -10 }] },
+      semantic_types: { Sector: 'Category', Value: 'Quantity' },
+      chart_spec: { chartType: 'Treemap', encodings: { color: 'Sector', size: 'Value' } },
+    })).toThrow('requires non-negative values');
+  });
+
+  it('assembleExcel emits a two-level native sunburst and aggregates duplicate leaves', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Department: 'Engineering', Team: 'Frontend', Headcount: 20 },
+        { Department: 'Product', Team: 'Design', Headcount: 15 },
+        { Department: 'Engineering', Team: 'Frontend', Headcount: 10 },
+        { Department: 'Engineering', Team: 'Backend', Headcount: 25 },
+      ] },
+      semantic_types: { Department: 'Category', Team: 'Category', Headcount: 'Quantity' },
+      chart_spec: { chartType: 'Sunburst Chart', encodings: { color: 'Department', group: 'Team', size: 'Headcount' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('Sunburst');
+    expect(spec.data).toEqual([
+      ['Department', 'Team', 'Headcount'],
+      ['Engineering', 'Frontend', 30],
+      ['Product', 'Design', 15],
+      ['Engineering', 'Backend', 25],
+    ]);
+    expect(spec.legend).toEqual({ visible: false });
+  });
+
+  it('assembleExcel rejects a sunburst detail field without a group level', () => {
+    expect(() => assembleExcel({
+      data: { values: [{ Department: 'Engineering', Team: 'Frontend', Headcount: 20 }] },
+      semantic_types: { Department: 'Category', Team: 'Category', Headcount: 'Quantity' },
+      chart_spec: { chartType: 'Sunburst Chart', encodings: { color: 'Department', detail: 'Team', size: 'Headcount' } },
+    })).toThrow('requires a group field before detail');
+  });
+
+  it('assembleExcel emits connected scatter points in explicit path order', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Step: 3, X: 0, Y: 1 },
+        { Step: 1, X: 2, Y: 0 },
+        { Step: 4, X: 1, Y: 0 },
+        { Step: 2, X: 1, Y: 2 },
+      ] },
+      semantic_types: { Step: 'Quantity', X: 'Quantity', Y: 'Quantity' },
+      chart_spec: { chartType: 'Connected Scatter Plot', encodings: { x: 'X', y: 'Y', order: 'Step' } },
+    }) as any;
+
+    expect(spec.chartType).toBe('XYScatterLines');
+    expect(spec.data).toEqual([
+      ['X', 'Y'],
+      [2, 0],
+      [1, 2],
+      [0, 1],
+      [1, 0],
+    ]);
+  });
+
+  it('assembleExcel requires connected scatter order', () => {
+    expect(() => assembleExcel({
+      data: { values: [{ X: 1, Y: 2 }] },
+      semantic_types: { X: 'Quantity', Y: 'Quantity' },
+      chart_spec: { chartType: 'Connected Scatter Plot', encodings: { x: 'X', y: 'Y' } },
+    })).toThrow('requires an explicit order field');
+  });
+
+  it('assembleExcel keeps scatter axes close to the data extent', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { X: 0, Y: 0 },
+        { X: 100, Y: 100 },
+      ] },
+      semantic_types: { X: 'Quantity', Y: 'Quantity' },
+      chart_spec: { chartType: 'Scatter Plot', encodings: { x: 'X', y: 'Y' } },
+    }) as any;
+
+    expect(spec.categoryAxis).toMatchObject({ minimumScale: 0, maximumScale: 105, majorUnit: 20 });
+    expect(spec.valueAxis).toMatchObject({ minimumScale: 0, maximumScale: 105, majorUnit: 20 });
+  });
+
+  it('assembleExcel uses a sequential scale for ordered grouped-bar series', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Category: 'A', Value: 10, Rank: 1 },
+        { Category: 'A', Value: 20, Rank: 2 },
+        { Category: 'B', Value: 30, Rank: 1 },
+        { Category: 'B', Value: 40, Rank: 2 },
+      ] },
+      semantic_types: { Category: 'Category', Value: 'Quantity', Rank: 'Rank' },
+      chart_spec: { chartType: 'Grouped Bar Chart', encodings: { x: 'Category', y: 'Value', group: 'Rank' } },
+    }) as any;
+
+    expect(spec.seriesFormats.map((format: any) => format.color)).toEqual(['#d9e2f3', '#2f5597']);
+  });
+
+  it('assembleExcel rejects occupancy matrices instead of drawing worksheet heatmaps', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Category: 'A', Group: 'North', Segment: 'Sales' },
+        { Category: 'B', Group: 'South', Segment: 'Engineering' },
+      ] },
+      semantic_types: { Category: 'Category', Group: 'Category', Segment: 'Category' },
+      chart_spec: { chartType: 'Grouped Bar Chart', encodings: { x: 'Category', y: 'Group', group: 'Segment' } },
+    })).toThrow('requires one quantitative measure axis');
+  });
+
+  it('assembleExcel caps dense categorical bars in the default display order', () => {
+    const values = Array.from({ length: 96 }, (_value, index) => ({
+      Group: `Category ${index + 1}`,
+      Value: (index * 37) % 101,
+    }));
+    const input = {
+      data: { values },
+      semantic_types: { Group: 'Category', Value: 'Quantity' },
+      chart_spec: {
+        chartType: 'Bar Chart',
+        encodings: { x: 'Value', y: 'Group' },
+        baseSize: { width: 560, height: 360 },
+      },
+    } as const;
+
+    const excel = assembleExcel(input) as any;
+    const vegaLite = assembleVegaLite(input) as any;
+    const expectedOrder = vegaLite.encoding.y.scale.domain.filter((value: string) =>
+      !value.includes('items omitted'),
+    );
+
+    expect(excel.data.slice(1).map((row: any[]) => row[0])).toEqual(expectedOrder);
+    expect(expectedOrder).toEqual(values.slice(0, expectedOrder.length).map((row) => row.Group));
+    expect(excel.data.length).toBeLessThan(values.length + 1);
+    expect(excel.categoryAxis.labelFontSize).toBe(5);
+  });
+
+  it('assembleExcel caps dense bars using the selected value sort', () => {
+    const values = Array.from({ length: 96 }, (_value, index) => ({
+      Group: `Category ${index + 1}`,
+      Value: index,
+    }));
+    const input = {
+      data: { values },
+      semantic_types: { Group: 'Category', Value: 'Quantity' },
+      chart_spec: {
+        chartType: 'Bar Chart',
+        encodings: {
+          x: 'Value',
+          y: { field: 'Group', sortBy: 'x', sortOrder: 'descending' as const },
+        },
+        baseSize: { width: 560, height: 360 },
+      },
+    };
+
+    const excel = assembleExcel(input as any) as any;
+    const kept = excel.data.slice(1).map((row: any[]) => row[0]);
+
+    expect(kept).toEqual(values.slice(-kept.length).reverse().map((row) => row.Group));
+  });
+
+  it('assembleExcel interpolates sparse connected series', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Date: '2026-01-01', Value: 10, Series: 'A' },
+        { Date: '2026-01-02', Value: 20, Series: 'B' },
+        { Date: '2026-01-03', Value: 30, Series: 'A' },
+      ] },
+      semantic_types: { Date: 'Date', Value: 'Quantity', Series: 'Category' },
+      chart_spec: { chartType: 'Area Chart', encodings: { x: 'Date', y: 'Value', color: 'Series' } },
+    }) as any;
+
+    expect(spec.data).toEqual([
+      ['Date', 'A', 'B'],
+      ['2026-01-01', 10, null],
+      ['2026-01-02', 20, 20],
+      ['2026-01-03', 30, null],
+    ]);
+  });
+
+  it('assembleExcel rejects continuous-color lines as unsupported native charts', () => {
+    expect(() => assembleExcel({
+      data: { values: [
+        { Date: '2026-01-01', Value: 10, Color: 0.2 },
+        { Date: '2026-01-02', Value: 12, Color: 0.8 },
+      ] },
+      semantic_types: { Date: 'Date', Value: 'Quantity', Color: 'Quantity' },
+      chart_spec: { chartType: 'Line Chart', encodings: { x: 'Date', y: 'Value', color: 'Color' } },
+    })).toThrow('does not support continuous color');
+  });
+
+  it('assembleExcel preserves forecast handoffs as styled dash series', () => {
+    const spec = assembleExcel({
+      data: { values: [
+        { Date: '2026-01-01', Value: 10, Type: 'actual' },
+        { Date: '2026-01-02', Value: 12, Type: 'actual' },
+        { Date: '2026-01-02', Value: 12, Type: 'forecast' },
+        { Date: '2026-01-03', Value: 15, Type: 'forecast' },
+      ] },
+      semantic_types: { Date: 'Date', Value: 'Quantity', Type: 'Category' },
+      chart_spec: { chartType: 'Line Chart', encodings: { x: 'Date', y: 'Value', strokeDash: 'Type' } },
+    }) as any;
+
+    expect(spec.data).toEqual([
+      ['Date', 'actual', 'forecast'],
+      ['2026-01-01', 10, null],
+      ['2026-01-02', 12, 12],
+      ['2026-01-03', null, 15],
+    ]);
+    expect(spec.seriesFormats).toEqual([
+      { color: '#4472C4', lineStyle: 'Continuous' },
+      { color: '#4472C4', lineStyle: 'Dash' },
+    ]);
+  });
+
   it('line chart with quantitative color uses a line layer plus colored points', () => {
     const spec = assembleVegaLite({
       data: {
diff --git a/packages/flint-js/tsup.config.ts b/packages/flint-js/tsup.config.ts
index 860a3862..67d5f294 100644
--- a/packages/flint-js/tsup.config.ts
+++ b/packages/flint-js/tsup.config.ts
@@ -7,6 +7,7 @@ export default defineConfig({
     'vegalite/index': 'src/vegalite/index.ts',
     'echarts/index': 'src/echarts/index.ts',
     'chartjs/index': 'src/chartjs/index.ts',
+    'excel/index': 'src/excel/index.ts',
     'test-data/index': 'src/test-data/index.ts',
     'gallery/index': 'src/gallery/index.ts',
   },
diff --git a/packages/flint-py/flint/core/filter_overflow.py b/packages/flint-py/flint/core/filter_overflow.py
index 142a0f4a..5cb7e3b4 100644
--- a/packages/flint-py/flint/core/filter_overflow.py
+++ b/packages/flint-py/flint/core/filter_overflow.py
@@ -90,13 +90,13 @@ def is_discrete_type(t: Optional[str]) -> bool:
 
             warnings.append({
                 "severity": "warning", "code": "overflow",
-                "message": f"{omitted_count} of {len(unique_values)} values in '{field_name}' were omitted (showing top {len(values_to_keep)}).",
+                "message": f"{omitted_count} of {len(unique_values)} values in '{field_name}' were omitted (showing first {len(values_to_keep)} in sort order).",
                 "channel": channel, "field": field_name,
             })
 
             truncations.append({
                 "severity": "warning", "code": "overflow",
-                "message": f"{omitted_count} of {len(unique_values)} values in '{field_name}' were omitted (showing top {len(values_to_keep)}).",
+                "message": f"{omitted_count} of {len(unique_values)} values in '{field_name}' were omitted (showing first {len(values_to_keep)} in sort order).",
                 "channel": channel, "field": field_name,
                 "keptValues": values_to_keep, "omittedCount": omitted_count,
                 "placeholder": placeholder,
@@ -133,15 +133,13 @@ def _default_overflow_strategy(
     encodings = context["encodings"]
     all_mark_types = context["allMarkTypes"]
 
-    has_connected_mark = ("line" in all_mark_types) or ("area" in all_mark_types) or ("trail" in all_mark_types)
-
     encoding = encodings.get(channel) or {}
     sort_by = encoding.get("sortBy")
     sort_order = encoding.get("sortOrder")
 
     sort_field: Optional[str] = None
     sort_field_type: Optional[str] = None
-    is_descending = True
+    is_descending = False
 
     if sort_by:
         if sort_by in ("x", "y", "color"):
@@ -158,40 +156,7 @@ def _default_overflow_strategy(
             except Exception:
                 pass
             is_descending = sort_order == "descending"
-    else:
-        opposite_channel = "y" if channel == "x" else ("x" if channel == "y" else None)
-        color_cs = channel_semantics.get("color")
-        opposite_cs = channel_semantics.get(opposite_channel) if opposite_channel else None
-
-        mark_type = "rect" if "rect" in all_mark_types else None
-        if mark_type != "rect" and color_cs and color_cs.get("type") == "quantitative":
-            sort_field = color_cs.get("field")
-            sort_field_type = color_cs.get("type")
-        elif opposite_cs and opposite_cs.get("type") == "quantitative":
-            sort_field = opposite_cs.get("field")
-            sort_field_type = opposite_cs.get("type")
-        else:
-            is_descending = False
-
-    field_original_type = infer_vis_category([r.get(field_name) for r in data])
-    if field_original_type == "quantitative" or channel == "color":
-        # JS sort: a - b; if values are strings of numbers, JS still treats them
-        # as numbers via -; preserve that
-        def numeric_key(v: Any) -> float:
-            try:
-                return float(v)
-            except (TypeError, ValueError):
-                return float("nan")
-        return sorted(unique_values, key=numeric_key)[:max_to_keep]
-
-    if channel in ("column", "row"):
-        return unique_values[:max_to_keep]
-
-    if has_connected_mark:
-        return unique_values[:max_to_keep]
-
     if sort_field and sort_field_type == "quantitative":
-        # Bar charts: sum aggregate. Others: max.
         is_bar = ("bar" in all_mark_types) and (
             sort_field != (channel_semantics.get("color", {}) or {}).get("field")
         )
@@ -203,7 +168,6 @@ def numeric_key(v: Any) -> float:
             initial_value = float("-inf")
 
         value_aggregates: dict[Any, float] = {}
-        seen_first: dict[Any, bool] = {}
         for row in data:
             field_value = row.get(field_name)
             sort_value = row.get(sort_field) or 0
@@ -216,7 +180,31 @@ def numeric_key(v: Any) -> float:
         entries.sort(key=lambda e: -e[1] if is_descending else e[1])
         return [e[0] for e in entries[:max_to_keep]]
 
+    canonical_order = (channel_semantics.get(channel) or {}).get("ordinalSortOrder")
+    if not sort_by and not sort_order and canonical_order:
+        ordered = [value for value in canonical_order if value in unique_values]
+        ordered_set = set(ordered)
+        ordered.extend(value for value in unique_values if value not in ordered_set)
+        return ordered[:max_to_keep]
+
+    field_original_type = infer_vis_category([r.get(field_name) for r in data])
+    if field_original_type == "quantitative" or channel == "color":
+        # JS sort: a - b; if values are strings of numbers, JS still treats them
+        # as numbers via -; preserve that
+        def numeric_key(v: Any) -> float:
+            try:
+                return float(v)
+            except (TypeError, ValueError):
+                return float("nan")
+        return sorted(unique_values, key=numeric_key)[:max_to_keep]
+
+    if channel in ("column", "row"):
+        return unique_values[:max_to_keep]
+
     if sort_order == "descending":
-        return list(reversed(unique_values))[:max_to_keep]
+        return sorted(unique_values, key=_js_sort_key, reverse=True)[:max_to_keep]
+
+    if sort_order == "ascending":
+        return sorted(unique_values, key=_js_sort_key)[:max_to_keep]
 
     return unique_values[:max_to_keep]
diff --git a/packages/flint-py/tests/unit/test_filter_overflow.py b/packages/flint-py/tests/unit/test_filter_overflow.py
new file mode 100644
index 00000000..1469d5f4
--- /dev/null
+++ b/packages/flint-py/tests/unit/test_filter_overflow.py
@@ -0,0 +1,74 @@
+from __future__ import annotations
+
+from flint.core.filter_overflow import filter_overflow
+
+
+BUDGETS = {"maxValues": {"x": 3}}
+MARKS = {"bar"}
+
+
+def kept_categories(data, category_semantics, category_encoding):
+    result = filter_overflow(
+        {
+            "x": {
+                "field": "Category",
+                "semanticAnnotation": {"semanticType": "Category"},
+                **category_semantics,
+            },
+            "y": {
+                "field": "Value",
+                "type": "quantitative",
+                "semanticAnnotation": {"semanticType": "Quantity"},
+            },
+        },
+        {"axisFlags": {"x": {"banded": True}}},
+        {
+            "x": {"field": "Category", **category_encoding},
+            "y": {"field": "Value"},
+        },
+        data,
+        BUDGETS,
+        MARKS,
+    )
+    return result["truncations"][0]["keptValues"]
+
+
+def test_preserves_encounter_order_when_no_sort_is_selected():
+    data = [
+        {"Category": "Delta", "Value": 100},
+        {"Category": "Alpha", "Value": 1},
+        {"Category": "Charlie", "Value": 80},
+        {"Category": "Bravo", "Value": 50},
+    ]
+
+    assert kept_categories(data, {"type": "nominal"}, {}) == ["Delta", "Alpha", "Charlie"]
+
+
+def test_uses_canonical_semantic_order_when_available():
+    data = [
+        {"Category": "Mar", "Value": 100},
+        {"Category": "Jan", "Value": 1},
+        {"Category": "Apr", "Value": 80},
+        {"Category": "Feb", "Value": 50},
+    ]
+
+    assert kept_categories(
+        data,
+        {"type": "ordinal", "ordinalSortOrder": ["Jan", "Feb", "Mar", "Apr"]},
+        {},
+    ) == ["Jan", "Feb", "Mar"]
+
+
+def test_uses_selected_value_sort():
+    data = [
+        {"Category": "Delta", "Value": 100},
+        {"Category": "Alpha", "Value": 1},
+        {"Category": "Charlie", "Value": 80},
+        {"Category": "Bravo", "Value": 50},
+    ]
+
+    assert kept_categories(
+        data,
+        {"type": "nominal"},
+        {"sortBy": "y", "sortOrder": "descending"},
+    ) == ["Delta", "Charlie", "Bravo"]
diff --git a/site/src/components/GalleryOptionsBar.tsx b/site/src/components/GalleryOptionsBar.tsx
index 5d90a356..640a55e1 100644
--- a/site/src/components/GalleryOptionsBar.tsx
+++ b/site/src/components/GalleryOptionsBar.tsx
@@ -132,6 +132,7 @@ function ControlRow(props: {
       
          void;
   suffix?: string;
 }) {
+  const percent = max > min ? ((value - min) / (max - min)) * 100 : 0;
+
   return (
     
   );
diff --git a/site/src/components/gallery-options-bar.css b/site/src/components/gallery-options-bar.css
index ae8a7d7b..3844f8ad 100644
--- a/site/src/components/gallery-options-bar.css
+++ b/site/src/components/gallery-options-bar.css
@@ -161,56 +161,8 @@
   white-space: nowrap;
 }
 
-.gopt-bar input[type='range'] {
-  -webkit-appearance: none;
-  appearance: none;
+.gopt-bar .site-range {
   width: 60px;
-  min-width: 0;
-  height: 12px;
-  margin: 0;
-  background: transparent;
-  cursor: pointer;
-}
-
-.gopt-bar input[type='range']::-webkit-slider-runnable-track {
-  height: 3px;
-  border-radius: 999px;
-  background: linear-gradient(
-    to right,
-    #0078d4 0 var(--pct, 50%),
-    rgba(0, 0, 0, 0.16) var(--pct, 50%) 100%
-  );
-}
-
-.gopt-bar input[type='range']::-webkit-slider-thumb {
-  -webkit-appearance: none;
-  appearance: none;
-  width: 10px;
-  height: 10px;
-  margin-top: -3.5px;
-  border: none;
-  border-radius: 50%;
-  background: #0078d4;
-}
-
-.gopt-bar input[type='range']::-moz-range-track {
-  height: 3px;
-  border-radius: 999px;
-  background: rgba(0, 0, 0, 0.16);
-}
-
-.gopt-bar input[type='range']::-moz-range-progress {
-  height: 3px;
-  border-radius: 999px;
-  background: #0078d4;
-}
-
-.gopt-bar input[type='range']::-moz-range-thumb {
-  width: 10px;
-  height: 10px;
-  border: none;
-  border-radius: 50%;
-  background: #0078d4;
 }
 
 /* Discrete property dropdown, matching the chart-type selector menu. */
diff --git a/site/src/global.css b/site/src/global.css
index 304128af..c2bec6c0 100644
--- a/site/src/global.css
+++ b/site/src/global.css
@@ -22,6 +22,76 @@
   text-decoration-color: currentColor !important;
 }
 
+/* Shared site slider. The explicit class prevents embedded MCP App styles from
+   changing site controls when documentation examples load their stylesheet. */
+input[type='range'].site-range {
+  -webkit-appearance: none;
+  appearance: none;
+  width: 100%;
+  min-width: 0;
+  height: 12px;
+  margin: 0;
+  background: transparent;
+  cursor: pointer;
+}
+
+input[type='range'].site-range::-webkit-slider-runnable-track {
+  height: 3px;
+  border-radius: 999px;
+  background: linear-gradient(
+    to right,
+    #0078d4 0 var(--pct, 50%),
+    rgba(0, 0, 0, 0.16) var(--pct, 50%) 100%
+  );
+}
+
+input[type='range'].site-range::-webkit-slider-thumb {
+  -webkit-appearance: none;
+  appearance: none;
+  width: 10px;
+  height: 10px;
+  margin-top: -3.5px;
+  border: 0;
+  border-radius: 50%;
+  background: #0078d4;
+}
+
+input[type='range'].site-range::-moz-range-track {
+  height: 3px;
+  border-radius: 999px;
+  background: rgba(0, 0, 0, 0.16);
+}
+
+input[type='range'].site-range::-moz-range-progress {
+  height: 3px;
+  border-radius: 999px;
+  background: #0078d4;
+}
+
+input[type='range'].site-range::-moz-range-thumb {
+  width: 10px;
+  height: 10px;
+  border: 0;
+  border-radius: 50%;
+  background: #0078d4;
+}
+
+input[type='range'].site-range:focus-visible {
+  outline: 2px solid #0078d4;
+  outline-offset: 3px;
+}
+
+@media (forced-colors: active) {
+  input[type='range'].site-range::-webkit-slider-runnable-track {
+    background: CanvasText;
+  }
+
+  input[type='range'].site-range::-webkit-slider-thumb,
+  input[type='range'].site-range::-moz-range-thumb {
+    background: Highlight;
+  }
+}
+
 @media (max-width: 640px) {
   .site-nav-bar {
     gap: 14px !important;
diff --git a/test-harness/excel/.gitignore b/test-harness/excel/.gitignore
new file mode 100644
index 00000000..94ab8fe2
--- /dev/null
+++ b/test-harness/excel/.gitignore
@@ -0,0 +1,6 @@
+evaluations/out/
+node_modules/
+*.log
+
+# Excel lock/temp files
+~$*
diff --git a/test-harness/excel/README.md b/test-harness/excel/README.md
new file mode 100644
index 00000000..f1f026e5
--- /dev/null
+++ b/test-harness/excel/README.md
@@ -0,0 +1,99 @@
+# Flint Excel test harness
+
+This test harness provides an Office.js transport plugin for rendering and evaluating artifacts from the Excel backend in `packages/flint-js/src/excel`. It does not interpret chart artifacts.
+
+The ownership boundary is:
+
+- `flint-chart/excel`: compiles semantic Flint input, validates the versioned Excel artifact, executes it through Office.js, and generates standalone Office.js source.
+- `office-runner/`: builds and serves the backend bundle, transports jobs, and hosts the Office add-in worker.
+- `evaluations/`: generates semantic inputs, renders comparisons, and records visual evaluation results.
+
+```text
+test-harness/excel/
+├── office-runner/       HTTPS queue server and Office add-in
+├── evaluations/         evaluation scripts, inputs, ledger, and ignored output
+├── package.json         harness commands
+└── README.md
+```
+
+## Artifact flow
+
+```js
+import {
+  assembleExcel,
+  renderExcelChart,
+} from 'flint-chart/excel';
+
+const artifact = assembleExcel(input);
+const result = await renderExcelChart(Excel, artifact, { scale: 3 });
+```
+
+Serialized artifacts have `schema: "flint.excel.chart/v1"`, `kind: "chart"`, a native Office.js chart type, a matrix data range, and declarative formatting. Image scale, worksheet cleanup, and native inspection are host options and are not artifact fields. Legacy neutral aliases such as `"column"` and unversioned hand-authored specs are rejected.
+
+## Start the worker
+
+One-time setup:
+
+```bash
+npx office-addin-dev-certs install
+cp office-runner/officejs/manifest.xml ~/Library/Containers/com.microsoft.Excel/Data/Documents/wef/
+```
+
+Start the HTTPS transport from this directory:
+
+```bash
+npm run server
+```
+
+The server builds `packages/flint-js`, serves its Excel backend to the taskpane, and listens at `https://localhost:3000`. In Excel, open Home > Add-ins > My Add-ins > Flint Render once.
+
+Active evaluations compile semantic Flint inputs with `assembleExcel` and submit this envelope:
+
+```json
+{
+  "artifact": {
+    "schema": "flint.excel.chart/v1",
+    "kind": "chart",
+    "chartType": "ColumnClustered",
+    "seriesBy": "Columns",
+    "data": [["Quarter", "Sales"], ["Q1", 120], ["Q2", 205]]
+  },
+  "renderOptions": {
+    "scale": 3,
+    "cleanWorksheet": true,
+    "inspectNativeChart": false
+  }
+}
+```
+
+Run backend-owned headless validation with:
+
+```bash
+npm run test:mock
+```
+
+Generate or run visual evaluations with:
+
+```bash
+npm run evaluate:inputs
+npm run evaluate:gallery -- all
+npm run evaluate:sheets
+npm run evaluate:candlestick
+npm run evaluate:layout
+```
+
+Generated images and summaries are written under `evaluations/out/` and are ignored by Git.
+
+## Native Excel examples
+
+The [curated example gallery](evaluations/examples/README.md) contains tracked snapshots of native Excel charts captured from the real Office.js worker. Bulk evaluation output stays ignored; after reviewing regenerated output, refresh the selected snapshots with:
+
+```bash
+npm run evaluate:examples
+```
+
+## Worker safety
+
+Run only one worker server on port 3000. Render clients cancel abandoned jobs, the server expires queued jobs after two minutes, and the taskpane renders at most one job per polling interval.
+
+Native `Pareto` remains quarantined. Excel for Mac exits while creating it before Office.js can return a catchable error. The server, artifact validator, and taskpane guard reject Pareto before `Excel.run`.
diff --git a/test-harness/excel/evaluations/candlestick-audit.mjs b/test-harness/excel/evaluations/candlestick-audit.mjs
new file mode 100644
index 00000000..54e39684
--- /dev/null
+++ b/test-harness/excel/evaluations/candlestick-audit.mjs
@@ -0,0 +1,139 @@
+#!/usr/bin/env node
+// @ts-nocheck
+
+import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
+import { dirname, join } from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { createCanvas, loadImage } from '@napi-rs/canvas';
+import { renderChart } from 'flint-chart-mcp/render';
+import { assembleExcel } from 'flint-chart/excel';
+import { TEST_GENERATORS } from 'flint-chart/test-data';
+import { renderExcelArtifact } from './render-client.mjs';
+
+const here = dirname(fileURLToPath(import.meta.url));
+const root = join(here, '..', '..', '..');
+const outDir = join(here, 'out', 'candlestick-audit');
+const cases = [0, 1];
+
+function loadEnvFile() {
+  const envPath = join(root, '.env');
+  if (!existsSync(envPath)) return false;
+  for (const line of readFileSync(envPath, 'utf8').split(/\r?\n/)) {
+    const match = line.match(/^\s*([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)\s*$/);
+    if (!match || process.env[match[1]] !== undefined) continue;
+    process.env[match[1]] = match[2].replace(/^(['"])(.*)\1$/, '$2');
+  }
+  return true;
+}
+
+function toAssemblyInput(test) {
+  const idToName = new Map(test.fields.map((field) => [field.id, field.name]));
+  const encodings = {};
+  for (const [channel, encoding] of Object.entries(test.encodingMap || {})) {
+    if (encoding?.fieldID) encodings[channel] = idToName.get(encoding.fieldID) ?? encoding.fieldID;
+  }
+  return {
+    data: { values: test.data },
+    semantic_types: Object.fromEntries(Object.entries(test.metadata).map(([field, metadata]) => [field, metadata.semanticType])),
+    chart_spec: {
+      chartType: test.chartType,
+      encodings,
+      baseSize: { width: 640, height: 380 },
+    },
+  };
+}
+
+async function sideBySide(referenceBuffer, excelBuffer, outputPath) {
+  const [reference, excel] = await Promise.all([loadImage(referenceBuffer), loadImage(excelBuffer)]);
+  const labelHeight = 42;
+  const gap = 20;
+  const canvas = createCanvas(reference.width + excel.width + gap, Math.max(reference.height, excel.height) + labelHeight);
+  const context = canvas.getContext('2d');
+  context.fillStyle = '#ffffff';
+  context.fillRect(0, 0, canvas.width, canvas.height);
+  context.fillStyle = '#222222';
+  context.font = 'bold 20px sans-serif';
+  context.fillText('Canonical Vega-Lite', 12, 28);
+  context.fillText('Native Excel StockOHLC', reference.width + gap + 12, 28);
+  context.drawImage(reference, 0, labelHeight);
+  context.drawImage(excel, reference.width + gap, labelHeight);
+  writeFileSync(outputPath, canvas.toBuffer('image/png'));
+}
+
+async function reviewWithVlm(imagePaths) {
+  const envLoaded = loadEnvFile();
+  const azureEndpoint = process.env.AZURE_OPENAI_ENDPOINT;
+  const deployment = process.env.AZURE_OPENAI_DEPLOYMENT;
+  const apiKey = process.env.AZURE_OPENAI_API_KEY;
+  const directEndpoint = process.env.VLM_ENDPOINT;
+  const model = process.env.VLM_MODEL;
+  const directKey = process.env.VLM_API_KEY;
+  if (!envLoaded || (!directEndpoint && !(azureEndpoint && deployment)) || (!apiKey && !directKey)) {
+    return { status: 'SKIP', reason: 'No configured VLM endpoint and credential were found in workspace .env.' };
+  }
+
+  const endpoint = directEndpoint ?? `${azureEndpoint.replace(/\/$/, '')}/openai/deployments/${deployment}/chat/completions?api-version=${process.env.AZURE_OPENAI_API_VERSION ?? '2024-10-21'}`;
+  const content = [{
+    type: 'text',
+    text: 'Review these side-by-side candlestick charts. Check for blank or clipped marks, incorrect OHLC encoding, broken date or price axes, unreadable labels, misleading geometry, overlap, and whether native Excel preserves the canonical financial reading. Return concise JSON with status PASS or FAIL, findings, and per-image notes.',
+  }];
+  for (const imagePath of imagePaths) {
+    content.push({ type: 'image_url', image_url: { url: `data:image/png;base64,${readFileSync(imagePath).toString('base64')}` } });
+  }
+  const response = await fetch(endpoint, {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json',
+      ...(apiKey ? { 'api-key': apiKey } : { Authorization: `Bearer ${directKey}` }),
+    },
+    body: JSON.stringify({ model, messages: [{ role: 'user', content }], max_tokens: 1200 }),
+  });
+  if (!response.ok) return { status: 'FAIL', reason: `VLM request failed with HTTP ${response.status}.` };
+  const payload = await response.json();
+  return { status: 'COMPLETE', review: payload.choices?.[0]?.message?.content ?? '' };
+}
+
+mkdirSync(outDir, { recursive: true });
+const fixtures = TEST_GENERATORS['Candlestick Chart']();
+const results = [];
+const comparisons = [];
+
+for (const fixtureIndex of cases) {
+  const fixture = fixtures[fixtureIndex];
+  const name = fixtureIndex === 0 ? 'basic-30-day' : 'advanced-90-day-dense';
+  const referencePath = join(outDir, `${name}.vl.png`);
+  const excelPath = join(outDir, `${name}.excel.png`);
+  const comparisonPath = join(outDir, `${name}.comparison.png`);
+  const result = { name, title: fixture.title, status: 'FAIL' };
+  try {
+    const input = toAssemblyInput(fixture);
+    const reference = await renderChart(input, 'vegalite', { format: 'png', scale: 3 });
+    writeFileSync(referencePath, reference.buffer);
+    const spec = assembleExcel(input);
+    spec.width = Math.max(640, Math.min(1600, Math.round(reference.width || 640)));
+    spec.height = Math.max(380, Math.min(900, Math.round(reference.height || 380)));
+    const excel = await renderExcelArtifact(spec);
+    writeFileSync(excelPath, excel);
+    await sideBySide(reference.buffer, excel, comparisonPath);
+    Object.assign(result, {
+      status: 'RENDERED',
+      chartType: spec.chartType,
+      range: `A1:E${spec.data.length}`,
+      reference: referencePath,
+      excel: excelPath,
+      comparison: comparisonPath,
+    });
+    comparisons.push(comparisonPath);
+  } catch (error) {
+    result.error = String(error.message || error);
+  }
+  results.push(result);
+}
+
+const vlm = comparisons.length === cases.length
+  ? await reviewWithVlm(comparisons)
+  : { status: 'SKIP', reason: 'VLM review skipped because not all real-Excel cases rendered.' };
+const summary = { generatedAt: new Date().toISOString(), cases: results, vlm };
+writeFileSync(join(outDir, 'summary.json'), `${JSON.stringify(summary, null, 2)}\n`);
+console.log(JSON.stringify(summary, null, 2));
+process.exit(results.some((result) => result.status === 'FAIL') || vlm.status === 'FAIL' ? 1 : 0);
\ No newline at end of file
diff --git a/test-harness/excel/evaluations/examples/README.md b/test-harness/excel/evaluations/examples/README.md
new file mode 100644
index 00000000..3d9708a8
--- /dev/null
+++ b/test-harness/excel/evaluations/examples/README.md
@@ -0,0 +1,45 @@
+# Native Excel chart examples
+
+These are committed snapshots from the real Excel for Mac Office.js worker. Every image is a native Excel chart captured with `Chart.getImage()` from a versioned `flint.excel.chart/v1` artifact. The bulk evaluation output remains ignored under `evaluations/out/`.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Funnel
Excel.ChartType.funnel · semantic input
Native Excel funnel chart
Population pyramid
Excel.ChartType.barStacked · semantic input
Native Excel population pyramid
Grouped bar
Excel.ChartType.columnClustered · semantic input
Native Excel grouped bar chart
Multi-series line
Excel.ChartType.xYScatterLines · semantic input
Native Excel multi-series line chart
Stacked area
Excel.ChartType.areaStacked · semantic input
Native Excel stacked area chart
Radar
Excel.ChartType.radarMarkers · semantic input
Native Excel radar chart
Treemap
Excel.ChartType.treemap · semantic input
Native Excel treemap
Sunburst
Excel.ChartType.sunburst · semantic input
Native Excel sunburst chart
Candlestick
Excel.ChartType.stockOHLC · semantic input
Native Excel candlestick chart
+ +## Refresh snapshots + +With the Office runner and Excel task pane open, regenerate the selected cases and then copy the verified outputs into this tracked directory: + +```bash +npm run evaluate:gallery -- funnel-chart 1 +npm run evaluate:gallery -- pyramid-chart 1 +npm run evaluate:gallery -- grouped-bar-chart 15 +npm run evaluate:gallery -- line-chart 15 +npm run evaluate:gallery -- area-chart 2 +npm run evaluate:gallery -- radar-chart 6 +npm run evaluate:gallery -- treemap 2 +npm run evaluate:gallery -- sunburst-chart 3 +npm run evaluate:candlestick +npm run evaluate:examples +``` + +Review the images before committing refreshed snapshots. Native Excel rendering can vary slightly across Excel versions and platforms. diff --git a/test-harness/excel/evaluations/examples/candlestick.png b/test-harness/excel/evaluations/examples/candlestick.png new file mode 100644 index 0000000000000000000000000000000000000000..f6122948b3f788d1589315d704d55fac02634773 GIT binary patch literal 259096 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

$XfH*!v@3cYh6L91KF&Ugy@H$k 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 literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/funnel.png b/test-harness/excel/evaluations/examples/funnel.png new file mode 100644 index 0000000000000000000000000000000000000000..ed3974100361f9c2932a65d550c9a8f4167c732b GIT binary patch literal 122236 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 literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/grouped-bar.png b/test-harness/excel/evaluations/examples/grouped-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..6a5269ec13a616d6e4190809c028aecb69de3ae8 GIT binary patch literal 137107 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%0ACs2d&|dwilmZ7Cx&Q$EnG@zPHB6d9lP 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μdbV^D1ciA|9W?|=nF(ILl9gAgc~t(7u`U(c*yL}ER zCRqinKnk(tYv^uhSXIvA0zFDJ%#HPp>TSC3f>!_3!-dGc)#J$7a>zR7(aKrTR1M2F zM3ve}ukqJJG2hl@wh(feRiP35BUZC&bGY+U^P1nG?($q8kY;u>deG~B(bD7P1qOdK z7GU)YKGkn=%A_+x)NqcBXni7ag1vD|=0(nN0BtpI=L43&hfcF%A1%J$rDkuet^z9L zY94vjLWTC^?wikQFY2VJ-NyldDhH=H1S%xO-Uqc?RkNJOax(=a&bX|(6Qa0BCG8(= zAJ=JXE?j25R-=*xbYN#GLvAvU>{{NMY`UbLJO^hgyD^nFUwVJIL!!aqP?Q#!?8z+^|r@1W(Mq`Zi{iVA5u`rVVjdecX`(zMP)-x zCOQ)dn_s?WhC6g@lBOkCDA!#SW9uAk_wyo#h!?~*rB>(_;lDHalpz@1-Er9ZIl5 zz|_D=BKWOvj0&#sRO=JI98HEiIzcgrRkNW z5`gfwu=@R|yjrgl#}6gbZ6UGi+#|V|&;cg-!IwI;y!cseqrD?x$vsK&qJJ@bCiw=< zi>M8REeB)(i3oroCK`5|u?2mM*{j<$E$rZ^@Bu-R-!y%UqtH}L;a+ImhUFvW8}PC? zr3o#ygd_i3xmf(_u=+BKkjkC#X#37nN~vTYTqF(@Wq3~izE6+Q!L3TDS3YWinCv^1 z*IVKzXgqB+Kh`0^(_-w%U+1C03XYIw?pJO#pA+=3>tXi4$$pE@Vei}!qj~;?N7a?% zFXsAFL}_pN7_^3#%_ii)L14ib{5aJ9j3{$bR0oesUq(%uGxFiQYJ}0uwuiOHKC*wfR%PRCRdsk$xeE8)Dl(CY zlOEq%*$4BEhM+$t;vECZheal_1*MOI?V^VlnHrv*Qm8)qVc3s&rYclBrN4hs_gpsy zH}pz2J+_`TTFZd$r*aI^hRz=(Y+~EPB0l1TcT(B!2>6=7Nmw%SPW)<$BfigN?tQlQ zwd{pPKvl6F9Ujw+L_U0!&BTKj89?8sEgzkyH<(J&s7+{({Mh5p>&%jSeVNBeQobQh zMP8d&kZ`gTtKIVFX+r8_G>&ItL}%E9bXiMOT331)q^#W-o)PW;J=hxQ)Z?9pEcg8HFnx~c>w+J+%Teu8|cMBseAQS&G5*_a&*Y$50A5hc4kkfolS2!SG z;cGOfaiiYKE;bAUpGtHqciis|o;D|AohmLxvI{n8XJQcM)n*uZ1Jfg0Mc)OTpYp22 z&=Nn!3P0DJ;-)-2W0JaXHEGi^dzJGT-dTz!jq>--(8t^Cb)@JaS+yZ+1W0v+)@$;_&Qb&cz8m#Wi?F7=^ zP3vz?E}I|3zdrWo7u=^9#k*f-lx=ya|MBCIO%Z!YmlT!ZU&HQ^s=~>~qhxho}vhu+EA1mfOGCP4DVo7y9d^{rtRsy|m41{MSy~6o-E8v`sNk{8xDV zdDHyLY5&SE|M=opPWw5V|GyU^HN$n_GB6=*^7kq`&kAD7YhI4`VpJY(A;4^kZ$Izu e=T9r}yUK#>vnFky9oPZ?yCNZbG2^_>o&N(#PtOAY literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/multi-series-line.png b/test-harness/excel/evaluations/examples/multi-series-line.png new file mode 100644 index 0000000000000000000000000000000000000000..a615c45d417fd68e7d94f0ddf8654ae01218d30d GIT binary patch literal 185835 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 aBPxAdwxZ8WCFKwBPg+9ZcG@ldr~eOJuJk1U literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/pyramid.png b/test-harness/excel/evaluations/examples/pyramid.png new file mode 100644 index 0000000000000000000000000000000000000000..65094aa59629b42f9d292bc77e95627e6e8def3d GIT binary patch literal 149610 zcmeFac{tR4`v#0uN}CduERmFLq9kPLE>uF2eHn!$dyIW%Qnv~r*~%WFEF(L^7?LGB zW8atT#=ea)GwxBi)RYhIKeeBZ zj_%;?TQ~31(J>d$(d~K5vwCb9y|$!d{MYyBgRjtkx4>`k?0

#tb$j()u=eQDmc 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 `aU>qqk{mDo2F6UG8rm{`p_(_c+yy; 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 Bzl{I@ literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/radar.png b/test-harness/excel/evaluations/examples/radar.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8484257c53b622f5973a5e58f51d24c1b3aa58 GIT binary patch literal 222993 zcmeFZXH-<{)-{NTikLtNDgr7ZP-F=bBq#_<4poFA2}l+Z$yroXK)|CGNs=H16iG4? zO$7=PBxe*va?ZKe_MY2q;d$Th{^`-9$GGPV1)*x!v!AfmoO8{!1JqR&4p1GZA|oR^ zaP^9uCK(xJ9vRuL2Fl&=6L~HFX!x?jQB&a(S!Ugd5%|Y_bKR>JDk@|s_@0t%*N($v zJCT>b|71IklkNKTJsFwe4#xlcd(9mjf4_#DjO?K`8O7hP!NOPMzbo(u-u?I2o$)*V zpDV_b|NGUHdGR~{{r#>6&&;k&JBL5#-MfvZ&~zWMndASLH6E-FA%k z?1?Zmf5SJ;hkJ7W$^F9~``G5g?$BD(hzfDuy|pXr7I(Y)lbs1}ar;K!?KXIOPvI5A zUtAn_-F}=byVv;Y)uod!cV9YimBX*5B-6IUB_{H^MSW~!-_ixgMQq=y_F6{SlKb_o zIiC%@a^$Q@BPI1onLA`V$SMA}Z}J|=Y|+0t7=H2p_)56i$sIeqs1$5~uzTw}@O>h812b zFJ3_NA54jmp-gD5zIQ)wGGXD(@zjEOJ?_#f?pNe$iwp8KAd}g{q_E3_T z<4>pIz&!_!KbL=e^sg`@kCD9oKrTF6xIvEW+EVj7`_dWt;<3z<#(jLHPYSwk*W`UZ z`{LE+#)f_rw%)O~)O}>KWQw;d4}O!Ra=s@oJ*zOYdDXz~^}F5HNjUA%1|I3@w>wAj z+lbFi0M}TSb6w63IVSz)Y86X!x!EA#GTxrIvDlSNStEBX zLo%aPOu{2>LM&8(G>6BZr&_kuESpI!W+#C%DO_c7qBm_4}-oxWby`!?`y56g{6 z+p#bE-po`oDw%|>7afvbzZE6v=~6z5lS$rNx;|So5?--xUOV8uQe&)YR{1#fjh%yd zoY(AUrx_wcvRSC4NRMlucaS5;+IDa-L9PBWiRsFNzv0o}WAv+|esrrUH90n_eA=Jy zm7z;VlHkD(>#9doTsV^#DcrfOSlj%u6AO6rKu;r|mBB9O{r4#I6uxaN^{H7#JIH&i zO%$d*m?~T9wI0hT%p9Hi5+XVkX&D=NRy8_8YHOw5_2)~bpl#TZgOW0jmY?OHxnK*jbPfekH zwMTx(P;V0`$II6yoqa#Xp0_s&v|)#hl8F`idU4MON9O;?CXsb!ko4s8cv^E%mr2SF8{6VYrneC0!#4d?KQzBr8b=YomsD&`SFTBc%~p{rp_d$^GYr{sKt ztaS}fVR~ol5sA}9hyB8q$7&~9bc|JK2ob`z+8(fja!<+%rrn*l=qi|;crz5MG!*N3 zv*q>0d%Kg&Ld4DzhjJ3_kYk|4`{sIWPpht3Fs*NweTBEkW!-4cpI;))%~*fjUTD$T zm-jqX_Y^5-h+#e1&?puXa)}fS6DW2cVvd%Yi>!auX5`7!0&+lRiB&(bH1%c zoSxSpg7?jjr%nUG=fg0gkNEvt7s#hd=Tyb#z6ffSY8SAEh$i%CnPDcodKa?Is_;it zMNct#j%VxbO6d0qm0Z--u4TisZ09h3bw`GooP#CmKm4^V(j@OY;W7Nu`qPtBn5tk- zmAqDlN2n9YaXua*Eh-t-me{R>9-DMVx8CjQn3u-6o^$B`nAfB#fpKyDy!z=c)+RW^ z26OHC~HOy08 z9j5#BwRd-&V3*-Ae0nY&=1ua9cIXq@*jQ;_ACdCrnXi}7MeWz_9SAh!%pCj79;cjD zI;-eXv2)MCFL)=cU4Bbrlx=2Y<>O;oBISu(4n3h#t5ze+jze`SvJVf|;-3eOB=)be zxc~U;hDS;Wv!_GV!><#CeX$l_BK|_c#C#>A{i~#KBk_`~Y~53z>^^tP?Z$c9_&s6-!FzGY)uCndP&P<|XWjEQOL^ zSVYJO%;MEti&_-p5iZ}guD+ad%Gnc64HrASD{m`c(NzHhRqi$_X3to-?y`J0zM;gE zkH*3cYEihf8vAba<5l%HKd@{**<7xY)>g5fTc4{Bzk8)(t!JvSV!fu~6(k?NmZ(*Z z$?Qf^-dk@5!;~0r7MVQETtJcpJqK#i>BnCRcqZ5G?Dm$C8a3$+r{d-QptKMP(~pmw z=D#W=Q;G`b64y>$Lf2oIQ|_>4V2jpvA>-OUuQ(aUEgj#M5oeMZO6FI7iW(=3(oY;c zzS17ifA-Q|jnu?4p2Ywg&KcKkhpMF7^L?ddB`#w{DIBxCo>NH?Mn55h+sj z`RXXQfx{Pps#iO9?tVUT7~_%fv^YhRq_i*f%M z+2NVswvz_6^7DK}$MaEs;@r;~8r8J@d2&f-g16tM&P0X*->WBsb|p7p7%uIjsZDW(O&A*T*fT z(-c=B$XePc)lVIW2Px#LP zYhL5oRW`ewGC|!zB4biYuSOP;R!zWJ)tph}hVCj%$_tSmrzTpQ)6cq?7f6`nEgnul zJxgIeViNKftAaMOMRuE+N6a!;K@lFXqr|?@j|D|rZpP?>h)bwRUx;wLU9^5-Tv??# z>3p${%7*!XQg91x`tHl$AEt>ApKBX-n0jQSoYCqi=yB=F1BiuoIqxiqzfHISz=1HH zqe_~DD7o=>WNJ*wJ7Y+9L>?RU#o%gAMbo$g=eu8j&n)b|trTeO9B3D59(I*I&g*uE z6PN6R{h#mdr?Ds+&#BS8zawyB%6H3CWI|b4`dJ}QLHlW*3rFwL-EZ)2=t)AsoJn+7A@+0;`HQw%h1 zsQ?5N6HpC@n+D`KQr!+YM5i=1#>yxuuL(MjHn%6Gt3>d>yiq2o)9+QWQfp5*_-2%l zhUbIBh}o!}blY4RN>e=+r}XER^IP4zk?L4KU_}}&;?<~>J21#o9iTJR&DqWN%W;s<$k={UtTev#MiQa zQW-K~3*q(=j0#FWW0W0dX1eiJfknkc=f+riuIeZu@QjAWaC&YXLEQ2}kiGYqzBK?E z4kN{;Z~zr`QB4>gSY(w7diHHex(w0s3Z+e!6iBvC&splGRyqIBl-n8|QY)X;@P0eT z7*vB5PvBbQPIuEZ^$6L_+}m30vNsm~0e~uP)Rq`R>F71(*{8&nk*C>H6T}%RwK)^2 zW9K`F(;=+RhQPKucUd=~{d7cjhs6uJ5<=K{NYp~WHF7pZ)iO{_=J)6w*zn4$mFLU9 z^79`yJKd~l>ybnmk1h!H9yh}oa`qnLE1kZC@ikWvOlDmDcJELlvYZ6#*wY{9^0T~o zf{zK}XJ?~|nWy5E_{#ErikYqQ{p0!$rvJnGwozUHOl@8LoKtv;{XG|ro7*?PJvpQF zIIZ18)vZ~+t*0tUT61Ju!;e{J2C6npogY*3?>{b-^7Up%0k-8d9Qm%FK0T7xh8te$ zMX-@`+2u#@Cg1Li0WR9ylcC+thVQpl3mWk~O|5k!t9;ewLxYOL4TZ2nVn3dU$SOIM zCWT>9b^!A^@y}2Nlp2_Vh=Z1ZoYOq&EAwO#v_ClA=uzs5V3S6V^4Ac*29YTBPnpO`o+6MuNyjLl|omB;(UEDpSbH7rihEmea)D*pGDjDb0L6=`BwI^a+2U0 zUqdko>q+Yy)YxCOvTUoS-#mf|1Nubx&_+0{C7kj?BFxxlr8$;g$-pAR`tIrLnm`UZ zZ80xwcKH%^dpB#;8Gx_|8aAO~_w2w!= z=dVqcWZ5Y9W&@b{8DvCCfXMt*5k@Vi{O~j>NL`>vK-I8I%>?kKj%v8qnS6MFaY@4B zObNRe;zKkN$nk<-;5Fj1c@C13wR!d@GU-lX+=`{A7kIGI z7YA6+utG)8t^4Hki6a=%em=aCJ0!8j^_4j#Ujcb8h7@5tbqco5CIp2Fr)$gLZPbs5 zhhc3})2kI{(D~#%*^=Z(5ia9k6(~~!nHAg0z=a@^Kq_7$J;vA+`zq5$0QVJO-=I^c zbuuRAG$G|NFbe0vd07m5Mw5WkaKpG@Dd5GnV=rHjCOPWi{ZP`VQ+L`=LNUj=&ij2X_lkagoLg24IiTe6+EYj~Of=o{o`7*%;rm4zb=c05Au!i-#? zwRv91-gMaUoP_6c%k1_|c$FIE0rzHG-;FWjCc*j(S_NWv8ITaDXY86GhYO1kNogP5 zg{=%_iK_!OC-2tx_l?tT(!}NJY7XD6wZ0lWdmvN4cV7!nEYZkw0=Ef}3llR6F+ync`7T{7J(yj+lAb!K~QhU zb8%^`)uNLu(UIl$r&FBonfcew=0 znjyPt@r+%T%4XVrv_+tf(|P6`Nur{l;V~eHh2-okT^&susgs!cf@eW> zsb}9N(&@ZHgolKsxU_q_4=CDZAOc4uxJL(-B?otWeIe&6nn_ZC)UvCOs4*H+E)Yy)df56?AY0;p}>SI2g+li z#X?uV((PDpjV-*%J z!zi!P>ffhy>9Q*{)#!ZiK!V4*Hk0=S(o7SG(LT1G;`}eZO)4jySt^Z&rPTmlEe~m^i;BCbAV&%M%-)7lT zYxl8jVaLZW;y4?@6kTxj+1Vt7GUZ6<`+^8(ql%&R3;b|M`T~>p{8vuAVk(_Qs=G`K zo8PT2IG{>n6NX0tf{Sl14|GM_5X!2?(j6eWIAp*&Om}$A)z*k8#18>p;#qJWa*|C7 zTDCfcSLlRj8EBX^7=c2eX#ODGQ*@9=%IaHVNTRb$5ama-2+r>Nd;gJ_519$$b**tg z#%Q&^qYF}WzornB2HnO6$>)C7DkVqXR$Lum+0re4`L46!rEC-Isi+Bt9YNYQQx#i2 zwd&|ZDjtW8d~$6K0Sq$+j%lbCw?fl@QS2`JXTB!wh99umycSYdPh*k)VWO`Wlt^Vi2{Fu$ei&JpJKN z$?UX>^kTj5=G=U{StzcKvHr)Mod>T7l+{LyIW|K0h}sPzx)e}4A)DqD+KV9vMB3wp z=+vyM==C0b)5;LJ{o@n1C#k$vq>Gye)GS0VOezOWn!jYqEmT`u${Hd-QqZc^OW&={ zk(9&`MdT>83=P3HQ>=i^o)dVP=*>+cRzegnlLb)fdO^XJwCK*mO)Xum;2bJ3S(G@A zN>+~4EQrl&rpil)oxSpt*FAXTF{~#HMX>f8Ix;oDBOV9u33f zbJv|gpiPzr<<}Y#R!Z?rCQ>|gN2Z>he^9;N$0swEBoBE!dJC$Fj&qU*&5yxwh9RF~8C;3264 z6FVd&p+ia(C9hnY$ZyMZ&&OR1I!fEL4^yCHfwZJ&J=&bg`TkT!V`lLvfwpNYuVoU7D+EqA(>M^fMLMk#g}j!h zbDFy0sE#0qa4cw)JD;%h{D4hkwa?l_xJa+t03nw+CxJ+x=*Vq!AGSN|wd$9>bKE_9 zN#aG`>$j-1^rsK@AA5>Qo(YhtLFkCfpoZkDoDERClxW@`mGp2L#5b-^`7D(nkk$sn z=c)2~QQWFW+I^473A~S4(~Z5d+CtXy)~7Qj-u-@_A)2 zW4N}iiGTmJs&NRXbDh-M`25C{uXIM~Y_)JGixzu~=j0nqS3ee5Rt;ej%LIy}GL3cs z8M@cVcVodTd%m-$=>U%RN1}g3@tCdg8g{kLwfq@m{QQ3WcrHjp>!+DOGUPe(ma|0W z52flMWIl0ai#;R>{$zuL-?D(uczgE9Oce`X7v%BJ=4078fTwj9$^a#E`n;ANO-Ur6 zioQe%b8T!cRj2`7HE!{ln0PcT2dPP{=WD&sVy@GtQxC7d3@c5jdPKw82)U`#b2#iM zgI`R*5q3O)*wpU}_stUvkP@2YVms>u$RC`SP8ojfKlY38!JS*WWOhs9lLI;ZAQk6C zVa$JVM#}!YLSmjQQATOdhvr8BwHjBx+Z56A8*mmAguhku^4yhbGjLQ1ROH>JOr30) z+g1FtqIBMi!Icz&QivN~gI$+Om3LvO+tGTm`;B>1MLMXPoOq5XNJbsP7iK;l8381q z1eH0x<3d*I^r%QNM+*@<)sDB9bpx!;6OLEe74~QsxS}VP2l;&UT9;PpeWmt2eD1t> z2M49p6gW5!z^e`PKDGZZeXmQ+MBG}qNpcAW5)JF!n`=|` zYE9F^HJzQ+1lIlaWRyyoUL#CUUGvRz{!*S@i1n8{wiU2%kZP=cM$?+kble21q&el zap~9VNG)cECPAS}@&$Gfz=UExDp3v>tRm8JW&-k)_51sKS28($runp4t*3;uAUlmb z7OeYp>4ZZarDN$rtG@YArgQq@;vhr&*O?Wc6%D_>oG)(9xg zfSxwZc^&Ibm#mlGg00GGDb!`p79`!}!%5_b3-77Q+Y@v9Y)SSBR6J~{KB8sSBp1-y zoM$c_qR~DEf&53%-UcRVjtj`4kfqOBep6UmehdD0M z8Md5Wr}fo1bvD+M!u>QYoo@_{XutrobF+r|_vE5*zz0%xAVnBD>xXPRW|Y(^Tu;>M zdz`nL@sp``+m@9=97Wy2k#IPu)xi%m0G$cirv1)&ms_4z%haUn<%)Ym91O1iz{S*= zy7L|&Rfg_ks8$i$D3Z>;HT4TVDC zulPgT%<@2}&O|OKyxI#3&qE+TpGUCI=xx__lZOPU?GT5|&te~Xiy_9s*l&&m6(fMB zSp6E%n-uX?*xWCGZN4FFdN64W4no;CrLz>|YRtmI{g9%ieY{2SqnbK~&MkSM8|f^J zZJ%CBA^mIDa@B^t{+JRAsvE^4cuxFo55Qtd$uUs#Tm7u&^YkD9)I5Noudo;c(_4>A z;Am)3Ttm2K<7PHLfMFqs#5v{KhLIw6*eIkV3~?-{4PYdzer9Peu=%u{8gbJ7c~T}` zADouO{ykT>t(l+2-p9vIfN06$6#2^UvPZ31m1i=CifQUVqSyJ2^G<$^MUO{N2 z2f(XFI2}3aN*y6A8T*g&pY&cxGp@aR4%dZs*iiFb)hY&G2BQ%a=`z9)$o|0W#x|uE zoNG#e-t-#lWJ$9ErPGVIKo-Nm>l(uhWjuoIqs?Vo`?0nx<5h5x#ENuWf3`T;I6I(i zVY=z zxLGpM2si%hG+CoQ7M%>9lIiasJZpH~9NNC|7{D7bfA`@q{r1>dunQ@aAG|RARtRd& zPW6&YuRcFxPfpcJ#zVa{ce3tR@z5gDys^k(pb?Qsc-ok{-!p0(doKuC)k^XpIpP{yyU}rES6$#cF~~1*aC?>*)D%h!Km#HP`xW8%&0U;nB#0UO?-4 zP`6M%ji(KKt+0NXQhxiTD5*8!DW6 zi8#`Nj!=P<0ifv2rF9tNqF+*n(4J-jfENb*o?DZ4TEREakdDGkJZn>eO5wTvit9z!v%IkjNtx&kaW<9uGa zbS7sVBTsDKYm*Pv1xp1uw?h>ms56ykApWRRvJafxDte1#z4mY$6!EW(FIBFMO?pNF zHVLeEEFD6^@ML*3KE@YJH63fHau#4WgZP-X0FrPJKSYV%YRijtoXC7ma!8A>TmuS+ zFc;;mjlQiIgoH#{9uqK?>jaM0h-hX=!63?P_4W{?$tEFSxsSiS-FZlP&xuvoV^=grrq?YixwLJBfyutOk9~ors6<-JDmy3 zA>}YZx!E9DD;;51RR&G;W?Q+yFd}L}K|rY~Sxs$js9w#iDnw-_))-tznqGWPuXw7n zPg^a5A}9*=gkSa9D~O)d1SwPEHr9+J8^<3)@}=Lyar)nX+(6@pXlrW@0$H0H_I;2a z1p!B4MmlY?RE*a;+Zw?`HF{v;*#-^SCw&L8sh~DfUxzoM_}<$NUhAUWz1k=AFUWf? zO<51nFE9tGN>0Q|%z48LfsQi9^y-YoeA3=aze`enRDKAljR8iNlzPL|QMn`stfR?l zUj0Y(gu@VqM5Lv04`R`&7ae%4ng67;kIPS+7Lj|fCjNAt>x_aH%3MZ1O&5h-J4|mwdODa`=^ANNkwN+^6&F6NIOX^0+}``puJ zEW*KXCN_Y+&u~UkJB_$xN}&|UL%<^?sg0RXUvB5Z1xeZ#!&wolhWPnfd!Jldi_dF^ zz^OjJRIw#F7g!GBOol~#l3-{)!tp>s5qfcxL&{d;qQwDB`K&@e?)QY^Z3MfszG4^I z?@0M%QUyp_=KI0aZQS9Ji1S|RDWtUuaBxVc%tMODBka;ES5rr8K!k|`Qkqr#5V2|I zu!xw+th+I39VOcK_A3l7e;4$L&TMgkkTTyh^j?ud)pQhB3Wi6Ajx`D6dSj$9U>=g-^)wn) zv4O{eidvs&`+PNKPWL8T#=2X00Qa2hQOcruzFMtQ{#1piIhwAkd!kJgJ>${2dSSiI zcS9$z{$gH)$1tM&gmG=v_Zw)7yHpc2q^ks8S!x%F5~K+h9w){w}OEtJRi5 z9x=2Dd9Ti6U*yVQyOk2})b)33)jp#aXBB-~2&8-6)YAO;uG~7h4@siD6qb%Mi|BjdPj4E#NKQVtgrHp*`~P7yqghhlS9xGU@eM=b7 zLh}=CgmerXE@M8OCba)B2`hRK5n>DanlK+b>gLBazO88V!N8@)P~Y`|bd>5~f$o%Y zo2Zee^dW%)qp>fx9*B9OVr#7;8L_xji`B8TV11_VvAnvK-j^;jOWemj&+NS3ppEJ+!P0gh~PG}^Sy3c7Uhih~sNE1%|u!GKtI))~2gXG%K!|5<; zWw;ob^6fR?v+GUhk4`7R7;jg=LpW#PSSzfz>v7`_6#c9s*;l3({)EOW%5$1G95SJW zCcRl0YMSE;gHU@snZ`jaeb?CSyMIT1*<76jC&6(&YiprGalmu+5{3KisfdGYKI)+? z@64j`NDX;w&3DT_Ff{@J#7K2&-hOM*-n_7zsXl$2T-)=a{aIf*5uHU`GWY7^Q4N|J zFb$&Ofy%Z*0KZAQ9M^6W(=x$Ox~d@hzAX13e#2-%!ijCt!yla2+u$TQbe~*&9#T;4 zjTET38_t=$zt6o)(}YG~{)@%amw0hJ_z#aJzCr~UEs~_9?EX~8>{pc?{F$1{5>E@4 zcep@JRd3<$aL|axX%2N;#bB>EQB~#eTnMQ{hUQr`?*mwB6A=}BWvj=O&hozh?%SRKo%e;`NAd6!qf@M>@I zK;+=iWMG?HC=t!K(ky}0PXZfS-ums#Rpg?X4WO^zdc+!HHRnw|m6~$$u$K0q9Tar+ z^5ZTv%s^S&d@8L!bi?rb@ge)MxhKYE8Eu(G_=pETyZSa=^vt8DLs4uqy)b*nz%oE% z6?8{E&y88YTWiLV`BbF7eVOo!M(#?v2)^DAL>o;*2Q`Px(!sb$-O#1?pa8zGAAQ=^ z%`NSg`1*=hNFquZZ5lvN=NOnF7>Z+Yoge;+^!PX#|^eWr)ON z1V%q#A%**J)2 z%9I}&+Wb~P_i708a)Xa{9=gEKg7ugPvD6lKXWU0~25B)nz8M4MbBw|YVu0CbU|~dn z0b(WM{)kSmJNz<;vLdeq>9Tt6uV?B-u{YtcayCX)sktN5A#>4-Ij{}=rn{q!)+CJb z30<;#prd@tlj&OhvU+{=jp{DIQbzQU?-3xEes)|K_wQ!`oYOiXxM}L~(sXRx6U8hM zHXs;QNGa^>OwCL9N~@nSmFv+pH#O_!Y01nbZBa^}oDn4RY8%A6B;!v%we$CsG4J44 z&B6_Jf|Y|oa{kXvxtIk}dOzs65uX6ThM6XoWAheElkX3n&HPQIH887n-9cPL{^&_m z1(Lt(E9sXwC)Pv#m;Wj`nv>eiJf`9Q>Z{O6fwL$oxuYkuxR0EA2u)SIA`8Rx-(RI1 z|4S!jWiDNThyZN_H3Wg8{@%MP?vQ@3^g1)(S%2wL9-)P37VICi{A@}^u*T7`W(Pz89Jy45Y>-1 z+Ysw@%*|7eZh?ykx2tB|By46^V{^h|HP{-D^LPZo(F*RVu^wi@xQ?`HblsS&RnpCc}_ zex>KD_8YaC2paXzZDyz^P!b7elJY67Po@mG^C?XKrd}s=lhF_9c==E9+RkBKw*($( zrQdmCUvE56HC|`spr+At%AQC#>u#*(6>RMUb*i$)q&|l#rje4qjhiApsxuFl8}9`A zYx`Kxg=1awdp)lMzWU4WjyKX} zI!t>kVZ|Np`DYg6J(3?+Uv*DgaQ6hT4J>dBX&x%*jm24XYYDujc~_Kq6LIE@(9V?6 z#m&g`;Js_~%`YPp;}hb>i5d!2b%`5d`%3L zQ|JUVtt(RM_GS5<2>Ib>>}qwDAA$aj$OSeXxa|DEbm30_p=LxcFy5REuc^~A;C#Sy zd>1xwEzeTyLc(2TwC|(Ah=Z(|YPDcFxV{>vMVNdqUbJ3b2 zMRkhVPv!O_Mmb45Q}s@sLsHAv#KCNoC}E2ucr=4r9}quN8DKa3t&(Sjw#v=kk~B?Pq2Iuh=-B&z(&$-s=c^tGY_% zu8T949XxjK4C2Z)J<26rxjZv4_TbvAz=SuC4>N1S;h!`=tS+}{m*7p~lV&AS$~J3@ zlKYo*1<84E-*L-6>Em3hwD-_NGNs3<-S!S4mZR^~2X!REjq4N`-ty)Cbo<|gYx@`EDDUlX@wJ6z8kjU0RMCNFG`)o3w46D(F7&!D2&e|nW{se zV|Y1QW0N!$jxeBNj>oJ5ys^uBlV=BlPt7GBLCZR2@Ys141K7+R6E}&TM&wj8rF6U9RGSPGP#_#?Q&9 zw2R%Z(~d2nFDSrd5eYgDb2PfC>%Dvlv^)K9YucH7b=iSK+^Tl8EzUx}$7Jf0)KIJJ z-Sd0E86F^~;SP8$e_ttq*euRuNA#W@pbMqh5gy@U1qOXRS7kxkiw|L97;n73h|*4e z5jEMY)QO@Wyi zE-J*S(B%_V#^z*+8C72&d!n>Mt?l2YXN=vT2X_@YELv9 z^q#>+t8yI5`8Y4@&ULeXE#bIgZvx>RIAp`JTsmx(v$giqoq$GD;Sbz~E;}YJ+!_om zpJ8?OgtorVUC;_TM-(wmysLUYBt(2Pgkd*wgD6PFW z=i>NcW`M?fdqDTB(pXTj`UQCk>}>15rX&7J(cr1F?$?r8$SJcd)IE?S*;dG5h8V4K zdYEAhISc*OP&U=fR#YD>$BhL!ruVxC(P95F5QAP?W;q%1dwf=B;|ElmQ@-p_UY2qD z#$fjB0PRjL0XwDp^099H0XH1cFH`dS&ed=~3)H$T=Y~(yr|_5+x&G;i(9P~5FXz9E zyR`gYN}2^SsIPyQTs4b&Re)7y$LwcmNo#Cqb@-PIsg3nD$MJ|&neTvtMlcDD1+ z?7%9X2b4kol$`!?PF{mBfrlNP*Sv)&EJ)`mBIqLRmzvqt)j$-Z`?IuzSOVMhEMsnH zq4nQ@!ltGC{V>lZ)&-xB+z)t7j0y#rx5dkF$g3Zq~VPoV*!@iiwWKe577K29a+zP=u z(Zrt)369_1`qr7AxcJy~tjRx1zb;!<7u;nt;LR;wpLshzt(1qH1x%+_tihz2XErzT4hfTG&ETPvk zZRJ~1i?U1y(?JOpLHd+eCc=yo#TyJ=doWmIvtVJ(43sKDn6EpixO1)k@FwjyiML0( zXljQhGfB7IH0VPjh&Q9z7b^dFXyq*VnaAY#^UGC4T?v#?>NQo2+FFs`vMk5WIRj7T zT|gjD(xB-=nC6f)y$dLxnr#Sf&}L)pqoy;y2{C&fu#vehO@m%@0aUQVT!Lkkq$D*{ z=Mw$Fs4KoPs#Ae-Nvc+_0-up$S7MHG#_Ow|mCp}qX7huxhR%zG)_-x}x?1M`{_PVB zZN_R_LtE={w0=RQziLQxwdd<~l(IA&&P=jxB8XVXwl%%6!0Xgx^3g`lUWLb;MmmDA zdOn7R3*sPd=CG`?emp$2WHn>NC2j-{dN6Q6;qvxea|Un?;iBJ5wh!C%XmJW zq5eb^wBD#a|I)v9lJJu@xgmhM2WbHq_dLy_yWdLASf@`*;LJIA*1`I@;(1|%*`*uN z9KE(g8?=VW@E5^)ZpRL&2H6;C0o+%m?#rFotk?HCzm4Udq}W`kPj&lU_`3rSM0mt` zy&O6K@km%sLUGJwEr1r$OH0SuuTV)T_OYTr^oi^`Wn^JWt3$Jf0#3#DFMF8cfckv3CHV_!XqjSY#3Dd{&cMxsG&+YQ_7>ukVpaNnkLMzJjwTT1)C5}8 zrG&qLb1)(y@RG7Ot+bTFr$pV$iM=L4TI84Ge?*vtTov&D0=)v!vkl6gmCX`9^HAA} ztHYYBtqP7(I!_v3o zoEookqWnJ!KeW65@U+k~owfj!;4f{*bFp*WQrl%#M0<0hZ!;skSh?)GhRQHFe(K*- z(`bIy*QHH6cG;K0Aff-VmsCQdT&eLAkY%rMLfi6q^zCX+y`vULzXBqU(ck*a_4ebz zY+v)FKy4?xeA`t-89_MUa~;Ds69rv4sSo=jiLN^6PXW_9y$Q#a%rU8%<;nd*7Br}U zA){z4PesAHF!_BNZLR{hdfG1NYF?nFvzaaUcRd6i)*#*ml?g5M?Lc}hCZgpj@*6W7 zOnq6zQ5~d=W}=q{fv$g<#^Q5@+G%v8uXL+;p%e*@7}f_I;XUSFqW}Akg=ilIQul2x z7S?Pg`K&h_m3FB#&JcmR1UF?1Q?*WLSb_R8N$H{1T1__29&< zw>xk>dj7!{KJ*0MczFdbsWHmX7?06Zy(etEVuZbPTvUUFG&`Pv2F`nc`GV+FwNc4x zY`^0XlY;d%?z^`U)YTzOtJ4cQI`=$!JT2c~|C?q4CEZld@?;>DuzMQj)Y(h=ec;in zM!5_Q%(Wrh@;E~6qAr%Kmu`=td-pF78#lzz7M|EL!)`O%AU4oI-yUg?`C;z#zqVc* za~{F5A#NdVnZqqIon5C-YDCks6L!m`BxwXuSHew)V+0;i9mV^luazGB3cA3PFxil z^cvTAP}<{w@P%Ci;#vW-t$Hp1c7lq56`{Ozfj4TI+*6v4e@OC~OSVbIiql|YP!exDlA_Vw@d z2iiKcPHr;F`i-HAc3X$3&V76^mQ52n=u#MZ?A#^6el^lyeSUdxQyCz)>EDdtOE(;O-(GA zUaD})T&LzFx6I3u+V=-TF3f(?e9eV&$jGidPL$O@`@4nRPm1Ho7VDG6EuE)QkA9Hq z2`A0BG^KsUA6IBwX|$XnKOT(d9Q`u(nB_&uIsT@|w&PWS-&EF}wS(?lrr@Dx|I##W z*{ZkH`*=W(?bWjWa|BkqsRXSZn+)^}B%mD(-IJcD^a}z6zU&cz4KqQs?Mhn1Kf zV8$cBU_Xn4?Y>P25dQ3r*53*o;P$NF2S{$Ekc^CE{D?N|H%Z+N>`1X`yc@zxkHg-c z+jXE+ob0*v;Xub5gR_B4#UHWdRoghbx3>cVNQqr z$dL{psPl&Ba3LVC5jt8LcTT-$bH%-FPSt9H5`QDK{x*U4v3OL7$F&=td~tyX6ndhQ zEaXMIH)D<$e`n4o8@$P9DsYK=^PKtwZ(00tFC;Vh3n}^Cm0`Amro#v|90=cU6%SE9}M=- zuXU<`-Mu8eQ|EvB;NRy*of^E4*L43d3jf2s4*S4bO#1H5{2!+D_shz}pFG*1`S$gH z^nBM1Sc{&m{RTV!`F==-B6ATY?T*P`|HJhE{@VC8Xn88$I##sJ1NV>9;&&G&ZO4cI z7dEh;pTGGZ`^@hqT?Dke79%Dw+hMR-M~OO^9*3vl6dFBy_PavJXWxvlyP~kYpaFhtIp|_s0yy+ards;GuEe-XIZuWQ0PpzpQ^CZSw5P-476W z0(i1{@)S&HM=>4g2f?z#W0~M6pO4Kg*|y(#xcI?#k_R@Cq$V|K$zaCwndVtd{(lZc zNbT)&+1gx}v)iuyjfET@xHslPuEN+`63a~dZU;ix2eeo~8p&bnG!lc%BJB)1` z(OXlvLvH%G7}8A!bALvi>*LctUuKKXZLG~t_vk066|sfSC~l7?R){&wj+J%WEci+B zHgJ48ECh~I9u+a#Q(>kxZ39P<#=`xY<6@X%=7sd953#c-o|Piq z`g=TI!$a!}JxMY+GOT%Lh@0h`2XAd{A53bLBC|~Dna|0zC~dRU6I!;Cl?-VG%~S;+ zecX#KzfKBEAmyikG58R*h?qPXyM20<;{^%XdEw{Yqh`WkOl@9UzlOx#{j|ny`;b-> zU~-JTMkh(DEtF8)l)o63Qh6AInQg1XSKmXq7bR)GW~+;Qs6RUsOmCi*!+l`Bt_;iw7jLi^#WRJxm=@9`MYz1E8!D9a|y0BbRHJG*HLRv0Gf>kUx1gmFpv9{ap6FiUK-iB;h20%Y0RSpvM zkiPk(ZwhLxHTO_6Q4e(km!9k~oV}$aRW4fj=gCOk8*w`&SyG^Fd(YZ+^59F{0w?cs z(@Z|%SF*PyQY&S6*2wa#*k%ZZ2fh~SgX)VsfD4*?6{*R`^g9@Lx-uxJVb5XK=Aa`WAAY|n=Hr?Xc zK9K62$5w3FKEtCIas$r@;6k){sCid}WZfSniJ}e_f3&@irO*!)Cm~?dTkR!B+{6gy zwzk-x7!*+m%s#vGgiO_xj6v=;aaRZ1F$M}+2Q>Pq@Ua1Y%Kl->0rHTsPmh!$w~YJk?f<$O^*$l0>lz~T=8W0arH2LIP;jeX*4k$}!#KTz zk6^ao&GeII+qGoK{BBZFH#Dl)E&7v;2f5&1GKnYYG1qio)|ILMJubbsL8CNRewarn zkdEnpxsD8R7v*)%`h9P6UR&8*M!O%ZGj?zi<&YdvT(Hy%!ZkdwG^cWLU z@ZGbGqMs_C;v0L+sj%5^=_QO?$>Tl~M>`yq|KY||_ri^F>J=8odkq#BI$00L&Hf))Nax$_C;UJrA$}UMZ*@UEwW9L}M zdak?g@Ao{>_xJqKAHBTX?)!6H*Jr#xpX>ep^!<_Ej(S8{qn+U2uaij2hE0#Ev}ZbC zeDI-UWWTK(J25fA$#flVLzs%-D{L$-*Ym@$_(}Ii=kaBHpgr_UM8qM`wd^sTs2Lx zxq~|R^)kI(9O=E+e{B-A*I@ggY>W90TbY{;Nuvb6bw5fTk2b)2o(2XV=&Ii1wIlcE zyF@Ac*MlPD!E!O{X`v3i2(|@AT&%Sf4z}i1FrQSsNb=2+Q^$Xb$zMF^{v-f<&%XZ+ueZVnF;spQfrtr&Lb?;y{2@jeMO z4RlW_)%Fj~tVM z`1n1+wDqC%zSQbpZ?DEe1k=xX@aBrfVWS5G=qV^FrkMnYP!$)w&MwS51tZh9p&d;1 z=B{tVxujCspZaTSw?Loe(MicCe|RSd0&CMMGzXC(3jOHd1zCf=uJZkeD3il>MwS7; znBBiMWqs%zb6@P@j6e-{?T>*@Y{Q`fj6P<8oF@U zW{I@cv>#JPJxCFqh-gse2rJHR`a3MzUpsGj`>D)?e!!M@(wQ)iZ?UOQc-}hpdtn95S~|k6o^} zjkrctp+|@I#Sxe{7x*IMBvHoDgFjMpA%dZE_QS2?a5gBGxkZ-MgXtENS58)r9rl#gd{(cE|lmk2PZVw+{0Zv+ke#ZYg zX`FT7OMl8LmeL&D7TE7F^E=s_uA9fl?{C@#A zpi%qaD(0{?pAg5xi)T`+p`#W^PXROdZ&(vW%%o=H^t_FOJq~{r4QDX)UgFfHu!HY) z#Q!=LO+(&5wsKXDEx`|-x5FPh)e~}4uLlA}aCZcRlmxaI8 zb4Ao?CpQP?@fijE^;Mqdz-DmzI>dAEX~;kj&@?8ZI#XU;t%vD6q`^471YhJzpFogk zJ9o$f`XR00q}H=}0tScN2a*k8P5U|3p10+UX^;B_OBy8h4h)f%nhh`7Ox*IL?<*qI zQvHjG0KJ#K#AM4~pZs=-09v9L{stPO?1-q=&&CUHH8lyZ4v6ySq1! zTrPlYUbA@veC}cA|%*e)&@pDg9(lbKMzPNIf<&y5&N-6(>NCFlP>mZt^% zkMro{xhpq8gDXUmB2**?9XvJ!%05@}+%{g)eJ(bgs8*ItlyWm-E4*-uE(S;XJ0JZL zVqsTgqtEhJdf253P5Pgwn1J@9;M;w;ZY_DhrT^bF z^=E^z@2C0lb@8?8pAPw*Eu=5~sLhHjd~D_TMAtem9opG`$RYUWE{%2JYuks;Gmebr zv&M@c4vF)H_nK47EAr;~H4&wCiRDZmjuF6#)E04wE<-KF#EzyfQO6%WVB~Es$p`ewP7anQFf4Rk^=eA5t+iT{}Cn3=~ zmbwMjb|!q{$!obowabhcQ4lk(LRi7;K>YL%0ST8z(J7-34GwNuDL>dR;ng%AH=)R8 zq&59{WeOXe#;x2|TK_7Nu)HveD_XI_a*~Iv@agy<9G!5H2h4m@sVl%J)8*u_Q7{z6 zJW z#0oF?&oH@Kt0$MmPpzjR!IPY&5X)ElV|}EmN*NApsM8ODLpZk2{NV9Hv(AEwu$Yqx zQ%pHniYJjjN^;X=l|_uQcjc~NAMG*`4{*X4N|m7$A@Gp*^f!XS-<)v$-XTMRlGW_Q z@dh$&e4u)9!x%V&6MVRjqU28JnV9wbrO*bX=a~mz5Rn8OZ~}M;Y4E-mZ+-s2?i3UU zM~tH5-H+=aNAQJ1_2ws#f)){Wy*`#QANWKhb{xdN*}s=ohL-I~I<+dJN*HmFW!U3X z;T-D(TH==T-%847c0HY)MI4i+)|&2KyL9|;;c0jhga@Ur`C|wEP*y4^ezc|Lm>&rH z-w>v<*9n|HG4s^V!c=`ZBt#|u((l~Za&5sQB-`S2-GgGkoZ+RE|8|dvT&ue`Ku;|ZmUa9j_kNWUSvqc2bf54I}qYK6D^~4Jz8s@M0DYH}FIY%mT0>l(@#~Yv$zle{+ zQry<5Yqs=YJotbk{*@rC^rlZ7KlHkuFyf-#DAO%AGW*&)LxZL&r?gsSRZ3f8Ye5)zE~ObeZYU=@pjLpJy31tw=rmWn@EA2}OT)Q)MC{29LJ>3?D*mLg;?cyD>SKo!QV)>aHuESP zv^LfZMrPJMx-P16rk39vmzoju63Zrd9oF(%Ls?MC!S#hoZfvN7oBB&Bw>`Fd_ju_L zUE6h(!sc?kNex180X~#_7`NzB2KKkSDs|8SYiWT+rITJ^cI7Puk;lEZCT>NZj!Vt* z%d-jZN$;UG;^ZYvEPjpi4 zSWKS9NTM5c_}41Y9GQFJ-X9u#^{w3=|+f7Jt8 z2H-<%lYPSu0*!wp@7a-l0qA0?%OWBV&MTwUn06vvyo1ivHU7eSqEKiUn7FfQ3`7=I&HA)$ zLLQ4dm3_gM9cP$AtnZCZ@17FHM;L#Sf@z;ns}GTJ!@=KhzD2oBU2d7tpyLTUh_GbE z*MH1m5o|gLV``~j)fEu%B2IS{{YfrTEi_xFntXczx=meCw^RCQbdp){fRSh}=IIrEzjOuAhmunrI`%|h-+fG#*J8u)Ge$nO zK;9A$?v6z!nIIOdaUQJ?7Myk&N`(7#ms_LZLnR;0hdEaj zJ5%eA)CoNAW}|H9A!H2cOAb9aSyunxJ|iwJT0V=!x zC@%Nf3Sykn0<1*y^{43j5<4aH)JG{-h+#*$P2~92gi7=j=o6?oj|Lyafhk`5QC_(g z6zeZl!%X|<(zaPGM_ZVRjWsvH{062CMqeJp=mP*SwDA}hlWhVIWdpr^zXdaO>} zBdz=fvEQKT#)1Bj$f5@V)Teid;3Yp8Y-esb8Gm(u#3xg=&{3sm=U98kqlZuG{?c$( zM_1eP43}(>LQcZ*LpJ_cPo3nl+L;yOeZqkC^C|5Ypi2HTVs;r2Rb4SPb4qwWb}+58 zC7<~o=YtIm3(L4Vh!UsdyCw%HCE;M}CGosO$?rNBD485Qtp_&7$z|UofLYdXvv79ZV%8e;O8` zPXJY|F%66kwE+AKWPn{MJcELVw&c0U~Ub$_Hc zk@uqhMUlQQR;2*_B+Al%Q%QT^sYm=f$OkD&&8=svFMItNQ~g882O9-tOZ_>DFg6rC zKeS&eVo!sGv;Lfvmu~Q$xBpDg8KL7DqwnhE;3cs<{o%uWZH5|tpXgX?nz zq<9imt+9Wu4gf$w9l8UrpV+u<(v$P^T>v_R_w$)ejUVqp83W~;{_Di{?(Dy-{O(w^ z+P`IwoC;tS%$SGB4*b1;ifSVNU!>3Y+s|NAQ-XplI~H$DmKiU|DqW0&l9@h(-ZInY zp0E$MPH;Z;3()2*L?tiD^u$lCS%F;No~!vr8pEGkOi&GE9TdH@KTQ6Nu2|5AEymwW z+C3Y=kHu2Mea*SZF3zq42kQDyDMlKtSPveag#vv&y?#WlmF8bqtp5(|lun-B%1fOD zz{$B+hCX`08)Oyw84ecPL|$z;F_YTAynOc;*O_yEND?@0TjYh2r}2WnvyQ^7NBPYa zvujr7ttU0hU8f~)+Mes$hao;{EM3QMshTKBv&0^B2BC1BH@6wI2Q%(nPCA4&Unk@A zvuKaMY`TW)>sCAJLkjEDW^2XI_B4RWDpJcE-&an930QmmGN}iGnE2v`R~{^m>b32v z=m>|G=b1b?$NRHEd$=>t?&=>9W$lXO+)-i zsKlJr_WFC?sOb)Y{NbR$RbhD9%#n^l0fFZ~`E(fCHS5 zXgkn;#zYo*SE$X zK2<3k@qf7hO254@X8~(}zzsbHA*7n@PwO4=Z-RrA1sf!!pCTP+V9WMAUbI$6FQbbKf_6%&x}^dK_%dA7kJP!Rr&N08zxew*qfygcjg z1l3=TzK}imbC=MJRs7_i!536ozaycAyZcM>n=WhaF#r3c)>$ce>Ei)t=i4n8(%<$ zzSm}`Typ7*bjeoOPZwKz!=2AHc4;IMI?$3D*9Qq{DP1mD;;hyCmLCgLkl2;uMVe*X z59Virg)qc?XN3GwuaGN(e>&-9n5(+AvvaRN*z`hbWO1Jr$P=rWJAWcL z{)|KcdbZ;3e)Y)X=Iw2%kNVZ*ca45gNQ+cz5rJg0cWL_7x~?Yh_!?@M+NMq9?e;m< zPIQee_r2afpRPvd|5W>m+QCFU=NxEMxO7}r)K~c>CGJV0C))p6=Z zGP~KRl2XcJ8(^YR)$p?O0P-jTdxuM>uA$xRU_p!2g_?So(%H{Vq}cJBBUnALe@6)ut^0JQ0*ZwFkyQT3v`y?Vn3d%iEBJSq=;N~gex1=L;+_oVtzufV<7V4I!{l$&UisvvNs z-aHW&Z&@V8DLaLqGzOh%xoq-&WfF@t;oR0)mZ6>8UD}3bX<(9g$_6FHsGv6t=)pa?&Nt^sp^B@7oJdhqo?k z0s~UrKU@;Bj#OE%$gJ^>ZQfY|*TEk#KyxmW=oA%FXH}>gdvvDld*49vr4iXYNm-Ex z=4`>nIbQWr{$T!uS6+$n5v9C&PpJg&pDRm5?8%3H7R60miYF)+`u=%JuG6W}V1iB- zONK?oIKL?3|8zI=o<>j;DaG${jAaWH&(sLyqcni8dkhu|j&$ABCd1nxKWUO`-Nb@< z5H{W_rF1oMy+5BhLrz3)ZTdN-R@_kJc^0T8A?xG>}y5DzqlrRF>Ts|CC_v72|+M z*RX0tt^H;_KR(e7nh`ZNPrE<+bDxkp>x1m;7J115FewY9z)FUUNnjA@lE2h@URZ+X z*sqqVpO+GfO)kk(Ywyt=Jpwa;Gg>$R=&tyO!LW;n{-HN$V5UNC@) z097iHv?mq0|Jd<7g9`qgMYlTgT%G)o#nNQJAm~2alZ1foW)*@bM&R$onj z^aAX%B_E(0&YSm2;>1+9G~N5xsju~&7Rs#ENlFO@>_N5XI@$c{b$)NN{7(Bg(6>&w zm^^*y&(&v(P^^dPmp7N3boujjkNAra!Ha>RFXkE5NX(>q7SDYD^q(yCb4%pMiAyjz z=?;)(r(`8`1>=sDSknWAT2kohc_EcQ%yne_V(+3(NPr;c8e9ag)-O~^+nT4-D-XuA z2>h9{7F)N-^^27G34m}8uVEn@#`5Pj)j#!eaM(8Q07wBE-%Lt<#zf4%am3MaKY{kz zvxL{|K}q1obub`v4~FuI3Bc(Uo}^hnq$u<2`SQC?Z+`2Ug6f|honA)n;Oc;I!Fs0b zE?1smmFSx~aKWr`HNMCXG3v1Tb%OG8XS(#D#rKRN)1axql(>?fB+H>m*ste3pDwgN z(*7rQo@fwT!2$2z219%`^XCyQql8fRlAj0hasO&i%>1BBlljBSbWqp+yTB2uI%gP} z-WDKqqpwhM>r4h5rl#LN^2u&dgUNnK^>8_H=^;nXYL`59ARvKdht$zlB+yo4>*W;| z`HX$rZB{a;NJ{5{qiA()n zg09=&fTR*7lbGW(9^9Lel$4asdo^)CJexgFT~vOu$T()1FqJmBs1`amsvbcu_HjNy@1=NFzzOW+PFTM3}g3xt#rjLQ5C_8=Bz zg0G~M6f?L^8}2VzE5sTBfLDGky#yC_d3r8qM+o;Z^oK-!$5LeIq5G`jFB_BGfye<1 zps^Syt_jb%4XBFw;H87>#mX^>D1Tucqm>X{;{DM@z`UFwO_wBy==zdJ(ay~NGMz!= zy9cFo^aU&`*JdUqB@T1a;2S$wv##67@qK*eQb25CV}XS~e|!#=Kc7+NrpLHqq}7~6 zFoGg?Z4r>@%~T9T0S!8-gxRXfUtbEJf$Q4F9{{uSDVEh!$(tVw0mTk6d{Tp;2(;GD zJR!_LiVK`drqB5{{0E!&dC==U^ZOP_K3%-qts0rh`{6wt3dwr01L7{gu1>TjA)Q_0dBDFnf-j&XXgRm{v+kep{W`{K2g-adO9TuxF)D(N@SwWUoUAjME0uMDCX zlOdqyky?8NEf+{qyUb0iyHcTCF z*W|*zvATbc@No|@s&yk-FOgmha{_6?269}6&pj=2Q1Lo?N)3q-fE4Ni7WKPEX+lE` zzglZ4(igb6wS7rfO2aHeJge@2wL!))=0|yCcvJrJCd{F(&uqIeyS%4kUEiUJEnjRV z7H3{G@EQ2#N3fgve6l+e)M+M&d|9Adp`4&D`U22G?^8f2>fGE1%UCLNi=S#;ZGh-lEp;EL^&@VQ>;og^P6jMx(pkx1M z8q!%eUIjDAIs$T#e&R*IbMbc7$Uu$6r{-6ll{61T!o1Q$<~XZ`!~|FXZuLrc<0j?@ zZEwFddHJ~7>{JIa+iHpQMg$0RZoyA`a@H}}0n~CEwk|0T4T~G}34u1@?_sa}B|f>^`ppOxXSAA!<{! z=?}|N+2SDi=n0^lL<(u0Iovbof$lF)!6F=#Z7lOSM;(U^J8W9*Su#k^!<}DrK{}eB zFm%jcaPVupbtQR7GEQ+Y74UtbKcU-BKMvz8<};RB&co9Jt`no(w0DiQIU>XEfr7(}yf!{ky%4WJ{sPg42{#M?pJRP?CRv-@o^!oTQx`oC4=@C``X(STH<4>cz@~P7XBCjx~ohV*(&K z|zRd^p#v#UN1XT23K!sU}^5(}0vI5gamh0(_P!<~um z+isL%vZZ(2zjfyu(n;QWMYF!OaMaX%JNFa3@gtLYMz&w^$bTF3Hlq++o0yCuK5;oF z6$T^yK?fz_Un6%YO6q?PRd{U3@9O(g1J=7qf`P5wGvC+jv2@JXBViyr_I(&AW0=Z& z0x*+3E6KzO?(Hq@%P`t<-? z(%iy442y6{lL+?7BB7FW(OJ+mnb0WY*32oqAo-Fy{aH3)u)^nG2#NtgOr#qWTb zm?4SKo2f7xbt;%%wi;0Jq~%@E$BIlCX7pyp-aQAeKg`ge*}XF=fNrWu4Hk(oR|gP{;fngvH_L72r>owGUEnez=35X zM_=)fCc4i_wB2r&Vl6U#O5^mZzMh*WL@T$I=qbH9Fze|9 zg_I8I15F^IPUwGpuhp4Cl=g+h06zXE&u}tK>0!5F7?kvE0$Lq}mjCuJ0p&Oc7jT!`1Z-K1@UEH51r$Pz3XdXH z!1=bn)q53d41!7H3r}=$UKq9e?6n|-cP)s+vL&M^H|cGAGa30OogdA3=HIqAm=1p= zX$ZR`Pctg)q5pPue;?$qa9iB&ezfMTr!QhGK8+cyjW+PN*w)%xv;?3`p?>&fJLlQ& zMSiiUIGo0DP*quL*N^e=Wu+TI9g-fMjV8|_V!Y(nAm%R-sAl%tJ4=gFyYwJGpdcjX zEs+zXb5^r?U)gxmqxO?@SYv%K2Hl~6e;J(@Mj$s@jURZN95$+#p7)-+^4@DSC}+Jz z#I!&a6sND(m94Sd+NC1YjB@g*h>g^EuHmwl z)R!1UtJ5iZ1x&>7)^C;O1h`V2nwZ?~$f(L@30cjR!&ocD~9o*WHX(n~;c zN$Z|ES|&8FR%6NSca??Nm0fn|y|z=05$^z;A|0!ZIJw`T4=ybQ!(d+|Z1Fo_BknGP z)c#tDdS=Mk#ZI6Sg1wiZ9o;X=(3Q$d2XQc}AVRZ#P43TBR|6U)>a|6!t>pc!%Do!lFkK5R`Vvp(e39|`vPR=42bgb6AvvJmC_Fa`8>juYx4 zdG8mel4CsE&AI9T_1Je?NULTv?CIMtgU>o%z|clpExHP5m4`@7!HZV|a|27NlNocD zU-9C;X>!|=TdQ*&qYA>}05GckDD^!+_5DzG%UQ zVNC_DKshiaxW!r2nj8kkO=X1fnH$PAz88HrMkb4ED~9h;v}no8+F4W6?T%>%i5TxJ zIl==)=IYegnjxEW&eS_KO}U(EOBlmv#3x9H>`6PI109k<{{O07^cAimvbb-MQi2Qs zxm7=CP{Y@&p#57n*_V7L&N0ecnNW8hs+Qp8dNxhU{=8(&<>Tw+DhX!*&8zzU&0)88 z$MS6;ut^Dt>g1zWvQ|Iib{VLr1V!lmF~7RCyOJL)Xqu-}c8FM3QW{UjhFC+c$vt;W~+uyq)I4 zhaeViYd7^u&yiTe^My?oaoobqzB^66*JSgeSSW4Ngkm288JRE%nfNmF2;m2ZECWf& z>%IYa61De?yvrkWY1rbmt-&T4#2Y{mS*k)?t{i7Bvpv+QKy=0Rgc5z*4$DxvFeN(e zTZm`F&nzSL*cPp`O{HMEMlsGw21E@7H`dvELzvEx*Q`rxAzylNVM%VatBLA`&lb-p z&DrNx)W*(roROssT%6C=jU>`+rYbyJVc{UYTz}L-l+5}mtDxpNEO~yVlB%2yZb!A& zH|K$loMq)?q)9BJ#2L0OF<1-U0yQoh$zU*lB?0ICKE!w+woJHh``MyNxe%yd#3d60 z&?3)51s=FnbG(xJsoFgrr&=ovP}D+ku%*ItaI4dNfCbQ)k1Q!4-Sv}XuSVPL`1Xd5 zY=LF-$FWB>-Y*hvmq=1dzxGSvMNKO=TvLZE>_|3qwZ@USTg$ik`?$en)!BSx$sRe} zW9ArxMOT*Y9w43*&DV4q&1?0p^Yb~1J{Hb9SNEN+fV4%~-d6@W*e_5St`LW3T)Q+| z<_joW!&*u07Mg{%>$@S`sq#JVaBM(`?6N;~FaFf)g|vi)TO<2e-k!oloyc*4vK^pS z`NWZ1=~&68a&@KLqGmEdt9Qd<#MVVWX!U0DV1J2X@}Lem0A8_-FmvndPaad8kXyS7 zr#)|imM%55uvG6ZxBGGz!jOzhhk>qQfP|iw;`Tt|WyS&Ywr*kb_eM-ZPttm6 zA*gPKFOntV_|H_yD-`$xN#XWx!`m%mDeO_sR%I?C+-YsV*R2O_3$$p&-PfYkORM?> zl(FkL^%RI?Vy~bIbjxnsxkGPg^eghk<7uhsE8T(oz7-KL&%8ULd@~&REE3Z#K4y*M zfflXyIc)IJ=Du6%1hjEK%e~7-PF)L}BOUT#QGE<=XCCW4k*IlA|_g16P z(z#n}fBK6=?X{GFWFrpZBCYwr_Y+jF{c4YHrgoP75ZbTyHRhDSHd3)9c{^XjC;f*6+ zwIiBv3I{O0QuIJrChB%EALB(^oCk5)c|)kyNTe^^xT&(>-MiE`X1BIyKV-PG+UBN+ zMehd+MFUM^#&QKQV@?xoZ#oFheY^P`^GK+J>%mtsAZ2@ZD$YuQQsCD{DIq!<-FS0M z*@7IG*p`kg^CVVo#y_oQI5p#AI#tc`OP0X?f+YVYJs% z_K4TmZMG{@RK{1dM1Ej`qI52P^-S+sfbwJJHCfzR>OdIX+SZ^~P|$na#+NKst?8R_ zR(V;z*Y*oUq~4B^_sMPmB!sJ_E9b#xpuj`+o$b2)Ds3m5;n~&UJavLB2(mgC2p`M! z1p#DzptvHVQ;XMW{g9$e1Fn2`cU`RfW-^2fVRXGdSx=Dk5c#N%#`uWWg1Gk7XVZWw z#@2Y&W8uwl_|e3>AC9j(k7mQ`Eb*5%L5lB@vY@|&SSvoTLpSpWnlW_Ojn z=hj;HjASF=w_l7;$z5Yn8q!t3=Zb_r=Y3G=k%c`=ZhfzXV!x)oRxJ(hv?pT^?-cWAPG{C+hAWZXhNplf|X&Rnf zZlKIQ_krXhrvV1wwT1F%VYSznjs1_bESkE7WQ7$cM;FZmkJjyu)S>*(*LqjVqgklN zcc#SB8u#9?8FzN_h+k)+MezPe?%8n}Fr*jI_;z!6S-LVoLDp>H;a9*>**(f&YxNv8 zB*uF#*ayj@cMk2$@tpq+*Ec!0Zq9{ljh%iTl)mjt7;9UqH|}z-sXH$g)r$Azlfa@z z_;NO@9ym)axLy;nd(jakQ2XGcK!u026A|CKXW=w(N)DQuaK~LJT|%JiU;5T^ujb#j z&kvz&dJ1yUNH;8Q^=iYDbh;YWZNI^@!WFYu!(i6h7jL~fZ8+0a9mLoI#&XT%DK8Az z#JWnO>qeVU)fK~yY~U6HxoW>C@IZYf+0x^)*#Mu8mF9ToWN}|TgC$=cy13%WWwI1Q z)>3*zZam4Tu7Xe=ZDAzl{+janam3K2yRQw&+Iui$kPWNdy`jG%%UE*TT^FlXV-gEs_o|E9Z-NT4b&UX{WD^lz zOHP{dd6ZRAp;m?MqvD`m@=~>?G`N&?mY)K^3emVXiKR!F%Cw0@$p}T!=`G9ZQ{N@O zMG{FQT33uN+!=9nrLS8;-mtXhx^K{bM#cMBzz-Sk8o5^$m^3i1pVskWuQR*nDfBIT z5!GyIou0naC9ROt%|FZCI!ws8nO})Ocq+@xubOLoZ4yYJa871rP`@WPZ;qxTf;}; z?$*2(qoH4%8ppNmeL}gmx#|fs% zgp_G+t<^as}WtP(QhpHWlZE*P9^fYzNlGGW4kau@v_{>w<%e6AjjZG z`A+Tb)|yOh2ey6gY%ae$0V(VIjJVjHa_U4@kYCV4&CEB&$=Q%VqYJgv)>j}bty$ri z#8JDyyVNv<$FocU=46}GZK)3XHmk0tTaOF^;@rMYP2BwwK#04I_gD(%Sx&6*7)BR3 zij5oa{iaKCwRs0GxAqVVFaYE3$wUx##R_lP92<5D3nj3{vnZvxtVwE&i-F9e1%ijM zOt+`n;!aTk`8jv@50=~38(Tj@#mIhe=HOGqFRIpEPn+yjQAF6Azpq%sZL_f@^Q9T> zmi|PQNji+|mgn{CVm;e)W!1(XXveQ5mrV|YuHv>I&YT*#U!F6_(cdu_4H~)FI%t|^ zX;pC!N*&*jZ%zc!CKgCKM553Jz|S@K&wO{4Y@hJ$1d$Y*|p_ixyRo5hIbZ#Rx z9o9jlDl4r+y2|U~JI7py<+<4~c9vv`$GzDpRgWTV9>?5Mls|=zyKEQRK9z*9nJt0! zk<)x0t*6TW=3AYcmfh1x5;praCyHlbzpAW3;s$=OAmQQH#d3S!c-+}HbW3+ykJ${* znB@lO;o}Qu*;vGyzzG{7rV{_=CyqtYYvZMrTOW4AF;J_|s1yiOD7ra*B0rO?Zqf!g z#aZ#yi*Frc3C2rxvU@AxlkL{0uNf}u)tTR`=5?^d>FFSNsHG$>*&5X3*)qy>lOzHB zptDqaBwp0hsV``aB}a29|35d&9~Jr0mlX}cFV-3Hta=2W(U?l~l$S3n_WjLo5_0l0 zVa(S5kxpIK?h6-5(A49IKX(11Zv&kNFGrHQ*;}9vHklH#X8050_1*mPqLvmP=kxJ| zA~B`$f>R{t{rzDbp{j&h-5JZgvp0*A)0wEM2-lazk4D?AvIk#das(hoU?FxHW0`_EHSg7FPGLxOUiV~VkM1|iD>G@^{3vbb4P zEC;P|l1jZ?J-iQs=D~jOzks4Qoat6m!(qR$u;QW#FMPLNyfxHcFDvlot9`J|rRs6h z*%9NY$TPC)_8g#~?-8S$>|-|#yr54jj9Tdbik`P~zl*fFHtypDA8fzMu zo%V2%$u1ckAxw7fOYiP4ewur~^a6BOIFsvv&Awx4_gtrcPRne(TYgXNBdCWEbFohL z-P?Na8{C!H-JEJlJibx8(TD+Z1T%MAxH3P6_gL}+Fi`x|D;ar6i;h!LN#C$;-fv+a zQM+1^J(1E>{uJRmL2mqHxIk-TuSD;CFGM{&sl7I4EUDEAGaz(oH5ujht!yA9cntDd1R7 z<`;bKZzfdf?;ed_CmvoP>D#{m58|3sk4@co+P%GFSHk4YhFZTv_m0n(ilj!hjg{y3 zFdh+K^|9X*s6yml0c&(O+}A*kp4bOy8Vom7_V6}P)c^>J!#e$q$-=3yG-A}LA7(+70FL2?|qYr_!ilRId*Pudpe$Pz@T@Gz@h~XxWk{4r{{CiWK z%9TmO#LC(kGyOEl_J_eb_eXzBx|aVO`4KGoYhU1DqR%UV$;N&k=hy9|V9XQH%~A?@ z&ni6%+EefLDh{%Fh|^4FgumpT>Gcf*l5OXhL1TIHN%ZkXdTF459AyVn-dV-z?RAIy z&p+%r50UD1_;w)1anlgcKy2V4py)OfsIYls1DCbTghKb3 z08@E9h2cs^LL0upE0@1EXXZgqfZmSj7N!6q9!YeaT7`xwomcdbO1q}1!!{&y(4{F9 z*`QZ?#<~oy!l@NMmOGAy?vU34%8TGUY%GK@-v*Lc6JQ_#BXnah)@8N*Lm+wD5)bJ1 zyyfG!k8e9WCtO!nb!y+Bl-FAX9p3CK+bcn4*`cu$i056)7B<2r`lwNo>_f`K8R0q% zCu0on5%9C!ZWi#T0Eb}>ahpH-X)@4TWYRbnKOqjciN&}00ax;EM6T^5T3Q3sZc6iq*$hxQBdT!EP?39*%uHOF=hZ7K_K zO3z1rjr29%;PKhyH0W3D@p;=dteR9x=g&=6z35Va3DB(tN~TT0$*xTq8r#YDJ~3p= zAD=ag5@?AYm?>F-x@NR(wsUQXgu59gh+Ns}5UmYKl4Dm zT#q5KRzCzB&mUuB#1mdZ16y|imb4~v28)McJ*6y)VKY_%wNAyBRzdF`Ws55KRC$<>httXkF0?|mn4GGX< zgbOv%#m#2>jb%p1H443%k(>l-#%CzUW9(lFJ(~GcBFBk;8Y+t+FqeE;@-}m2hUR?y z!Bx~!a253mm=y6thWdRn(YAU-m!2&V8 zupQ##$0u|(jzxlIte8>n49Trn$*12bFIfH_#Q>5FO-g-dc0c#;m377mTPe_Eoip9z zLMm47bY2`83{$ypkT0`7-N8>NtIX$}1A}Xhm;0haZ@6v0rlXXdDj7XLpd#aFW#F^F z=SaIWIT!71#6m-m&D$5SNzbD<=oxMS*y2o0{Zo#l({QmJ;JZSDVEANXMxX0)>4?q9 zetipvZkA+dN|9-r*J6k4RnbNK#ve-jUeLRuyi_yZeta4Xk zZ9H^)?KFPBVf@uvhg+>M!MC@dDXMI=wlf%{wYHDCIAYg!G@*;kY}mko--CI`i$tTL z-v#(NnG|c-$VR?3(i=1LN?wmO4Yrrg2!)F%`z>meucq93={fz~t!^ap(|CE7GI#B! zNYNfiQ9+tV^04sMD) z8EBK-8Cm6eQl>nlob)R?bFe2aV{~uj%@Nj`H}f5rL+y+T&L=Cmk|EyljUU^O2Z`-1 z^mLzGQZ-NS@J$+syXT0%4srDRYrceeFiuXW))Z7qt5+Eb=l}fh+fi0h#+%odP>d3V zM%`}D8!;7Be5IxnI}w+CUk0FQ#Z6IhHB+7Azx3RmgFMQYf>B7_p$mRar6gLxpLaND z(WJ~Kb|EG^3?LT0{H26-o461|zcNDYt$q)%h}dCY8T$tN_UMrss=^!rIAeH)Er&qX&otl6kTi(0!f*-wm$=2_L7#2Xy(9E6gb^D{o znzzg-pfoII&He1K6*bc7ZMG-=n;52;)IKWxBp9WFMp6OPFq?Y4<_MX93z)_FMC~w` z;!Y&YM?PZ~)#>~z)al_lMpw>va-&19+qiTtswOd8w#Qpgr)9f*oAu{EgN}Gs;0)M5 zgCRivhD7@=@{Bdb#yI5M zx>|;gqjr9OY0DQyk9G-u73BJ>;6*VD$pSQfPNOzm14FM3EeTYb+tk$BiI7>|aJ(}a zi8AfUv1o404v%`z+kEq8=o`_wHxAwzBIK4UOZmCF1&*6zw)75>+w&Do5>yN}xVnPD zdo#kHWbEwGNf6jz!IJ2f=nLKV>RN(%j2ZAfDI5=f$FxxQBU0%Dm~bG>EJ1Mfs3BpA zrP=4{SszuqCW7NcNmx!DQq1f!k1=RErH(u4EG;)sR}5L}o3pC42aUK#G__IlLBpao zig;>NrBkyEtZ!?1qle)F1F550mdtg+q5Q3HRR-3yaSc&CC7u?Q*s7Odi$gG4i z^ClBO7LM~|1!_D4rC)LC1eUfpavrbV9}P`O>F{yphJ7IrfCx|3N9r~C&(thf4oC#) zZpW4BYc^JsAx{~S_x8a|DYcXLoI%H4jac#xMmEs`A1m-qQnH3lk%hS?3zuxQ8T~vy0bWxenW?o5=sVl1{e%6Rf|F z8cEj;jzn52$$7zjt){89b4v}Zdv|*$ilMu>4V;|yDEbe1)juu>9N%-K<`ekvsk|Wj z3(YuyDZ9_Y_pFUvEA956wpBsA#8S^^oMOT7I434pLbnr4bjLf`kRCS{k&0ftSR&-M z`1LMGq(&OD8m6F;#V!v`b^QV1PATCQn%9yuBGG}YVK&IFH^oSlusX_h|_0eSYd{d;*$X=P1sPEB=bHqWEI(0GX2t# zPVL*HHS*aYQc8!c`7FY2hW&lA=q{S_^^sd>!H4C>BN|n8nGTZwhpR7-hq~?l&xAyl z3R7gOlw~Xlg)q2L+4r3hW8ccY3^ODZqOywy8T-D5v9us$-}jR2WZ%N?ntIUp_s9MG z;eI{$T%YSY*SXGlpL5>t+4Hye*1A&Qbh|uRV^gzvolDLX`l|fFzU~H<#nry<)e}rh zcfT_0XtIQs6g{=pE|Q@Z7i4&TuLe|URuh)~Ln&3jE2YAl zUW1FCsVdnUXQJ>b*`+0S2ym%5&ZpOA$q*U!wrt zn#epOMypXQP7pl#mFte@zW>>gu@Z97o< zqHTqUd!POF)>4d!xI>>Ww%?;iw*0C)w^8MP*(L31VTnsc`jr+4Q@5JiXF8q71c6MU zIv4}_R3uP^D#y_x%^0=gkaL&11hz*(4ye`;+hZ-L{MfyB;scI^nO@=Je#U_Z4Qj0^6XN{ zP_s`GoJ+t}#8SqNxb`RSIo1I|F?y8T9FB}cDt-ER ze%S{5Qs85J0~p+<2@Oh0et}QydL7G=%~7&`ahr9prkEWNs1-R_yh`4&@(~+KXtTj7 zRue)8+Z{$QQj-)FVXZSDIA2!d(5R-WGWrd+dI^LImLoW09oaQ+{Io0|xi1HD-9BR} zXQ=Lqs7czJNB7%pm1P&&57L0*GXLzVx_38AC8EwhP9iMu0H-ae zztRg31~h27!MM-^@c{<#81g$oW_49dskxh4A4ta8>7`^q$YCFYeNW6?-YQC5&wdES zzn1wXIB2o*{s+mLTWPBOZbAI(A>~CeTcaALnipez#zQGvs_ZXn>jM@ewQe1@co0f?=dg zMWQB^9KAH!sZrcb;mM^0L1(oMsJM2f21)dmX~u6iMy49S);zP_RgICPWZ2c6hk2FN zKx2wUGN+Wwtno&}B@O4+339WW3xiws8CO)K?*6H(*olIUKEH0MpJ5GsD)Bl~&r+?l z(J{y$_p*jsuC<900IxNMjteanw$1MI3!q_2Z9L9jt8l(3-5ww;HP5NP0YO5yJ7d8Y zn=c@`%o#J^++ek?GXo6{mxw5Z-myM`rS>4`@p)X+mwARFLF1B$V;5{8U7e|NJTv3W z>pJcYT@AqUcrOJ^U!)`j6~3`W&cz-Md3`}GUjUIDMw;78fCC=4Q zN;=wa*6ejAmU+c-c`pG4RYqR`fywQiqQ7M7N()OKE4}{K=g|n95UvdE3-&0TB{a@| z6zVfPU()O_z3eKOM=^bh$wgIFTc;#RjT3;dSy{I>=e9N`Z)nu(Q(nwbtRo;jCc3F30L0z`=xd;KQa{k|pyRf4>pSy#O z-67AHC?{5t5k#&g#T0u_m8gUkfHoI-GcnsMgzkF}fH^Tcs$hifGiIB0ZQ<8_ts1z?W3}yu zX9HVC!Oi~m#<}%bDSJ&DYSCGU=~UqSyDxIx+v!+(R|d|Q)C932{gJ4}#CSBO&?(>_}h=_-1!|_iCXfasprCoJR|2T}q)S ziF@#X5sUJ&CP7lWhePEug7*bR}ZyHc)fSHxa0QxjxWB| zWi@K&L{FPgV<4gYQ3gXj2>7i((GRx!4y1`cOZrLF%A520f4MRMM+CW3yNQ^r%>5ZY zTQwUE3X2X=-=`VH_KNYsJjQRTxVe3k18&ZScbags=P7aTT9v+7eA+2eYU=M$F@yUB z#G}gwYyu_nl;ulOo_5ZbuE}cWiPI&hgtCo%?F2x%5m~YIt)b7=gm=k-j6e>c!>`cG zX3GFN7s}VF?}sD2E&F+KHklOpZfAQ-Z2&ly(Sqh;0?wRrCvw`hDWXdiYhY_MLKNrT7$Y27#?BLLC8`8(S7S!6WtLZ2@bP#ZpcaN7km!sKL#y zTRG`%T<>i%+xSi9{j*zxjh^;+c5k<+({?A&N!7 zIKoJ~*CNoweh!sf@@xy9iv7ZiMbnd<%dl!OOl{6l?+Di=bo;q90$p}0LOZEE^%z92 z(_gpPjHU5IVDF1Wa$)dw>@D5>Et|#e)>Eg8{^r*_ZB_`mDOuOY7pnnNBM^M-q2}j5FR|6S|p;&In@m;uxF&vtmqyVW$t9xqaE9 zQLpn1hF*e1CLrzvfoKBURvK0Q=6ZI|!lDpr3+uK0%uQ{49*#syv#zYK!D=yX_9nk4 zriWR@XGh`Vi;Dqq7rfH@EF#DTzzp08kpHBX}GS18T|NPUQf_uO}fPh#`La>gemd)c{)S z%6V^YlNbX}{Q2YjR`#v!vThUGJ7A&lTvQWSmzdw!6>M!q8j z|Jd;3v_)(o!gf5EcXaY%VGhe3QhaDdx{V%*;8OF)$|WfCCC^9`O?Tq~A6hcmKlGDi zYPI*HLUeWiTp2-nu=*m@gV1$PdIAz0TKgCPTz7CrSw;STJq$SGV$e&cT{h}vTMjUT zkM*I9DcFh(6kxLh?Mr9u?tpG;+Z47JE|)-!L?J@1Cc%tru7bgP59q+2k&%%h z%nb6_-lTBs1D)FE2>QF&Z%=^2y&8DxW`ps*U+TXDCYlqN%+nlQa-&I47?5T!S(ftl z*16R4(~#C`&F;S!-g%P`8uZ~A?C0qt!GHP{WMkAu z@AA55h8^#}^gEd_1QE~qtdQD*e^@;bklDMX$ssUvtv9ijH5&OhJFU3}`xZ)Q=`7ES`=8WKRew3abKZ zI-c7WfBnNBC-Dj(#8+kiB;J3&R8@osG?@gHQMg40jH3x4asx>O2Ea9+W5tCfrncfL z0K1{nnc)DAU#sQrk11^(n*}dL8Y>Vc0M^=T@#k){g3#wad?{;Z9<*nYl+z$gB6x?6 zX-uarG4?y}my7=yqQzV$?l!dxMEs?@*P`#wcQXF@(a-6J*0*mXo58bl4~D_SSW42l za+>Jad`Ip@{_DGQKlYm?ps$GDp}fZh2~3*PX!HTohh5|;^uRF(C)|V}*%6%FsA!SQa!I1w?$#CV?c$pXoJ zFW6jLa=yh^28aRa6nib0b%bLe5;U5z`abO_Or@#Dp`j2Q98iknLAh2~!H&(R0}|D1 zFvK2{YGqUkBKEy&Sad+P45hg6o}Ov+gbFpF{kwccp(bG(G9(84X+hFsIRX2JyU4Li zjLBA>wC#nDChtQG1Txe>mwe_`tfHlMW9Nf&{|xhH5{M!r+awwYPtV_@to}cbRc1a&1FiufUsc7Xw{?EVmpSS2O5|9a0Aom)NB*8HaQF@ATGrEB zX!^o4XF6jib-{do7MeFA2ejV|udh>E8nKgGfFGm>35&<>N&>XY;^}o=yAaY&S81|7TsirW6=H!+$=N-4kIIu{ zVwGna)Y#cMbv@$e(XNpdvx7r2@X0lP=ywWIwSM;V`Oc^5OJgoH4ZZJb{1lP7T*8 z**kKp>7?wuNW#1pmX<6n$EmzEzGWK>DO|g_DA_PUNgy5}JM$EMfRc`iA`;2C zM0&KHa0Rfz#h>a49`}C+xd$8P^WSd$?kjO^kYJ=9L?i{%cn1(hJrt$~)4sn)*WD#o zf*D%5;TYh~&n>?@-)<}WQ3J`zNdJO5qSJ|S$EP%#=gWfb9}w{`H2{Eqy;#=t^l7`L zk6jF$z-(O%n5~^#4u2jniTJ=3K63(+Zkh}HL~lc7mt4P4AS!O-=AkMTlZC(9=}cN& z*2opX`2zOqH?>sG^`|n+(`+qn!QPmx_Ja;-9&4#|uLJ`G#oHxg0v9`|fgU8LwYd|b zwZm`JqK(o09Pl#+_)TC3g#XFp4zKE;6nmbP_2DIm3Th~H<)Q$c)e8kFm|I#Ijxid> zuxs#UI~?%&MZD*wJIhZ5c(a;q?ZHWRw9DwH85gwKDy{1!{=QSz5SRI)C$CKW4}TXD zn&0MtDxFh#yRI+y@2B4UWN_0lh=I@Myn8!o>oU zL2DNs>N34dKmk|3MliwcAJR|Nr@#dU@)w>xzHz>1^Mg%n9Qh#nx%j=XZ<006uAf{N z7To2!0yam)s+``6r);}3x$6o}0)z*SO@wEGx=vzYkvR{!g(={A((lf?js>YUak152 zM=H71mwkqkwub~xxU!E?+g|&g1iE%iAq59Vn{Q2cYU;dY@W%gQd|+%Y(ufaWwu-sy ziRIV0o@Wb1N=GXrBEEkG0WIxjH5x9YFdVVMLiAo7^vlM&t>>CiQxcbg0?|20bGvvn_%Jm?y%CCo;!hSh=s%6Ayg zPSte<1!nQtuP~|65BVkLr@N(<0@h;kT_Yl#s4)6fDd4 z`|=rH;u7-?;Hv_7+LeXr`Cebg!slMbexAEAmJ7m=Ai=A>pc^C>@Yvc$lVlBARx9P? zGS9Wm4s`#eyoykQFKGzRhbuMr$_@VG8{lc695E9C8#-ov_-mK(B9z1@hodfm zY@}x0WM?y~*ODC=ydwtG+A74nJv?q#v%a0YOLsNAghPyi1d~i6Dzc`kZ?NEOOqh#a zpZCT9>aG8&jbP6}c3S!@YeV5_v8- zyk0-PvozDEhy;q)KI$ch9$#(y)9GD(i&ouFe1e<|7#;Ep{q^jov7|k55~)eg|CsbR zYSZRVzy(;QD$t2OZ&&1#;q-XNl1H~n{UNlM!c%ElUdcWaT_AIDo=z%u8=R`a?MOyf zao9EMfANnfmHa~iD|>ot>BNpv$`X~Yp4zUd*zpR;B9zc)c#vXOijRr>u_+L@8(Ar0 z7l%B~0xHJ(2}!q?Uj;y+mFR3^T&S!bJ5DLSw^NoI@N6>LaCl#fCK92%Bu7pBm*zxp zS5;51%zAwdRa;off&L6Nf@wPiBkh;}^5w7HudUHxKe^)7b8X`vPF;8!pDM|_U4o77Sb1YG#q3Mk zUXpqV!C&&?Shx*Dldv}cPoFUg5qu!=vXtk~P5|MbB{hj%^Xr>mO8-5a5(1~`&Y6Em zpD-`Tw}Mq>i5)f}59Jw$5EE&rZmeL?G65rPKmN%$8PMjBI;lp zzTMAI1^+saCc@~cUMum!p#_8Qeu_3i&oW za^MG}0EagXBXusHLfK7mWT#bZJ;K>OT0DLS0VSzO43mtDt?r=jmhPp``v9m~T<#+#njTpsAK|hqKNFb?yQUSQzUU8;`8xMhmW6jP3h6)3>&0y_dMBpl!^6E}eHjmbB zYsYISwU{jS1LTWo5V!!^rj-ALvxs(}`~WxxV~#lnxnKyj;mgz7ZuARt!1KDoVty!p zrPsX{V$Xd)S9e_4_SR%k#q>pgBO8>*V|X0=B1A9S=nwbS1?&#K)y>r2;yIdlrOK`O zl~$v_KF}-DhNXYTS-bwBgDk#`-FyqEuN$&nrLyA?$87uvG;y}$+cP{TUDQR6vq4M_ zWFOLnFjSni;}8DfqYV{Tws2$13fANR?9O+aI}ySa&iYGYBbOj>8A^Nol9sr3r~CX0 zGR%qd7!bDnMEdS=Z4oAH#jTJFyz2)Bemga}n;*qxtH+R!U7M-A3k3zK+*5(`t$7c``QDurG2x7ip7eyrQ%k5`^|k*T_0tLgN zFsr1xC)(Airs(S#?JZZOq`in`{<9Dju3*sQ4A2rxPC1K&N3ub_25=h$-ko8gzQSe~ z+{!`~7C!t)X(}V3v^d?(E9-U%XZNJ_2(j1~rTag9TEB|!CoZ5`jd$PdndOv>8HkQf zHHdoWt?TbD7NL4KeWG#9>e$G(huO6}N_nZ9j|s)B{f2Hf9Cb&0>Icd3wcBacaZnmH;Ls`KI$9hs`WDf!xc*7}T~Yp$yM`k$hl zrzju>+2or5kjSi!`gCyFW%q0!3xWKP2 z_xhB?vhHNX<|L(XKhm@9h18R1CX}`4Ldbtu*wfTt>%iyJnZzgfdsJVtwgp~QWry3E z_U*Icn7LLp5W)0it0i9!JIWJ8RIzdf1ek}6sK4p7ttyMVtapUbZPX9w`0H!)IS`j|^s`UG zp=|xxydN9P-8k09MQlu|M4KJ0!BU@x{D5oIvw4Qs3 zKAwwC_9E1iA74k@)Btz5YClQt_*9C3kcdDf)6y~j8<}pc(RAkXq%&kpBA(a89?cff z^*A)=O6&~LjTNaG*75ST%eJlY^apZ=ScuwrZR27J3;L-t1$cr-p%dsDd%n%x>#CC% z!bA|wNZW^VJ}Q-VJPrwd2?T@`or@eUmg$@p5M#%K*6PD$z!M;g-oAi9C8MeI@QeV3 z9$kKo2h{@fc@c5Ro8Qv`0U7SXxbX~%UeZebKsBRGyX(RjYYa@(-EOo>#CeWp$Zh=_ zYP9D;CYvJ{Iq5Z3b_zA}hWGdzzTfO%D2N=Z9jMkqr{>waIV{U)}*?ZGM+BG;SqvTtcC0ST;y+B*pHl)4Bx zMN{(^PuCWeDITcV($yxfKJnL+Hr^3#WO-zwTK1Df{jFE}-S$7*5v!W#xU&8OjCdDc zM-&x5rtcn0gm@q4w|A9lQGF^;qPo4JHjXkgak|EXLXkC>A!?uR1$M6dLhZ#!&+vrF zPpk?GeZgO6lPkcE^of7i&mwzwt}$6y=d{H$PlhP2J%xc{k{yBd_IJiDCPV#zLAT?3 z?}pGKxFH9`!_j*-B6|8eeFw!ycjK;Ft(=IO?FnF;bn7Qjk0piUte_e;+@|W*jtNjbi%?j3Y1@iMY?Y)0g zp~N=NKGnwFXVoFspr&(;z}Itni9eZ3O!is@mf3wBk;ZgcK>?L(N1##odr7fkM9}ua zj7qM2%fml`(0lfLJ0i?LeY@n59x1eMl(+8`sh+tDBkv~4Ni$M2jsFqqd#}7453{14 zU~#{Q*AqnaSy@|m^``n)@|A9Di2aObVM6I`{%|gc!IF3cek=5P;d+U4s#1mTj)&WB z!fsKZ(eC}`dd*sr>~dSCGB;?&3rSsuE8go1mLUZ+1p(3c#M$zle3S6|Cb*%(J_%X;g|2l~wLMS3G?_`! z594`rGIMwNSjqvDPi**v9-{wY7HV^xDe(uOE6aNf%yw2bFm(|!yj>0NELf@!7U%Q7 z_y}YeavXO9zF zMQG!JwCCpHNY@xmdzQR1N?7dCN=r9`HADRQ02mL-L_Ohym41ytpjv^l2}G}ZhpP_8 zRkQGNRlk5WJiE3eC8!F=e6IF;)AA4C{^$CC3%%sY12psw_9hd64e;F+aI@^js!=hi zya~M>=Z*{rBLM)V&a_cn&XMc+0CD?u4L1*)Jx5|aEZNwpUTTP1GegRH?Nxl8z5KM= z+-(N10+AF9mp{A`AAwhsk%WndH}@4qKAk=Gzce}MJ(366HNw7#@Fb*b zcm{G%8s03JFkoy(o{}G6gaZnJef9CT9F@HWL%>O(TBUCcnMf|(m%=uU-DOE*=9)G0 z{;Ij=mEET%YyVAzc!&4zg&qqd9X#TI{X|fYtwPCvJzk43`0x_13v=)g6?pRst61|h zsVMp=H)1<&=t6;GtWibNtN_nb*}d@DVriRrqs%kibEqL^5y!Ds6tUM8r-kVxJJiA( z9q(KZt&@RE__=%%7LgvN>gX=#SiyfCe zW$7o;@#GWFc29LtMe^vd?CI*AHC|FhbB1Ipnf^zkuw19lKJnOJuXNNq-9zS1FkFQ= z(_HYoqs59;5-WW|^vJk-wRuaQ-gfD)3z%xMX~!Kf-2L$A|#4erMpUDF$C z;T6sTd-M8JVF+gXi*S{HtssUAg9zqsAh=naeQsagdn~TYnTCrZ!^%LY) zrn5=+fr zC6{$)+(2ko&?!KB*94f5+ttXN^d=WhhGI)riM^VK`nTiZku~f%=D4r@#sQOM*b`>a zBkTtZVIa^K!w{wz{PoqhYc$;B<_~*efZtOh!dG`?^`pc&4wU-?>fv7Q@xP#K=9VTlk+%LMB%>2&HMrjZ9 z4Z_q+4$lbN0NF;+qom@Sk};mQ5O43tTgmT2%<6d0LyR=DH2sb2u)%|L8u`KgdOoUfQxn>8FswUzHkuN+T#2U*% zwc_jlQC!2QlEggX=uS*BK0b^xvT~wxcx>Iv2-3UE7r;@0iCb*+c^1?!dT1gX!AykX zpS2)Q$)a9bT@=R2FXNI~As02MU7czAZHto`-norvcgrQpuxb+RZf4BXMMXtP=Wwkb z$B}TvRp36ZkS`uT#-A=@`OHRMsq+U9x@=Wfo+9E2d;haQ4l9Hy$mSiKd)&f%u>C9# zY4ZDLPw#Bcj~8|p(Y%EfR<$GU9hx#tcj~~d`a%@Ne@tn*b3*gK=k^Q_E;LZ4SI*rk zbIU7|JAwHL#E!r3U;EP8`R1mFsOv#4FXo6or1s%CZs5fyD_XPycvPDc3a!rVgK%&xzbxc*gD6?8E{>N4j=e8FCvn z{$Tn&rdO${#%86*au@AyKyobff23V(Xq`AoOYTwnzPo**a3Luy`gy`7MG?VfRis<`c?r-g% z7|QwOo!VHuq`l13SN#$--F(ndSpi&dtWBdqus<0sg(0fnu_6~Zv+SeeT8kMvC0%QH`a^yE1+~zuHX#gzZ=z)BVM&7#r>gYVB6X+mmy69|N#;29SzgXFYuv zR70_h{TD)O?O}SaM{Edh#_5f=cpv@=q!m^QtdfnRn? z(GAD4B{L<_|kLfniW+7Qle* z5+KRkQe00JC>wkKw&gA|T?oGj(KallFLR4`2T4Ok+ux)CTY*mCQt$Jtpf7II8oRu7 z479?ro&-NR8Y6yuMO)a$Nd=2f-`cv-@YCOKt~5x(Sij-V`$~GCFeXJr>_DzaVcwDF zDwO}N_tqHQPjSZib2cD8Ey}Li@Q02=jlG;V+KZacHxF`#Xg)0k!FXJo3VDuqvVx#9TgEYTEM8#s zU+w+_9g_-NwN-5#43@F^Xm=r={!{Ycw4=hwz=FN|?yw>Sw4Ragqpli{Q$^`4FC@z3 zvz`UFQf~Zq`V;}OMsk-9>G61??+$q+rNhqcVqnIZ4;ZA^LXXyjQSI}}4QE>&7U-|! zM+L;j6%|Etth7XXd*$;!4ovq)(oY@U17Ll!fV7EI9mJc5r;K4G9WVg@k@)qj zp`J85SXBCC-*r+weO(%k^LK^9Q?p09jLSeXX6~03UX#6~*Ik(c8*w-W(VgMZf~i@r zaB4TU_EcWI((|ut*Si`(mZ2U`uk+&Ox+-geZ63+0R%dM$xW6^6pxc&%K3`A2)Nzd2 z2=4qa%Y)EQ^!IRCg@~dFLIwXPg+G0|JXl-kUH~2HLVi19cP{`NWlcfE)8*o!1ZD<4 z+wVs&C|~QfgXQik<=W>rS7CUya11sAG03=RN*6T|9Df|{vn?kX|GH`w{x(3Ea%P)d zA5@9o{VH>=z2rL~|I(Um4kMLbN#i|sv%U}qJ2aYJlJEX;?o|v6XDRQ;d%HIaOCM;m5K5O0<0gNjOyVM+Z>hH|sl_XY4JR#!3n|@zhr4*z z)4&NbXFFA7D^Km!13)-m9P`R6o3e0F+`{?_K@%9pEF-u3}T zw9|#&dn`o<3*LU;j6#DF_uw0W(W5_%Bp&;3BcT3s($jRaz`HMSS)bZkKgLlBYaJ(>f|)o4RHGhPeBF zeK|t@OrgYvCyEWij6Eh_Knx7gmit0L%0-7rY$5y%=&|U#f^j=aL%sozk5T%j{W9)& zYu2=CsqU`bK>q%=yV$DDcc-^+F>OSHn9MxZ|9q`N)9>+0AI~ZLKra(Z6BYHSs&L@T zCE-fmGOuqlb?@h9)P!DyEK>R#Y%E?-d|m3ibw=aD#S4pWm-8nR0|s^mMe+W>3Zj^Ujkf#N8Tz4Y}z^f zFx7uN?>7YTnJ$uf?DE>HDu&7vQm}_>h)8QidbfqP{k^6o;lIKiZe;cy!I91Jz-%|a>4>e=Q<1A>>}BCKf#pEtzT6{B#w1uChT2(T%_kHh`MS4(SB1m#UuMD}3>0nZXcU)hoS++izrRrT2RQ2jNce}e&JFPYWa&r!$s?NHbzvz339ufdhI(6-* z6*tAfc4}RXas2A6!L3~q;2+}Bt-B>AxcmHZ0^B^gz@O~mLBViA$f84g z*JniUN1gK?O}-zrqSa7ee^&mZ^*@R8FYw9}kI8D%9J;#cG<2n^*4%Dff~>uyz}Dx3 zm#-~d+`lIijSyfQ*fND807T~mYq1z%lA`>_?5fDjq-*|qO@em$3imZGDA|;?2J2Iu zDST&TeL1U{fV;Df|LSzwtv;aX{?6Uw`@a3)$q@9OUzmiRf#C`39fsokB}fG+9t2EJ zF)*J06WzMN#_LZvws$_1&-Xs`#3wNEkPWCm>L48O#IvMM{U`F(Rd-0u)70W(ao$~YWe!vR>gseq5?+p(=<3p;fLM2dq$%Fk0 zX7uB^YH%^WZN5~Y%pxwb@&<^;Qqcfw6XC?3a)t<3$m$hEh}$LtgjeL}CwV{DM5SM& zPl$ces3>mS&S86HY_E;s+3^9Oft+dOdtM&%Z(sf+UI9Sv8}^$oc~g({{@~{z4%rBe zb2&+857%@8(m_$awv@~Eo577=tDaSreLduKZq07~wQ%+v<7(fXa`yni9#zF){~z^` z$;I9A^c~@T_EgRgmt5DWp(`o94sU`+WHu|j?=N)*u2v#t@DmMt7|BdXe6e; zUsh4=#;XAz>h-1;(l}c>_zYdS=px0lJ*OW1<#VL-oHAFl^4WAfxQ0I0&0vb@&M~4c z!`_eVe4cp0+}iZC4q`B` zTF3)ymLL`2w40Z1p;cJK5tGVya%>wBUAU_A(%vM|Y&MDCJ1!&W!+dnE&7{BXwS~8H zJ@*9eu%!Gg2HeTlp^m0-gzhv5X*xJHB@e`dzbIM~ZT4i48#rr0i;|qa@z@)u^nZ#5+L< za^rOWxQ$T_p#nRal6!cX@Iep&-K+GoW;$AEAexaz6*)34MN8*c{;J8%=>Sv+20rlZ zH9sEoHZs|t^GF1w9}__M(ybkfA1p}oBms}Sl?kvx$tB*`etr^J!3@J;Excuv`a3Iz zdj^8`9RT3J?(iBB`%KV`FFP+`GtTR-qkeyhqz26y1wZ0>A=~Pn#npt`sH!tzW@pPE zO*Tz4M8S9p0Bh$F#Mw#5Dx*+=QaI9d#!M3n-UcFlo=t^p|wTDYaHkoWuk1+T2jMiFx@)g`MysM|)Mkr|Vsr^t}do#3h*1f@b zqz@enLUPis$4o6g`=fn*tw?fohqvwy+c+d|q$JBAYn|MpN2%@oqdnE6$PBXSa#yJV zhlKk>R>$!qDAk!;Ju6#E|3f%I$hX2DqpR241BiUK{cNKp_(9#>9<9D~+vi|p!1N}* zA;;ib>^1NXTT2TK+Z&5{S@AoeTC@Ba&Ww32vE>!gX7VCV8m&3t_%j{)*To)?MP;nq zQW3`GhNUlVd(F;m)R zpC1e{Dvlr_p`ut;QHN+jES}>YoU7kgI{45nbB~Gc>#cfHYv@Ag-0)?(L<%K%UwJg( zPS6gv4w9Z@nmsBgtSQunGJ8S(I~66a#Y}C*AJ_AhHd4EW?L+)dYo-Y~x{Fo#xrjPZ2Uob~hDwV{A(b zx1~#01}Th{wpLm}3bwG-&VvkwSj1fWMUQ)z=oEWuM0D)-A=-_}B^j>8%od<_-Ed#$ zD`ffsrTX88vt5J8-KZiXZ6R&oaHS_8nA5*feIEvGQF&SC_mg*d>kb3qdBT>^iljI!`mG>H*YG%gEHHo4uxB637)TQM{cw)xwd0!!$R`? zObwO880W}bn2Bh@UWZPurHRLkk{L2AL_BUE%TW|E`Vg_y`r#HmNwZzVn3`_l^`Wy) zeZ~4y0cBbzq0`AFP30>K-3~r{O^EeV0d{D8ZIdrHC3kL*Qq8|N+j@g5F`s#h7IW)) z#FVC>ps*){{e1i_b!6d5>@m66%ZGmgh@@deiN3O1)R(=3T5#zGA}(G(r9l-+YIEK3 zxy~KpCV$<=`tO*SyDvfTjs!t`mHtOf8Dqr`IsmQs>F@2%A8Zft$?CXs8HUxWP~n)p z*4F*zN(%U@)_%?>Sw`cV+|<%J5EknBA+tKP{2xo|?Zhnubf1^DyCH&exm{5+MVFX~ zPn_%jekD@*B8YMIWuu~8cA}z=qQ)Di%L`6I^dHO$%^pbwUcHLt+Zc)7wfB3*!kD50 z4<^k}KI5;iYXQ`pkZzTElAOCBHd<&)M;T? z0`3vrl&uqBoa}1jHOs@SHau(Y{ocFXH|O!Y_PT_4Q~mc!aesZE)J{%!(CE{l8BhN6 znu3BTN*V)YDf#{Z_v9Fm{4CB2ii&Oe}=>A9Y< zwllarPcUjFW5Z>>IlLM<>2++~+9Y0#+fu0Umbpz-KwUAj7CnjB&*+}uGKr}sT9TGu z1K(Vl`sCjZ-Hh>?7MmnF#jY)Ea*4R4>Pr?Z@Hg@E7d^>S!@V!c#hB-k5f}0H>a~h$ z`7LtWHUmh)E5_?)tAm98`kwoGWDsxciu&;*Hq-HaYE@z7o2}`*(Um(Y@2(SMNfa?7 z~u$_JOqH-?$X=4$Jj%o9l7l$QUcaR;^V94{fK{3)v87!aWr$oB!Rv$ znQvhvdeg@gj9fo1Y&f*;%so<#M!pGl@?+DYw01yzgQ8k(%R8{SSsV!5{LST`qqF#iZkctj z!jf&`Ya~%WPFl=1wmz_BP;g4jxw&b1-YJ00Yja~^=u4*nrp9E=Ii#H+qs0B!~ZyaDw=n z5u>tKbuO3f?rVSR*}+por)6rD#onEf2ENQxGerN$Es(9rf&NhZj19w)S9r`eemP5v z(RXrc>^cLs(hu}S+s*9qSEI1bFz5F7G^a6WMtR^>sYTnP$Du( zOu{m13~!b6!Q&nER!gUsUWKyn@Xi+#-C~wp#QP};{l_1COJ{||s5I&a%Rwu4icJl2Nx^6hPFZI%xe!|9=dpS!guEbcHs z+cjk*0y@2-{qR2I(+usR1vwx4eKdcqMNUA z4+c5>?qwAO&V}E2ahJK9rRBSTx-0}PG)3E9QXDTFWgYbM(~pJ2TYLf%2^N*1SkHKP zABc!8&gKK17D*}6B95qSi%n05Uwymgx!-^z0R!}|VCJ*8Ca`<7)hQI+n^r2Wxy&I-9*^#Q3U z5qe@8GL_nW8Yv8qx%KJ1u=JyNKD-dr;5j#W?T=gwgpM@^S^7f6XKW;(F0sMF+ZnQS zIh-A%d?x)gI2U|?p5_A2=A|>~8=BzuNYk{hnKcdnIDa9H0RN8J&L+_eYL`&GhL~Lw zS8`em@w6}aj59k`z@yf-0B3Nt9DHVyDbApYkB;IZIXkkVDhLty-60QrdZHnYQOjvv}d6a~KawTgs@wyeKy{cR8a z6f~hucdFwj)NSE<3{uW=^a=beai*g9yIQD{r(AE^{v|fqx*M`>q5p9aw``F%UlQ@O zDBc!bB)DKv;g773lFYd@PB%+dsxBnJB@}{jr0fa`E+cmX55X&tAsN#dg=X*{Z%;9p zwkqy&UN#%z6G@b+oPg-bqct9-51^>XMhOSRm`83BVh7{237^}zdek@KhK=*m28{=gr9a#8VEacliG+^AiC1*(c^mW4 z1mfbBu^!o)3Z6k5HS(S0M{E+7VHbPCCa!%lex9csXVd5os%nKipmGgnj){l6Wh9n5 zx@ELl6(okZ8u}IywNddzoGttf+W(si z^Rk|cai^vg3{0yzffh<+ky4>fQcqu0ij{U_~73` zg&!na{x|tLM<=eNwVGewkmw(!vK@TwuSfPc^YrVlX9x-NG-WXNeyrgR{P%*RpV%(o z&QHwA$)WTML;-n7izTnV%0jWl@+;mzFw=;lP6r4^&F_vKRBx6NWM<7BeI^+3%^Ead zSXyvBTp)i77UyMU3Y}tN;cn`_GG3T{No0M1oYBWqSNq}#R1t}G|83bT=T&RpR~oy| zHO9dK>+s?FFP{UbQ*vu^=FuHeBowy=?7RECK_82l0sdEiH)Spr>7@sT^U>cg-Mq1Z z@NnG#n&@%1Ag!h(+T+>(#wd9+Hv88CDkKQS?|6%2bZmoy6Z8s>1e-gA5ayt>v1(dad9psf0za)D8 zjGeFXnJ^fD)_AT*ZoapJF@mWvvjS4ZAz>#!UkpI@Eg4q>3lF&fnmWJd4$+0@PW`z% z|1%6LX+r5(6&Zi{eJ3EXlvZr~N%1G8Ym!6l3mQU|ESU|&(j6}ViSO@~95I1JlaxG^ z4*QEs`-?nasAL5UY7Z>^Ze220k=TBR^1|&7vQR)WP6Oc6Mm)~Ko3?wU=Ag69@?bOX zciG1wIc~bfN4EUI#=$}euN0%-25IQMg9N;9o->QxQ5XQW|8#g#;Kbo6fR+b0%mN;Q!bVk>Ur<kNz=ox^PODVBqPYe+>MA&~i>0M7tUg--bP38pVt4E{yFj z*mdDT^QdW^3hjqV=esjBJ__(v{gU1QGKfI)=I!19V0{?&+~1xmf|~d|+=?PloDI|k zDDG;04l6XJ02|-GC$j*gVZ8Qo#T?E!47GI2+%hTKd{9|k>^kL(C$!oaHSqE9^i-bw zr$mpgg#%l-edgF>*g*3!r$ODhRcv@1;BpQYADQfXm~Uo68kFRjUN$=9y_HxTIj1D_ z>5&G))zx)v90;eh5%d8={Pl(@YSt8LBJhCj%7wZJC}D&w>fl%Bi`rg{uGHVEe(3U6 zjO^WI(D0G5W6Ag2=Ci1(<>?mYbq%XT8sUlp~%Wqid7cFrH6I6v&a%2olIvx zs|+6y_JJyiee#Fiuh6*3ljxre!g&}L} zm~Rmmd${rhl7p8M#Hh_VXaXf&5kVJq?E`_Hu4C_a0ztaeOhtUXTf;02#nQibw*7mS z-1`e8^g6#GS|AKZYC%>X6k}UW$)|S|G^l2@ORWak=!vf)@`m1eFN&xhZwpPj5qMn( z?+vgXZeF_y5n}`^$u5bdpH`ghcA>m#^X%teep0q!j4xt;zKHHFGh~mEr8l>Dzy5S< z%5Q(F;Cf^dva`^6s@2Za)O4+oQt_hr%)^H2Hf51DKzGHr3v^;%P0sx&xc8iu=3VWF zT-3ma+&yF0u3~FKMAxKFhN&PnETzOTWhxZ23_a}9$|zA3>kgAhi#$9}_z)z1aFp$z z40Jl^1m^VD%~gPj78P0twi=g5AU9F@+f6M6rx@D>8Z10)+eidY%vXZR!sZ;vcFkw& ziyDFp?F8jSMLnZppM%}88rJ~kwtmhaTGmy-WXvT7xaV|nF?}`r>jR4;l|_5Io0jfl zs4|dl`NLx%abDAd9WnukNas|#D$v4Qx^UKC|9%pOYF2Ii`YwB(Jr@Pmu^ygBsm`HK z#B^(sL3%DVHPvcJ`t$KC@!>qkSv*kEp@#>6u_76U#@Yb8`075flDJ|W)C4h(%bQ#i z?>CcU7jeLOFWVHLNuQ#iIEFab`tQ}YFnqb|TyH_c_Nfimcx!eOhe5O5YQVB$;kSCr z?UGkcFiS~5zGoqeqAy(v=2vG+)lJqpL>_Z;Q)Uf1us-ap=4<@a5+*D4=f0KUQYFcb~8l2##d$?k)?Y)2puj$U48b{!C8#j9Ibc zJ`e(n_X9(9I)NJA8hJ99b9=P3tjM~j1qPVcf2CXc(LlKJdrsKHq|a8e(8*yb!!~Gg z0hDFT1^s783QeVf+o<73X?JHb%X~dIJv@}q5X?!l(5LI_&^7%ib7D&ma7~1^p zpPERM9b^|aeZ^Be;nCeSN#{lNy9w`XYtbDJ;c?YmKKnlbxC;s!K1)Bw);i?*16e z<5w&g*~yV`W~rMI$=-`OJ%<&mRq}|A7{Lht5QpvjjbQ-FkXvL1|_qwUwB0M*P7-Nqy)#ZFkcurojIls7!3K@XbPYn}n0bFmqr% zzcbl4sU6i*Pl>dVt$DUdm1HGPUQ4cCc=mHRama9sA!{T0FtOB8r*^B_67`^_aBkeI zD}PJY{+75*mawmd!PldSLSf8{Px#OI2W{+m#JcuAOlm`HuP&QSEsL1o?(1ixB>kR_ z&V9FM_)piaVCCWiiw8H`ulhHl=(z##QQ5T-|GMZV$c6=ZR_J3VhThAG>Y<5k^y|;vM$q|mX2%deSws~} zI;w%%(|uA4eWM5Kl`nTOVOsHb%v^*vmN6pO{^(FizOb~b+GIs{ZlUhPJiqzumrD7PeE+p;DRePd{aoxgXrUlC%cCi@BEoXTnVpcLZxIb zl0amj8*>eKcw$3xp4MeMaBqSUvmTq{pi8j?Ggl$KZMDmzaev|g^rcT7CYo?^>XA90 zfBcK}_{x50<4)-Ec(uz2W-fEj#%kBtBwEZv+y{)6`&1#}JsmBD+0O(&j9{M(2$&ju zTmuHB#3DJ4d7a5WEgWRL;&a0<`LUF3zjSjDQKufj3WzKL`?5a}OVX{tjcjYhy7f8D z(D_WPy?cbsd;z>e3udC{THX0aDl@$ldF~HjP zLilr7&HaUys&?TmEu+JMn9;@aJB^bYQJG(Lzqt|*#bwfF%JV|drFU`Decj7HblpDP zbGR9S7{{0}&&{>*T>bks z<}}Jbl9T4vtu7&ljH*?}rgwMn0k6{hJ}X)(V&R~wXi3jEEaTH160Sf2MAJgHDRtp{ z+2nD{n87{1C1EQOCx>_}PTs^m>ngMXeIz zQD=Q+e`7#UGyh5Z!LzdmJN?2M4LcKS{vK~f;4?^-1=ouFoTu-OKft_1mH)8FXLaXq z1#I3bZEbB`jER&XYTz#4Q?s^ESSz z2ZG96e6^T-*bf8+LW&(2dr`dbYLid{jikcAEimE)M&&``Dop6r&|dSIURXZTl)h*1A}_-KeVIBnfk=05j^g--W4T29B^BU_ zehy-E*o!aI#tOPAqIBI>gy82Q3bc)*r&Hg1SkRiS)Y}1Q<%a|KzhHH((r%8%8Vep3L-)J zALbiD0}g(&5?rvs+^=HJ@DqiQOXp7RR^|BKsMne)9k+e;oM}L@fmOA??jaDEwnfTt z*D4RpiWYil{AAihHVgX+jJUj-fT_ay3XBCzTm4vS%YBR^++5}iF#QhUia>_(`+Sz{ zz#Hpld;McuWx5I(d*|Jgd-ghSvlo@IFjxHh+TVEBd8UHiV(Se+Vn?uvP2VJAtc}r% z%kZ9{tns~!*F!6Tw))7Bn>F(%|j@#aBk~0AR6G;PFnw zZ|X0ywM*rdxhQTi(n?UDI@;H#@h|UCLsSOG^gz>*_u@RB_2=bNm9i|M_^?|S_(8| z=v&fIS+YsC{U-Fo+M6TqH;TyYUSCu@4{$94h!<|MUEuEa`Z?T$q}M2xaH4YsaB&J*5Up7*L~gGDS6Ncb_4wkf zb;wVr3OK*J(48@zz}zmBfNh8L{&f9UGP~+FLA6jD=M^sfy!f@(N2_pf)W)_q%EnEO z$5@p+OEo6{b(VIs0_(rmH&jM*dP8E>0-K&x?-=;Fd~QrEhgnn-eh5#a%zmTaJzm8`8q#3P(eV|YmQ-&4^4o|hNH<; zP#RkAIdGG8*7oLY4}YeVRoaKUC(_CyBkx=t<`U5*HUTPHYokdEx;=p_#ugyOD)uJ(@PUU zm-SyTKph-eVRn;$S;aYOF2)^3-lpJh1e}Xu49IK8n_H zpNYYV+fpsZ)HN$)Xlxa&7D>#WBg_MaQrgYKB5L6x8O6zS>BaxuNJ$U zX2yaKdFB%0lz8H8o^zOBB<|`WQ6Ih=WGDzEU0xQfny`I8Mj6@YuzIjE=&%Ob5P9d` zSxyuL0-De-CQUPdtEqatcUfNXSVhqge+&ZnnK3N1V!{M{Umyi_)`R(5N!fZeZ1pC| z>AR$?0n**VKBYYP@2?S}!j($N6lB-$gLLOOY|b&G@pV`jMfjIJ;dP!Ds z8OG5d3lckE1O?CB?017FaJHLVY#HkHv;}DLFSId_sO4y?j(5p~JC|pxg|$;N|H@!c zJ(gxo+`o62e0;rM!rX8uQnBb69XS-4~rWU!VPhu}AmYa;uMlcyHVLo57 zw9K)K1-mO&;HbVrhqhTUcF(*N@WBUc!S`}0tt?kbEvD&XWMqlS;{8D%c#vgi^26NJ zhcR03+!XlC`+!cCQZj2I+4Y6$y~PK3hA#^!H@#A36m6LW`L;00G8moF0|R;HK|YrR z;Au`8BM`r+PKHzb-GgsPV9Lb#tFU1wn<>7X>GdA@Xzun290H2v34Mb+pbHa?$T4VQ z5kF&ke?YCa4#^1Y<=lXBkbYgPB=--9z5uKtkye90LxHEH*tJ(QX+>vNXEEpc1hNNoLWya&ujp8=&~|Fu=duIS;x-s% zPfJ$ChA6S)i+}nQXzGyf|9($yR~#H|(+Ek~l$b85*lf)Ra~CK$zcKkWtnDz%Z)1{+ zfRc;SbTpMJg{8snI9ZE^ZA_6W{y##X3c$*d2uWiz*iC)ld3JnY*5CXPNWyc=G5xYz zDe9w;fgpVfWEkb0B_lSn5xonGW%9YXC>#QDZbQwUIXJo97nlov@00o5;;QfT*=g$f zq{3zj7(A6ZSFt#G46xuH*wpy55S3xk)^$p@l-64>gipPIJPI6`mr8hdWM-aMRCl}s zV(g;b6speS{h5r%?gh+SsEQ9diWA$FUB`QdgPTI9ZpU@%{*``tJj9-K_b=_u>Xb(s z;=uh(B>?AOF8OSa5463e-(Y}&H~Af%W@OUjFED(3>qp1Qtb{+7D`g6t-Obu#Ynjta z^*A(;@T&c&<-XDke~8xwZ#XC@_xBR+bBMI5^Jl2o-O$H*OWtJ39@}~=r&?HYyOxda zP-YB;yD~sfB9y7+;upDx*c$l;F?=a|+0HcdP+esrvkMKVSXvcDwv9uah0I%I{=Y`g zg+SM#Ry@2ZZ3Wy^*?~bU6KP8n`{|_H(*Hs`T)=CbKKIweg7b2Yx+pkS3Geo!5HDz1 zAWG0;$p$Al!c7HP%1ltIlVI~%E=o;Ob)vF`uw;0n(FVyz=SN{RdJdvrvzDi0lk!Ma zoPPX`V~nh(-D9;QHx^BL48)(J8hyr~Z@WFuj}Dv_+3lkP`=RouhC9bkqD-+TgUuB1 zfr=T&|KkuTE=UmW6QuiuyBR?8=-<7oRoE3wCV3K{AhJge2c%{jxG@;D z4NNcUaJOl6-9`;t2f@X!0n_L*$=uKw3Hp;v5}(Huj~Y~M*(_3+XZ86H9}Zf^i4)W@ zo0Y*-_m>ldtx3l{$4>%tYaB$T7w(^UvVN&fQw;HQA1*V_lY*j{K!PcMPI=bF%jNC) zhTjBgFBCp2AJoP{nBx3$sYoO~v39pdvD~P-?cboK*sX^+` zJvje9sGHD9ea_*Z-}q!<|7*(TSQQ{J$9r`hbXQljV)lNmjU62~9|edUA$lOEZW#wI z2@Xuoe`^>d#6KFP%V2z*-F1^<(@m2}nf7u%)7sW?Dg?w9ahLi~bF`h#hpy4feE6jz zZW$niDk&D>=yXq@>vnsdfXi^3 zcVWFT%ZM0iYCV_~j62rcsa0;B<4W$$g!INQzCSNjDjtR{9ykz%kK4YdBnARpQC9gg zWB#kzU8}`|JTvXjM&F4oWuDPH!C~I(lisX5>^fA(9kL+es1TgW5umme`K8pC6!ab|m;PTRfp0@)T%QEr4Bqz4gb6q2@gH&Gt3 zn>2FW6C#k(N>KU3HXC&rlQbP|$;wzPrpj))Z`+%XrmpU@4KmIjQ;{~gg&qbx^$8a} zHH3lkazFqfJNfW-9@ep6!EF#aKQljzcW8ianIx(odnac>{Ny)Mtso^xUqm+qRZ?Ut z2Y^hiyX{=hl>!2G`S@1(8PD`iT~x5R{lsk%B2d-pCs18(TgkG7boTqo`Ke!V)yj0D zEYQ)S3Axmao}uaX8a1A(a!ce-9Xwq>4#bT#GBxwIMg{hS-QbF3-RYr!!Dmgfb70{9 zj?SgCGo60h2LSm#pno}27uoRK5P38jWB%xYLF(Suk%vZ*J-%KI{TDA~V_fUg?QRM* zaTE-Gg^lsd!GKW4R4vMI{mYrpWr}{X*EuU?k~5WtWdEz{0`2~AD95hq3;1 zQU(EN?ljKv6NA2-K~foOhhP-Kdf~P1oAV=;Uw{!dj2&t37Jv z>4NkUiEZ&Q6bH4Qx#*(?8X=@x&y>NhdozCb<{oGq{w%fPkuaYIayYqxYi^bUE7}dL z5VTRgHAY-K!v9~Py-5UwGRTE>%m}EHPZL=cn3OQ??-lD=>N6spyt$S~e+bwt54sCu zh*Uyu@`5xVNj8*Flf>fJ>-ML?V)qM-;$p*E$-AgOf1gv~#!n19avz`4?AZdm84&xg z`f&s0!h>MSIB%}jiz!KByG9-$kCpPHoH3!PTB19en!com1r-iKD_>@#pJoU4u$mk& z#yLzvuN8S%a<^in6*_)2>Ig8N!4Gli$ktH{Uf@9BNV0=t5l(kJ`*GPkdUg z9y!8E_kfCEb=l-ix#Z=^h#;rm2XwYbDW}7lM+7N+RNuIk#%wQh*-tHo{651kwj$o9 z&TajM00cWHMh1j191B8@=|*fFpiR6qt(g%?8-G7``=XGseDZ@DkjB)mGb#_M)NtFr zskex47`SFK;1!3#w(|6B7f$T+!|3wNj+nB=3#)iAHsd_L|9zj*HzrTb?t4^4kUM3{3`um5Zjw$q$aF7B@`V{~6p2 z4v^0o9IDu!rck(oAomYKlPMOGYjLTMYYNrME~iR?15_7!$CTFkntl(i)GB+a)EjtP)}$VYg;0IMIyA)eU9iX59u(g z(fl!+nRO1aveT(+Vq*v2fof4b9t-<*UXT~+;Imn1uryfokn)TvI*#^PSKo#X}jaVlFM&@WPAy~_u(YoOtUt zIkNJ5n7C%Dtqj{aj0r&b(P|%xuS?J8H!X%_k&QV-Fa_z8zIfxOJ)(~Rhc?}E*_lqz zx{Z9~752#1ZL75NkOw65j(U|er4;}hlhX3-xgi zlRsKme}Tb7YdtEkNC+GBB}nR0H}SWyk+1<3;E?gJyqUni@GW6aMlL%N%++!nYK@lWy40|Yp@n36Dfua#f4Ba%7@uS$>vOD zk@E}-Mqjj*9LVR=0;Hz|(6WR2p`ZrP z8SZHo8LI$NH->I1PoPP??R(Xpjiyb*2Fx_?3cqx4J zuG;C^ao}DcC5XEpxsClklqAD~I3()Nvu6wnatUe2KU|r)v{zmroCI{uwBOl$CMW@| zAFu$tGCH_EfvaC;N(GRmIa^x!qw*1W6-&DYBl?Iq?`*QI&FviPXTBw6>K)M71}gqU zPSap~5F=^496GfVa1jEr%n`nS5hq(DeNiwce(4Xly$!u!QrV6X1+CEb(V0(kes5pE zQrdMCxrs{Whwlr865jqDN_fwerM&T6SIjhM*WWahpCg(8aOUo%W3NRP+kD|vqXcgG zU#*VPS7Np2jjV}yqJ~bvv8Fn}!tRwbO@@6@Z6mLc$k8GkGxF0L62u%6A5H$Np(nAV>p?A?`f`3Vjk&R@D*NRR zAY1mu-`vev_{>RAFz-9lCAEt(NnRPkwCOC;nfu80QK+ck4)77v09^Iik3!VTc8o6P zU+XF_i8&&DF=hDJBLYIE^TjaY+rHF-n+EdMQ=(OCbm0t_U!x5gE4Gc_CUHc!5|pUN z-&1argY)HVimd>(Fx(_HSC?k~-S~O$uY{F9V2(>yfMMsDNIn!=(F)kB$wAcc@jL9J zkGWSR{u8fRlLBlk{!ld!yJ1%VbB7g9@<^oKHwE^kz{JzeX3TN?T(V8bj0Mkq5y67O zB$R`617+EFWR%`;d4Q04i>4VWVEXFhit>Y8_9S}I$I=V;8`OD!_+8Ti2FU{YxS3yI zemH*uxv3`}-M0&hT=oK>@gFI+?+j6w`f*8*o@Cy4zF^GN-)uDX0>?XS(9}x};_G_Z zOr_Ir)f5}pud=!vpE4gpfAPpqhPWi~aP|zeVviJHP)<2p+9E4i(ghJlXu50YC z;%s(2MtFh%K}O_CtU2P|!u|bXe#UjsyRC};5v6IN)JM8-Zs_gxc)}ZvX!FOHDp-&W z#2M@H;K0WTm&|DkaA(t|U+ z=ci8g_w@kz6dfwNPhg7Dw`zFSlUTQsw%guGwglx?Hj>He{6m_otm+Rc1GE|@QST(j zK30672MEOaes%}rqVHTuM2%a_)`O|jO~QeEB?C!-*CRAG40q);C6cGIYtRep1`%hd5$-KBNQ}k zqPcy(#t4e9%>WR;lQ-V`IRRV+(lC@9?+*U&0`B2d%aO9;knevkxHV`3dgFfFEBV(J zf=L9-<7`5yb3`A{d_DdyUKs9wDD!d5OYIpbzxD{u&cRGr9IiL>rD}@)I3Zf}zP+x5 z_i@AUWRh-*1jZw|QuK)?12;Vs;5P7CT#^3n*#VAsKiy;9xxV__*Xp9r54Y?Vte}hJ z{@LFJaKY8Lr~i)L1GPy55IgyxLmRD_lv-`6y90wz9|X<(-hSY{t0~m+)ji~V=XZ$y z%aY=3f<4+bz-zloPy!wHDAlY6XsHt*cHb5^kK?JS=-Wzm0Fil)sBNgQD|c0oWsfD` z;&>&eyJ;ZQg;1gaH^<`s+DQW4ZST&_Dig6{s zYdT>ED`_{h4Q_0KIC65an~>8Os-`bShoog(yTt;8w+%oj$q|sBrC>r(QT3kRt<0!7 z3`D{{_KPPGOJUfZ>=+2X?smyoJ(GPFbNg}RN1ux{Sj7V9^Xnjn;;MO}itUve0DYW3 zy9(iphBM6Er00igOUv{v1&w(472%r%4$>xVn@Sr})fn8P)A0)(_=?Q9#&ZiuI~}DV zUl7)suyz5}9hPJHXwaMbwS;UkstOcsI3}C{2{ItJtCLp*QZ|_N4L)gLRQ3N{kqjOX zOy|m|)&8})DMJ{-_z+aYKR3{yeW^6^_rxvkL}5nx_deDS6U^PpM)X{7_Z2#>fKvfV z(!%66fB5I)Gys!RYW^x&Skr{a9SYOUVj;C3tw~TFCo>MT?e6x;9@`snF+7qi9*Zyb z_;(&9F)f34qwKNe8eHNZL>$ZXez-ajJoubN%MATgdgVE{KR^J}O70p)*0fI~pAgPR z!iq0Kj*D+Y-7RsqvZk~Gbcl1kwO+DOG*@&X1F`$~6FXBjpb491tNgF^2)>CgmN|6E z0K0s)Z}`L(PE_ybC@~c%_lIl28+Jk46-%9U-k$PHS4+T_N4e%$ew=U=Z{So{f zS(UeiN+I z`wkklIJ*4Pu})e(HE`c8-lPn+N=x@s1z(zA$L;-P9k$k7b-W&>Xk%yxXxEFgZt8zm zsly5YT=+dC?PA)qVE}t>0yr&Hph#&BRy%+2{uPlV%+|P!CgA7zJssEYE=(LtgG(`UKTo`H z3OBA)RSNvUeyhpdeY4tMWb;+kOX2pJNy!>?!< z-l6&Y9V5}8Z5va31^hBo3rwTb*+O>XLBzpR*V{v10f?LI&DB_L$O@D4o*%sI#i@^L zZv8;P)C4!F@}wm_{{Gv4q4WccNY}jpEvC~qGqu1a7pPK#Ef%wBaefPrt95@%RF+u( zILFSVZnC&3znO0U>C2Vd5TtMMrR!m7@%*)pV}rqyh+8=cs9NK|h47bMZz#cg#foNI z`Q?n%GBJ89d(w{${eFc-Pe|sfy;fwgVF5#9FYu@VNLvn24!LAocpGGnRJ) zzQ!F*R*x~Oe$-V<;o>o3`U{i#A84yYW0lsLqETX z`H9iTf))gJP1I;~jQ;*TC1+xYx7a0e&#-k^>mrET`iX7V#B2h(Q*E^XbhHXhY5x1n z$f73Xld+q9f42$;ZbAy}?Co$!&gl_=wp+HduY6l(%MR&Zzj{Y}5Bc2`vFl!4WE)UX z<=km|kx{6-Scj%5jl7Dxds#ks=qdM!-GC+rk~ugHK@A$wvezMeZ1Ix$3UwWyOv$V)h4?zkc0Id51KXYQgfdIj8IEnFKh+o@9(+H+116#If0L%J? z-Ys|l*ALR)wA~(C8;?0v%>T&9!xV}D9npM;qS7OJPjwDX^kGc##r&3RM{2w}jq!6y ztwvJ^$RafS5|E9T48Q55O*UrR1&XPK1{r*Y4)1@2;QW0XWqIIg@g-k#o+ccP1QsOf z^OfiFQLI<@MAK375a(%PBRN05TK}5S!lBAZAE7btwbW|H)JJWZ&Xr8P-{9dF3CU09 zkKn-liK}qFNE(i{h%LQm9m~BBP_@Oa<&8mCnZ*KK+UH-f@C+NY5i=5H>RH)o;Oxz( zMHAcoh$4QK+q7}KJg2&2vH>XQ622CoLGIZ!vBg|K@sxNO;3t!ZrhL202a#rKpJ`}oM{U7 ziDv*%tRTh&rNiGO2ud&-_UBr@hbOPz7`}>e&hkSLhs7H2C8seq>XBk^@h^ixbXpZn zC9N7#I`_hd02*|aaMX6#Kd;;SbgS7+04()=Mal*XgP5VoBnc4`Y`*v}K_lG0uRlYr z_v=8qxdC)do+({<-#c3oWm6*3QFqgTlN;j)_4K+{J~{Agn{v4K*(ys}k9gG{XvdbJ z1OwzrxpqcDe?4%Q*wD=r6T1CJNNLlki9(3Fvv(sn_4>w&)1$`a0ZvT)ye9Lcex53S z2uTGkhvtcni)*k7OzTMtA4Z=r?A|d@EMb82hfxugIwgNwH04oK3ZgCQqsV!KK9*~~ z7yl9)ArPwruVj9KTo8MY9+0iK8Vw&(KU`V9l5UFdMT7zME!Dhyoi)A{Qdfq~G=xn& zPbIYT`(Nbu8b;K0eB$O1euYRoQ_H6~cdq9S%4t;S_yLP-^)x3DFw*r?OkV1z`yFglloA1g^v&WS z>yvW;zR?Xq)5ge0ff9SGcA2IOmP1EmAB007n;hgcsuKdUmPCaK03Z$kCXBmYm+a4XI<)jja7Z$yO<(4 zbIxp4GeEpYdw+J7Z*1;_lUF)n(5JUWkt)| zZ&Wwb?xyPD@yHQZMxJCbR)re}z6c(oBmN&KN(iz+$cf(v<>{>gT?w)7<2z?Ah?tDL zTVrc6MerL|sCO>*ZLFs4p1kHw)3J+lr9kIX1hq3+|FzQefds^mR6orZurbq?D@=Lw zZS^XLkIz=m{R8%ipJ3)g?fBgw$DUOHCMYEy206Tko`niQ(6MoJoew94w^jinSy~#* zr1tk{qN|Drq+_XMr_?6T9{d)$XS2!$uY znHDBzf&a@d561mk_AdV<3(2^Yl0p}guf$*o1T|SjHMiaNhmNO@KNlSC1+*6&i^~Zo zlD0Hh>Ue&V!msEgrvE(VD@;gb%B*ZjU_yQvFmgnk(S95Xabz6826NsQi*m&IGgGl! z4}tjN#>ii;7=LnbYR<+)ctFvPxQ!?Ve$$*QHX$g zXAYl*Phry?H6~!%66565=XGbUgxS(7je;QiGB+?bVi5yHN;Q&2Xv-KN;4F%pY`EvS29cE1XC; zA6q)dG&O@X7Db=52S95B4}E(~OY1G}jBQF(Ryq5w<~*nAFL9EhlVaFHk-R0S`|)z4 zC<`K%XWdhc%;FPaI^CP+nECToH7{Rc^F48bWt^t3metRissah0ju%pHsV23N;}Opc zmdeI+#F{^P?D$)7(lS5PhqamScF;++6I3vEbL5vrL&w%Y!zpN>KPXdL-QuxDvgf7^ z_~}pKER}NT8`U_Hh!QIRzjS?`VDa=Q5O)GfT8EuO9k$Kf$~aKr=irz0sZ{23xj=|Hbb*wBN`ob05B~Y%?q>T0hkS01ev9%6}PY~7PS`hF~g%0*KID;p6!AS2tj1i{0!K1U+MnKC`)q^gQ{NS>VUOrsly z<%+p=?x@@$#hlR;M~J&k%Yoagh!BV&kT!k{PIf`EtZZi*vWX7iiSMdmbBvGtSHd>4#w|w08iBR9 z+N+XqUhF)ez3oeOg|Jk_Z~W5atjO7um8Z!k-G%qdkW<3>X{Abkes541JpT1d5XeDU z?CXe&JKoIJF}9+|E-e>$=T!8Wf3pw>A!0(fPym51U%Be26|^S!&~I^INcakfIUE(URN-*T`PSVe3Pm{W52}pANZ&J`m3| z{G(MhWaG2Zc4jXA-tGtkW&usS5Dg82>!xY}6vYE%F?)S_29l-nNernL1^ABtz^Qe> zbZ$*}8Fcy<^0k0wJ>uUy<-k8|s1DrNo%%U)b*+~k$+LV4{FOpq={lX?Z-F4Fbxy|O z_ZVh24(1%_;>RbFW~?>=p`{4(nqm<_z{csuAhNOU*}JRC56`0G#g7BBFEJ`##O4W4 z05M1<`>OTnl+KKck;mF!{ihMPd976@ASjvbajPgd=Bphn3jBHWpw<$^Ivyt)+v<@1 zbsz0}cgU&F;&9|-vp`(|?V@}aK5Uy%W02E?050|XQA-b|3Z!_3b;PZeXge0C;Ffu${vT` zF&||waExDi_O`+fC2D4^l4EIoDh!$dJcXK#jH=JyT>(>P_6gn}zTw|{+7oz_VA<(W zfc>?#+oGP|N)uO{v_i=&emOatUq53p?K|WB?2n_00kuFi!{AQ*3fGaDqkVLe`)5M$ zeaECXe$+*CjO9r)NXJ_^D}P%@|4$cj^JWtv=O(g8#8m*-r;{tTwTnb<=qb!=qr_56 zjd}m2JyS7Z>5n85i!Y&|X#!)u)Np7yuDWIi-m7Jb~u zkeb$(hKoJWx4^A(#YbVayx|w%2lQw(Sw-4!>1ToXV2MP5qy4~Ss3+8tJ%kk#l@8B5 zb-lpV=IgRgRc$`hlK`&BvYD;l5{ke^%mrRM`w#<&a zEp>{frAX}nmeV|K|IXN0&d(Rxod)9VjcbebvO}5e-6h`BRDkN%y82~*uXdLQ;QucY;`;xu`YzF=6p? zHPT7Q{m&aWoq?chZpKm97>ETKh(Qd0<_8BE6v);^G=W?%IDW-AFYS_#ENG8_rBvn*sk zO3Q|E)>%rsUH?8SB12imD(uQZKsr#BZK?wTUNN-^0gZ$)tiQ z0z`HMPjn@cZa*M@!Ekm!mTcH|28t5(TV)zO1q2Q;eKS*snoEBT8ygO;FeiRD3FW_dkC<_I{Je+>=CmML0hbZvKF9&8#2I zjlB1dYX~32@imnxM%jCsi@_tWUjI6HVG_%_%U}m4jPX#J_tb<@f9X<2W4c4`=_xC0-r{CsE18 zB6CQFV^R4e%c!d^b$m-7F7a^SS|myoSL+VJ=?0{Tf((3OwBl3-c3U>15G(B zTpi;Vls{3XXhfvp{v#Sl&l^1okbhi?zx{WS0A?D+d~16rG`6ka9PWNA4+Hg?Gagx_ z!!yXQY+T9xt9N->zJ&S_TNJ|vZ}sx)oU}ZGu~lMudg>!$#CF!`l&xy9Lr@>IsG&^k zwu5DqY{d#+&wO}W>hwu)VT^Bl;)$hcS!n@_EmFlKmJ}H%V?opTkjV48)lZP-DrSG` zbW^?(%MqdQFRs2qJd6_bk)ctXSfa24+J4Zxl;o0=9;56rnH*1-Wv`q^j=%8+%d;EjRjC{ri@2$%#7JD=GGJ5#x zTBALmAsTC-&ofoaOdt)v5Glm@D#RS@lpI>hO_k&%pVtn%I%K`N>Rh_w_TxG%3%44s zT3VnQe9W<^Jvc zYg(jsHMGe6ZbdA|YDV*D{7Zv)K8s>^MOakF{ns}z|5!f73^K@ToK#n)r|v~!h_*AK z=TpkC1S7?V#`p{>SuID{&$h~*-F;-o4&^ircr;L6NHX*Sb^2`ilrDT|S%38wm(te*zkEV8{p^9b6DRpiu|bp?*+ay2jhGg8%tL{Y8HtEBHDQIy1 zz#R8#jd$i)wXaiNefcG0cj5>peZB&jAp>0F9dSJ$F0H$me{%9nEpiC4L2eJlTgab3 zFY*5Yg|v&{a{GL*>y9Ie9QtS+z;_ z__NFPq>okE=0?MB%2}u?mi2@iqdy?3Snv-^6s76S%PZWCSXXVK*UQr;mO zQD9e4L@<-sy{y@E@ z`TND7Km!bN<~jL|8&9CPwpTyWaJ2Z5x!aT9;Mbrp{rqJ4#+1+sr&*Wp-&2smX}V^K z-sN%&qOFELP}_T|T(TVLZ2e{;BkNOiF!68$a+M{Oa3Ff)-&VGR2kKP2aWS2~MA#)L zi+nkrdDwfQ==Ko#VFzaw5%UWwlR+ABO4ES%1@6(*f-R{yukguHgi{fJb_qJGv03rD zvdDbycPLXM4Val+4s-u3%j#wLkPI#aFN&e#r8(O+d-e1gV4+U(L&)*X}&k?uex|l zdS#8(dAWScoO?oj`|;&>o@r9(;YSlk`)kRz{H%VPcRZHzD{BB%sy0c=qejLDU8P7N z(ZcM%GwskEMBos)GU30!;xJTTT->qQX(@YESq@Eb1AI(Im2cddUaE7lS#ueW!X=PS zTW^b$0<7N|^1T9=MBB-$L55fP5|@D{ zIkO7Xpa#CF5?6ZOePlse!2rxS*_KdOx@%)Wb8TdL(_^&wYOwjUc&;amEiX2{5bO0s z?J+*l`m#gG^!HAJinRip_YLldw<>tpAIY0SaHYP5$C^V}C~iQr^N3X)KNm3X=V>cn zw1{(h!Rf!aE#{&Jj?_$EKj&KxImlVLgQD8yk`B)2`gRn*Q+^+9H%{4)mVIHlU3c6< ztyu-6v#JaIxAJ6K`DA-AIt329zh_r}wXtqLtEu1-$J{%4ZHT=g=?&C{nSju!w0I~i z4Z*DTQ`~{!0>2cErM`OYawKh-CQd6Zv9wAP>Bp6;Vu7c38=UBN_P}Qd=W9`9*zF=F z9>x`t5+Yfq`s^1Q@-#X#I`QK!=LSIY}ML95q9F{LQkvCAVaJ}s2D zHl^E0fI&CLe;-3Pu|4|D{v(-Tuk_H9{PYDD!w*|q$+M}g&nkw)3I)ep@$F!b0unOS z!t(yJ;5StA-EZEW`-QbQpe4sWNI&Yix^Nc$NJ+;B_q$n(g2v^ajOEtSQt2hWW<*Gr ziYRnm*zpWztRbN@!6CV~TDQ@4TNX&kxM2jXCVqUGk=x~UT&F|m zYruuQ!5UoTv+Ym`#x0m0e+xbvPE#k%5KRtt2&f@0mzHtHjg`?5e?XA@gr0w1x*U07 z&-@wm@(q_CR^qs8lu#gEgs3r_7|S!5tB=P>RLU0O=} z6%xIKoOohYYC<<+sTi2_PwfEnw6sC}PO1W~hX|q97XB;@3=2AT?QgkP^Bw(cZ*_jx ztONQ$u5GLVb;svCwHADpi!KTZRXEms3nBvt`R#b>GnPdYu%{l{gKrd>#O&sM2fHpt zNcZmAg$N`CFJt`NIr%2<_!7Uqzz#+igAa(fj=>22TOvJp_j*;seeCq_EM-2gqi-Hn`uQ3Ur&i)hT4+j^TfvnmM2KQ zOnF*=>2(XAk658vOFhX$I$QBg(HHTJh}W}MX6NLNy|R`sC%L}yS-hJJ^z%K+GEgq> zHqIYkS)WhKgui*Zzt-5eM8z-K&npe2WtJtkz;?L%RRqy_S+Qf50UYh*TwM$z!&-#h z-{b>b;p>*zxTlMo&O9k+s`&H*;d8!)Z=f`8oGA_;4?^`q`e6MdGvnoCUuR3X zI%>MuaUeM|&4nk|f!En{iHKCa)e?7ps`K?_{3)cyIebo=q6#%^!&6l;asR z(jeD~aO?Sbh)tf-dMn;5@j>m@Y>g2`{wt;)9zhx$8~7{+pNW~YAw!B zW(j~oi;_6`GEbOr6XA76tso!!-_Ymhto(KGT5i@D)qPpl-Zu)=yv90$QFEIkjnxGe-z1B~soN^dJKk3s)^z#*e9hvGUo1sQgSU?dRH(#(J&7`29aWh- zSRv1u1HtpWQNlDOgE|WCS=y&xM;fCthQ5qNLf3>vMc+ko7AKsXd=T)FGdCcLe?b=> z!Z$&?o|<|SRWzZCY>mi6);W=n74Kb3*>LZgr7&4i7^LNTnQEhWznkwdH zmfIHAqm!8QK}_gFCzkuw6uqj4zh;ruUdGaWr2HZ~Wd>~nforp7Zm&*n_>B0Pxj9W$ z7;Ti~$E-+Jp9itDHgVME+j!wiPq78Rx)!iPO)7ivJ(axw@^9O6pb@`#0Nf0%Y~emX8@JjO0#*P0slt4wHasfIe-!RE>EJLoD}sy4QM9AVrD>}Hbk z|MLNLfDF;Hl=Gvci6c|N)&Y@|pd!ZQHjwGMM1qa`Lj-pZTtd||iBi@t54qtaFD)o8R!<(OMU8d7J{NvVcAVGEC!PCFLu#1m;aoe%+l}@^m%y@# z$^(0T-g>a$s;YhVg4}`(xo2Mc)5n~n3q|S~l8F|_k{AFrrJ;sr*d>(6wQNmm*Ke@|M^e4wL;`^&L@-NkC6t4IUQ{oclRZ z6Tviy0n+U3)W0Tl`MYAL#tkL)@V(}$mELW$guW=Fgo&0?D|$hcKZVOyqM@SjqKbm$ z({-ga_YT+7*FGZsGYfDF$9oMfJ&|-9Zx~(IOeKBy)(}G;AA(7}V{B$54!-6~rO1Fx z^71I}VQaXeToN~H)PH~bfF z)E(i`-#%E<_ki-&x`XEGTJii$on36p)&TE(x(HHIIrG7|^2WXIk5dL!hw?(sOMcDK zIIvN>?8B;>6s~xBQ;wcreN6RE(f9o0*2coS!CVh_j`R+;4yca>!j`reAh2-ok}Q)3 z@Jms>!@Z7WsGjNSY5hUUUs`W&y;<(Tv_mIAsgB$c*>zS`q5SvW5WD1X`_ceLZ8<{R za=g>2p(gms^fk$4x%kRqd$$RVzH_Ygl%G1aH2U{}xd&9*q&Y}F?5Vh&3{0(A0CE66u zP55Yb&{53Ha`~}=`xJGb2{z9r{8gIE7LZ@7?i*r79I3BK9r6KC* zL44A=kzd5};sPyy@Ajbiu~5kh*qiviZs4QmRzZU3+AMm||EoNUhe^W*O?lgg)7RYa z-w6N}IYq$3+tbm{pF?LRsJ{lXeZtxX(5Wn~zGt+n5;s^I#%uds# zf5SH@o70JCv@2bXu`i}`nkc;LGD5j1%)IU6KJ-kE=^e1+K8h{_Dr<^ABHCdM@_A#P8GxVQXXcvh=S{ ziBg9Sc*kzdOQuT*w*i6um51z6GM!3B2j{Duw)KX~@$E~GoRw8mS7+5g=w5Yx9c3~* z#I8DD{5I`7yIfkkeNBd>oosReM0*H;;IPF?8?9G?&0b1ekr%igP@+x+Gvh1C>|tMp zi!M^zs$LvIF4o}u~l_LhdB)ZQL)Jnr^T9(f8w zO2wUYz4b+0dy#i&ac2|tqp>Kn2@du#9qIk|zOG!cN-X{p{yX_BUa=rEFJo2Bwi4d9 zFU++1)cvg+t6DZB8=Pi@9!~1fEZBD}XZb<|qv%piAB-t(fSuSo{oS+pjk8{0<>hMk z(VCsiYW=w}8qJ$ypx9(N{t>pZQeM4rIYY=M(xlPNa@lj7iQEVr-9qjUg@y~Yw5(R& z^z?b1BAQ7{GR?4E`|TGLW8`x(f{p|>+rHT*?j$;v+a{FLd9G3LBLBFFEcE20h=QGl_+U;KG452iU zTh+*_rZ@ACmZI-X-aP)f1gh}FdC(}Cd*9|OwX7ljF$9rR`{(%ZVT{A_S@WMy4!?+X z%t&xvBhCIbWH(o!oG95V(DaGA0aWpC?bZz~Ri-1t&l{M!hf0A0>#6X<;rsn3JLrPA z^P0Z1@8&?*TGkcy(TM-qO~UW+V54byR=#GhO)0sgpEJU+Rf*KO9M-k4>6Z5B4H?Zx zVJIiH)}N0Z+gpvgFTU@0CroYkeO;kTOJ=P_C*LXRTNaBbGZ);ekmNSq4*W9#Fv3C` zRSSc{^KCYZ!%G_@SWv2gT!aUVeX&6-!r7VT2?hU?KtJ^G#RVZuAyc;L0zu;$)zc#_ z-1L{a`D(78j!$!yX4a{42Qe^8j!41Ar)AiERD0YU}tJ!d@ov=l3>E zgwa8SVNz8H-@&o2djd`~{FiUY!ei!x3YkAg`zC=|{80FZC*Ls_>c1Ycji`qFCVPHO z{((EnFYacQHF>jHpdzrFGiBLZQko1cVrvUja+YF7#^_tqE6i($mu~sO2rmwR{}u=8 zPhpDLfiy?|2c>okWeNh6+@l%|DrV{&XY|KoY>T$@_8xkHUgvt5MPK_ne8RLV8e|$| zdpRzMOO}cSu>2Z7BzaRu6`4*{w&V1KYwGgw>L*4VW z-Rbm=<4e1BW#w;V>qE3(JngvlQ;_j6GuLCa?$6zOtB=o@dN68X4yfZ`8b`TL{sibA zNtr9n-d*PV`p96$cltn0@5eN<{K57)q?n5rju|^C*6;kM?cLF@v-A&UqQ3_on)UVT z(`a?%*-@T8NY~GRya@Z35Q5u5jv1mj!aPV+JqU26J|&15^;LA=|=IyG425WgQePR6m_PsefJ^px~wcx|ndemB+@zd+!LH^Rk z)eH(z{}KCeW>Eh|_C^>IUI+mfC8n_Y6_nbOXn~6j;$-(PX&LVJ`drl?V&+a&_Xzp5 z1MRQ=CpFVqn7EDKZ!vdtiqrj5yIN)w?$^iT*ze1bXEu`E-s%nVsy~k$w`$lCH-x(8=V8sk zrTKiS7XfqUqp)%K4)qLE3sR=gXCl(WRL#hRqeL8 z!hW`7Si)N+ka|`aCmuesj9OQcBnOF?ga)-hzSc4KtSTM#d42h%Fs!pLRZP~0wqA~V z%@!`o_M8gkAAM9wdinoJEwFm)rQXRCOR(rN8S#dny$SoO*h%>uN4#yex$5TkQCaY2 z{d08~7MRHR*A7?b+k)Sa2iuEI!en>4*>EXJ$$txl8}p2+b5pt4ByX z+oDA{pkVEVrZnn9@}^eq&nZLNcFTfNIsCWBrwisZutLb)@ z#UGDwH(fQqy90Ig2DIW4Ryu4Fe0P&K@O@YErd>Z>#C3Kf@4ngSqu~^8dA5egptgna z>H4y7{}FhnsZ&iYX4(Iv9xrJkPGxu}3{zT&v~THN7Xd>}Gqi$HVY$kXCPx-pSRGJk zZ?>Wt57Hz2#K+G;nyUw<*4rkh)G!O|tT~k?+K25Oqxw$H=6N@d?40R(d#{z=UhY{JmLAiZ;`?;R z-vw4^N!{g0PfMKwoyObyx*=Mpg53YZ%je*L=Q&06KY!V|V!`#~hMQs#_;7prbtmId zlj@@`j*hxlN32%K0pV;TGwqy05K>kxc?dOrGGrc9J$%zW~ON9 zxXuwH#k^7P6dcy7y7^MnaB(F8?(gf>lPoB%m}F>g;%vo4oP;9h!h$Z;IL+2y)#+PQ z2LAnfr@|R1q?RAgrhn_d{@@7+RZ%a?jHN8;Bm4NnN87+Hs_>d2?h#w zts<079Fa-rBz3wmXsJH56g!m>Pj(*w@GEe#uh-9>SVUYjun4E$jf4Xarl&#CNU1fV zu`p`g`Pt`8mo?)QKIiXwEXAa9WEUaJ=0C}Y>6WQ=o;CXMMrU4M=MNiIeCwjZu82O? z>bu=!B^AfhP6fzb8k1C3U-22G0T^cIu^Gj*`5?vnl{!104135eN~0Kl|9?C@ zxPLRB`acIpbkdNWSD7K^WeMYlc0s$mX`~mDMm(0P8jSrBLyO7OQc{G{Y%Q`ss=!C@f{QH)v zVu8%6-D%$8`{y%0w%_nDS=hncLLt?D3gK=Y^}TLhyY0`kU)}yyT;g_6JBcuX943Oy zkp0{wxe3C4-$~f7PYMc5)!C&YX_z3R);BqoE`4L(mOkr2rirBf%nhq#P>VfCN5P-d z0BT7MuH^+;S+=gzcCAKkX}aBKOgo#Ppl#Psm!Qo+r>#=3)Dd$3R#F;pU!7WU_QaD zlGkiq57R}l>fTlb*Uv$Y6!>^zp?u8-Lczk%r>=5pqKl9HSUxvMi}_Dw2j1TLi^rd- zcSf!Lu470XdhHVb^Vf3QxiKb9FPC2%J}$rhyk#^b^JPg~w-7rOkCv8etd5^IlybZU zCnEF_h=Nn0dr=Ir_9r$^1kt1>)0`tB0g&w{IZY4pb@zKv-E1T{Fp^k)lZ>@X7P$P1 zR6XhEC`rqvmyOAJNbLx|i36gU7x|vwHxBEuamU9`U-mO<78;rCsvcxWJ#_g5mSLNS zI?ql}b=-&|LYE2?`mV@6C|KN^3)%3xCNJO zYKSsXRgZS%Ft#B$;~9H&>Sv1B%+K#dM77;)-&uUpVnK?fyIn!#I6=Y<2RPqX{C?2! zE<5YRM0S7HZ|f|_GXJA*nTtQvCM));Rh_LLz85&c2-p;7jzQU-HZ33Qs&r&LV&r=% zG2HaIW!bA0UBN_y&XoAxnA5SfmnVIWRoAMuvIQ}+bv$E+d76?ul}1GOj8Mf~0pN;( z*h7KtAov1&wxbS$mt1)8QxJBFioi(d24X%2_ORi66 zpT5HE*O74Iciiu(6y5AyJe4LhLJv`-8a)zOD?EM38|m%y?F)yab_9phSat}1zzpl5 z=`-=%R_{tr4Q+o4xf00+ZW}^P1rFfQ9DES%``x177QBqNei4ANmKX%=u>MYK^mO5o z`qvK@#iYdQ=T7z(_(T zvP=KmO}*ieaF<2No+P-`lV1Fq%ip5$g{1%1sg2m%fwTp=4<^lj`F_41d+XV}bsjDz z%Gvx1ZgaoOdm_tNj$j7C51_w)b_RSCSmrr#q)`FL@yGt@bYkwmxOd7W-Co$JhwliB z-pxca2-@e(*Q1@w4PDjylo4p)^@zU36s;dNFLEsYl5=PFq95RSf^llC1yKNGa$=)a zmM1Q_0MLLMbn8eJ)vS7ope4pN__#9SbD}wf8VwLlfZANGxF<*b^D#iu&C51at`vmM zKhQ$G3k%vGU(63te0eNxa`KEs!4W{|rDoklb@Hd{!9g$8BGMnFxe=2ZYvz0tP1GIQ zO6;Y4$R)FL=7O26J%}h%IF)NeJ0fj;ZZ~;}d95R;Yx?$Jwbq40yY6ItQ#;E&{2!4I zu1#iNXb2hEW`Ov>Q2Qo_zmt__3$&RaK4(mrkM@@5SpV$By395spPsQ2n{-&_NeO8$ z8mN??Ay6A7Lc#rd0+((6i}-qQ7;{ejDQ!J&7Ml{zVAQ;BUD7v|7q^GDo+;7q4LPl+ zmV6%a>D|4#P(*_-z-K46dZzW*=w}QJI~P5Z#pq`;clAGvfbxz3Y8`m6eU!6s(7J0B z7KuM^6B(h1HC9ZLnrrNxlxIf3p zZ2Uo6!9_`w&7SHaQcS%zt?%}-g##2;oAfOGxd+>aLmB7EYqRazMnCVHO)M@gC*A4? zdKAty8%?txT#QmA?s7}~vU&6@wPYqmm4_>aLgrpAw;NjIk3UrVB>;)0a!@-b^;y#Y zI7V|o#2zeuWG6fs>}!_w6cH^ko>CAQ%McpF*lj;<@cgwXtM^?}#_KI)|7pJY>Kp~K zIVMb|Vjk7gwEdQn#bti^M}hMyk=DmKGPqSg1qV4rTF^$W8J4YO@5w1T)x(3k3*VL~ zni{Rm??Y-?UCjebmR7WOQlVSaXl^Nf`TF~7uAt-yCQVIMgc}c%jZW8ByebtSJX8}5 zdo4xx4)mlHypaUN1ydgqy=dk}dG1y|hj!7p)Mhk?)&GSiZf7+wwI+@BVH4z?&ts~o zqBybYINXDay9R&i!2Ve9r8Laj?h5`eg|s@`;WIbSyUEm9W2+^JcO$k^Sr4OESSG`O zLzOPI6|U^&`b}QJH=+|tWjN}?g8p{39-e>Oaow}<^SVuM!mn2eV5$J9PpCkh|8apR zy8Jrbf8rqtpo&O1rI0`XTc8tv(ZbOMN3SP*sP8&aV50qt{)G#@VAQ~aFRibh(D#_& zJhY=;iX)%Qm#C9}hW%ipSO21f=b3Fb=9YV|7q@)Ke=H`=^?cqh)v8BU8%sNI-E@?ti{yHCNZLyZT%;g4G%YM zK)cKb-N_gQ$|7axj_H?Be(e$a1D88rL7ip_!Bp#Z3@CV-dJIQ!v0}1JQvQ5zH4Wtl zvcV5Eg%Y+2O`JO-X;cX(B@_P@pr5s&(C{Ld=N%=uV;=iG71K#;h^1f@Q$>YI+ctGw zcjZ11lPunLHoeJvJEz*gberCoRej3jFh0CTbL)!rRoYt-2H`aU)X2iN?U0eUJ=)OvaQmUV77@_IW`P!9mc3#AI?=Pg_vT(kwS6Mz^usI~; zKV~Jil;Gr=8RLYVbvqkTm4#-caGEwEqq`>`L$BC58?#1&yBc}p+f;ne#;ZN)=ht&% zD#bH}%CDhmhSh}57c)IeD>wJ%HhqSe*eXDA_z8To3*lFe5V;o6SY0#XHC)aw@}Gsz zkiqTy-^7*^uFRgBm?Y`aEQ&*KP$Ta}l8wMj0bQM%`2+Wb-y(uAt_tVelAb*gGU`P` za(9K!*=Xr$^oaHhIgC3J@u(JNDW_eKky5pO_w|wUHdsZTN4B#qkUA}-FmSQ8e&p#v$nV9bq}Q|c7el9Pjo&RKOP=OS*wD5d7>&q{2p z@3#OUdj?gpZ%s4-4v zelHV?yDEq+RrR0jwlaUTxrK|?A;3;8JWcgkm`jO}DtR=5BDx~Qv`$CaarLi#GCCb~ z$*5p#l6UUy=YEnUkw-Fp!coI(fZSW}?K=W0H3eqZ*RLc2$1+7^TZe_^r5y9}$6 zRLTPdc3a4?Vn7L0sQz!u&DFU9AJUf0bfy>$I!7OT9(}3ZZ6Y_>F|Cr314(CD92jrC z1e&1o|Gy{02^Ty|6H4Lo;YpeP@~hrW+3gn*ee85~+?)TjBMWR)DUDicp3X#EdfHdX z88lzt{HxRt=mcr3p0F8TAjWkp78agWM@sLQc=ySV)|HzJ-Ie>k;Iq^_zi~QnQL}h< zz+~_zOJ1@r5z?EgYcO5pVh`b-EVu!rICokqjew4{^Z;Hjn-!YmPod)|N%DpiG#4^o zGcvNG|6C+?ZwV@M6~^WAatTDC#NmlFpSuGt&b=BFVub+{ryxF{?yT^CJ1E66j-(I% zp##Ti)Xj=%I4?@K%+^yrev{_XQFrZ(0)H&iuJ4}iqJJ{0%JT}$1?;lKVWt7@jJ6x$ zvfy#T;QAy^ah$MaE9#w;@R{Jk$J3GH7nF0VRCQlmwcY%E;SDYN=TG(bv+YIwy9F-4 zs8Qbe%8x+|ZWucP5u?gI z`e4+>Gq|f!eqLM3&1-QgE`jo3Y{zFK=X}6|L(|)T?0T{-tG%e%S-$@SXMrJh{z-dM z6=H&h;WQaGLQV>16r86W5=o769i8c~jieXjp1R({=gxV$Y^W-{cCyDMvP8;(^NPiH z?PhA6@|#%fI;REKS+DQ6Q%7BV@96j*X29ppb18>4f>?`_;jSxp-HzEoqZfDE$e!%e0zyL zQ8o~w{hkR39f@>~Cdc~H`m0AXCgh!XIT&E(54GUXCOpxKS|_FHbQ5z@n;}F$Nh^$_ ztPE}&ahSY1OA=+gRzTvfUb8S(ROoVe*{Rr}Qq_L|ZV_6nMxQL(D&b>@tMPaDbiAW} zKo!1ZsrAI^@V8@|+|_lI0XMk`5C;j>_0sdp-#88{DKuxC`h3}6{ho28$H}XUGFomT z3A+HmW7*Jf$q*ikN4b+yLs;9epR>#~w_+G8w!&jDS_9FO9a?Pa_8IiDzVF#qZ`iV_ zhLy7bLn2~x`6OeDH=%jtAzZ2J`#c9{V&p6`gVrBbUZ;~@hrJ$-FI3S2~YA&jYxJdjxlJBkQgpX z6H9g4lg2+Y7g7PfKV_@?2IwYVbn{txeQBMU-Jw8=IeqhOui~nl|4K0g{?|PQG4$M& zce=6C%IRPs0IDxo$}x0j#48z|quaxbJvY{g3V<$>)uvP#zk3lv*Sb%`_1qU}6hC7U zC8UHMpM;_hVH?Os&B-eAt0&Tf(?DvZ12aq@gryv5XexJwriornfwxD6S7Bwd(F3_(2Zsc;s1dyA>OY~eJ-&c>e22HR+$A=b*9eff7RFFOC7u~izI)0IaKtcrd z;0ns&cv!#==1KlCWr%xZeZ#FxaH~9&0KeFrhj9jji*lZ4b#p35^8`)ovjw-87xT@O zD&|M0C(75$bd1-Ec=%-{(h)?Kax}&@za_B&;#CdNTdK-2id1)6*0iuL3CWsW$={;r z?aU(W0aGFdoQcDMF^NgWNtiFz!24_*3!%2q!-GyoemNgP&Fv)S&`rLSm+TI3#5gq?jFbhc%{@VJ@D8$7D?Kt| zzc)@`XL7&{Zv8}M5BD{~LpD*NXhNGfROF(;D%PBJYePDom;Vfu@X!XzG29k)@ZMuSI>Qc*9M$rg~<$;Fm}n}u8p7t%c{RSC9;?n8y--v(&$Bl?;ZyIC$jfy7_qA zGQ~`3^eXb=D}m+e*2nW0@*UC(c;9_Rl6NPX)uO{3)8V3ay7Ue!bj{O(`Mv0wtLzc< zx8X6|Qaqlx1;boF-MNC^Eqcsz-$2v&`itEoX+d-&W7D6`rFnGiM3D z^d7p_Y4zSA(ae(!t1O^yg?-gyIa&MGD!Fm!Q*GPZS9l4>OOx8US_2=SIuGSIMrb6L z#rI`3dis%;s}g-K6(v3Izh~$ut&C+LE^B*N<7Iz_n~vY-5?;omY(SCz%Dk4h<^JH| z5+3Qf2z?H$6_q!?D;?-T0G>IQ@Naym(Wy8c+TmOca-EWL4Iz)8MK2X{ zIL@#l#T0LG#Y7pu3FS9ZzB5sKzyG(O``NDK3chz{uFfPMZHyyL30(rjJRpioeb4Fy z5KPo3v?B8q)nfAtYLK>oNsgUN*c{eGHE&aw8Lt0Z<<*-7R87V=tzxdfZ%1>wh zy^l^e@be4;fgXgK63o+j=b=7T^j8r>*9xYum%U>bR5cCIc5Qgm=AF9fWG?K~!oW$o zrEwcnN8Nnhi@ZiE-5@e7g1!Mgn_9SP%%idy|toLWHfP@h3+3~SfLb&QA*cXA>-)G(yB}IC9SPn4zE3B5G%wr1@d~k+)zls=` zQKRNA9Aw+DMl?@^J$!*?cwv?5EqwFLr_5(TXr^vH2Qm)|=r|SXsQ!q#2#kl#%60C& zQ}o5zpMBRnAq>oApdKV1ubQfe&jr0R56Td4@JUI$vOvR; z;+^eygpt0k@z8jb&(Fp=v{Kvrr5J+3TBMo9y=(lJNl<-JN z3Z0a{vBbFvwOkpO0D~f2u~1x_t9bv|v#+Ek8+czzJs zly`F9puy1g@HzCNbygY?CXs=a908{x<~%F>5xL&8wLybPrg{6T+v+e+93I_ucg*P{2c8GTK=ED8PrAH4`d{-t+Gx&*>4H~@O_ z2fjn34T6iuOjn4z;NaiJPf4C4Gthqm(@{Qp|NJ>PGwVX$M{(^%Poj06vKh5pZRsc_ zW{xBa)&Wu1@XVLnwpNGEhrh9X13IPMP%vz%!#3rz=80H5=g|oNZW9i}d>ZAZQZ~$p zPoakpk{`?-EdAnlc5qnvSHWN}82p1Mmx;_#kiP7FSPsaS=$4Tx+jciMl!$fAr;FZ~(;0Sva!*IuU(siGprJq$ba zA`?kLBm*z*5iro>Xz9nRt#y?QrbiO3>G)IHiy|xK(g>lRI~`a`9(f{AEdQf#l;^mv zrpYK@DV}D>W?j_@o}AT^!44akn#zhuXfK1*Az30`^7RC~I};srctUN?_{8w!<# zI{k6($bLz-hJZf_@;B=S`#N(-SR$7S3sV|oLF$q9*K_*}S~o&vfUG0Qqd)q>TEL~H zI3oQG`T7OHdk{c31|&M-R3|+-aJHwOdUv9VCUfzzCD9-~6ZQ0&qRoP>U{q?BgzFxn z9-w@Ni*~70crbUaj$`FT1Df&0Wn8Jjq4umTxElWu@?obXHb=U>4VsOGsJ_G-tBUXe zoCVgU!fuRbQsXbGBMmef;Lyg8a%@f|oL$JA)4381AO zx<(Ys^iw&5d0Hep2+bf>s;4{rF5Kuw&dsHSFOBPFkH$aPggtJXG1hHiSD&6$A4f)< zC#FISJz+xRNP;1&D@VRwvxO@hHAjtflLl>bN!J*ID+U2yQtA;X{EuH<`2umpi$;KB zQ5T>Y4$_lgP3H&?V2rOk%D?2Dl=|#oatS)PRUcpA*ImgB@(|BUCO*ErdWRmqOIj{E zqY9wixND2dT#bymiB zu%MSiE0>4dNx_W8P^h3H|Ga_TQli&+^ZI$+{5MH#=OKH{q4S?)lWxG{Sb~38v$}RJ z_hP}G0TNvx{=#?R%6q&ipdWMWnc*#uo*okx&eYD7hwze zNNg?jAyLAe+MW-TKZ>(MpdG?_$8%>c+`p$*Fhz}GJCJ;Yvv-#NY`S?fg{drK{u95`4CqxS zvqf5F?}!M(sZPM`|Cw9dVYA?3f86s?9J=<&BVP0hnD#?*kvqfcy4@$ULT0Wn(mRN~ zE;;W*uhh9GHgFnuHAdvBJe;3+wXo2IX2@Z6$mFD6_jGvN*1m3 z#7oH{E{j92)gFHTNYfd1JbmaGIS-_Z0&mPSOJ{Ze$`r%IzGmilNx>XWzVaSp-;23@b=zftTx0fh{+S!9#`7$2{|@Yjl}|G;RoXBQQ{^qR><%}*F*UjN5| zoL$LHz(7bhn8?9LDsM#04FofBts@?`>M$yo>3wtgN`BJDKsdtuF3D%xFI1S9wo?hlvN;l9 z6urRT%wB_{RGA7|F)cbnk(bQIZE$V4k(t!@MQbT2hzbp&>|~ht#^uZtUtYaRFb^&8 z0afF&Y0e}vLSV@x!;*(*Ca|Z09#G<4AKW>sWNVVT9|f-lDWjcAV#4UnTUyuO6c1v2 zpcSc#W-O?eU(kXgj?4fpWK0*?Op<+TWS)|J1-&pSwW8DV{WmYzz#t=4 z@-A}VZoe)7*h$@dKI+%6*eXw6ex>OC-cddKu{8Mg-0J=?2S%M5@B9NRDQA1H6)Y`e z?-$?`?i!LgCI$|S?Jpxv*}WB=T6itXRAbNc zU6v}zDe4+;VK`4Q=+6=fs}RV-PJ1+ZE`H zBAJK(mOmdGjIdVD&)PZ5Ioxj%eC7Xe8h3zrcgLaY73J3gmAI%&nw_)Hc{0L=;kNxQ zV0Bx)-3W*O8AYu6!MK~vOEN=Te||^l-TAA$&~!v+fa~V?cnCdzF{SesMw@c%@h9qK zA8+f|`qM}Tb>4bc)xbp1pQ()#J!A3}xiTiEr9wz6<9Ngr!)QP#<+TJsyWT7to2{~{z%Q?KqKo<{mxXOqhUMf_zd;T_AOCI3P(XaBK-n|<-OJ1;PD2>5 z+AJ*&wv1uO7hZs9o7S(^A~WflqWvT6ukNSceNup$;rWyDHf}Ia@efp@0$%#s8_vZh z83u=eq9<_@wC+CH>AG_fJ#HIIH&^B?Vi%0^`uK9vh4V{id=WM3Nd4~Woi_L=2?Vpy zu>bVmNZPaKyorg=()X+y@|?*PomIz+hZm5%>Gv(DL~;S*>|!On{UuqzSzk$yS0Q-r z2S8kq1U|5PzWE271&e~l z^Y}CUqL_dG{fq{c7^+4q+FIjTmIao-Dzn-4%T@2A?cQe0AAU--0|R+r9nyOM%doE& zTen%;Yyso+el9gD#WOym}C*!-IO zKdynNhxeG&YPkN=!@b@7!?c(X=Qq+}MV&nyC%`d>8qW~?g`)pnkOMdzsMMoG(OXqW zX?#uYY}}%Z-}}-(@PYsJm%DHEUx#uriCqtlr}+HX9wZrXTiPzv_^#52(^8`W?N z_4IJMFvMwc>~Tl*V300K*-@Ll^>89D&EuN&WSxUwhMM_ZHc?+@E&QY}G0=D_(VpqS6B%th#|Z7Tq*?7HUb*_1A$^{j0k_rN+wS6bp|{M7KD0_ zb5~axD}9m^+Br4T*Hs2*V_p)uUO4S|HuwwJ`Eh=)DbGiw@U{;%>WN|N;U{HGvqKM^ z!@h|(Sgq&-i_Y{9@v&M7FI zjJ}nrbW#po?>C*)FVk-Vku>uG9`#lpCVJEQ{RX<>7 zxh$gs0@cmy#qVAP1Asrx{T2E58U*l55k6QEj)VsRocr{pU_7_^*K*=AgI;pipYrR! zyBLXqp+xhEr4OfO;UwWkBvhB){*rzA$0un3PbDxb;NqX587D8|9F$t_4ti6e%#2g{ zoD6VwrIl#L!Yeq|8yN_|W*7xS*qYyqUKvTH#sH)Bdi&%()&0!)61?Q({$lb0xk;D5 z`p=mgw|67{-CG729v*q{ST^ZTo}4^Z2+=7aWqT?Ee1pcev|Zi)hs^m4>qbaNumi%_ zbU_33U}tAGCYqU`YunKMDDQe7W_11j={3&td6Sw~V(pCAIE|!Y|81*yRFaOLg~Uo zkn)|gl=~&KHyBTcBCH@&_aSD+)Jw?q)0QLT0Jyhb{Zs=MFO7~ZbT|CdNm)>_JPSg+ z6e}meLnb)^9GqR3|3=8V;o!5X{%PFLiMn&!p^LL>U`>aqF>=_usfqKGJpAp4KxqjI z4UVe$a~csB)wzOF3%~KJ9RUF`kR6N${MqlZIuD^CH*|-13&(4|ivgSJ#qX3jD?Y%g z3-LOD*FJvs$~IxeN*khpR07I`^)s5mtVF@xfc_2jzpb7LyHFnqmZ()&bm+lL zoGt{*j-avX7pinw{^7L*G3;ZJx;9sr*m$#E*J(0z_n+ue*nrPoeZu2#LfW4pmdY_u zd1kGn3i0-k0M9{JH$kn@bGEX<2<*l=9S(Yw)|Xo%?rJRF$PQX})irS{{^hJe!3x_O ze{!8TBV3ipmC;>UY0Y78+|W)htCW9D9p zAcCZ&r$(Ke4Or#KPiGGW-xK}EN)UeF!`g2thq^U`Q=P9^I2W1E?>m`&ht=&|xsmC4 z_I{-CmcTvJmVPPo@p3Ux0)`u{%qJ%?LzKy|-&@v66AEPK0I2l7A6mbDWh~~>GI|Z> zotWKbUusBh!tOY>Rb%wzFQZjmfI6MgKVEBk0!-=f!Ay==&-Tu_2i*tqomb ztw)Qo5dMWbclG3o1i&GE-r^J^Jed$6OhQ2zlTR?6b%S_Y$48=T5PUg_k% z)M&?Y<41NqbVo!vf=Wg$#~_dJvBg`15Vka%vFi z?=06aYWMxSMCSGx6I9yo^-x;EU2)?T^jn6BGz7p^PItefgzLD_9f7KC5mv~cDs>mcu42HW~T-MZ%+o04pcc8*8au=%eQ z-5H;}BLxUyRE8CgrO`d*}{xf|GRj7P|I9AaO|IwX?m)l2}x3 zlYNa8q5ezzX8K&s1B#zsDE|RtObO6}8cO}od*l0!;+TSS1mDmA?;XSx(tp(_!2u4S z4=~OPgTMo(Ke&?~*G&!Kvxa{9dei&aXvgUF`r`G{tN7s zUFq!QT6z6?&A_`A_n!aL8}Ur|n=cB_{!JDPqR6&J=6{nbF&QmBaBEvDUm&F0IkM}c z35)|%?AFel<*ACUOT&%U;;v)pqE{Xz_LryEp4NgYgo8$g|U>7D)Uv0YANCd&Kul=v9i(oStgU*F}B z&P3>qZ}wcL8kH)Z`nL+B^tQNPpEX3Ty(O2H)*qIz;e4LTJ7s?NWptm-( zU)QmE5c;hD{}IDrRvL>uw>}E3*K2L~bZNO18rk{}nebRPYWOWK`qmq1XdW=nh`cUA zGDN4qDQbE(IZ{X)89s5mi_#H}0kJ90estm7H0KJpQ*Jdw)o|R&=F@&ayeYqZ&PzyH z+z~1&@hfzBAT{mV>xw)8jY%Rx_+?wvRAz4JgG9%UuHn zvW5H~<2q2AaYB&<*91huR)MlH0r`GX>C_;?%BGkKv)0@O+ouL=(>8-UUqq~gr*cqL zjk8_5>F}dg{>s&q%V%)v4lmg9je+DbU-`}<23g5_`y)tXLr}wUR^cvvP8f#KH`{>& z#=``|@7SZ0w-kFVa+%!ZO`s;HZ!VkZ3f?;c23M*tYM&LQ;d~3C*grU`45&s_Uzmi| z{#!E|YXrS&OlCwxu9#%_EGCyfmF;BjhubR4mCrSL3^Q|`yR;Ll@_JT%!Y4)+9tjr3 zbn|J4h?4{ZEvJkSJzpkK2S?hv0=b3r8%rtd3Ch?T2a_l8cHCW)?&N% z{Hmj}jyO`RIi{VHylwAIkIO7>Z{jkZhxzb_#vjUtVtN_RI%hlw;u zcS*;l5s)sWHWGr;-Hmj2hje#tHoR+}=bYdBkJqIrvhRD=%&eLDeuliywwK^by}I%Ciu;N_hft(@DO-NBL9mN9H3)ZHmr*AsP?0=z9F(t zi~grXi`}N=yzDQUge$*4uL158{Y&V+6@EFrl-wE zEg|2dQKpGRm)c`gE);_1zqD>O{cS`S|9>qW1WopAvt9GQR}m~hBeHCVt`)3KQC5J2 z6smc4!Tl+bjORlzZKr!Uufhq4L*@iige6t&qP?+()X4ZHsB0#}=nWM>QG`xV^2uk< z6u-~|I^+Z_@#jsIIP`5ojHCB z9SrXy+z6|#H~^@4Nu{B3YL;h}p16wCU92))`){`7{})-S^8j%bvC6lz|3a|5Op7Y9 zrG3x?KS@-onia(kmH-;wt=qPznTatG0gV-bFfue-a%1|3AO6fnl&y%pr?HL=mXO8> zY^*RZi$?q_pp(qybv}N&Q?9zNjdPRS1hM{PFlFB~;?F(_XizPk(Y-HpLQo@aUo9Z05kX_;i&o*Il*9!C@e5PtdIsS0 z#hlVNZm8WlBsc?x$Kks}!0&Vf=noO7>zDZI_A7Vyg7Ds7FP5Nuk%t-%*3Hj_85Ud! zkJ`W(D?{~t6y(*rOGYh#}%0KXg{Kv~q+-EyDa%PuvifN9n*`P8ET zjbr<1WDI~$HUX_wwc7o3L*kud8zxf?0*6Bh=oFzhcRbr$=$j#8XFnu5oB%zp27Hv& zgBBFLukSB2X|K_Vp<@2pK;lH~cU;*PS8MvJpHQ|;uj_vr(u{68BPHB(>@!{Lwd{wUrxtvRNK~U5LRy44ci$U z=Ez>=mL0yf^PHRW=lo?qv+Cuuf~~)`c=nV3;cJaTt@S2=TCD-3=eEY%b#~Wc&xPH; z^pdHm7#u$7MBUFA#^Mi$N;)sczV^uRIwybrEl@@Mo*x7fJVa#7_(p>x`VI%{4a1V> zVPor3o%1fT8j=Tw@M%9cx^8lxd!ut+q`DzcWd(U$l!)y4usybrq^(}`u;M_1Z)HVY z6c#R`)?dt8Elf3C@Lp;_&NU9s#?%hUp>Z&fvvJ+J>-Yb??7g*pqMu^9eiUKnMTcLW z_l^+q2h)RYt)2R=WUj*EEz=D^s-{j;4e`j+tn{<{9ET5{&(^LdYWokJ5S|XYHgV%u zeU`=W?v5P zzqnV$KrYx3s-z$AKIfV5LiUeNUVOm7b^knCUhj`K9|hQjE+{`PN-?&4Rv#uztFRbX zMq~plXlPmG-Z0>Jl6{l|{^iR{>Sw^;F4o&Rzg2Z}>B3fi3Wf{XYvis4zu3F~^{O(e zSb`t8qHu;6!2o!A0Skop&QKfeJe)SDGs}>APTi(val=?xAL59VbzPQ!?E&JPSk;NH z3megy5Qz`SFcTHu-EsnfwP@*iAnc>M6+Qo@=Dg$EX1F<+rmFX>3A|d8I}VzacHzb2 zNCU$6M8BHv&WqdstT@SHc-_O6T>BDPu^E4O$E+=EejoDs=?Sn=#BN4{>+x?>y}6}{ zjx_Y#bF|A%kLv2hRH`OuT3pL(T!y8yE{Ssv`v7)^n}eHG2`y^{w97fl+g9ops>uitVHIBw-1X`X@IQ2 z_pfD(xKc(jD7-dKed6D@@wCMC69M^~HXQArc?UFt5~Vpq{s8j{*zMd9xyX}et>H3r z0m$$H8mV(Z_J72@DC}S!s1bBSTC~G`ln!S^92Bw)&w1r29AwOFJBDJ+t=a+1iEh=L z?N3Op)8>t?>!<>g^F>PC*oMPjzA4dAQKpsgz(ci}RhawNo_x_$`CLmQn8IFs4Zgh8 z13Xp*^T+raM9CL&!Q=VK9k+nzN!F0l?6BIYTI2}NL9cn)D7y55LO6$TSj!iBGoD+A zsv7=;)o~LFxeMe?sH6`QDZia-hHK;N^Hn*nE4l*uQ!N1SC284m1xP%`H1A<^?|d_i zk`ZXw=>HdR+iC!bigD~gg-E&eOj%A`MB-DA11IS2Pc`U)ZT&vqB_KT02;_zw_pvw6 zd!NKXzv`d}M15WhRqCTyaGuijOPM~}Eo5(~X{P98@${8=wvI7ko(jFsPHbrK( zLwTxn6+IFdTA5~`jQ^2-zK{JphuB})QjW%&zm9rkA=hQ#X?{ziD7K6EW)tlG{-@`R z#cJH;%BBvKz-3i|$1H!TP0XD1M}^_-Y-k_8X3BT3L-zT0AZy zbJ^fdCiyNJP|nyV{PHC!yOLI`@dQCRv8Yb)$`j^p<{HTQ;oGuNc~A=t@-#RVfOVv) z6yUCz^r`;?R#C9TG3uFA+@3BH9_yb|TSeSS+XgsKj_r6>io{u&^ukcB>-?!zuJ}XI z-Pui@6fzeh3mzkJ_SfO&Th*0!du0tFdv#qZ@Vy+$k1l7-xApUSQ?&+PgaOXV8GweL ze!}b~Lq2Cvzx?0niRjr(h-4{#X#_imKT$ss0v(q(#~(blmGsG!9esciV=LYOdNI0G zpljo`{I1=? z0_Wkv^u|DnnVRcG+{RRGN!MU74!J+(QV5ktH|6JHNk8AsnIWI5ImkWSQ)k3mAnF8= zLwZ8Pci8p*GF4_dw@#+*cBuUh8Fd3RPvl}e1aTa}4;*{*)*`_6^ZhmS9*jgFBGL=f zZ5gt;5!A|^HBs?ySd<7-8URZ3CC6QoxMRK%IO(QCNs81ZNWaaHj0fws(V=UCTbDkE zmzkN)kvWFP`TFqRMv&y?ByvU3jJ!Jpi*GsN)ecPfpe8GBXbgJynTbHHn1=km`2MDN zxnlOc5>EnY?5yeJ;m@7KghuOo5G-*yuB%OXe`SfSfQRJ#DSd4~>bMzpP#CDML)Mw~w|(wTq3EffmHPq}*36~#wx16mGACCJeQ#%)^w$uEL(ZN2-bX8; zQZtl4C{aQ4yN2##PkrYX%@angw6il)%h-%opP>8GhPZmRtm5sq)(|Sx8oBcaabt$H zns>t?V#FelGsRK%KY8m8ako^v3E-m60ZL*xZt$Opc?>;vzYG&nyh1>OJ3`Ta;Ze0{ zSiiSUh4=Z#CkwQRKJGW0^Ci_!_I^@VdO+h!7=XahexR|$UBFJ)HZ586N{a)nVVJ5WHvr=-tbfdsoZ4Rw!zHx(T%~_Ztb`UAB zxEi_|nX{YBlbYEiF8j4F*9N7J*0LG+poY%1Q$;!D-yBuc6MPf_66xUDxTa8^QNd&Q zlE5FLtrB-#@3O!1A}rdoaJQ(wh+Bc2Es^o3{$<@%?OQd`N~axW{p&F8YTNlr$ma5N zB+2O3H>w>m__o^ISgTL+EhGKO8WPTy7ocI|QsK8doV6S!RyXA2=5=-rX;Fo`tv!~* zb9pTZNORyJ9BSh(r1A2P*94)vOq;xOn_w)+2}f^E46gA(NiSukWehbuG=wj_*;9$OwYU(E#IzbHJq-)wCbzS=y`SQeewLjRJek99Bqx`9@TY_9)gp+CIw zCIe)AmH$9>yTtDtl3ZyVM)9E4jr%sB??}xrs`F2lit(e(fuRNl40m@hYH(y^q;2j) zCIK}df10V_!>*lNm_142u-R&8jx0YtWaZNvZ}NFQD^gihtb018PiGj_q1A*p5@iMV zjqO%`R{Yt^hiq#!iXGF8nBIk1d-&6mx{3cxweo4Ta3b-hAb`m_?VD|oi$(u-T-5Hn zyuWK(_P9xY_f#7~;1bu2xwc{|c>gAb7B!46!_4l`M4HH)h59YUE@Mss49{gO`$A~3#U?cD!KWq^8DI8J%(p*Gk zHJopn(==k+;`ZZes`zz}nstSNKKp`2>Ra~39;Ncm7`vwHjYxEFh+iN#*fX*%OqFb6 zJ-KOAt=Sp6{#{dVsc_0XrAmgC?4EUJeaN1ip3+KH`?A2spl`v-hnB@$fg9amuI-SC zQfbQBLO|9V!ovpn^H}5a2GY15@pb%Jc_{OF`q-zn0vU zmDe`i#Ez{E%Ap3$nS_iBw-{Ry_lQeW8tTMMkSxyKT6HsgUn20YDDKtjq?K>S1CTG8 zEU&ad)#?Yhn-}U`(fJh?mcf?PNkXRujabxtkwL;!QV-C|(J;@1kiipL7-~kWaSY)RL56we zHQ-(k@7AvjS!FJwi!R4AnD$tvH1#`FyO$;TA{Jm|z(%5c#@)YEt`E}`Og7+nx|KPs zaVk1AXi$3&9`@}|GDo`=Jp%MJ-x!Kd^MGLbC@8Z@vm|kybChYK+{C zz=btdSCKa{-lB|#YZJ2rlj_v|;mcfGXU(%TZ;Bo|uzSw*`I|fi zD5W<{ubc3EUc9>h&WgGt-*Q3cfmYRaAT$}ml_V`e^jOS*KV7E0%3WkL9U^<#XF9D? zZk?@RLvJ0EC)4);hpv0qGR+@2xIt0|)7PQ^;P>R~KI~Y%(fUR4^-4ymV2)8&xpk^Y zm#Iyi#l<=jtgMf1_l4=}Ir;lvE8NsS3_M|hO zBfFWu2(upCPIv5m;m40x`||Cu^q27tzP*L|sh;{^Jf>88DGsFk9D_5IS9loE``gWc zRze(9pNn#+Ga1XfVc#Dj&Ra;ziwa)R=*Z&JTsE^j5P@mao?_-7OyX_~IVUk@`0k6t zsI}v1KK|O7B)>8dS(>UmZ4?O35u>k%Pw0|cCIibGAl=e~U@?kGE}yz!QR9WyWiBCX1oN8_Uj@=!cStLLu1Vs3Ug zcTTB=MaM*|TB8bV>)8TB!fOLpjxxjzH~D`|k9DE}?ek@%p)x%b_Uc3(6N4 zeHfb7+yk!Mb{Bf|^oH}_&C*GqpXZDwZa!yMC(y>M92CF5#gu=1Nd&!;Iieg^$jS2f zWjE@ofY-4*Rg8CWz7cRkQyKC1@l4gu;hr|8me4Pa;S;GFHZz=?rWqPM*2cEIQU(Zp z4I$A(=D;3i%9QE@QZf1Y+*<&(Hh|<+6gF?hCq5&^3G(e=S(J6CLKfj%aqM6rissqy zMZ0cPI%i3^*%lR^*A=FAb}FZDt1JW~xOug5>q~p?b((|CpR+Oi{$gxh1|8~yS~I%yuS`CX?v4PrKw?CP;R3xUMEF*<@=CqZTub^u4-J~?};aV|2%^3exmv;mXp z=*#H>HQ@n)(%#$SC`bc0nYqa@=I&7rrfi@n`ay8xL64Sd6w61ZTY3VJ9M46STy9w)0P?n-5;B(2$q2|JsFR zs>_hetm|%E`REy)xaSzTzcaC3N(}YJSW^Hs=X4%yWhH-N_tg@qKzo10=pLm4>=GfY<6g3=h+{KNa3S+2hu*SWku zK%6mMHdlrU%_cARl6PNecQ<}DAIaEHo_tAbD84FjJN{d=?#44y7&4b)TleBiW=aLs zNd?arJjbDp#&_nSKOwhWkUb24VmYF5kEdr!{5|kgoe9}ccCTa?<{!a07J<)Ktg;pH zsLS267ufxSzFF2X&6MHfLVY}FhEM$2;T-PZns1zi3VVa<**XfY#PzeTQfm}=#-#&1 zO9Qmi`FJ<=&9M5S^LGrtTGy_)bHLnjs@YAH^|RqP z-$uFfuN|T9P)}USQ-9;@p!z){h?W?{*1C0(mwh%zM$lqwIsOqdJbBaU;M%C~$xIHY zjRi)G_-=vXv--H59kglb09>w)2v@~5yz@Ct-9sm_DFW*w{IWpimKO)0S|Ar5Qj62a72+IkVZpS6^6n zT_#U8{8Z}yyE@&Y(0Fdw=zS&NP%XQbi~jrQW+eGRk{POvcZqGsZE3-J%!wBAW9m#9 z#$vZW%>HG0B9NP0$WE3^mEKArie*S%wLs2oVhF)QQ5vN`l>8s@aOxN%@EN>R1O{qM zNQv3)p1c{@MGt%|b;V_lJnv~WQmV&Bw@;{a;*pKM$tCq+PFbt7VJ18d)zN9wrMa(& z+IjNryW%^U^iZ#83D(~@Lt?PKWx4FpacGAemTXmF)2SGR_t}W9_gC@s%MVl**27U5 zKCS81OA`&Fn4309^w{jWB#|joW-w`qecj1RuHut8RY&A&7G54sec-FU^K8pgu}!y& zoL#&`LWW}m9=?7(bOA5g)PW$&)@U9;>CB#~QzCn8R7%-4wkrDmdl5bt(LZwn(n7WR zZY|5h!km7SFKanDxROhuh&*-6+h9?=`tGsTFRL_>L2S&9I%1lu5T0 zE=}J@5908Ot_uIw2KQ5;q&bryA@nYnJx7^jr(|^ z!edUjD9RG$r10D=j`VDsK)D1p%*6fVNHUX_Rhsy5_B;4QvCo8{2{p1X_(|5BB^4*Z zC4^1Dy14W>^P+uU%xR-P&)hpIXyIY-*q*0Df1GSdG=7_yL{NBUj>WBX?D()p-vBQD z%cjQ_@s;z@Cj*u#igdQm{TrK7ZVZVYTi+90&}3gZPFMu7!J9}BsolFLt!2`(6@``F zm|DFUO^{>vAe(XOOKoQJQmM{{(c|l@LaO4oepy*p=UoFyHGebmb;(s2879qUj9N@ReV&?6dO3e-R7;pcy2g$0V` zFIY7JD`BX1TBTHhdLjHj7C=LOY8^?{TJ@gY;q2WIzeXgSO@BmKN_NmZbxieU_LJt} zKpneP?OEQiok+!((wRK24#A)9=)!ECtq)1g8uq{r9Fvm0SX%Rgtw`a6=lxDjiKQFq zk2#paECVD#yqN-K<3TcWNG(-`N(k@j&Z-XvY9c;Y6Xf=>V=SD`CLeuMIxMW6K; z`#)?(pAicSEp1q_jqScRo{W(P-@VGNJM#<}!+IS%{>S6jYr)ZJnX6>`(tcthrfwaH~0gMxAQ5w&=dXELS=2j34H&|kaFjs`{s2wz3E*ABv zfxQPsLk?oZ6ICBdo|Wp8wz7xkG>mV2;2=q8p69tSNSJfaSslBW(?ceMh#eNDJ%2X~ zzZqyaWo%p_nD(41tTk&|I@}|IZ=?%ge((nu`pb8j6vUaLpdRpeY0|KBlFmZFwV60e z+!nfe%UOk=M~)2Z71TyYV39w&;Ns+UEDvNE*m29 z@Tnaa&yieBZ3>3}O%UbV?IW(7aI3*tv}zFDxMUbDJ$(gQZl}453l~P@)ikn|tr^#$ z0_)^F=+RvtJyIPzBC?YF;kPk~MYCYtd}(H;z&udf4;2>|(0@n%*+lH3^^T3j z$VPn3ZSY!ceTLfc~6VqMCpn0hFMeSh6zN;s7XcF8v?Jm>vYt zw<@Co0e#PB@9{sf*`x`0T{~*Np6@tq%>UH&w&FI)uIHVSJ$+x&ocoXR#rYXcR0Lu9 z^W~fzwnDyJ$4~t2b^#(v>K)t`?~^LEebyFBCY^vNGLe=&kjcMcR|*+jeGwm7N@CsHN7O?4v--D0qB z{^YMmTg9F}mlU?{-sMTho{zJ4#!B5Smcq_ip!N+7V!LvYH>Y_FZ700}pZ}e`umJv0QJQszcd%rO|_DpMTcaw!(-cBWE%{$Yn=akMI z)$GxzjqEUaT|-V&md0_sa~qm)?VT{Lrz4JG9_Wxl4BotF1~&zoN<+k8(| zI~A8F+W_hyrqv+!wzNmcWrozQ_a)T>-ftaZpTwR0QSGUr^(LaJ3!ipcS~T`}<#8fY zv(WxGUUF*J>m%yvc&-@lph@W8FA+GhB_-Q1I4HGEY`4l1t&!18X+ckBGY^M4Bgg~H z%TgXpV)f7^a&GuiRawyMw*0=ajfl5w;OKI8a_KI* zY--l~k6KFPfD-IN#iH?{`sZQoyqERJcG*u<>V>w|(#l)b;Twsg^gJmoZSLi|<0(Hi zEem-tfvy`IBX+K9O7`9XM;``y1`J}g7IAE={3Uu5INOUR(={Ng2V;VD>$$p<2v_Jc z_d!t3Cy8WA$fegyIi$QZE|MJ+r#zp0IUA0?s zE!1D??au5LjF}xePpTS!r|^v1YJN%7_eOtgUm@j2!|i6u-MQzqB3G34y2=h#wZ_2i z-a~_Yo(8UJ9Iz03ANa05R0Qm@Q85-Io=FE?I^2sBHUD>dcPB~I7)wG$zsAf=L(CrMKwdUo{sqqLCh zNzBY`Ktr@0%Z_@BAu`zw`c40f!s#b+Yy9U*%fln9CU)yhR7Bsrmn}pmsU}V_jz|;a z@@|~dyj7d@dtBeak}T^U!&5U4Crku_C8jXsk0=1Og0RIljBr=~x?)pj?cd_79f;YMMvK6j`Q!!WKL3!~S`Uu!}ecf8Z z!cFg|^$ibR+CUWCU}8H3Unfp;GCat&i`A_&z!) zEH1`lF3+M|_s`}UL!w4>5};)LTm{*GCCBzdYi`1m^srTnCSF7xCE~4VG~Z10C!c)ZIJfy}JWaSE2BHK)G`<%B+-yNL~b}I&WYUhlhj8Q&$@w<#qnG3BK1(&?@ zsdqjz#)}C4*14Y_g3rgyF-*U-f-R$q3zXf>ZCP&4mYGViv}QWtY5+hxt_6 zNk6+T_AlIV{Dd&^hu<*isyW}!K;bj?5kkM-_~Y;S;$m8Jq{z%DJ_+MWQI%%8+}(Rn zC#Ju@E!5?`EUzAQ=NrHG!XsarO1D`sJuOWo9jvtcmeeB-9}~xkGC5Mn<&9g85#sBS z$gD=Z$tm_OsyUPWx;4{A)L7iuGUmzc`8_L@(vrD^sn~>W8Ln`6?@c7At3iZWl7F5a zeZoO+vK~8coMD9Vc0uA|GCh`tX(ARldjy{_zbRJ=r-vgjv8y~i5}DA zU|EBMX@Wy!)@JiX&$M?>NsvTq`_1C-ngKyia6w-?wJDEQ0lb~7l$WB!n~nVJ(95EyOMQ0FY(7~}I;UQ3jbzcSmNB-!(%S43 z2|=y=wvXL>ggs!W?n$zcvV}q(RxJ2H-)NgH)ta)iaT1C7{s`}$BRME4}@tVeKs(vv?4JT^7 z{dI1GC)hs3*m#CD5-RGy@SmMJ_XT*3fa%2hNDCrK%+x=;lAgHB2rJK)fAfSy5y~bn#Y@2 zn}}3qs}x$Dm`hXby)hcach_fUXGf!lw}XfD)c03iA;klJGI)Kkzx!Y(`7--HcH&{v z1YU!)$vdu_?Z&~cXP_U-NPX3Uezx9PdQ1Ds$;rv>4rJj%JrA^Q&&!Fj+*sZ6X=;$PW+u%aGAb za!k733>_O~F{`8<3cKlg;_;%hz*7LvFB-F(yBPQH=upSAz6k4mLj3v>q{L~JdiYAY zGjyo7?}MrIZNyM|SXR-(d3n!4UGw3Zl!>LEa>1<74poXXB~zlq%+USq5Oo;i>Y7kM zKrM|Qi=A6Ld4FH4z#05QZ`ttVH3;zKw(4uC3S*vcyzfTdPgoTQy%; zg{CDeBTjsr{!NZP*^{`8bRs6zNBVt!c_O5Grj+vPagk;40P(8;q^t_!&s@_E zU|q8evQ|H1-}A;jlkGUEy8CsMVO%c4YeZvoo$c2+F?Lqmq7oxzxkB)h@@)wcr=l&r zMg5Z!z5}&pGwn(X-Sj~| z8RUx%kmYhaXWwq{Ly7O2T8ciQI-%l8x#Fk%!;Tb+_(SowRZtN9d1Vir>)RjGRadO# z-WO(&D!~HpVu(p0y1A9zH#99e8ci+6pK{`TeHf>qL`%_Ldz#@Uw(IG*gwguNgOv5f zWoyM=i`=nEVwb9u`Mr$8XK zZmr$Z>v=Bw&5k3D+s6)2rw2`)qq+i*w+A*wHU-=NLXJrwoFaqCP8OMXvrm`)7c|BQ zY$Er`NvFXT0oipzQ_y*n=*o}!%CE!t7C$5|K~r|rMd2d47(QF9Qh3%KLl?@zYfNj+ zz#&6RxULa&!a<8fCe*HA$xyAP__7XBxhHM#IP_c+7D!~^qQ{wZ_1SdA9fVn{_0bZ| ziJ!j}=l#gHaVmCr8ViOT?iKIu4)4WAw%eLEteQ3?ej-z!$Qy(n#p<)ki{DO1!KWo~ z-JiyoxY0*T``gI8nlaW)S?!9lI*wz%KVerJOcPEL0gau2Q!6X0&;qCcH#c|pByF7+ zxDit<(w*<%U91G9qG(=hc{Xi&#v*(bg{fbRH7@x1U}(EUy)qRd-xL$kG5ZPTxKgI) zz<|b1jEP!5?~GE5uW>%7$K6ixoh2<2cUga&vdgY7l{eITo*27c*PT_V+-uUzd(tl> zr644~La1!ed+E|!e==vq9h1*vm3&FSZNHsQ7Q_UTdLfxgPTJjk`7CYp&_d(I% zedd&q?#GYvdSIvNE^R$dur_TzOQ|h`&K%zLe$^b#En6s$+t0*GUEN`$jTMS>P)BM~k$m?EH=MgMKnyrq11ifz4dl2c0 zOv!a6+qqjf(Kit|u_Y087OTOWP%(2OucfJP4aFYHAr*pEcE$#Hzy;10Sr zojTTBK8y1D6{lc=$rYo*2=b)6OFV(z6Cp=y*}WU`8s0h zDnhb~@_P+G(FB(-tZ@m}7$EV(a0MAXHs{rBYztX=k8y=^FjO2OHnX@$h048c@WkTn z0iu>?V=GufvOtfeZHE|4MmzuBYC58ZY}sj}QdY7aT?K{BZ$_pjGH8E(chW68#ICIF z`wlRyBHVycj+wr7F*oj;Q=*C1^N_bzXp&ICPsBBdHi%wdUvE9Jv~a%J(=K&}>rFJv z$Xj{Z+1cS6GfA>+uotG*GQuj>6V}oZo&TP2y|c`ixg2lJ;>jzF+AA>n=7cYk#m%*y z0%-8gmT;5UElf2xf7{=aMws-YC{}+VGdGgU2O(8TIgCEHx%b7!hpm;*=&en^WRjpq z!DsK|rhknu5JPlM!k0XlQm9-2p!P5aILj&I&mWpzDsfISGgL~qup@aoy6dPnE+zgd z>_fG#k2x&2J|=h$OJ&x4w65n_zK;emBH9_+Ju^tOyiuBbf2}&?5-mZr`nPDc<3!qm z)GDFWp}YsrexU47=$mXJDm;ezI_6auYJ{@v#XshzWeS|pdTo{fBC z>~4?mnN`xnEO7(rQ!HX+hw4dOg*KPqbsI^OJ;#q*#F$~b6{B$fQOBL1^2=W7NS4=h zBXx+`Gr_BgCf53>i_fr=R;Iq?hU)=4Dr2b;CH-y^wjR~fbN&1Cc3&daatc`VW_Z(9 zcr5fP6#A6qx}vg@m#dV;216-S4>6aMPWpv*_oDHlvX~Ne?RFb_x9tm^x8nO=l7x3- zcYk50_M2_{S($ud;$_38XlO-F5-aC^kDmYMH6&9XpT%vzcQ=w$X!Px0)1ygXH@(HT zy^@`nHb!;S&h_s#w>)fMWBb{ZN-a?=3noN%gT< zU!Sk>Y}!s~vN#g+1XGmY!ae4v{`bClO{vKk|B9;!*P>lR6p;pI*R?XvI3+K3Y<^p2 zB>gT%2U%O~x%Zh} z2=F}OeK>sH@EqLYNPV+46U|)8jdNN4T!BHu)ld=a9!BvSd(E&?G0b12$ak1qn5K+L z@Y9IOS9^?;>7scWBb)PxL=x8LNG14j9~X#ro=)HR(i9Z*Cj-BWQY>)R~@vJSZB!N^nG5wZStjGu<;VO)TWBns?JOAh#uJQ-2GB`MH5&k>_zA{ z@6*yoQ>+uGgnjkSw{8?u-qg2?%G3I2d0gg0n9yt-LmWMK_xSiYjnP*hH~FcXK}`^} zO^IS8sgCGrWN7108D|gW?RVu9;W3pjWbtD3kw2~(W*4b&$;)T>cEb_ZrJgRai&DwA zgv1P_!o9{i(RK8Bvi_RJ9OCIF-I`h?D0fxA-aJOs5hj!_DA2A#1U#H*n#tm9T;UoQ_bKCDrYd%) z9_sWlNELEo&P+@Gd(Y+aB`P1x$qac z+|bwSHMR5SKlvLiYKXI5h}*vCq@L3!tBTmWDD9f=v_A6zS!tn`nFf!>;euh)Hy;>!sc0n^n#VJ(*w5(%Ye>NizIVi<;A&3oS( z7WhqeF~Jo5Mu zFmaP63E^HAS2T8ld@^u6VLs-~`slVU@c^>=;FmFhLOIJ)<07a|;#duD#||iHh8+X# z6#ch94-A*wkqM`V(EKuiawfCm(~DxL&3S2x&vXQN?zAG}X@jgtUd-VyIl8!*aQ|jJ ze;kI5b=6)?0Y44vyYbJ|SEhUQO;74*e&ypyJzZiKX0*GMp7D?(ovS`y;RT0C;2W&Z zY=8VASZMxA!e`8WpqLxNv= zPiS~g9DNJ0B?8atWOp%+Ne%Z$_ldao{2~}+!ktKL;lK7D>HLX4LtnBE3e`4WBvUA# z*~8~|45A0VgbzF=gf9%4W@}Z4>fCl0K5}uSsxRF>5()=}DNWqg%i_Jl43PEe~TmRFaj ziCipyy@~mvy-R(6LrsZVE^i^0HUI537Bap$^ua1jfv|Vl2R7-8%1J~ct<>KbZrjL& z7&mn*Dd-bkx*lwO!$|fen>~&p?9&XruL%URat(~-8JzG#PWh!P>D&8H(=QuVtZ?h( zG7g#&d=nA#ggub^O9)fhWOnvEOA6(0&(CqKv7gGm##xtjXr~|C-h~`9tZ=ejFAP*V2lF-1h_Cv$ShsXt)xysrw8!?f)?;l=%TNqORR%OU<@$SY! z)nBtHP4i{J-fHvyy^7d%M=tIG-M1VLFdkig^Y^YxV#lFs${U-T=sYG0bf*udi5hz97tf0%Iij{;{v-_<=lWv1 zeneaqXMeEzwk?qLDh9Uv<{T>>HKssUd1ubUqP}%%`m;Bpprix#J(OoR3fBstoXGn4Ur*YO5_@wQR9E@G|?evQgruq&Dtb~^h&!fo2CQuB}2ZUDYKFWcS5&`dRE5F z;`|2o06u~o`Z^fZ6Cfj$P;Ug9sQ*s;Bw3?r*30_(Cfc5pj7qg&BZYp9*q@3-)HsN) zA8+cqE+mMozfdzQ)L>5}e8r%0wvVWztW_3!+ngXYh2Ot@!;n5k%XYh6rG|PEsfHNZ$QLVV_H_S7RnUY&!`P_xpK@0yX7z?+*)gGm?SHn z2&w*RTNqas>JfjIh#T-P#7r$Rh7P9lF&v$K1o5=K%`buqo%r8_0z$$cQ)}7=AmOi* z%7|Kp{fOLm{bL$ku8oRezWo963?RRvK`LHBMnz2U}1fEGP=UyY544W0X#>pivCfPlP?5<^A+ z+x1sP*$xGu_@||rS?zZU)A>|3jNH+u3?4fp8JjVF%aXBg=v76O!4of)4m5vD{4G*H zvB<*^fvP3$a_NO&43VZEF6RFc9g#2u2so64zO{MS|4B8X7WV@IFDO1<;(56tcd(53 zWncKIYS^k(D#z>RK@aX2A7TM0qn|P|V|Xet%{K-jA`%wl8}}#mrOQWLap3DjD)A(} zsO8G6EI5gzToOmT|GeY>3F@U7B_x!(8w0HWC%X1aCmar_@=!0z6;Kxr@YRdONa^wI z*nWo`+bWw#*=GCZ*q$roflD09mp**o77Qd&O#w$g68xvq59&!#LX^IPxT4H6qWhe@ zpR3Z|GVmcEw|@Z1e|m0IMPNq~!f2)cc5b~H4a`)d$9t^dv>cqGtJz13gBKYTe5--^ zBtfQ^NfeF?CFB}!;>UnCT_wN>L&AUpN%ZyenY7Om^EI%VNjv0O+dx#8F*{HD3B5U- zyUqkH{=SLF{r<(+S1bSMQIXgEbNGv z?d&>P_-V8%T-o(W~?UbEp`j+vKxj7o=yZTv)bx#c}-U z5z?ONBMLUjj4sqGifxBY4Rzf)oK}{{5*K?PZ1_drids4|d|RLWp3^3z$f2}|CtWeH zY=uR)@qbt&EgEpnv4<`G;~gWpB7+i~4_wvPU%39MB9)Mbh(-iRH^0Ucq;P)sF8NNt z)9CT658;2S1GIoCRXjH$8oql~bWCbO^p_X)MovPFIP5~`s1U+4Je}~sWmPfEG5LW@ zmPLot{5y_t{8jFkRP~boZs?Kd2hSk1)^+6HXMm51M3hRiGacX(llO&;6jU^rSdf!I7Mli<_uQV|QF%9tV55hBn*F<8(@|;{rAOB-3;Q4xy%01N4U zFV`3b99`H0x&~eLi0?Uz=j2l%Nk{zB#A%|@28j#j6H+Hi9DN|HrX99U31nr`{LeW& zKt@7XX2zfd@qZAFQOs#2A$eb9Z3sp;jqb=m6{)DbMg?21Yf{U}U$3Ggk1}u)yj0l4 zu;v*v0=AC$zdb~~QIdeza@5Z23qSu|dp8fd+@rg$*Z1&>dh`b+DF<^%tt<=lnGODjcKI;Es%j4dDTCBfT zTKlGC|F_Bj83|eIWy|V^|2}RqT?RK(xA8Ngfq_!H`W)a4H^b~tPl8ZPDh9e`tv4QI z>ZN{j!m!lToO@aZPIxitrxltI-zxGKVa+{AohBGE^1$pACmAWXp8TlGTMGqW`bAiO zj9O(jVZgtze^l1W@)kQ6>qSKIi@@-<|4ab&6)=GoA=LjPuy!-j5Cxl-qZQAsikey>X&{ zR-}s%=iF3?jCy{xKh-?bSCNq?gRoOd9*~bWFWbZhH zP}zG$Au=SCeZ8;i)(2t!*4dgOD~1fT z#5G!w3jMXU99pp78?1_QgarsgER2=da^47Lr~VUg)u&UVyZOQDk;RQr8i^Z3xkd3mgxzq_E%Gq;xt8cpikOaAaYx^%Y&2cOmJMUS-TwSYP9#Uc-Gl zZZfGyEr+$wDmW4z;|lETsOF&sh$5^j^mN6R71H{7gYfxCEv=7s4&BAaGP*g2?|+AO z9CcTaegp*0aF>xB?!5xa;t^DkD>cXoF7J*ORBbnsdkx#_de*wE6lD0{TJ0^ezU5yX z`_+I$CZK)hs&CC16O0@OIiQd;AFY+B&%HW#LNitpyiK4Bu8B`>aWj- z)!*^gMfOS~s-HY@i5e_hwO!y40?-Wd{My94I!bIJ;1UPbH#rnV4_6CvFb)_I_;x*~ z$Y}0GwP2Hq)?IeNSaAKst{cDiJP?(jA&VK#sDD5}bZ z9R9`QHg;}i7MVf%#Q zL?|L{+r~WGjnRbr=!2-i!HSxlJ-o%loDENMWu+NR$uo5ciUt@rD+O@T35A?9iutCIcrG-9J7YEzFmJur7iKnejRO^ zSQz`_6Wf_-cajlGA9(IqmkGPPupKJg`1tn8i+Cjmv9b&?{>&auD?5kxqWt%djj<1! z!@Y#bf>6_|Js57r#@9?uWf_=H!wiUYZnhcS(g%E5E{4G-X3vh;IfQ~`fAMeGp#xU3 zdF zbBq*l7f~GO2ple;KLX2QXdgl3HH@}T55kfmCdqBfM?1#Gm2VRUCSy~O=)s}$AWh!&%?p)WpnkLcJ=gl?TVfazp>73oqxZc6-;TsIo}4VnOzW6!{m){{K#Tn@r0Z{d z2aBETxn%iLH%lO^*u(iXT}hfp0y`4lFdL$TG{pSC^Lc$%?JZ{%6woiM7hAs0kB+bP*eD!kS&TgO9t5(+-R340W3>nq)i>4{~NU$=mh~uyL8keFOR(b*cCJ ztkhi&^b#)w-uah^YGR5*$0-2HJ&x0&Mcc<=)2xz!z<1L3FH*P8 zEKtwMAR08V^72bRyd|p@K1+aL?xOcd8#$tecNXp$d0w;~I$6qOX>iJd|1f5;gHtVr zNVg@xg~D(gE1q3bQ#Pvc((>kw`LRtS=Ro>pU`oRDh_5DyH7o2mux}@TXYvqNp z^l})1FRuqKNN`x=8IGBik2ai8-CJ zibR1SELb)RID)%<3TPUJXD*a6&v+J5!B?r-QuAfEst#uf214g1yG7ODU~92pS|q;A z+TqHwWKi>i@AX7wX=cjJr^_m8;)>tTa)P`O8z^#gMPFF%7*+U43ba8XE+1aW+68Zdv6+j`>qKV--y`w z9!z;@xkOd{9ReKMA=a8<#LY<@wiyA~&Bbs!(|ZLWCSS$V zj>V++*-{SY6*cpkd1 zlHOHyltJ#O*&i=fGfLD8Nrh@BBOY3Hft`;q^msLp=u87vxf zC*^Vbn+`RRo>?c6*X~!yVJynw&zO$f(?o-mcK7!n>^gP13fw16dZnNv2Je70@&SFSGuWUsxllc8MnIzNg-YMsd zD{R8|jZci(u_T|M(XJH{R-nvrz-&L7P!uhPyu<$#!iwIL!jBUQjMwTrF*OG z@8$zGDpxyopN{A!x2|nZJWn&h6zFo@lCPRpw`F+UQ^Vw^J@M|tA>31he08C0h#A2i z6FKlCZYx0#^yxheViDG{!fuV;zx*uX+HOM0@O4E7l^p4Cd@@KzwalU1Pvp$?HV!;g z*KK>xjeuit*;I8m;0)SR(OZ9Dkx}+AG`jIu#;N;@=jY4X&nW3O3Uv8W#PdCgN(uRX*6|nNeJ;o3GTxdE+D8R zaDfGKMV|oIziJrc%&e1|%P+QEwh+tPB#tROYDt@F+mEU>6xm{p7sjCU_tm6ofymEvEitn$b{xol+HC+h!Qn%R&T{L; zrCL!|U4t`5etEKb3*9EL`U6Ho7-L8jBnBRncL7v2|Aw#!Ja`@!_35|2)&!om_Vp|# zvs}g2i+$6Xt^>fx#KKS8CbanpV8(wk%RTaOAm*Kh!4Viwd;*;A!jv{{j$I!QvR$vU z1x{@OiewoMW487zgeCm|d6*MUriYhaDZm9j4YI8yr>CE*Pn`PJ*Td-1lM45$p}?e4 zqy>DD1hn4q+7)z5!OYf$OTJSxXl0{ht{(~@N%hIqBgq*Z;}Cy|1@E#Hvf4iQcyk%Q zs#;N}trOt08$I+qwzXRHQ9Q`6-#ev*6y3?sdukJ=EaxKn?YJc;-8dm&M8r4tSqmzg&ueYLANNQPhL|?lb=RUs-z>ylfv757fQw;ElNW3NljjA+p zA8}s4UJf>FeLu4lLb*u|s1Fj&G4OWGaGGBIjkDLL+5}X+DqsFDH2i-aT=u7@rknj} zvgfhfh!0j!x|h=Yz~zyLzB(1#HPQa@T%o#(nlqQw{Q8W~ne_saqnqf30}_G7>Yk32 z(qbSU$n4n9txN>!h~~#~>K~j(eyLH6C@VsqG@z{_Il*@ABX+7)JJ^BFH5a5~N;S zI!bsO__qIK1+UmiDcI`E@{HEAr}Wm#GHhj31HOJeB)cX*iztOrwsgi?5dt075;BLB zELGjV0Z13Mq@d7U*Y-vpJ~lvqnQFR*DH;ALyD!h7De1c=pxcH%&z?Xy!)0(WPxK^M zER^uFAnB`l+0rBE)cC1_wdl8&x!IanQ#0?0Zr*r6@MR#HFGvQjN?QYDy;sww5I6B3&_~NlAu#d7dPgS{r&SSm7 z(?6@wp9yBqW(ckOq-YnYOzfXSoFs^HYE;L4oN)JoF@RxeDf64O?OHK7W|=4n65fT+ z`G8zWh>V2Sq97*GiUBGm?ltbpE#)F)VlVD&p8g!%+Xq0b*h`;-gruTrb(+eBBq2@3 z{=HLrCDY-VV>I>wdl3a@10{?(b-AP@=bw!BJX`e(CwZ1?1o~0Ki5zGbH!^ z%-G)MOtxZR4=pVk&?#ghc%U+{KzKS;|)L6OZ)^*CPYTSnZO1xSxHd@F(3i62j7U1D9Wbl zxW7!)agZ$?V?6gUo_dfQ-3Sv8cFjGAFl?L8#}E^ONP^K}l>pRoK#KJdLcyRMOjbIF zBy=)`9QAqM3Jqx|Z8utP6uqkBvxkE+QvEj<83AdoB*>90T+Iha75YR#GN$w3cdIFd zoh)cfS7^W)0Lg06$H}CNQ`(L3?GrxEZ307@leS;QuTKh^68vneHrRh>3A4kSDn;Nv zvuYT!?jagA5?u)ES3m()hmj`Zb%N=5Q~~YSI>bcemiLs}u8UuvP&Jqw-&55!6XQOz zip7@#_@y1(Q+4voDcX&G9uNu6FSoY;ZsdDy1m1GNm)L85jOHqpEj9R4mKiw`ge89t zWvf5^Ll5T&-{!)H&~8}ezQhz3ABEEn^Ef(Pq&jw0wE7BV?$wlyRX|1PRLnu;v@Q<( zE(Oe!;e>@EUKQ@wGKQ?>x#;v~nl=fd30B>ZS*K8E=4+hnbhrV=Vlo=m)fE)r&N(fb zh&j`Oi6;F>u>6PzPz?GZyiHgeVMQzzQCz+aLVH7~B>R*^oda$u$kw@2@9qtG-xWEx zd+(i^a#k*?02b<|!15uKM~ z6a;~(flWXEU~-8_=C}5Pydq|JEfSrI<4$D9uNL&~z8%&D8@+Mks=R~Yn2(#?S?`s$ zGyu6Nvn^J8MU*COi)kMo7C6`jwV^MsoQXZed!z`@4+sp|DIEFI8;AjOupX@JEpSm? z;{lgr+?%emJE-`*&|m`W-*Fymx=F~$aKdpxAlZ}ypWdNjo~Ge2u^PV*6>vM%7(lhZcU$E*6(wa2x^v)&$3RJWj5G~J@)L9k1HbSz4# za^i@}hjTlw)Tya*ai_la^?bb1V@*GJBw}2PA%88~(jxOmF`}jORR22wF@Y&IfAXSp z2_nk=D2ToPL}Rs-(}3dUIa>Ek$qcHGLT=K)bOwfQK5mdhRF2CA{|D{L0S-7{w>i3m z0Jq8Y6$Tp#vj9+Kc`wi^VkF@)tOKKq9~Q~#Z7N8|O=yi3F_DJ9KSDUo!`usLN&8H8 zB!~SkBYXkAwIGsk=b_*2ByGqh6Z-C+x`njQh^rj$W06p~?=?2S(BI1;?^m~zv)XTM zdq%5j+DbHx6etP~pxCxL@DOraGBSi@tu>yKda^a=;V&lB;$rQZ=wif+XMu07bmwrG zjt8N9tQyp16IV~dWUmKJZwns!x#%A*rXl=|Ih2P9m4-;+QE>!0Io^}e4%J~a;K%%AfTI_ zdK}bXm_C@Z^E*ek9^mk>O23+EsTuV)3qqv$R4t8fvV)6UD9qli%HDcQH>#qF)fG`I zIR1G=87ub;q;77ng4PT`9c)O#Am-RD!to>ux(&UBu4OKYfX=~%RB5!S0s=_k*12zF zO--Q>+lHR-dj85}T(ZDb%m*F#QwyPiIoF9P! z8NpqMfs5f5m{c3bD@6%uCZP;11r2?AM+lF&4waos_LP|k`#=gxV6V4YFSHf&zN3aq z3hnd_4N+H94~qu%MH>mKSNJij(> z4ftQhm2{x&0}Xz=t{s&8iz~l=6@RcQgCOuNcnmm|BZy>20!UjThWJud`TFzTfC+h< zyPs%^mJm%ybiTejKe@6OuXMVHlKwS=r9miz4F$OBOqkEMt1KMr4KOK}0%}q|r8Md6 zH6Aul3MNC@-)(-myYy%`dL&|+ZhrD5q^~%`oFhi~@?D5~lHX<$Bs~6@684YC7^~-r z8_X$iF88Ivo_M8Ek*bJEAK~K}s6q5`8V4JfhkBYn(-rG@{W5S{lG}`pL;&Z#qMp6c zctUcmK?%FFc-BrjxK#l@Ib$VB@+<1>FnDeT$$u(8{!r#`>C4)D_+YT)D%&Y3FW@IU z!+`D}D&dLm*(sgH3er!OHzNClyE9da8$UuU<{eN8zvuijoui7^2|4RVj@m*O>VSBl z=`tx~RQllfRSe!mjij*iiD<(`PP~h%@H6y7gs)2M$?c_}ZwOdGM zdZc4{%6(Avc$7VrOcyxpMKu@@g-A7vDK}bvts(#MuKb&zu+1vDXj z0ZEcak7qRwQMs~8*Hg&kBuv&)@c2^HTY?(`f^lr5Tkgo={p&m+Nl=xwpVqKJ%cOw( zw1Zemo+K(&pf`yA=OPf<)YH6c@?)>nvVfH{ zJrGw|340odxb#MXP*1D{cgLyf-X;QJ&YcrKBdK+|@yx@KB}C=dRM3Y?#oeFi0IziorK!?kRnGMhg&FgrBXDD;F4yL%+jfS0l2MffC@(bLGC zc?|B^^)Hqv+j=j|9}<*TG)=F_8QE*uF>~TAn0v0uD8lhSN5h8i;M6K6q%Zg>#6~N% ziD|=BO39H7k=v#>hfQe9(u&1iG+HLJcudrg5?9YUnHB1HV(`1sW}FfIn06r>L1@(VYzPtN{+N^IBQxq*5}2ka|e5_13t5{WoWGKd#y+bI{gG`@WhC#)1uhcAZ_7 z3HkPwZC*%X^`ARbh)(L+##SjAvz~p9EkLPngXl**f({pKR>2l|kD! z?r>!TNS$(JD=WZNbBFDNsErer?tHY*NoD<(lYoiqkD}5IOaG&^V-wB-Il=rdcY4ADA+24k55DM;RPM!{?fQ#u4WI6ci0s^caa>vD2Gxn~ zq!-+>ex}?%)A!4?fF0s&zll6ywym^t`6ncXV?m0SoET%XLPqp0eTn+Xtc1}(+Sb2# zF8BO@Yo$bpA%H~V`|nf|mK!kQS`42dqq`-mHq5liqkCHX^y3;PVqWH#mX|{yJ%Gmi zWyVsvWSFJFF(yfHPixng)aFs+Ep$^%1CftOP*$S1Qq9iZ zaFoaAk5eHF7?R^tQ3*ILbRfLk8BpnxFSNNyW2F;O9r28Ms^0U{kkyPP8!ttWKm42A?Ty!J36G6R z;{{=nyeim0%H@HN`bpOf+<-{yOm<)M1v#Y)C|ka5^T$GM0>N4!WyidTkRkweB7`eY zX&f~mycH2h#=$j3N3_&*pqy2s0m@nX^J5>lC{Yp2+~hu~I4)2vHEJp67t zHd1H29=N&guv|dhCNMAUkP#REGkv|Oj&SQ35lE=ohz}F2)?@H(Mz5{b;nb-*I!Fyn z8?Bj3!nNr^5>2KU5=}e)*3zS}w?c`7x20fx?OuUG+LN(>m%Ny4lW%sIUwuGQ7jXxN zvM#SIKepRmTF@-ndlORG5lu0vg*&Aa%}{?Cj6F#TWbS{9Nn2Oba?a+hop|rGRyIqx zNE(K;rmj1+4F5=gG+@PCcTHdY9vWMDKg0ruQVABl<^Wgmv{boeZNA;dTIEb>?!zCO z#FbT|X;P;xJ=Bv~;_*o`5=^}ka-A#7_Te(~Tx?sMfwua6E73LIO!xAlw7$(JkTY$W zbFyU@UF|Um7($d=&6_Vz2rrDb7?7lgv9suhs$-|3x_GiHFG{4e+NanEKkm}ovVg*# zZPC|Nn%=o|lS=o+pm(5dVhPe_b_Rm`Q=kTdZN2FrVZuoWRmEbIH`o$b{YbShEl8__ zStB1rt0L%pgqbs>$A!*hLk5`7+EM@pWmX^~zQjGdZgQC`6QANz(6cSmcLoKDcht4|@4wCc4hTz@jB;r_Ps|7y<0>-& zb?l19UOVGmDv|7K`q3wPvdu&nNiXSMM~>)VS1vglPL;SC$~koepw0~%N}bkhJy)C5 zoV~NH0df5g_PpnDddNP?)hJy)RIsv~E!5^>#KWW!MszBIw z`$!;>iPNADrk(tJcW$+zpfuT%z9IQ$oT9TTX0n$nlichbI1{I9^)YaG{Ar71UjByn zPWNaYHj%+Z+iZhPSMJhz3kDWsPBe~aGa*M5aM)y-Lj8|Y@EXf@s+flz;!4;lZA+Ih zD~4+nuD&j!9%`1WozV=3v?8vR1uh`%8Gclau#Z@_1RSe#1xc=m+ngdAu%9^ZslJ}Q z$}0PeGeLsh9`3TvaGE?3BM!a%h)WRdpwe|g;ywRgUEFT~SzHBkOM!s&+9@ThU*hk$>U?t9wIU#d zuE;xD9$|i7l>u&2toOl!5x)IPOTM=Lt!COD&0x@H|H_Pmz`N}vypulfFkwNXP(nGH%=KG-H1nC6&3mU zbf75rgjXm|;Os($%PL8AU2^sE3n2}%S z$MxQbCR!KLG|t@+xz9D`PgCaqV4$Jsln%V+U z1bUlXwoW_dH))(`)})Q~OEtN~E10Sx$J5;zTwkTox^=~$RLef(R+P(j4O7a;mlM~1 zR0qdfC4U=V7hjyX&O`860JU1%w^1Gj0xS$JV();tW^Hv||9xeL!t95|@9#iKi^)Z_ z6I=}%#xReBV5f|I^#FiqE!3)k#C zpE#B?mQ%QhnjWnvw?BTORs~BEb?@Z05F8n7-Nkk|X!(O#)D9p#SM4g#S*lk%gcyS>5<5{+jSEbU~q|@LTk%NlLnftlEK><;k|0_MRoh(S| z0fU&P;)?f9#e?$}GYIQkBe)cIr0Qf|sn(i#v(HU*E1qZDuSdcEJ#Fkqj*9Zo8C~_% z6UZUW?=J4aIBjfT=O%Y-f)&FQ>AmLU0Tq_FAYtgdKXkZvSSZnAArRt3LBWU(q4f>C zZJQ(SJ2s%k|DJM!fBW$Zj=AL^P3Hn+y>L%IM2N?`T_ksG8w;KIMv%ClL_0jH{w5ov?A8z{+uU|SFP!%tQNyg77$tLWHYsG43L$4+Q83Su0f!~r& z%=vfSI1b0b)`k+%xCYu)71c-t3Uf~ogOjkW{2tV;=bSR)g0$0SuPvVr0*1_eF@^rs zFso&PTEsFtTA0?Sf^o)H_igG}MT$s)AF_f|={o#d?=`q+-;LN36}jcS``)LA45cWe zaqF5KDdiJ`*2-CBsP^9`m;+_W8WAY??NTeee|6Re2oN5!gpU)p7Xg`F+f5Xlz^@G+ zh5Mils0?o^cv<&iARXXV$33H}zSQp4dlx-?BM1)7tsU0K za|DgVA)!G;-Ocs$bEXp7+^a@l=3%H5BN)H&n#VV-_cg5yN2#}vu-`-x4k0e z+1w16Z?<+v$>vonIzn{EUjXjKfle}-uzo;1lh%4BL)OZszw!$MqzS7geL^Bqi6L>K z$GvK%`76#Ye2Zx*5K-i}kHh_x9eW~3bFS@;94sMPrQ(xWv(F}0IPxb~cjwjZB&+1D z9dgtw>cIhZwSn zPb!2XDtV8wQdLinIEb>U6z~&vkqs>XOFltb>(}{3q)tk}Nkd`k2P^Sm$Zyt7Fb+cXs@d!E2QnB9OXWvwP$@ zAERfpU`Q#X!jU3)Tyco+$CMc!UTrOp?7|nMA%;R8><-H52$t@*vn^jHv(P2Iw;D0M zbmO{yw83MOaPDwFhnUiJm3SXT4l4|C2UR*7gJ8B6vOAm4ZmWU(C?Nee(>L*iR4ImNVOY6a8rO;1 z6LCLZX{MZhFM4X@A?hl1j6)A;x7{!R-e;FclIe?y(l3W_S;@O~(50fezN&`~DFmLG zAP08F1QH^-8Zc_;U>mW4P*G;4MePP*TfyO+5MO}_=xXa}hal38?#kLK~| zB9a+D%8n*lf{n|j=5El%lGNB+I*1Ji3Hp6F&OiTyrt2GYHBqqfQ0l(7?Yyzzcn&e- zr+IEN=PoE+*?q=&X1j=)GqwrzQNJA9*LxHC!ZL_7DLba0*&ni?M-bNT!{lD+09wq| z!>H|_$3Y~q0n{I`YZLzVmCQwZdYT<{t<5&)#dhhk~71e)?Zraa>cGJioWsdPiO9Pn$To2cxPspO`cpuEBB#NRg^mLs$AsH->6daRp!#YsT9wNEs;Gje1|K_@dWX$Kj(*Z*$@fkIY)vZ^u=NyM zX^z#i6h!Mew$iyRI|d2S+-@f9-JKi)DBCla+U0EFlR|mFVpDIb)qVqdzxLTvAbWQs zE4k&E(Kc46|L{=Qgzkb$y>guA{{>PrxKAtpYRX_ey&fAc#Ou8|eV_H1WSYODTOt@) z1(dDt^IiO+8KVq`F2Jw;`DPb<*%=IW(%92-kMx)QFoua;1eax|F_}PFU8v2St2J;> z!0z#+Rlag(g{R|OM7MuwrYye#+t9a>=pxxyb^a6~8e!Q2Kwd%@c=91T;ZRbbh0|!Y zgvm6!#E6=$X@S9$KAJo|VYuevGr`V8lyq0MW{n!iF?1z_TCO~q1zmvmLFFZc<7PXy z6;Yeo%~>hg(Czdq!J}M&{)(rlulE}?OJ8NUwA)s0?NaFx-ag>{m&jmKlAf}{IYPS( z@mboFQ9a+U#&HYSFpWCdC6msd^Yf{GvuH#{HWI}ARh(ssOPO%PGrkfERTCvj?u4xb zfQ97jD(vZ?wMy1H;$DfMd`r#BV<21^itppwI8{PRb~!896hf7XwUi5wGjL5O7j!G` zFZ~E}FnY%sU%l{J4fMwcrhYenmk^!b(;U8{O&j|oa$?9Yw7wHszJQj`#nb5CT;Hm_ zYku0hQ4Rz^6to95QwQ#_f@^dS4(nGf>>v0ff@kSQR>s4Icm$@vE^{qW!D_5RhrWQW zqS7S-)E4>hGVYFR<8iwJg7cMS&T@X-*C_&+9#w#L=sqcZvt?SCw`Eth*11>8d0GP9 zJ1?9)1Oh#@UwOI&>u*p`RO_fpPJpO2JbMf<^5X$`r!T(S<)DIIS?6!$_~_PiXL?Io z+h=Tt{OLLxyyQ9myBNZj1FaS&vA2LksZVe)tu+IdUqQ;#9`f#64;xPw%csigZk1TP9P_OH7<+g~ zOQ07u@*$NbtmYB|#v~wl#ME{M)#i&?$a(lOp~>bBkRcBu>C>XNP=UM=jah@=s^iiJEdP{b)4^iazgzLmMoTC4g76D zwVYku|E&TE5DTbwE$|W|7ZKtu@G%|HwEr@G94%-Vv?A@Xrn`Lmpj&V#Z^TDmpDIFv z?}*Dq&e?{DET&o1bUvNrOO-xNRGa84~;r-V6Vlu?;zamk|#*EbS8^DA9u< z**>^stbz_gn@uPrQulpzUl#%sq$l@D!f5PmIcI&e3oypoC@1LSjvF~9E}w;Y&va#@ zT+6+?d=K1BbIh1bEVp2U$^v(6KIOL&CQ;aKy}Gbwuk5O>2pz$mMzpF zAyRpJi4wHB9;d<p(sGN6a2!A-q>a|1HX(p_&|w;#Na4bj@}Xj;{$;BQfOMck zs9q=d7tlkEn?*35UrmnNocmsrkuva+e%;HQDsvfj(~Uy!!YaV$?p=d(4&Cez0jvfz zO3*h%`=3`cbpT^}a`eC^5{y(Xiw6lfC)KBDJWCtY(c}ts=IZ{OYtG#Ca z7a~3SKp>OU@N5S_5@UT@f;UE&q2AhL&x#-Z8;89K7s1;E(`Y3#1elvYcsy{Nl0`Oa zLGYC4_isnDwPT)Yt|(zdqNls^cqBv_Oxzjw1>-q3&!1O2X93FgoT6Dc_6+=6R=hmQ zj9T8=uVRGbvD93SP4W-rhY?trw@PPo`FN@2xBWS<$%ELqurNGYg)8M zx)p6=3t8DVrztl_L1V6%bu}oL#N90V>b+kuA%gM1=k9;0|CpsvL${jI*EjdD&qLW{ zFWp%njKLQvriOiXa`;_ipN68QIjCe6khR@8Xec)#W6v@*K5uMWh^{EVQw@5G0h_>a zxO|0LApJ_B)`uPbM4gB2$Yo5d3USl1rSl(0-b_G)D++#i)zCt2JBBZhWU#}lYetAxHtH+w@FKkbKg4o~b5?Ls}-O#=&+X1Z1=((jXg{XIfEi{pNKQ+2&Uf2yC= z_CQ*0UftFvo}RJR2mYK^Q(8+i6I`kJ_Jgu*0((yK!6bG!DlOhLinIYa$v1 z70hGnxmV6KnXL>AfJpx>AgHbR#3d|fsNj?2@VgH{egJ}SDG0)mT$@;{bFj39CNL;O zG=-Ta+kf-(=!g}=`YO1>@(bHC8N}S*poiO_#s{=>NHB?`2|J%T(G7imf7Al+TP1Hd z%+%ZZMT_#2{^ON|K%TQ69C!ZT5s`t(I@nP8<yU*(tWXWcV_Z>HjRey|FL?tT4qF`0>9`N{3~dM*WZn76RM4uc5s94dv?`G;5& z!kRLWAUjiMqAkMr8^a6t`O0+@Easd`t`W`>?&TiL`up1yO?47GXj%cAq%u}0#2M~?KZ}T4xUGP8 zZyAtDop;*D#9}gu*@YEbK}(%)oU;I@{cTu~DssurdH2Mq`n=eX2@nb>8iHwzUwu@d zLQvD50texE&2fQc$lSemiLeX^Wh|AaMlwT=8*D@GO zxi0Sn%1Qb~>!w39j{ph<$A>4akxR0o28=LZ0?!OH%%Hk2$C$OZ5eY^FXlZ4ugX(lf zuYkB0-bGSeLS>ZjEbz;@F3V1sq|{o1i&~%HMyL0w3-^4|ZIt4-?mzWQ=LTpe z%+xn4Q6&0LR{{}mu}FKqfta%dtboIb!erGQsY0cV6x-e)&E#t*Z%-v8B)pL59uiTe z9&LLy8FtJ6tN6P({R5zj(80=IULI&`?NDt>Muj>8wP=;|v1{p6qqdz9z1)QLWkVkY ztvR_%|0;lNAm&UFx1p|VzFFwbFGDm4Mnh#bJTafJVl*UEKI#2nOA&l#^Lr;h+WdpQ z8e|%7*H0OmT0$QK`p^_B(hl-sYg>obDxkx=!9JmVp{P$bNvQ-v52jTsffqE1&PR9h^OYacAgM zpy};2c9d8^{Pc3 zq+8GFR%#4oo{AqSR=719;SPLzPt8RoJ;2r9IcKx~8+ahV_?T03gtp;T`G7~QizpBh z0=>Q-H{tp85gUUQ4Dxd#VjgKPHnR-N*uqu(1Qag0!RCNjY z9Xu1;%jtjh=7PaMKhSnQfB(JF$6&jebgA|cw8vm9nS%w>i9oja{qD8y5g;L%6f2T& zDbQ|qAi#MrP7RV)*ZAVL2xoMO1tyDDbyqw#Ef3gYt}cizmY%u8H5EpwgKoSM8Qu!I z_#7_~TN)6wCP75VP?}UU5vj5}7dp7F>(Vu=KGL9(XC)2-QgAVPp?;P{? zm0{fBd3=7_#O^x#;uq{A)RLXuuHT45KDxyVcwt93fqWQLv@Q54@`$GQ+n#QK*ZJto z;tU+rMK@hl^e-Y%!&Z6!RP|O* zAH?A6yN=R{NHhGW+w)5-Jr`FKq zkph$Zi1eB?Fd7|1fu=tRx;k0EUNgp}bzFPK_>|PrAo18DVSRB}f8dXc?hA_l6AhIE zp+vE)mBg0n=^9ng;_c_;qWJ>y$Xoj!`FGn&`HpE4wdF8>z~A8;_rZYTx;?+|e#?B$01iPsC~mYObuo0-SP4R$I2boqR`U6Be4!n-gRi5*Y;G-5?l!!gRgW!XATCa z0pBHsV&{7?HM!!WM)RfwQ|ch> zTtun@R$fTbK@?GG?Wsr&gB!G)E`bHG)3 zTx|BPp9ZuTn}zP@1yY@$H^^RSgP*&M9)mXc>5jvJqXSglfb6z+m%*kXEnkpC%Qa}A z;R_zQ@LqwSakdsrYz&s1@DMil4B#VE;s0Vp9F8?=?1-JEDD8Exr_ zyMZbIYfvA+8lTO87<^bZ1ABGvi-!eMdHSz`f)|sAr)&y9$8k&{2R~f z87*mbEZGhv&S+s^(Py|0b*Mz3&uB@(JDAq=bLdo`j@AGd?eH%X(=D%>DSFRmH-Fu% znAm824A?{gID1~i%dt=!TJ?iLR<6KTXEq$6eVdnSn1UQ}5k1UP;%vgYdi9Yet9RDL zt2qk}u`Qe4J+RaHW!L{@fnPO268h}ia>?q4#jVP!r6BL!<>7{#kM_PHKE$weH+zHm zZnauT@So}Y8+DBPfo2ke&kmeSzO(fL@&p^-@4FRogS3Mfj3V*-5&UQS>wl3J+dQeDuyN2edo$nSyDW>n(fq9u@D_oY^yk+ezZ%vI@#z0el>X~KV-6>s1 zCKMmUCu%T&Of4`*d`K!9^ia8o%4j~&y#og4YgFzwI5#?2a&Y|%LjSkQk&OsIXE>AO z278EVrLqA&m~^Z>rp>@d?A!ocd9vVX78`qdvVP0DWav|xcosMW6%fWlE#M*rr`cG+Aom7wR7H@nvay1vv=67)A9mXz5T2bBzE*m)L8?G&!myKJ<7#l*T33Tg>Rsh{6R)qhfRGqy5jep z(cw+?`C;47aj~ZV!owfPV?L8p0~7HMA{!io1wi0|sJDoG^iN<`!RSkNQ|O=#wg5Do zqa6t|@#?a_;y;D#s@tgZfEJw6-@igoM2uP0t_# zJ}`L{HKiI$3624F1|{6~_7)lMqh~c49^xmOBEdv_t*bH*T~q@f-P2GbwCjU!GKX0G zF<=>#lrWG09U1Qp)gst2EyT?KPU$q%l_0r|;v+mA%r%omI#E?^lB*1Uwvewq z9_2@qX(iFU@{nW`sP_P~EbG;-5&M)F8aSe3uE4&(_4cv2fUwuu1{C+O1}vOx5)VZ$ zU#eyfHj%L<;_m1eOGLbMA?yKI`yrY+GL1SVw#faVxXvQzQ z1kVZM4L*0!Bv}VkOT_3PJ%UgTD8Ih6hSqH0r)^Q_-XVc6$4p<0{m-;R-2dGGOoWh8 z!_9_%ZFB~hMNjdw<-^ZGyZBJ$RMd{y|^PPd0ouxT-e#enSzb z1zaZfvium`=+DVCgYGq-a`Gr>rs40w zU_;ZxWFtyR-sb9ySlK`YguJP#2`~OJWp-$3*KZzQ#Y{e;xCOsKwIFo1Y6282InK0n zHqY>)_T$GU%~$$Vz0$-HRvOrpt!F_GhX$}v_e4z1%VgJVL)-np+p#aUQCaII;M1I=B=0R-GulQ)R23YVN zPaV{>=ap5&7ed@cwP;87CU7Bw^@j9QyDHcr?IHr0;Wu57)vz3;3fx zQK6x^cm2OOI+*z$lWYJ&0^#iv?F>e6jkH%NvDyQtB+%jUqkeB&pSVM5k_#d; z*f-T11RxQ0{*1|hiJ!KtS(C5MfcLIH+3)*L1OUbyS&6o8V;nOQF|qH1y$;V zCSu_GtbilDs$NE@+k>%%w1Y=neb`Q0#XY261=sP_H<-yAIa{5pRirw4;Dm1%Ch_~x zg52+ixlKMmLqMJ+y1yxjY^{|pD0|sw9Uzte9e*dxDp^2eSK4h#J5WsR?-U~N$Uzri zJ)Vt!Vp;zprl2e|n^aD7jGSjx1{lki%KFxhs8*J_c=Fr9SS?Fhpi4x(syZMs!vG_c zn{BSev;`>sC9Df$2H$><_K2}<^3%xsuj1Nq1uT&H?*cGvv-$n}vm(4dE2wYH zzv_%nv&oDxy8+tKh%M(kqx27tC>s~p*w7K?E&^PF;_MPkDwx*8%Dc%AY5|cQ^r2J0Vf8@%fhslu7ILR#C_cEx!mlFbHfbLe&9rL4)8l<9Q3$lf|A|wZmE8U z4C-jm(7bWVln{Ofg}}#eJbw0?fne20koQRW;!eXigAK1-^}!gOW|Eqjn&=lCQ-#US z3Z?mX4GpOZ8M@s7O^80+M;%+o=x{0*_I(boGFCovX&^%}Nw3ZbvGPUM0h-!Ys`XsM z#4nl_LrRcv5e4A^5U26{!S+ulA*BvNP>5E#l<1l1RRO{H~ zx`kL|NNM*f4e9>NV}a!OL~csI7MT|B1;N^l2#|Ns815a;{&*##L=EO66KR)lE*ubT?LW?~i_MVI;6&`92akAcGnVYK4>lD*oe3@*`%TW1{A?2vp6+n3;Y+&KwP*hh-dZ7btP3tJ zg7II3-hD|L(uiei`@|gGdD}MnEZK=His*GEED0`rR`9EZRcOVr0|3BBAjObaURU9~NI-xJMC!^X@Ja%!Q+B>6r1-*zh1m2oS72V= zv_?9=^Vj*PD7osWK#+LBPkg6{ecdB26bnKVjbX^yH5 z$g+<%!Pw=*Z_3YPV&halH>kOSDdN_mSUbj92?6?fdnPO9o7jyNL2KNM90BAz5b_7R ze-n&YHeMq`jjTIkVSgl<_py1|%`oxsYdWj|Y8O5JvG?UqhO@=LW&UPQ?0~s1An$h( zG7sh2G&^~7bukjV#g`QN&UQznJtyhc6j&<&$nyX}NTaNKz~7X;DjV_xFJg8zFpWcs zmoFSFz9N(gq+R*i0cJ*bB?jSS-tGz~v<8DXv1zSjjB{1o0n=@XIVWomz!}!ye5u)^ zuITjp&jEt!mhU(03y#Jm7FzS$Z=Da%j3(ZuBm}T$JkRlGwpdbZZ^6d6Yqf)9iJkYp z)_hX9AMPYOfglTMT(XVEQFz#mAmwx+@zxA1yR$b6rGkqwAn)l{(%fk&PUa=H*kmQX z0-}$(paipphbolj=I>dh7g{H)8k#cExLp9V4=H9pVcR7r3z`>&Of>JTAZ)u8Ph_g6 zAO1RSoDUpqBZ;#k`_R3Wx8G2v3yX?>Y#F1_kA_Z6zwUedfxyl2>b<}5yX-Mg5|JN2b~TtlMPys|Q2i4|UF zTxXq0&CmQpC5WnrD)S>f^qewvC7aL#ieSBc_Q!)vLTkI zziJi@BZN}H39vs>e?p%1>;DqZBqC-H0DqD_prwo;W+`08r;~B4zS8WcyaDULx`{py zT?RT6Dj@uQw;-0RTei7S&~o7ePs-Z(t<*k_*RFwmSwAK}kbu9qDbN1FUf}S7ZcE|4 zo=?|4UU>8iQs-)aO*rhApxz7(U~SA)Wz6F~3~m@eZI;f_p#1wV;D;k`Dzo?KE$3De zFIKvt7k0(n5>`PB%S*;Xdtr`ASDy{)cS{;57BjUfH7{vNDd|z$l*;UyW(50Fe6)*n zsm7QgsGhmp4#$2IT{c2k*-~Ar943R?PBbQ$xTJ#g{`X%E(+82J<>RF{?-DW#c2?2! zThSC!{}BcO>W~Z|T>q5@oEPpMc$G)tMmE=AxCNR0IjYW-?e<{ySA|RrrB+EvRaHNB z%qUl_ODkRMet+t0N&u2>LhKqk2wJYFn;rfB{XsWj(L z4VOY!Fck)$%O0E5eN%T%$fsG_R(C3 zACJ0ALlhU5T4e3EFdXdy5KM^$#i+Q&T75w_Oa5D{R>9E$ODFz%ST%2wl!~nk_(MmXXoflT$efoY9J?N!qzuH|d?=e3 zlPgyQR|6Lc?sA7YT&dE4=Tb)5aC4G>Ve8x1{CPQN^xePHHhaZ7Jh|`OPue;EvpKe9 ziIgee8pofb5I|sL!U`I#E!NL*HxqqfcDkiv7P{YfxodF#c2e!-nK){*VQncD=V*p0 zDpqD@Cy(usbXSq23&Eo6x;K<>sf9VV3QElkhdM5%Yz=tIqI(9jdQx_Nf8B3DAT(}@ zPpx2d-CLWsb?ol2if2N_bO>ROlJEfL?sSFvtDCu6+`PPa@xX5qD%&r2y;a6ZC-nj3 z5LP5OzJsqBPV}0Gp1vHI@FFU>dW}w=unY3GZrjgIM+DWa1 zRP`24B?+OINq}U|i+d~JROAPJf4B_udP^Yf=`8Maq>*sLR(Y2eJ8Py)XClc#n|3v`^~3~qh=0ErAznBN~wYWxN^=i z~X^L>DaMBw&dN$%kNq#avaNM&K@KhuShI zM(&C;{%k9}maQa4-emfvn8I!9e)q*YU9H~!$_{tj2t0e=RXR&fh^^~J+4yt*jBQlg z`oV9+f31R?Z3qr1xOfknF=X$zD96SoGc5L$6CozTMz0HPjy z6*fnC;V{Y~_!*pxP;)RqwV00M{HxdmkSwyAR+5ztOJG6va|+JcCnxr;h7O|GnTXqb zKdW?gpC@)yyKLCVR;gx8>K{?tDmc(M68ed#TCsYY3CP2~B7nJL5KstHN}%QF@2B#z zH=q@UpQnd2>Ien3iZ}tFkM-l&AH6JtE5q(HPL{7UN(TFb zl}=3|msb;;^KFXp8*WotiQ;-sU_67q zx0}~Szh7fFY@NOIvCk{XV`=!4g&S+J4vg)`?hIM-{YB}(Rg6&k{8(boN<(Q21MMH;b_GGCae_@^YnNq++(?2-r z4c2bs+#Ylqasqd{0JsQDbo_~wi1Qt{!;kk0Ptu-F9!6g~j(xQ57Y^Vqs*Mq~(dPHg zJqXJ^McpunsX&~P$~}>T=Fy)VCUtkDedgjRPikCjj=D?T(5tgp2r2P{6)#nM9WlPS zE|ngJq0ev!p9^Osgl#tdJX~!BF0+oPVrl#a5!k#B@U7UO&Ank_kBa zWw!rIsOVklAnv?iRr~3*ELgZE{a+!cHbUxJ?c_AEDAao3Xd#HyX~_t;Q) zAe7oyyku`^WUGAp63J*2v3<~+sfF*uZD($n7maj0$>Z;!s3jf~yCD=GNrD$$z&%cvQ!OKHBwzekWOh+_urmk}LG!W|c{nq)k$;?3j8%J&Lg*{NM{Ns zIC{v2R?`xBixB~x$%juL!a_YT;m1;fuKh2i28bQ=vUj)Qq?Ym)A7&)Hx#wZ%|8x1y z#$;{AEPb{8q2}=0Y%Y)LZ)d@G1S)z0o3-ihrCMDu&En)eli9g0ZL&vY553e=tN*yLbw`sQxfQ@%alC;V_^X+ZV?T zMp+2SOnkRK@YH*!E{hB*JAc}aG9V&^K4q{JjY)s}q4^X_KG4)q4no^$pLNLg2yi#6 z&xzq(WjQgB2!q(3JkFOoo=<)K&ih3Fs8~T@bsGy-uNAsl_hj9=W(q8s+EhSjYs$Ty zqG#skuyFK%)qq?{;~lS{ULi%>cV9}=IkH*%;pE)U{1sR@6FccSL!!Dcoev0+YLA+RqhmAoIeptoA zt%5rs4VmI2+TlnA9yP0`CX(Ru+0qk7lqF5g*PE%$3>}cdCh)MLBdgK@1nT)@%~ZVi z(uwJql9fQymZ!+*vGL9mnCvClEW>Lj#JNcT5LYrC-5gxSnQyQ)35@+jLCc z->m*Mb>yEK^Dye0f}1PEcIN z_mZCS5#sKnOb1#U69o=PnmT;LBV@M+Q`gXiupu@{eL8xW=q0V=b^l&b<)F#o<<9q) zKuOXBIfj@P-X0y@E#l^Odkr78jJc@!E44}YdCh^4Z2GJk8(}?>0ZpLkA-oJ*a{RtV z`&2A^?`)VKgi8p#Xx-g@EXTG!8yp00mEU{&a;R*G!ltYCuyOcW`s}KK(7%kTBHP) z_Wu=EzY08w2giVz1UyClSKjEq|<+u7nzS`L2yb~fhY zw%PO8>p^C$?NVCkDt3lyj=f}9rHP*ec^?SSvJj9T>2zAGk~tj_~76$Elzq%#7jh}Q;O%WoNG3i>wfk9eMCP8HzaLK+Bj-n zbmEK>_b)v&Z6w9py}jSjpLLc80re) ze&Q!TKJBn|{6R!O4(DK7ug{M=NNP?1b7E@5>6lj76P}CbJFP)YXE&Z^jn!*?4w!5$ zO4n7zUrot=*8C`S2_RyF;iEApF4|S?I zbWakJSyv#@-G@!XGg5?a_0CveOxeF$GW=9txi21#@UD;H+s{2qj=Ljx3lF%q`;O$D z_>wW2eU^yF9!-wy=wH5k<;Ui{*UGuElUE&mC38QwD%+i-$~W2nnD@&J-t^-6hq%g_8_B$n_r665`HipB4ZyDZHjELE8TQy;-jAgID{m z%U^z~e?Qs#Da5s(7Nsj0@ZS2{V1>>}9ob)2n)x0Q^{s-Wb@B01U1-G{2`y3x^ys1! zTI9WjQ;}#)lZH{lV*&^(@eY}_9#t5Ow0`C#E8S}jcHvTZWUIjaeey|}qOJhXY^0X< zV|;w$1Y(Nd^}$OCtpaBe9?esCSCCtO@TK#9hKhY;R4+47Z^@f;9(pYu&ODaZE}tKm z52{y{xU6|~R?%u}WJ2s6(?4#LdVI6B?tfx_eg3mT8R>k(LQW=2{i#f)#G;CF$CwQ z5~)gW($Xfn2WIz6U<HSPzCxT7U)IUBh+lDot#WRiq77Ov*1*;UN`vs z!COo$23-J+p_sX4lOzmqkFWx(uco?TS$BsvL1yrj5oF3fw=ziH$i7Ey4UdXgjbbC}#cV17x9 z3|!fUe#OC3cLb)sHTr@J^(CWv7gf#seZ(}tGR6bp)+jQ5V=`UuXuPI|P|&6DDiV(e zQTYhK;a#`MlF$8d5(JPUnh+wM+-t#U+b5-AJFCNW&)?ASfLbC^_veHl@4G<#xrj}m zUw5gQqhaSX(F=+zB3kwrHo{l;T$ABoNt6E5 z2hCzS5ljn$RI+w8M4gDZA2{Kl{IJZYlD%{^-bWNe>Ll$mPAt9uG&W{Z{Qc!eHB=*_ zAc@+{kMhF<56b3gV0;OCy1HSk;%_<+zc{syzdtS&W(rs8((zKZ3MDEJV&?c&(<*pq zvpN2ySFb5Dv$hFc?o{N_>(%LE^I;b**3~WL0F1#MP22v*7;Hzt@<1QX)aIW; zGb56|&}$y=_JdfEW-#0al13zLT)yFwQE5GOwQff9w8>>wq8JnREvudZ50**jTVL`FUvOl2M6bxVt^<-Z;*iq?$rqL28 z5`9ZG&eYYjM-QLueKz9>XLZ2at}Q75m%F{QjPQcCB0OgL=*qN0#F2sK%I=CTB{86> zZ8qnj;u~_9UC?Hjr14Vr8%Vzpp-%29X{gt)J@E)pxUK9&W+gdKV(h0AHmZJm`K`qF zlZ4O+=p4j!r#fSmegEFNyGb*fd>D^m@Adh_4`-s+@b{hoj-x;H zBx4MJ91BRDp1s6tmn7q9mo7U1=cV&~b(>n(l#Ui~Nk7G}s>p5#TjFNBoJi3@;yUoj zWjvK5Ed90s3u}vVro;BI;^DK=x8zoLjs<6x9G2ql+W1Txp=#I}j+2(YK4y=pNAr&MrYsl7Od0#99ltn}Xj*&wwdkIvppD<2Oj z@A0%p>(Z5!_Im9>NW(FydZv4aLY9QwW=``Af;O<~v9fX2NvkB(p6|N%K}QF<^MI2^ z$)W%;8oQ}U9DNzttzmiB_uQVJm|tOJ?RQIS*K>#7eVC1XIuwa){Malp2n0WMR%SQp zaHp^@18z;w^?p7ckBP&EOy*EcY3s|&m}|6*R?@^2RbR9E#wuiqgSHCg)deV81-Y%j z7LuQPJN=7Qu(FyDg(9j>S?5aIMn3rtLFwM5r>aYT&Db^IsryN^L>Jz&x6p!Tv+r?fQhRu%4z zjTcsrsM%*!ED?#KbbB0UxGL{FLX1jy2UhkZ4XU`tCoxglX7>^q#c(aSsxy(9lu@uF z5XV5J$sB*HH2eluql*PqY6}>6IpdU&Ud_)Zf7uz{csLVLvYK6^gt_8kGU=(jyO5AY zUZl-}*KTW&0&;nB(Bl&^AHvt~73fFEl>%v>I&B>nNw?WpSoOM|grRh~-`w-djTbJp z{=r+SXh2&8AevDrl#r58=S|Aj5H$nZo@C<}T|SY)yL@h|I|F7ZGXvV^e&^ACC4BO? zs8reeFTPO1TspLv`=L#s7Bz~^pUAyq7Y#7?yzYqYipK9H-9Gu*ZIH`^hkiCujZaAm z7t~X+E5^|oNqOA3gHrLQG6#!~1MW+ixh(A|9gDTegOrFQZ&emDb;SN-cy3*_<(&me z70p_|3o-$L2((GR+Ch5iL$7C9ZyV?*)3dZPs+TIvDOYvTyXQXWwS*xVK8{yaD7Q$U z9>@#u@eh%HAGL~Zmq1;9WSWj#ls?b*X4L|+u}iwBb&-1-@2tizfD4wMNHY6dxe`El zpgRS&fwbDCbbIex_mY&M=%ptjDBZ_N=fgjYLDbPg(ltsUq#h0k_b?=pLy>TY#(-KZJ<5>7m@p9Gv7i|pFE_EP8yp!3UGub% zUae&vw_T>OQRe_Jc(aFO5g3*`7vZDyN{Jqk3Zt?9`sefKgTtP5DkWpSbmKwYSWF<;NTHpmObRQkdZK zSe{v;>O!|QsMBldEG>;pGspQDkRMvwt~m2&a}UnsGmtrkdb2NA9!WSazfC$giGsk0 ztuIi;79uX_DhY?BX3X#xy~`QQgQhQ@!m#EYs6NAGF=*^lZbqUaukh9wMaG-k_MowZ z`PuE;w?EuHZ^J7LD#FO1Cn%i+fVk0fb5P}T96Vw1K7UH!4CM(8ff^hC&kssRNxUw2 z=;1@lWsCV+{5^<=6@Ixxswvw8ywO0}&Pw$mYDgY4V3-gv( zONJ)tsOmEp*ht)a-Ov9kqP=JVEcu%BE8aN>GW3Tlu67$*hDjwXX{tX|uxI?iKDT9{SSRnAw#q_t-4v>PPyI5ENv7$KwmB%OGrb-@UrOzCAOpj;%1h4t%t} zTv$O0a1SHNy=&|ie+y{g%hgmVzEA1y8)vpS-qAmj6NdCM|0f)?&w}_e=ZMYM{@yM- zU4KbBi8k*~>nmeTLm|{=TnpYIw8Ync)DBf~1{u&wwhHDqD;r+$8@LohL75I}3~{Z& zPZQy$raV!{f_KTB^=t%d+6E`+s89#jub*Ls!;^F9HE+rgmB~9353f zZL!?KrU*4NClf`EGsm9bFA@PR(!2UwrE;|5yshfq+;`QyCD!V@VHp#vx!+k}&<~6twVVJ*G0K zmo3TZ85E=Se4k2HNY_R2aUi}t z`d%i1`$fMh;n6GfRH9KZU6R&!3FJ^V7Y7yJFVCQ}M`To>>ay!E8oiKL38ISc_&tVU ztK}(C8Mhn)l)$?4UB?^Y@R3%5d@&Ts2--jCITOhDp5%Hu>3id@A=L!b5Knix@8W+^ z1*yxkClsvvbVXd;Xrj(gZxfppQ`9#jt3g+cn)p@j2Q|YN0nC%-O=Yx&E*sHu9$jn0 zKEfi%s>mUlWodaze>Pr|)+V;$M34$snbrj+#5>C}u!ppLexGI^PCs_TB7}un*z7w# z-hRQjS_X#KMN5i!JBJ6{n_e16{p;I;PCoF_J5itf@h4n>Y=j7`YH%syFi3!;V(0u{;UqA@2hDSUI^4E8NhO7 zv`h2Zm8<%3Ub`A0#8f+BlLBHxd;pev_|?sv*!acPDLi|6m(IQK z%t(OKW4|iSEPUGDNds(6z##(LrT%S!!@BV1a;__BV^1dPE62~I*<_79ijJ$Fh?HkH z4Bb4NpA!J9h8kad>=5HR`2f8EO`@wk3#&fMI)7N%^+|+TExY4(Y-IJ%(Oq4hXmF?P zmA!mLub%Ys8Rwko8>wO#qbrIGADn%_qd2q)68mzpgVWvV*qxrEwG-h$>W*f7Fhqx5Pp7yKt? z?qN;*JMNE6-gL75%-9FU?>6AOurj#YX~DywJ6$XG?hpxrcFfiqNQ6*HcWZ0p<0 zFzlh)ycE|ahvDwF^AqWlA%m)WdPn1!WHN@*EGO9ZqYDGG|}D zcxyyHQq*ND!#MUb6LHpduy*gt_#;jpT6cWLl%aP$YTC}(6f}zBK%;2@@_MzYmjfPV-%@fQOATyqja~pY|N8o$$420uEu}wdcD%QeIt~ucMB{mKl4? z<99%#?qIrOQekuRi~8a>UM>9#3zzC@qC|bOy`blS0o_d!tt?AtsZ0X27pMe69azcEAg+?H;D-4C)wvY&Lg-w?;|hM$Y+i0EbwV?cUmr zQ1&S66~aPE-$|%CqEfge&%H1N)k9jT)7#5|rs=!$B2s^{xqaFHo6S*$05Ji)Net)H z16oK>OZLolXVl!^kYsnejg`2I*v&3SKoxw)h3WVu2+4Q{%s8vBd-)SvtWcDXV# z`N=tqtMf&DN`)%ez;DNnlTuAyHW^x$R;FCtEU#S12jF^p9st)@eX!Z>I07Z$F=8h{ z1|gomxVdS|I;4@jLbujK`M{V>f2@sBwfrELS%#)L3GjQy<5@{B;!AW{8z$^x|(s284ipGnoMrDO1)c? z?ij3h@OfYks=Uvv4GO8Ggs=*khT4R;X$9oAdayOmE5V&Flr*r}-OQArgHL`a&VSEi zxzyS(tnm&VEf1Gq6XcbbI3MrLYg$05WgbFq|M9nP=YD>3<2=8CX&wNIG!i}^@Cnlr z#XJi}aWjD6c;~9gDzuKSmiM8oC@czA-Tk+U=@E1DUtGGya;s`oe&y}N)&HA%)6_M7Rq8%Ort3L*#uK>sKC4<6<%z5A_W?E|~W)T4HSy_2@Nzko$$0h6V zE(%*clF5J=@rR?y&g9d}+^Ju=j~)gLx=-&!&Eezp|3+>CR54^UEjPR_uZLIgM!bIW z$N3APlX*aV>i&+U*B-&%1kmu*C|w^3;ZwTkeX3}cZZf@(Mt1m&t-L_-D7hhy=u$z-e(8onFTKtQfK-#%a)Ek{Ui3 zx%)%yl8hwFyYM$2rT#f(gn}yvr3Ac1l5TT-XY|p=0kbjlE^bNr*a%r)jm-QLA&1v} zo8b)pS10yGXL^uMrkxXpsG8Mgfn6bvz8a6Q#k@hWPZgrYP0noQfakP!epP4J^lc!V2GoV0jxL0rcEH7MLTDY9o2m79|KD#8 zNoypy&bVY;92t0@7P{QKJ(7WOxt~r!MP{$JC;)s?Catcp+G*Xv_!!l&?DKq_HA<}_ zegZ5E`ylhOI9Y9CR{$cWhsln+&0lo+U@H;MaMLW%gZ;$~_7A-N4xYxzHbSnJ3i0g= zCcE?@$s%$OF{8%uQU78OSf!A~vaTtJzsE_~FtvRvN!_gvyn@G}!8{lDboxJm1xZ_LI7h{&Vp8r{1i#`JMmxzt%xs#aO2_h++;yPLnJb>-`D<=BWU8rUSm3p_ zdm6sWwXBB}6<($hk^6GcvUx%E2gIT}aL!+^DyiahW4t_{10ucWL`(v{_Ok&KF#1m} zx8qyDOn`X!a`aMerPSP zj6>JRXxy9aB;80A&LePsKb0G+Uzurn=kfYg9UwjaWXtFU1e8DgY|b+dUhptw`!eQ9 zr~>(erWYq5Q&54_pxKz0QisWd*OHuolgcjd<0*QTy`+7GthB5W!61vV%kFI1cQSl} zAs)Uq`>E&EELqBrX3vXjAjR46-Rta^W2|gk>U(ElGkfd@s%C5+D~LP6Y(1#FnyRT5 z@Vr17hJGyfGR#jV*;W z@Z+f`wNA#J0LGvOAnm-&V)$uWE zSiOZ@+Y%jqkj5>{a-Ce;Op*)5I|kKN6_?(^cSX4j*C84tW3+iSdgWN;6s z1D2MA$U0NqKvzr9MRywnRc51v6k?bIHEKOz2;E1G2B zazz$w+&W;GOz)LgeNj;N8@dCRHZt{Y` z>)UuALr&jMu2H}2viigbIqL{mqc=^0+gl#qvJFDb^C=Bye69ScWPXf7DRmjl!Rac!wb*Vle$?X+5X=&h$&cDQLOZ zQ?IV}{e2L}8z1wsLE2%HvoX8jNtQ02IXjUE+no20;`1t6*L;iGpEH(b8jsc%AVovk z$cKkK{Ta;;qn@?{f@mri$RyWPp3%UV(A=hO>6+#OTf~D$W3~!t9o1*NDcgG?1OyEH4kDnf# z^xuc;Isw1tICY$$Hwz8Q7_YDhcfB zO1Z6JT7Xuo_q9^-Vu2H4*9(aWCjh2_f{=pY)Z{*|paCV=g`3@Iw^!2Cak^O#8Y5gV z-}oxE8jVYsbj@&1kbp1+=*PEOBrh{A4uMK6yy{cL;2ZR{kIcedB@ZjuipFJ;y<_3- z$_{x|f>)#CFdDM#Ck}`;N*`Lu2Xo=$F<4`QO{mI=a_Vs91bhIp!7EtT`T>27r|soW zb>n6t?S#E~y_IckQL3lg*>Wx_YSbP7DS6VD8S#A^kO3M<<;s{cEbK-ySHHc1p~!h2 zw+`*@PJF0ykgVk&&Fuy_Xs8ufIZ?&1&C_$nW8|9bac!?Y`CbLd-nqD}6uJqVzX2#0 zw$iyCas2N$bs*Wh43a&5y@Turl@r-|CVpU5^&FAHr5o21878RhWB$Ty^oSK`NHo)= zM@Qc5%S^z)u=ZW~&R8!VgvAk*kOLi}&?>L2IW1@d0{|vFyo!w4Eg8gunB!)VZ*{M@ zVGBf*?zAX54BwPw!fqJMNO;+auN)o_*9=iCEAwQat({{3^u|}j4E?JTh(2x3Z}`6T zx^Bw-krL4K|3-~SeAKWaofPVkjqK|$!y=`mlRm46uyoHi5{6#gO zr{oD|gw=W1$2rXK-Q^HYQ$Myn``R+b7R_0S&+6_2dP-ZnQJNnzgrKEU`{2-yM=L@vbP8(V`FY^Oz; z_f!Z_pj!nL1NrnEry+Q8Xo?d>a{g^y3PG#DvDZHUpZ!Hn3u3GLS;IfQ04sp@ZENnm z9jdDKPugK@VA^Za3WNL}B*F5psOSN8ik0cx{DNJI9Fr1vLT@$3iFsdoh<^RRNTBl( zd==&$%NQ6eVQe5hEE}gpe?E>IS+Q7tE$VAveBL+ni0g{y&2t#j)RS>yCID$EvHf!P zn|uF$a{^Ex1!E$mqiY*6dzDXe>?DO|i4A^1ao&QrcUmTA&i8SDrU~$cTq*NMm;r3Z_BDHbxN*)U$PSUcK&_Q{p(b z`p{#K1{V`vpgcegVjIfcF}-(5(Cjxh{owm6_w}x;hc-=p@)Au~^eCWD={ls^UO=LN zLVYz)xgk*QlQj=EM)1Zxb}H5%V@6U1nlg+t!e!lBgaFV79%&lc4=ec`hI(Si_0K(F=T)W@4B@hSGyoA<^6 zu_+^%@V?LEP0Edn56Z;(9Z-tXLo#`+paIIRjV&j>YW}LI zs-+d!O^o54v1E9)E(Sw;MO1s4=rT(_A&9Msxh)O(2=kK7$~#*DC6fTJ@?<#IaPoMB zzdCMkoJbyk=T?oR9O8SY#L*zaX?*{37CV0O+jH2z3V={g&O)bT?9k!uIW3@>;@sW| z+RLLbv`PEZz|^%g<|V(GDp{j>ET{6t4LE1!QW`rW87OsX*b0%58=YnXaql7Kwr?*d zkrTULD1cqj9s=V&@yTEpt_>evhx;Ca%)nl%>LlKOTvAbxog|E6Uwg%= zw{8o$l&&RN23p276AL+n{Y(-tee(X{{UE=q(swt^Pq)lX!;QlQO4|a>YVs_;dS~wt zAMm-0I%?Rxi@6``HFSEH)Lk#$`7rZ-mx?Q~=rzD=*PzWly~5a$J~|>shtU~HTx22_ za2-&+AtyNCbf=dk#VoiSuhl)^eXXpI>l*mf987|E4J85wt9UyY`grN)?W=Nafk$h? zX5Xwii}{P+l5(At-I|Pk){Z%)ONCcuvA|>Cy}v>qq>Gq!nQef|`}z>XJUT3!zx=|} zodg2L3#I5AaEum6y>6?tu6{9Gw2aA=7jP~0l{hhdE%kpLay2NSeZ!*IaJftX+?a6c z01b!!QFyUT|JN$F)W+w%w($+GqGkVD6%RPWg6d=cZIqzzu}c)f>j1 z+FA5mviPsx!VWb1RC;^Uzvz$$^*S-EY&XzzH%0}Zw2W3N_L5^wCyf~ilMMXE!o3j) z{l?L24(Kr~Z3M_9ir79Ha2G13wPd3+*J6|nXdTML2!%jAynv--uZXu%Wt537JS)2(yQk>@U zusBUC@IL^7Db@*a_uTn+s|ti8d|WP056<#g(kh%7q2301cD;b^|)=Q$E!<4=<^A zeSUchkkE!MhOsTSROALsd0`~&fO#+_1v8AL?+Z4*egc>X0dT_><;!L8=%u}-)!1bJ zI*}WCU#WG7-9w*#V?tR&Omj{TiecjUw=GUqfWFe&S@!GSAbY>WSwfu_<{Bj-xX%R_ z0X)#}<}^;5K()a{GzB^3b$W`+COXD?_Fnal#@s9GP&Fi1s;4&PR8Td0Oh$MTk9UTJ zQ`RTj#)7w=P^zW#si_RI&UMLPKtXEgS#FU$1nmhS|e&KDiQ~X z;uO02@0f87K-PMd?4nchO(C3T#1aZRyn5!r>)aV- z86S#n;&uTjBH}Pj#EK;^{Vy;s;5`MEeJrqvbw@WxeBtMFj*2BqNn&f4RpTKc#NzNM z^P?k*?>C&@Jk?S?%b@W!`;#QN2HnT-5(36oZOYH`(#@Ti)Uvltq-3rT3SCDlR6MV3 zMoRSCBTb8gl^Ml4r<6(p4q@f?q73yGUzk1?*g9!}SBJ*6HLl8kJS{UxV5M6vA;v&3KA=}gcI|y*k&9d7=-a`MN55ye*`N^+bE(GzUP|JD zVVz%Y2ZVJZMT?>=O4(n)v55+3A)}OAw-?6q0Db#(oDpy92Y8e|)T?+r-O2L54m2Oj zW8m|RzzYR!-f~=-2SI>w*CnqiO}oR9J6$?illg8EtAaIIH!Z^`9G5-$3C>_|R+9LD zbvB)kum8QW`+yU~JhNp`!}5h?3~-hfA7c*XPy$&Vo~48^ucmQI%4m8_!->Fh>3?bs z$NI>3?Y%gyCV)I5UNX-0t}tvp;lh^19h&uIoGp1L!}GkF?`ndw#KsYHT(ibegU>FwkE02OuxfpN+q^ zN8^415q*CALKX%X`}*WgECe(e4umW@)5pf!2^h~CqCE~b)W2`h_S1!t&h>cQ zFhpY2bp9^u3j;C8!0MEvdaE8T>%o==p!-N>_s`_vHjo7G4xpVZ1RI8mujso!pRijV z`&J`Wc_9IoZ|?$}&8PME&9Lgf!!ZPeH(>&n??xGBe>Wf}#_|fs!~>rdk+|m-UQm}U z1&?|IUL>1=fdt1i~;zW8O#?Grj*iRG_krtn&WR_Q4CFKxMXatk)RdrK_933FHOxUPrU=(YTj5 zNxJbnLMiat$?gtF{4uxBHvF?|UPMcyUVckV)$_r0iZjZ$E*uGTd&@9CZVNzsw+s_KybgMgW#zF; zl>(Szn`(mge`)>FdEnF}=%@evhW9$W*#bD=`T0K}RrD|Z`FU>Vo9a`W)nI(qm=c<`cic(|=p-{yw$v&cIvvYl>*_JV222~Tr zbi**zUCF&uJ?e zcB#{wED1DQ3YA{5o>FR&BE-&eNyH;hoBZMM{2uEp2mlB8>q~>UTe8MQ1c2X4NWSA$ zb`ZG&TTUfHP)&U?C z+kPjb^sMvDxzwzd?Xr+U`qFfui|H&U8OE&S1!I~*%3omjLg;3-=mluxP+_Ep=swaZ z@x6RbD8v`r`6250pXQKuH7EU#mE&znoqTIXasNb}7KR{(vy89U!4jtCBLiJ>*1h8V0G)atZV_m5SqvsEW)4PLo=6Cf z;LX4hi@}pKhjZWsq($G~LAOUHk6bFqke3&7K|BHTo7XK|5S0kio2#OLI4S*${Mv6~ zsj1)ZNfj#lbhs$E3Ue^$U6@bFSrfEyu7%tAdFC(cBrDa7QP5mS0g)ahpoR$da-nuF zxmr8wtWjW~gY#6Wa*!Nx35glQJAFyg#wq#+`nZ2XfO=2b0Or9}GOqKsWQBtvi(}X} zSddX&wkZFaA5aV$PYn;i?XF#90X%F}72yBP4)z>kX?YXRX17duKy5Z{aBBHz1ft3o zyD=bg!*iv+G8{FmM`poz5t|)H$aXMalwo{*{yB65$%BdW4T(C5k8*Ge2q;<|+}bStYCnOk-1yihJ{MmQq_gPwf%Jf@aRxYP@UsD`RY+@frf43M-jni3pq9 zCwwUjLiPjT&F564bxHq8=NjShWuxY(N=pW$;-=Hbjhyz@Jr;;r-H_B=W2FS?75=-DRv6(qxZrk_#WP({(zH5;!sV$geXE`{00*}c~HXY{IA*_!< z%hbk*{+oj&fXD&RdCtH|_g^N0(uGSH2&O7Ym`z++@5f?R+NqD$?2&?(Lw>&{Sq%&g!*ANo4&A0)%R=eAc%a5hh&i@Q8(0PtK7D7q6{s}&uAUTU@4pUz zC{ne=6!jlkDIpsccQ3onON+ZAkk{W;WIzs25YxF>odJDR!@HGkuRup?XR7!87ZMY@ zN8wiUL{+&}el93MKbPg*MC_lluK@aL(Mk9y+Dqa03wC{=ik2lhUE()>gN3 z0G;FO`v-7#(&96S2MW4)j?Dk^pU|c)QfoG;6o*yegO>q~TyNV+^%r)oST)^@n0HBo z5-Ddw6^3wc%mL11DbpS4gZ0PIPhM9)MPCgzp!?1=dwC*0#vU-;b%UwR0i0>261(cX zf#rmOwIWmEyZ$;ecLub5C*(1ahZ~-cGJg;F`G~$rk#tY8|1ZJle=ubN$St0rW5@nc zm)isVN6+32RvGEsyopp;`b1P#Q@iAkB@B6))kw);Az@Y$-kP>{f>^O|t|4Cm7V&7{ z*GP+}>MIkL6S!Tl%DKrH2A6|)PvuV15&T|>@YjI{lz@crVEl4484hW&uMK#hw+h;M z6sI28+}p|ol<~L3f;^^X-y>l8Aev0*ouj(v(h8jFD-%QPGLaDKCHmR)sThj~+_qom z#E%$eL2iNFu0U_pzX3|E(2`r&38|#)RpnxO0|}TkTDPT`em%BijjcL!nm{9Sc}~0v3e|))nqrnp0nU0E*C+5X}B*d4aNM z@b)J>h2{Fi4dl6pSFcwSwf}?JLjaYPTRY@GJ;qlgH4-NDV{brT_%(;n?7}>2!w@*= zjzif%#3aS3#;-(GOO;s|&);^2nuau;tjV1xMVA4PN2-q?7WC-UvQKloP%3I0v?V;A zVyILsfz|Hut0&z5mz!>ZgoFE{+7>?8Q}HUcNX@;fb#19~h>pRM#5Khx9}c2JFLUXA zhSHtQ4we!W2x%+IM7r7+iF&#I)r&b;I-$_`?dA9D?ka4`?j&6=uLXn^OYXTAy^mmL zG?LlUX|`klW#(pic<1e)wm=|3h3SK!E}yV?;{4Fyk#ttxd~X zTOy=k`#pvQ5VMx2%UtuEQGge?^26WWephgHaWv@ zSCVi6JTBqeg!$6+^|?^7H+d7tz?z($71{3+*8enkZ~l4V|50_-VNq{gSCA4^3_@v9 zlt$?u6afV(=|*WO=^TboQBp|(>F(|rPyy*?5QIT#hK3=AnD30f%KiSi&wZ|smmlZs zv(MgZt-VgK!kg3d4ch7X&Bcx}WjHmgg* zS4x!57jnIwvou+F=i&}l1<31g9XY5-XYr}-KDQ=&`5RcZUAfiAx)6n{-0KNza5tY{ zZF=yXV%6XEP+t+YX1=Sow4-PQ-_`aGK@mz9%C6$^FK9J!L7P|0%K0y|DdA1NtW?!4 zaBAeb0-VP99w_M1)PME_i{j!uHXf9L*sZpp53LIQjmAg`;*r_lG=h8^0?l(m$i0K< z#y$J2B2(v}R3Oso{ABg|>DBVH_+T~$;g;)q``+Il1Fn@n#`)rbrx4U5Ze#dhWeSzc z+l}DKcAqDYcgFlJ0?v&UyHw(;K{>BJ#Ra0$){918QBh7XuKQtk@6I(8#lZMrCBykMVELFV{49ODJS}w7z{}Jd?m9OTWxUmCYSVY%N87-e)s?3=~7HM4bk`2v44I8QYjDd zT)egK)QOHx@XL2?%<>OijCL<_$eF<(U3vzCRaL3~&J}-M)!v6UcMrR#1S+bktNV8S zS_(DZw581@JMQ3V;?O=hIxyaMgHV2gA*@>tr?!iFXWp3{T>9o1522Flbd8$DU8$7vP7c#Q8smwZG<#(kzp zUl*U>&86(9Y8o)C_~X0)lKR$FTwcA&*?1(Mb=K^Hxz5RF^*bNUmIv+$M1))=Pfv;Y zuEf*}haq8%-4&*<8lUX1ypp<)?;4u5QY*vI{I5xRWCqiBcE+F z!@(5#J3XXm`=y_W?R~~?@F8?ME&cYnmmWX!NB!+RP}yqKTiSOOVjHnY#1zTS{)k@k z`D*r>R@oHcc+K1{AKVE30YHp~wmPEq|MpejHerbF_Qxc9}nvMtx|4NbpX28o|a>d~O{a<^-fUDi^-&7&^ zd*X4~qwbtFZqCz|Hj94H`GFP4K9;ClMNsN?Zh%f5{o6CKcI*v-;F`9R3NC8V{?DT1 zB!E!=e*y{s870;|q@Pt}%$y5lgn!I!1!Q(RsIY~GPCyuF;-NT8FH-2~`TW0#R|#wO zaywyicgLD92e5sdi|gynn&MfyIBtbJ*cwBfF zy_p&UZhogp_&I?yv;^*Q$7R0D=;LxoH*d5j{JvZN@Izf2Mc=NJv=yWvUQzk@=&xbw zf2BznScV=eg%_tT46;%}rd%nlql)bS_qsKQ*zIj6O?-|!S=&jzHL+!BE)300p(_SD;kV0 z+Tbex?j%NX{>m!=bE0ERl|g9zS57>v3IbNNipK2U;nL+!>0Mi71$npaV zCIu^T48ZPfPxp9o(V`xXE>A5kqRd9=Fg+6q@pn{f*hlnINb}ANr1vlXr zl$G`p>ozdYj1{DO!P_z9orYDLv>~;eMAkVu znskfl`0Lb}iSP+9EIzwgvkyvr+L&#dln?hlZ@K25U%#OujaL-=V$71_R4h7;nH(nFEuKowDN!SMZ*6G z-FL>$s_AtGK+^O>sS#hl0y)@K{B_lEZ1;a9K7-$x*v~l~;Pr-jpTX1`S$4cn(*Kec z2?b6ZlGhjzTWx(bXT*a9iIP3vC ziv-7R+&~BJ?^Y;ICqqu)gjh@m19-+#GTBikGv*!QcNhIoQDPb$b$S+a$^u{neUGSGRO`ocL)63{iVY2M^#NwmZQrJsb}xxeFkp7L^cs@yKlqWri< zP^G^ZGF7(0%7$g0F7+kMA6tAf&`kB4JQ$y0SLFvW%2e(PIEv-gYV1^Cz)$#Laqjk( z0Fb@B3!6^c10s;o&fv@X1#|>8uM|H+C;^P{u7)VD=Dx7_-&pdM;s$=E5o9;xPB&Ve zZ5niHN^8JQjXjueqZD+|MD<6a6%GtY0`s9Z5lsX85y~5-2jYmE805tOZD}Z%mgJbB!}ZGsy)xQ z*2%j`Cd2>6iYHu0ADLd`}K@pms+SA?Cq{Q}m>cXIts3UDA*vi(~F z{SS}&Ssbl#U)HLlI_`QUi;=P;hg|bQfJ@_BmxlX3NGW3KhXKl zVR^|UuP8Q{UmCvd4-`X@!;X*y-I> z5W0r1UzfXKsDm#^KZ3DDAt4rq@Z-FRMZ(CGkjInL z!Pr&9F`Ackqm&rmu3fqM z*GAX;pM8)yw}>&bx92Hw*%7YG8dw;NwTFMicuILJ#e-RK4=@5)B4Kz4lCoH4?z>(h zf|?!6n)n8Thf=|li`00Cy81QZ4i>809CT}wmRY6iqLW@Trz z_9T+BuQD~WBvR)dlFichU%4kmkiAsR%ZxQzO0M}@2-FnJyJrH~c~f3nN8{1FG5C8H z@CX_}KhRo#J5}m5>3NXkL@omRPB|R`fH0)X&+TUvsNzy@+%i+U>&^UM1U41m(1vI9 z0=Em1|AozOqYe4uK1yg4>&Mm@T-`NQsNt`3{_9ZXIv)4)dLMK|w&yB`<`f>6Yot*` zNbg|N_B)z?p{ht#Vr?L6Y30bFCiL$b&%{N{(bIe1AEzjl1IL*}whNk(tM6|_%SK!W zmKY)3T&80Q2H@1CAal4dHUrO5TMF%$0p)cOUk6`Dod?RZ&fS+?l-6V&88#Lp>g4+9 z7ARntvqo=s@`12b`iT`Ul*r5x{u`tHxUqbii3;`e|27QJ3NmnaV8MKr<@Fi0E1AvA zRvZMw&ocU=8yg#o(3w|rImqmp`*raS8x{oy)v5=y^$QBpvjLjnyg4xZ%Fai;*w7fD zE+v;Fl~gnQ@A)f;EWGtkECTLi$N;P59Go)2o@T;QXdfMKefhTw;Qw}_p8~Ib%IsB4 zRs}2iU!-0Vz70+^&?vWCK5hIqo*OgI1XOV$;}Jw5718Ik7b*(V2}^MqWwIA{Ay!F^ zf)9!=K-PQ5)&-qF_5kMc0#R&maTBP<=IOvH$RL>4&?G|_D2L2vaZJRYgrbrNPVdNf zr~h1fR|tM2G=vQD3Ja%Kows{*vFFN5h)LZ@h>^UT+D{3Bc(&hmFihFXz_%soiQ4(q zN!`^a0?u~?uC#FGb~H@1;OqYxomLh1)**S>QOy!WYWXw%CeoGp--e&TgWx=M)9G0W z|9*)t=wp}lJvXLXRM$cV9UtD?h%A6JC_5Ru^j=VWLJWZWp%qzO0(t5ZBe@At-7_w{ zI)Sdvw8bC@fX}19wt9Yz)$1Se95{4o3d*s$J>E#*L#83alC75VxF7k+T%wbrSVLLrGyg2dkJ$VJ9=8p!$cy1-oJD^Dx zxIJf_a4>gZ?6YE!Bn4O1rmRm5@wnE|MCs+GmL#sHP+!h#unm=#w@Lra$uix2E9D$T<rJqvgx!XotgNoO6bdIQ8|b)S#j_{ey7;^_$Q)of{X+y3^_s?CaX>kWLMCK-@c2hJ zM@p;R3W`-<&AEEs;O}|Ed76*8@Z78zhI8fOo$df59>CSI=$Fq%&tw(QJ6i=wSs2oA z4QjF&-{(5cy7~0`waUyqs$VrEJJhV~?`7mB4Gc*D^s~bw6|V+?|;zX-q$-z^MU>J ze!X?IB-kj^9LRmlJ+hy^#KF%`;IhiPRL3u%me1pRn=*_u@*g(KT9>+1TmtHu!t@Cb zV0PCEyak^RTqeF?s>+}vcb7Kl(?!6NEF3Dn<%}cXY?cvgCsa2Tm1;{I2SiGQZwzpN zCI-g$%k0ZU%N!sWoy~ws{_lqY)BZ7u<7&YSNp;{I{_npg;V-`$pO_%4&cEtmV^d(E zD@bt@XANUsV3Y+$`j(uR3+H`Ou91Wa&`iSrO#%E~Ld(oQRlbH3bDiGzlmGm|>oaiko$|Q2h;Mzasp@lNtiX6& z%}y>_kJLqXz+oC-jbZI&8hOm)@Npu!hdzk3RDHJkNc)?J~_b9_GB zvG^TV^Z#$l{IbrCp?QGn&RS>r-+UfmpqdlylW3a_-mydZP&|ksiukY=e%*}12hIMv zHc>H_*Kz*K1FN`M<`aA~;xbG1G9cBC`z?Bod!7SxDyuZcBQ&zybO>UO&JVj;bN)*I zudwB;fjie7o?77j?o)p!O{qx0Ygsv>o}T71zpMDmUqRx!zb`4|r@Z05EqfhgPGu!x zzzX9h5OpMUs$C+W!>gX@^f+8(ORu6+-5~JO_VY<+T8fu~DaZff=wq=?$!bam@p9)Q zOJ5sPu|9$K`IoA#MPLMPwD=+(cK`vX1-&(5tbI#5a0Yb$TaA>T_^ubaNw_Z9TY?7x z|DNLw?PhL&^hE&9xNf53M9-2}t(#%Yyaq+BhN-v+s&7%=H298_eHEs+SO2|1#@SVN z0Tr;#)WVq_%weY~F4wGw_YW<1S5rzpt6xS`@i0Ii(7p?yLZ|Z@KvE7QEwRc{3aX!H zPX#2?iJ;KAlwRSE5SJj!V50@xIBs@o_eo?sQP!#SJL+fk-IUP5p3mvKNO-u)yr_OatHZ4Y42#TT-UxmwY1 z+IaU%;V$*D9QA)*zEUZ0@D=Z$^2#f~co?f=?y+13hWuk&Q5}@HYJAmh$Vs#wyc%Lx zC#8Q$L3N0QF9KI_(Sow9Pg$?#L-zsx5{=w^T>2PV~RN_`n@k>C{s z=i#=sMVlk!+}qdx>14TZGt&QYRtK3*iS(hI)laRkJE6UfC5t%E)*qF+!){|s@lhX=`gSN${*|}M z58wYsTcvmztP&g7aff`?d2QnJ(=t0=>b6> z**j-luR~fpA@-t+vltxV?FYSU@~sJ{)%XRR+Po!HVdQVB!y~|u-0kY$R1V4w&yDGKm^+iKbqzwEsOX@ndZ&ewZfdc1o|YUSX1N*5b}&VMRFruPZI z%OUhfT3aq&c9UT$7vqb68r&Dp9^9B<>E|htxw0&rzFlCj@KB?2WN&k7%CPV9t30~U zR)G$h?#~p`Ma+GdSv7Gr`on*_(R0_DA3xwT8Q< zP@L`%<)2Vhd3`~3Gj-&#M+uZ?3|Xh9{rF=<4q#dsRGPDHl)3PW0e43iXR%^1y*GVm z$!XUJz;Rxv+@|1nxTZHjfrnlP2`l7>e9n9ZCT7Z#i zxe*rdlP1pD)DFcxeO}q0*59JT$`eP<)SSb0cDmI1xu1_8Cx%-Rim4E~d3n+6nVW~C z!{m=wz;^kG#DYKYg(C+w2ut{qZ)ZU-PKn>G6dLRCDC{(G`AW?JC{=xmfa2d5Ni`GW z)!)_Bxt7@)NVS=M-t5WauQ^;k6#|*UY{s|_IsQR3n%$!pP64iU;;3pTB7%tiPbw>eHbDFZD5>=ymb9^|AX_fR9)pYA9}J7N9jK;ylChS^B*%Jrc^Pn|rBLDP)eTmx_0$oS zYD?o@5&>%K6|-LgEu8OiAH9{bCHS8iXmcQ2(3Jbn+VL7ymH+(mTOh_*$Yr)pqrmc& zub4bpVp*u=;Af81=@_8Ri4&EGqzYqu7a{+l=m}oJn{T57CVDEr%g#xCzdGVFoE;~i z_suc-j0XBuc~tQ)%;?ML|P^8qOg5MaHgXJ;%q^J+t5HXG&zg z+ySUR9^w(!cyD0$8>cJ#R^~m2QCd8Np!e++Q0Dz7p1UN~3b@NOrA91CEO9QW&?6V)CeZtnnRy5ZLtAW)kAFmV*{~#52zx^+ReQ7V##<+Dc;o;$-pJZ`cdpqB(N}s{W zy#2{-aoCQ?4%!Hdey#qQJ1RYH!t#HYgaf`AK{bE^^*Kr!ZScrmED6zn==^G7{hjM7 ztl>83p+|pDdWRFg%~08x2H7Meh|=LFaFYE*@y#hJMqJKf0DI`><`$p~!wj`pNN&e% zU^Uj=+r|9d8c_x<^~mG3NXnmyz+Zbk^^j55yAGm>@ZwrK&QZ%&BD9AcPSn?Jo1^jV zn-0wP4@%3+uTF&zs`p@4-qy<%cxhoV#aJ3mrmo{Q%buYmRPy1Eh0il6L-?8oRpra% zqMAcznab-2%)Y)@eAnb8w!kBM4te0jewO6ud-Ac)1_xNdT&Mjv_WN(9EqvxJo~|Qa z(MNoQwrY9HjD09j+R4q$ofd;{i=92rj?8SrA8^Hj#hRa%X2huEk#h0y5GU_{y%V;3 zFii}(=6zTVI~=fidZ43EvKRNwGZ?Gx;GR09T<6-Fr(JTTw zi6DgU2g5&F${pW1*m zp`6n9CPN{{+c_O22iuVg==0ev_p|f&-brWVS}~_qGrwi~c+iZJ)mole*0y8(!HU)^ zDR`eIeYmP#kcx70_IL;WhcqvQ13y*uMIDG2WjAkK%`fv-9Os%++^p7zl`W}qfZNB{ zgnAH`F9sUozU10b3**uKYyE?(HJFx;YUo5Yp;oaW*9um9GEA?1&u7;HCO9@WMiP7y z0ND>{*@I#CvbzpPbAY zov?^^3PFd22qDKqki@OG9T8eC$=qFym4*VH5n6G3OPKVp~(HvcNa5ub@cSaVg%!}1y42^u@1m|a-l9&GuD?1*$YQvkCEg7 zIs`e%8>-2&zLXW>{UMW#rz7waQ z>r;`07(52zFR3fPhuZEg4oibftmK%}WaSK>kA)q?hKFX2+Y*P4ZEc3b#P=g12a(f( zAQY63gfk~3ZJ~XQh@X-?pKmTTzO9?G{-85_7gI-q5S)$M`SGs2zZP8@4qaJfQ0H%4 zy9{yPVA}6N9`$Va41NCmAmxmuo5RHL+G^dzkhrpAk+rE2Vbb@UyD@ORi;c0dAGX*J zB`2BoM%4}7uHP!=T_377n+HmV3T1FL?N*8i$fk_o2W=?xhIS&ndk_`l9fjV*PZED& z_rtM^x6hp%^Fu>Dq-Pj@el8pbTtB@=-^+NuHWP`qL5$jt$%{wDcYS=wlIm z8(McIb|2g_EwuIxmv4)~PQ3LUd8!UwPnIC@yIoWl?7a^hj}(1+H@{x}Ss{XfOd(HJkqnswmfSSw)DnC7 z`1k^-{Emq)J#ykn3)|BrN_mF3=EuLF1TWyvi5=u5hgeSNUen6O9Zedis> zLC41S>;mj$;p!yJZCeo|-ceiRSl_~lxradbtRjd2w=Wmi(e>zh3^bWL+{>EigPfrm zGP}I2Ty`33v98oSm$Q6?WsD-Qmuh5s>yIB_BFvlen2z$&rCZl!WE_6H#0I}JcaCaJ zOlD0<;p1f|_vn^URd<(_GkdB0&{gKvJ67i4b4;D0d^7_UPw=<;vZwVv73mpF8bI^v zV)i_e67q^9U6zOQF|KyWnB6_5er^CejJq_7=n?4hq*%SWc8PJ#?7ewb3Q$>kA9NXo zWu2%52eoOnUC7MNdqqqTR|(sz)Faur5}@T0psqXQPopq0}a#2pmNT|r*x|!BF=oUFa^%GlC%eZy(?j(g#zy9V5p$gwd3*Ae> zTqEyKj0VWp3#H4=*Nla9%@Q=1B@5rflsq8@)jNKi8YjE=NAJWgHabo*Y2@NCy02=L zOA@0n*fBP#+#-X|Ql+bQ9ojhI7M>_ar7@4ENM<7xKQawDnSs>BHq5fDsfK&1YaN1H zJvogj#t4f+47i%z6P^j-OA9Fs_t{CWU*1ZI#}BDg->w_3)!Li#vgfz0N&FIWo$p6! zI|GVerq*b!W+sf4EDB)OwX0PVX-|{`%&+cF(3nEsBQP3T29!eRU)1oi#$}D-AV%ua zr@O)iZ%YN7NCrl0+Ll)6w3&US!~j8I)$TIS33@cY6#P!da-`3p407>cBM?GYUFczd z&hniIO=(&;$M!;>Tm02(t%GGP_&6%pY63m3>J{aUPZKgMq*$1JSYT0^L&t8ow_|+EB@B6|#Sh}`ulv9K3r)2zoZ*(Tyy-94Y zC$JuNTpWBeIawbTe7NZ%B!}v3OLJU#c1V2A^c~H_PM?lN;s|B8glJ0 z1o$NCxE3PFh^Y<$og4_(oT4-)n*@#6#G!Fn#(qht2kqEZyT;PZ1=j4 zGbbW1imhC#EdOqv;If)$PhsVG6C3cBUEirkU=!U>94E0mmTnEfwzwb+sC(YAE1Q+M z4@M?YWVUr5a@|DgK#>mZ^yy!g>I`7VXjK^6Q-!9hac^qEihJO`LQ)gvcxi8(u7WWy z+d37IJdUe6vI*~K>(%YnF$7RSoxWtz4LWQ3)G1f~Ob%bqM}+vZJM$?Z^x;>PeYPUK zvf%K!7`;zf&8h=C>Jzrr1{Fz1azfov&t%QEdxYFzdu}jlt?OuX?1E<-@p@?*A}%r3 z@QbHJHsx_IYtC1my8G@MEyVS>@^^E7c3uDIRdw2V9?hN5Pi{@yi4J#zZ4u3FJg@_W zY>yy~K|?+ehKIO9F#WtLjp@jG)fAuGcQa}UjTZyf>M{!T1Iunw6Y3S}^!e+EXY_tP z_*AAq@Rxd4&)M60$X{>e<1wafn}p(qlx#ssUJP4vOvh+KRA?)tx}k;h$-P;QGN3pD z1g;;ar~L@lqN>7m>Nw(Ls8x4THHOA*6Os*?x!$)3X7$bivd({`6|xHv zL}fYirm%dquoaj>mBXthEMR5?m3=2P#2dkFK|67JGb(1Gm-pKlouOk6cPkStIGJq= zWM*On4YOSZ-jt1K>RAa?TGHJ&xyVk#@yPsFNn+47R7sVb!9|oolYhaz zO0AR9Gdr6xR5O}m(lc5WV-`O2nof`GyQW6l(vkHSQGAj=qkRU-y}-+b^vZs(Thk18 z!^Y3$jR)gct??7eB*?QAqodS35El&)}2(qk8tX%Iylry(rJ|^@OQ* z{!6)g#L+6NV|W6>1xybJdvlJC79flYQo(3B1v2f;0PUlN%1L~^h_e$u5~G*DT~SGS z2Zo}P2-8eg`Bt1>4B_il@U(D!A$3HHZ1^GyM5F!RRmSJzN&=rI>7(K^3`B8KCdZ^Y9Hzd?klp8bHJs`(uFm~;}cM6`?R!BhZ zlDNrbD-$jhqS%cQyWc*Oa7be$vePf^wRyZ4owE>!czQAfIa&D!(FHFel$Pjio zPj4MYyQO(_uRN`N=|NcGYa0bR4Z7@Y?yLDEO#Ns4THu0HzL9ej05S2qgbzE}PEMSU zZ9tFe9SRCr8W6tvrKL&nPa7{>l$O)I+Xd=^o7qeh zU7XL*$19h%j)t=(Da{&67q+?4iWvZ85^1VU8Vws1U zGCqoAd^ti4Rl$|M*=8H1C!r?Sw>-1ZM#zftH1f{IpeC10KlV)M2$LTXRm672-Z%nT zgtW)HJ-i<089iHF4gAs2(v>reUf?~}O=-dk^~|vztqV;VliDLFO(fmmAdy$zpc_V& z5sZs?tmNhk5`N+w=a*33&;7w!GFOzoAT#7@qg|dSDYaAKfFICMy)2>OmuCyJAL-GA zifLgHi{|&szC9Hpie@PWzo}>PpqFNnaZCq`8o>sO5vMqyLbX$nUio%YnoEr%jOi+H zPqW<+<$gVn&0wPy!`-sjR!FD0iu1t70LjB_(6WzVAc`j9g0d+*pI8EP)RmLPMwG^} zFwdrLP(Nvp*Gg=C2zOTY=v4caje*)}$}(`!*lz^r1TmmWX66m%(J>z&y&tF+r}sL9 zp3uBzm_Ub%g`vNfTgZKXvNDEw@PT)Fhdm}&_j{h(qzl4u{?|f&hxvx3Bo_i@0&t?hIGGQh>736)c?*-C>~V$0ps~9q>mR?#Q+sRS8W~m ziF}w5-4|qLQqr!=u2I z_F!#E8Rp4FgRfsS=|Q*e%b0gQ zGFh^6Sw;7dbJS^iWIL1zMkw$NueV4Zu3R;{6OrA-Wj;i(6wfZa1mHO<$Gs1Xp$g^IVOc+zDAn1HQ4Dj_9+`9)N(CtGEJo3}1|CyILLTh0p;tD0?3<$EDwbQRJD=FaWRg`&TdN*g?I+IPJ zdhZDqIt&rAwV&|HKM5ZYImGtu-^SES*(s74Z}#0=r;sKk`BW+8=eK<{4{{DlxgNvyj@I70+!TGi2Ju!R7U)>Tt$utMciN zb|C$obw_o3#pvfcg8cJozCjh;6*REA-Er#~J9dRa$^#IUl~sW{Z@gD6b?rhk$5C>A zj*JK249O2TW}1A&321H_EbMK#ruUfj)V8PAkojcZ&ObKv`}JhBPSCc3t$ zfKdF0JL$9|K2pJ1UzP+|)6blTUV8e$FAcLA5L~sCRqyX-6VIG^Ya}qCf;>MDS-kiu zishl&Z5`DhL$icZ-}6uf>4iD$v*J3L9f4UF$V$nVwA`u{*#^UWIXZ`j&haPB5n*g! zm_f7Bu-CZ0Dld??UimHg}SI!53Im`dr3k%z$u=#DX4WSpt~hzR7+wse55>6qVI~| zeFA4bO~{kS{BNmT;+c%sqjkp*b6|#5J;e(USgl=BYs6?`k*$-FtN3oBIEc4@dc5Au~_J{#|x=Es+Qu-eV6j?;VTN5Cd;_YKtJJe zrH2G8(FM{6_e(YgN!~;$m}0sM3Iu5&s_zxbEbGl0RW%uaA;oE&U0>>QiGe=E)3lmN z=zMBYEJNtEFDnzedeQpIR%N;ge43EwEiY4iXqzCqz6$jHGA*o~-<}zH(`FUZpoaEK zk~_?PettbrF&i_fXOjDcpn~&Mag@B=62EE1A5==&Uok zn2L(XFPv0gT{&m=NVO!uhvIzd{UFm#`v)lDlj?U7E{76T_PaSrVOB!-j*fRi8O;!? z1A(eguRHc40O_dr*BK78Td@wJhVQe%Y`qqn-ZZQ&rxztcNGiM!wk&-gF`B|RL+!_` z9$tSv*!1(N*0(Qu9dm|>b*rH4sBO6aisKU0GznErUwa>D; zSB=>Ac@v|uy5Bxnmn=F#BoX0~x1+r-hv|q9dlW$WBu+ImU$d|2R`xCSUz`zYS129M zk3Te4@e^#U9uFNg93ow^=T+oM#ahP;7piOtl-e!*(vQm}F@G$-1F1lT)hE2|m{%)ZYU z>nvnGsq~2bm#zTL61j}$0hY9=7kZXCupSo2-oURMNM27SVp#nCP5SS+1Kb0?moYrG$`ttFp@Vy$ZcKmw-GnulSB^ zFGkoK+!ybpiqz!aNRzsyAd$Or*@rC+cj2KmmgJ-7)mrdLPgI$LiQ-nI6N(a>WKn=Z*~~S-fjb!3QSi=ZV-!AD%M+HJQ*`4I7$_{`OP} z0?ax7gT@gcNh%zwNW-SPoE%GbWvuG8+s2z0mOt;b)h>5jTvO(bdmfaUIx>dmXHLq$ z38LahPJR}fV4mU5cO?AW@*bk^NuDvYqEVt|9>1*0ys&n>jAMeozfB$;Av5cCep_q7 zVku+6Pnb?&Na;nC+>{xKy&}}aPpor44PG5F!`K)SL^IKYy6g!#?uG7uVGJvKjY7{* zH@Zem%0W7B7x7TB=LcgkTPSM-_&Vl+h3+OS9JP_jf<3MZaj1K5Vtr#`tJo~Ded%c1 z7`Od6%P@4&If(~n{O*yN9uE{2p}nToec*MN-EbpL>$mWpQM6oR+DLTE!#Owjp+TQ- zj8A)|pfqRnn{AC^PmST~hE=wqSG|e>kJ$waJ4;sC8Vio^7quJ}&^Di>gb`Yt_Y%j> zL&uxspIPB?xlMUkXhkz)bicYFh6PD026vvaQyaQJLwGET7}S>qH~E>ctfN|Y$xAtL z+c-yT!}>laWk+bC)E-UDot!B2C?)z(3JyG&Q++q0@?G;Lt8&? zPuR*{)BJk7DE?zSGTwowEnKvSqF$Gq!rzOqWBz6pw`y8rpEcU}-AC$iz3g9(o$R|G z7VA>3A*8zl3*aKQDn91|Ffo3oUT-1m7G{5)_zmW1x=YtonNW=yiU^TMcjG$L@Xon# z2l(tVRv2nxos?^$Ouw*tg@XD2D-ltFwa1ZDnYG|_`CTE?6gH9*0Y(U?km2$0W z!Va|@?=MC%oYu@_CZ|k9;G(g%nPLZTKM_{HKI43&ee^-qoKf%XkfDPG9G0Li$8=cq z&;|2Y8P`2A;p3Rg`0KMN0Th=h`t!GU{RWcu(m&cJz=w_N&8|LPLm|j&i)vLOg>tzz z9=3~MkG9hv9jPgaWOA@r=`vCbr`q!`o_#+`XXN$aFb-f9*UE?^LE90`i{mGH>@LOgPnu@J#Oji!d=6LZ2QjV^IvWAAOa?81s0r`u zh#_o>{%Cdau`$bqSIcf10pg88Sg)0JRB`yA(pJrheovEfnV|s#O2QCQ*TSxVg-W9^ zxnFt^b?()*$++`L40e^1(>gc=%uPR?I2K&iHCnlE;;b`sMyD@y z`$sSXG41RR=XB7FySX6@+ziwWT4+v&drzFDJClAAGe_MUz4uMzyzZUi>MZT2?>pyW zjTq?Vhb|uAarwAXnQ?BmGe^vnYtT*54;LFrnB7n%ayVvvFXzXF`IUg5T)--gzHag9 z=hQ*3+jy2=tj4j#nhXAaH}!BIPTLf26zBpdQ>JiG8+r_n0m0!5judj%6Y-K6$;(*j za3Xq)8D!(EE}-(^QG>^zwXNkKdG!6R9pJI60jcD+lo=}v?WeeJkqoW!+D<@z8qcn@ zM#x^5w5wan8eWK`-S!Fi<_|59fLOLxWpW{kjgqT8W^GS|$eg7gESNF&=8Yl>B1fu~ z4L5_dYWlqA`3y#O@HG2W_313lsbm^L_5_60kpoYn7*5 zk4&s4$*Z=Z5$NSz?R7Le)o_H%wg$SOX_SrR{LQ;gy$!5terC1A6+pc8VSHQ ztd5|1=jzM>Gr>yZQ{1r*H<>u{JlQrYsGc*oHtcdypkCpplu(}%(MO|YWAf<|#;&H|6 z%3UwB)&D|n`Iu(pnT-~L*Li@#7~|2QV0b0;92RixZ^<{ylaD!R7`Fn_f8C+2_!TZ4 zeeZvT`w5HfvT!0Stl*|^vpZl1u7``s;WTT^c#vySY+Q$w5c(7>SG3RJYj4B$k)w)W zDz2cif*&uxTu|Mn)_-}QVrQDzVeuR^|0j;|rRaWk-0uv*i5C)|YO*`(LGC0vM@Y~U zL%-4z>3^?rFwyFfz9^D`awsM~VVr1Op8cLAK&do>8DBr*-%k}O_(JH)gmkA8ze(5PV#1B4DlN65&Q;OhHjYf>l0O^VqPc0}5W!RnwzhVgY`lJYb6r(cbwchBqvllZZ z6qUHE1;=PaRm#jzcZ#N^@#OX-L*V&jC)y7U+Fa|EjK30#ViE8Yw31p6;2V%{b%&@i zb`6`d)eA{pVPl?^ZhJ6D=f0lAZyMn!e|X116sxZTP&h{*;ATT4q~o+d2KYW3fp!F_ z@TP+Eyn;sgG@E;?FDf#KG0j_fT8*8F;Q6?L%jjn^$YtS;=Cd;li_*wAi=^ws<%{8m z>0zSm=(C~BU(kLIQE9`mniLsZZ9+}=++K!M@^ua>7v`kUclD+T=8qzL7IK^5ON#c6 zkmDug^gNpLn|;~H6Gd242xIKsG<-@WgJx<1*NC3tqiwA1}`& ziZ9q#^Zs6So9j5CShRRHR9T`bq1ZENnu<+j3$(#s!RsTksx4eE+~z+W*tM~n%1X2^wk0*!sdiQ^&i1lHcy$#J2B&eV zOK@z09)VxUcTba=kZo~07N1g`Q~Ozea3R}6N$}zABj~xC(A;;tAEiJg8-VTG;ruri*`~2S^W|xVcOje@G4_c-$Q`S#vr$IX1ui|c`Q!qE$Ev(3 zGHj6JlrTU$wJn`>RF%<@E?|{E35Ok-mfLxXTuz;>9F|5UdYUQZ$6oKE{hiMiQumYJ=pftcN>k9eTe zBd}SVGmQc$^L&48PCl(~+xgads92sZN|kKf71p)vIle=SN8m_uerxK*dZ|c!@g%ph z*Z9znAWDujA0()>RWAkjUngP%N20hskHy{-qa3rTGXXKoK{Fp3><5g8n>Sdagh)Z#}X8IG!y!_H1;9lo; z5+ZD1RR|8%s=Of<1-WRpkob=OSLB~!Bw3RdS6$+oi=eCS+760Cytr8eDTp6H_uR~C zOUPra4v*)B;7fHn4X7gEf63vJF!*7u5@EP`&qZ1e1pZ5DCjI5ijv? zsNxWm&MvW8A{@W;h^aomxM^HFiz~A4;A~dv_+y4)conY9P-8^7WH&$HLPv6vz8I)@ zsf$5IJRY672W(MUzdaOsdnXn!-@?}=^*%GT1EW8mHBry0EEb`3;(O^z?taWudT53t z&}K<`Dr?4LO*N?|O-C-=G`p|h1tEvUjM(3^2Xo@dAT6GtGXqIpUAndl&{Yl+2k=(l zhlVAewb}*O(2%v2xJf0R{n2!r4bQ3!X7U1{o&DA^2Ip-SH%e;i#5anh5zGMYjAop zC^uUL$twZl3tQr@Unv`g^0Q7WUyc^Ew~2!)u9^l2VHg_#M~Te3IJM-m1Nz<4;?F6? z@U-G=?0uc@ft~Ca*JR4ckox7k{FP@7>Vj!F+GBIZ!1cSCuIRYR>R00L6=^5hn@}4) zy%^6%RJ*@k#6qDjRilt~E+Z*^I!X5@KAz5$tuZw%89y!=qH1kpvKFp%{d>DT9CsH1 zbjh;}+I%6sA%E>*9?1Jvte%j4azY96tlD|5-sm`)bvaY_7oYQeourubeD_9e7$x#; zNPWx|Lk+yq`9`btGdQXo4U30lR;gSxuU+f?|FQR-;aIof{}Ck;G7^!LY)UAETN!2V zy|S{E88TZUqe8MHd+)uT64~5FR*LK`yYN51s>kU09mns@|K0CR$NhNt-rwuI&g)#) zd44|7qZNC%$8NGyMC)Zgcdz-Sw6LAcolNigh+GPrjLuly5Qu6xFxZv$j}y*Ww^PZf zzZ1V~v$`u0H#3C~c(fopOBRPvKu(>g#gQ%n)Kqgh2i>ssmuK&UFfR? zb$;@X1`p>Z3c3cL+~RS`TtwTd4=hQ&NlIdLCTD#)n&FFFJ8OzPxL8(a18tG3Nl-m| z=K_J|v(vradRv5XAS}7g1 zD;pTgn|8w!w_!5#vlFy=u~lwFb)>^DFJXmbBVDZEa<5Nc?+kXmc2(yws?#|Ivv_IKbT-XCR>>cYsm9_ZGTTushoY&! zt}^GL8!S>3&+Sa(+&=h(LLVOki-InCMcFxHxXdn7;zw~;S(8Qi+Q{8uE0;-)nOwBA zjS1S_xEEH==rCV>qGri1=kl~o#8&r}_qV54-LW$sP9de0(<{m+CCn)-EspXWi(mff zx(0FX^MHo-8ZtEO+0IDwL>e z(W9%c-GXKv^R9}|v74@I7Q>Fyr|!>H*-x}Cz`kgbV8u-io#5YuV7QHxGhxM_h23rI zZo0oIr{8boXtOg2w+zoP^7BP~$EIFS$zL0-+lK#|`K0eZy^b325tdt-b!>Ka;-|9x zVH5fN)XKZln=K}vRf1++W}W3^y~^ccvyB=l5|Zwx0>Vb-yJI;|^mUl{*Bf46iilI| zc*2j}mpBDo719d$YU*|D&_^tHz~j)2-F0mfz73Z1YV@%rkp+F$5{knM_3ZwgT%_Le z=cpaOJ)ckiF_CIcTXIx%G3DPtbHA|5d*VpCx55h5KqxS2>wm@7VXKty1)X$aq(I zLgCJW#J2l~95+Z^_%|3!NMvKWR6C_E;IF#QJvcqZOI0SYv9MfF(ZBYcpIx)CrED>d zeJSM%erFjJZSM>~3Kugi9-F)(Z}_V1K$2_M&!jMexRpEuL=jUajR(%73le{Nu%w_z z;#_hhG7gezgg&L7teNQEE;(gF$w{wUk;LnGvFe@r2A=Qz&$?|sz9*yzSzgEeYLY-e1FeX>~nVJ|^`{{dBbAdO9xQ zD|5=OT~03A+eI6#T1Tp)NhHN=CUg?lsC880hk0D^;@X7PtdmOMO_px!vF4tS%RWx0 zvIi&*=fr%$<}pkC3fJy&NQ*<}-3wIu0a-Yc^)wRLxeTi`YT2Fyh$1eFL~eL%$8I-~ z`|(j3=)H%ownAK%bA1rdSgu2G${x zmeZd$Pj{Euf4_vkm`rS1GLq!7QZg{jIqi#m3-B*7HGd8nZw?|IlF}yyljRrBEPzS0 z=FCW4|90D0j_jn1*V@!=K}y4jR^PdtW`UBF$@SSyn1qk>B;xgoO+&^ApIdlFa8=Y{(O%k z3?3YJ@wi!aM|m+$#PEEZO!ip)ecT(#^(Xv9x!RT}YOZM2X5|G~T$FzG)AtKtCO!nl zF1okpEr9iD7>mUGdBUoRT3*Fgp-$Ml_Plb&>;F6vSbW2v;1hph9juzJjEDq(2B&*n zQ!S?x@)2AJoqJ``>Xl0hx z@U8AWpfn6UjvvGL?vbZ$I-nOLMW^Z~a?!ro>ZQ>BGU2rGo|IbiWL`$OQmDwny)x<_ zKh`allcVyrGDuy#3K(PCdglFyGBlhw1x%VX__ui6PCIMYBUy2)?|H-V`GZ`GPFKgG zAH+zW+ce8o;WIUB=^9AvQmCn8!VSpw5R>{EMB4JgPN2;1d0sO!)O%{b$M~>$d(N64 zxM?xo%i}zq_bP|rpR%5=W!Y&>yAGxKTg#B5--`(Pj7eeM>VNwEU{}8TiHW4|`0cx(2)h%{`E!4zAPL z5W3!=+eC@6C}l#QCb8L!(t=}dhFmiXubc0GK!Uke{B`YaaXSU&lMI2kIyc!TVdg$6 zZ=*SKbM(iziyNaqmkjtT_}%(5PQ(nD%IKd)=09Q>l>;4B)zlY=q6 z;LBg0?^?Q|Mw0sVaPBIakZ!VPh_;4zeW`2x3;TxIskUCfHzw~k+=El6Sn_4Ovb6F@ zC+v8~%xc!7^4s%T%{D3z556np6j|hV8>uU7F4Yx( z-n7{iaDCuP<<>u8tl4%tOfp5^?mD@zSvXt!r%;w_dDT}U%CeEJ1tQEai(>RF-u+?rr=^#))A4>xM+e1na<0U*CJCqnK=ui8&0iXczb}%rM5w% z>B`Vi2PD`knJt+upNZO9iyDe2X^2%UqcA|PEv?Uy&IYI+>F*N$p5~f3K#!fr5F*lb zI{=j?SLIz8iF=Cg>qFw0^l`iU>*EP4RH+n8SKF3V>P!s-+jy8lM7sSJ0!ycj=M3ft zrMgdZyAVr@pj}Po9&(hrV`sgcPO73R-v~YbE?*AIJN!lMx=1I`j6Ox#VUvvITaL$Q zQiW@B3>!7Qer2X(4;Kv+M+j@>XSn3f%NQPSy=~wUi5~b_jFFa=aMkcsRNnW+OGPqj z8`L#dR2MX_3$p2@o>e@3-O((R$}lWHhDD59>XpT0!O@HP8l98514XONW)pV4E=(mw zAGW)l{0%khX3)^gQOjg{6L+r7AIN_$RmFcK^y*xS z9Zl6Xdvj%87c*E$q`nmWY;p3Lp(k|cUNUMP9dQukj1-F&_9(6RacQ){A%~1*aHZ(I zS@j!2261u=Aye5GzG= zZQa<5z9%&}i^Q_B_4+be!_*U1PzlY>|bhjPYT^sGN} zc&d4qaOOTkF=FBxv<8xfigpmZ&40kG;k8NKF%T!&Ys3V7*3pt4KJ4Y6`tJ?-&YvL= zSp9M@f)wio<})-u%|BPP7J{nuu?TUH+sl@i+<)N?NEo8sgOPsL)>HkVQObpDTK1$}K73pq)22I`9M>Y|UvVP_bJc?TORUg=|Kn-zy#7(6DOdmy=BWIg84@GVey^Wu-``tQKlR$BR(D@F5m zwPN~qv~3_*l9`i)F$mPdz(Y)6;rWaX%xKj%$!9x95Y$|W zuz7~=SR<7jAWAH+GzybX>d&w=br1dXqTQGU{q|uc-<$Yi#gV*~v%q1Q`l=6tV@zEL zmEt}~Rr;x&r{o%hm_AK#b!iUGfH5^Legl;&mCPs8WAYiPtoF;ra&H#r-}+r93Vws- zUDq?XB7+WV2;q-PB^1Dg%#yGc95d=defB9agA*XrR|mRPKhQPb1>&=Zm0Aw{!$i)xd-1JvyuF*7RXRA1+A_E zL0p8N)OCaUTwe3*H2&^}3R&Y17IIsyPWLNDU35;@7msn3zv^FUi?~#Rh#-+PhUjMl zMdOj?Lea^<^QpL0*TTN*krPPibR*-;?Hw#0ca$MkHdK*sV&@Tll7C&_k?6-zXo$p+ zmXQRwZ^EXS`ixI2K6A1l{gi1GG?^MwxAf!21qlruu5gEbERy$aNDl^yHhGvh*_t9 z_x^%$yTvoq=YfmaR9qu;l}|ZkX@LANp+5H-e(6~F@m;S?N(`^9cjDp9&ZIO=%OQ`{ zR93R~e+usR&WST@o#LXZ`;f=nzdo$+h)T2jJj~-v=4%!fX6m zq~Jb8s4E_Gz>Blh6qvYEHHsNtRegKGn0<2ig+4v}0gYE2xr+J@R0C{pE3&@>>9~#IfY$uzPIJKArHmL@ADB_7`g->bJl!Gt3#Nho5oz%U zyPicOn+dYUK8W6d@dS;3#)j$)ZpAk_Q-RpzzTaEAMtM?K#&VUwT{tM~$k+-zU!=%S zu*kqWI!)6WK%L1EU*ZWM@5lU*ELrm1r)Af`WYTYJRilf#L3kW?6>WhV`9#_20f<6{UIT z?uj`02xc7JmLXH=Yat|h#Qb+h+;@4Js<7v4rx#EQhfq0-(!mN#G-FX)6B0zyX)`Jjy5DN zD1$<}*xVx(MP{h~Iwa&yK1+$!sU0v1L`iWNVM}jF_3YVF@gv(NhcCgLwQufb^4yhN zz$bh}7FQO7C3?i@wPto|qGc;EXqX?b#nmGsMB~nL?Apu&$kA%qf3(~yIe(iOTVeF4 zPlT#8R+W_(`f1GSFQ~V3ZD(iTiMzs%WD7@=gE{fO8>h5e_Y$9giZ2yPFG7#u4$J}O z5dg=y{De0`+SCWv^h_pQ&|_Z=?7G^X7)D*NTO}syG1VB((h5?RpjczZ?}N?jio$hOM$^ z3Jqnm?ArnMy*Q4bl>0G{KDGq-j@riXOI9KMiGWY#f`wx+e(*hd*WS{!@WOYgJACB1 zwQDhiH*gUHR%~E#(|f)U2LtL=ThL)2eiic# zc6N4+iMsFx6$gyfuV?N=soRRAs0}()r$fsNKmj{nZ}@9_{mr`7&0pV-tigGBoIzil zHaq`evHFr3z10Q0D%quy&c(uFFf~atd2ep-{4HQ`Q^Bhz+pvxu+4V>q#T)Latfa-{ zth3^uzdX402}hA!G^N}w2s<%HkEv@>xm0w*xqsX-4+{t{7>t$G)M{(x(rf#$ z|4On5!n)y}R}p}~Q3U)JlFaW@uy!jA;f)hesp)@|wtHFbs8{ZmqISGguSh?|P~ljP z>kSDBVdDO}L6xL@VE>fy>7k%x*RoPISCTKBMFwh1G6B@IvT~rSOis7Pb`l#9b-O6Y zy+@OYchA{XBGToJN!C2F{w9?Ynu}~FU&)YqSJ_^Av_RH_)Wp&q-@JPCfs&<#{Xnoe z3x4@(IK^%eVhh~)>wD(sD~#t9H&{xuP--PwzCSMUORWP zY6VW-cqtKI7+>`5Q&Ji-R9E)_)bOi$xANI0xH{hTz*=yD656|oI+Wo% z)Bzy(hom5)RQj}CE*)%U7D~C34A1lyZ%l|!kS7!jGVe}LXezWE?cst%K`}YR33|0d z^b$iRg;E-cX#)P1ktxVXetPoy?5-uDKt|x1q%x%wUOI9AF+SK372GF}=fk>rG?vS$ zf4k_UJjm;7DT4>(&R%idU9WO>LBt&J`0qyxVL~4h5_P=#5`0K&(L2f;P~1A%qnJ_? z3@jL*ahu+I7pjyFM@!{GJp@bfa-Q+CCJWiA2;QW%`h~yczw}XK#0Uco5L}q8@VBX9*x3d9_a@gIVEVAQ$pkM+P9h^ zx@qJ!L52u-Ng^>3OfzZO1=}5DP1xL?GrEXQUN!sIE9N2xmqhlW{<3Dl@ITdWN(Mrg zxBbZi$|$l^_ihZ%A`uOx#A%wy-N8J>Pr#vBAM%CgU&#IKL?VEswyr0}>d_?SSFHSV z9rrZfx_h2SoUR#fn9z^vK;Z}C{EAi(J{6@uO+7;ERQsF@4Dna4U0Dcdj3Pn?{JS@K zM{2Aj+rioK?GW`XuD=giZ5WY3h%3>Z=V^Jj8kxG(E{a@`;3jUS4PZnON}MN<*?lMv zUESyt*svTDBk(-$1K}FW8x0K9P(&9EcqVS zxPlt^5=M#8U9jSaM5-ZDkWXb#+wF%BU_Lq$kOxdM6x2cxN{Uu~w^s^~{grdX71(70 z^z$K`80GJfL8=A%io8}e?=H<5eYQ&>A@UmmBD%Ixv$~VJ7l5k&WpENQAh4;FNS-S^ z>QUM)@_1Z>_`&7v>@VgP`Cu{FG`Up(!qu&l}>D!07TS=lxR+;bvH9Ty_h_K@P8q*w-0KIEm*Hm z*GD{pyBCC_`DI-0@kV+>o_+Hq^{X=h4m}aK)|G=&&pS5TA&qIBo+4N|M{Qb@G$=8$ zv)V`GTjlmVBl-?J8kc_Lz+REtK}eN9);qgC!so%-QRXT&qlV7Ohg>g7{DSmL9p~^~ zXvH-6(~7wx)MOTLaX}f!Ty~px3@q{E+ops%c--p+?Nv4fRMlzl{q~fdsVq~OxFle7 zT^ZG6z?p_mYJ#7hT0qZ*VBzSUB;L)rg(%4{L@zdy{v9MWnR39lTX!dycXoTTF4rtiCc(kp&fv3tNmbge^W8 z(GMIA z;R*WJ@Wfz~^vTF)z2@zIJ?(S z;V7zs<}>L~tv?27>==7R#ma0rR^3vDW?w}O`1|fqM*qOGEJT$u({XZl%C?NI&48h=!v1+ovy#@ys zNnf_>n&QbP6V6BD$tNU)AK@bRHE(=`RQ9NY$72Y*+UD>Y#`nJc5J@eJR&CIl)nCat zRuf!#FDKu8BwuqiSW3{Rh#W@|$}s_kovCV;dU~ELnn4xbwuF1t0ildvD%M`yRcM1> zNQ~P~!s+kVr#)24_K418yiZ_>NL*!$h8=YCCpKX*;|%LhX9;H$T zOo;*I3wV3#U9cKxgn}+{$FavIdoyo1yu_I(QdV>}f|YFVeCW)DfCC;Z2QSL)zzuJEkmz$Bjp-Ge>&6B~P+|q zK0`$}V&dwxN}(ZAt&9G00`K9?v`SGdaY6f7{C!5^!CwV43JM{r);ilXqE^F^DcpFjC>=rKJ& z{f=PWytM0dAm`-Kkqg7Jw{kgm@K(3YeE?lF<74yCGtiSisS)iHjQG6ju3KeIm{93V zvsoE;_QhrifXk5A-#ldgU;!w+<}y=W)J|D3+TnBieH@3NOl#Pu;y$$R+`h+Pb|v&_ z*27>YYuA&gI5r88As1j82ia%Z(0C~P1;ZGH6tjRXiyxCizYi5!`nNc%ZUMm zx@~}bL$-n3POrOCbrRt)BGU%}jUpD^wxU&(@j_U~f8|Iqk}Ua>Q+3z(cq4eu2R4Xv zKe1y_{Sxu^laYUJ5NEoR3VKy%+{R!}uEAH+dA!tu2|-FsqiX~PXe|eS;oC5pF{C!evSJKUaE2vFZJ6BM=lu4czt38iD;1PTTF0C$G z@kK~aykto88CgK+P z0ka#;djqCU1Q)eB_$J}M_59Sz_2K$HC|h5jj-O%!TZNxT5Cl*fGy!xHPe%9Y^#q$P z2CF2G;tKQ4t-TK>!&8m+4(478Xujpark?EAu`-$IS9t-G+pr~Ch!y0{Ev3S#ZuIKb zx>&yv9#r!iLb>XtBqiqrx~5(oxc%=v;kG--6?Z?%npWHwzBhSkxsM^}MK^6u+OBum z6&-n-5*oG{G<=}$p3;wW(AXL3%YhXq@?d$6we^e%@euh-uJJ2e*g3NM7D8z3>27EY zoa9GTUfS%}9MT*0J$j_9iH}lQ&;J9Jv*dHIkwNK)T=qH?LI#COO!W}!L`l2d2))Q5 zl1+B^R9cL!BmK>RWH}Nn#IYTY*#9Nh zDzh_HWqqV13~I6^*_4}um#@N5Iw~5JQ_Z_Q&SIbP6eGz&7qeK!zUMzC3xQ%La&2nj z!D0vjz9KICqo=#OWsWK_gf9y_7sQi!2a0w*gK|EOvqFM*D|P zNYQPPaO^~F%nF&I;hD1%1Ssx(Cn#4M;)hNxYiStt-Mz2TP>f=LmzsDB&(g)a9O=xM z4bAS7fJuvo#(hnKi0xndfP9KasyO`*S@)S)V9H`)A?tfV`iYh)Wx$$S`ZVx3lh6b_ zdWE@nT?a5@ktY&tR$`iR<1*UN-+HM0{3n!{&vf&mPY6o8bQ9HoNl|_;)ZCmLb zD!^@-N8iJ!|3^=V6<2TGhZ*6X5$u<*$R@h%gcGbiKH=&paC^x()AX+1`}VFe~(w| zY;*15m_5gPTS^R4ppb2eJcRodDHiYO%e-pKZ~m@|>ZoWZOf_IZXNCTc+0fRr`(OGo zyo@0^>%`vr8E7w&hfsFDu{bSw_jS^7fqoQC0qAql_$Q)$Z{nd2r5^c|dXd}vjZg^N zm)jPtjhoU5#42sYt|WbWOM~=kLeb|jv9j8~U2EN8zxn-0OmH~I317zV+a^Nt1b4$* z5bR=St%~@wW{UKtl_M=M|C2LCMQb9*VQIv8-wDGZVY>kJ@x@qoQV6*SOg-4h`mX8v zWV~}C#aisitxPp=HySR3ts=$|u|j~ssDzQM^%?RdCPtZN@p z-T$kK2#Mf?&RM5D_d)Pmm9>~;i7|1oK;Lx;GWC~`qbdt<%P6ukvY?c~=mJVtw)=d1cQ?*J!Dbx65XE9I) zu=X;(SKAjWz%J2%4jhdUrrLjs)LC?YB{a8S^TeV(+0l_pkdrbZcO=?);f(uF=o@eW zN9bI{ob(@}plXLy4Ox^(FJcmoSkBue zXGwDhn`$0*+Mx*gy^1h|!|8j+Xy1NaVvw!GRLaezA=|n`HW%~dNd3&9V6)R2<_3^u zv2Gu{VI4}p{l^v6i$tNlq@(xuKac!@JLVY(W1kf0lBGHDMvT>D=OJFjX*7PZw(6x4zTf5Grc{}k<<u@i=S1%9D+a&|3_8hk8t=NruK^)@x4_lCHA-Y1|HE|#AOVWQG0gfxhIi-UQRmdS z2~`*8$YI-G9TRfFr!=Go!uE&MAil~~5dX<2ezARFA;hTEKw>|5IBQi20dvHuoio(r zj0iC2%#&5WrT&JKG=IOPbVqd{r>KYYjo@GVLWl?PE-R}SovSt4+af2L3@}ek>Ybn; z{3Nt41*>3={&iX|A$sw_?imOB-DrTnq+#E>0ko@gFaWGak=T|1{V|#uR`NIGt3k*Ki{P&6t zAywKgI`EnONwC{3v_@YvNb8SQ244FwOB{-@N)V^hj{Z7NJ1>T+hk9}~sKL!#5O{8x zbQP;UY zU8-8nAXtRog|!TYMP3gU5j^zY4{Dc!2Ni2wT>o3;i?BGW1Eek)KrDZqn@Ua%ZeHKV zuw2Yv{1Ib^{e_`W)Fpo3TOt2x0ZCJwg-ZDMec1|VHiN8i747e$S#Vl)uxmu=q=EiN z<{H=i%cE&IkBHhfk4I&{s0qi8L(LPiKC zt`UU`@ub;Vs}zv+>}c%oPu=h+gCBEy%R<|~MtIu-;uLRIUs3;;y;D4xYDg^q*Ee1$ z1erY0klSJU{j(x?Qb)La>RekM4&cENxf@Ch?Y}*>t z5=DCH&!3O6+uWBZY|E||=>-(Hyu7=YC^_Ms_bD0M$S^)Xs zKNRr4epUs$c0}~%_5b>R|Mjyo$nU?oLHS?*@4tTbf6xCfsqFmh|KzhHi~sucfAaY+ zsqFmh|KzhHi~suc|6e}b1f9q6_XT3P>R&d0%sK$Y&(^dn0ACd2Q*sy53(P;Yd_rY^ zC(NozteIAa9D&5>TVI;IL~!xq#VWg6lEIJAY=DfcXcBHCEAZGDmChnq7>Q{X1^wKg zJA;EXEQ{!zw!$vzKkjuLjp()RnTZdx^iD7OY-Zngx27}vGX3865gOUl1F_!K>uq}) zEYRq8<(9Z1< zoO+GYds$)d%`{R9w^10_#}=83kJX)e6D7f3*1iF(BXv~5#$KGW^haB$M$S`2m5e-y!jP%?0Hjay?b6mO#SWphd zttP|B;MnQ)mM1aeSIjBv=P-NCb9|lqhNw?$jor;=NU4W;=h?uMo}TVli=o|?CDZX6 ztGuBCENM*u$4{k#c6JZycNpkbrmRpz)ncE}B#cOi@8^(c;g>qVuC%S4Q&ny zhnW!!|CzThr9;UY24^cQ`*|GzCS=hBdRXz@eN(sph5l~^-l%gAq%AE)Li)iXU#gTztf zQg*ra(>-JSqO;%ePOv@uQS;YznjwX9qL1cM(*q*v7h^whT=`m!AQ^h%)ru!0|6PWt?90 z0-r!%ES$Z_5(KVib0=2-w3evMxRWMu#mo@6tzNg~kD7Z(UkHdwC1$3~W@jyuHi9~?Wu$0@W6J`l2Q3zKJLm^5{lBD6y@?uY0?xhWJ>M(<_SnVhS=U9Qx*%cT&B;|@7Pq+2` z*;X&tOZxVVnBmEbVz1Xly0k}AyU>}RO%rg~%hEZ^{JlTNF1iLOFGj{x9?g3%XK zizY$E4qV(wpUxh43H$3XYQvr_)McICV`f_PF#7K-`&eFMHjYzq1SCIl8I2gq!ZL45 zZZq{$B}c+i9cs@!DeNknu|r#aPW}u$HB`UG-b?2mvD?;>-9aF!HLS|GdX|CofeY7C zj^;s~nf7-I2bfS5oiy3fbQ+J7(^&+p8yP7n5s4H&ah;A2G#mI-Eipp^;7t4vss~=Y zCL~DU{OR4IBCzNDOfMRtZ~&kkvCDZS6s~hsO?BDpD!_#dL?Vlu5#yH2{Lx@q8#q zMY~%`hJa-CoEUZjW9&yjml|dRm=)jyS%EkCg7AU#qcwtj7UjQq1tsuLo5+0$=AX&C z4|u`U*x9FCSHH?B6AMPibqVyOcZIr@B8JxjhEmb?t+Tm5r^^(puHjO&%~k{jSR_ed z-yP?dsJg@ij0VlXa&>NXhxL5hZ_s2^E)u1bvhLeSca#~HQFG*U;K@pFOI-xYarsV9 z8;1!)*oX9z8Qy6}ix#QPZ7L3oFy-+lf z33IOEZVJI0YOU=zlx<)3G?M^32d`+xX3zX}wxF;7cw0UMPKswvuDCR7Kn&A*DMX}Z zYud`Kx4>_LG38OZA;L7JvK#?OV{~H~Xw7r2aG(K*Pt zq>kqc0I5eYb9x~y?u8r5^6p(v=_ARP_}4UX!sIe!vSo&xQd7@cOX3;HMY#e1jmYeg zku>)_g9|B+)_2-pj@76DdRQCdy(|;TTLkPFEw3x$JiqCI`%Omugcbj z%*j_yK?d%@NJBz^g<6=+Xj5KC`E1r*5#{|JdF%{~xl>;--&fKcW6fL}2@~^RU!{x?r|U-~aX|Ahn5}yuxkSN8WMo+u7464J&2meBv`&IH?BKI}2h) zIm>Dw2s~jpJ=Urjeg@Ud{NPEp2SbRc8g*)OXtC(!N;Jm@;}Q;DRmYJ_Q6?#DwmKb| zhMXxy);nD8aeN1a^zKAgp)&0KXg~ zFlLu>AoW%GVw{!>MaTK~OXCwQGevud9lFpo&6 z9;ey5|EM5!rLEtwe`DRQ_}l zgqEY#JhxSJn4JG&7kO#gS}?uEKjMKWp6Ytzl-626;!>M3oL$m&!sFC)7rKIj1XnXZ zuxqc1wfqD2OwIOb^o!*>>fwvDgmfH{skv?9jtV^nFQwWT6T;;WiWJ3OtZ$8*2#%c1&R8dQnP<5 zFZ|r)Y&yI8eg9+_%g7v`*L`FrE&R0D_SdD^qr zH^aCs)SrJv0!Znh8h`dD>JSZ~AsFB7&v%jT`7POVwGzZlU{sC|r7@y-DczT#258K}iEkL@|f9y8NvF)$H>jboq}~ zAmToeB9cPT;^oUfO}fHafK%w5%Fo|Tn|3w zD}6R=`cij1Em?Cey&x z)ZKbt-|e<~;OtYB|4$@Nc?-;Kc_Y=X1}!{;UT1O96Q3Fj%K<06yjJmf%?9AlX&TLc z?4?Z+4m{&sfq*yKG@f1YF~s_8o>fiOAvNrTB_NCvw|tIITd?Y?cu;&92o+1s(uW~L zAGg*p7

WPL)@CT%O-5Z?@&l^?H9INkxnPJd+O_Nlgg_UGK6ee#%D3aG^iWeSPOM z5IV70`uVv7b7`^=ZO74Tj;@W`qLu1-c}g50M+%t5eiQdvU#aB## zHY@I^vzXAOD%S?1zPm)+LrQ*8Pgu@r81gZux|DA$OdSUYrSL4daFqn9Jt^pDFRYz;7uA48<2N{~u+SCCn zs^*M;8&zYZ*-_vt>xL8{&1?#qyeMzhxG4U<*q&qquoihRuNo4AzCX_I>2 zPgOapJ6R^r-)@&M!2Gs&p=!1|duwsl_XzKR2M^}+2pSHp_c~a_NFq7DKAFLesmvj3 z&~gO|2k2W*sDdxYAt3FV{_^Z{$%$pk_+DcS(Q#!%`p%`ce(pX`PP-P4kqtjej?+&b zeoXs7nCsxRl+m76yW9e+xi3{on{@Vh52dk!g-61X!U0!YpkAqw)&K-v5!7x!=Q-Tz z$_XH$l;#D^MmtTWsRTZKih46~wYMbF(ZZiYzDVgo9Ia|nPqNzCob+`hn>`^#-S!zn#T2kb;|lTi{M{c^hbH3GCQ>rA4The| ziz&oQGRhFKHzN31gY4Q)vyk9U2NN?9gw}|2T^EDYmWQ_X4MpH_I=_*ik1-T23!tS9 zL#bK={ZwH_{ZZ-7dPof3CZi@JaR{)#mO_bUsgCH1CjL8kTr_5@=e z{L*_kzi-;=ue*%2DBn|RZuNE#K7|uvbqy=kHqa%JVpYY>d}DOxS5;$z)G5`*xD3%>|2^fA1uL| zrwB?SP9x&Oah>Rf0_$Z?r^T^QUH`EzN*mwr+_BX@!w9Lt_+i0Sp^KVWWFp+5rWbC? zXbwO*D_mfus5uTHJQYz62c&AYemFP7r<%aDqFA!yr%?<8pC-mWh{TP{*-x(OTWhI zuE9Iglxm0a&?I9Bu2RN38?urQs??uSlJHdep-R7_4v1d(;@nSsF1_ElB%=&IBb?Db z6=-R`wBnS;C7gR|dQa)6`mKXjqbAn`UDwQCB+p78cu+0or>teihNFg6 zBUe;KN&WM)Vq_RM9K%f=<34r1>^h+)LwjS)Oy`ICI?x!0CIryF6VGFjD~hdxGwB#N zbrOTMNa-NHUT-~nMYuy_-ZLJ>8j~f7RZ$D4h0TUXZ3Nu8|D>#IB^g~GXWVvpMq@}- zc*JJu9XMLWt2&Mv8(B+HC6|;1#8^^JswWF{2z35${EaDAu$s~91semNr1DA@2SsIC zAJmeemBEdVtRIqtC%mkM(~LXZgMe_9MkL<<@ag-RSL_Vd$S)Z+Xrjl`iki5dvsrpo zKE>z$6n&Lf`<_^QaG$!JOPE!;qdL&7d^bVAz4@|kX+6lVT!W`xQs6vCUtVYA6~Agyt=z-Iv$hPsh(0?5;sZJojb9ayXfgWXOK3Re8^nUZOCaNo7Olb)Nuq5 zXw6m>mwt3Y%oJMQcq)bW4wspHM?y~x;7jbbhQ`7WrJNPtyQwH&RNnh)I9RXX_{ru} zY+m2kTyHqgG0#@`#gkS+VuO5st>IF$gTz03x=y0n<%@E zTeK(2C6%4XD!bVAm_6CU?|B?u!R3Mbm-v_371s2#re>Bl0Mu3r$)DyO>KGH+pJ{Dm z*3xdJdTQb)CoMl+g0H{afB$>qQkYLOk-H)*X)aJX1Z~h>uSWuJ*G<6Z95DK#gq0l* z1x&+=+H;CrOb(p4;!bk+mkCN0J`>;)mT^{cqgM~ont)d{b|i=d`(X=&DzBoxiyNFO zhSYnZCKq74^VKNQU+WLQtPcO*dyBYA08iFQuc?FjhZ5GqQV3GHdWXJexNS@>LjBfl zco~O0(Maqm6$15Dw6!)GC4&^G)_5|6$%0@sMxbnSeX@E0?gGLb>>StT{oP8hE+cHm zMcRTD)-~ZlpF_>;j`gc$5OgLsYqs@I`p~?Kvmhr$=ff^)m+#ACn9-&%U|Fql{dxEPP)aM=N0EwI6Oq&@;z@F^l zsUcXTxS)#)g`261@81y!hSPeTEtt{P!J-g3k_1E{DTONt6S{W;Bhd}w6;{lbF(l$m zk8{4gkcdZUKi3v5*oNrVj?jk(=uOqme1`y#6oc)qU!Og=y`t<1^Sln_@ldmL#&U_) zS#Rca25|ykYX0IY<_q6Gat)-^_T&I{^YEFla`VSh4zn_7c2j}VnF(dIVG5Q+ipK{& znjXn3WoOrMT^nAEn7vQ$#u7a5lAe$74l{Bb9nJ^q8V9xHvu=_^2l62qe7oA{OBUx> z4mE7DlTQaPbGwS2om8}xb7hWvl&^lN#(N$hO$B@L*h}yD8}gY>s+*tPZO%P5>A~x7 z^(&|d|LgPJVJ-^?DN$5QprMSJcXa@u^R)~HypEn)VilJ`YIhdpU!FZ97o)OMB+3nt z_##Xw;iBwEZUaH!I9z(M1uu<`O^xE{dc7(my82Qh@Qk`?QrtpKQE(YoSJC;lYW(>Z zj!PXXGBA9V2HBHCh819wvume|-AuffM9sds1vY`yZAszS7MN<=^aBZ|6*%^eL%x^W z-ajSw(G9`zO0tsUHf-i!NgW6$Q#XEN3k>jYLnMv`dpm2D4Xj1qdiOXExz%FiC|guC z+ZMEpR_{+^LSiBadQFA#Up|O$dGWbJh0O7EU$I)Jc>jc>u zQ|9ZESTDEl7rjTz%Mhn%qY7w>&WnzwvrguF+@iF|8638>q$(?IbXl;@Y2;2hawjqPOq~l5iA9(_>*`qRY>wMh zAHv=&RlhRg9t_W*D}xdpqbIBNMV3BSY4Z1$6B)P&Q_z}USG{gg?^@X}O2 z6|LqU`rT-4BH5sW>ImuIv4iS8VfuFEOOw-7IdC18fRk7R<9*)lY2hd7{B*!Kq7PA; z2Uur{Z-gvGg>iL4rB>@$8T?A{r1GAi)g7gRMHc$qO|S9)wfE)GRIcyeky9!s?TA#U zEh1BiWL9j-n3Q1~%Qi=a%$w*`rjl%IWD_=(dCm|zh|Cc}hN!lwWS)7ir|ha_T0QhU&wW4FecjjRbA7J+da!xi-p0-HSS@u-d#lo4co+F{;>2t4 zz@}x&rkC&Rk#1yaC3Q}8=e2`_Y=_L~MTVowo74*!RK05FUeA|{cV#ZREG!Sn9Czr+ zM?XAF{}|1phU*@EiqMWfkW>i*m`5Kf?Gz|gRaEn?9m4n!3hgE>eLWQW)NthiOUl8O zF^sMw8J&A#my2B&*58G84Ja)9rq6J14f4qRBSUUu$T6K!J_{ul+}#h+J9LcA81fp& zImSnfO*jSpIhdtK5)v6Mgm7E_jwb5REMq$QxIFFp=>O#MT>yRtkr$RDw z>yI`O9~`IoCgyZ(L^rOXU-s6LS*Y;EAB$z=>_Ij3S3pjdQT%lI2MZCmQ#Ju8C%lF1gg*$u&s!R@u7 z-0|S>{tE-jf>W{bHakmmO5ZK6WByYza5=?TA zKs*9M*awfB0L}t8|24nTxO4~2DE&x#3`W9KxuQ8!_ewe8T1an3e!jQg76uZ2zI*of z9ipsq_jYo|+-2tOuhc2oHG=mGWI2)ob(Fv>VoXgp7UGnqm(T1If zA^5F}z~om9T<)R;;(z-;M=W4Um*4+-!sP$pJ$%{WaDaiy?D3zL%HQ32_BfCM_=&sG zB7c3upRXiT>|nGRopgIYhx)4}|9oYc2ohX**D4J-QsBS6bL+q_4EeJQG81qv;m`N^ z%N4u^gzVgFiQ>y}w{<-HZaR?xDELNUJ#Lrt+b+OERO==#HLGAO5{I%AXXGy-Q1Vvvo!OGKWjce(QOjrpdUKk_6B>swOv~w4sC?V2No;24%cRe zU3*#I)oqs9a?`~mVZHQi=h^mDZS5&Z+qUFc$l@R8bZI?p3uwhLZQQ#c!_%Q-ZprSE z+_C6o`?<1(O}U4tN8WlEJgBC>I1}}IF$(RahZxi)X!^j6-I_pEEeIVW5k=zkBj4%p z_~bo$22WP6-l_CQX9Hr6Bzqv*hFPEslll9?djSfEA>o6|>Qrs&$Etgjrk|MaTZ-)9 z%v|W24*fY5urD0D=4Zs^lQ<&&@ndc9=PyZmnnod5%l@s+6uI(^waHXV;JxJI$)l(d zIlt)eNq#MP`}%?4&x!U|A8kpO+OQU~Ri1!GO>yH(zCd}mA@up$!hjjm6sT2_`6)9X zhA0g?Gq z$o)?{{zObDCIrLISi(p-Mr9R@yPobjHOefR626YgzfhVwulv?otAg>W)RhGXJGc3E zZNQy~geNK}ZU4!u23UaV?LaNYbAd={78sHg&`nj@0yMLq8RLeW>MY=`)MvV>DR6{4 zd-owdQ;*N$PM_*duINkZwd^;v)Wh16uPgvUf5@j9LokKgC3;^7DS}uqwT8_o-P7F@ z8e#-LI;x{W?%{GD^qclfTy1-*lk~i_VGc>j?B)3)Z_}EP4+&&4q5*13JD}@EG0{rM z-Q9H^h^|yhysx})e(M?AzMEZ|(7?|Mi$iVLCjb79+`*y0Cf4*~>~=!LgDr~*EgS;$ zMv?DF6CRYz7vm8YrN^m3xcv^hsX-(DbqGhziT%7mJ@%93D~=`b7o760Q^JpxO$C|C z73{T_b3v1~UbT8fwbzsxTC1H4zyH1?71j)^@085U6K4F=o`UxADVaSjUaRxUM$m&Z znDQdSuVlJxp*oMtd8VxB<~aWwNPtR#(IclDQdN1}d>`1#L zg`sfv-UVe&W4jWBKbq?@Gjmyr@?DC`2ZbmZ(f7z9>4!qb%%{vY(PEZrI)#VnwR`MP zzvZ^buO!3oS7h|n6pnd-2UTqA2+nN-}pA}Nn zMT!q&1c)C*N=6dJuMbwTE?9tiuRc~-=1}Vmy~z2kL6wn)y5BT{C*92}1Td`n`(JT& zMBY|>-aEYvoLH<#`Qnf`etEX+nH9$?YiM*wX}i1M(ID^T@*#S|b&!inYLaA&ONxy{ zD~SjJX}kFSX(xwu5+N`U_qCeuiP4FqXcdn_LR&cQoyzE_Y{P3pXL`R6v{1q z3LizpOeH`&^p0Q1TkFs_(**WlBLXD1g~k4ci556}srAL-;KnTyTV1D>aL%Wow`cFK zR)HTu=oaGwL?yY))XRaCiVW;+B ze*G)~kk=u!#j(}ap4y?d^aT8G&Zi)z?P=+`YMN|!5xN_+hzf$6kD-I>kRF7I+GXD# zTxAS%IIL!;EcFmXSv(m)=i5T=MX=Vvp4S>1c>Lsm_Y68uoq#C@cC;aC2sMa$#Rsx= z)#KIRP9LA_u}NZe-Y4m3EHweDUBmM9&t>A`qKJxfC}!q(Fs^*1Z!&Vtf|t~bB!yP*2Uts!I`$3&2-gCchkgl&O@rnZNws;1cJrk1 z@BGau%Vy{qYF2IccBp6!x>#itr&uXW_IY$#JR&VHe~a*?#tsPzNZ_yS)?PpZ2ky}8 z*zwnIkw~gJ6&s2z7>MGk*V9R{u2`E_htdPf{)-|!gFLw}{w?8gCaf4ZH%YVu8E$md z6C7qcXur=BcGTm0j6@3GUm1ncfTQ%%PVxMhS?JQ1RM)z@_ZuK)u>{Mwo1N#T*rP9k zs0XSYFj!!crgwdwMrhv?Wz`ZS=pJb~sP2LVu06Oi);N)$eiOP9_lz8QwARL+oHx^K zp?ogNc-|5;0wS3way34kggC|p{*{6>X7&iT-2CTQf-`f@#S6)?4rCyl9wze9A{S

HZC4rf`qjar+R&D3OX7t@7UjI99znOG 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 aiyLj-?|ZTeG;VByKj$!7%9&@({r?x0)GW3D literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/stacked-area.png b/test-harness/excel/evaluations/examples/stacked-area.png new file mode 100644 index 0000000000000000000000000000000000000000..4e713b4621e591b192efcff0e311df813c70b15e GIT binary patch literal 233041 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 }w>3$<)N+#8E^1Di50i0&Cd2^v};&yc|E+!A?zk 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 z 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 BS(g9+ literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/sunburst.png b/test-harness/excel/evaluations/examples/sunburst.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3511f950130ea5484f528f500ce23f6bd0582f GIT binary patch literal 497537 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ξc$TNr(789!t7tlZ+~v1)n{<+x`N_)QG`a-OTKcDSwiXzg8W z)$z%;u#klk7ME3OtTwYQ1$^9V@930|bqG7&VsWIT?zB z5pTf0q5R2ww|QPH`7pe}+02OZ1pnwTG{;twBXhV=H;9Fw8%1SivqWF&?p*yu{(%%0 zM`-;YHtXX>^e;iR40&o^f1D&uo5r?*bfJl!1i14Cym3tvfoat)eeQs0c|C2DW*Ft# zo-dSn<1r1(P9x0EmvyoFv%0~f`JS?I-hbK@O3ZqXO>4*+t=t&go4xo;&o~hl%RM65 z^h@pzgI>d-P^;K-zy;8Q4#Oirs)+1y#!ws$wl6QlH`T)e>5Lwi4COZHeyQnb&6`kAxrgEM`MlRR)ld$EF zcBvNHwvs*`Rf*0MVEFT(WZ{v{;=;lRwP~ifh@{g8XRE=dHfzhCv)`0%ZqNoi zMUr2n7r(!~1u_n#=3-d~hJGAbaB1cv3O%M z4O|rfYChVm_xSm@x7Xh+6*PB@MOxeUI)6U2{u6tSOQy^!EK))`q4~|s*xsRdA7J~RBJ?w{f(pk-7o`geZ-mZz&^RTxFCTK>I4~^>2-z( zRYtX{nrWQiqLStyt6uC!&cgg5fuQSJ{@$sMDIb{|a9edjS`7%CzglO!`X=OiGvk$c zHN(1kv6S0Ss(9DwK^yy=%5`rezc!KFJ%va0u|0{D>vCJSL0xmj*F_Jx)izJ>`fD7H+r z-t0FXyK1~ja>9Pyqyj(N%D+JO=Sx{8zz};*PEn4QozDph);xV0loqVkcfI1xF+Q;_ zvux(O>0yo8rCkr@N#`DWO1n$BOw*!yJa+R(=ElzFfUt$Zjkjfn6F6D@45D0A2yT}_S;vGWMZ=Qo%zXsNffU+a zf@{E&zJ;&iW+|HQC_mO~cnPZx6oy9~mp&s|ut1(TvfjI5SD(38-y%|6=Ri6C!~;Od z^rhC99%Ew1w`F&3>3!obn*PQ*oUp8sseCpTYgEvqP`P0wtBNYF7XwUU2x!SzD!#p-t;}NAS^r?08~_p-yCm*eOUtiV`#T;~ zQ&G1(MpnJ4IxFp(voV=iO|PPmn>^Y}6YrW)e9y$to>uP9cDv_x-d=5D)o#4_&El%3 zY(XOKY%1nXt^R6D`sSzu^MyJA^^$QMV=^M-DZB(*DsVe2Yx~AXkx1LN6^?-cMph(E zAk`gW#HT~jy(&>35%){pa2`Ew?TTYUfa~J<-MOOT{L5G_JZ9MI-A9(lX$#D(m&KFq z`h~GvHKw42RVe{b_K^Qk99A9lr6jBV`#&X;HJ_+eO5qR^xy^MD4|K?8BOwA+F68b{ zMx;wm;*J@`yiNq6?e#z^TqDNc1dBi393O*N#XlyyeJ4FzY@IRYZ*PA6rf}4vXxKhu zqjjo^dMsc~YjCASu0Gd?iBjcWEZqF?AsyD3%>FriAQ%lo%&hyb5s!#U(%2V1k@xeR zh>Zk?EWx5>Ffp}qx{ve*4n^rZp)n?2=UTUB*3B2lct$bBJG==2=Bj}b1JMN`pFL!R zv-hSSdoC?0jbV1GnWXId%8^Y%Ig=fs_se3-8{H+=M@Aym+=A9~sKF9GLi8x*$$hpn zb7O5N7}4M*!=#E#J%0hzio(8}>Hd>Am&uFe+R+4{W;JqWQ%^&E|@sW=l4%!V3cSezQ;lj?-!t<=q5{|IfSFD|C!?6HT9Ou1a?&o1~% zt?o5bSF+LCY`(yxR~u1%By@mdka{o9)%5KcQVz&Q5O_7Z0nj^t!?F$`re~OgO%2ODK(j4T#_aSWm zquEa%`{=8KZy_4$@O(i)*~~+sfY9?favbvkYd`d>Zf-Vx{x(-xG{VYHw-NZb|4Y2EGOyFFYf2vRvUoX06hR(30{H_dhp+h-lN@G*hnjT z{cF8i&fkMO;PN2@87eIKRU?Ve1~abJ@i?bA9uH`P%_8$rB!ttqgR-K}q>H+5IU?qU z83dEePKUGl8 zwGNKDc&3VIgSo}6wdR7TdiS9swZv+%g-Y+8#>PlXHBfn#sJR~C-Se5ws0ZffZ8V^! z0}L4J66d1of-Hf&feXqH7BbvJ5SPudeY&4n#|u9qLfrt4Cf1~vtN<^0;l=;KzAmq% zVwyJBw{B@gb>7on+e(4n{U_DCx&D+kAJ<V<7d=j8-Q{ct+GRXp(~BLgA77R*1$zjZQ@A*PP=Aj`KVT5+1r=429+VhGlhvW=%)-e2xq*Z2Wwdez`jZqp=u} zvL}6hE$vqnt~my!Mg~B+?Tux`j21jV*&0fBo=28LEL>bulcA(&UY%B1nrMk{$L^Q{ z=v6GoI=(9!1gCOQNso!3@{jkS;cwT)S+d$K-|{bJ2pqLz&I1atu|B>azQev zq!V@Qzh5#|L2tMuG>I51=Js14xcFCFWx;*aRR^#&Y7KEXJ`Uwi3{X%bolPBoW!~Bh zTf_`O`t-z~V?o%s3Wz3|)0V*(1HqI=E&+Nsw+hhj#f~X~86g`IFqMb^Dn9rYWWgs? zErEOQg7-kDx;xi+VJ${mQ7czzi-BB~m59hG#A>7EL4G3&rOWAK3!{DzDsXA_XZt;S z_DuMcZ{$h$Spm)9M+t4aA!i&J0<57f3iZ|>a34$3J0hsP6m)Xg{KC9Q-1oGQAwq?a zJ}de;%Z}sP+T}qK-Tdtx?X|t6LHTfD{LG#NC+JA5qX=c7PGie^pDpH|2zSFkKiI9F zWUNxYv2-H^6Y;h+3`(g#3Yn}+J{2|A_>1zb_w+`pm#sX=c6Y~bcg1#$h4lEzxXm-7bjW`LWp4YAwIA54H)cZamK zAj0Z!hS@8VuM_GMx#aSo5}pNs-CWc>DO*>N>f%ofF8`q85p_f7n$Ao3BZq%m1z} z=@xd;olCR2RcbPR5jY{t$Suck!}^gE3$3qWPsIqEcuz&IWSFEJ)IEazJ4T|+()_xG zoD@DQV6zJhXQT#kAT{YI5oj(rQ-ySwfhy43!psI%Ct$5Esm2c3&L$a zqlfYcN@eaLI%Fbqj$0|TaaFJm2YnzG1LX2tTuBG4!WamNo&cSAOUj&7$$8z_MZCP2B zCv^gUB#I`6*YK$&3qJ1aWQi*r*hLIG0mZFY`Rx*UW|NNBf!Z?UnmXq9xhzd4kFz zC=jWC=iiOY+W}(b1{Hu*T^xn^yMurq@cSny^>LMSe-qeoMr<#U;D=j$93L+HIwZ6k z`Dm=i^iOr_PZupV5>q$Ky}IR@xW(RPO^f~v(MjHy^Z}>Op939^CF1_QD$dO%Qa3?W zNXD^{M~QoyfwHi1LK{I?8=%*x89##X8ZH4L5qlix9yLg@w5f&tJ$(1Lj*IFB$#gFv z`c1f`^}WPTmVUr(fc?;{htc5L+*2sB#_ack3|fTfo0PM>Z`=N9z0^wYYVx*AM#S&x zk;=_a+B$jIf)S81|5GI<=gAX|5_J!q6od;Z00;V6(Ud2MS5NdJuHoN+NHu>AdpSF_ z3gAh>Jf~A#>4yt`9P<>0b^b5(HXPn<(w02NX(8a8xDFppr?p++D+(u*+pFBzbsh;i zoZ!a^*e}PG;XJ+5@v6dGea3oqPaK5hB!DVO&7%0=O7{o>KsqH0HJWec8IHnLVxR-c5CnM?!3RAQ62#*nsB4K6 zz6OC!xeCDS%R!n82r^3sA=Tzd_}_`g?}Io%6!^85y<``VzmhlTp~u^(u|;49 zDQm^=lW_y1=k*xr6ZfjGjdm}3)PFilM(@{N94^5zzp)nT{K-EtJnS6Yh@!;Z<13w7TbHExqQLc4$ZZ7*EFI$WA#ho!ixS{XJ9NFzs{9ai>yosL@OJUf|Yga@MMq<`;7zA`gK8-t`RbyacrpfW$_#k}5u~ag$ZoRvo7T z1#;(GEa(VIxwNiy^N9UJNqz7(TI~dhL(2^t{Xa~DtNmskp4`iSbdI`ik`K%-&8j*p ztLG(udS`ieF=lV@v0U`T<5M_U%<*80S zOTPq_7swmMi6G}W9t)s~^nlogEqDQ0#NB5Nn$ztW;55KFY=3*F%*0}CUYuhTibM2c)8cZR6CXh;-@nKt%-K>_C_2oywL(tS*Cr;arbAW;O^D{FdoBiP@+hFF+quL|(QtCUr1 z=+d{)CiT*MO%^0%XkbFmiH@*C0$4*3nm&tJZB4mdhrI@NycAU)>F(Tw4m_8!&vdkYDvezhaRB|Xyt|7lKgB2X zOv9EE8BX*J`xt|kTC2(dCxA*TUEtyrv^v5PZRg9tz0^CO;;qCY=IxQupoam0rL}{twsDZL{5CMg5sdR)hN| zI@9ktSJ^W*?UNm}BOocGkfqk~Xho^g(Szia3(lSaF6kW+-PSv5Fi!3IpRbcRT&<-=5ZJ7lR-B-Act_mv z^4X_DoBBFXXMuN5_nL**TyV)k?BR|aFrgUE#G=kXSq72M9JQ~ehE5({m-s;b+ycJV z0&wK~U}RmGQ^aq0Pd53Py?94Fw6>8Y5-w>nZ@MVMWSRtLyZ+hAU}HA<$?xtY2a{x} zl2ITt_9U60uL%Q*5H;Yq2q{p!|1V_lvyQS>abF?7jx7vb+h(U>*a-T)xjc-MYLM;*Imi zz=Pid;Z5Hj?;G!HWN+e;dk&J!2vt>8M?q`Hxfw5y`7fTv-H(ezTQy=Nfi%X2z- zuWk5MO`}fNCc)k#wpr#aZddXsVZpn>6u%T%I8#pv-#~SqaPGWtiR1>mfaKWx_n);z zN*7(JoG%<1rC_^Yuh-5zB*Yw?+O9%KvF3ODZ}~{Q;+r~U-*mdv(#srm{1&!q%hm^d z+IA8b(khfDx^gr;jDF8AkG<$#I~lzxCknd+^lK90r$<|wag|FKX-}SCF~pUDqLM1^ z{?_+mvc`Mw)KHY6otgvVEM5v>S~mu;wNZzU!)cF(jIp^nr=YQ8 zvhPQxEzFg|gD6e^{FzOZVycqjH{K517+&D#IVIif;RxFm6th6Y{f0<~$!EVdMezo+ zbDuRM%2QRD#(j>5S$Z-Q7a83}Wf7J6=so9sZTvVhIh69(3C>kUntPYqPNyB*{V1G= zqM&GY@R0M?+@5?sQs2KiGa3_6D!Dsx@BA1wQ{w5w@+GpTgmu9VTXSVjzQ1b<2{t zt{Aya5;CF3UE7&78yb+hiyMq3^g8JrEc%KH1^XU)gC zZ!uOg1~CS1v)?Y?&Fp+m*qr@qF6?}@mqx`bs}ja5rY+2Hp}O+tgin=OxcHQtwL%+5 zcJRV0zbh5?gKEJhDKNG~nFXTSmd?ss3?D%rLQPH1oWYsW3hQGFN5pn|^>6*5=iu%`Hhbs_<1ge*GILYH!DJY1Htd49`q|ClSohs07@m<(2Jd{?KPYK0R0 zjkh~!_ar7wiTPD238d=fw5W9A1#h9g)Bp#Rmi`VDw%-1~d9414nMvOoHjz z4%tatutuo!M%>4|H}J{~8u|Mno-x`b?7wa}onu2S_71faTi)9}FJtsXVSlWd`KT|2o zTf8!MdE`|*fcyyYr6*{dKANQxFp%X0g%O23^p2l_zX+Xj1Sz_x+xaQs7klK)35lOP zsY#sQaA6CO_3sP7q(1dZPJv&RP9rIQW_$L9l}7CFZS(WYh{8>i>7z6M)F;3Xwc-5x zNAANojX-2enA_XIDnj;tD{R$1f5=$;5rLrO${981!T8~>SUhw1gM{tOIi9CS+gf21 zfwrOrw-2p(++Bo4?;$g@v?w8O3=CbN7rKrv()~NHQzPut62XvKNKRx-W|B3mU+`-H zlwtDsnY_tYKCG}Ow+{m+Hu<`Z)GcI1yjvZo>q zy!5#KPh7+}NlDIPS0y0^*8~2qj56Q;HXHKR{No$;lWAx0mfmhdAY&T;emLNPcI@we?btJFfx?%vs>7M%!1X4(<#D?|6$Dm?23T-t>=AGH{#OzG8GyD(e~)ok$f!-}!;@rvEpD zIZz!%4Q7(3Ztg7%rH8$dVXi1+aCLH5oiG>tYg&Fly{74X;6NE#UEztJCfB7=qIT2c z{Z!+4fBEhM+~DJZHaDHn+gmR= zow4p;dwvjR1I6ekkhkcf>4sBYNmbw$xoNv9Z8#uFEdf7Sr{V@v=g?0!LCTba>hA83 z%u|iNn531IQtMMZlfx^ly0SVB4k6#f<8H*5L?W6No+vv~`#S&xi?! z+-26t|5D(L=n3A^+x1Y7GjksLVFeVm3{*&DVUQk6VYZJ$y1#o!5boxJUNn!uA!|$- z??+%$2j2fR(ftNGZ||e<_)S4hAki0u;JfLW+x5W@hKeLA;teLLsR8DYmbx<4@21*U z_fWj0#kd$TLN4`4#URuxF?xZ#MbNWi)j$O7&$IED6l*N5I2c1e@#OFKm

xoO8Gpq#7U(;P5BeW8(0NV&&!z9sXBv;y5-IXQohNB*ft&!!PMzaWN|atNk49!i1HYBn^=4 zS0)YbYP8@&cwSIgkxuF=z*ohxoS7Dt@yF;D<;iT6=0fnB;v!9ZuKsKU58*vY!z}5y zzID%F@6_yKuIFatAfE}cN;-Xj;m{mC$b}3lp7#B~zz^ii`kaSf4pKp8)d$Y)_oPk3_HDPV_+OJ)}2#v*&c9)(G;Ak zV{{H#x-RL@a{ci%9=p55d~}jCumE%(j-l9kBb%GR zxUeVqUW9!kSaeb*YRN0Dx10ZxE&`lz3IM%{8=K&Z-})3ZJVhi=sjq#7EvL*9YqjN$=EE!b|$YiyR`IT z4kCR=*?=iPMcHz~`xW+}r?#MvHV}Dp=s&3XF9=!hbJ_imqBZhG#nYGs-G+Fst`;@3NHN-jwjGN0xN+OS*Y1o4&b zbBqeUKOKi6tjTq;AzNCOfoHYOq=eq871oue*90Y0@t?K-W}W(GAAaN}OsG9HN+a)! zXhgDD%7wr^rl%-5!<&Z&r*la34$Q0Wi|8NHXQbmRmGwwnH1w_ElIRFxT3+ZC z4S*xhmH3fsG$n5#K>{B=`VS3=P8K$=Ve9_dYay#Gy@?0>@77q6xbhkm7_65g!vPSj zgZ`tC3Sbze&_wOL`)r``y_&m_}wWlO#9 z$H-X*v}=W6bLbC=m36i@{N%@M(z^2@VUO{35oLCJAB6_aeAL1HCf+AbN}$=KMO~U! zB9G6`#?hfdEI(?K5q3VM>=}UsI{!_fnUJ%%l zg-<*@^RMGL4jsn}4jt@Q)Vaah&aHX&czu24RfvmOpyQk%RP}4UW#Ou~i% ztAe-q1hqWv7njaHB`m!KWUEVc*aeoIi@^2Km&GELy{s%y@Y+)4c`0Gy4F2BRD5A$* zVsK$EzWUixoxJQhJ1&vZRpELjFHRFp0H0ML1^9WYs1W%7S%DD|%^OaD4KuVtbQJ_@ z{xJ4)XkA0!$(ZOW5Il}&^s%av8i%R`+y9r!4^0`xUl`p1LTf?Gt!gl_#2MyCo3o+d9d1}{78?mOFz&29euyxTLsC}cV6zD*v%Kt2Rd@TttuC*^Jyo@8P!^} zIS<&eeZfbwQ*u&&u|0R_GqTxOnSz#+^pGHwg0cAo>C*|e3Rt+mu`;8cCzNVoXT-E8 zL-tT|@gZE?1c@v+fPploeYSv3N=w!J*S!$%&kI-8eBtV7K9u;hkvgHumEZ)bEMrBHMdjvt*sl68pY=P%>0HE+-3H%lWs`HlZ}-xDwA&JC5b z&HHBLWCmk#@;m@PH1Za!;y$;qXF>p(PdzxGUC&&a>APoPWdQr`;eh8 zQC?B^^Fxe%mvR;g^GQL$&h9`R(NCdsy0Y?g_^pD0Ff2*PIbG#z&-{@) zm`sc>XNsWv%-*6>25XW26E5=aea z;vYgz1OQR3(Dr(jJB+I5h;wRqHr}`C^GoUVnPM306KTV=c*u|kR4(t%?hS1&)5ok< zUqLLLDnX;Q7*CiEiC*!4EF#VbL=3&76Kdyfq%X&7aEVPqvCmNNQ5Z=Iego);m2ckb z;LE6MP%P8sN)L`bklb_8q`V$8>}yo9_IpvtD&&(wZt;kBvuD?ZvAlp`k59?^6)RyI zzt74wKWsYmwNMQ{E}auEMBMJUuA3M|SGlR0eIR(J+eqnsIx}eo{sgkrLQ2?gWY^Hi z89dIcr~JN%T}uZsmA_$*?L&to?8nj5WW?b*BfXR$ieN&son8yNW=dZzvGB!nM~!0* z@S60ES18xRP5qZl$3z}6>dzLy#t@|d*dYFNn*fC3#(8yMZ|?r?{XYDU%Hzy@yZP_@ z?%4b{V4yw_W}-xSMa5u$+XNO6z3%+{FZ3kEiw|v%&W%rs>vzi+v|Yc0%Z{}N@AUlR z-19jclPzUWk2$^lrq?|qx6dw0r>SZYeQk6+%**+6mIrO6DU8XI;s|s-)8A)T;b{h9 z|FTg78!AEo;^h5fKN*b?eUMAh_nrl@e$fyqo|!TX@9Edv-*G?nzsJl}QiDH55TD*U zE)Y!CCMn_GYn9>8ELZJp;5(K+GZq)`6uvqmmN0C&<#4k;NC~s0@#2}opjC6Ob7QGf zsGi?=#^QI%3{evsIAy7I0X;t){dD`Ja&C>jkDVIZlmp={uJ1brcuou1&m-#0B;hTI zLOHYQDPJVAW;d;Xd+UCZ@A&256l;`8?1io#Upftw9_NA87WvFe5B4OG+H**)-uj-Y z(+n-6p?6!L&}u*xLrUUap#DnFr{DVD)>$>P!ZdvsVitdG>P;~fF1ruZDrrja2iU_& zAi+ooN+>QlC*X!b;cOR*f$WH=ba%e53PX6F_dAaLD6Y%rZUVgj>X1uGrgZAX%HRZu zL%5yNl?Vu@^}g50cmxR~3h^mA38kBnn{I9{jFyB4@c9?dw%%L2dDx}gdvt3kpefN? zZR>|~4Wral_#C_~+(hUs;c{V|5S*c zJLXTdsVsMtf|TvIGl5k-4`5Y#4e_ogr}?rGLj=nmv}BaY_qp?VXpWY&=8*HF*dAE#N{n*WYHGU zAJ!|gfA3uzulC=_(D&SF`CJbY7^MzVbH$Bw-Z0qFR!B;@^f;6Icn4C4jc?_To&gbY zr7aapMnV==hJa-N>4EG`(d!2So^%huAL`mpU{sE>-fpk*sjc;MZwsHw@fc<@-RxUf z!hG)Q17>1#V9odA+9q=IH2NtOu%b)KvaR@2UXeper9{VGYt3EKkDgL}oY_=UhCRnP zdEnc*-uE#dNHkg%GMU%41Hf&%!Kh|%i}aC+{FoidZrXw)b7rnqD*1X0uBhGj9Eo0{ zc&Bj`9rhq3{cDyiiG9&NDdku2{~@K4{ty7738ZGvGIjQeh)I^W3V00%eIx@(Yu;>(%b|9n02n#+lTqa^%9wPpU}@NQ=&ho{%YJwL zUC&f-`Sq^$_LhR4m6Ol!Af3f*fgQo_9Hv_Wh;cY#oaAG>sMBDj{z`hKb?`!xJn-ol zyZmz|5AM6+k;wEE3*-xM$7sXsa zy=V*1@0ziUQB5AvhYeO5emYMWWVXW-j05!Pn5tK37bn|HDT?KO+bn;g!}898ZwO>6 zc@$T?{&k%(ygeWZ1PDzvdG(^FARR_8VW)}BPEDJdZH$a&?B&wKy=Z1Abi#1-*Icu& zcY8|r9fl~WulH`(W}u(@uuzq2eP;u&qUh}0JyR3f;=$FL4+|c!69;KcU2nSd7yrs= zVntK92zKI;ftPg|DH(YhuXRy^#K%MzO!A|EZX6YkeTXeS)7Az4Q$60#*;1+tGOcl_ z?~unH*K~|`A3q~BCFAsDu81z)uBpoLsY-NVaZzozIfkl03bqW%7nnCM>)WgCZq+F= zI}i-V*v6k&{l6j`$_8Tm$+j1I?#du#+nnH$S4Oa%F_VFv^pGS3q=(L&F%(;+fJ?=o zI!In_wJ>1-96cGxWLJ!;cPS?qv2< z=Z%Xffs=FEovB<**^?2Qe6`hG^5>fMrFH9Jrks}hjc^_u#6>pE+r>f1F5s{XxW0#W zpCrC;-7Aw`+HE2pXC3f=0YVT?@wtUP?x(-D{@ddoS1X_1)Vp=KAj_ z22LfI(u-x6i0$qe>eU-cR+lfw=f(~nSg#z+K;NNXf=&m*yrjd$2>wR*Dp$rTHgA+u# z{84P>V;?a$9Y!u01m)&@F`N^kfxh}WbO*vYHNeF(>Gh#IA z*a9#82N|23@Xfm1A6upQP?ElqgC_?mX%#tEn{t=D2_@rH-Cfl_TV4(VCX&1IZ4Sof$k<=|JP#zYv^H zc}WTJ-jPXw3e)$>WYgrq7{A{Pi@QLy!d4ocT6V-_Hr9`Hly6(bET%Sv7_!z z6HJ?j|AKeqo!U_N0vJGxqo2&r+FlKif6TjjEg5wn7H0Q>VN@jUH^&;G6%a1JbJEbh zbQk49@`R4Mj~cT!XuB2p4^w4b>PBr^PU!K9AF2L5gYJ8*n?*YwBV0v{QtWu1odj)B zIGsSjqgzb&ROg;P6W&S?HQ)yrbD1mE`)}YjIMxov@}iQCK@Q$5@)xk%;*>@HYWHz#gw#G6t&1$3z`VH#V@O_zhW z7inUJ`_~MeV&#fpi=A2oS?pVK@_YZWCSq*^@VKTLu4$9Uyb4jTsj#Sn9r!Yl8|zxw z|9uV|dtv7~Fww;JRN`jguf!NF)`lh44=;vh_%nq|7fNnTU6b3;shDbB9*dnyXfs)t zTkyPCF{`j;u|Bf*N3VX*r$cCSYtMUXXR$p>6F;Cj+n#&-%Gd0Ejv^|D9%T?nH>P{m z6^ZhU{ud#}$%Ey;zxKKL_sPD@6aZBk-F+g(Rl&MQx=WtGoVzpJ5f%!!GwmRv=3KSR zC_8zV1;A;L`zv24@$(nvVTA5k-(1^vcARRW_cmXl(W~ug{gcvr=gZHH`BJA4xnY0J z(;h$3rD}OOa)lPTV~-#sY6Ws=CE_Uv zJ4hM=UFM7jW!6}JOaxM62D0G2JHG0qOVFkZm(~sNX*PuY(l2u0`!Ld}5O(k*V)VVK<7%mUQmu$jF*I1M z6Zbv+q9$SxqGn!J@`h8kutq>9 z1So!oF^)PEk0vOydw)&%=5bmUdZAm#v1_`@0yyZ%AT4ZZl$H!sr_whKLGyT?-*Pc~ z?2LZ5+=}8Yi1HHsSB8XEsSjhGn=4umu+QiFY>$pD1g$d$SbTh&;5}LTVt18i^y0{- zZKgmZqt8}`2}Mtvtkf~y+;oEr)<}%-c|TkeTyUjF{~&utDt!Hf)5iOGI247K9(NID zN6a*1U9R^nYluDvPSCt1!Ap%z$9Xd#f$@3tl%ZQDWnXSRL};D=r_+%;9@1#ps>sNgKNH(hz8Q(*E64khmZx`(gS7*57wHRV99lJ(65dBRD;-+2;b7{x_5q#w!jIj~I3 z)WA@sy*Q+R-SlXH*D?xHcfspv8KW_Y{-Ui5(?Q4mQh4V5$AkQj8*YAo+xNY9DrdvN zzU+m5o_t@*u($8F+2nwE&MSA$5|7%eu4L;pBT55vfVxqStM`Lj@2jwE1S z*u*VZBZ!HgdNE=5FBF)7?uLB31K65G0)#g1_P3+4f1w{zYz$6R2LZzI$gfIJo=b-w*T8227x5Kwosqa8M%(ptT-UreuQXbq`W~7Pi30FYB!GQqW zMeRVzqBf&6XejAB!t9pJ*~JGu0rZcGXBo~5{81U)>W$jrAM(S@jc%`3aD_>&)ZBAX zxjp;I)R=Z^=XZLqZF$z%yTh}TQwg4~ki)Xdk(x-oXx??ct?qF3a>qT;w}lPK4zYsN zEz8Ymp}^8k5yD$6?XtONC2uWR9EV9J_=CjBno#vqru6eF+qC%LI~m^~AmVsS7fv&o zF#}2geg7r)ji%*+6Xt)f@)W%N$!9gQ&9u=K^KJsCm`pu;=*@c=iug(0w2WJQOfmK2;l>fi!&mvv=W`l} z>aVTj+by-EX!;xYj~v6Qxfv&c45$Nxfz`;`-U<->*c{=iO z-3DI%euL^XTu{~-1!7y7mgm>8tQ`S*JZ40ShL_vMWnTqD&kEXZ`!99?KyFgelTGwb zxpQ5m^B@QRlLg*C<`;Z&13zD13l20XvEJ=`t10tpq!@;ACxbzrZ8Y)107uc0cl13J zslllD=-=t!rbnzIKw$%PoS@nVcpCGB=|a^rdET!i+_3K44-{qnxz!7coFbN;80yT} zM|md`YO>a4PKU1>7=v3kR)wZGh8DvUcddY{s@JJgUEPI9HKs4VK2PWh7lW&Zwtm9_%@OpY1YgP4oyqY0z|xr?n6c!`o*U-@_nBZ?Ts8Yw zR84Pn)f)9aS>ZnHAHQ9ATqc*h%5$P{(;RLxLBA$`MmAqyxMR!tEc<`775Iu1=#Td? zvaftq;8_5X-vM`hmQb>MQuhtLAFSB7SOnj*Yp!BpF{lP2hN^*1d6e%HnbYduW5jm& zb~njl>Q@8Gc@p$@X75fcRE@bi@A?c=VHmv4J{C4sE^JnBE{>mXqsDPPM--ShuTb)Y z9aZ>(B_iOB+gE~gRuDNb=v6+a0fdT`hbnu7ctCx{H(Ci;IF!@wQa4;4i2Ca_gF!Abh9NE*)3hWmaT#s&*#1Rv zISe7R&V!SU`|5+mzJl5Sz`YJGg$nXoSU;@x3N4m)q}0|;Rh)Gnx-oDMZR)(!;yjBH zcsyLr#A}1IVPOz`{bO*F@&AbX{swVFG}xi*e{&n0ZBk6S4w^ea2GFsvtVaM=3T^`P z^lup&u$!TV%C2Vd zVV;CB6!&p6dN2K|YFUGS=Pbx>1P^uhUtMD4z_+FQ$_|7#^+}D{=l@67cL!4WfAQCi zA_>XJya~yOO7^%7QiyDsWoApV$E`H%$cS)T_Q=eptZXVfBeI2?nfZG^&vUPQzQ5n^ zzjE(=p7;BG_BpR}-X>Qo>*PUT19A@*CG3`5rB$N+AobWI0X z{urq~I0J+(L%luwK2G|*fXuzGX(lrhpGgbs3zueH2T7yqKmf0GZ;!f>qeJP^MAci{ z+ln@2qtUK59p^w?mKh>0TO<;1kXtYzy@PWWhmxZ=_=P&-$)86Yj2@lcfmIRHju5L? z&XevxIL!&UT$F=dahIT+YfMxcL8tW|JnCJQS&;8aoD_gd0CrmT2qmNqLTS23Nc(C+ zWI#cA;#3{oqq@#aJ@)$TKF48;a?P_+k$c!m2iY8dygp!FWm1p7-e=2tZg4Smbt!3p zx#af;+png?4BjDKpn`vd&N=SG{v^96XrQ|&GWTg0WSgja_R|#F)Ru}_ZM+M6J2?}> zC#9uU_sj}(d*u8o+iBEzXMpkL|9$QqGBRd25CFTEgnOn;@BY$<@~8~Y`F7V43qk)@ z3zX?g7Tq3!qOn%KxoMYXtjBMrsIB$B+a(#b%aTb%A3KzGLPy6lVrIE%D)IlB$Ke%( zK&*D>lN)3WLP$W>c~?PD;R&!65@Q$WkeyU=1J63vR}6|Yuqdpxhj#5s=B9f2?*sj! zHQDUjH-9)x_x~+0wTKm{tA@Dsli-gN1&sOl?=kt)!+}})^z7xoEF3>4m9rVG;`9H8 zKgpkAWv@@S*~y6>(!^zG`r0I$@00_GdJPaxC=^s9F&A5sE`WXk0mE`m%J<2{ZK`S* zE46Fw#B)r*h3!Db1gTy@U0t;fVX$G3GW0Ofcia>pjhOq`M=^ZjBs+t8h?E#DOJ68U z$x8dl5y^lpYNyOnk@!~r8~4}uh17~>u6Zq&%bIDO(7O*R#4CX*0Gc2$yr|7iW3*o5 zoXwG&`jV(cKBQn=xSI^EtXm&_X^0baPPmV{L<4{(G-sBgy+3lM4LL7bcMyechn16! zpxW9qP+#N~_XU{GTcg=wQr81NKrI&mSX9Uf{eJ`H|A3IZQN5es0DMKah5tQbSoc8g z4v!qd*mtp-t(nh0dj0$gQh--SRszyw+~i*gPlkHB@*it}VmS6!BI22=tv=7nTzX#* zPI%}2%5v-(mbK`EBIJR)i?=p2+lg!ZLe80BWJ}=T{{%Z4Dul$)hF(X9y_2B^$oOI1X~pnQJG;ecIT~$4Wb!3sD&}Lv@aGt64xH9! zT#;EbUDjxvm8_$(D3iY5%W1hBB52>-&$K?1W3tODR0q{dt=56>JCM`eF5xxcB4}Q` z!JbdAp!H=3^Yay;w<8mKR1v=dK#7b>t%vJHq1GG?)gj2qTUq`!Wib+zP{t#1c5lw~ z_I>Rpqm6Ob-zNnF*t{8Wt`d@1P2(TUS*;N}Qnu8_IT`4PR%BvXw0UGX>6%WcI+^l7{2;SM9 zqts}{k@RGw+gkW#<<(rlU^OF8tFs4Tz#g{wXtzrg!!Hj7lu6^9mzdA18L7oz-yEmL z1)nk7l}Yw_&&aYc<__W?7f#HG)~y?DH$1QwteDN(RsHlL4QtJ=x9Y7a0QJw?{Jq2# z?&881bP$Zk6#FXY@%2PS%u{}Yh1X25scM@6es=TLVIjm#P&EN|oJqyE4y+&diNx-v zo4xmC!Kqv(-SRWJx#qu%UB`d0S4)S;Jh$~8&%RPUZ6uLB$A$mflxkKKs{4t2r|xip zEH6Kpxmxoy(e>V?lQ0A*La!ykqQ9kVBqH}Dz=5SzT~$8|3y}~E*T#EmXt>)F!QXVwYs0m9&~xSf3omdoL1Nx zMuRZ=P_9iNe6(mkaN)oLhyt$NGP?$OXjpf8DEwIM6^#7#WWHTJI3O$DO$`d2%72G$ zf{7Mh!-1|f0Y=gGiuc)k)?SJ&q{;dV8ul2p%@QR*^%^e8MJ`3Xm*|P?A|f>-s4uX^ z%9puLmpZQy85*G3ISW|M6&wEwh#H__FLb!@V^aaIS%2{K zeWHQ`ojoa<`F%I_-bgPbeRuQSy*{FXzKmdaMyM3-o=|NCH0JNwf73B5zApJb;vNC- z2W2`L#~cB#68rclC>4IWbDjr$`tF*sS7Hp6exXq2)81ob6ZF16SS{)3({}ZNv;PicCNDpuNXMEfkJ*c$V%wUlzwDoKWVBZ z(0BWL@&l&>a~~~~8qEP9!vHY}jXo&^n)8|tnlg+ZE<2K3h*|kM z{Idr1zGzjX6&3(s5%Hkme*g#xRJrRpEm<=5cwR@B16I;aDF65BXchz>?7) z7tf51QA3T>XW9n+#zKV%eXhpuNE&=j*u6`gC*agTZyjholn0ibQd<5YB(A`2Nflc; z^B4bJ7W+Am??JJR;Gt_N&I#RD>Po#_S)UE9A~3Kw42 z4WEBfE_T1qv1I1Fpbws6>Z@(e2S<=BobYo@pU@>C<;$kY z&YY_J-}CPnr|DqQ*tXa>jkNey{PO>N6E54BJpM|6L4I1-+n^_2q)b~igFh<#KeD50 zg2kfF0a$!II)oi+W26~f7D80?B9Ip4ZTdZk45soS`2WIUs&+|Oees-dm=*P5322c# zw{^G9>&)h~b~OM1@D{H5m6W5s7e9S_W401U(VGB@?@*nAd9ZY9O(&v9r68j=I5?n1 z<~)=>o5A-5dtbfaYg1=i;2-RA{n?!>Y)7uT{_bEeLC<>3q|D@R5ekTwO4!+^@c}ix zBgLm&%D;Q{k{^L(lQn}Fk|K$-89^*-Q=$|5EqNGj^SRhnwKX2-Sv%0QcHrxp z;R)Z)J@!18cJnai8mYOt)?UFCacx)r_q0jrsRx0d?@^vtn%de%>|jLGFy`Nz{JK=% z@`#)^jDe`$akqhgP51UY+}&rBSSg|x{LG?LihVja!B_NtBuTmVpXV+$kG$^pbw~G< z46ntGm_%*8v0Sz86R4}DOh{lWv8k|?TG{CBo-0de9`N}7Xmg}-E{=YEHpiqqOU|cE z;QH?kyRB|QPOB{%MIm#~{ixoZ$#+dush}Tp>{ZBO^4jB1clms{E@a=HD|w#Tya4J5 z3_^YP&gbcSyg|Emvdodb-Cb&^bbva$nohm6T&=KLazr~BJCSTO ztPwlwIDiiKgyT}KV@{AsAZ>%>>JOa^tpo;MIT;9 zG{+24nmpYljKX;!@V%sx^+{6|^#4AHE+(d5pbq+-u2`F3kh!xyTk)a%u2ZoCl95O* zuIvkzDIGcnLN)sXbZm-t?hs&h&bG&E+_I+(7h4GB1v^2EZ@VI^=K7h?lG+9!*fRU{ zE~K7GEVUQn*FBXEnteZ2HaYFBGiP5sv@rN0EMiZiZG9p=LsY7KJE z?b>z#2QO8}Xc&U{QeX}&!nnk|xRPhf@^MKpQYQHmtapKsOn=8he? zHfO0wTJ7I#;eO>te}lhYu?VG&nf5TBn!MG(_BU>ZP01M06%TNVYHs+%mf_~u{$9}Z z(=KyxpC+^5DSA^r=ijv@Q$B*CwLhjG)6jXpPSyCrU!>KRzBRZHG){nh685r5cIYUZ zqD%$l=sCB|K>hb5A}Z*Wm5Wbp7FhZTh}A{V2r+H{hR`+5m0uWlUT;wyB>2M zE%Ku+YQ@@i>&=UUA`w>X*FtT-Io!OpYE|XBzW=L#TvkxSe0)rr>`L+LsIB9<<$SHS zhvEc|4P5H~FEW}GMqNpb=RNQMC5sO?Fi&mX`biT^`dwfeB67bY6Yngofb*Uh@BI)Y zg8?PeU5DBkD^~1!di%~9&1?-v^mEl^k4CrS@uC&nEn-_=yt_6m>y3sV4$k@md}-#+ zAQj94l>a;$^)Y_Hz7im!-@G+SdwlJn@Fk4RHz6Inr7UIb%_Cc>za-Nf*LsB?6-+vw z{i=q|EB~4M8KZSs`bkSz_R(OAAz$4yA8XyB7zuqw2x)i$3Rz2BQTqHxP*!znt!PJL zOe-+BK=YDj0!%twJxF!O*nFmhhHOxB%s0vkgp5$JC$KiR9|#K2Hrv`*j-=a^cWI+o zd72e3E^u?D|LxF^@U(;=DzEV*N8paB{qv~Xw4t`kx!0TE#waUHx;;<24qA!PhS8q> zqlP}t-ZFL0`wvd-b?z_y)2>>KUsDs>bc=j@YC9S-6(2J(hh!K=lHz4|D~Ej0;p{N> z;xqeX_tEMGlURQ-Zq=JWPvixiL%vqo2IBa~c4LHraJUd~i((QOssW)+WbFFQ-FqHPar=pJK$rf8)dX zG|Xw6NRMXmqZDy;6tSaPqJ6@?k<&?$Sw%5-vuON`0+mo^(v6~z8p9++Stz19?zTw9 z?nu%e>~k6gnL)T|pz1nO7C(Y+GXh>F*S1y;evo6$=q+*bfDj{al|S(m5$=%VIR$~l zxLU=Ltj1UV4Ib`s~h&l+S0Sd$+ZJ2gYi z7>PM;8tI`dkur|c{bQE-S@53iq39*bDDp_k>EFZL1RViwQH@uqdtPU-)%z5ye-7C@ zHMDNgT#gbZcYcsXO*i!o5-4E7q>s?|JCi;@UmEaFdy^ErAUX*7RswZ?Bx`Gx6c4q$ zWQi}O@&UGIxu*-Iwp`cCHe0wTCG9^dLmeOu8{$F*^^e-^ z$``g)J3BJ$$*OQ)+3Ls0S=(z`}y zo65M~rhmlg-YQIY{lI@L%0c&y@h&rriznF+SZJ`-X-QZl|A;~W80_(*iPtCmt6DJe zDw6-k+zJn2yJqCA_wupYcSLGM6oG$&0>Svt}2fR3qY5l-hw zm}0^0y~P|KgDk^+yPw|mV8q5y{3;KP_E0|9D{L9Lan^g#XvU5i;63mPRBwcIBBjb) z3za_DytAlX*cHby24Zq})rthj%N92SwPtUQ13nQ5-H?{x%01G9!8U)D79$i^giAnz zE4N}_ATk@_5Cr-FW==RzvL8YDeg!^unFwWw^xF5S)s=wEz)V?w)(`U`25SMU0~Om& zfej?>cl)3$x6xWx3jW7JYaLzJV3_qXv1RWihUt>#rI!zYK!SoJ0O!{a#3Y^}e@ba4 zVxZ`Y;RyBonK~E6u)e=3%t1G26lH$3Fn!K(*_dQINl2etN94gGz@hI5U?m!wA27S1 zp4}J@4Vd^_bN$W<45+o$S6FcRWSL*@S+ysrny3{ZXoYZSPRV37Gjg#SVB6Nb1%NzSrs7@a1#MN{f%-4sdkb95BiT*uS%vVO&l;dD-Oc9sdB zF?{ax@Lj*KQ8J+YlsuY&zp-qYGK%Y=LgSR#`v+$AQD5%H(ly>avSUHP29h5G@9VtA z(p6()tUizWQyXJGZ9>HB2dteRTQET+&jQEa%;6QZ3T!b$Ayh(yP(Ysee*3`fcpqo| z`9>~)oUOgZ#TO9gT7BWAarXtsA;XetU@02Yl{%SaCyGw7=`ATOe^#-WU0>XwTxt3} z6|87pdY*f>#KT71{GR8OKwVuu>w?IAVzZScFV=J^Gw)H{SEi$U^hXo}bk)mrDM7K z#{sYsQ@t1aoDLLZbnR6T@eSe-vYPz*z9*|nIa=uTjapN}Tw)Bk{#eivLZH*RcXGkr zjzUzWmdTa6Tx=)EtsV|+@v>UNFRm1%7oI%a>r>aaR; ze@z;LE?undH}1Ohl)A-l3R>0;UOy8DuTqlm@`Of4G_D=K`eE159EgecLm}%ypVBw; z*Awz7q*-W^6Du)%d$ksN)(AbdQ&)_8a?E;eXJE8sof6exO`&=Yd(*2v!+hVeG4y}X zO{H9Aq8GwSOR+t&2st)#22f$RaB*-;9EMQFYHybh#X#twl8ZeaA+l%twm?#d52JRCSF8;OKxr1#N2;A0=K`zhezRt*&(eS%56`jRSs|LOG7N)r|Eb$YVIsz-se(ciBj zEG!H#h;3D>nPSd5F=B^fMbP-f1~oqQt^sSF+nR7D#rvQZp>68F<=kW{Y`D3RKD%Ek zvN?^bLm+?Iw6d{L?CjXmmG!jIdnL+7k6V6+Q3S4Hx_ORX^HLD@2dOI8E|hn`n#6WxpAA_?=66@&CTn2vHy|21)H#|J=#CP_kl z3rqz908#(Vv+ngz2t^gO)AMgYtw7tgy+iaDDBzB)H6`>!3Hs~Jx}(dN%fkUw^zE>< z#in}ca=1}Q7t8YS>dc+2)`C$99oPQm9T*#i_8`DFi7$wkY*6KYm*D5->3n3bbcq{- zn5&Cge$*7LZdKC{vNW=i_(fYw0*lLHA;RfF2f!_WPs1Nn=5aI4o?F5Z2cScRM;Ji^AACcBqn_t z(nI~^-z9XoHMCspkC75;7eMA1RWYtM7!C#ihQrv=VUFi~S9*34Ruq^ikW5q)fbAn8(wj;ZsPT<=k^?{PTLO^jNAK~> z;z@gaOOfnES0;gGmZ!mtpUCL*ws(Qed}iwNu0UUhpS*xe&t1u4ZS>pw)F09(0la7{;9 z{uI9!?R~0@eOS&?aqFowo4milfRrM^&PB--EGC>hP$M~=(fW_enI34w#nqu*ceI06 z0I;6}3l>d$deva?-ooIVncpi;RY`2)Ssx!KSr+vYUMYesCC_6C(aoCe-n@W+`LW_Ogu1=Z zu9EI8BD4BCvv8xhf_?|(!lZ)RoJ)HKx*o(O3!mRKP|``q4=BoONP{>4KzfVtq+rm& zNy#r(nHmKt!;jHD&OPSGTa}$z{;^py@KAJ|y_T+nwC$6b#k%OwW`GjvjmF zR`!}lLb8|vRCb7=>iAxP8SH2P!zpDr_T^mbc`D?wbFuIqY~i?KV4YgIJeB|!)IsZ7;7um_1|MP22Yfm(7z zOYhyTcwkpH_fu^8LF0%Dgqpa%4^~5HRU_0@V<LEY4+313roK)ZOllXB;cz zOO8tYg^&qQ86$hGXq=*#2v414Q22biUgQYG6pIz?8gPF`1l<>}qP&H<{$+#r>0e*x z1YvW&_?$WYH%vcA_x;Qq?a;2Zk^{AHL@0(_*cUUK3)*=0DJ33<{ZmlOrAGHDVLl=$ z4R?AN{ZHSqK>Zydlf1t1=);g2H`!9&7LPu1{1DEDAxP$%dZbBlG@@0GxBGbTe7sp@8H zHt=rN6zKaDX=8JaE4@(MDN`}2f$(Z{YrU|0Px!WZ3#p2KT$elq@a6Q0O2dx`ES1>BDF2a&FhwKh#nb zDw(^sBIs(r+56qNayE4~Gcz-FK|Cx$WHwcO-1B-!|K^0}^uIZu#;37n2Wp4M_}WQo z$8NHnq_KPtZq>`sr+>(ynuej(Y#?c{GB~@_0zj6o0K5pf`O}IxIaJlBn`|5&J#T1^ z5w1-7pad>2iA+gDkaKNn*xz-6Hzm$i5v(&puDvJ*3bH^0n~`G(0f#h(-td}Leag3y z9%R(M!p9p<7lJZ#PM#uOet^MU#pcX+b8lzJHu|@IY&Pug zATWX^x&F-#KLf%%UrR0H(rppRje7@{%(G^!2;73`JB+aimMoAmYfHLhs}=8RRuIm| zlJQxGl=BHfo?wb<^TPVag(?d=@_sqD-x^5O%J;nuAC!?UpDv95xnu4YZ{V)E&UAj0 z^m826|Flhqr1njR zf!U0W-x+N7{ffhZ$W+txYq)OCkLeiQ?7y=%&NR;$>tc#*y z>+5$D&tLCTnN#u_0Oi<4BlN|0S$_uUk|OfgWsS}uen$$(ro1oyGX~cTu9DeEdq1z1 zQYPZ&5u4h3>O(rOiN!vXGftYdy+vE{h*mA;pV!9mSI~OoJrQO1bT5^4)Boio^W^LG zbzYQN&3T5&zM_9Db`YET^Ni?uo@%Kh3VLXn*xA|i_d&+X@E367sKL#x^|@^(r;VRa z*xh9`zaeh!9deuTpJ$jSzTR}o-Hm{*OeKvpFtaK35qkNiwIt2(PS?pcX>5C^yhv{; zzPZxGB(Snpl;0cJUQ(>YJ~InJmzxnYAC;VQa(T-MSaLGz=qp1b3*jkAa-(N{W~W?^ z=L~&?i5R+bmxmh}Ti}kKuVeR7GJlQIrK10K6qcyUF4V~8$Im84Z&yK}_HTD&{BjVj z4*P6}vX*T>X)RRL6(`Qy3m`lC^P6iR<^AcuT@DVme+m^U+EqNwUQU??h)ED9ZHE?D zro~06lMg@U{cNKCObXmTgIz77u3(qZZn+-z=^e~r7<=F{x|if}!-P&bc-hsa)W!YE zvIb?-e;Ak~@+3sCD|50+`&l(>H5l~<)+ULAA&k%>-O3_8UQ@*_Q>HbEWv+qBp6&kg zy-AI31g{e8blwm1sP4M`wRtdYeeH?W51$*WkN04mNc>x0)r_}09mbzPHjjG?oK98) zu_`3G8wYkLE@{|e*TI0IPIBehv_Lsy{+PDzH)+2J)#q?$(Vm!k@bxU!JYY%Lv);OqLthC+I z1=H@Z?S8pV8HR?5*|1El&sgJFT9DcmjHvVs zhHm$bH%lhMgq~f36}8O50EH4HBAQct$s{!}-=%+N&aBpurJDGR!Sb(fW>Gidl%msn z&O4tcuoi}yWZ28>M)qBw91rv|caZ5@|%-wv4(+BV#YC<}FP-PL*)&N;V79HiJ( zP}UV*?w&4qj1&>Ek8XqPdCTcIEbYW242i0XODDK}^&z45p9qQw$}4!JdC;<~(set7 z(k;V?Yu|2c0LFuaLzrF@C|Aup{1;7bm?;^jOHbPnW~5+NNFr~<*?4`3tkI6_Pw-8? z-dWb=w{y!vB497&Z+LK(pEFstMMs|-S5ALil=HnLD&)M3p%f}#waXp&zaNqT57&Ae z2)I8&;5h;@CW)ov$DCEJ6&PxivE z?hTVIK0b%_ga~N}oci(KQY+<;?*T)?<-1`_*rlntN& z<^)R4QYj)^zR-Z!jQ&9bTag-G_SfugTsOZIi~hQXflaw01M~Ky`mqHkdZJ~HKxuw9 z`S{2G0yMQ^>Ie@irN*MZc&&p9`9d3*7^myhnTa$LSL!cjArc zxk>TolL)d+i^6kdeXe5LI&l68ySL>MhB*3rm46=O+kLj4%n=VYw$Pu%eQPw8xlW<1o_rA`~%!tMl-SHS&u?EpYbzPGNKUJzs1AefU zlf6k%>ioe}Oq@zT!~r}pombjF_6)s|*?0wl4`;F;-tHDw(fPsF69i3`Yy`R~z15`= z7~^~Lz?H$`eH&lzIq%FE2X+>_e31VHEE*}oodeFIX9+r>k^|-AS1;rIXMXHqdZv)B zMuC{bUuCl#Ir=X|^NKx2lKQBQqm5>6FQhs6^@bK}xmt6E6Hhdj$8RCd3DzCL$2opS zFvdE?uxup7u19*GVIcAX;^}FTU3Rd^D|$}3P$$>dzE1TLsBQliA}8O|MyG~J{}tXK z3zv&^$sJr9$}84=C8)Ga-a&|*F~-kOfGSDLr=>(9>VV_He*rCHA|JcrG$mx78sfLW5wg!JI=ik_Dxl?QH5TB3?j><3rWRR{-&xZb&^wxc56W zwK6SizB^pBRfA1&spi%Ii55R~!YPK7du78vOOWdc6t08(brF~7E$HPFF_pg#<9S1z zZF>TV<`?#J&XJP^HCO-Bm{=y#NA*_l@GNAR=2)^2xuvdvn~&=JSDYAFN5;Y5brLHx zl3a3f1~nT?%gYIeJp~j|M+OU$UDx9Hu(VopEpz$}{1{?j^+6w7e9^>lEYr`5~_QTj!ue=f`$L?M1 zrlSu=Q#xLfM#u@X+vyB@R-)J-r@Mf8LTr)tt@K36b@Q=3aq9?3_QcPRZ5B!J zwFF$bl~Y6(N0{o($xVIBJEHE0-o0;JZMU#*!(GB#-D@l=4y)84!!CO(BE1A3Slk= zI3bkjLXkLfb5jN&L%xgBBz;QvWs`eN)$^hKpTCnDm~u*6&c9lKd5Ac#ZkE z<-&mN)?(>;xQs?ew9qO$@^17QU|6f^f7~Nq)PPKT4{!!Ano1iOeS@qy)()6fXOGQ5 zcp|(zw@?qd(4{R`_azcS5q7;Mph{BrsCKQa#e6546*5523bPBaO#^Ag&E#?P*oVs` z8TIE9mIXaH1bHx4kaRc^T_S01wAEID&;}a;UYp@behA@MPkP2ViV&~Pc~(SQ!ZJhB z%ZCQ)D*p^oUG2ekP<*H3)?-gsp1sL_E2rC+F=N7GDOZ><8_X9YjWYY0P1fN-r4f>E z2r6Il=v2+Y7QW}d$0EK6BgcW0hI|=a3V2>Vh~R41?Q^SE*pFxn5orZydGfR|mg!~I zCZ;>5{F{zPM6zy#Bch(;GQDy%_|TT{VdV^BM5!MG=NX$xe)%cC9f_J}lxcdvC zZX|L4{GQ#NjUcBQ5u0*eYER4F#yAD!U&Wg7&J9`BG_%f9&LjO9uYEahn%G~zr;k>S+J2b&& zk=#Df1{(Cqe8Th$fmSBGL7Is! zXyQ6B!zj6Eei5}S?QSJ6wyrMC{|!a(E3~3Y;KHWk9OYXD(yO z478ZRTqgm_MV&qG&pAL#pLkf=Il|x-{a74UZG>0ha#4_vzv*#*GhqbZ@M9tR2l}$5 zjh!rU5Fhv@8J5hmMw_I8o+`XQ0aq(8r&(WGPT=waG7ZWQ^3Na5Y62eu%qhvR%S{rK z#?QIV`iex!uL11H(C3Pve)u&(7Uh1*<}_sO|54>MeR5iF^feO(W)A{72*@Qc-WFA+ zRQ58__cS$*#l9aDJ6X=5065czUb>FpWjIs3@H@$2d|XQFV=1^HF|T&FS^+pTlsXm~Cf;Tdn` z{2aPjAfpp|XQPI@hC}K8MoMpwQk)oZ-ogi8I0kJEHujtE*5FV9)niBOaIOLVZ~Dl$ zGl&lj0Ly!GS_EFg-BXw@z{SPo4{BA2HVt^WT_jV7g2{uNZI=jg1!x62N3(y~fpIXtur122fAcq{HUuj|l_ymrMm|qXS4DDvu(agguSHVlX{XnFc9KY2IQ*dD2*~>Ra_V-j zq1Z)JxlsNV0hHB0rG&NxDv$2?(gNqB&Q^6i2rJcS#4>m`ZKmexHTav5%VUJOfIPm) zn}!4s^A#kSnCIdKKFQo63nw~=@FzjgNj$2x(m!NC*dI6q%a<4%d8z);RmJk-_)n(y zzKJ*_h;9t8awu^t+>Z}SAbfLI5@A&hw;HJFxxDsAcbkwhor3PW(1S*bf)@?(Ve21X z{+XSnv9arJo4u$7a(*VJfV6|b%@%X~|4zpMSO>0JlOFTgfH6j9rU0}qi~6ElJKme1 z@ZRyME_+`Z&Aw;EY<}Ih@*@i0VUj^H~O7XeMsxYU8PCVVMitH2><5YZ)j zQ4|OHnOJC<^c?oSB0Lmg|C6X}@ociNniu9}-@F_>X}D=Qr|T)IkV_CT%E0?Qe_;wF zSl*Fv=#-S4z(jt36AQ=D>A+34;hH%OS6NfYKuG^S=lj?{(1vg25fb3#)U+KQ^wIhJ z{PwC9aTWlX^R91Uv`PJkAl4fXUZLUOdth33axUlXh9V*K|4PS05mK}6H!Q7Cd=2b; z57r(8d*6R2x%{E-X|zvRq(#mUCjw-km&Y0L2g{E#&Q;`Jz$+dh(gr>R3>UWefyqUa zh(cC^-v~|s?S}3CvdO8xUdMmr)`@u03N3U^5!=pY@SR0TrY9jo6e57+QA1k$V2);RIBzg z@2$EpG*K;G2}+(u81(reTNotSS{(_gf1!b%?rVsF6BFqgkez(r<>L5{2qa{Ax|sZI zk*whCe|iC}$}N;~Epm`j_JL`;Iq;J4cukGtG`COFt{~x?Wfmxtd34nRD9ywZ42eS{ z7ztsLXpVRYG0;5Mmfi@6`9LBW(nzd}o{@<=J}~4!_mI+)2d9XLlzco#lvHqfI++-n z4gWf~)G)eFxg1Jbiywd7m?qq^o2-so_3*xtz#C$~3CDTK+z$8t*xg+S${GCF;qF9m zxTt|XFgyTL0=FOd@J!UsgxVfhjxQz)WV=Mb)JU5=H87x?M(V~BS->#( zbaghtM{ofcM5gNdr*^&Oroab<{OsuHA)U0SuAyBAP>8{Gck4W=H}4;E6#-U>XRT!D zt~Vhokq!xC(;%KsAh;2@0*ctxI0+X0Sf(GpN2`^QyQukrTVg|=Tnup@Hjku$y+XnI zvpIln{WE$_B;e%9gW~p05pu8aXZN(wB4V{&Rk2j&0~4#x^G*8~Tgnd|f;}pC9%`Sy zM&6LWef?E_qFg8vtjdQ3~>foCL57$2^JAsrkZU0>aXT=boGh1+z_QC zjHdpXJv_JI7PYXlCPgO;?r6U7pT*OMvg_x4K1GQ$W6I5pu6UTq+Jz248vceDQW?&LI>P@VRP#u5gPz8 zY1;*?+yj%;AZLe9U_RE)o3Xv5+?w?R8)5eDoRucT@gwE)?XIw9sF72 z83)Q$ST|A`8QGUB8so4k!E%zqDyVcj^4E+qA!tE=*j%kaSxEk8W_Lez^rPB8&C5Pp zYwF8u?fo{cOV>uRSMsx0XO4;vb~mt7E%;ay)`}dFLpkP$-1eWc3v5>2_qX<{doyX) z-(E1i(Qec5I-cN|m{S8I%9>E>bSdnZ6e}>;SP4=)*)nwt7XlWmo=pFmc_KG#%1NxK zA>)b9-hagaJ`?0UZH9Y0YI{pWaj2z$&m@HwG&SAFO>MR zBNuFXG7b4T-_Z`jEWdik02@vYm zTO`&B&OU&D`=7E9RGNmYqjlsDLRlK#tfhkSz)<%ur>|RB-e$^-@Wx%|5E_s9p}D;X zrdn#&mmhwjOnWLgh%(~J$qHrOSY^opCxked$OAMD5BqpS+}=ZbkVfGp{{khkeCUe; zd_0&&(yh)v_+#*R32I9}D0s|Zd~#vei!iv;ShC>X(#5f5EftUdu4w9!)D083kiregf&u~901a4o)P>_JEhMv&DOVGm+@&m;pje46AG}CJ2bA%=BiMk-N zQRHJwjUk&*n@*4c=Az}azE`9VgGePfRL@J%M_hm%RLiK!I~`*^c6sfY#~3M*W4=D5 z<`i`os8MJI(uliMEb4G#cjQ=k44W(>()%Mi<*SaPy9NvM9DA~emapq>j{+>1L*agb zoLIV5fXN6S%F<{>J)f!$kv$o5jT9+vsm>%iQ3e#r8aH)<_2Y-ux*EovFeUb214uQ{ zCEc~>pjCuI7oiRd?)mmFWN6!mkU`Q3*eQ2F1NMq91%I-tHav*KRFFgJJxR^XH8TCD z>=P%oNF!OR7H2>MAL7s`+<>fQ%D3Rkd_we!!O@{WmsfqTroTETg@h?{{B!ij=k&9SLjc+A{oCpiicK#N!PQ9av$r%;NJma|Y&N8@$A zup0695QP3})KKVZbw1TOah_KQ%yC}hq^|hr;_`##t%|kPX=vN3keM!vcZd8rY&==@ zRX0a zk*pwSJ?kvtI)5B&Qi)ey{%QKE%|k++X;ls5JEKTNaMS-L)_;6CWnxISi@EMy#WP(V z<9SVpgVJ;oO1*oYlt7ZU1j(m72-zH2pUqPqn-g}xKYsrwVkGfc-{0~0)fuN~pR8TJ zDOkM(>WZ5$$lyiIQF2Grn7?$h$=hDt;2d=Dx!G(J>BNfoJG~r$0Fe-SKsHpLoxK8;Qo*ZYoIw?wPP68hAb4i%;4 zc%uu^yta^50VNd5OJ@iecldCR&_`>q^!@nq*v;1_lKxXRe(M6aut-3R39)6AzEsRE5dIOSLFV{*>LJI|wO2g(Iu^mLsF+IK(1K)e~0#qC#n8o29dUqZmyK+<( zX4n3ane5&Lpr|O)Opzfq#P>PG`=Wc?c)elfv8737Vw03`>xw+i3{S!o=BL&Sb8*o) zZXMk}3X_%#C?^43vMP9wV~`<^Es5saE%ig;zC+PbC}cZ?eJ#piLemBLV1&s;6h_yt zDH*bPS?5I|PHf_(_Bp_DS!-F;q|=)f$%qz1BX#^V&&osG1u~g1(ye#x8=*5Ed2Ry< zNnOJusa-i#aEc&R^}rOr3TnO$u|g)f=AJdR&2K_7nHXW%QQjpaGIVg1d$}5WLaH-3 z|17{IkfqlSqoXW zw!Av%6Ab=;#upquTI7~txoGsG&#A$pA~xQh-e<`ZG^OhtVG0ddV|jmObMVhE6>Y(A zvO5Q>2mMA$nO+iXB)FSM@lJj-F2@Q-12RDJ(K~n#WKR-2Xob#Ca_3CJ zKJQ@wQ&8CtR5-i?c*U=-Fz2_BRgcph&pC%Khn;p{077>R!0`30&nAS71H%6NiWmnQ z-JCV(yF2`fEhh(7!&a^tnrf0p3vyF&Wqja7a3LtX?x722AA>LKZ%RvfEDW;2$R6s-Q9M47yzIXIT;(%|LY*{MV&fG7WTeyY7Ce!>>7v= zrUHWGp7@a*`Rb2nZ6T@*x0xuh2K-! znUMH6nFo03`1mOkx*`_j`><$Wo&o-lk7bUyWYTUxQul^8$I67OFn$*$A##)6e(Phi zYQ&yy1_+jAN>f*(twBzGH2Lxv8lt2j0r(o1kOb@D$|(Ssqt}#;O1FELiCFY8kgJMq zZPta3x9v8zo?H26HhoqoqHN*qPXzl8>9}+@DEvp2<4RDDAGcR|Z+1||I{t8Q5RhFF zy^w=yJpq2>4sLeptdctqdH8u6=!>TKV<+t3dKy?W;DS&h7m#qftk(TIX7H&T&^+|* zPN#Rc2L4C13a)U($MJpyTGwVqs-$RPTE@Rz3fAMIq>t%%HBzNIoAb|GLGRN<^Rmv( zf|o1Fc!w9U_^rN~`OPQv!A+s?K_e8LcmOuZpjFTK-%ZY;EG`*q zUNrrQUvjiqpD2m?3wRWlMX(*t?z?PAkv-8EPJ_2JAl7>kaCdF8-Y4qa;e+G47bX05F=zjF#=8r zXXVN-@)yYm;Osy>th%R_!P)2%Qh~tT!B(92y3mE_p+;)4hO}Vv5P?ft3I9ZBO;D(} z_lu!yaV%w)VTy3i>PGhFs$4;YPl~Vpv!)CGz6c$W@o{W-soUQHV>MEo)s^h_1rX6* zT}_`74~89WSj2t zk3k|q_=rX+E;~TsWdr2B81eJ6Qv_>{-9`VG1Clj?q0_n!Vcc=~sI2>j*ID}jzUC|f zlZ8$?hGf`27!jZ~aM?j;RD>{u!Q-xzW?ykjGnB_?9+Faz99 zt-r4F)=&OJfjw9=GO{oMWJreP6X55AyaU5wZjnEAgL@G>0Se_QC#^xQ>Ahh;$5^Yut#}a zgERjaS%c>3P`9Pi+q;(hYk@=EuG^UW5#GvRLXDC5UOxJ#lyP{v*B_pU&P4@t^Y$I> zupO3y_o*dFT~QS<*gPI2KbpOuu>pJGF-L$ye0>@J_o{l76Dz#_4@aTag3rh(ZOe=3 z)DWb-iLk9`?hjGg%(3~y-OD2kJz87N(NBoz3gX5wI7t-E{t{37&?oirnoRc|HQ%O9 zwla+9VzWmerIfg)^I34u zuAoMh17dl|;x=g3y%`3XXYy1;D-sSJ$lMi>PoR&LB(0aoF@Ag%swRFmxhhyu4_PU7 z)RmKSygs!P->VNrLO%(kDSXkSgn;(lPf#;U`qjDTzTzfaTLwsh)51<`XDRUpYyQ6X z=kINB?AfWtu*~e@ZC0A6&EVK=p`spD=d~+rAjhfrK30wQ0Q3ZUK+Kzr&hRrS4^}tx zrh1oKI_R86(C)nC$r!C?^{}|Mabq3Ji_{UJN0_Nnmyp3wcjf10wwLxkE_I*&>&kyP z4T_nwKP_|~>iBYdjfP_#1d%?TZRaSz0qy|6*hh7}x%Bez>vPF9GVV#~Wd$Q9sF6Vx zYxB1@6Xx0T2dnqDR+XX%UKPSpSZbK;CCN70&Ed#SDX^`k+9Ir%Jd64xv>}hj(zp&j|MZ(mdK$X zY*Yb}>^u-xG6NWP&eErwu}|*U!0R2Nz*czS1-B7F6`)r=j;jeUvHW+SOh*B3)HI8| zKSSS{|A9%Ln*+GM^po7(-IWipwzj+2?s+#!DxS-uzPthtOxY6>lz5{x#Rp)gVmN?l*0 zws>gr#O{sFWxCE905+G^(_b2plnSC>0>v)$Xrd=-yj?u@=wsgHoX+T^gwxW7Q7F+4$T=M9an96S=6H3@qfbtG@Be0O_j z?r>ss>1|0wTCf~!MegtOUo_-3-<>M~w6S7%itZWpcsK)~#1U)3z=vVOz9Xe1Wvy{03Z?k)bH<#e2gCFyf-2t+G*w@Qo`=&Wn6%C`x$}g^Fz7_pNjStnrZ!pM z5%Bzt>~7_gi8yy8*#(I%_y*XQjt*Mn0sYU%$--Li>FVV6C|CWHjkaocalK)BmAa8*WUQim|e>k{|*jZ|Kb zxo5g`s#}Qax#k_ms%IIcQ($B`odD9yhlmKg7y#5aZ);rHACY$O@>8gUH}kXkfU~|K zgshr)0eC4XvJqT+0ro4uSMv)IZ2KL6>9r(N;9;P~H?ZA@QepN)p4;YwO_o?5&ypRD zsI$|EvC&}dYk6p5CwAjmAHu#nkm~mRzs^G$CCaFbL@7H7WuD54lyK~okuocL zrPCCdg+z5Kii2#jHSCPYUPU$`B>Q*0&p^-9=llEbB+mPO-}g0N*Xz3O-|Q?*JB6)N zpUYnJu_o*wt`>mPA4j)^68$yK4i(WR&e@AZ2-plDRMi{%q_3*cU=d^{fb#(8?gu8O zPlRYO*N&RAP7%vRB_ep}+e*9rHw;p9U|U~3T2Q#?OWYhq@4=cWei)Is0vZYh|*TD-S%5BHohyz)`6J>akv-)$)G>;2X){VorYY{#p|cg zwwC4k7B@rUuVyHGz4%iirA>{e?eK+OWYO4bw1&g8)1L@{YAz=|tGpfE*n5>-1lLB` zS?n;JHgq0py*VmAXPDxH>(O;KBS2Z}UtJI|n(YW)=AEJ~SsACyoOCpKnt~8Y>?e>- zwM;HmSnt||tTXWhXIHPzl3|M9WDXDVgP8p|l%D>GT^7j1#n@tPV_8^sRCziB@pkC(tQr5dqNM zZ%(Mri&JSWovyo+x|;yDPa6Qx**#+8f;_zdZOhn5)@}F!a4bNls&0Z~VGZM9#FQ1T zOjb?bfuIjLf4 z6woKc*$k_iroJlZ@!!~0;%-^yiTGGGYG{vh9q9W~)mg)Th^Ttk;bCqjCNt^91Lc5W7B;yK}Suj&jhP`>`!Y zb~Cv{9b5ZS8!^61{yBxKpQHn&DNdur-zj@hPc9gG@v6@_7Drgku@KHY?kt>$tf~xY z9p}8)2NRJ0uX8=}UYqFI66E_3)M1?=Ah2KdK{$U%Gk6qZJf;+!I3T>GfxB)amM^Rf zrcR~=-yvke{0zQDAtx;OpSzwzzTx-2%l8PiG5U-8oZ^9a*`|!#ku`f8ca{?$h}nu5 zzR6{*pZUz>2yx!~+M@>nKB)+tQi}n|Oq$KbXE?Fv(QiNI0mQ(;ciu>B(6{wv;fUh- z4r3c&$(QGiuN{5+tJ%|&hwuitQ;^C${^BBt{BJo=l+rAn^4hl}qy?hE$It|oc&-5a zq{Tk+Rg#rBMIF&-qSn+!7hht!VZx`w<%>fQcYKIgw)`9U>u4bWeYie)a46p@yJb-O z0HHR*DkhSU#tj~c(BHpy$r1CjD!8-V;7u~24FkA^aniW8ec-GUT*LlBBPH|0?v~L_ z(f<*K6BnW`ME}kooSrBpQZQ8SO67*frQjgaym9>u(X&cS6w*zIOHPFTa69upeNe#@imm z1dJMt&uOhJ9hV>{;g_ zGmL*9^kl64Kcbiplx8P~!0$xfuweL&&;?WCV1HlSAT=sAB7xqUrUx$xe};xjwe@mB zkYhjtWiU?uk8{07c6F8?5_D8HdrmK(%pw9be`M6eO{v=93o)fYlExFXSXy7w&8O5c zQ1}b4REZ+=BV`=_nlV3-F21E?C-N}3GHqiT1#>GSoMws&7&?F`Dw!_Z5d@I1$$hBi zsbXC%c2>KtgK|gZxVi?EE{{T3^|wc}_|mt6$X>uJ{<0ph6lY5m^np`{y@1rwBmE%{ zA@XP6?mIh=v1k7LoOc(2Ta*D+y2Myob6wcNL4R<`CffDVgl$2NbDobLQ)WEyEmaR6 z=>Dv`S?8wvI+-Ud(T>HpIu?qbe3TVUQxh%r99;frUx>}IhmoqCt!+>@p)nD@QoRV> zA#j2y)>S~%HONXq+RuVh&|3QmlunZ1Tzp-ehykL7pE*7-(@`+s-|?&RSLNWDM>9I#Bf$w5#dv+@Gd=nxOpz?Nm)B0145R-Hd0l#u5ULo8dOIpa5 zFgGmuM@S7taC*?dZceTHG^(3eg&*0(|U7{V13fka9!l>P!0?quxyS9CXl6Fmeq{dfx zT$~PPSG$h8iOD!-hL9n}gEGaY)g!cE>?X<=^N-f&O?ec4cyo**)A&#}N0GX7B2BpY z+7n4CB}nfZ@QUH5+s{|}C8)-7{gjJ$(9nBLtl2p;W>0mKI2K?s(2cXx)q#}+-;LV_ zSiZNef+M1k{uE{}9hp~T;#Je zC`siz{cqe29(w{F`c9WmEpJQbpLNV=RiPLZg@L*xYb`#+|jj(PGvV@?*?>W(i z#i;^sBzNBoA$QQz+Cxl^iS|&pp!lK;*HTDdFD%u#@Gq5K_;%2EEraHZs+#y)8ITRJs%?3XeIBL-8LedWy_R{fn@L*e)u0ro+U1>dRh8IPboYh0O(H1tvyT z?Kh?A@akssGpRe<#x4p0;Q6Nu9E>SGXZ-G~HV0Qi8iN?>00W>MBi}Vxk6`bi7iU>l z*iF9lxE{ZyN_rJ|{mJEmO3zuBz^*vtBynn>LU#IF%|U0-n<4v?e0%ZEDx^{8z7bO< zS#;}s1XPcP&9|cSh%q{1YJb8}jRF+b zIx!rk;qUgW5O@+Uzn4!ArP7gX!>W;h59$hF@xYn#%Q(qw3mWU+n@05p(#XU!oHwEs zEQ_ZUuRzMI={_pG3!yf{<2$z>tz3Ck*6mExjZb`>Xz_$cy@(_K4|7j97dBY+fD8Fh zS5J2X)(?db!Q8sK6Uzj?Sl~u7ei#e|2O6PWrHh0~ zX4p9E_3>GXG_tE!2?S2_AMb~qqtxOiR2#zu)%U{y(xE2;_%Kq647RpsJdfxKFTl*7 zD21w2coc-#h$;OOZiuCclg!dGezFFvlArU1^N@{L8qfj0T*d&QR-H#(8}SsU>!t`t zi;F@r(8)2=kN5ZN5`#U^hMT;yxZEN@#h?)mn&Yy}N(rif{B|7^yhv`EM(MiF9MXQ# zqc8~}GWqUuNKIhJzNy^3DbiRSXrgyn1~NJ@bZCf8AyiHVU&HwF zn|W;T(&-(2lF-o zosI|*x~bnP>nXyJu%^Lmv=%EdSw}NLJjg)MM8NP%>bp8hhi`!JmYaN5T!7IK`$K zXA%50fEobTTwpmfj0~_?%#I_4&_mQ6%v`DtpR18JJW&WwtEu{tPSzMMKo}d#H1zDI zRw=f+SrA2>Y)rM}UKg^GH_WsT#b9_ZAOZTeRLZvReMI#Eq+APV9SQy4iDTbj48pl( zj{M4n2`z8pG@vxN<0OF~3N=v8l!_?XwzfT=_O0`#wf<2@k-1Oog)8bFiT|v(9i-ia zI=}dvuF8`Z=cwZo6%ZVE$MLko2Wt-q!+|WSZXhl*Zl8Lej9Y9VF;Ogld4VH+X^)Xc z8Ri|n0SW7Eus=1xN|4an>PuDrgOqMQsjpv^sU>t-9(o%e*Ooiq^~QMz^CvZ}-Zt1rakF4myvQKXyXAcZO>khFUX_H@I4 zDjTBR1SVOo53O1cfql5)mJ?oQ{_C~}#GDwM`N&V^(F*TA0i2U*%lZ3|Rz zTaQnXe=iu1*5Xb`i<}{G9`PZu^CwQZb$!U+Zj!(JT5OeS2#=(~x^;U;Z>}I|IfQ;p z+aaX*i;sDvYMPNLLLC(Lgbh;$#b!|ThksFZpkP-gA_>Lj3N3EcZ<v$j)VWyBw4nVOAKi zTugpvl8Wr(IixCwvYyT%Gu-h)i+06C+5@8V$3wnOu-)GeVej(6%2K8*gR~A$KGm5i%9E>HRLW zN|C8Mk7!E1+nxV}x}0_TSgMi^umTu7w>0>w9b7hJ8oOJfQRmJ(==-mT!@v$|vI;-q zQSbBqMfUbfU|&bdBp*}49`|qe9sZ+2j36M^<_sMC36jh*0Ixo;bT}4IfNK7=#a`U> zjSP5O`v7_b-MeAYO*Ma<1#l~7re8wVlil)**{ejVekNZ|kFeR+sbAyLh*k~WfdE6I zsp23An0g)r_*#1so?z}0^bL8646&BXe+yBlN4Egi`=Rb>R%cokfVV8`g-kI4xY9BuuM2=V9A{JI|jCL{e>) zJ^;|xndEtECA1&-oh&w_?3E_oz~s#l>VnTvyxoOw_NW8og7@n9eo!7kP2<|kP4dPVP z+&l{FhEaK1%Ie;uwA)Ek1!P+fF#vQ5{KeJ`W+v~VmC1q8Lq1=KFZt)bU(^Q19uWm` zaW%#(HjVy#tB*{Dr4AxboSx#na^P2{7 z@W%YKfh8Fo!Ow5{+m!$Nh+%#SBjA@XuyOqC6O&1=D~n%l%AA6MO^{~wR`C32Xr9@A z_qh#8G>T17lN{~{Stg-lA>y6`yg;2RmL%9UObcErW-Z^cxF2k z$Hls9oeI}UAX%SbvS-T#lAzaLAr^(b97pw$@<|<>kS-5dC;8D=DK~mp_AsSkA1{PVA<)!Ni&bf{vS~%!nr?ZoH+#DeA<@1 zBhbT{Z`OL#MXmUvhcNxSk{8>%+#du~n!h(6sQ67Zpb#LV^Pj!>X`Fj6^(~>ACjbMz zNPHX^l5>BSPFr@Z*{feZaz$EwMB{Ruk@WZuus^{i^Mndor~9oTbLRAR8t66=o*i*?IYaGW)>TBup!Q5!#U^EmlK14-v=;UmALj;zgYHoXe34%RS z1=P7?@A{jWzU2|w#c*b5eu_6H1)&(~Aojk-(pzQvsTP}7qtMltM&n@E?roz&iGxWo z^yi-ezK|BTJC;FL>np~%)!w_(hFAQ8((P^Jh^|f?>lUOD8|u(rYA21XOC4^8Ps|PD zhW)7H#ZGn|e_d*mvby;c!z6E}#o^B?Y#T4FeV_m_(QA(NH}jPuF>%${;XBJ$_Wnn_VBXwz&fs9Md?)UQx5Vk|{h8d)7@!WsU9Lh0Uu~g%R z$hOD91V?1sznKbd-I;EPfC7`bIdLUCw%=0yod|>cU_UQLfvLcrW=hLS@|#3tj{}^X z2OC1M0z(Xw5ijr(EitmYI6|3{$Xf@yFJagM_ZcgaN}hl2eE~B<=Zv+sfH`>>?vWY( z=T9rBgVwT4oDpjBsUGqM*ky#l?Vwiei!d$CL=(yG7hXmTV)8HyJME4}4^2&(;qq`8oSB zaCwI5aI?}iz2X?C$bbdZ>pKuAZAilaTi^JDsxJQ5gJw0b--Brg4y04t0?)mySbU*H zbSI$&f?%`;3m|SoDplu~k0!yzqWs%}{tB`qMz)6LU8G+YdkoR#g7u~w>{Y`BxLgSw-tN#V^V5ZcZAx~|fR$9PUekEwPYB~uI^WPQ zGH^+C3*UZ56BL_L*-r}Wy#(pUAG~~zC%kqilJYF?ehjf0((|!xJImT!H7p~+fGy39 zoNYbi6Ws*iHRgYX!y8fQRPwiPL!~GCW5X$)B?bqvRwH9P0A1F}EGiuD-q|Z%hPoC((iIQTl7P2^Bp+oGqVM z^0Y$ZwR_y)JFbYU_M0hS$u=@cn0RA}b&j-6fL=mh{dQtCzXifCg=rq~ZRZ0KFaax0 za~}r1+4Sb_B;GU$=LrKIJl!uRCJyTw+8H#a&ezTSr}&Nh76<2oF5sA^R7yiU9!okIe;(wAhA=tA*ipXNev|x*U^{|Pi2sJ-CgdOG z2;U~mec?CPp#y(WF5r% zCyyV#gUlC33~o##j2NUJj3~Z1h1lO@F|pMqO00nYM9TGFDd`$`YPhOxW$r2 zJ~+`feRSSb5Wy-v-KO3hzWZW)6J;fIdpw3N|I5b>N#$IqQREBDYP&o4jhJqLJ%6MF zQIqj8WLyJoKMMFUK%b?k&`;x7!)a0;p*uMDf|el|L%=LuCEe6t@&u3{YlgV(T>i8Q zh@$D2>$IJM`KOF-=lmyh^LfZ9DB2ojDWR=g{Q)5z)$NDZ7fK3Gg{?64gLXkiwzK3Q z3yOlK!0RkoXuC89P^rLs^Sg5|*A9mqwj#2^L&35i_sv?nao-l!}!Z|6wp)(Rr3 zB4ExhPzih%OL}KT_o6wGlqjRA-IkhO84VYvDmHE+dvuT;9fF>L9Yf+ZXoG4EpJ+M4 zwHo-X8Ugr_Vu5WrK+1^P<}W_9qCO%Xa#lVU~4nql{SXJSh$A|Gj|ERBid=>)Mpjw{PcD+lf@o?V$f z+qpXjnSjJ80`6+5Y$e(U0K`0jg`(xLm2-UbQCHH(3;jQ&uPhfW7uEN&uRR$qIf#p1 zsPg$;q$-^AM2CIBXQjbMP^M-haj%hQ3T=OTZDzdn`-}PFNKq`iuVPe7S&G zd_&v+Sq4Uy-gc0lDIN-V5AS?5r&!;=lBKvl@%%yKc(4ZS7Yrh z9^O9ZqQ-5n^VwzPp`Lx*pkQ2vhB-B#nkpAB)0N{+mnjt(mIsaf9Plc z{pq@@6CD~a{nt1jjbo!YlQ;e8;55pPhF9j=T>TBEs><{EVf9L3Wqg)A8QV>_pMAIkBWuI58DO=v)5x`2LycGGVz;G8w3 ztkrLsP(vrTXt*V+vqr^B0>q>#sAKxbR%`?I zJ*vdZ_r$k^qlD&ANrbwYe%lD)wM6X=esAiilPEM#1NZgrmKrVts@os5)8eTIZVSXj*hQ&~<@j5G~MEj`{APF96 z7rzNzrG`A>EEe+ClA_B_fnYveCVXk|2@8ocZ*!wO^<}d6h*;>p`e|U)wJ||DJfiFj zX}8e+sM}9H4WugwE!Be>h*9rzK?r?}!s@n6sa`r-0Rqng2{+dg-s=hPp{s*mb&r`} zyg&RY~ z)95`P=*lu_+=U!tT?k5MWO(>h3~f_WlgoE!BSJGIVei`vyc6f_2HxnVr*79%`xv+E z{dl~~LZ)DlRZJ}8m~^<@QU}k1-P(?*D|2G93r6M6@Hy$;ucjz_^TgBPUGKVF%G8lk zk*-rT&1bfC^aO3VkRN3v3+t-1Y(zcbO__{Le`Sguoql8>{kui_%6dE(BT4IUm`oG%j;uOQThFJ22#zuIp%SGoXE?COm`g;G|-S1NS77X20 zUj2Mzo$Veux>{}3!7Uf&OI0aJ+b&e3MWQ^V!@h z?;Ay=ZQ6Q%C<`BRh>i%KZ6^+KLS82y?a?ndoo}$%NSyY~z884iN(XZhoJjIGP81&` zHh#eXpm|44O6tb)$Nc&TiHxu*7wLB%bGjTe(c=55*~@NN&{cuv&mO*2p@_SH)e1;d zx4fez!cX}uqk6|d9_jG@ldCE2;L(k>I_y?MDzMdq%2*C|cadg7Xj{EQxe-dvv7D`s zj#c^L-NJ$Pi`ejyO6se^WR==Q1#75QxKsA3CO3VHVvPSE2S#4)pcmHcghjk{Q*VTD zKmb#PWYO6$m(AZ&Rie)Ik_cawr%XFyt->{3XOI?u48o~lYOoEapn7-{O%vp-Fq7KP z4A!dVRyjwY*#{e5<#4=eoN|+4y(CFUaPuHV=V^kNtj$F+Kv|~YZT)jB0&!*NOllaJ zAtKyV^GS;<>ZpfT=A>X+XlLpet9R3SyNL{kO|Pb!^n!62*44lZ`Sv zfAG^hg2oRbTzlXtoikl$4qNQmU2P#FlEJI zVLBx>wU~&TtCEf#rdMXVRJ+qzx$E7Tg1$F9efpBzgHqRqp`vxD@3ZAv#T3=rb}yE{KCffz4N&s%IR3= z&y&I}FqGgeq{I2@`)zoo#hsg;%+aN;F@n$$P%&}l&5l})s4_H7kG}#Z&0?$RE3o8t zWa{vbQkJXj?&&nru%)O2jlsl4V$)cZYu^sdIjfHqr|t3I2#y73NVywjAyetRVIINl zR2a%PWvVzGV(FgJnvP0!Gk=tb-cu_z*Yft*)Zr^xTzXjZu~jVjpd3~!>3rY)3d#@W z=E6BDZi$Ppbb`pow_ZICGGH&I3;SP6e?2f(J@JY5t>^(mcHTp=c8mvM8ji5g0fSW= zi5sD$k?D5v4(bR2?P%l$?RYX}59Q^DzMvhk!P@cJU&_pG+Jjmc3o!5FpV4cSBdh2n zYN%DnTNnNR_2N_+CY+Q{N{u`&*d{7B%{zmM-N98g0U?EyU@x)B579NJpyI{TkBaKj z?Vu0F2wqGbxjnK`tQ$Z-^gZf_C*2aUiGq#g^~ZRXAy32&5UClkt6r4#qDCHBRm~c1 zqm18Dz2twb9u~=)6SfC?1+huGnfoTb z;;C0HAp!2^GEioI^k?6!jnA&9A7Th zW*Rl@a7Ab^Gt^(2o2@n{q4Z{|3*f36buLt&mUrSYz2SvN$F?cayklz6DDl&KP@@r& zxKm&is8*5ZTv*h`{nVuiQhVZTb#Gc%f~;@r<%?5264h|QL|bcr8tVZ=qsR?{_xWy@ zT>z%r+tZX1YqI4;QSUfbx=s1u6WJkZL_tqMl=%2UJ20vsXg0g4v%le+wq)oHi=_(! z5F(0mVYsXEuSer`No*-Nhgkk#{Nb1hU5{&3&ESWJTF8EQ)eRvZuz^emdE~{Vci>g_ zrg=41N@nSFI%b-EFb69;`jjr0EGXB}39#_94$jZmk@u-X1}8rm89^wOE%FeOR_4sN z@cdJ0tK7>g&IorM5K{~4deXgu*U=KR1g`{F_!wUet2FPF*0KMqFPK4m!E?MmuY5S4 zBj&1a;v=MZ(>Ocz!IyZ-*q`*uwU_Y0VP%FxaHDt_)C{%V9j)a-@!l499B6vzwynLn zAPYDHuId4a-ZeGk{MacRjc1H{Z$8(yxWCFQB3=0Y{|ug~oC?q$-&~4wPSO-QMV-*z zp%gSePv`QJUGsLPmmnsCo}=o3#p(?n3kVRle5?-cxWQ|}IY|z5#!=G`@?f=MZGQMQ zb~??z$+0s)=;zMW(QgqJAR-#LV8l#VrF#k9E<019^*Cm}m7MPKb$#OBE8L z^GTWE(i&mnYXXB*)%eHeKEvQEKEP!XuMRYoLxOc2%lHN#9$xwwXzvE+vtypnyV5!#;klk-kLguItVVF`*@G^b8IN%!D%*w&?ikuZ}vl^ z86)y6?g!|KEUM&Ae5IBAZO^uFYl|Uk#P*SA2EuFSDw;OMq|<0~z&pgJ{}_EtmqXr- zb)XEgKN+WRyH8law!evw%`;wGlw>)wUDH|IWVG9?C`jQg52 z+-!RWbG7rH7)ze%T|-7H&vMF?36@h3sV;-NA!m7W#RUjuctcY-Zj2Cp>jvnG-=>rr z)}j$CV8C!vAq~IMwUHECI3>clcN#)B+vt8BxF#@l`ps$>zb^dPfIYKAS-3k8a_s!( zJ+c#6Q^EdZc=Rm3>(JMZ zy_5+@KS89X`Ylnz{=IpuwA4KL1qP2|r?(`~=#{zWBC|w)Lb0Q-fe;a}b3)tkVY923 zfK?MF%0nBPdHNFBw%`r|450dLk)R0-992rIsL0#FjZM3TLu)Ov`>2SPeOzK)kPZ&24Hb~iX z8`#BI895K7>*z?@I9cru3ZB;@j^Rw05P{p}@Z6flbL6exr*7+JJDezm{j0}?yAG)z z8i4tm(8a%5gJ86tLQ6rI#A`+Q>*yia-mtFdK^Q;A#0ABMcAl#se<3$4N^+?~Gpn0F z6Q6{3hP!5+w6pwd3O~O_jOpC1(bZIAy)!`1(J-=d=N4xr0xrwkELbtn*^|k^IoJtJuYf|j6~i>_fg&dbgR@4Qdxtv z#H*X^5uWn;mj~@Zeo}`=;|F0SbH?Rrd(+B=xZIB2?R}%P5TxxcItgvJBzayZ{8(#d<-KWI75pZ?0&_8F9i3a{ z@Fua>$X^EW=icC_OEfac+IMfA19TSGixASfzA#bK$6duTdelp5b4LDx1B&Bp_4O$_ z;@!nt=4^X_I5Gs0?jF=uu!)_gzolvleLTuG9U3#NS}#_B0zi6DCx z{onf#Mh!A5aJ%fzwp~ql7jWc-YxbZKBCmdHf;6SV>$8sx!9TQ8(Wzmn_(yRk?>@a@ zVcsvmkLQZCwqREoHzU3pni^Vi!s;vr$+x4eJAaUfN_AWU5_ntwR(nxJ+6=7ycI7<+ z1advPjCwjTAt5SMNXNjS{fdq=GCxc!5?oEZY}3qx<#PYzQi#8~thp3t#x+y^;l4}P zr5gZYH`smc2{)w6o$x#rJ-DCfp_NiMmDXMKv#tWO_j!tn&$N+JsYC<7lhp!TDf2-jImO2C4(_{f}l&*0>h`OmMj ztP_6fCLD1gKMt?KDf9Z(K;7}oe-f@PB6MDC;P$xWOU!6<1zIu zbuiR1-6w0l^sb`PxUo#Tv*3aMTHS|t(0F8Pc^D3RCi0vEyCP? zihfPScIa}%+i&T6e4i~fFPIf=lybNl^dLyu^nsl?`7A-*N%70WXK0V(t`I%{ER2!z zDo;5mE)QV&weEjB$WZ!0F|eE}c8b$?H(;+qmo|TMWCPqorE&t-Vy(0Pb1UD7JOs?~ zyIZRxRX7HoTr~{i-9?&fr!Is*4o`J{W-@X}?bmcih|6dtn$cYE?%z$V<~ zi;a_v=aq^U91|8s$;(<@A3Xp94MH;MroN+-RS~7Wa7$|@;@0_2osRO>vw7XVMwaE| z$I(POP=GW!-G^Ya>}W2iCx#Ea?a*1T$1lxpUPE9n5310x<@{lUbBxrYp=Znbv7PyT zbxD+gLym%%_>@(QoZ(`;+lt6t#h}NJwWYGZr-n^FkQ%plE+XVp>jS@ys6JlsK)3NS zpQ0~2`|nMIIDKe-H8X&( z5aT8k#UVjTfPPZNScRSd&UV+;h)Q$!Eo0EWXNThD`BixCuEkCBp<2cE=^u^XQ7dkX z@jN4!`c&l>oD;iKDlV|Doh*3^`OusgDx^MvGT#dE=<)ZY!UCedkQ^Ach0I<>+W)m) zplfq;b9pbBW@cuF9hEhQwSY7MWIt^F<(J#7tA{W=Q(w$9(j{ij28pr)N*1#2yas?BUMu`LCav zuxq|45WKcBd$-p}X-oCkLZbS^Ek=bT&Q%+P%_F)9}EYHUW$!<-U7Y`lFWuK>22c^Ri=dgo-^zI2eF$ieNm)%ljKOD08NJr|yoim29f0zl`~Pu=i9mv0|sr1H5R< z!{>5O;h?0S-O0maiD!T6-tp~oy3)MuU~~JOtqh_p9V{%Jzw_J{BU#d620E{EPV z?+UdH+iV7y2I26sks2baX9eb|T&|@{$3qBaqg|$tUs=B7a7p7-;(4bP{d0Rva+W0~ z6N;qkQg~-)RC~L2gEog56#afB)iW2-)ZZjX*4?%3)e1rbz>D7oAg9q6Tmx+(Ul5bR z+8h!r7X^R{sEWO?jEl!%vCQhWi2gzkPf#Y0=C1aJMF=U6`cc!ovbK;oD+#Gx*jOdxGB%@_vmGCj}Pd>FUL`UpHq3H zU=HE0Duo|4lk+L1j+h3@G^Pr_MDd6lq*BSW-WB9BVu($1Q0W>6Wu{JtB*#mKpDlxs zp^fX%SX1`^osVUw&E%Mgknc+#BMy+vvy*Liw&r*Tun2i|-#e!{H6LEl+`&9zAbZ4B z9VDXHz$)k-@3_p~?CQU$o+b5>Tjd(ciJ9Wy3g4!dt5_x(eOPyesvvcYN;bi~GYUh_ znvd{63_rq(gM2mgw8xMXhK_Vc2$JL@fyBwp*&dYuWSwwJ#BfN#0o^TbjI2CA zE9l8(ua|LDF?wa}cjZjcy#W*b_TjKn4rf!goZ8}!Ws{{o>|2}3lQ}c}w1{*1RjcIl z_P6HbvN>HqP=U8D+tG{7{de`&N(yAx6i1I`nC4+@ zam#!E+JM>%vZm%Ef}WPHv*izk7T(7@*n7p1OFnDa6qbgOo-3jFlo* zDeXHd?hPfAs}wcf1HLYxt(Y**!d7fc0gAi|A$iz z@V2?yrayMv=0EFf7u1oIN1+j%(tW=~fwDqz3p*PD^*2iILq;sa86BZiyzrFaR+);U z{j}c(>?_og=~j*%i!C^JZ91rnm)Bh)(aBI-lp&s1*pSu!@k_d58N11nE}PGUY>s*Td+<9Ff{O-Q zR^Dg#+KBqF3KuS_JXq2uFOOtt;5+$D(7uU32U@7e=vwSPz;<}6?-YVuR3g|80qsKY z5L~b#Za*Q?8UVmSRXEUw_%%>LI0ATkfb{wl64ZjO-6ngd#NyYEf^g}q!`H43bbij$ zsr^0uC?s_v)Ug+dUt~PLd=ETDOB*2+>ipd{8HE~iV6*1 z0Sx=G@rS*Y_R*50&^*Hg(yb+z8kjaTLTPN`12r+pP4o`~&a5>?~dfr|v6I0U>QBz23|<|D7;4 zlqiiSL13PCJ#Tgtfgflgl-=0sIG|_Ood-YTyweh6c+k6ukyY~aaUybvDRI4X98Ar1 zbS7=gS2vpA0ULk}5SS7BhWTh;`9HmC3tK*Q{wj$uxi@vzQ`K-J4g%!f1c+QyCTkqZUlIBXYy@!zZxFR<%gF z9nb`hD%ph1eIfkgoGi*NUNKxT3<3JXY8Quj2`_jt0X^?6yL9bYGWF^r2Rjq2PRlO+ z=E+uTETwC8%;sq~_O|o(8gHiUjXTxQ>zOU+m+|Jm2`c?XH4x8rm1hb`ec)6CGCRwF z=prSe&E)!@IbfV1w!b$UI20deFM2nN8i)mh&437BC9Qg z;y#}e2;SBHdSxoDD0Jr_LlWKGkIj36Tur85{tj~J-dXk3Bdf9ZFUcHd-D6md&Ec$7 z0KzE-KvMSjA&3gJLW`Nhj_fptXt21SCMG3l*gPs>aIq9Mw7|Rcd-1$f*}%5WoXIz8 z;Ywg9hm@>=VwO{Jjg<0W>sf%BA^s~g!3-j@Sh<}tpccav^~q`n*z(UlxFV;&V(2w? zr@J&!u4@mg_>tByqgKlW*(*OoHh-L0+En)3bF1%I)(`d|=_OkMFH?5`!+GTxKg*G( z?8`l`BGUe1J!vRFDKqcA9MNYV0~(u>$58gS7VT{rWPb}%Pm9`$DMxUp_r_637*jyv zDt&8iYSK==5dz!rwHsyL?-tT5adLnPye`iRBJ056&|zpE7Jde-gHN+p-H!_sVIQmp z+(N@27Fh?ATH5$0vMu?0PC6Xp@~~JI`1xMdrk6ExTh{OIvsNWbRnI!UhkB0Znj2o8 zpS&`pbjB~6{qVkD>?xY!a9dF`b86Ku@7|Px%^&l+Gko&|OosYKip{hTB0YE_<{2qp!5^w0(z8uY19cfp@WFYaAvp zF^Dhg0U}h=_r1GWLBaf(5wwVdAFX{P5?FF^PFO8(0oI@K)7af6+0-%P$BHw`4)3{tPQpWe z@#}-vmi&P;qo29QFS@j!&$BHaecZjWA5qsX^D!d*=n2&Rn<8_Oej>6>8$+G2u#<2k zbeADM5Iu>i65W_K{hZ>a^=4+DPzdoj)t`euVUkR}qi`J!CB!{8MNdTAdFo)b))sc@ z&PNE}HAn|w!Vh)VvtYedO_$}uOB|Nxlih~GoTEC-7VJFA0tUPf)c|26gOM$df5*{< ziYK!l$CrO4k1oHHnyoT6zguXav~sPzRCwIo^npzqQD1Xaz*Z#0bP^`(6TBcS@PtK) z!7;*JrN~c!6NeAZ?ED0LIIUM;?ksB(&H?BB48(M8)B_pS+sn1{tGql`fB;8h46_M2 zLx__G(Am&P<4l_u1x*lJQA=5^e5?@Yk8f1_vAhVfROZ^j?ktzTztFY)g>HtE`{LxY zpwgMCaep0SBNil7`t|#tO=G*8YYHTc%h{3%HW1ii5HQd=&#tn)IMsE*5T+0(z!7%6 z4XR*z3mw3GL-$c1p(yvz>Z&7-5@31z`|0bpYoVf4PS?@%T?nl)hTdFc4B@>^zsMz( zuAGV>51g&Va)94)Mrq0&k?cD9*5?81D;4t(ay|;D3;UZVlMm>KwMJ+QMajr%D5QV! z`10lBLeQ}zd80n7o?`98ZdwFOx)0^M(kOAgr$=*zcmg?!DqKjG1v%XBJ06L9dK7jd zcmWO%aWmdJcWd|tY&cXPe`Gklv7>-!7~sUDTjYZJ$U(1WV)bE+9=Q3N9|KSPpaGU) zVT|DbyF2>LN^+v7AYcFn`Qrx79~*=dE9@LDeLE02Y_WB$_%wMs5-BJnt`)6{5ULot zY^Y1gwfYU%>g~$4k*o<__Dz=25Eo$m-~bYQFCC#mQHU!6eqR0A(O!urX1qkik;7h7 z3^C=~_l=aFx=a}P$f+;kNd#D7<>9&TonRD%Vb zdFlMEnqK*M+BH#T7N&iyB0$9RvlvovAyvqsQu8gfM#5z?V2o$K#_hd%^+_(D=DE>d z3(JuP!Woy_K5y=$I~7*7j(53wlyelf%Gc8;>WrcK@H(4#Q6b_TEa4fr3GCSJg8@GeE=Hk~KuNBm)OJ9oH z`u>J+;ORKy!hZv0s_zs~pa;6@Cp(+MLsy)PPP54r&RrN;-8Bk*Mu5o`m|4Lnb3rt~ z_t^I2e)Lyoz;HCZN1eB+#tH`)nv{Lg)7DZr+*q#SBRfO5ajQ}l!hrmKRR=)V-LMN0 za*=t1ce}63+vmjIW}mlZ*9nl5DZJJ%^};n-@akPdxs|TpRUgiN{~NqPe{dh*sIP%M zMHRvnnzlMQ5VsSnbz7i2-BP6aGJ>vG>VY+kwmRF5xEWAH1fAO|%WNQXHaHPqC_}ul zK=Kr<>w&2e=x5sY-xW_>2j&-QKFs<91@j-57IB^c8KHio>3c^f>%1MyUf*5_mtlC2 zJm>tt?k}-06(c{VymsQl-qn4jp@vM95SsDn;jD~|Iv*Y>Zfk2(;dq@2#)0zy;LU;W zPejsyGrwTIKkc#axupe0wvzJaH@U5?&6YzgDTACz&S%~6+GE3NlLBvoJw55t&PzL) zb@I-~cQ+Txezn^&-5t#_@ape;*%P`gFmT!`$j)Qd`i67u$)K{K?!`;e*%#~{j1iZP z)}ci>hred={j)|XP9bNb?E=lnd`xg{)HH@g6R!};)fPN^i`jU6;U~HKo`nwQ%2okV z>?Ukq0!P(?Ve94SWJD465x~*QpgNbd18#4?z5u=TOza&XeAf3&&ut5y;bgDR%fm&^Z94XnNR>9DwB;g z)eHJ`SNn+lNK!0{+pU1Tvq3M2dA1F@^RP5b zz|lQ|3fp&iQs!(4@IV|Am9;+>*8n&1k=Rfovz%RyZv#7FwkHMt1PB%1t5!~!z4o#= zJ;5YUQ+V!FN6}(MzExq?wUZt5WhGbMKipIL#o&jZbL32^-MEqK{XNYE2QGLoC%QGr z{v+C06?o4mOW05^XHraHH3D8W@vuRcBA!NOSGE9qNCZl@!<2^!*C8N=1>jMz{ht<2 z>rJ4LQDf*x8n_hW)sENg09Bp^v-&INSi&?Vpr*Fy!&A>!Ud|8r%w4TJv(y7jZ0Inb zZ@?4S65!}>L(wQgz@NJ&ilge;wKuFD1L3ftgT{avGU5@7JJPFyUmnI(@T|0N2l`G0UWwkKV%EwbQ@cZp(^aC?MAqIZUw7sy3 zscSXz-&1LqPPB}YCjpPFQFm5D>?+Ync5>sk>&?E+TcwqR0(?ozd}*kUXmPf`sKX+B zAe;sT%nNxKc_h#a1+_%$XL8dsEQbxGWHH>TavGTHKuxk8J4B@Sq8kzHRSHlCeCY=? z7>K&iV*U|h|47>9$4j5pxwrYwv3MVTl|Orn`Ga}9mFJJNlU~1K%*~4wF%`MVWj{zrz^V*EsCot= z|JAm4G7|XNUFK`V`#59liP{H^{N~>wP{bq2drjgM2o&W(e0bQj@$wMClp7zi-h zHILYa`rL_5SqmA+ky-tA5+cP`lv4ir*+)wy>Aefjj*9(i$uW7*9!qnnvJ%`mXoymn86zVRa zJV(C>Ukj!Vh@H@-2@$hr6_@{HIMIA`eoE(~LE+-fqk|1AJLKNlol86`b=a;-(4%zP z@l0Unyj}b6BUP&cy7u8G4OK{A-x{wQcO4Q|%Il*5Bfdc532Vu%cZhLd4IvKXQ-Efk z`D)#cS4eUYc6gzbFoYlp$z*uU5iqQcC#AEgpttJvGx{l^dHHCk?;E3{7w>N7xaVr< zX6ZG&Ir}3ZNwq(G?5o>;*NYVe`r9uW{rK$+cxu~NRz;G*x6>vqQI=wh7*1^cpAGR zv(PDW@%1$|`^itk5j{m#%i^Ub?l#iu@)IM?vqAy>wO&eF+FgSN8$7E%?UA!K%Vy8= zhxe4}a{gEcWzd2iyws1t%n@Uot9$qfqJ|Sh3V5Hdu1>Sqfc?n`wfOKG7lw3KsiW7? z+gpCy>h55byL=s?8uOjS?L{|Dn`8MMq7{K<#zbpz^6;!QrUZ583};bsN#wIVKsxT) z$y4QXG1~QK>XoUObaCx{{Ff6uiBElq@aX~yzT-7GZWJQ!F@~b>S_6B|a(*baoA-c@ zkMB!aSNFxQzvN1DXIQT;&@ z6MF(RCCYTC3?jR(4;Rk7ZL50cetXpWYA{)V?#2!Fcc?j6k>@I^8yYA5}4hwJlXctLi zmc4xC%6;h-DUrV1_Fkx|W#wc;W9;RGff&;^&DsUgYYFI8VhdSnz+f}bbJ@HoAuR(D9MWh85G#m_(^MwH7Rm&L&v4vpAk!Zbb<0vEIcn6sw zoX>Nw*K;2iB)9cBy+tQKmFdwOXXEfMykhV5{kKF3vyAwXO{Gs#oP+D3qz_V~HwcnK zwlf5eZg~JgVi(OWpAfKS;xqp z4cR+nE7^o(k0X2Ud5rVB?xWuI{(j!Sf6n9JxX*oE*K0gq&)2vSw$vbg7)q1H2VZjo zp@M3g{Tg2eks{^SfosWCcS0&s#Z=sPEO`b;muV`KU*wiQez0VxAz(H~*jAuqhoxT1 z2lo4mckmmS_>MFUR+A=7Ar~#S8cPjt$*FncZIj?KTV3Wz{J%E@rtLyi7)G!pv7hr0 zy4B}ja)A~Ni6Y1)-ReLBr!w}H7F4?G;ou0O2#)^-S{gwgDpYX`O8)o&n1#w$0{aS~ zE)h^g;ty<|b9x2T3VVeFO|zwAQ(M5#s+frQ+jVs4n$I)8NCI-@&V_FcAg%#51ca0uO*X%YooVaJq{VJQ;r1s0eAt~vbL}GRzqjOHcs`Et zv@%%iwHs2|9ymsAf3yM;w=&>f?9W0WW4bkB1igjaP(xcA=ty=N9#%W<8|G69h&s}`jrPOwYuW7zRJRd)Nms@B}R9yZ+qKqE@)rjGW(rj zSAT2?(z9;0m!9~G6cXDb?9;;=$YHNz`AQK+Y`WjsUdfJQ$TyyQtDEm&Qk0|po7{x< z;RYz2I}(O6I@^q3KW)7 z+G^Mq$=p{8EfO4dE5@6uNRfKpXjf3ZQ|*BN#saw77q#zVXFhLQL!(Sn&f(54EELrN z%lKm8$|=z656if&K~x5MM;wx5LEY7yZ-S6KL-?8ScAb&b4fgs-=oXF15i)8FHO(ar zbQ)72YumsQ1;Jr4n4D8qFdV+hRM73DBJ*Or+Fb2xV~w-DaH^UlbT?# zpO$2|m^eeFU5r5=nV(8El%KYS+Q_U5qLwJ;uR=8+eAP1<)A88=<=uwO&FB-^P<2D0 z8q{H&;N0@0o__iG`I7m1up;)v$Q_TL1(lLc(3Rxy=H-zuN2^Mj4DD?`wDh~`w1<>> zZ?(i=kP1(SHh4GZ2Uw+#woS0B*Qi-zR zXeCKZ;3#ure5e$2*+_3karxjbQu31YlLN71181p{(kW#6Xl4NDH$sEbjSm*PZ>j9nu~sm{Ct>~cTYv@pWgf~! z!9a9nv_HSu=r1l5YgHiwIY|wY-#4EUfQONLYAtmmUptO_*-Oy%ZIDq`^k*R_;6g>CIGFM|*OGEk^{W^<*Dq$u5BK0NqcxL}O@ zQ@CK628_7G&jcWw2vrKK)MjCp?MR`n?7D4QGR%%IX?-IsNA|^!v>+h6L za#nS}_5DYI$PgY8hynSD(tbUB#*qKAOWHM1Y*fAM})yt)rxB4{$7bT;d zhTV4f$Md8 zq3#rHEyH3*BREigbTSa|k?(L(>;(Cib0A90-n#V<%n8xT`BFz&BJetk~~6EAw7-jW#X-w%2v9bG;~eG zSr-9ZhM0zOUU7D%kmNq4Xu|Z$i-p_*t4kM$>SSzN&U|`-_r0U>FZLJ8`4Fn5Ls`_6 z)41PPSm$*K?J|v&SUIzj6U+H-@Qw|B8C3A zh-^^c@v^>6@7+}~5g~)lqgjh2A5Svhx!DoNSa1`W6inL6yEFRM*>-PL3cOA8t*+Yt zI>i)6h4R37iw-1d^U+9La+=q#I8GjP>VhDwffg8FPK)Difv^JX zQwY>-oKq)i3uEIBJ#^J07s&KZe&$IJo~;9V^{4q?{9W@6sJYF31tQkc-WQGcBCvhd zhOGJ9J$?5Bm3s=HWF16h${dX(Pc+XMwT)C-On01M@>)2%_O85p;?v2UkR+)%uil=P zwgT>CZvm&-BFF87L;U6NGcik|#%a4y>1AK9U6Wz!vE&0z)=Ngwo3y8rSGSxK^f32( z6dhL&9t%#UvhhSRvDN*rp(eZ`9uwQN-d>i+OyWm1<5gAnucRGiEZkH}LPqdcrcjUVA9j$%+?($@5elf43&%;W-(iLMm{y}CWPU3@!2?l4s{-|PwTBdTM zaVtYMXxJIn^!%*eh%Xb6t;z`7eFYrGCqN-5Uchcdi%+1)U&`81WG>FDjtvy+3h3> zEew5K+Bqy*dkA@F@Fh^^!?DBqEv%s+Ala~i3`Q=c3#w~k{3I(XzUpCzvU!0hi8yoa zVO?;%!*~RT$CVG>v+-SdYBl|jW!`n-udw2sOY#9Xt&E)Djf>_v=UYWItZi^40oU&=#LjelPI-P zZEiy;rJ*(YrsF0>@=?W6s+P z)kNi?@(aH7+dnc28F0q1y4iIJ`7Ko_Y`>Pvt2Z%KAesJeofw0(FHQZByjAtqAf0yz_8f zO7G?uWwfPIR`~T2q^|C^-Cg_iv4nvmWc)SdBBeGx^A_V7)JflRRtiVHJ(+lsERT*G zw4+9yU#U8%izTwyTKmq;U*FCDqfvrH`hxR8zG&qoFA)s7twyUdZs-9-Fvb(5UoXjc z#S6soxvZQ|wt|?0Hq;*oxXSt+GcG#Nn({hW7A+Q^b4&XM66%tN;LUpxwmG=~qLg>8X;Q?Gb?w32t7tRjIz1z1qHa-ZjB}W&1zfCrouhkUG6p z;S!r@U(tFL6Gp*S%D1n2b@|mVlye&ji0%zqL-*4n4}{D5gQ5a(ggolj1gUFcKrd#! z04@D%z71$#vO*}`Z-q8khr)HGou@w6Kl(XUKC8tnhcK&GP39H z(Dn6N5QR&v?k*%Vy8Q@^lEEuawYT|QR{Rf~0f#^Z4cef~3M-z<48eNZY1js%E?M8< z&kw`X)%shn@@kwFZL3Uv+V^=}(ih7%Ih3kvXb{*Bw$!y*cSIfSf7K_sDpFxHg6-f0r=)n=_S^Z#NH#N|@deF;H_nYuH`Q)H@) zl|?5ZiER(=MVP>MlbQ>bw1-3nwhvM5FKhT}WJ+yTRiBR+t0wV?+30PM}31~5SJLe&7gzh7;?1U1As zL!&p+s@*|c!v~dY)K6c8(14dJwu=gC0@O)9%fdY{_XDcB1Dp+r=nA3@dVcOWUW3#a z_4rX~D6+=AT2y zzHtbsJphlX16>BwRZc|555NPHZ{y7Y#6(mHTaV6GY^z7c-a zX|`z*y;yU=CB4zj|Fs^oBlBd@cjYB~)LGxD0t1{ab21><_Z&dqYs%|i%r!%HP7d#s z*F0nD)#dc??SHrxM%I7#5 zgc((cknJ1p*RY*jWa$J5o03J!WU;xJ-O)z1V7cu4WzxIrA@ zE8Y$pr9S1zCfa*M;hqySC@bA|uMzK^H+Ocnk)j#e+gtiI=e@lTm{dZr!O4AS_JVc` zc<{#SaPT;()GKu8>k#nj!LA8pbU*@i(_UJTA4!#Y3yi;ouu<| zEtKDVG&4GsKab5`YWmd1lMYLGY3?NL%CgJ$T4a5|&>VnTJl4ZO_)eYvM1fX^POaq` zY<98y9!Q1eQaS&gE(7)@k|V#s?a4wUJD3Ni`6_$;!^lgZ(z1xSwm?}O&+&bM$Bj5; zSw>PTg8=(>)c0ZR?j2ZvKC`wsKLffY(6&9I?rkKV=$lC8Q0vi?-c5-ST>gg>uTs~N zlp_oLoPN-SywvkPa+Tcq-ry~#yS{sJz_4ydjEnBZqpN(Lo_jsfrr(RHzaqUb-3{>& zj!I#G<;c*LOx#xm)l0HzP%@UBdEv@^YLM`HhX-io-mYi|P{XQd0M$DYhNYT-hPqv| zd1$=cAoF9;tXzNo9m&J3APVLfz}0E*3}N$MQ*8MtpG1hHOvvG@>~`{ub2uvAqQfRa zNY!ejmn$)E+R~7=mW8O}0%}fe00(q0HA3+Fm-qmy30jNL3d_NbQx)N!!1RHtn3K*Z z84%4S)9tEF8_^}#EI)&S45y*_;w;mjHAfWAys^|POi$bZ@5EYhxLQRL2p<;gH zE)OfrGX+CBggCj=VY|>%q_a5Wo%{&^o5>Kp)sCBM74^>bcljk5K&ciRqsw^mlRX<$ zFl6hNji&1q?bQMO1tvwhO+PwVxL3hHc>^-f&>UrslNF#7ivfbjjc(<%h^OZ)LBq|J zT#(7|a8Pf9vpC#S-N=TjD*)^DvtUD2y2QjWBJYc7d}u!eZwe{(e z`9Uz_z>%o(Fu1XCXmq!Cc&rh=HK1FJjvaQZyG|6aHG035rlccmKm`n)SY^bo7v8Y5 zyn1op@uv)i#^N*+^^kR$qmw5T(y?x}ny#5DJ#EZ!S#Gx8Dx~01qHJ02SahE%*0JA* z8kfM3yzfQu%p2Iu#A}Gcqnp@E9lq-cnIQSGardNg@FtS@JsdyaOvHz=&n@R8iYQNK zCbX{t*QBlu^`!|LiUX5_Xs7D;Y+Ran-pG)&huam$-iIDy~h$B zBc9&upM1@4K>^nnC4y@Dl;fqUdKe)zOM5d*957SrIk1IZ(Zl>tel4cFt{w}~I$xi2 zGqo&M=)vx)aVTr>qg$Z$Z&)FXsUuayq~b5KkSg3R3J zF;dhBktdxVN{$uN3PzZx!iqL6qFN)14v6tRUT zYm(O+>C%PWlPG!)hNIkJw|g#&v5gbqnEhnk(xc)}<0UJNuc8yao7F(ANe(3dI3@Bf zqQTqOzzQkcE++vqDIroZEx()-5pZmU9`}Hv1vFH&AV^KKx55>+=l7(AO=oJz=64as zA2s^D#uUJN`Zj5#Uw;YGe7B)ApD}`Af00a7b@!pi`U_-(h`#N}@M0S%7aE3*wm$f>R4!i_-)` zfU=M50FlSWA%;O=(a|#Nkm=LJ^4fEIJ|wT;wF1BGr6F%J{>p>WnQeyM+%pJ^l<}bU!4Go=AwAleo+*N?1ScAjG5 z*nFR};ckJ;Y(>O4^6tWYP*0cIZ|(^);lGdV*Bj2eh|TY-pOiYL0WoB|!VyKw2@tY=8j z8i$u)=~3If#YDhRbuuuRmtL0a@VSc&^yU|8<>id~;KlJ!y2v^8KwBOYo5TqQ0QdFrG+t(dPBgRtA|MQN6hX2(+Q;t0GugV4n?9kU(rJk=Zm36aI zMbe#&olsEF^sv+hTmX306|c$fG#@9H2i&)pdnCT+-N86_B&eWQd!9s0+_l^9n2jY2 z-&!esL|=q@xhSx~xGU!|=a(lUc68Jj^)+{Bg&u$9iMo@!_)H37ztItM;BZ0i{`VSrgz9p*ZV&PzypZz?9YG5dKKfMX-+M zyDQ7gOzzH~w+qCyXi`gT%|0KGIot_2JhezKu{q)v;hkXXHKMSP94N8ueK|MQ-OgiS zrUtp;jc(Q5`VvRu`L%Pn3~JwyUajf-TGgt3MP>w|@dz~2fnD=e%{KYtVK_|?*Dn+X zQ?|TlQgk7543^a*-~ll_MAKs@$s;qxF)~MHC?DMG{dLu^h{s?T)l19exd@`l)zS73 zbChbMSo*1=y=`vZy@zAd)BE=2C!AB%k996zda%<$ESShHob zbK%X2u^n^V?Nu|jGnIBxgrh5xPqq7Sw)aA2?ZbFlJmeI)TNXX>Ll|C{bUk_M)$w^- zy6Up~o}`$AffVv?)|{#RkFrLi%Y)VCE~voC_F}u+U2`n&)cik-Oxs4izMym4@>aTM z%^)$ih!>|2wG6w~y!RDcGTB;c-1O_y#Llk-SjYf^Y=SL#3F+f{$b&i-Y5Oc1PM9>e zvF6oH<{KY4(zC+mYM;BcXbP52qZbp-Uxg7ccYcR~q!yawu_tt`Qrzou&!&D7>ZCif zo!PM*n~IEF?{F5JgmV{8cI0_+s#R6o8{I>@@43w|4%~fg;N@lucU@k7GS8s=Ja}U+ zz^rC(=iHvd1}S4=aw3`R2^`!5kQRvb9##M(Joq*r?2AtxAxN(jOEkEgB~V5POH_x) zM|knw`5AV~CzrNYys+4#+&q=MDJ~IyzNcmIMsdl`4E-oCeC3`U+}WTLrvN8$|2F2E zXRxiINw&rQa-sF1`}WAwb^EEDyipOZtJ*~bDZ8^LZ!nMH5`^Ln^ICi%*!4Tn)95iFEue_&VVH8Er)kr`F*JxQHV@_4 zfII=?WlQn)`&KpK*4?_`vph*XDl+oz6xgs6h+6WiMjrPL{pSeI_wsi=TraokXV(%~ zJUlb>-bVTL*9_7T)#%7pPmCUWyc1LC-BjTfzsyp@r%wE?0*=pK_`aCcdMA}{T*kBa zw8$p11G_^w07>x3+Ft3t0rn5OiQr_O!NhNT$O>j_aJCl{uj1u)&zZ#!eh5A+z1g`BZODVa=*fRbKX611H8|wh6w>y_Fj3Eot~D8qFZ)HUGj> zrV)=pwSsML=G<8-6NjCpe*Kc=A@%`$=RxQ0#(DLD11;jIET-Pp#(0^C85#FGjQZQ} zJuGr?Ex|ggWK_MeBKy1k@M!u=4P@FEIcir3A3XiJ( zp3YYy%j;eF(BHaQf>Sh@*80TUWAKQ=J6yUYBZStvDBHqWXHg|H-SjH&-tQe#Wys#a zKE31X(c{3(5cYYom;MpF6EJNG7t?l)(hG%ztPN*bipGOYl?iY|Yj?PQq}CZrY5HCs zdG_qtTjP}ms<_=dJdVRx(+pr^p-y+QbHRL4XLY=b6^3> z7zWxp45N@7u7@hLbJgrTa4%_Vxf%`=LN zmW%GYE@1`IpAbmCZgK#$db-A`cv!Ew&x0u#yG?;lG~oh~0z0ztoiyZ$9gK z7!69xp)<%2{Ql$X+QCG4YYwaT1#yZG`W{(M^QdX=i;w&_=!!fuG6P1kGXrk=-K5>$ zQl8~2+pDz&rNP+lqxQy6YR&1 z-rGpbG~PydCgS~8wm)hI-c|C3##YJOCJ1$H7T!MeYYo3dtWsKp0|eI67RQixW@V+_ zvAk_EYek!~(M@8DGC`6B$>%wou@d&g`^t3_)kK+G%?#0(@!RvsiCiHg;gZ+0>_wVkV3m)Oo<5n@#BZWrt$bh7AmKY>!c|?0W+}anoPvm`|Z|e^9yAg z5cl8E#zwA?naZ8Ofs=LO48_Zz5n-?zEYw=R*C78}m1Jwl5$|rMU3}vhbb4u|zQ0Q0 zy1tl^0ZS2PMf@R(y}>J>Llnd8eDtWmEn3r^n)ul4Z~~6>MCF|F`G2g=2^?ag*~jwQ z+xKEG-%n`m0@mm5;WbIiMGb#dT(VWaT69A2(j$xSBMS~M>db6xZ* z-EluZx^sPwG1+pFnv&6+zUcmh0-wL0t^ud`EfFi(@B*n@RRRgQ4kh;|{P}j$$ibJc zQsZQX?zJYGF%s;S_~gLOgNo5=WDp}x4OwT8S5U1Vyv^@6vyYDq!EEwvdA364usexX zjFQ6fL$?e~6b|d61`XHOk+DniGGIH&$YA1#2(88F73tqBmXMF zxkBQLEIdE1F0b3~--2|3p3Z40LjPzlGl4HJe+Tju;36@QN8P9vdi0lUWOJs-nTcPF z%H|3wv+6l~(PS{t>3;&&&acj?ncoii}EdI!u)`pSz#8az1-yEMV zG{J9K-rB0^BApjk?_C;X2Fj7RU6eCx(|5XBV_d&D0^@ZQE?GF42MmVoP@4s0F!=E{ zAITh|bJ4-DgQo$?L^!w}AkvH_9lq%I5>%zBd-A9+U)i`(yMs%6?qc@^!FPipMB(PP z?ORpNg7?7%QV4Mgkis}DX;`ah87g~QuPl>Cn=LwFq~hBX2@;B?T@LD&SK-}`C0$r2 zP38hEdL>E7^zTLUghp1$pFxrV={svG#~g}BlH3$M`;w+CeP_?f@24k!xM*KB+s(AV zMbAc6hUoQxr)4f^?Fnl+fGzW(ZYcW>GN7UrYJrQh{z~GXnr- z5L@MuG^hUI!}~bxOF~jF&p<|%obceVN-Q&6H|fwihgH8B#V%88571|i5ACDuPzk2s^4?}@9OcidY248>S*h9h4sUjSHPipgnUa;- z(fg2sZy4hRUUf8lTAYAcT>&^P$6K@D7MaL8uN8K2Kb0a1zZ2YsZ_6on;{-y8s`F<- z=?67IDI^Ip*z-PO&Pn9>4m))bB6rTNPczv@A`B(^)t+R2RJL`U*BYqiM~&*ZztJ-L zbnx)Nym0!J`&17K#q;L#wPI%zhQI96pX1CU3`!R2vU#bj!}1O?sk|3L3#61rb&Gz? zeMcT1m~{0t(GPv7Y+pxpzzdyyas6)%@*)R*FY67_c{m=hz2Gt3X4;>KgK!WhC;>m@ zGwSjo*oTS0jGpt{p-@{lGtV_anNM@d!0apIeF!f5>JUFF>(a(cN{2ll+Dl~QXW8@A zs&0N;>T34#TW?V;n~1G1w4E_>PoB7bOFi^p{`-b`d$zmzx+5za3y-Fovo%Mlq1T%U zTOLSe{^#UC6YxOmOstVm2I{fiTduG!2x~@>xj4*CXgpqjdH9{dlzg(olqo-Ni0b>O zr{X%1)sd&y%x5O+_}w7rdaLhzD*8N_p&c0o@z?Yj^IV|Zj<}L%41b7)Lh4X^9Y9Jd zQE#Q^&&;|T%1Q6(TDqOa1ACmV!)&OtRB#-nDvt_GnOf zphQOBYirSNGKtz7Wo+uN8kSN=`v(afr&K7`+$0!5j2Y$c}Rw=UJK*-hVIQ! z%R4>adyNY7Q`>dwDE_^7^tNM(_s2Vj{)?`5KjzX-{--$F5zpcWjA*6C#Dy!qY#S2w zUAW-mb0M^P*>KOHRk1=|T|M;u$bk+aF=5fpoNuJQ(ByiJAqSK9PT5@(^zgf}-dmz7;d=ZLTZF9;*6z8uB{?*|2$6ZE?LD*Xx`xJ7Aa~ z@|Ok}N*hru(bo*1qzP$o@uO7ClGH81q8jVog{M!UwV`m=Ll%XN769_tD9sRH0{Adr z_S!XsfH=&Is`~cnGdSLqG*v8p@U(_X=<8US7aoQx%Y1a`PX8<)$`ipQ<*@~X1hhUd zZiLa*Uxsd1hN?--L6dL3TgBn>VsTLL`WQD;zXcs7Bi9a+kquMko^X1pN2|)>xmT-S zT#0~1&B0yY_RaXKUrR%x`eSZAq&$CtnslD+WCeTE5Zn`9B&3AhMK4ge)Rt$<5%HJ6 z*XH3#5{Au*)^(CHbwl@ON0`7Vb|Fnst=as!)u^R|dLPbun?i^CBLV|_uwkoo2&s9; z;TLBo4jxD=;{p%G4=#${d3ly)EE)j8jn<)-_h4ImeeOKGBb7D(P*{+msgtsqAiS*h zJuwb04{OTvJo}YTqYjclaZ^o>BLs3{>rqcxF0L%IhF0$Pii!G-Uv0JRzO8D^^G{}8 zI1CE79}+$6KKV)V)2ip*#M_;zc*Fgv2s`Jd1GSp)&@tolT{RU2k1%|MPqSxVXJbr~ zC*B-etzD3e5tJzlQ~paA5GT$8k7H=lmM!S(H3ss=J{|&>Rd9JO<^yPC;I+;6{Zj6` z?18=F1C+gUbJyGJ#KEC&AStZAAWJET`lJ?g4#)dkK3>za!-pDekUcsUpzz=LUw{iB zfc%H1d{nHrraxCNJ_7>$@kOnEH%F|IHokH9cbzy}3+%#Az*H{fJFb}Qb-yKj|29+6 z>#4Td-ewoP^=>IfS-he6X?a_7xQ468oJIKNm{8%>1^qh}L;7VzDN@y&_U}-=8E~Zk zkIZ`yh8iFs_P=JV^3r9mZ#O8<>6^MWXI#qoFw~D#CV$yTH>J`ac;2DzMhA&O$@WoP6w!97`gPKTIhP<(|O2ZCf#x0|^% zTFvvZl_X&daWWCidQz&^01~Ybzpo%f&UL-#WtE&htoTBS)xZZTmGV?-@tn`kNr;=w z&YKZS!};sdWOyOMMm1XNs*SUO-lwO}J%vTYHBRl!Tf;4&2zY1B|5x4E=eW zPK!;j=!2Zu-Mj4ZHXpE_3wv_4Utr6lJhfly9#{etQwJcf$L_R%1FpwyfMTj0N@;*; zy^`jWD-T>^pu#mlhF(ao!h~lSehveho9uIR{=GLu5)3GAhj|VrhR}s(jUlk8r*7MY8x(h3n3>G)L|K-EwdYmbY;jSnPKm zul;zfdEJcH_4y|#sD)$+4A})Ck?^^YI^d+bU~ht@!%t$*8+#pEUcj=Hx6_2HuZRJz zipY-adwO&L1Ni7GJOKFxIMYCs2rmB=5nlK-_5f9yYCj~h{$QFtV||qfV5;>6ZvR%M zMmYP=Hy5_w5oy*J)-^6@3m2`_!hU~0_9lM6@M7WeM5Z{;bmjosX1{C@GU304Xn}B6 zlt@?7{L|K{hL^xb@#9_BxO_KfTi1oxEi?&Je;-1PwtcEd+!C@z5P_CkCbM?>rhm6G^|QHnP>vLqu3Ab-jS_w>du=u zH&I~%*&qO2fMa@MJHv4?Zs}@1Yfo+Bc7Jq490RhMR*%UaI#c{)|=KWYuZA4_kfu zxlzHGPjJSXE!wnsv#11$=K$6JYXQ)Y1e`dACT%0}#ym-domY&h)YX-#et&B90*;|C zR_k2kKr|`(y6hAThcD&%S?oR_&;U~?smYa!-*U1%QhsK(RaA%%;RNOp6&K}X+eLC> z+9%p1$DS_59Jl9dZ?!k~x+O@9*UVdS>=4(LcaP-&`H*iS>6&Blrmws_>MLfKJ3Ph@G-~T?07wi_(s|% zL9%@6i)je`u^ZFXWoBnlW~6t{Fq87i8;)_vO;?V&s~?fb(I>tAZ1~Wi+#{k0KJ8tu z>a|@;Z9Xu_yM4&V_(MtKZursy&;Q&#v?35tIBRi*qt8SGY@2ggx#7 zj8PVN1X<1boU#Y;a|+mVuRRC*%*81(7ybssO#72ZUGFXmO8$6gAm$&^vedy7wZP@yq@M`pD!PC3(4dzKy}|A&Wqo+B%ipl{pIaB*V!IY^B>7ayem0F^B>!v zq$=j{pvURlbqti>CyZ3R`~UHD*jRqpP0p-2llJ@{@L4O0J6v_m$F9xi4)C`;w<&sxnoT6N2``Q!LlF7Blx03Sz-PMZ_!~uLcz&F~oe5QY}?PFHp z`f-No8`!}zYr$9+Ge&^|a$qAg!N#7UH1&plErjsXWbL;2aZNBY%=JO55dm(dtfvfX zgLDD2`okDeNb-D;M6*Pu&XPsC8b{)ATb*Qk5~eLnc0!x`lXDVz(U=kUcQ^d}2a$Us zJ3b0pt&8~ie^lwOcRta05BQTU-0I(Z)tSG_ydnR`Q0G?zg>&p>l41o3l`LX1<{~u1 zeGh`&6rZ%7CmxTjPD6xeevqu(Gc!%rqBa{-W&&MRS^vh(4uT@5li=KGkI$WlFaM5j zb??&fLKi1%-SsKwcM8pM9Ltf(9LX~dZ9gY&$`iC_MEvKewox2NJs(+X8Rm9FBCPk8`BW%zJXA6Wri{#B8m!-5lSeWTmY{S7gM~a-Dro|Zc*KW zpKqfCHhP{InaZormQ_04>&>!#ENrz3c+Y-(;z+O6?ag*KYxtzZ#?CVQkR2j7AuF&= zL2o~A@ei#2mw<8;&H4wAXk~-gm8+TS*56xL0=Cehmr?8;*w(+cFvchC!YQVBs=Av% zIC*$GL#@o*Sj2CAc+Lvk2!R2P8kpfR$9$S9}Bc>Zu{?8Q>N(vxv`af3HClWf~1(6#iE-lxun`u`gg8tERb(rRbiB@n6 zaZvigzWJ%qZ`G@9g_T&D0fV$q1!gkLv)#wXJf0n}z{a%>`n)W2WL6tQ;Lf!rzHC5cgDNG4za8EDDl21Q~J{j}7LO?Rgz} z&_~tX5TnD~HXNtq(zf9If|vyoc^A19kXw}WS`aRr&#Q^d^54v}Z$^p&#B3qWL0VaP zok;Zu#_zPFsx0u?|Fe-NU{vR5WGvp!SwilKE%V&p*0LPzWYKb!i5bCep=>%oX;Q%- z*ZYa;a%Nb@<$<6#go38Go-HJLEvjhuyxjD+)dZH&SB+pdqZTA(`fE^zDo+4HFmUV! zv^b>V9mJJu{`!-ZjEM_v6BU)u*H<4gHB+Nzehg57sJr>3TN9hbPLx;TkP=AAG)sAC z0$;^(-U^fB?n<60Zt3tJYaq~-ACsqK(YHQFaZDiH)ZxaO&f^8^-j&t4pbx;PFn(h? zFhm@{@b699n06BAsxeQ<3iLE)JL}V&1$SqR88CpqRK7cBWrk+88Q^+m=CQ;)<_{$g zY8u<)jz-fUPXI!OJeb`BuLTNb30)TrMmRdQGOFNCrj<&$oORH!7%Hv*0A z)LTpJqU?#>ky={oi}>&sRFnrha1|jH`B-A^FPn9|Ic&HNJw%6{5crRtDA*!rv2T{+ z_P+W}Fw_g~E24Mm4g_4BGJBUuvWwv+N|Y~+4LiKj$7ec^#VF7I}0^|fY)&>j{OrqAgHJ> zd-L{<%bA`4n=J&x!^3OPeO_WS^q{iY7ISpy`C#=l1t3H?$UuCyb*dhO7~uK_L~S&2 z%t@LTyYcS^x3OJFB-l-;eX}Q|(%80BcIgZq_Cp8CDen7M#kB6R`y;7)V)gcWyVloV z!<+W1DtZUB9m+LF57F)emHR0#{Qa8v`NiOFPL_{QE8o0%!<>IO9q(;1UfZayTn(Mf zN{QW)d*kds3j<3WYr~6D*5ka*enF5ykWR*8JQn^!=#R`^39PM7bCqj-fS7s@C7VGh zWAMN!{LX|}F5oUBYIzKM{GbQ`T6K{KJ(ZfblNz0U!R**8uciR-hw4kA(w^aSwT`LR zxR9~y`Pj(4wgcB`hPwPT(otRO>vs#~r{@{FaZ3+2v|5^|u9X!kPKsiTxD?cq1bZRbVldSgTdMmnPztj5CG5mbP;5YNT)uTMQITZ<1V`)#{=>d zxPG>{JX|Strs)0NY~V=EOI~>$ODs%&>_gadbKRO7`yNV)t>yulA|jJJ_V4r4zs@pc zeCgLAowGnG@Ka>@4D6$_OgHXHq6LmD_AL9u&tnxcnnO zY$@=@JHA2uAp2|yIxx&s-ZY7k{SBzcL}6%)y;(}JGhkQ_5QJI$hoJ7mSOw?sP!A5l z=~Q9-4q)RTZCia?%dhFv*6Ywyuy7;-H`1@VLlmeq$z<2}B8MsNF(@~AA0sF6^ldpT zc3Irx;C&qx)gLNe)Ft#i!v%ezaM}(i;Sx-C)e%%GkO(X=S_m(e< z;PUXvZV3dUnEfDoe??suzj=JxZjJL+RQ8ukb{S-`xsPuEi2($`idxYJZsb`;q3&al z3Q~7pZMSWe)1jM+SmSRb$(??VzgM>?X|$~_5qW7WGn zS?LrETt&qXP5GmG!+w5O^pte(JM;ZQNn}9=$c|vTCQ3$*(=mT3-0@9K;Wc!`TGFy8 zX;3x+<6*fcc3JkfwPfxDcT8pJoUq5zxe3DCxY5@_EFhnqbcz@Tdk%O*kYwbWuw_QsUTn68SNbIOtg%K8 zHwr+UhTVn0fYH-+Z){{!L@Gt4%p2zG^&_~P>>-w=&V{jU@%2(_usJ>FqI!F%N*A1H2-27|KO{B5b^Zq{-^0qaeC zBESoRokd&#tW?u(*~-JM+t17pYmT3Ja@a0EH6|^MY;?e?Tk)xO%j4zc`_#VWuP#82 zzaiAQrRkFHIZ~2u(kFczzMp8*bF^pKb*XHQDR8p0fW@8ZxX9udo&50)yWu`0VP)dmt>Q|x$A@?D@L z(o+M;d!z}3dT{}6J-`+%vsr1j!k@o0KsElBbt-LUyC7%%@0yU`XL|xiiMY*3TBmSW z@@2N%-)3Tg;FJ5w6AMA%VZcmKLS|wu_cHtcF%v~TM^Y)EA~E3gmT+cR564$0+;0Z5 z_`(rdc!EVD+pq8*#LphH8_Z*P4wMBb$%-2whjBU(WFI3-nGPbeUB`{|j%J1~N?!Ro zi@N(*ISKPPm|jeehm_9)?j^lXIpDncA_A^^D<9yq%Z`hl>n(?(t(``Ri6uq<9b#zx zAEoShBgFT6wV+sV*cWq>C*=-^PR7-ItgA}bePquY?ZVxVCMTQN2^41fFVawaB^~9KBbB$ zh^q7sqD4@VgD5qy%iaWB8qf~to$JE~yz(~-(Wlb6FIEWymsLv)AnZ4T+6a((M7Idl zkXamSF7pZ8B(0u$_I6K0!Rn4DaZ7o8RkhW*k6s_@rnilXe$=6MRnX$uM^%X`f)wP^ zq1zk%eO-4vp|msqodPhvhG<(976etb-5|)mEzGDXGJ^P(aa&FXn83*%=UwBooWHWa%BhXyP zwZk4}RdC?oqq4HnyX-@|v#HOF6NgHop8Il`_q}1|GcT`iY)Q7OG-x1^7)lq>c29do zUcbHo(ByhRz+k-Yu~1_#@aLtr5LOi3A>8nx?tbpz_$A`hR?kBNo42IU*I++Y8we9W zNKTaw*F1J^V;LtXn0doTbo@C3!Yl7-W2Hw4AZts>=1K5_J2W?QFSfWX zr|gAL`{Q34ReKU)=pO>=EJq4A#=^uY8}BLjwJKB6x4IoLmYIB7SdFQ^;jv)px}sLv z99^^=Y2sPo`dG{95Bqa`PscY#3zeoa$%{Nv(tP)IkuV%3q!8d{=XCb@E zzt2O2d4Ltx72LKq6 z?V>|N4x=LPB*iRP3I0NLv|K6P-e22M<9CDwJ#86+-q7mFMGnZQPHf0a*+uZ1#DCKxgeziSc2+hwugLqI7aG39IrUiG#7?l7Z@_%7ZkiwQTTV}jvBx(M}yrD(* zm-qutoD$5gNEvmV4wjt&X;a~E!S81O z?ss}I`5nDB9@QFJ!o-BRxspzEV*ih^ua1jyZQj>)Q97kWN>V@&B%~JuX^`#^kPhjF zl?EjRX;7rQr4fWBB!ojtDM+_;{q6-(&wI}Met-Y?L0#SFxnt&ak6VTLVMYh7zFB@zmOHq^bF;!x)PnqEi`Cc^&-iG$>3dC1 zmB_zs&-qWeH;`m+-y7O3GFD{z^j8`kyaQ|#WCTtRbprvo%t?$zIFO4hlO|;`7wDfX zpzcOB9L=_Lj68Fnj_RmxQv# z4NCcH$7|mlZjwiO5%ps(FP|NH z3TZQ2J+;JlPaL-Lq+WDbvFLFg{&%2ah5luZ{sA`^ol=BS*q=7a25F;sUGrafv7!0A zOHUVid*wPM<*MYjr@6pG(7``5XHVQ5m3;k;0~oaDkafHd8}*Xa;_vhC5s^_>U>P&G zD{>WgK9YD>SXzwos3q-439w5=VrK-5%wrYmJNFDkL?ZU|3H@DgkmMr_=DFOBEF_41 z2bkLeLvzlbl?32=8P_!IQ*O6+T|(J7AfAZqtj6J=#0ZGUcTqBeRBg+; z)=1goH$_dwbgN-3I`z`uJ@?CUzi(N1o1ebEaW0Z&ZB~lf1WrGqxw?cqI_lf+s{#a* zFrccLoi~n*+Z8 zJ~*&$)JR!!y>LNoDSD2x32yH3+n62(#Q7d739pf;GJPtqM7bvaQY!SJ zir(96YPJ)ET~>5(6a7y)t4Imbz63MY>!LF#JgEXfVF;RuVyg@9-3Yqe$(-fsxTpJ_ zeB)CALhN<9MM8+6nmkifl#-15zdQa(4CK|bKe&8dGM(jzugPs>vB8;pVngBRCrev@ zYU1H+7JC&U%_O(^$|*7_I`WLy^8!0>7lIu%dZpZ!cUmrrw%P)wp~h2JaHw-~_w_+f zU_&hMQnC3iCW>@9vj%(*ekMfk77g#9*r{>=(YbBE9i334e!c;6fsj^m28z`8v85er z0%j)SgCIXY*1LPYEktg0+J3U0>f>4!{U&5*YOmkM{OqUQpoU#u0%`xazpUO%fiyu? z;vev(lNt7K==;{p66&ru$PswH5B_u!{uDokomK?hij4M-A3bLu;oVyxqxDdCKWrPH z^ldPSN=2S;#?0`oN7Hr>JNdso^1s|69Le9Ys6s2TSQzJSfmkC&N;&Szy}M_?`_%+R zikwz5StyWdIJVKYh7Or<^n4j#R%!_JL?vfIJ5VuUd~ANuu47fHUbnkwH52#d(t_r3 zq%{9@uYXdc2}ZPJUAE~jG<&`gXS?wl#nO)8M*KfA3~O~Dh^(>dBEEKtG1a#4CJ zX(8HI=lc1iESDEG)mXUnlLg*yr)U-$__KUseHBL%+p09C-c}Q?Rde?qE1@x@>Y5q= zpcE)=cJ}n-#h>-au0f7(+}=PGn3e1yZ(Rl0E*OIwS^jdOZ;fQ1V zNR!tt`-@O7yWnW+Eq8rn!nx-!PJQLb3^ahaH-hrr`c* zk;nHeRRF|-x}P3;({5Vrv^EjshXL8Gj0O%-(yNJ1PZd_zIcK#p!`FS>|0Sn!1t~(6 zh(?cy<}t2YLIlFE!g7%(~9l`HrVny`00f(3rjh>7+lUGH^kjrs_EX)aBjPQaDQcBP_3RsRAf#H|gi+Re(CT7K1GkSJuW> za|?(zKb@&zkuTB7f=h(YqSI9+Th%;RgXUlN?s#-=t3Q7F9xg;Z7R|q7$etyiibBB?4YO zVp}q%RC6|rlG-;9y&BCYyktB|EmrG!++=#9tk;hsH3~exa9y5}U>8^6uQvvOrY_fq%Hm6c2l9x*#9X{XuPPP>9Cm@wCfYs*vj2MMITqe43&GpQ13`&(9WY6CJs`ryA~y zw{$VWd>fH<7I)DsL);r+p)ntma>|ikp>>pXy*^FI1wB6n3nl3)qQV$-wZt ze5I{&`3BwWgV>;;ev4Gs((sVSTx{fZUBXI^3@*59&%KVv-U{2HNXdFU8fM~4ODp)% zIQJe3c}bATCeSiy^-YuaRObxl*b+I(*QVF7?`iU?I^CmiKhobb?hE02-4oTGuI*X$ zPWv?w+xJ^FJT}Upy6vu z9L_LjQ;BSYuBnMS7S~IpBtI|VZkm_J%XA(8)A;1kMW!%bQ;>1@!Wha99VRi4YPG9p zVj7qXG6+#>dlAH5POu4ZoVw;@Z`bDyuVCvrtlE**{=huL(Ci!UB~jYUmvi4+tL^qZ z2vo$mH!@P95z<<9h(F4dj0Yw=E$=Aq3{3UbD#eU0f}9Z0=xeCLRNAXe{?hGx`~`5M zeHLd0hv3my(OWIj-nwg(bEB*#TVd6n0M6}SF0x_n!HGf_V0s{f`TkX$h3aLto4^= zzq<%Xw^A36aOeI?t9IT@VGgTwaUVz+oCZQe!0T(Ea6k+OYJ^{)!-?=>%BXc5a(V)C z(kXkbq{5_Z_kZqjiZ4{=)vK!9k%S>3Wh9yzCm-c~x%6)21R1$nCA&%{xj2@+D;T?hp<)r{ zSU=9hgDL#Tj<6V436GDPULIL3oT2~I?to%#18JkS*uS426^LudQWPl2tQ;}$=_oE9 zlt>!!KTU|8F5@KmMaP2fnmdquaQl?;fHK%L30l$KN&=GGr2#Pet)jOs1%hTxdVxT} zgBnQ+FLnvd9M<#8c2IO0rHW#X zl^W(4aETzI>mF+U)R=}s8x_mG4|;kA+gS{@n4CB&Q7s(`e+rK+@K9yAT4yn#7t6V0 ze{igVwZis!Dt}_GsgB^^Nnuq*Dg`Bycw|}99FeS=F|LQ-ks{ne zUS7rzb0_!5a zKEF>ls*_g3?$M7!;$ARHi-J@)}pU{+s7jqX2qKiJm=Dx!?j$Gy+*1F&yoQD;j_KEQ31g`xO~4| zK|$XADJwDoe0Fx$u3U7y=;;|lX$y#bKhQJ8EQZ*XX0igZ4?k!rZvhP-?1Q+U8Q^Hfpt{-fQzGG;s$Fb)DA^J z3#&U9B(@^YF|rx@7l%ERZ8%{vYvkhb{#%w^x7yn7v3o#}7e{h1esz^#8^q%(vit7uS?owBpWup0MoBt|n|7#(25xYZ>)OA^9 zg@ll)eu>yfr=a%s=5y?~GFDcL*vSzXqmSBU73E5!>TYAfiEynCYZWJEz=Y&v+|hV> zB;hrfpw`!qILk=@P{a>e&r3}M)usntMs@pd+^P?}+{ec5-HRuwG!^qaU+rM0q(Wijf?!D9gRzIj*a#D zy454qB#YwYsnZ!+8oU;+OqC^WoK>%D+@*1b?K>{0y{RiWK=|<^)6wJjJ@u~zj@%!F zebR8GD=bjZaeA?!4?o)auyo2|xyh!uFUIjS-sIC_0>#)HPWatN4hf}!*;)9BwsV;X zL@~|zCjNE~;3s9mo+#EYzOCS%iv@hj<_Udv9+pm^8DtGUMbdOIaK*nZ0wF%}+7I}C z%WYDer5yk5Zy?3G`@wzG-Y)D@5mRhlGUy)Aa~F=fMdmp&3C-|M{^F!6qrzw3uco#v zCta9~?&bTQk$yWYTS&Q@t~?tp+ZVu!J+#O2ipt&1rpZ3`&^S5RiHvFMDh>JCXQj8s zsGMbIcN@r$nE&9>ybMv$Wv&h*l$Et_&JYrAZ|xJ=;0!`rfV3 zJADoj9 zBfyDTe4jhyeoula`^DI-6+e@!QZo=b+`6TkBN{!08^TFO0AyPRb5^-t*mU$bOL{K5 zLkvVQzd2`Bm6XW`MG1H9M@V#m3RRQ$eKNv3vFwNKO(89My0jUNJ>QD7(l489u?S+l zM}LcVPlI0Yi@KQZVM1WKip&C!W_r5RdHaY{a|TZ*uvQ^2pU-auju8mY&nmt|S`Y{g z_uLmC0}u!B3nj=V9bXVv&{h^Mv{DpQAiY{Ekgf0nkuiACMUu_Ln5F;7K7>7FXIIzZ z0hJfZ4W;42*KD${GJE2_IGH;I%oz{z>}9)mbD(KX#YS9zm@XERYs8==yB8~XH8 zp3Los9aZ9p%sAbV^XNr7Nv2dHOhku z*c8ZrDnfMK;jGIetv%XWFW}gVgIeRNwc--(3!Vfo-}a>yFZST=btB9SEw(8ZWnbYT zBQPPBl#}v7&-i{zwP7>o+5Qp6-w^5)Z%H$zoUFtl%hd1CgMei`$E?U)Bfq4)86Kmuk^(Ch#_$75FC_UM zDG@S9!nFu!XAUoJY;_6BzZrkkq%>O2rn5~cIAuz37Pv?=fU%$N^6T&CC-aoPqNCxVLohE`OXs zIDxUGU{KpQtx;bxe}Pqnp**^9GLAN0o8leBvSK?pvM!rxnD`+0-ADFL<%0*gG(8_7 zEvq2nuKmsDou+XQAsm!(kt;Bkf@aIuIW(<>~33FBcN; z;9h`$BQ3?Ot*G(=^(~*>1vm2B4}TgFV^FoZlpOcun11LMKVLooNu4*rw(#2X@<4>B zQke5qZ&}Zf&??A&55^8~9{F+q1llIh|D+y9*vgg_Mpqru!Qd(*Q2@fB`|d;PK1{q0 zmepdUgUrhLk1rNjvUg2*QfBKP7atc|IMOU}Jw~ZBzqP0fh7@Vkf1B0GKC+@zRVb1& z`e-8?Es=o!X85atw<29JnJc25j2~lJspES02M$Ol-Q+HRYabPeYra>J9ouXFtTPn{ zB(L@{`>&o9Aa9Jf>#%bX4F@Y+?+CwN^5LisZ~r&Sk(^)_%`y?0sH%dh+?=SRg z`bI)a*3a8wL(MySckcyE5`Br8^|gv4MI@WjTuwo@=s=pXYVP*X00kdig?k->Vh$aL z$XQK^(u_bG%xxab*=`@dv4eBZl94f-W$P%9IRz!h|0bLJ>=oy)@ous8TbWm*lq4e1 zpD#2T?AI9O+#Zb=zFr`BbpX%U0qzHF1O2m>Dw^0>PgQ>c$Xew=4({JIji|dx4M02F zx{$}aAYAoPyn5iXXbQ`TQ+RG0Xp&?(am)81oh8H8^t-F1{7dHZ;kXP&j;oA=nB-KT zvQ5as3FaUDhwk+@uwI)5j zHSvPgTS;rsrKK~Yey5h^>D5?g-vub8;v`UX0og{XY33++g9Zd zx~`44jjxAi%WzM96F8`1zz|tD+RRz9M`VX)x{tpJb`2%&NY!|r?T%-xm) zB7>)-7z|s|7ajW%yDsaUuI-s;fW$b!D_?{thbf?+_?oT2tgm}jyQ^naXHkdhc-2mr z=H48Jyt?*dBQo;SE1HBBbM!KuQYN9+E#HVikL~Zi9dtNQ0}>r30A$#?_RHNjAwdo}ypvnDU{Zf-T7Kb!yyd4ln2B#f=vo#oZ% zu%O#zt10?Q9PSi=pT3K+q(s;@-X=(G%R}56JQ~uD4BI04jI*=7^OTj^nOe&NIJY;4j1VgIe^6G0j#Z*;67NO9odd;gd06O!=aZtryEZt$}9( zT}HZC@N`1sxm60Sa4FA=MwXoxBXDc(NS>ml0k{`Y4V7m_66aZZE`{C&r^C40O~FYs8U_3Qm&7cIpAi;Cnl#$ zcB^g*EsH@i?maaSMJh9Govy!!drnMiEpch0gvCICVvn7*f`JdJwtnJZa3ncHL2e)p z5mjMZ{e|E)8YHzB=}@6v zjZ$fwia`IItX0-F`>~@eFmE|Ndgl7;S*0ir$2^^QYtqlu5`Lwjujaz2cpocMr(qLz znj@0>xaC(!h6c)+l9vTGu+i>IH<^H1X3i)7smx4d&aUL4`JDIwh(J-ch^O^^Y#e6}^E!MR> zE`FKL;T3b&B16ToL8e=LwT{Ed?!N9!v{vzxCT{21#nrU8Z{?iq9m03t!;`kXo8pSSoWp7lwqNG|*%NxwXZoEZ)oK0W>Uy;^GmX znQ8m9%k~qn(Yv5CC5LBK{3jInWz;$U$s_8!hVlN#HPxB9A3!lIJrLQitlcSr7I<%F$>1r1dr$i4fj1)eC>gYH;#1GwMD2!-q6<(*I8FN zJH812xc!XPKd#(7YJIYzEbZDw) zF2%4^X8Yq^wJmFU$i%q)rCH0c!{>No4F!!uDsRy`HqW9}n68o`v73C>+Jan-Pbp+3YBP6AxLj=m=^Rqe2TV}3CC=zmHKY9P|&8g-D z`6*-kizS14(l$0SfCG#s%ydToQheV4z^EQY2o{zqSHFF&Jq5ylpG@8GB~@(23jW}_ zAv`sMS+T!x!JkaB|9(hlHQKvl2e}%|z|d0J3eDw{&qtX;J@vK%N40zwpPFq>t7s_}_g6wdVaaNR z8jZkH`uiX)h{Vmuw^EqL@0KHbvHhrLlNLRiSL1bU7oPUEDkqCiZETwMbwx;)?k^3! zZ8RIdO~cLC_>7?AZ-?;QZ|{}@-S(ywLYRxLzw}=0yvQ%68$>%|R0=42XyMKenq`1q z114r_xvF>OHxcNwiK_QgE<*Ml zU*O&7tG^?#t93_SB~4z(4HUhQSra;J(Sgoz&$@Ew7xcflo)>W9u35pW3n-|M_$qkl zE1w*3gPMs^dF{tXS3sVuvSzcNh;*pT`^Rdp_E(KZl2Q-eyHz=76xCzD5Ih-O2kk4$ zinQg`S-U;v_O)V3psHocL6EW=$AEm#cg$50X^P}x-NtD>j z%|9b27qh#kT|baH6i}=UT7Q%cfz}@o(=I6@Ae2FhEYoFBieX3Sy5koaCQYKQdOl~* zZpuVwM=F0c=~}owwZdOy8*pO@(a6yh7QEN=cx?~s<^B#z_0&y?@mK`a2W#|?0lJJ- zaky?fB5BklG^RpJAk-D9bP$|S-l;q*w56X0)RfrF%o{T8t%m$cJ>~@oEIHyq%|0j{ zr5~1OK4b9nEos&6PV?;9JWzVvXJIyFGVEMa>e3W?BAjnzM!F!!)oDV*jQSq0r{2m= zY&3GB40LW0XDdNnQ7H(=;?p67@o*R8u{~Nu0Q2U2Th!@zesXjUXYB3&+j{DGo1GV@bY+H&o06t=O5{RdH{Jn6PRptoV zmT=e2<00Tt1-Z<85P*X^3v8%vLxsj;ERyGZ!e_;E#Aca3x#*iX`%3Li@XMI zg~oVcOBh~f#4c2;PR`#hbYD^?3>CG{&hnZ*7GvM;KM0jqimb|EdN?$|(6Ze?fEtni zSV@0dkXcasR~OI$PAuoE`Bfg?FFo zhE+*$$ymE}zC29F5)X60>x$|U8h4eq+%pKRNz_nS&(&89IGl~J>;- z#^$Bhm%cR`I>;M6w%V{N1zcz)zkc#7XIukY3UV{lzfei)$zBv>QO)PqjgN8Bc)ep% zoo8zVDZv#7!*~>w?_=zu_@ju*>uPc6p^x1^(P1T?c^&90FPCJDy{CghpZgJZ_C-i4 zFSEo&ylX18_z_AYvZQC+EMmHT=f&&yF$?vn*Wnx$GwnY0Y!S-`o8;AMr{t7z3R0%_ z@B~Y{`m|@%@g-*qqJh8D#swJD&b&|kFbD^Z@uMJ**M6;d;)K5D`28ZOZg z{X-=xp&P2&wQs96UriparRGbe>o@^1Sl*qjQIHv%=jEDWLy&)M^nR#G)d=F*$X6>|O1%_{vn~!D zk2Bm=MJA=7*ES9wUTFmp{i}XxTbIulGsMEev#Owkob=ThRV6x~UrEm)D6+rAv26u* z;KPxs2P#AuSZL7>d2g59%Y8KoZy$hCsdj!HPpieRr!iUsDQe6S77viUgIuqmqeYhgg+K3$+9)C9EoQ8i1A(YZnFIsjbz4G;gKe=u z7F#?DjK_ot9;p!BMZ`|jL_&YpO#z3RQu*V&R^^sXNWd105e_)UN zfX$e4{wl?24io;d74sB(onO3i!}^Y-yOE6Ys?RZK8T^*gG*wNbVd=yD(M)^XuwRRH z7d>~RSkh0*U4p)Tt^E2eK11^b+|g_qrzO>AfdU)*k2p3$Pv`}{qqcJVyv~2*=e>Z| zdoCbP@Um1C;Fn3P%LFHpHmn($ek^WbX(Gjh`5GVB(>|;A&(W zK+#fsA;I}uM#8fcRS=6_ef)v&jG1TXJGe&8VZW5w#on?`LHQ{JbvM=vJLFb3|4oc? z%BUs%wBqF36A!rb?O^I5th(>cVzFMIbSx2i_+Ma@RvgUU*)ga^I@2II{A z&cp_kQGv-z;ZX;{X}umqv%U;|juD$*&Blj4x6|GB?2>Jxiak%>1^+N7w-lDU(#w4{ zp}YXZObY086F2uAJ5G#NEhlHP7x~vuSTBBra&BM4LWMT_aE>ymGEa;2F4UKORFq>Z z(`b(_D;N`Uy3ZvoZZR)!K`5<2H?-_fZI&&cjT*s7pRcSjM@N$DXDUtbmTQU~@_~_d zjm2Og8?I|lYtD$=vH^_E$`ZX=x8i$N;-0sp>-B; zUZ&C6H+?_HCQK-L;x6m7FdtXn^7zS}`wTEJq6A9REqwE%r`2GEhQrvx2}!}DqCW?S z!-del>`jif4g1GkZk8eO5P$!4G2>w9eg-}4>}#*ePUcTvTROZmE?)yD#RD@<;O+<8 zN)$M=B4CCa%GZ|*sjduubV2+hU7;+>F9L4~waBUFatxT}SdvldKP*`&QXiXefCkYP z?mUvEhZoSk+LLnq{J5{t)nmW8zj-a{0Namk{AkIjzYTF6?|6x;q=`)Cu8UjzLgXz_ z+PI*x<7XulL$MJjyxF=Y$>!=|U$NFeBkNaxI55;KYd>RVB#R>%nPODte&8QUH}#oP zkysFaE(mrg)Vfhyys&hK`AD^7swMviLS&RcEC-jkN&kC}po;5hQ+#+aYRy!sLSwkU z@WBEgm`TWYk@)b4?CvHFTyVVfg1<9b0%=`~cm>;z1u@TUlX))c2M%#e~$B zslVFn+lf*sQ}=;c0d)-@g>5ws*RN5-<?JcXmbspatv?}oVP)xz)*Sf7!s+-H9 zHjro`o8ko#c3Ns%n>}&yyt}rmx?Je!xm>sYxNeidzv-5h&|cWuP@*_pbMWze{#r}- zYAmM!5st%rj`me-NhU$1Q61WT1hx?Sdcn@gx@>LczRk?KyG}jZ$83{paBb9&t5GxY zJEcEr@$Vb#}z_ zJ4_YtFEaB*v?vLH5p1U?5&5Z~Kj21q4Mj)yEQJpM#;O zm@gW7x)S-BD0PhUwYh2vg(e|Cl8B9sA9>U~S{XTsb}@-!H->1xwcmtI?ZBr8BDwA<;fH^xJW8X7XwNl)k6j}eNlqki1G zzP!S_=5%+t%E}*Mx-HC{W$CcBC`&T&eS*S`HeoMz_3~cPGkjSW#;~&XG;|fggoMi( zL3(vhJHK#77A2j%P$uzildUKB())wswfVdgqNHt{a2JXWurlCCl?bEapWr<6EUROl z#+Eo=0%UJJ^kh3SR! zbK{qysMMm#PI5AGd|D%@hL3}Z6dMitw5A9xr*vN zkJj}*e43S#*c=(|YwFcEdI2U=QwkB~A8+Hdy#5xssl9zzIEm6tVYcXgrHOcj@3tNp z26UfV4vj%rAk~y}9JfTG-A&)K#MZA8TKu%>Wq$_6zl<^aeURtE8Y)#Z zdwz&vM4}rqzs@t>uOdFZ4ansvM#~+uGb|@Jm-cFap`nIh{be`L0v`a=yUaSX`ZNsl zs1#g}N$3e^a|qXKUO*9{Y|iW?R&m`Mba3terb{7dQBb!TuTN6=>$y3Z80RsBx=rTO|HuluqisSHJ4 ze3`1d6c{@4A6s<39pG(J_#v}tKCR$7q6J4##hy)R2Jdm({-RQAy5$@ybc2No7Ck%s znFj*BET6Ld{UlefZiH%hp(?Bc_GFF|&JC^GI(pPp;0DZ$U-vS0QM*nV-Ee`#R-wj( zo6YWIC+9Q9JZkLtaDo@w7aOm= zx^5_oI{h$ZyV{^ws9Cpf>$PU)wP6D}1t-D0UJcC9EFo?b&FVj91^(mpVjfV9wlQbdgQDHjj8ezc+aVE-id;Mi#pQ8>x?An+RLATnp4?a!28 z2`l@m6qx10_rt;4peXXWfnXvNL&uv2;c;84niapXslhrom7$`O&+8N(Kems)b$7eZ zZ#F$A7BF&iM&6H;>cy$`89-8a93toyZyhWpQTmN;3vwXu%m!oF7C)_DVlUIvnP)GY zR}_GO$r4Kc<->kojo-(shYVh7N>YSA{FYYi_a~*aQq-(H7alo4A<+Gsw=E0|ri+K* zQ&UqO+f9{VWOi7?MyD&E9j*U7=yN#k{RV%744qm?hr?C0BO`D$U+7j=(yOKF=^@gn zBaQK4KPWnt^#KkA2IcU&?(WL{P~S_k0^~wriiR$Hd%iKzhca%5_6UFQjw8E_o}1~e zjfqz%D0Pya?aJ-WbtmDbQwl{VdNSRV-d;R$QW@Hri~Kg~bdPEkvhGTA{3X1mg5ls; zRlu`LHNf1M(R_GnBxS7frAUqOaAux(qrMrq(hu~1Z3%MMY;G1h9gAa~ymaiy*N8tx zIncy@knzhjfFICI$Bq)T1i&tXd@)pq$5{_Xzp#u$!&e7&Q!8?TV_Vp}&((<4E$ z+tuIsg;BwXj5tx<9;oOJh1flVD@o;v1JNb7|`MDqxY5)^u^&@-` z@;_=G{BP@G#*-%rF(^R8AX6j@UQ}k)!28O5?biuDfM_^a;O)Fy!yG9|I9SSDZ z|J#xMX-$4S(p^qxj!$x$DGpC3Y>!)+{xx(BejnPKUx__Dgbpm?JuupjDqWlbt&~0m zU&&0yd5lStB*g<0w0gV|-9ft+D~RK(qFv3LyEk~H@#Juz&U&=&5k02owrz%QpAM(H z+t|w;3RFjd!;ibg4A9GJR346{>Tu4>Z_lg+20;>0xkjW9VgL*`e*RYae?79@BP!*O zV%2YW|1^79Xdlg3UtWMe0bYpEOz36$M@ZhdfcBHOa8ehGFqXxdfy-^m$=qhTExD=C zbf&eQZ?gV7^dfP>hYN3_nv*=IOVRvK7LJ7D3eDjSDHwlwSe0@_n{pL5iyLw*%fU$~ z%#_{DJ3<5-_5CB%K-Y@%o&CoTDYFo86fi0{E3=%ZzVs;oJD|$N2_GL<+7{l!~gM& zUNB*3Z*~|Gl^xAR*q-|sbhs~t6bLt*+vy9%Vl`DUSSPcdNiqGfT zD-7f=!#Uwx7@-f}bCLNX=-n@Yx|RR&oXOB$OVc`K!eXJ$puV4b{16X}TV=ds0&13k z44jqf_9R5D>HZ}l&9MT4%*$<0^C!lY!*a`+)W+W2!e@Nfpt9;od-&S3ir;+V#F!dk zBnQ2Q_F_da%%|0%;!qIJTak>lvQUw*tv9yyuiywsQ5dY>yflN$|qG_!N(2$j>Jh2#x`<`T*Zqrb5DzdXfUS;L6*V&g6G zu-wNQcXxgiGVUSg0-u@05rP1?JFp}lh~?nsYqLG55-i|<3}g^CoGZHs&s_~ig2KM1 zX$j4eNXvRV6FAVf{j2^Yxm8w2X};JIV27Ibv`QX3nafSg?o0poJ(3fGm$s7(X5Uk; z4Sqn*xD~*&;?-sp{>}|Mb8^1Q9s7lb3yV@4Y1JvqEHCSRc^8cfbOa!RmaYK%y2Ew zHecT?QKBaO&g@VN@#p$x+?hhkxsKJJ|HlKo5&@3K{*9Xbi~qbvRMjxdMKcf_mwR0p z*6mInf2}&XG3tYm5IC~HspSUnOi+=GRs+DKQTIa7NEC`XElcGgT)JP2dtU_^!%un} zbT;ZgbLetDL2U4dyZkTD4d$UiO#0dLm3(vQ?vtH^ylZHj7z;cj1AO4HF@Uh3p7%2i ze(NVgA)Iu@p4H=(xyPXZT1u8@WDOh(oC>C<4A!z^0gM}>d9pq%@a zE8te%1h9LY0rz{2{wD}d!VBnU@4aU*2vV*E=LKnfrBbE|o+^6Uk0@Un zA{a1#|E%}f=zl+$;IP2mFmlIASvhmUimX@W^&W5hCUFc10z{6U4yq1^7?=TIOAUsa zhrV(M*>BOBkJ$I8cwJRLv8QnvZ^iWOMngfrxanU#0j%_J8`<6iRk#z&$X{K9De zYD$}N0|+_d#wM@lgym_Lza_cE1;Ehhy@KJOeC3K3^=i-smlW%J&AfdeO7UeE2`R%l zg{uK?;4B~DBYn+OYKN6mxsk{fd2zZTQt)=iMvFX@A${M1g8`kmYEuJtfoOGib8leo z_E!D^EBfEBZRc5>WMUI(n|rUE5iR1kBOL~LOC3Z0pga&)lmTc_(3}|Ba1}*#Rq$>z z%}^rD0S+Q1$)~af&^ExW!NOShs|CRqg)zf(Cs5dPqmBme(C=ZEZDN_i1Wssud`(#iQyujc!Cxin%A3 zdfDOYJCkw(({gv$=V;W0wj+k`wA?cQbLkOHp%pa+SV%5{N*Gc$fwEpAn0G5l*ofr; zH|JGwY$MA}RCIzx%7RpY19r<}v(bE}^HDVO0G%C#>roPVoMf4a`g*jOC>)Pf35C{i{9-CeS z$xX@8!bhmo1}60_!jRh$^zjJ`SZl@_*x{j0owH*H;Z2a6ZlWXhYnFy+Cte7iH6HLm z#I>pZOeg%~$Rl?p&bK~4rKF|O2|eI6OZ7#He+4-rTSXV0F3sQgR|9bN z_Hb4}{gtwQ>79N$>nn~@9Mz$0H~$G6^iw|lM~q3ZlEv(=FaHWa#jFEve6sru-YXc@ zxK|z?<8uJl&Fxk{NZk)2Y|9oYrYkWr7#VCqUWXn^_(=DWvJ38g9h0agbzadg>1s|a zb>&aLy<8XhweA0gYEnKTr*1oKVErT)<}zU;_DYXrr*)yIQfgpb+I_HLDbbQF;mFgnf9HY`n9OqlE(Os~K5$jv|C9{Ez|spN|9=i+ zhG-~4kxH_9c&{qBfQcvU^Z6#JUkw;k$_^_FFuVhCCj!C2CiJc#SgUpx@F;3IeTubD zPJuTv<^xO7ngJ-GOHtj2%HB=O(6%Q|EM@ycm-`VLdn-N6|7MrZ4`nT}YPE@0Uwk5Q zm!KevgvT#y4sSy#U#ha-cxevOQxhnF85Ba{gHdTw`I&*#0YX1VVnP3JM(F(8e%mlp6cAD7X>!X~XCWQk*&azlfqWOD&jn9F zlOiJ}tz_9YadNtAq}4|bfj;pK0oX(YmoWlO__{eZx>*M<1r`H zcw~Hud=)qvWIc{a*^0c{BW^7MP$V`~g;o=F5^T^`o7<#Su#{N9<-N2Dvn;RO0vSDA zZ&U2=T=aNZwTObUjgBtMF~G#tdjCJ6`!xA^c^p z0jK5G*L`~{*S=kwqe!0m6Ofr;IX^w8PXTKKfLwxm%J2M^ojw^Rgq><&$#3?((D8bB zQHq+M_sFZCSVoQm5Nx=^dqy>B2C3YdNSlKdM$Sz#)-MT}A;?tJWtu2_83Vfy@2D7~ z1hJoxa%}Dt(MuK9SV6&DA$#Q^&(F_`+6`Xvltd%{$9SyZ4mu|H$bQy7Q&txVMlREwWioEfvHZX53$f=IH(g1i*&< zhv~Y_ifiQ*64iRG%vYSSST*o>vOtX3*g-I=?zIX4PEknU^e)jK5YA4Q%0#_j`taR@ zB7k2dT2uN{M7G2LzC_0D`P-*%l@~7)3!|bp?J3AL6|AW;KQI56JmBwVp+X0feBIA~ z9}@=~+4}3R5OXUCln;ra(Hp?_pD=(KbRQ344Njn4~j%paZG=`@(S(xCiv z5>9YMfjc+9XXlSxyAgs`^`i7`7T_+fA>9RlWT~z=J`$?CKq#$Nu`~qGmq+?z+22>} z=Z*j4(t+gW?S9vm&3pL>|cj9=tegaGC1tmWZ#%Zg^IVfRHgLRvH89*_U^_7b#6z-=uV8K3+Q$Jqku%ul^$ zWdTN+)*@*=-(p)_cF?UFyMO5n&w0p^4enF{>!hec*#ry`2xnWRJR1UZI8C2 z?|%SK3Qp^?edFmVJ~sgWSdmwvRC(wi_eGQT?3ZtXDZ@(_GjkEe04gNnf$x5inu;4! z49oR-2abg>GN>y;JU2Ls=P{y(r3gSwlqhosAFr3V?R^)#h0>--!`$tP5c^*cyOg<* zE(}WymwCJZ`*7*5N!6)DW{e;cD?;fKT3%8f zH(*iijJKT1k?;&|1W-U|bN7lV*_dmJyjF34x3x%dcETy7`Ns>NAHi!#D49Rs+5Mjh zwChYgECHT#(F5QFV1N^#&B%WRP6Rczaz9dK0)T;##9cu49Fg}JS4H8>BF@Z5fL(*vR=9ALL^AnkSv7aYKA&N1uaHC1~= zZt?_@D4gxiqG&v&s{Z-?KmUY|7(_PHRu`In>K>3hl;2Mt$^vdeLqqerxfYnuQK0~G zG~AfD2CLBVJ7t%K;xE9#5Tq4B5~iq2{`Ug9`x>#f$b&~)O!=sX9ovfTFdYn9>7O!} zEzqyCGoBuMpZu<`+urrKY-CcFJQ3;cfLI&ScwNJ>S3`lW;jq+Zb8YlIJ#o57fMY_+ zwmA3iQ&%iimCfsfbx+;4`^68Pnv{LUQ!HmhX{u_mc4QVPFG8?To;-}tRkFyw0zwr< z(A?e$Npk^Iz&o5#f70+`ji=9S0>uIs}11sY5FzJ*a?!0xBRO z(w%~I45O4Np&n2q29=VOR$972knWI>?i!ePKLhCb{I2)<{&f&NGyBLHV0s$#cWMZpEAreFedmqG)h4=J`}aLbWx1morgpkT6+oB!q{)-C-{eInV)wz6mvIxvV>;4Q6QPO>kf7V6eiT@B65)?;<~hRetOUvzs{b|BMM|zan+mLn4~gSs9mSyS$Ig6qvF<#XHd} zR~)r3v@9<>7@jsoz*qSlb_&i^GLgx~ZP`H{%$uBk$kQR6p-+u)#XY^g(<)7UN!(VG zu%T=P<<*+UZ7vCniSLWV&U~<8uR;c|DOkyj#gaom9Go@q^Zy}?EDrtfT;QLax+V2r5vllyBhyF2NCqPwO2(pUb%~{} zUB47Ai-)-qi7@ShDTOd41Ylc{L<*KcfWncFzc*_(ux|)(jWIgs?3ov=FBx0kQ*onT z(sM!96b|xbU9)f? zr$^OyjB5?S_ww_M9a^^zKl$I=26r7xpV&GML9mq(FZFc1crs_$O_Bs1ToFG+Xxk5w z0LXkR)$}Wo`5I}vgl|kEav{`9eUn6w)M!-1Rw`r=-oWr#>o|7>XN9DI|E|){|Bz+% zF3lyT<*8o&0QH!=cW?TEKzeuCVnF4^=C7BJHxO*MngTj6`ol!|UhAD}|H(xOEx&t$ zO?sjUW@Y5Yg(}3eqvc8{iW1R%Anz$7F(Kvq>C$U{A79j3S3)c}S+~o+?WomU;<=$I zV1$P=hi8eFBK~>0^1c7}MoQRR9rpIw$RUXjBr76@xkPNV|2^(@S7;$X9J03#37w#= z45vcpje4sTr7*&YF9C}G-Dlx&Im&n6eD)B|5A=ceK%#j+`0tL9dKi52kpk|dzOVx5 zMuis)?q){icyW-t7V(z+leR%%oS)=pV3ie*ACbTF`EruLtbi7)v}oyKJ8QbunehKT zJ%Ml+p(j|e_uM8MM&P5NYkf@5G~h4HQmM1HOIcJ@PDH zb;0h>>^fe~V9WymLeBz*z@)FG0DQ8AHiAz}BhNZ1FIyBw#b%vg1l^0{4Ok#149w?w zfZeaFSk-jZt@Au~)fHIPj0f>BtfG!G1)&;l)ibw%j+DGO@&h-YV^Q-%c zI6V*Ajs(=mb$eHceiBhHn9UT8X|o{_$*}vRuWJnT$`%e{LRAVuB~l%IMV%!L6U{4k zg*C@Ry6HdPb(=$tG??!_aA%t2_oZ#Fh-8UTxfK}oX;sYknV!rwGwc2@gouBI>?i$E zSL$u|N$*c3;$I~sP0qbLh2J;tf}IN6R?$;IgGlt&X;k5kFGvw`{OEp5^1*c>V?nzR zbjZ92KG3GBD+6+sNplZnucsz_mw~Mv?-9}x?pLiO)b)+U!gk|IM3bYeo&=t8I$Sl9 zg`mSONYg((jB4WN(XTS$i#yAi4>uIe38|qq1m#-Y{zk*K+tU8czvnUx&On^tFUGK_ zmfJC{O&X94VmIy0J?uZ7)5`C!OaG2!@~i~>c0lwS#XsN>Sb!s8b^JReqhIglK8D=; zl5QbnCH0?udvXoRSKS{xBrll1xA2XsHS}1hlL=sD$7rZh8_}dP$e8rkK8O*}adndZ zAiyY9T>@n~dV?U_jnBqm+NbGcdyI;`26~Mny=|3!k?sVbIvGDZ+N6~sq8xr(Bqzz9 z>5m5l$Ebz2lFtUDW5!FvyOb9?p=bSqf7bu3D~~%|)1UXib9RvJZw}YU3$#t@W^~4! z?Y98ZRk4zw1xUBi?fN zarI|LslmTItNgG>_0W zJJn5+!M86f9f+RD19Ra?Kc_URb`l+Y{Z2Y75`lwVt|uS(eZP)5cm1l*V#u(kAf);+ z6$8nbngKe`;a}@Sb50+q6QLoyQ}1xv2!L4{?gdDKppI+;Y!Ki5zHsCobT0NNb5CGbh-uj6pGRi%MC`QUe=atV5G4?( zytN;u0)kumnD6V~k}V@Q^agT_RkeU#(ZOjoypHL zfMMk0brNmne~?DWM?IMM%O(k00QOL!4wV%X?e|9rj|Ayt<)*2~Wjk0b#M$|MG$y}E zp{8+(pbp5ks8tZkUp}}jgNUUGV*_LfcN`U00J4Aj>0H9*^wpO9gB0+JsTW#*KrdIW zZ-rKr`A9F3FfBQk^}G?_0{@uL5Z%q<%Q`eUi+hqFWrThmt`Abk1nj0x8{wor@PIg{ zguqk$@u{`Gs_~0di1tWiq`~!lBDfM{BJ?)EZcb_FB#RbW7KDWI-o#_gqfbYFBq4lB z;~fwZhMXpVH%i$5259&Xq7kMAG)?vkusMezJ8zCn;y>wg9@}W`OyoP88@@<60;8`` z=TJl2dh?~1aydUdA))bb-#Nf)T|@AVvhntR`$x$sQ}zY9c4?65@x!4%5>;1d*`&2T zVxW~?E3q&ZW(N3{2cg!jYj6IyAgd;d1_fZhh$aPwbDls?Tm^`KhBC81>Dvq_&O#57 z#RBYRU(L0(gYfI+BH{bC@!%3&B(EaP&X94QfBd?Iv*d!TvN048Cj995z(!i5_v!d7 z`ej-7l7wwb)rjVpB};#`Y0Kplyj%FA>k0=H0mBP)cCTNpqr|Nu`FJF3<#cQBV6}Gq zEfMPDX939&?bqq5;`f`QUklr8ci+<;Z=^i5jrFdQd^&LgdE(X$Idv#XAj)Bu<#Rr7i^c3M7eiV>9tY(J$45~@QeDye zafj2tCb_yUJJ{HLDffT^p?3RZS3|IPmcn0oZhQ|gU&XX*-E(~oM-&7?0A|^9(|z`n z4>`Rsh!S$qm-m_I(V$#f1=5K#N#znsAUZz+z*PL_rs{SAB*)vK23q;@wb#FdG=tL1 zoqo;#F_Sl7C0aJwjqfUYCm$66P7no4eS>H6|Jc#lq6%j^eHz+U>C!R5*5dJ}Al2yp zFW$;Q_KVzmRcC7hFJcGD5TAA(U#YLd_1O{F34rzh7k{L=Wkl^LeK4 z?O!mo15{u()hPY{x!!%CH1ev^%&_D?#WSSA)b0Xlw+?=9ErGE0T$gc8Y8bfWgs(N^ zq$p={k$|aRC<3lJ@*gE_^(bp0|OO3&&EK-DCG2=b1GFb z(0`rN%sZrxKk(2Jwe!fsEe8G(D8SlHW`84rB8IeDcy=CBJZ(=JaqZO)Q?TTCoiGFZWI%zW^}R{yf5P`cToM#1rn~t*%3TinAT+ zAc}Tyxzv8!04Pu(Y2tAk@qOxgN{Zq%~j4xvGng@m6#FA_rHC~}Uu(2P%i?1{WS_Ycx3P9fI5PJ5(y zLO&%*(6Hp&ZYK>xDgyRMqH)#$Udug{;y4itrC*CA3H}-!lEs2eCf6QuhU-;xaD%%~|R{RYsE3X zZD9!d`PZe_#^&mq_RjhP6bOeDq|S+d4&rJ@?(&tx@-fL7UXiuYPpjJ1dUL9r?S0HO z+Kzo~DOFHUAZM9_+1FKD^FWPhUQ$lBwh4$V1i3y z=zsB189d+`))nauX*4EBP89}#4x{1&_TzjGT}fPR9lt%IC<2%e4oITWcrw6cad78} zm#F=4$!De?!*C^Da{DqpAOw3(fEWJlQw4np1jHO!n(CdWhUay$Smq&5L<%B`qIC)$ zM*)c-l4w)IL=qc*kysj5C@^V;{Kto($4S%=Qjk}gK~_TgVw{D(9dF|+x}x)Nj-Z>N6wA{TTUfQBN;BZ>-0$cIGo4QPd~<5}WMA(3LW% zq0`Ds_5DLm#!3!xAPtrY7Tva28qFQ@xwUyTo}_+~0WwN%n&woE26g4sMmILWZ%AyZ z<>p?}ZttXz`@qK`E0bGtbq>>~Wa|eU*73D{{Q9b3m#=DO2yb??XQ^AJSCyRutO`0E zwvx428w~GCHCb^ld8Ph0z$4@7VXo{NwG0~lAXL(?SyLbS3Zy8s=DtuPYuGPZ@IHgV zHT!iYS~bH@Rq^;w{D)Zm86S|Hws|Gcd)Y))xq`72%Z!TXN{k78zg z3GA|PQiqoN^hiB$TDL(jd1m^Pho(8-V`NMJ05OCbPkVYt0JllL5>(%UcGZ+T2!)*M zPq>x_6dQZ6E@G4GlCFzh63k}9CGHC>EpgC^r-|^6loVIP0w7T$mROzp1^W<)Sn18N z>FUDDo0J?)x6K172^0KZ_zAvPJAE^HTH(|GBz^{8fLA_kUA7KMVJu;lCYBP9{_amW z3h43@CpOAtFTBEu|Ga((1LB=vEtMOwlFu$tZ~-y9cJ_47j0e{!$1JmvBn>c!Bt*Cf z;ayK|%m$>gApD@cak-qQ#>>@Y2TOgCXUel83v(H`$6}?REDP0OB&vB(#F(ROqCV{N0tDZ(DJ)# z)fwi*%c-Em>@6&tQajy*oMl3PNh5;yZD+#$LyLi&(lwB}PzC5yX7=q`DjoeAeGjw| z(?!545Jb1-kOVpZjP^w!H6VO-)GrP`4KOI6Y4cv}BJ-y^sZzgh-TG|y?eHThFbiTj$8iqSUcL$Cf#0`#1%1#f@= z9&qRgc&bKZWOH2HxALdLQ4RBg2#~w7e%L)3Rn6}#v`~5%)kuF4WS_2I-Rt6Z-~P?h zpWHO)5?8Jozdz+CpUsed7<&4tgAA|8<%q7#*tzh=)kE+aFSoAz^6r*n_f+9-LOf0ZF)D?_7On`>{{mYRSE0T zr3d|c31wpclc?UlgUrwVywevA9qfA&Aowm}byohCIuq=4oGRE z-(~)BgvQ=0&2k&6!m3FwFR0VmPAY`}0 zjfGnT4OSvjEY#?{t&*+v_-3P}y{OHy&r2cy&3lnW$g?33C9LJV88yr35dm!{;geg4 zfChL&k>A`G=$eG_3*D%*(K} z2ie9j_IqJ~t!LTgvQ{eSv#vn|_e6x)@33UzzZtgyIYH`&%Nn((A8)RUw*l?U} zRO%a@=p-u-alq(Il4^$=HfgF%p3RPx+tQQ+zXocVb0O7HDJ{qVd&XL1 zQI6XR_%kE)nt8evs4ubKLi0lFj?E8DN!jP7Fcw#( z?LgUWn_n9&2QwcMih8sBn6`#x4EHXP$zH)${ca0*qmS)a*}&jx>8b_}rd(^^N&}~k zNbi_)DGN*vL4rUw{v*MQA1u&`8tIqTTrDm=$914 zS_W!!sj%dDDWocB#<+`79-WgkNO3j?=ka;$KIplf!(Es;30Yts$CrgRyK@2_!|5v_ zD94T2vG1owSoAZ!DeY~rKZC;_XfBkYRJE{+m^ANit60uZeYL(R_cm#>O6#|e_TrXb zG1hIyE0$j1)DP&w zXfc7k;Z20vHT03bMd_;JbqI$7nA~+jvE8nH7qAA}*3od-I zjQEAyAp>twz+&nAolv{;jgDB1G}++!;pKzes_S7=QipyAP}ajiLo=u6-Gny2HH38G z#d1(at`Cb%7pBd!O~r*gR=#7w8+Yk+2Pk#xP^D-hs1VjIO`7mp0wdG&hq2m(rk*k~ zMb_o)8=}`;Xqz3k}KUy?5Uo*9pfTWX^#-;;`UXB8aJ)S|Zl?j9W{6AMKZ z^h?-^0-0RSOAAr_AL9tml9Kw5cXkuB@Hh zu+sJUE#Ozao5eyLNXkST=k>c`In$b-f2a$#>ysrY|ihbvD^XCz!7YH z%|ufiWNE2@WxG?n8JC*5e}pS|VJk&!1rTR>dNB6_kDV@QNZ09F2BwKPvL&m$evp#Xc5zVhY`d|r5ncd;DgX<_?6#LH#N8ZL#&Qnv0^=vFRxmP?mq9yHXU=IkryXn8Zz57r;Z zc7Czyt9A9dSh8!H#W1pw&B;t+k6l}<+$?r|nYHEzJi&d?uWrNb0Te!X1f4@X$ttWl zFr8=pp?^V&6N&U~_Vh*S;%gArvXXde25kmYHftkPhN4FI+4|i$62NphIdY~`1hM8c zPLI#eidaX>0!6Uh1kItp1>*Ln#ye3YkV^-RuXrQ^kZF_onT=q`I}!^B3JX)qY)0ce zrO0W|lvpphRtk8Hwy*{?{2oX*enelknT)%T#3Y)r+JV)OrD67%{6G|4V|=i8ri?aJ z{Pzseoa=BgPsw7beax3u82H4bi{YB?pdRjis;M;7-qt8aeCUsZNp=%fZyDrH z>7;<}!dPnhwDjKH=`o-HKl?&83UvLJTplbjR^==n*TR1ec-DVN2t)5gwV%X)EE^19 zyxa7j5qm{dGSBM1u2U&=n^#%S?%a2jg1OVs_kVMm?#y;t zn`&vYX4!awd$0oBRW`8dC zMfAMP@@(5!BE!u!;at7kw`W*L^uL-Iv%jR}35^9oWNhEwTXlO*01QoNaxIrBi{%90 zIrA@|+G1Znxq!DewMS?<;*hS^d-GfQbov^_jZToCQRfLK3Kyx!4hEHHfEdJdY!3w! zKxUE8pq}5M6-lL$CLf})){v8I+r%AC`;+1}?_BXkmI)P4d(qz?5Zae$j#^;AP&>lV zjca}4_(Q!7dun3(-qsjgAiz5%vFr>k7hrY-3}>FxxH{2#y6e|mcMhIC3y-dF@ zgxafI-3i9vG8`HN%8b2+zSsFsg9{v8Ram~oGBJmbE?H%JwJY&`XhpIBecT-G(T?@* zN4Vy8}cc#(*Ocg9ZWt<94U0 zUlr%N5&2fTlk9L;&w=3L*qnP8?~YIegX{f39SOld1PQj1$A`aU3yY&L`jS>Ay;*HM z=6bLhYuH)tV~9=sAV{5g5F6$PpggmF;Y8d(RgMTgB0upO(#QVZs}#UIUfg!{qP%V< z5G!IXrM3Bq&1X}_xjtm~_u05G zsTYS#!yEa5sAtpFcg392VZxh(pAnA&=m>J)T)&IQ_5jE2sDW7U{^fmNWA)t`NVe?< zk&+pjX4Gs=Rq3;brA4kx-%+i{)7|yZw}1-NQT(V(NCz7-5M(vAB}+|eR)^@wW%T&0zT&6rTc>*S6mA58}9 z?xnoBc(Xk%)p#3_wU|afo``*20a}ui^U7oK@fMj(U^L2Epn07-e>w~u|HG3k0MxUr z9(X=7I@twgJM5g2SkG%W{=`c3TI62#;pHT^cz|?B*Aw46bnLA}gs*|X8YuD*YU=13 zr#3>&g&hle28PtLE5rMqRdokDOI3Fy6{_rUgD4W*>^2KodF}zzSb=0&UpQhB_xx3P zEV;~!u0~O>g@BcX>9Xy~VO%dwb1ki zj@qtCQU(IxB^=nF%BmSpWCQAa4pwuko}DSfSYBO{vStIL5w4WAK^IZ11Q)YBwC5U@C5ioF zIkx_`oTFsik6^66D(tM-NSO%U9UTx%KWKV*B1naS<$ zF7Q%ur2(o^+kE(|5Xsla5<*c-ct@fN(|$_5p||e+K;T{+Na+F4m1nZV&O>uJR)tCv zS&9FfX)1toJ6&}je>cPLg9kd=m3UQHU5k{c*M_v1X6r%qeboRl)N;nyTrp0>$v&V` zEit%n+}-@;(q2aKfi$oFp7Iy~1&oKe3{@-Q`2v>|Q!gAG4NR`oNF)j5+hhliP@e{fG8>pmp>M zXf7U`n!I~V<_c4hU$Evd2GT?5xRa43tS(@_8C20;?UO6TgZTouO7vQ=!*p43)hV(i zYj@oJ&{)PYY-XEA0qXZ`a^-p4g!9E;f6;IW7YevnFqZD6l9@tG@{9CP8lL4_~wdEUr0uM49K-pmFas@?S z@ME0Qwo~QC(pQO+)oM(PV7sc%ugk+1NQXUSKySx4$K73$9x?E4p(b~x8#CYUT zo_LXUr<)nI`g}Q(Y+q@6cM-)jvcB~eXZLlR6hL6CD(;|d>;Z0i;D|wp1I29zDF3|m zYuIRrH;&WO`;aY;r3@OG&IS$Dl(aHyUfgw|a;w`TO~GDFfGdn}4f1{gg_HI3qGh3k zpt8XUnjKv8Lt@atRTTR{;;~#7#avJvyOcs$1Q~;Hs$Tlg~oCayzL!DkQH{z=1 z&nOXo{4EvaAh&;cH>9~3a(mC%9VW*V0~VHWR&I;0+N2XETo;Qa0T5jB*Tqd(2Z9lu zMtwXe8SKVD_nj05%{`Beoljx13}wz+p@O)t?uH&MI|U0n3R(x#(;8xF7pD7PWDzH0 zu)mk1vQYfk;V#rw%WzvSbEto`{S4YnObzHC0vjBZ@Jng`2)KwBYIj7HNq&g+)mXt2 zfiRn=MV)a*9S(IVM+`0CX#%(-5BYVPLylBg5zKU0AAWYNTf5z{z*Z+kK~2#7O`_y| z@X9Su1ue(<^+?$zctg_d#S?fKXb=wSGH90=49A00qo01%V9^Z)q~m?`XY~+?!mnMeTMZj>YY7g$k6-@^)8|Pz}aP$Acq67j?MpBKxwc_}zu(Vcf2F+M+v&W}R*zkJ+$+>_? z49K~_(R=^pKOJn#=$!rpMc98 z=LOZi0>K?^;VqGfy3e7Kn)D&K7Hj2It<(duinzXA&&v{UOK<^3>{#9)~6F^)Q-FC7#oG=uBA3Wj_2!Enz zQ0tTwXkTV;?bb@s_Bm!WN3~q6+8GL|wa3Ltj(V!#|cGCU!*+3M<5GKLvUxV zGQMwn%{YXhGZV$IWXK0ZwP3WKaa@QaF_gAqDu-PTliO!J;p`9Z$|{{q@OXvgOOt_y zPJJ3CG1-ryVw>B)AbzMUoyn_!`Z9uzm8(Afjafg5{|sF5B1*^EqiB2%IQ8{se-=oO z5H{hkCFE&-`@gcXNb7LD${bHNrv}O?`JwE_b89K~i%e5x@$kCmn5)lXxrWR0u11x; zs+zGCPL?)DLa6%=2mo4A9jc>S+e*iu4sJXMJbc7gaEbE_FGhy4KMRZQNKVF)iDliB z-We_cA}6$!uMK_-(BmL52B_x3=eraZ*Fj^W4Ct|D^z8S?!;Z6MNbI?nBmRb5>Sbha zo8x}0#*Y_Ven+vT=Qw|MB$=;i!>sD6Sj$xBhN}Hkh4w0|+MamNyz9q;oS~Z2TsB+tKZfA*o(k;Tdsp35uvwaT{xn+0xv?FBO#T2&)<0$5HJs!@3wB@BScz z##MmRg2E1NX7sD1mc5-p=L`+dekm&aNw0V5YiyufHPs0L)})d!LNXHzTm z$cC9(WheLopWyr^oz_4{c!1=a9-vZy76|IZE9IBHXL^QNe8hJS^uU;#ppkDY$+5IJ zT@5Ths!k(~=Xl)AFlF@slN6$+8eaR3Cz2Xwt@mrEX||M zk8d@*Yj8V&;$j+hZZSQg>)HuGx6}IhpWyYI0EK~xaJ=|X$PsqmwoBF_p+jr$^<$aL z((TkuG6Pi@0X3eb`>p_W3v2dESICeec1nn_9CpdGKT1Dme?O8hX-ST0BGQ}WB-%)C(uucA8zR4II;6j zvr!Y?kf%34m}TU6DXd8a-bb|iVR@o1_KM;DmXCw}_D~u>k=Vjlcdvc-EOE|KKrZ0j4>BpBU+ZbFb_urT@z}h2A&=Q);N7D;|L65tdU^CBNU&;UA0H&l|D7yPb z1Y*N3$KM^=3Jqkj&q?eWBL50TlD%hk0TQ1(`fD&S>i?%tSxsA7gHE~?Wk5h>B$E${ zBloCtY9<1S^*QK&PxE0_dMNFU1mx?0rKsIRXEXY0vKccHca`rxtVc6IWxUhKQ7GfE zcdMD>k>1b#q)%S9+#=w==kpGW(rC*&L*^wrSTG$u_Ozz_p`M1j)Nac8u|bTCB)0b@ zonN&52m{3Eeu4Nkh*o>_cwF^%uP8rs>#9=A%Z1bTD)pIG-_w8v&_BV?7Ou7)qzVX= zHR0ksTh0bbZ=HeZg-`L`h5V{I!Uy96?v(zHIPPVkFxF1`Nmi}(ILgTbx=$ljD`Dqr zmL|4iGwuLwRloUfMOQfN*+2NPE_E6R#^#;QIey}liXZY11M#$fB`E(JHl%1`-ovY| z6eyAN^-ZtZwjE%+&XXCg(GqlU^L*R1r1)W$NEvi82c+)yJGpm6a_*H%pT$p4apWRD z12Sn8O<8{!tebe8qS*zbChgy-SHw$UO=ceTq8rGx+zogAws1Zrp*BX-~ z{0O1;`TaX~1kcT>JBM>}fn50NU%9X;9r;C`J;{n~FmENff^+1c@YbmH-9(a+z3<** z$p|H_Yoc}rGqYn~-h`(TO%7s<27hg{Pw0>4@g_Qw6wFq3bXi%j#`f8}nAKmx<; z`h6D6kA&2K4jYAA(^sllZF0=+%9A|!G7fTc~$R> z4~bhVa>pUN+w$G0Jn0#rcJ+Ul11Ju;iWs7F(C4eQRUqaMBrihd($L5wysuAz8H=6U z$ITDfzhs(?V_ARS{%-dt$fs`MyTmnpa$Ba+A~CKsm{?+0p`y&q-Np!UB*P z-ZdB*IdC<@t;=Fn?MN32aZG!;<(s$mYDMQ`>i7fl8^chmazSp=7V+AURst7zPRxj$QL3Tm7?))QkiEbANy$WR;Bc< z?gyu=2}S*|b}j7I$Bpj~GMHfUJ<<#Gv3JSeWmSBEMV;vL8rtY~MEBVH{8*)6V8&m_ znIvT2XpKYU-Fz#FdEC;ImCb&-h9etNl zTE>In@;z5m*_}k3L7Gk=2gl8xNot&+tQXN7=$x+#aSi_|Z5<8e(j&%!u$ zdSH>TBNI{Y5VYl!}--VNeH+?&^)lY zd)}KAW~Y>Ovg;o_hC-r|aDhnLO)};^;!UpM3+1^zakdXQc!ryJ#`fmQ-2~|>omKf? zgusOAnldQ@85o(E;~ z0{e}1eb!l}1tROX1JpiCj(*ARnIcir35fCMf%C@}h3iRdJX+LJXKgag#%pUNI1s|! z*#v2izZRZ}co0U${lyA?kB%Inyw7BCPz)cuS^A>-G~QdO6(juwK4x4PI?zd~+8$zB zXq+Ck&K2T2blM2^lU?=qbZnj2kp_=oxPIAcwnJAQ%qJm#H@};`^c@w!rRQM2e{NHJ;TjTK+58%W^;HO zNl9)HUg~fBv5;jNKvh2QNpHt%&pOI@?@QKiV{a{arnihx8@>T5wR&2h^q#o&;HElsjfKc&qL3^tHk1|LPLk(t~k7p1+uV zIKL`SDgHLO@pMIxsJ@AHblV%^*CDx%ExBt$W1g@L5@5K^b9&*tsx_j}IfMQXb*4QB za^^qdDLxYtzD~^Pn7ZYQjD^V_m>)O*7eAQzRuB8U3nj1@wuFm1KK5Tg3dA#Q3Z}V% z=z#HU@5QFypZPrVp40zZ^d&TCL0gkSEN37GwS0Dm-%8<4^91@F;lHHD^D+0hX%sbB z2EP3+<7_{NzJk#^a?}l%zrMz$2LV2YOHq0N+B{!o^ zkr1ZEF>&QKf`^9=sh_ZS(QgS!^gp*U`GlW9#+i!`Sa`rNYXZ6zVi#my(c|_liPfN+r>rcZ3{K^>2I^hCgFMh`^42D zyJ^qJwI4aPyiYb_gg!!@4_A8sE?rFWS#<_PuzM_Q-<`bbD*CSkE=m)1jB(jehmxTyi-}^ImxE#t^NVbNaxX z`8xgse38;H%(;WzjomkGIo7VSDaogx`JhNu0)A{R&SP`)6;)sP3g+O)d=@r8%R@rB z6I_)FEWB1@63|^fbMc&DwFzuM>egXZXq*W%S(*g8N8U=;weC;2-oqABeV>ZuE)%$<_N4Uw)P+sbC&{7V8!!63o&JX`Rr&RMZO5_ zo(Jt9Q92C%LsVR;ji8-;tGff52qvfsAe6h+oV6wzb1>PEp6nonR)Jm^;MjMzND2Lw z6}w(4kS3J~CUE18gpZDks+B%gDVpc)!MvjE1*XOBHPJ9}*9uWeM0mu03?Dp znqbO$zT-1d-Zfz4G))HNcZk1!D7xkCeHi1+2rkBFYed-?>d&I{78r~k_TJdY?r54j z0n4DE-^!JixXF6FB?iM_OImavqK z&#o$=!@crF>VeI2ZjcZ-yad1#sGuK3`)j7DdI8u3Tw#S)TGqcA&j}!u|G6cV}N?2c0YZ(MM*wKie>=s z+N@4$)TPooAJ44YiOsI2%{N49wW`g!{J<*qx!tA$yJ7!*b|8ITz#4Uhz41ed83Fg8L&|@Ld75 zskK`{>A0mcLV#aHz5z!h@;M71_rL~LY~Fd$v*_b{M8bgIAo*a00>h1=EFL^tgCn?= z4}%N9;=u0Z72qVlbGm@=d5O8tDo`PEoF=g3hyw68ptWLt>Sqi61|C$>l;U zcof0?p5@OJ`FI38IEP#xh6D4tMYEt7?+IJUEzkRcTJ9D5F-p+DVUzWgA=Dvi05gKGRhgP4c4(dF z+Y{vzT+~UP&7Q@8GloHDY|jZFR3Cb7dIchHKuSZ5&WNvN+)E;Uonc#6-z|#ip=7)7 zolav<_6*VfuHq~C>`Z(&i*$=jpWA!AQYX~<5pi7sWZ9v2ZkrwtNd$;>utM^IUF^}t zg}CxPE?q{FFr0{Z{c%^zb1)u%hJ=bGUJYS z5AJHog!Dz527_JtC$mW0p6Ki6e#WD5qVF`~ZyOlrWpQW9tFtg_Y{Ve@VWzTg;0+x< zE0EF2Ql+gL>htv&rV&C+wMinZGd4dMAqmOa~;44xfeC+s~B-lU+ z=qPjul9My6i6R8QReYU`X=pQ2g$;ov&9&;BxAccuM+@Y1Zk44kzf?Ky1Mj8fq8g+Z z;i1AZ^n}G@Q_`p59aLI6y%@gIZ2NJ8G=#Rt5`_??qI(3p>uj^r++g!~S>xEI$!9Vv z`sSu{HaN+OBu`#~pf`Sv7XHY)&gV41EMKY9py-R%xn_Le`BY4k8=ujtCt1b8ubjMM z|CEiOaWE#9E&SF|o+(7~lEiJnd9^fCqc+wv%XsVe0MNd!D;o?>%MafsXjoOZ0bh;u z0EP=WuS1yyc%>OqB*!N!tM7P2rdS0tB?4u21jA_BA>j9jCaCQfp5tJ`ZSFnT;@aYc zeP0q5|lb74^X>R2uEa65VH&X-6pA&w~mU!hadgt)yU}!@7qoWHSf6tB& z_vgZx=m_t6+oVi_oLG{e*4u7=P@s(N;t?+}OPC@N*{T!$&*71U$ARGPVQq&WHV;`= zDnW3nQ_3~X{Jb@=XoNoS&LcINuw3GoB#mtzc6C%1(coeYXjZ#TT^z0b{Y`KVl4ZaN zUtYM=c{~e%yqEP$-WOS24`Y3Hxg5;?OrT^dcBt^$>WKDs=n3=?jN;ZAR@pUi?=Dp?B9p<+7KZ-H>Af1TtRoDx&j!JyG z92kyGi3G4`lIY)^vpT5tCu*#@jCnDfCFhV zS226>EbCaR?u*oc*)c0ym$u+}b+9V6h>EY#Y2~l)4zQed4oRS?&V0hd-NvP2lx z(vK}hY0A|la|kXnaEg$uEkMJ@%X@m}9pNe?p6@ekW!l_pIF6nVDFmY!4=QkcvNtFE z2@rz}B6Z*kIBwADJT(~>0-rq-27Dw$R2@A4Ve`d!hCW`8&?78Pn7~PXGO$a|KeS}3 z|H@%%NlgO9-3l$?h}z)N(rXZXWgYXl&OHRsA^|6JmYi)zYn2UjPL5?;{K?y~ia_GK;kpVRE;{~|-kb>k*$mPG6L2eDjhTa51tWRHdbO$N{*x8TI^aR$Xp z;jjNcw!SX&b?Q?f1lrf(U|+(=bYy(uk$+Rsdf+)6dZUKv}VJeyRR#n6t_}K zN`1U8d7e6|Y=Q0-%?iLd5S&U;$rWwd0|F!k`45!mb&stA5H)5?%1QWM%j?zGL|5d0 z*e;R(98n7N95Ujf64q~h<0GEVU(nnH+!Wj?LUrX;dAT}kb6;S>i_=i@W@TTw-^%-K zPo9iaSTt|`Ubw};c};qz(X^Y2clf-R`~~Vs=50)Q-+RV$nV6J~l>@W1(ZyMcQ(10m zAc>#HETsMngS)Z!g)sqB24@+^p&0QmxnCOtG^2egy3lt0}FFvh_ z88;4FHQMNMhYPW^Yi%un*g63*!{J>zKR0!n@J{W^yYN{l7yz*HAM1hfml0vNs%L?M zq3be&#s*~CI%-M4wRCdVtDnC*loCfCTVltjIl)UuK+Js4%)HTI)eoe`9g5I zkn2pLly$kSBN#O%BvzO<6>K_VPjC@F3PD@-U6?m8yfUl&JG;8aYFsES8dQ)T?`m^$ zRYVOCz#ApyfBJ1s4=kCP$$wf9*XL^elnX~P zd~L^@B4&e;DLv$UKrm%e6rTQ)FH_@Ldi5nxFAAQ+r=WsF|GRA zKHG_>`@D3PWJi(@BlpghdyO_tfQF^+?A?mlF3=|gbFUVOhf$TKz@{seL1WRY#N$1k zo!`W3e7{Y-UA?M@!m6|7>_UI5PO#%SIb^mGvYtr}lbxO?fMn+WkUFdz5Ocj%SP zvGWhv@A3!L0A|c1ti2d!`3sX5HI6uRrPNj`vW+-VfdB3Wn>zogxl;jwGEdfCl)(OL9HzSrMB|@68NIlSD#i@ZRq5Q$`1kL1;}EGKcGS`tcExQ*k%h6_@o2AW8w~eX_9%5oy}ctx~oAtdV$)ncTrz@X|vp3cbE zCIRVlYW?*}a3feSM8&${imqwB820;H6WY*2m^i z_!@psKWORoE`h^Tw^|S75P}7Xs7A283bJN@(P~`;_!%uBM5k z6~xzE!8xO2&$}{sQy-izvf%P^va)&?&p-9{>D6)tXRA#)Y1QM(k2~Eqs50U-P?B!3 zsqx3(%JUyw_AkG}(^h+>&EK=q7HK3flj2C~JScVZIph!yA4LRUy7MDW2>;$2&DB8D z6nROlSSC1v1sx1Tdzgk8_Zq-b$)^|z{i8RWZ}ZNtxNw$?qym6@SRuFv)t!0B&Bo)b z(|yj-`097H;l-&iJ$b;W-LHt)u5=;-e^vKGq>FssZ*%o@pCBn}&VEaNzXX`xjl?yU zL8PwLg{gXTXbIHIx~9L!yP7O1~$NxXRG4W;W=Vf{!>`}REDv(Kh)M?`6ijR8~`A*T92WHxfP1DW4916nBrk8L$G=^G^35a#AeotqTJkR zT^(>fPd7L99P`DTPv%IdqYr8l&Y&jYjQfYTp5H{iY6v37ZX*?tc=LUE2Qy^THQSS( zD;fX*zczTP^Xlzp zs&{~Ec11>;&;YsWQ1qA|?Vk~-Tu*#lyS7HRFIoP*x~x|TE@Bpt9c0echcw& z_W&0NU;+#7;0tL9RbML%6!WNtM%aSdchPqT#^%qr%716at(%W9Ti>$zs zP52&LEmFFUI=6^}Et5NbEN#h_$9NOpT{_!U(jmy7wS|?#_90k#?X@*IEMnq=Wt(!D z4?C6-tgp#>v9*Rt3E}AhO`9NnVCEm|EQhj!5MZ-crw}-=haCty6T0X3l@YV`27}iQ z6hIwqjq;B}pi=#8Ea7vWcDmQGjf%JnDdIV8=O^gvL3N^4Voe@PXjswn{Vp);M%f3M zAmakqRRu3B{66`Whpu3)y$&E3!0UXKw}kvHqlPfo7;Z54olhR>zl$`qOmgxYneBd{)`Bk&X$Mt-m zjG7H6hklb)){CU=gh!B4U$UKcsi|nOgO;p1(LERZYHmg6?`0yqBZg!-)Cj#(Bv>F5 z5T8h`v)at0Y<7DnZ#$|JEk~#T>J@#jcyNEa3}}ggC?!?Ebe4Z(p6z&eRpTD-S@&_@ z-%y#L?qTUI_4{S>{P~{7+V%L7fY-9thX}iilH0 zI5tAT$fd+?M>MnYVRV5cQwX${bxrS!a4h(KpMaFeMxj_}^1J=bb(Rzvio0%9-nG*6 z#*B#Se46EZObbC^WwI0l8ws^(M9+`#27|kdRe&pSh9_myL7USKo$d!{o`L{Xml~{k z5>E)NuiE(MgvA~rIg1>x{AQH;<(YxsYTO^XYg#VWpDAU^tDu;k5x0SHj67`Wwt(J$ zEjpe(G}60a!{(HEAX2*V1@8^w`7Nt03b_x8H#qiL2V1)v~bs zW?F(EB4(Y+F`{bx)08krnJAbVT8KeXYp3Ul8q~&fMjm1tO znYM?@a>2UGGuFD`HcMQlOXZ%05I`>65!QuvhD|18Uj|iSEuUr3vK`|$NNg5d=a3%$ z;bABA6Q&b-Hs+mctJC{AXgObB)2gG9XE2~RtV`=7Jh7TQzTrOZM4)6_J(b@c?HRBu*wvW%LwcXaTO%GpI9Vk5-YW#SYYTSryfIHyHd&ZO5_mE6~FlT`?N5?`B+ z-#RTthAQ7zzbxmXPu~gg7%?Z3Y_OpxBTg?o)d8s?#hQ{XT2BWzH%H%p&b$8p{pX@9 ziiM{uIZP#C^9nQuUw)X8+nd;P?vK@{&obF)t-e3AH&Zh)!YRc`JdMj zi?sa3nf`vCV~e9!`||cY-rN{QUP07bc@cV`_1MBaEFZ085JwQPS^k0w$Bc3ZN=JvE zg#iv~+HbmnI0mk>=1V$D%%uK<+`LmTJ%;8)&`A1L6xQkm`62YJJiN7NCMRDJnKSo~ zB8(Dvj0yI1+!+r zM4l2{x+=L0PR~;h-lSVw%3-RN5&}z`U-)9m_coU$3Y%3=_Qle?D{kOv=dU+tvFL1^ zT4<6>-O;cSm-=_W{&tnzyYty>6fmp+mg_%`2_+<92_7X4G&rH`zSWiISc zbi+@TnDkU@;;#Ax-=G(u*QBqCVE_%+#ZEvvNxjB=rHvj6S7qIkgfUh7BOKF0 zK0_eAA364N(xi6R00y%i(Gk#^15~;?r}F!|LP2%CXFF?om5^FAvgsPsZ=y`zytRC5 zD(_fmb3VJvssO`S+NTJkFjH8MjmM(d{oJdYU%z1#3>SzU_HJj5j# zK!@9Ikr3{hCQBojc8?Flcdhw7E zRI5y)iYVp4gRT2=U&=hDG8`aP4UCbRfSkLArPI;E8(Epr7z6bUv(XJcW0H1X%}>}e zz$!h1C&p#c_vn2o72JmhNebmYBLRj_&%$_JE*=hH?X$0Rm+lpy8Bt4;cEoX*K5Ep% zs}FPw(l2?~)jr=CfRF-W#g(siiP3~|)l0NDe!gQBF_`!?TkkFl; z4i;B8>hI=+k@0t?V$UHU`ke zo%kfv>D|Ly1qG?QV2iNoC8|{hG86;mk%p()(x2)-BC2VbRxO`mKD)ERZGf)H7oM@f zUq-8ly9QFa>%1Jof-l}_;L>6uY-eYQ#Q2zu_0%vY-+VPymNoq^KTvDfS;9QLreVS( zRgay=&|nhEoO_Vb?_#$rPecj#uk6e=y@SnB2cHHhTtVEhS|E8Xa|2kP?;62>tj|`$ z`7MbTO#eOG=zJVM;>c1psU=-r0DX5sywT((es#&)Ds1F1RLz^Hw6NH)ceZ^{Kf%}_xoVG^wS%(sj7Zv-s=RPA;o z2V!hg8B)$GZhv75$!QgtSPz&=T}*%H?McH(7?S@fyLcT3-JI-|>3s4JR7jdiC-=&G z{}__pm}hLd3wL!ew*R6Or`a`!vR8Z;WGpeic7?zxAZRrC;z#MaPs$&SlX4F}m;fM} z>c^DS2t&>rc29p^r&ebow7H^; zUp7)`7Jvt%s&r)(TnpfSB`_JX4;fHoGk^lu!j>Lb# z!+r#uV(V)Nj+D1sRsutcjmi!B42;TwkX(M^pJQ(TVeAnL?-|UymTi&GI(LA0rlzug zu2gU@RRls;ycu8QiYMV~AYX-}q*7pV1u_!G?>aY93`*ZY z7?w9TzQ%Lnqd8P(5ZW8PD($t&g#n4vC>k;bfjxqyjEErmvSo1;txmyXA61K;461%u*R>7n8?yr3_agYj*zzGA2sn&DYYMfkEHN91Anq)Yn<~DgVwT3; zh(#VJ;pf+Y>wmS{LZqDlK;?)uJ zKN=<=<}{*>s-$-5e@v+EM`5mmfsQWHz6Az@vz2LGz{`ob@iGT7J;>IZ&LeQ@?R^}3 z7@#Z*!XFHlSq_tA(m!nHCq%Qdgd1vpRA1UGqCM}~eAh=6f9$dWNllT#Rr~QPe9Z@^ zqA>Cq*fN!TgXKuJ`H)y+QLE#jwt_P@s#=~rU%7KGO^^`H4qvM`7KDB+AikWtB<<7b zdufJcGRqNofA$Xd5??E~0rQKguZ7h)M2 z*2f8$MtA<&uGfM;@*rS+I~c1EY`G)>)AQ{eTC6;<9}Hj+Ujz_d)vPBi1VwRcGrZsS+gE+kA>UFX|aTQOzT)i0vHZtseVEH)n|kP62zbI8T1 zrtn4%hHv)Nd=p5BR-2EFczo=Xj;t<9Kc* zdjcz<3Y$tsQ}N;vsYMl{)qdHBteDl?&BGD*@on<_*+XhpyN?+hMXV{KQ-|6{fR*Zi9dYa$}A)Sax- zRes4~M;IWRoC2Zt=U;v4zhv_x?5kst$Yr*MhOR_dW*?7a*_DsOj@MO~83DZR(LkBY zZJ)ZNNy1|f@E>H7vksp~#mqbu{PQ1(xJmiQq8{ux*%j*eG0Y#l!O&UPVD(@b;q=G{Gr#0pJ&`iDmC$v(hyiA; z0uJ*qPE3WL`w9B>AHR`gl)8cICujb+%Ho6FtYS0kbqF~H(*W**htk!^b(L%yBerUg z|FU}c>&XrdkE3*B#J@J~v&@dDUVnwgj(phmS~a)<8R1vr-xpz0$j!^!uZtlVZwYU& z&Z#`{r8EYfy#;jGLQDx4mB4>cIhe0rrjRh^$1m`LT{I>^D@fq}bKj#dr~V!?axUTq zS)XN(5YzU_WU#wyjhkYZByJ{=b1t*wiH<=sqmh#YHbsad{M+uWb`dfuP$f$gk2U3{ zo06U&?I0)I!V|0#y=}1khNIn3qfC&Htf@E^Ns`YOiJk5_SO(z_c84?ZT6psgS^BUDE53 z;X+ubBPjx;TbtL=tf1vld?(PNilEkz=_j|yL{sKV!F8KCJ?5aqNL$&1Dh=SB4GN#>bZluIeO+9D5*hx&DAv< zvI<2dB;+&52A}zVJ)bvi{s6EZLtDww1nJt<*514}VEwGqKKq;67{6rjw03hzE-XeW zKZmU3E-?7^e%=H`%+CD~;I1JtrW0UpFe0Hc;H7ST{|fXAmr<`UJD;eC*06Le@Lzbp zZ~oJukFK^hlm;KoDIrxAcSG9f!h?*Nt)G6e?F#tm<#0|aV(xrc6OKufE%gXcD;f21 zn)!ZLlg1$Qk0w`7g{SZ=3U}>H`>@^R%ru8s&%+^KLKLe^;?A92H~y5oAm2A-imtn9 z;lqv52+YLfv)D{Suh>Z{vZ`CkbU!%y`NMM77oLLuKJ_~MaP?6b&4a9*qKPc4ap#1# zw5HJm@OMa+1T)E$J z8(tgKE6T6L?E!qhmKn*}z~b>QlHEU1*uq#8Hp_1r<$jy&nytLk+5fN{NkOSHK@@*j zD?seJ_lILOi3U@)K^AG~_Ez5_7z+pN{t&qu(GDsPGZfb@?AUbC8u%zRTy#yPnA%X{ zad60$DN|U&$Iv})mh~HYZ~6TgdW5h9#5;SoVB$g$1NAm~$reGUC%^8C^!aa5XzwfB z&bSq-QEbvJW}^Vs7r6feiayBI~w>U)Hz^5nm3SC)WZ0Orc z>*M8-jm3_AH0w$icV3Z<>u;{%zv5=k-1|NAX7#IQLfyIBAkJ)%Ou%1^5(>6gHdD{6 z5H46S3{}CZbn+Q6#uE>w#W^L9hRM8K`~Q?dNW4^*@KqOkhn+GT#XQ6wPim)tnmokEPU5QJFI z!H;#Nr5r<(=C|QjmbM5pb!?e5Wfuj07da6Ky!Ax{1*m`6eQ&ZMfRAR4m{`h<;1hOW z4_{la#_ejO42SZ`0}+x0tNXH9&F$F-s&yQW0CL&LIG5Q(mY&Dt9X4wV3)OdMYVOZ#vNL9baOn5dE)$=}dz%>amAJKt zxHQWRBORvd#2e4{zogjL$Bb83D%X-0%%3-qDe^AYcHJ87N)+v0N zGh2RZ^dPv(M|;0FZaAYgTWQ@5AA;M9^uJYpo>6-I35fb0E=@NDbESmqWlLEZcn0+) z+cEDF3*OXxZuzsw(?)Mq%NJB&wGYpU^vJLe)29x=a#YIBUReT-$+Y_rj|*Asc#1&| zD$*Q=>0i<jO|E-1t}KAD2nG0isT2#Neq2_1`#`WX;HV&wfmJ5Luel{S7u6X!*0XD`NlqJ*t* zsusg@HA)Sh{$R>1gohWg$7uAM2aeMnzvOpsKMei~Ym@_8Gnx1x^vUO_#OL>jV@R?x zV6tXAGFt4Pd;77&ZAKhgzL>0(Njy4RHpy5&Z41OTz#aiy@zS8~u4HhbkFz%Jl%tw4 z@2T*sYM)U>8yhhd{z4o&{Q(%HHjwh){+j26?g1S?DDIQPDoc-{&gZr}s%CM*0t_G<3$-qJVu!)TL&u1W2$#mH9Qk%vH zqXw)BOH?qjFypVISk;4}9L63s>4-GPGpr8v4lxtxUT*C9~E=;3yVN`9PA}KK?;*=h6#G zfj;qGttAd*-120M2cxUebRwV@hE=T%2UQQq67*#cdu8&ONh|^7kjt}y724dg9yd&q z;LqtiZ|Sbtw1n}Vn)nRfw{iB;-+1=>=Ub}_TF~djD7+9fID$iA8&97B$pAQdc6{}Zrni* zI60ny279l(qypqjmzjd=vYcRf)%m&=@R$UmHv^LMu^aK1enx-1v4wUL13DkAMGN-R zk1XCbvPZ*3;kAMy3Vh2$ul6^t>WohCIo5imaJ)P39Dd6J^i>TOhJ}T>oGO9n^wUdv zm;x)_o)i_EaS-!4lWYGXANaTtV3_U6 z9_U;(^f=ga?(ki_8}H;0>2U-TI5}n!D&XhV9VuTP+R~ZB=FH2al9bz99L?y}hh9zU zH;YQ2>Gn6Zsu7S6Gx&&wY}OvEs-GJnh}q7qf>i~e^H_S#<9qw%kO=~yqiw9}ig_|W zR0P-F=ph=*tMY`c?7rrKE{h>ZfWBPaDE7+o#&shG_-V@}aJo0J>uAK< z1FtT()^qW>)PAeC{JIZvvmQ%dNAhswlky3WShzdiNH?`~n$c+5y#r?z)9#Y>=W@@T z$wgr=+i-x-hqfM!aGb9D7ji!6ENK>)_ZE{_{<)Y%4l5L*-wAaeHf8zqcDt{m_dfvj zn@qfC1Z7tTHBPC}z_x|rf9V#g?(UabmNIy#XI5E6i9M$6CPH!r0ME%o>EUxHd7IE; z-s}OAbEceqkKwV9#z*xBfug)EIFg zpy^1$t?h~%;iw0d?OD=Zl}!j@eZB%B=!Eh<)MK_NQsHW*Q_fEtDCvFLqA7XQ1lwxh3$bUe zSEcMY@HQ7}eaO)xUu7Qp+B0>&S8QV*%a3PpFWb}5{+mhc|6$|9c2N%zlesh%Hs&4L zk$}VWIlK`I?i^g>r!>|iZFOPfs(=#&QqHS5^gX}B7UALA=CfxQj?|~`D|IoW4_aw( zvfd%f6m7x*atD5R|N_Uz&e!kreAi!SO%(U4?-&0TTUndt{GFx!7CDq$B|!CR~&!Z3>u!jrDB;fN_DA&- z&Yun~jCZSeWr1qNID6zJ;->KZvgI1g_qun2HWZ)Y1C$K?J=^#JUog#dM+KZ{=8Z$66oQ`mcy>iu{25- z$SD{#FYJU0FSbXE5FpM8jwb~Hq7};J+k+V{5+%F(^^>aJ)do6ESUAtc)tRLgGr3NL z9j**@aoJ6*=kmFvv!e}8x-;`CiQYcvr6<8ZMhnP6buddro-R4PFKy)H6!xFgROS#V zpJ#JMLFHrg{!I$)v+3igMRwPw-58H_X61J>hf-O0*|uvpwC8fw*Y+2nI>XMKoOejy zt?3AZHppN_Lby|chdcGZ55wvHeC_>KpoJ`Xh=}WCgXiC7>o1u(+v_cVg|tETxS<=ESG_$I^N+p#WX6Ecr%lrd&34f+qI ztn)p&lX6*-G+waNqjz8E-63pccsV8WE&>69FuyXlC;A!Hai)JW3>X*rp#vg#^( zyAs!P+A5@v=G;|IR+_pe{Htv-i~vW54p23eb@gw zUi_T&ylpjg4|n4snV2j`QZ@@Un$?jtY|~=QR&R!)P~yP{<~yp!9ygcJ)1jq6PJB?l zyhB>PqARoi_+8X5flEDZ`N3p5>~ofJO^-K2lV0-$+XHuL;6c>#dbJ6l#M(XGr0@fp zd${8sJzO%i@S>y>BxlDe_pv85f#)l}t9CBwv%C?BaLV zQqza3BliWm^uhuzJpTC-8YC&yzj{ItMRDXH_55Ogqh{T|3RmEd#H_x`$VbQh9EL7k zt`Seo!-!3kNV5K5Wpb1q61_VZKdutCz) z5zB6SYm7ZP`@!3<6$mon8YaMM$KXze!hS{!rZU&}&^H5jphpnZECh?(6q;jl%xV?1 zJViG&%>U)Wk&hJUVgVur0z~JY&g&9e83CdiaA3R~vnUP9s^A$*5T4H+zhb~}g0Q3xFjM-WyP%7?kMXLt2oK2NH|mp>LSn z6*lLbn9U zB&O7*I?}DR{8!2wHkkUU2i1rSZU{gBc+~=XIIpiaI#U!>52j>83l=4;pqZfmYCpd3 z3bF{we3r$vwH!mT8pU&XMFfB9B@_sB$$O;;bUA*~74{$b@?E^V1FMjtt55+p$99J8 zbDrKOQR5JSt4 z+CHSi>cjk&iF+`9i1C84X21pnOx1e2yqLZ)GWDKQB(%0Ie9uc_{S~RcZvwpU`NG#v z)L4dL_qL)tvxA|~?fI->HEg$)Y+JFh_3 z@ZRE%)yHw16=1v&@~c%7Pd+`Y_@|NKgoihCJU&q@b#wRK%!V^Tbya2G1Nf4}9xW1b z^`5ewo80gShRpmW79pew=I+q&i0AeGCH8z1%Q0w78@lms`6ux3Hb@dY(f4l$oh^A= z-7`PN4U@30R1SyyWxQKra34fy?U(y%nR5$K$&C4nnpL6aC{CrN zLP13QXXEC=#L})dtA%(j8zM>2cFxt-v>5+yjy9YlaFvY+9 z9)ExwuqmI|d-+7he~HB5Igm1yPBL=0@^su_BoN;d=#JM(Iycg~KdxRmpahe<+rM$~ z2gc`Bu0WSgRbt6pzdJ&8B|H=(O9K(Q)krin#Mn%gXmHh`R)wD#I}wO%`}lSQj6Onu ziN1S5ukajUSTg6=`~02rsnU2nu#=jc<6D~F8DEWD#GEgv^7J~vx#1pX%Ug7NV5S{- z8}?>S#^Gqkn_A1#iXy5TM_RTRH%UFUs0=SEfbtJX($~3 zxK#Krr>eD|q-MSJ`q0>!l?EeZQJ552*JFrF7Ygqs+=W>ks!N?gK9E>ZzyY;X8jm|} zLpG$v2|7}tH9{diMU8H6J!3HrJyXra`zx1>8?r+isqe1#Hz4Jrmg~BB_$Hq~*0%{S zx%V31S6w#sLW3}9B!bW?hmAG-3(WIgm`>j4Tf3<%!$M{4jGxaO*N*6-t+%k`c`Ycb6u=|eBe zX*ssYO$%A_PK;-@2vZMVuItX{XAM^mlzIEy<>{NgTYXmy<(H#NAsx1SE!aA9qY&#d zr5lsdBa!~eYsd;hNOw3)=N!0FPiFkR34!EA0x}7)bh!pqvzs+Ua znt(M?qJPNE0x{htbtP()1-i@7%7lals^96O>GEV!_zlEcQ`b^nIr*p__}j2r z@-ek-KmE#02GiE_R2b^OmPU_r*ci4J7eA2;hDm5!C-tZ_LGzN6P@F5aKvs4gvwE?U zB1cg}|Avidn;>m*p=dEXet@=Ln8ZG;Ep}PBPG*ti66t$DAZp{3mr{oW_bkHi4#WDr_X<4<>o|jr;bqJWg;pjU!J$(T4wx56?f2 zuYzbMo&%{tFXzLXO9pH-1q>K6M?m+>4-3V-%G)M&&Mu<9*w-@76wD0N-}i3*x%teP z-d^mKQT14P48L+b`TS;^04nQIIOGrB^y|I}GDB{&=zj3=cQx=lM}LboG3*p%$&bkT z%-al)n3r2GM@5(lw?s@riTaL(_YTv`uUKyOtuyH2it&k7-Sq@3`{B=<2i^tZFecYU zMB;08iT?r!Z$OwZd=c4h2?Igeed1A`r)_-oYqbF8Ji0+Lrf7@Y!2{FT z13ynCle&f?FPWd*yfJU`>%Z4rb}xL*lE*F_MeV-(2~xVP%<7AO+0cFhXZ88Xg5oHQ zSOrw#_QYNEk!LRtSt2xQ)}#reN7db_V^(b;DuU=qfOs27KHJKBup84xBVpfxtNUYY z_(#35sQDhZyaS(?9mS_IAa6we4RQ9L*wIgdL;1{wvE`GW$#~01fo8ShA%_@|dMZoA zrqYR~!)9~2!yVNum<8w~MD^=b{m?SUe%``*>!Bv!j2YA>^ET$upYZW^;pPa@WROrc z+2D1F`?Rq}2*4rMjD|7@)nm1UsZS-|DJA!>l3ktR99*MGOl zc9?WWtgFhO>RZp;dw2H%M+;1p*${iYfIBqx(o?F`J|MTYB7N+7@seAvI8rs$ZJ}@ zj<2b``$QYv2tdyezO|iZiIkN4T;ZIzv%kgmnZH=pfn*klul`u~iOn2s<_wMxB4B7x zKi9#cunEq~Ex#v=Sx!}2Uh_D06=ME#1tkR2R;yNMheMv%Qc;~F&?WYJF*zH$I(MZm zn9O|ESYo#!Dg(vp+BKEY7AhVmT^~})(1fDuK!qcIH2LiOsOom6|Z+2uayYm$q z+YC0utCr$*Z5L+1$kv)YYZ}5oO(G7J0pCLa2Eymx=fv7n|MHp+?S3IlL`NBp zHr-)S93t14Z-TUIAG0B(QZHUus?|szSVO@je+yu)t`zDFy?+k8t*R-axar~10lqu_ zdL;B4^X%9|Cj%+;veAtu8h$Efc#yJ*^Lf|G6kL_!I3(Fhl(+Kvr-GPc+I@;o6#)m` zeCz5<_!Cz$52c>PPlmi64Jh$D4ij_BjGDB)9D7x(G53qU@aR3VL7R!YmHSt|m&hDF zuH@a9KO>3iCT=eDB2A&hf~w));ydn|F*yR8X* zu7Ml?M=(rI&mb~WyR8nUo}Snpv;D6_1Iqdi0@$Sn!H3Y4@crzgTMMdBk+u-{@9l(l zgilS^wX$LAXar0hmA#WTW+iLN@)UhdRyGD)RX84nrwGfaTM4d<@LcIN5*equ=Sijp zhs<}KJKK1@63;o%Kegb+w>oR}01VPVe;bW>+50zVcA!Td(o-pFa-gr_$a!IcH)IRm zQpgMlRA#e!0Ct@CbhrK9!-zO`WR3u$8#!r!3L*`h4@ss$h23wUW6X;4?9wYT)Q9$% zpl@pB$|3gW*DwYur*b^SSQn4)heeUR<-2>zT7oLrC{N38MFC98wjC~+D^Me5S&VSU z%asGlHJFhe8|)3Z*&vd7emOJ*RwF@~t^X&ATSHBdusi7NB6NW6o zj=ihH>Qg3aL8`rwB%$UX@4|E7+#3!iVDSv7oGwAzW#Wa<%M@kz5n)G6ugI1JqyjbM z&N&u$0D9JEw=#ueK{>v0OjLS~E7*?ZKJ9o#isnsCjxV@85r0DPk4dMWfHNFmwcAfR zXMTd2LH7im27_&MLpatqQ3bbPz*8r|jMKvs=~_nTp>-XK7tC#*H=3dG2vauX9}zL+ zUecomO*04QBJ9$VM`;?xyM3utXWOSAXBfk9SSMB=(X>a~zav z)F%BZ*E)7V$Bel!iv;uKqGsaq0{(s=nFiQ{V}Y0JO3b{)0;$Wc?axPMVd!<{XKBX( zY@O5~c(V`28_atQ)+xR%zWfl?a!oMs^U&ych`Byy;Gy^|?}+Jo1Ja)($@oHYubBVG zH_ROPSEV39S=}C?U0>qZ9{sTf9&FDFuW4eGK)n(pu(2+B8y-RsCnZ|?!WOR}Fw{ZOL zkWD6FEa*S%8QOmv9mqGGZy8kF_?;@M^rG_P-i8e{#6oYYgAJuv5L((HPkkqv( zy8szhwiHLugc#A9?CPbzBH2(&#Ft=_89s`TNB_`A;8?_b>TY%#P7iMiGsF5^fHMIo zNe=#X?#D^L;t!!%)Uv$-V%);xKh3NEY!)05d1EGC<>7`$*tA!Gb6unN1dRzEQohO~VzV?DHTBqAICG#FNK6dXu`S(fu^PoUI0ukNLzUIU0}nd=Ry znfak-1~DNekzp`9@ILwO)w2KRt;jSjl5?z)$9=6@WJnX3GPtD^`ejC2-5W7feKd!x zpHunt=(gDy;L8-cpIlJL1mM9x?nWtQ`Goj_Q4}csEwLD%6C*HZ4fzoRfLH(Ak}u zPWM0Ng0)*eguBlklzkcg4=B3;5#dK*uf7?G6vmC^Dt7w(D@Kbmw&j*t@Bp_DdfD5R z?bDXVSawU%r0mU&Yf8|+qnZMW;rSs+DkGm?1s^zwzK$nM`Y-Bv#)oa%1w<$>5^gyp z{Rz+nn29|O&pgI%!;|DT`yIU+C|Ed7!KYoo96(0K_wEK`ssm%|Ul5+!TmOnUeB1a{ zCmsPHLV?~x;KCKUP&Dz_j!vPCYEIJYmcXgu%@iKT#1a14HiQuTD?4``9)I5CWWXaG zCAns}@0m3uWnF?aWzNHA7#~84ie(kcv#{1s=X=iNosjfggf#gJk2j!3T5+H_L zoK$rGa0?m+BcNe$CUyZD#b!n|mzrs0Au0Ld5@!_lR1hOP0G;xc2W4Qy33pehB%nGC z6!f+pYCf*=0s!`z_IOa9vfuZ`Ei1JFD!5V-9#0Y&J*a!;mKZ*qOdVojIpd7`qM>6U z3U4%Y8`EVp7^32WO^g8U#6}o6u6F3Ck}>+d(2)zCKupQ174t>ilJZ&G>;-Ebbo!u( zGd^7Aaq5kfzx$~>zb?#wVt$#Gv4!V%gX*1%xY~lKBD>ZD4fih>1#T9)Qq0WiVnF8j zAU9+vAE+re?K=0X^6Nrv25)Yl$VFr3eauvLK2CM|)1aVJ+TKO2O8zaUyDQ>46zq=w zuGBmCa^g``;U>1E5PeC%2zhpiKITn7hhe&x244k81e!x_UgD!F&<2p8)P0^P2to4Up0aumCNwD$^#Ax zZy`@l?6`&&>BZbUk7~)U$*0ec2aaO4R*iLb&f1tXqjQAr#Dn3s@&~E0fG>24;tV#dQ_8wvzQ1N0M${*h4io;lWWMdG{$<4|4SX{K$@`eaB6!{3g>ZQOZuwUv zXfwuVrV$C;h67VNM=q`^!dNhtcLU$&x{9eR?Jx2V8qAT1C|uUXgUQdFXzRaT>l=(NCRZ&+wW_C1W{IF{ z7nM7Sno!xf7dRPOAG+4`dOaMlpBc|42N1I?e04{418~5Ne219zc>2mV*;=zd zuYH|6f~<5y9q%~~B)=jq_>^tiAJ8Ey6=Cya6pNwQq@kVuWU(IR8_{%3GCJ_k`Ul;5 zp_rfM0>zTOv-;-9c2jrEkm_>r^Y?bAM6S{%5m~JR*q0v6COf!kOwA>65Zk)#9KnXh zh8tA>k-v@GVDvRwi4|IX3TFRchR%tn^O(f7%&?7ju!GZEiWux&#~1vI2>DWeR#a2WS^Y2i={|L>cll%#>7cwKGkN} zyqme7oP=9wV?E+>1NEkQy<6K? zvRZ%W?I_AhNA#@7Ij|mESV(obvp%&k8zWIrgqiBCK6GhI;{g-$Rv>PJcap8nW*Ebl z^7-;)?2du>pNuwK)WV0zkf@n;<+ocq4L7{_Si^#jx4cCm84cChb9Lt%%woZ#1~2_< zgCQhnr(`U-EJuL{Asz4vxtel?q9T zAf+#*a+kvz*n2MbsZbdQg8Bqpb5hxbayIMBJvvO-A$dnsvS{0#b$H1fq1skg9(X%_ zrfUBX7K@3CB7)Kx-qwL1-#Brah<&TAs*feBwNT|EABH}0NT!l2$E;ixxw=D3(~>c< zY7+m~FZ1Y=j5hX^{BqJ*X@T|8FQdj)R}aQ?yDpHQw-sEmLWK@qGMN?Bx%a(QLVwWJa7%VO>K`Xgj8P)~s4F%|~8g{jP96h)k^38l9WAE?L^^5Zy%YSA3(dgI*aAO2|Y1 zdiQAc0~Wjw75y$1lj_hmp^EP@C>nl9gf@2IpwjDY3{^vfWe>u(=UJU9-Lh9M}=r)KEi z)_xiFC|Kh=w=))1Fg4QPV>p*O2QI9=fwCSp8wQ9bt4mQcB~>@!L-&?ZS((N157)iJ zNDUEgRG))icCIn^S~|sye^{zfWB=6C8pH?Jr8%nF@5VkveaR6)ZeRDqF&h8HYnItL z8JQ+C8JzD-;RW@PdW(^MajPqKcCy<6ZqI7Hf*JQwd4>;pYUEgoeiiv1aryG%;mzxF zZ;{CaQ&y#|a@wNUpUZ3xoPLbI7`Yz`GcSIuzV=tc4D4X4 zC{3-_eYO`HcTjND((-_(>c@TzxG6O@~Jq zvL<3uc*Tggk}u1kVI7&KPDoFRvEA;L!^3L5vomO0P|IHToRu$faPr3p0jw-<-9j^ObS5s$g&LLdR^m|MNBHH45>8Q`F3QznCSR3t$-Ac zc&ZZVQ%i9OzXav;CWmNBt^P;s?48>Jf$&RZt^XeM76Y)jaSaZPmPQCnE`zERa`d3Q z2-<#TIE(J14YK9y-~n+--6yT)*Q`3<86t~?GIdd49KE|&#ecH~ zV#pTo?61yKexf@yLlpOMEk8f0n6Tp1bL`!;nU%Cf93Gy(BN0V58tyAZ3vdt(9wd$# zevGI)esfjPO2(;Z*+-bW=b#c?eFQz846TN@BvURo!c`fJ&rlSY*7 z0-jSn*zW3|yZ@A*cqnFsXjE9(et{jAlT_5fc3pKWu)!Twh)hdIeoo!n(Emm}OWp_O zyNeFmjBh33BUVfKC{&q_9#O_rClbXTR{5a6KW2*_!Bo5S#ZJ@T^KZ{>X-vngO)r>V zcbl3oS>~SB^W!*t{9YH7s$w$O>#xUvjQfyeaVcnGxqA%>78+l?+a8AdDfkcz2s|W5 zduMp=g;C3wqCDt?OT>w{)rM5~p8Ajb!zBR6a1IVZhRZu_J0tc|ecJZ=Y>NEglCO@U zS%<_Za*>tl+6A}xAR2MtEU;TzU8*>G_RI}8#K+Ogv3K)iaV$$O7ix|BuPM4g+TzqTB!d{Fl{^HJZknR zJ4GYTL#c?0e?*^_Em2M|{q1>eA^@B8LOlf?v_{wcx$ue>Y8m0?6yCh~l6Wj_v%L$a zD=c4u(IkqTF!BsML$SHNZfT*dJhAkJSoL|kp)yRfY_EZNmp!S3mwM4}<~au6e9?tA z#aI;iDiXgxEQi569dCAzU>N{nZooFCsRsREMRH!&CBdANUNVa3%Iyf44)qwz8{e3Ejk6aqD~Z4IPVTAK9xs*D|Btb+4vTV&_C6vU2@xa} zB%~!A5e4Znj?yU7Ehr!@-8d>DBHjqYY#ub6+?acYSfd24c z1nrXPM|MYcpyg z!B)nfF14FGT@8cMN>J7dYfZ?x;^BZzziWr7V5Q+BU{kLYpm9HH#zP6kO^Sr|<7zm2R#A5CIKY&II84b;v??dw=*v+)D zcHsTAArN=;aI=H|v*F2@nw}r1<+$*>RNSUQKP2n!DCP*G&Rw`r@NvGT0x;Dq1}ha_-poGW2f*!WBSdxz6i&ed1{fedhB`N*)+zF&_D=)Cq0tarH)Us=NOJ(1LCiM|^ z`8Q(Ijn86{9*^NDd}St{fe@m@xhQDyw&5jD4ulY#h!SG-nLCrpYaepPMUX9hko7|> z3J7I9r42Sy66O!rQ&gLn`y(zW262Je`iU@%cES27_+Pj(9_{vjDd2@tH!{4;L}k?x zW|#*vAH$0{mOsu+e3lArMD92$V9Ig8jYpy#^me~o^cZyzk=g*_%anZ%!NsTtd|+|1 zr@-U7*2HBj77jjQhj+B0v42%}WL`yj)y}O2mt4!a3LZe;CXe&xZtKNbsW_}=?!7~8 z2?;}vlnFZ3WKk`I@!=tD^+vaXr03(X0SSh!K2idQ)K1G3gYRY*LaTFIN?-U(PM}Df zTtj?cZ0EZoL}}^IVlwBzlLE{uYLXj*>)L`e2=oNBaO^N*$>t1_X?Tu6vpAD#V9x{8 z3Z_-yd>dKMhFO4w@I5)-e@S=be80aYmYpvYDXN53rKnWYHX3DGC$4qcz zwJ@Y4z|chEYGOv<@~X7DV~!gxKu}UKD5qnHqt_)(K(Dy}{BQ)nzz339X-(TI@aFqp zaa81oC!Fo}(QgqvK{xCr*N}_AI?cIF{EC?@1CKYyM=Q z!hj07;=vhwA5crix!GtcA>4?-MMLSkGckyfUUy)q=2aONXAwWHkskRQ8E z4E;eWK-~-1MK>-FB4slpDdg~BqzwAf?x2}L7T+2-iSZ)GHS6PJe#yE3qCkuL?m&-KgbS0 zY|5J}6JCnHMgi+>r(**wd^PYn*g?e&JgZ`Z2kO~QmQG*35TH2E>(Y%5E0w#TW_>Il zp}jhWb8X!n!G-gnc=L;^_SpSy7#Z(aG@ zKt}_fm1p~xw#%+NO!?rW&HTzfBJz5Q9y|Lr*`D3&NdXU>r?3{F4+MXOAKg!e|4wQ` zJAc4JQQ6(97-@gWGQvLpe)i23Xx&kK7bN1|Ws9evH7Y5Xz+M#I@Nmr-@#%Box?N{*w`F8cXeVFuQd@*3L&KUgOBz{ zv?Nc-ITiQWmGwEYm_lPcK7ZekCQ_Yj<8Ni6=mU-iDT?v0l!dVh{7;vE3RZm;;5(pZ~@ zxBuBznw{66@L0>rt{e+#VQ}sLP!5wzifO*{k43xgc{X@#A;=7o2yp&jQgY{|yos%O zw$UKu)g1F5=mtT~8AQo35J1vfy~o~5YZCLAn|Ur<2$OyNaRXfejw&!Wi~a}arrF5zbQhmOeeKRW?SQt}TwX?+r&b#O7cFO3xX!RJ|1vmI4U0DY9AP*lOxSs7AOup zRr%})2oQ6D1ua+46ieLQvebbqfZBT9cm{HRK`amf4kqs_t*wCy9PM6OrdDiB8y4Rr z2uy=JY-Vi+6W`;!sq<*Lk=>A@KB>X5n2d?Ualw_BSBB#Azd`qNdXU!)QCnteUft>9 zGvm#Pp6OvgIL(`pUlenU}6t{&&~aw%q~e#OmO!COIc~^rbQILlsTPuZKK< z`trxLSu5qYSfJ<$l3hC32<+R#l82nHxDY9n4!v|>gmgGOMPjYC&QF=imq>HpZFuj_ zN<3w~0Y#6O@5D3Li`)pmRCu01BHNmlmUm@*-kdD5{3hvX&?nlOFrMi&XFT6a>u^Sd zPS^e`(z>_(wT$u6>s2U~eHW`MZf-wMby~Sg+vgZZc2K9uOTeTI`qz7wGB)3#7JZ7> zpIgm~DVL^9#qc0g3c>}9*vzg7qO^eydKOb^u5l&b%weM^%C%~pQ8-*#2qmvT!F>A^ zU>~nuZtSH5?Iho1onX6_d^pH0h7#lI%&N>YDqg&GqHLIoI#4^Sx}*NBJcnRSgcu<} zJXD>hVtc;FHg$s)u5WrNg;cPMDKYvt9>vV2^ zTG@03{9AH9F~Na3F@%Ov%42%iBTRU}O3&S4<6~o}T1zRK@s~XdSdZs2mo@2wGS&rl zbd~dNQL8-U&Z!ca7Znw&+zp3ry@q(?%5{X_jLF-KbvV3^>H_BqFB7l(~_T5a;ZA5-EeK54uz zk|4G;cInQ{I{$$C);gJP9$TO=SA^HA#wZpRE=B|Mr>-?%&o*^6+kcunp4k&hMNYE6 zJK>!i&!bYK+7hF(%}8d%_Rx}P|0_u?d%(xa6z%xHj!}e%{*>p7csh zFJW`r*-WmY@A7BMty#%bQdd$oZ%-}SE6B^9@b?!IuYX%(YpQ3=QRu3crha>S9%wNG zLbMh;{!=G^zWy+sY?2GS+*BGNY@01aqOcNpmuz29c|We^GeP2{`>-tY@M1y*SS()e zl%Mt^8D`ag05UTHH~|68vcSNprA@!p*>s*STuq)4JI9Jh5tVL};q)5JU9cYXiOI5I zyElC-;LM42##4G9XI-WD-+h=>&lTxgcFw+~GSz2Y^K$W3^lN;7t2q&>y_s(B%4X5$ z*X71tI>tiPxC3jLyUqjObFi4ZWUq0I=ZUy*qH-QbVkAv^ul)~`o~^~Wvqd}gy(E?Y z#d9YO##FC+E)3F2{Cp~IA2d2DM$5jU+CR8`Q_UiIt**6oC||M!^p%rOIWmZ-`UtxZ zVPH~N!wJesTRn&6BuJBJvc@LeGK*}+I{XKIU9JK_7Eq2pR`!tQw5|o|Veu9xW+A&* zKuP-dnv$@?W5ed`aGT7p&|-m9e$ulaMPrbH8yF^W;>uEExyyWc{#KajS_5?yB?D$iVf$981SX|9M# zTt#|r{4%GNJn<{9PT!lzGF`jRql-ztpHtiy zOzgCw!V77mN#0YNipr(-HQN#nlS7NE-p{Mpr7L@zMHxv0s*z?udw5a&m}yYRnj4nT zPOvA0HVUx}yF;7gT<2CNafL&4f>fc)pmS33zJkTlFZ8Wmm)K` z8p=ehf8NOD(T*GlwRBuy(o;!s*+bn5P$jD(kX}|%b?r*>3MSU+v_0nkiY=-KgFdL=qVNHotHi)wm~tW+67m3bdV(~7LVrbj^zCetGX579rnXvuk!Uq z(PZlh&#hOsRa>pYS_~{D9MasyEO9LTu$ZJk8U};Qd1M}*ic-W$oqc&9B=-Pph3alB zOyvlFDPE^y2c190LjX<$IUREYf^uciLle8zNcE$t0+_J+>(^G7_8hG9gezz+{i6)XpWK& z&a#?gJZ?m`VoCk5A{gt!>tY%FUN_oe&fxBfGN=LK+^h8Rw zP+pZ8p;v74;3JFLhzrUz$jvhC2Oe^d zC!308vdieVNm`~Wr}i!f|6Fx!)noA3TWYLymPU5@!qlnu<~M1d8FNtAC(Xq@4NxZI ziBX)wM+nr~A#Jp9V%(d4j65JvY8~qPF7Km61PMq9v0>UMT{~vb2S= zl^W&l@e>tjbpL?TiI=oMxMf5_|9b)ra@T()dDu&US&6@Ux=}ppY%HFJ@ocsVxQm4i z5%ytqE0?vi?gZ!e%%SZ;o%kp|)kcx%alIP+Bruwa+xw$d(cA99L}J4!v!uGr_q~Rh zyxoa;`fE*#-qMxIJE!~0UMrJt&#-+??K61NSx7ReT&^mimuJ+Fu&~q^Cq3Gew|lFS z@~)3%qITAoRoaipe1j|Hg{$v0->bP)*nP|ehjcB{bV+;1N2R4J%Kc)dMcunN)ajTq z(dr~~TFwT8TS{gO5jiwE9dqsDTQkTc<4yypg&`Ry*a zx%8J=+bW%Vy**S0%>s~Tg)=kZQFO0llD)?$y(nIgYUW%h%f;ob&`J(|lEC02S+Mxa z0$Xgh`8yhB_*MfUm;23TF1r)bgfF>3VEm$(!w8%T>xH~6^_2P5wzxV4`e8%qv+3I> z#Av$Mr0-<<$urAx-WYZ!GwE>$0LA9x6{EhE6+4I!&Gn8_VcW%cy^HZ)Oh~%<*7^qr5^te#Qpx)rEN5j z|AbmjeaP*R6zn}8^@6swoIg=%Er=FIntjvj0;iaB&CZ8wy)PH{JyuYQoWm0Cc=~6+ zHK(!sAmC%Arl1#if9HSV5;TDj3e<}R4)OCP_L!{C4xu^Y01`j@tmF|NEP{k97w)$9 z!ZXqTrv62cs^*9re+!T~atL%QRL}85k>uwvx+01^K8fZEQ!_L^wD4A_)ofx9fMW;o?Yp7nex76$gOE|=sVXy=2A$+|-mv?0FRCjl;CZ@v>z)8? z{_FR~3GaB0&c^60o2%+?+2-ej-FV%sT2YIgbH}O}8lpj$Qe^l+Dw}lIe$O$?ITMF* zp~M$t-(SZjI1Xt`C0jvqx26yF^}w>zC2gNL6J@9F$kA}KJIZr;IV_BtGIw4ES<>EccWL$p zk#ggNAKPQTu*(9~3z?eTe(OwxsJ#yFEUw@LnskZRJIC3nzddJkzjR#eQc<6pm}koq z4b*$KmV%+?#OikSuQN~nvmIp*7QEA$BOB6`tgD)6;4qB%>SIBI{OnS6b8qF+*R48L z?qpK8Y5kN3vwNdtWY5qFxM!!$x<-TpRr9Ra)OGVMdpOa39qI2mWa8U9i-yUxYA}ZN zO}`J<`n2}PK3}+UwSBlC0wm=E&yDo5;sDldEFjq+%V>5o_psJ{Ks|UBflE-iy=$z} zW*q7|Jrp=uYa)E2uZzV;hO}a9#vn46r#f|xy`x(CIOsk>WD(EGB`I1+BcDrnbPp{m zuFp!wJs5heyd{(07}}cd#t`w-Zhdb{CADk^j^uJkDz#pHZ(U~wBXJ$tc(xcEs!QcD z<EZvWDcAJ6hP`6pPTS-8Qk zmvf)(>+IgsTa}q%xgn0Ia6{3)Ex0(OO$iyXoQ_m6fU3w?L14I7WLqg&ZX#c>z8XLl0%SjVC*4RXTzExccdB zhGbL%HEbZy%1$NoXY&+(VakW}pPNp4rKU#4&Egu5Qbin8+ck@>^>WS+(eC{eExwg1 zG!!xZ+H1c@LYsj@+CLdR=PQSOak_|MY&^!2W@Q@Mmzb57Rtp{ za-Yy89L1vq0n`_T9%XlPyi4&Ic|?Q&D8_xs_?-JTL6A0wB(;O0Krj(blk5sS!h_Ec zB}CPeR8Tqy*oR_J^~;ql(_dMONAeKU6j>9EtLk^7#!yT_A3jMI*c&^^?yqV7m%i@l zsOB_eobM&%xr$iS(qbZZ4PZO1aN1(CBpf9R)1W*ruYv;At?EksR$<3`8_AQAOu!FT z^A1m>O1dt+nT~k(dOT4rMT4Sc?yb0Gn0n1@RjUN7q})nnBbPIsu=UK!#qS#*(!X|g zCLL{&n$QhOx)2h4Mo{oH9}hpTzmP*qW`oJ#im{iM?ae&_$L_M(uu=8I(TAwaO!lwH zm2Nhbh7*x}-X8)roK}HjqPKxUkn?2Kv>JODX>DwOAlAv>=l`2=kW%FlbFuEkZif@F+9hUIy#bWI8;Ukp>U z<4~nFNK)nAOB40H)8q8Oaihv=E@gFhmBF=AK!N>Pv%M%%0@S)G94I1Xx5lc z>zz!o(cwPH=fNbZ>Jpi|Tl#a!s`SL+{n16-AvL zL4Kh$`$ce1sSg1ttSGo4vLPlCBy_s@@MzJw-xH5OWnsPm_rX^vt1o?bgC~m$N){t7 zf^-j0)%iSqQcwWYy5M^bG*hKiJdl3UldbBtfsFRTbKfinzY9 zfyE%rcnmcn_JhRd0zs^jJ|C)Z({!g0mbR zD*aUfjPgmJ{Fy%ja@70agB{(c0Ul(R^zfplPY9*S_=1zr; ziW|17)%nCsnJqNDNOZACq066H+z1=n466>cv{mx4newOumqZf&^h-2S7mr(hs8R`K zl}`ZZ1lQb)nn)~dAR1JBgL+B;piR!=A4f=8y=5kkxdZi?po;?(VZCWS%?GHlyR_>3 zo?QtMhO5agb3y%UUh4cQeIUi{ZYAfsLhKk{lLCNODyEnCgvA6v zdqiI!XRe(-eam&c8C%YkdsEFAGynlB;c)BQtPZjMM6=vP6Brys&qh{3;^X9ngT=^iAZl=*Ar)GB9DgjrT z=U$1f2BSTb3;lYDVh;WDRh|9ZF#=US)~NTdlkOQB%IZa?(b14N47!d;ZT(DKGWxdl zJiuRpI5|q{M7y+^hV7@xKKma%1t0RK)yF8BYkO4Fi!UX2^>~u(PKduxE|k zV>`n0UTk-k0A(KLN>g;ZOTX`a7q%4q zwM8*4B8WRbIJilrlrJh}wd#IT-0ABrQeNfyT^skowx{qjQ<99Q@Uv4^Iv=%n*OX;; z>y|hvY%JQgkg27G>6L!ZiMd{NYsMvN&4`x#2RZ2f(Fx~Kap(Qjw<(LBHGV@QZ$$@5 zHTs;U^z7DZGWQ__b0}G;y`5G+X6!kX6mp6%;daz8XdnYQ48+Ae;sFVZZDuQsf+U8PRf`71~bczais z50pz*e<(E7LZ;-u6{FqGd!S4z%lUk;)YGmeZ~DrTfV<94w8G;VnTt~rn@>o%XI@Sk zxXy0)EY9h8SBgvH4FKwJxA2EB73)6=bNwPLUfWQ-^GmA_qJ#vbd_@<|zWf~*PDuVg zr+mZ8(74Vf;``BxpRCNVJ$Jz2O9WWOh_?}FOk$e@B4Dsk=*$%xv7LnvTk4A44U#Ri zoIWZr?NTluzP(pgo^Jgui{Y;80h0WF(eBd67q;i8g4#!^>J%cSJg$WWE1xbdM#c(y zjGh|16`fyXW1wq;iedA4bT)-}xZn1Q*qDH$+EyLAyPq_}JQq(QE^pia%nYNio+Cw!}+~ud!#`4o+ReEf} zb(S(oLAlwh?nYW+LHLfSQQ>=@NT-m_z0ISm(sYHcAnr&SU?4S%cSgte?C2vh zf)$8;yZyvt%GO7fpY-%3nal*?XW4CUrc01p4vR`So8M7NOnECtlOB^Ws^KD5hcBXW z&>OJ1+uy%Escdu`3)n-nlSo;@c4@Sjamo_?!Y%`Dg}fnn+Zj>(^duHnPG0Z#7=L}h z+zSrL2?H8DGnTj0L<{Di3kcaBL#Ps;QEaa%L$YaC$MhIIr@W`3gfP3OgqV3q0A3ylBf92NMG6o z-0Uj=qmh-3bZvbrnk-n?^W~l>qqwT5W6P7-{rk04*`etgO2y|H<&>Aqzj>9B|G0gG zT0+Ebj1MEFolu1xKA4c|EDY!<)4Io6MXj* zci^tzj`A&AOu51YQBiR{;Q7Yg^xcuyRVb2mrUbSyzA$mt+0?sU7UthGiq{w!FOOdj zU`z$`Cf+g#>f~PBX~=i;~@M@&fPKn zg8K~v87^NV$$3IQ_UAh=ouC)8B3qD8dZp5z^ns$+45kArfs6_iwJo|AmSZ}K*ApdF zs~#Pe2V(!hi$IohU4v4MID^cG?i2b_3Qxv$}Chg?VDd?Re4aMW#sni{(1_3NV1uzp(OtZ`{)tB3*1SsM^SCo_<>Rr+{@4{*+-c zBhAske1Pa6ma>%OdyQ=sMhH+{2`}(?E>u`DhJRD$liff&pVLLWsSht2v=`8(`pun@ zi70d_E8jbx%$&?N=-W)3G+yr#+h$6igyX_q#^hqA^&_Q*S*_v|D#f7Meft(#xvjjK z^gje0P!epZK9CH(^hoCVZ<$8GZ59-04B{!L))2vFOHB;bVkrs!<)*F|dGx&tHwrxP z78;y3Kz%R+25w2fD9U)9UYgN&SYmNkJUGTFD%%(=Qng7A# z@P2&dEfe}up97f%?QGSi%o?p{Gewf{v;FrvGjR7VHWDC3eywAy5&tA3%@_IynhL?d znK5PBV91a^MT1-C0oyRZ$o0N;{c#dU@E%ZtG^%DEyM`hqVAsn>a^4m3}5TO zw2Xr>Ia{js51xarr3;5s2>yf$06@VVfY7!w`F6V&1C;}lwPj+58V58~8aOV;`W`-5 z4j|!rsZaxdqP##9s|{>yB3yM~kWv^@X5csgslwhqrp=9?m^hC)4E<>|$n^fuz;6hp z3IOgFx0QRqyZ%NEfOMSK^Um_zCH-*r)xX#kDWLN+O*yw$FC998Y?uTWMe4oZgFyH^ zflIe;(Do?;Z1EbBF!V-Zzk<9f9iJ(-r3L7@B9OV&37=$3HO_+i=MQ%b{gjRuKxd!- z8(@NIO#xX8Fqc7ux?cHas?`Lx@56cm2#s)y8=K=B4X}xD$L_wr|ELz!zhnrq9&w5M z{Tb#R#3w>@3-G6lrgsZSaS+wpx4>UAoEkg}c*YQN>@UdyXz{%X^=RRXzx41Ytjo23 zm^zMY0>Y}EaXDty?ZqsI7Qz3p0DsH@Vg5`WfS0@M3@D)u6W%y*yU9VM{0o@;?b+K4 z;U7-hp8lgPg}goZYc*Z5Nkv~({#Ga8k(`fVHXJpBb3F1>;}@G5I}mMj~nh31MHr>A0ur;GzviL;p7G}@2`n^nQ-{=hXJ{x??^y3qXcOxbS(bq+Qb zhcDPIt;uBn8pgl}2osk-JPOH5>Pd7f!dssvY{rs23=R|=cc6U57|a}yKr0V6obHXpofMhyWG>{%Ao>6 zi(nu9FCvH`%x$+LFmqZ@veds7l)eqR7&1A|jnN@MXgLU_)UEK6&SL!}IfM(*TsSSR z2@E2R$Tf5~1w*ESFBS*Y2LtHS%L0TdcMcK0cgewFT=Xg)XqN_$5qX%O3Qdq`;{ZGF z!?%JA3CD=@hnuLs*N1(l-Ur=)BJ6Vm({+h{_W`;mV2vSqbZg7|dAw6RZiGb;?T_L4 zaKmNIH0;Vgu>$z+<*5F_KjjuZ-(lz1!64ZLg2{yK<_2R}ruTVle4_kcN_4O$Rd;yF z-E%^xd&P$u^b;4lN#oqm6x3t*tMvb2(!fVG=!Nfyn|~qR@;)K>K>H~KU}(pS7H)^i z`MbouA$9}e zcLM4kOmyc>#w)Q7;7c~<@KUK_c2$U{Fna;FlEN(V>jqN}mKNIq1Ss)Z*TWNCxMKm| zAi6*IsC735pfKB_w&f|94}QvZF!!NJYTNsS(P2B{B_)7tmtvi~fE{N72@HDd1*joV zxgL2B=_-h63EA){x_0U00QlRSg<b%PhLFi z1OnJD(C(6T)07S~I0QTo4Au$Ft9$(eYfv<~+PZ^uNOQf;hW!DGB(E=oyFD!K_U#uQ zW=CNnsZjtBCTs_Ge2Lchuw+yS7$;<#&s6a-Fdh8@nHpFT^*;$Z+6VZ}aY6_@1PIAaNSOy_I|c{aX#&CAyjdM+ZWVs02R2U9Tovse5_1V9U+>j85Dhu`OSMY(v4dt z0o#6s{S{yq8y3(Pq9AzfP)%Vzt9U~&&7Pv@3>ONy3A~MmdF|IA=G&x9SRX~tY1$#+ zVZlgDtTKRl2b+rWJ^x*k8&fblUP|7>(#m&Fy=AqfcdFIc=8vysO0 z<9v|I}U&} z7t9QRDg{UII>>Kt8qzsgV)^V7FX%S=VrTgWGL`|>R=oDsU+5p~$zM{`Ul|FRAho=Y zRSOnYmNOtjyTJ{YG9X9aS0z>GW~C~7NpoPQTPm?&<+w0@FgKnGUCgTp&e& z7F&EGqmF;@$WYAab`8+#MRlMb%`G#K1W)(-%oAk5Bt&!Aw{X9bK zGrA{L*(8PBP_0$@^V1mqvu5gd+dY^cvxBbKFdF$X7EN;vFEF7p1 z{zQRiq;uf|DTUzFLuTeqLh~kL3-Gu-sT>z>U~sK3!J&WnbutC!Py)$7uk55D(+x}` z$`@{Oz3Gq~U2q+GS{Bh6afeG{+eEF$`QLHpb@H^p1}Iv!94t3_jmyq!mri`iFh^+w zZ>*njW82wYwD>lPI_x_gzGa{g4sM1#oR4>PAnlr{fjlhmPNu z)qPSJESkTNR24S5RI*k9pfyv8c%&3Xi9$DHzNy7VC#?k`tZ2FD!i+MW_Ez);t?^EG zXbEe{#Pb+Zt@$EhckVNikHlsrGB{J@k^*YhT0-|^=G;;Q*O(+v5pI*sk+qiZ2_S#0ah7dFd6LmfZqc8uCGY=l(5y1lV{HF5mJ z08_Wt=1&;#)uO@OrNpB3}X zKJrF(=3Hp>{=}UI!zDMoi|WD z2|8nd6}m_gO!{0_-Zz1k1TN9e_gA*PpKDzT!s1pCS!k2VyG@Y_%~uJ3JQ)ya@xuCd za>5Y+*TQxYrcLd1)C)qh10r6xtRedzmCQ#otg9lkMhhNA_ZYBe(tAt< zRIYgJ*PwnZ#RZp5mq+hDE1SNzF`8d~#$z*GsH?0_#;|<(wLEJ2vSOMtxi4q*qu!1> z&OmlF7_vSy4kgdz)(BcBrVC{ZdTo=3uNC}^^kon9v%Uh_9N}sB3VXC{YG;Wc$$-Z; z;qCUbr-V9treb{PoV%b~R!uZs=(mg906A{60H?A}jo{qZWnOGodi}e{+zG-1RA*00 z;X8byNMw<6jN-n(;5x?SO;$3cc)b*~a9GKuZPjb-UF6j(;PqhWboh|ukSdZKk4$h_ zXxXlkP4~2Ss$I~b)!pPwCu!X&rG0*E-8_BJu|b&DOGsj7HFu%&sbO7!3UYw4XGMSG zr;w!DT$+3Bvuw}(A^F?|Nu-Qivcsq37tLY(tg~Vn$u6efCg=JWPOX-@Hhj4=3^X}l zf*s&6HMZ)$z|B(P28|4}v<1MO4l#|Q`Cp5hI8zL2`H#8dgMw`s5N?FCr$XU*2HN_t z(yjkc4-_@@W`=FSD0np?ceaw{K}qVNrTm5C`Gf0GeTA2KV1!mKEv;Q;YGe*<)b;Ir zs=F>@$M$45T3szu?T52hhCWdAXqgRUmw=UCqsbLMyiDUIAmTk0c?lMD%u%3YUD{S1D$by0<}p*kyDUEXRl? zn@R?FTJQ3bH$S_)E8eU%I#h8OJ@A$lD2VxqK=SM9B+)` zL&&TBed)3h>DKhY?Y1HBs_eZwk}9kHu?4SGM^AyBu`Wd~wc$kply@;xg3ijT#QD^n|Pddn{$ zh8n2zT2(7!)&?;^Zt-$&sngG*+O+N2SN3)E>k>t<>ihYoV6IK@A}FUJcF_8MIQj)t zmAmbPZdCEodrEM4f`4p2im$EMVMjJ9iqBvbqcTA?e_DlLY3D1~y)kl=NO%#2+L>Iy zM30{8lcj%(lO=+-My!Y?w2pV%l9Htjbw6Q^HE-3D3Y|z z(V8zz?UFR^nzg>S?u9x=Hl#b#A1+h*GRk)nMx6OpLv?#?cbK8meM&g=)fQuUb#>;j zd*`RcI5jb$COPf^KZ{IL^;dCywP`$Q?1Qx&VIN!ni;K=~Nwl+vX}p&B4v-OoM90~J ziB;6BC_Vh+88+`q)?FpW1@OSpa8E9}cyyjgB&;|6&s^Z)DFzAwPjIGk)tN*_410iy z1Z)|hF0OoOv3Q0&k5aY8$|$-^MHfhx;&meg%oM`-4QmrR`0w#V!372Hq>6@50=>*= zuejQ%Bkd`2#9V%zp!05UYop6~(*2+Q>pz(WK@vUgKxGqdyV znoeKdCL?2bs+=2JQrS&asse}%ra}}dU+xZ4vKcUld+>^7On(0GrKh1fGb}d5vV7%> zd>pcF@6)~^%F|09NyqlvlQtd-|uX|7D-DHX_ccvXo_x0(HR~J}Ib`oJH_P;wz(nh;|rVj7^ zAZkdEW!Il+WxQpUAf&kZeoWd%Ew?%PGLjqelRySE`uj-GN z)BN{B^_4vB4~!L1O&hOn z{WKQYv~W<$oJ~plcve;D0Eob>hsU~~Td$`59$Wb!B)xY{o&3GaXXI6gi>t8l#7n98rb;{@&w#IY%NgE`G#;DEE^@%Er z&cDr%bvQ$&ntrPAy!&Xr-kx3+WsAFZDvw!N!8~X5`o@>bgN77Cra~OY$O00hY3h*h z5E>hh&IX1#QtnR6EnaNHz@Z-u6d&jm;|`4C52yb{2_C8v^ce|)1{Rm9f?44!TM8YRY|83k~Yp z_Q~{;5$St-k(-^3x7;OGmP*g6k|*bh<_&9zAAfq?(F;VG-^$9<);rJYyfbfj!j8(< z-J3zt#_WIUyS&8AbCp*|!`!?k=V!C%-Iag4@pvPrhHAfqB#=n2owKZ7h3N-5Oqg zC*zr7lIQkyIne*Czw6|6M>S-nfqjlfFn)GiT&<7ZsJ-HzUwpt!_dzmY6J04f9FT(5 zPiSAK;xsxjC-O8|2Up!gbN7BssjFYGeJKgv-X|(8Ba_s;V@6kFJ*>H2gueYj*R?1k zMaW%C9>?$GGc5J$wdpJ5&!+|~CMVun{5-SdyK!Vx+`{yZkbDJxWrRk!$_UlT+nq&DqZ!aA9*V`m1OtW3^ zyz&U@LpD@8>9lRD=MnUUCt1x>H(jq}t3l0IO=44KX#(by`g#^7w{O0rD6!aTIXJ!= zthekxs;47lTDr6{?3BIcczjr?WPWQctJQ5yK*(^Wzj%Icrwq0|JvyYfbIj43sm$~H z)@=Do^n%-HHkrpb=S!=-x?v@^g?tair3Y5K?OHMER>Ire*`A&ZW0J7vR;Q?jw^@hP z+;+AmG6HmCN?X1!#dr#Alhtg+FyY~kQuTDDFd7TKx4Z^FszLd34JTj)Cwtb&9dqq2 zZ;~Qu4>$J*BVNMmSbF#f_SS^pm!knUv2t3SrXF7G)bq^#&MC3!6VW|GJ44^#u^8`B zuo05J*+EuUzLD>FXGw9tU6On6dw_@Mqva4-8RNb{O}A$!le3d+_ZUfcv!Ru1$5w6n zEqOyn`uh1n&&&<_;h$XXbB_4THnk?H!#dn+c#U zpDc2oW6)csCTrdQ80z^k%yZ*uH-EW{y`1kSI zfb*E?5su|6h2}QFn0XpF;xM-bRBZiwQ4&iRaM!t!ukZVL*XR9;5g~a@h+Tp%A=}-w z{L<2mx5K;MzE<0Do`t7&@?ZtM<5i6T10_QxPQwBF74k=WU1k+`-$`yR4o|GCE~rVa z&eS;W)-9Yb+in#v;-9s!a_OJ@H%pD_a!_h_$>gYejpuGS)48&Fp7Oknqk4O;zWK+8 zly-&{-Eua*?k^d3$CU1O%{`deboA^ZHDKEM9^kQ@6n#Qev?&4Om}3{+F+d zUE9qO(>A%zQ&3PJdlF$WEK1iq!12HFE4X=rpoK{=zC5{x(p>&=#XG!mhrtp1e8jAf zzIVWwNfTG&!vv?Wq}%|{oP@8x6V+H|CXM2m%rN>x#f|y0b|;NFEui4 zcSc;++g>kQnphpACDYyQNqtw$Kd{w?zTI8yx_-Y!e5?Az*fWAlf$ZAaiGS5xlxVmV z|2-Ga3EeIQ(H&R@0ii$wWl~(}1{9*yMn12~>n~h6O*```GiG;KQmtftbhl>PV@FbF z_{^G_qWH#SDAW0_{S&*+o57)0eD3q|R;8;$n49LUUp@Xe%kXCku5#pbE%uCa;5HG} z(f^H9@NXE=o<5F`9dcdGl3}U6ejQwJjW@jJ?wP#t(^x_$#foKncGa_JYqKZaa|cxz zvtHEd>NIX^<)Ni^OY{J$aFN_e=U-u&N4F5*w8rFc@X>7&<;LV)S`F+>BXXygaA7)$ z?{}I0qSRZ;MP^6a5C`l;EnUhmz6o&0JfZT)=VX{{K~ox>+_5DbaDS?DHJmNjlpSq^Eg5=0-1xEL3SwII9VV^R(#{Te>V6!FTM!1 z)8dy#p~=!!63@wIGuVM1tjNSmmvlHfa~M9D;}76vy2*=i%qX^${K2>OW^jA7qpEbjyKm%Q& z@Z5eUn3oGWBTf@<3}3j&yCtCHF(@Fh{^%xN=Q4Mk`Nv=MI>eyAl`t3hN>-PFA2(`|BwnQGH7vbSMX<$Q^P3^eyDcHh75Kxd7P@ znrZ(16~Ot%uuLvs@-7kO&@!`cm8Y;y?+FU0btbp@SbLhkSpRQw*qrQf=zn;AvvDO4 zEVQ3-=>Ow4V9EydMug|6PVU&h&{Dk#n`l=09vEASr`rFr`vUN%RdXqjJ5FA}dfWeB z$D1YpKjip@Qn89hNbkE(AG34FEg|NjgH%}}(MH;9&Huh*PJN5oX>B+zS;0LjhdmaN!l$wQ_b0fo z;9jtCUSNpf2n~An*8}j|X#it7xI4C_71;^Yx2SVq|1TG>-|}c;h+6InDfEOBC%JA_ zT@TT~$|&yN4_^=}>E{(B_%)`+=knq>3;zTau-D9y4{$Wby%;2U6L)ppTLd%X?eKq? z7sDQV7cx~X{#hy|R0U^7CMbxohk@O@+Hyi`JKWeA=8?6`qiwvn_#exLnkU1+_>)<) zyO@JymPA;PIVje}Z{DlN%@U2h4A?aFYajGRU}#0&v7+Qg6p&HwNM30##B^M~uQDVn--`4#36R{=%D>C?mu%>p=F{Vy~C3jPzGu_be3&T=~z zbaVK<>T|IO-j*UCEHZ?zy9bznX=FT8=U*Kcqu2Oh8fbb6$qf`Pdv-U z_MrW$4z!L4MLW#Q{nA8tKs^28$H$8D`!}E>1|;W%*Y&mHTuy!Ud2a?*sN*XNHRc4y z0{zJm7W@Xc=D%L_1F3IVBXfsvdcQ1#nHl`s5$fw)*powi!%zCoo%?1S%i%xSV(*o5 zI@SHnWLN^El0?ELa*a*Y(|@%XkAY4)+NPv6`g#5vH#Z2YeqB>wG~D^36ztrA1^?Ba z-5~*@&O5zDgdI(LxX!>J@Q0B}e9$Fsa9KRYAC^R2*gIx_{S(Zi;2CIVEhCfYZ^}Qe z7z2mG*u4lb4nQv>Or1M_cnJOpsQ-1<&_Uo9)guoCaoFO$Mgxfnvus&41QblL_wxL>Ww?eHDwfLaK?e2rZZV8EGY zXkkuo0q4Yg8pGbb30ZjXF(MGS1zyU2(FQ=9iAT+<|MjmBzv2i9FTuN;|D;+=42uLJ z#Q!wbLHM5Pa5D9AKtzKCNd#Q*wCApW?#)?0-g`~1tApeMo; z&@M;9J0Bb{iuoj9NgpaDy5E=v+9gEW-^hqtHu{AiUUp5*#K+-qa4d~GWbmy&{|C`V z@FnQ#kH34{>Xk>##TqWzKK#@8;uBW00cG>a)Ca`0T z;7oQHs5-yD#9kEke=YNIMKqozK`&(!7BTtD;UIJY!>m@$|31YUO?re5LEfN4(TvN= z-%p3$$t0Gm3sS#Mi;Y6bA6IM|Fv6*>5ncsZ1ws{a>=hFK=i1Jd5Hhw8D=!k1U@4A6V=F^aq2J}u`O;1QAA8>&PxTl7pBplgi;#U~m6cLtUx}2_Fv^y_ z$==*3QADz5DSPidDj^ctn=-P?%&OnHxR=o9+xPqT?~gp*-Fx5f_c^cme2sHX4I1k# zA+e52e8fLd&%Kfckk1Z&04m100tA~k#f#*HBuYY1wyYPc7w_4chWk3oh@iQyc@Bu~=I) zdW8RUVSD_dMuV}wY)!(hIHLs5WGy-isL*F9V1on=VdG2X^keGAs2y-MIR^EhZrj-? zxC&&XE;cP~`k&YUqXJy$danEuMPW0nWGUZ?J|6*e<#m^uZ&L4@6fk<@lLli4xOn?` zAi(;>VLQazd-wlfju96@uBTdw_vSuYAHYb=lK`S)6MJ(V@SPw4dsA0Q7|>LA!g(H7 zMVljoio&Kifv+vO&hz&g9W<-bCdA>AAO zu7A78WdL}b=61<`I#Qn=jBjDU;MfZy`AICeCG}g6{jo3lCQ~lL;fK3041)jeh1VY7sZV$>j3hp)yX7F2^dXixVet{rxE)ainV! zKAPyDPM4{qLFD`xZhTa*Lxd%gCU|~KNY~CM`{sJUSCmM1LOIa#aOXQD+Bo-HAd&NS z7{27*ZSHVxg7lTxQ7P%2-~Y#JUV<@^snucrxoYvBZryq+q7NXJ=~11%Ya{?iy#O?5 z8Zz|Tr)AVlCx#CS52Hp3%M=G*t832t?g0eZz%_tPe(K*^kd1!H z|Kh?x0RYv13i=Nc0;Cmj1FEr_L-=Lb$bs}S_1;sG_D=Ia@**D{>i`JzF`|24atKX_ z|LH;$z!vg?`<*r8DImsGFRyJMVf=4w{e$Ajti`Wm`{{KbB&OfS zej!3Fhy3HFO+v-u1JtVS)X-&rOTY{rKe<7_z@XBM>h0aQ4hXjt(x85B%tz4;ZR`%Z@Q(o$SvTTD z_RJmh{r^asbI7v6)fcZ(X6An@d)r0cq63Jue?ZE_AOhf+Hc>fXv|d151R6e~SCIZy zYyU=9Opvf;|4EFyBf|$rZhs65grxqEhr65xtlI z!S&t>-aam%3E@6_f(CZP)e}3r5+8NEqdUmvfH<5=`Oi2U)V2iPa~gl#n~(luqG+lO zUInJ&dbkevm!TPxYaBNZV8#C=N-#NqdKg<8UY7yk$wyZo|F@z8*y9bDE|nVl`QL_) zp2N;Xr33)E5^r`_84sTJ&MkjR1tT+%nymZR_AYY&_sJk*LMq&f{YK&+2jU+JRQMep z>)t&2-$uM&3{8M7F=bpoAVu;&s{iH~;ab4f6SE~+|Ko`FKQ;4zAqbTL5dE)p0Rne+ zmVltA8mol#$d28A4X6J{wp1ZKa{O_~|5>8oIe-}9i@AHZAJ{)>V5{FFv#amB4#1zV z%U~w-isJtU&<`TK0SHo+4nNBOAE*2`b%j3yGr5%N6ME3o|LLhs$U*})RJ-pbHGvj^ zTJPW9^ruSg7tkpH_f3v4%Ke`Q0*wO$Igx_gdHVnOjD16hKAsqS`}#5Ur=URiM{VGr z-cStOM0;5g$^TjFo4mn{WJ78GAp}2|Rfrjo`>`>fL7(-Bb|(LNVSN$=VI+E92k`48 z$W_{g=^gv)qhME&E}*WI5q(Z(QwErj>qgW8T8&ok|GYr712dK@GBuz}WBw~| z7CP+>&j(_k%~AI5|H>OlHK2GCq`_NzcO6W96k*`{5VIrWPrA3xHvD6L0>~N@(TBYi z$UlDbpR)E2>6-F=y!Rf&@ZTfat&9JE2uN!Gl?n(mP>oHF@QB=}ga&s&@zLD=O3wkk zE*I4S_TSmChs%FYg6;X?ZdU&Bl|?DgwXX!z2l=GG-n9G22pBLPSW0A~sQG;% z194&@33U5-$EFmJq@7rF_Cmqp|FpW2SAoJ@YkR(Lee8e9Iw(Q4{CLGPGhbc0Q_Hkx!ZMMMRD0ck?iH}Vgv@)5)D3zUVgFqU!QKpH^R05v z_uFi^CvXQR*~9(+&$G;Yj2zPQhW|UH{Ob^sKufB^#OV+JkY#BquI#e^yh?ElM+0cv z&kMw;de(m`*&q_24ie$*e*x?^0H{TZ>iyf61%Zv3T)!G2`k^@!(PxV4k^L`u-o;YT zm`YjeNBYFs#o^o|!NWuUWHz>+{e?W#@A}v4m$1<$P84`f{A~97`%=oo8~~ThVf*hn zgcb&k0(~AtY7LO>5aZzIo>>O3>@p4vSAiO`!;!fsxYvyuLYhw;A1KHa2gC zDIjy+ZLPz574kAWs0vC@mo-IzYDoL@S1zdM?!588KA}E^O!60gMt3t}K&}I5ykt!m zv(H-MEWk3S<6CGi-DBK4JWUov7*(yU<+=SC&{!uRr+pDeY_#|&u}Pn5{?};sAz4~n z19>-{A#|3l@-E=wF{_+?Z3ggIUC`QWw1V05PogV{)WOvY!6+S!RY3Oom5k>q*hc*I z0T{TTmkUFj;rL!_2^d`f{BhsX_kD@@zsS;l=F|aOE*1Zrc%PAa#RPQb^EFAHJ@>$~ zK_icNcG1=C7Orm+ptacA%6~gZLrh^dI)AE7AGN_XhNZ}z-QUgrUqg%42jW&bhC_`m z=lLU3x5txDp^jNc3pe~e1Qa!@QeXX3Q6p9bDGiQC?3DQ^G06kn|3MnSxlt612lW>1 z&7H#IfYVC0t(dzU=g9Fybc;)x`k=>(+qNGZ@4SbAJ2PMe35~0!uK+p!2qf14OM0%< z|Gha2{RD7fhpG2?C5p)W059bUD&Opp%IJ+3b_hS{2hUUOqxkXHBkuk%-v}3gW2WPD zIrnPce|eDIW5hg(teD=+@JM}ZFocDIBEbo1w5NJ$8YV*dvr0vov?`+;4wS@zkOf4Upo6-y38w=7ct zy$ivAkR67FG}jN#5AX0A^=to3ph%vN*-+;vpcw?8LSn9^KJ$xzUBx!Tid6uj2aV!KKTy|2o6%A%0T@#&K-;7^+ch zhhj)}rZ0t={fh)v=2hma$PNu7!Fxq`{l9?sSPZ1qL8zG=fL>zN0QIL=C9<3VLOCfb zy6v5Y@JvcbUxBhLfwIou^!pHk0lD0c!7dZEI^f1}5V{15{wZvSfp*cj>*4Ov1CS-O zL)w*+w~_y3;b3RMK)p%j`S%V7**jdXV060fpHkHzF+o|&A7{JOtc_B=9ailA1bz*P z60eQdZtqC*?JBZoXM9Emm!l?MU2d z4ZR4DRc?11xTwj7JSyN%_437uEOALCx)QPXi)mcY_Aza0HkJr@EUv&=wIAE;y#*7; z6UL>Y>Ir>#V(UE!OiaPfC^*q;)H`vIYBGpLOuJuTZpzoQ9o@@+^v@8fn7#JlyE+X1 zUQjo<1PE{;%U5XMTn~EscAzX0X2C}($Y+4+k7{{?vK6S^jUFfw5xn-oK2Z z3?de*@qJ+ISCZ|`-k=%ovlKtt)5mKs_+Q{K6500@#Cxp#3#q)W{sjB{p8y_+>}d4E zQ2^wkbmg+|+ul@kaA1E6 zf@HWIAEiW~2YlbC(07BXbcu@zIkVLPuSa%pNYbw!d+X8Xa=UT`eb3fKWe!McwB^MA zL|GM-V8EKZK{(S~$9HTS%zXwC5=-7yqg{&trsy-Lo!--`gogVg-GR?((!Df=e?a1@ zk%eIt;r?^}v82H2q-A!aoRfbHlINg1#P!6vzt)wWky$WEejW)zZRv+{QE(U^cv@YM z{G~lpK7=@rA#IjH)~?Uc>4X28byF^QOuRTlUxpyXWy+$=EiNN&AOm5qqWWg8 z=g{f{T*>w{FDeiAPHSJG>PAl+eX)&F59kUV!~ts|Y~C43?UN{E9-F+zTnhz|E60!> z%gXpNlmEKX$)sd4cTF<#pL!Bt#{h@!wO&O<$cRDEc#eI`54);{6TRLMZE;W+pee-c zaF@ad!7X9aBnL$Roe;xOl<`|4>$Ghd@267oN3LmP{9x})43@U7Gw;up=CWs|8J3M` zo9+cG&_W`x(1$mp48^!yra^%#D%ne@c8Fo*x};CV_4@*GXc_>+;#4J-`$)T23X#*X z<^XWc_}&;w+lk3Km$(XgWJx%STldH&YW8pm$e0;jePZ{mt+7nwgM8c);k}*30Eo>t zoTK~ie@P6AO*gCA_AU*9(I8jwMd|2lXP`0JVhx2lKjUo0WS5yN;+2Gw9rI{Xv9k|Y z)(ejHNQB!I8Ci=&pr*0^)w@2CR01C7Lt7t1f#vy5?fj&J=z?P9)@_J&Ot1?AeZ?!? z?bg9u=FDkDXhC$ogc+(%v#;Lr5xLH~Tc)1m<3t|U_98um2WGy@*hK^GU56F?`6?8Z zH$6KeCt&gqh}6Ecl|KL;s;@(XBX>;;DJckdWS-MKjs$f;23i*f13=%c!@_$uNC!Yf z>lEm>o@c(H)-F=3=J(Jy>Mp}x^N9u+a5`k9vD5D-c?TJ3e3bqAN2I}k1b>K-?puVm z35qvY&@b7%Kv-i%yN!z$*VP@cTnhan^ab1l43zR+E;?(0{$~FLJRD*Mxtf!nz2y#F z@FIO#Txe&}%K#Biz`%6nO_ETEWfi$nx!lio8-n{M0w8zoJoi?feHRa2Al>c_F_P_r zWI&U`EDai!#vZ}&oe+vW;`-{(_7rId?XX{xveuS<{6Ho**RR&1S+RZb=u+jh_RZ&4 z{rAhC3K*>^qV8Uy;5}|hKbsKl%@G+WYxa2bju><<++5l=?B~dvN~2fk+!y{-cF>Iq znB|qgx1Hdr6-BO>_K&AV{|vI_ls)&`^~@N!%{X@U#=C~UI=oBd7W0PRNQqHdW|%C} zinhz_+7oD7Z>F$%;lUd*hYtNIS50B=M~VbcsJvEUumN;twr;N{h$RFIn{uCOM^PX{ zJom>fHU?nMivf+>b0$9CxdgKVYx}rVPH*eG3%BTk`!cu z8GKbc(L*>3(zcJYjI{pB5%d^#T}aASPA8zzM=a7wy$Z3Sp-cxgR&;k8*D`BYc z^fL)C&3RW>(r==dk6pZ_*<<&Vp&)M`GP7W?nEi#n%R8NC8hkMm&p3@PO#QuBfTIY4 z-}}BYn&{c>y#NUskOUHL`H1p$pd5l+nHd!-jYhkjS2TOXfG!k%;u%Hh^sc#Ydre2u zLc8D9>YwZ`?ow$K(V2mgU3d}NL`yp%n;3d)PsT6|NAUM&59xD3%=>TM`o#Y}u&7Bg zUjh2b<3!o_4Pf6pI?c&*w_j)Zwlu!~UI_ z8At=4rTv^|hX6RhyL_xysi+UEN?Yzn33NELbEz-RyKH)|Vh?k0S>a3eyB*5jS|37# z#91^k-!7sAeP4Nx|2XKm&r1l3yStOl0|kz@>|bj&S!>FB5z88nqX?Hv%>eN?t!_PVd0r-?zs25OLFoH`+7 zj2?>-z=MYX9^AD$-;cC&Y2$0BOWNLrHgia6d*B=xvVF2pQ!+^1hynwYGS-b&A(#fR zl`HM#JoA5K_;!Y^2Grvc;Z5hgT7e=bdh~}7ieSZci{f&DLnNT^m(++v)Ud1YO`P0S z-a3ANO#<70-{vQ^>d4(ra(EAIhYh(5Tr}6ayE@Z%-Wv_F9aE<-3h$@wqbr-1j3iYO z^~RmMP=fswndX05Hovp8z`mBUN^Z;#fmPgkKmVT9YRafATRXEr<=(ROCWH=FV}383 zM@5w}BIn)KyAWnr`7Q(Bc<>S)Agy_>&jR&zzB#zvCnk%n!wV!OK>Cy^@bP7wYb{CN zQF{SwVUmlO?E@lUF}k0o_&@dj#xel@(TED5*W5(FZIph0x8Js(-F*=je@Oxm~lJ#lO<4o z%V!B4NAtY|S%2$e4o4N%3~p#{(11NyD0`a~(LdUIfmp)QGlLn^b>VJ)13QfIaf0Ib zO6Bnj{xmrH+s71vjp&9zzpwpIEw;Z)8wYN0$!{$wft~|u0H}2mOT%+IP!khW@$(C@ z#o86sMPiQ4IZKKoMf%kA=?;ETqa>a`&4+wrzcJ18Kgj_T;%09h6s|j@npb~F4 z+Sq2;Sv)Y5A_{I=_=7CUy(WHi#9@cD8YN==B=%srMFSl=Yy-6f%60)3 zyDf`RE32u(;A9IW-itYG$&fxZYAhTDbI_&>?0LbA=%_iKdI!y?Hzb|sJ<`lcdrH-> zDEVOzp%3K%Tf9wJDjc6}U{>?q@p8K!g&aN+j!6lTj*zQxv|xi~e&`i{Z|JraxPjFu zyc~71_2;`bWas~{DG#BpxBXSY5?iPOfE^jR&SFuM4Xb%|k2_};Ew(q3%ZzXb^;N5L z=xqSDsbtTH1T;_k?a|^Zs@Ze6Z}P|T`eFxVEl*9f2Jf?vWaJSA)yA_ILi*h8(f&0v z1Pq|8P#Q(2S1g%^I4b%}KRL8ad4dXx>>Np-ZSQbr0iq1mBGSbhf|Gv=8C(xCc_e!S zrO%g$@9+lonO$`1kg<=L<&412xiagLP$W8s-V%2ZnfXznM!Wsb$2-q^3-!bD8*@KN zq}xcFVPBn}mDy4}*m0x*xv@TG?&x%C=#j@BWyiUrIse_Jk{-2d@*`DE$3AF#>!6sKG{#_pDPHtFk(u#DRa=r@W26HtvaR160m@}r;jxyjP_e&a_=)FU;_zW z9s;dNd0KPg$sAF348_x^Y5h58FpMx96SL`BMm5823Gl`*EZZIKT5N6bf!<+efj-la z*r`<1gvN_GOE`H*ddu9xun~)<32l}mYqyS86Yp8s{!Ix;&N4OP>$c>yV$t@IwVTIB zT;!?fQ*SpHirnhd3_otaFfc1KW0WBeaN+A)R~@#8-Ha~?=qfupx?updHk%?8J z*2uTKxOi`DYRtLflNGnskxx#-S@m`riX3(siMII;6$a2o+OKM#1R*#u_d|dA<1d3) zj3^KNSbvWL6AC|s0sg=w;A}6<`byM{$TNsV1Q*g=9!=NK;I0|pF5X~yVlEVV67@7! zQW$)+Lm=?0>kqh{pZTGXE64}nymlw>93L!Ic(<-D+JOBocR-f(X`y>)`t>%R$zN>P zvqO&OkM>tmqTlBWS)MWR_njPl{o_d_9&!kq<2c~YiE?-Bcf=P6o~8|0$D}Tsq+X!s zH07z)eVSJvt(GGk!K$hE)*@f7IMvrEL(%gzYR>)w7!aMJoUsqvgn(Ycpdy~ferFvj zitFugSgYHd)iVh~u>I!y?3H6-umPb}zdb~Q+hQ&tOexV%Wy7G#o>L#dPM>O};%wPC zuQ^H(c(be_rDliXaL`bu<1K$jpVl&i3r`+%2%HLsydPfbPVi{l(Oi=K6vo-<0$#>o z-y_L^YHw%tjKsyZCXTScF%VY}cJlnHeh%;NG`Y_@NZ{;Hqba7G2 z!&*5&M#Z`-P0Lo8B%fjHrS15jW+z==`k)imD04*N1w+1tDw+a8|^dKM#4nuuQy^D}07?D8n%ANCEqmzEd z8cC}|%PNiK_c2 zIfjC-l6#r*hBMQ(#pN#D$*-s((cv&Uh4!f2tUuCcUF;8})5F46Fz@kgzM9SvRo^Q0 z0a@`x_23kzDjT9LnXjw>Bw2Sdx9sMw5Ydd0qvqTc!a@8kfz8!+{Y^2Nc2bY+kzvK# zUpI36&NP=buaPfhO>VrV-xjSIti(s*Yff-N6rE9&`5srP#@l~dc}0xwdHnXT!K7Z1 zWyXX}S-bSkP;xzfSa=!8v6^3xkn!VguTIy?hxPLDA_?ZjLspza^QhiE*nTLC4Gc8< zO@la!XoV0SSbU9xn3ne?$+tpw%*zEBXUiU9$C*g74~X6Jd+Sp*H{)VAjHQBi;&9)}uS_S`io+*_z?1zQwg|Y8jM8{lvt+c!?=$$N-Q>Qz239Wd?U#BfYE0c^`8N4RVNnlX05NAM2%lc6owf`~ zQYXW>i@iNUXNDV@PRlc{(;uHPNjbNi=Kn&7h@cgy_4xj)kaPh8eua~YGy{i9>9b&1 z?{dL;RdNrS3*IlEk+Of5Y(9OhFggfLtYR#l^oZFt5k>!*vsS`;MGtzS%-!Wws2Adj zc^$>pbZT!S;xxJ=EWUAzlwKTiRD6%u>BE|Ggf*oT9u95$e)o4VISMJAqZ#S z@`JD2IfZJs!446ACM5Cg0~&&W;xXbq8t3wm7jIC6wz$sc$dFpL@X(nrZ>%x%o>L{= zCVV!N#cU&XSD~4DK4*>1KJLO^LG1dzVb@t3rCduLu-1^gQlE(u<6KC-qvE=Q$%W*f zi|m9Na1UJ`)%Yt;hxOVARMMo`LLEZ9+^QF-i8jQrmYiqCq}8%#pQbq#2vEhlOz+#)&h)(Q$cdzan-E?e?Z94-48PDv?tf^L*y>QXPl$+zBhi>@+ zFLBZ=Xm9T!0#Uk7*@ftmwQQrJ@vQtqzMko5&%ZMP)D_$xt9ydyVxM_RiAMKCZ-7Cl zv`Te%PcJFMx{-$tKa(`irOU@qb`dlClz*~gn5`IFsJNJFvGig#dp|Ab1Eh{|9mUw7 z5Ep}iJ+89l`AxR&fWeT~rEl@!JK_g6>*rs6j9>NOAt2*x(ax%GyjJchp_$V^K>C8> z*kP0axq}!gM--?Gc~gIj=|1AtK6igumpk5?b}iqswXLr7?l~3u`yZfT#U7F5TSD|3 z?>kq4+w8|1j=`*&@k8fKc{KHA^VDcRtZ-*NEh~@mxlzVW(ilmy#fMk`AMv|s;wm=D z;lPG;$L^t8n5P*>F&|0Cm};_{n=>EYghz1LAcXundw?B#>hlpjemCc==e``z)$|2M z#!03v2k;YKmz)_q{A%q5S<|PNt6oRffAR6R@*=8s4EB~*`DB8dd>OwoZv_kOG2?qu}g+YbWBI}g$Xr*ipK>!?Vlo3Hqw@t8nXk2B; z5KuJ#zJ*TFez~{RI&PTIS|`L0ajZEHk#M%#vK%1~8`X>MwO}Nf&(ww12es+Wy`3EU zPz^JgoL0uUG0cyFA<3)Z0m+{;wJwl!ryZUPnVPMVE+d}has+M z>bB)nIwGICH-4%bGi~DaFmhl}9lpk@S7Fz_$F@1NARqu)g_Dx%WNUv^0GOW|!oxTU zd{OOvVk9!o9aukl15247G<$qob|W08J~MU+kn!B<*s8NGhAEshY;?-PO2TukKc1*& z!&gVFQWCDb(N>>jPx| zl}6<+6UpCUeA=OyIQ|dD&CZb_UyFEx-{~HzUJGIZC)h()Eebbd3&c&lZxt-G!?a8% zy%^l#{kZRLZ}4|D3ov?U$-$>S;xpIUaM#pD`kV~YRE(VFXCa(651yShex6=lm7sJ> z=_L7eR$r4stNNP`n&vH)mIxD}W_r4AXL;K7w|tHK(>+ch@^!0Y*RS{iv;Y=Gn=JRx zybwXzQlxq!VUUhGJmslwc9%uCYzq-{OL@Od+*)OtEN-Cg+{`_*EsABcW!lUxO{x2* zJh)bgUB4NMAXf7nm6Cx6h;R>MZQ6zdAjO>B&}FH&Ib(OcPXAC|SiBhSHOU6x$KkT@ z0Z;mw{BjnO4He7ZeHT3KhmRryBFTzM?Tq{nyc)u6#_=Kb<)daRqcb_D&%9K4C+s+W zd}T1ZF5ueT{=?}}H|c*DS|;}vjf9#AwtnejK8t}!u$lO0d(dz*RZPVNIjjJwe959@r;vM(VhXdc=itU4(h7j#;}+49(B zw5P=Jt+YrE8ILt4&!9}aAE9zz9)o+MH|68QGja9KWR25mUng*2gX9Puh3gxiMOKFh z5uGfR>&+~VLkt+nh@ao|nn=M!BisQ!SbW(dyfQX=O-RpD;q^GD_Kl~jEm;kWQ$Z9f z9R|`frKC3P9y8OWD>=FBt$d<=7dBUgt`AJT$wJ?!HafHa64*Gl+>vNdFSfRGkWf(cc*{|^d zf5*<$woD?d0K(H6G_7vEtr53nfku3Ln`idmTymi9TDqmsmMlDEj;*4m1ZE{up?*q! zZ8S}DbZkPmyTbtfW`jC)GPg@4bC9zO0D*RoZM??{cYm@hdJT}_)i9{;F0X$#cq$o7QK zVBJzU)6&1fr%ARp%R$MN^Sd9!VQb6eLYoAyO#`~pyJ}^#c`wnnt|ZK@y^Yzll7j3RDtAz{4bl1mrt>a&)<<=4vI<4%#jI3*;NJWOC! z^H`Bns?|s)^T{EllN9YM;)DHB1ljlc1S_n)TzA0r_7xl(D;E+<7r`qXztI9$`tg$T zwDKM9FEiZ}Iz006ZFRjqN98q7oMk<-9RcfMm@g)rj|p#~2Uq~;3_*xtjwq)J;uEKS zuJ&nJvkdculg$=kv=WQi$L&p!_8*Fagk?ASWU)PfdGfr1#I%?D{qNj>fEWEUDnn}b!Os}U3tep=^g4}LD{+;f= zt3gVVP9Jk}1=9N7d*T6Y%Yr>n65195f~c|K;+Pq`ceC0Mjg# zTUK2p=aOQ?p?15a^ZW``zt#vxKfpPqN=38MSh^W7vUN$MUS}uX2$v46&#w+*vTY9& zc1+~c>*73bd*x}?b0X<5wof3!J#cE8QSE1uo)+3<+-_`z2*6vI>N)#a%*rv6pbQOyO%%>Wbzj4m zXQ>}I9sRPYX!K-{6a{=}Uj3SSP4E8{B7dg7rlc{H2o6($)Ct?^Os=Z3oPad5l;3aG zaP&sf5DLQpd7Ba%CD|JkZ?C_d14u$6;%S~hUmQOoW`@`WH_rXx)fGFk_X72yP`D-| zB&IY~nKN2`g4!`IY2iYZ=Nl7y>D#iWeSh&+0E^jMT==1@Lnm*Tm4v_Lnr42Nk*4iR zs{`wkt_@YglgqhfS-n{pT}FlNw#ap|IQVn%FHMUEh18AyIZTPj3sGAf)k4`bvaa zLI&4yFl8$hIdWRK9W%`u_gXDK}ah_jU)er!~Y)hQQPdVk+^D1 z<~_2ummxYCQ8$UY?zveNIKTH)qveC9oy=dntfEuWXkc^B+&$IAkkZ=mvA8+x+)~KnDOx zigVX~hgsQ42rx$}rk3@MO9J#Q(ME4>lZ{NoL>eQFtBve2iB01Qi@^ek;tyj(+_spX zS)uPHbn&1YaRk9{H@*@SUoLD22LK$=jMo}20u>X}1iR4IK79F37^!Zw_*)=^8kLiw zJ*I$#O0Vk3X)4%+mD*hm>gCcemFA@Rs#-j+S|MncEcR>KE@AjbTowjb-`y14qTgMg zz0dYJ7iCHH|ExIjnm+x0=ZkiAzV3DgZZ@CD4PzOsbLPfV{9|g*ACO#=I1W>}MM3a% z9JlZLora{S2l&j#Yf@X`J#Op2tQ+{rpx-0h73r7OW-q#O$L#}TnBqup6KierZe!sO zaN;bB1Sg%>@;r&GwvahI8m}-&_z0o8Tl{Ar8ZHoIvglSByGwrLX1)^!7VChtipXYK zh06p3L|BK*=+9P&2qqEQcaIWy6G3xWrHQ_0z_Z;FTz{8;)wt;hQjo5sC$#abTxOET z=gRT5Jv6%qZsq)7C0TI%wpujznq0PiK*;Kx-U$`i%OaDV1a$q*);H`M%vv@ETt#2! z{0y&qeM_%#;O-@(Zd+a(KDjk z=tg>^GUtQ%eq{~S*V&;_ci^xZNFD2|(Lxo~y}%s<^D_)+(yv2dAy;csGV=NDO!<=o z#Z#EKP`moQ(XHeINa7O|9sMoo2P8fK$1~3{Oc|(GAAMGpe0jx_VVXB*aWFMtN(Mqd z8MHCS$w1s<)(nllewe9_cH!8N1qCtW#qq67#gU2S%!dS98T@h)_4j|6UC1DzDa-yUudm~@-k?a5UVxFE^#IFqr1hM`TqxD0o{m-yA(xF?I_<_z zYj3Wt^v)-Iy-t)P*gjSK2D2F$GuGdEHPg49nR48eF36}aw`>GxcIxW=UQ9`lvN4=; zGdiIm|1EM1@*8{#%RgP>YXVAd5Hr73@F{n!F=W46%I={@7Q0XI+ zX|fWb4IKqBjhp#^;Ty5GKZ5v5`9mZQAzt8hRt803Cpm`sou#C__q)@BrXcMkb&2$% z*yN^#0x7}HgyJ~`#64t10E7HHaNnnpVSPDm7y!RCeS+Wpxe3izSM!_swh-lDwAF>+9MJeRT7f{f!Un2*pQK2)8r4aT!Ni zO+EWSti<RXZWp~f5`6mmE47C!)ZL9Ms%$G0xI)^%0MYD{R zfJ?2wdzGvn@6w)`xIExA{YBwyeGz5IQeDrP0E5Z~SGt#uO6fDlIyQ3;pb?1OZV6G8 zO?BB2N7`-t6y)ylOavEAM1jwp8>}GFaN)QFT$;%M2Nnxi6{2rm&McAX9E`8&h9h0K zGgD@2@@3&d=Vv7TtTbOGUY+M(+HjGv?2xN@B_!%UrAR`Xb2s^L{Ikvyw;##p7Ym2Z z^lj*S^$dTC7CiZT{)&}2zQ?%XfZNdJl}ET?UHR3($6|2{bxatJ%zb;ISi+}QTq92* z(B>c;|GYTpV|%De*>u3+j{%3m(kpDP2I2aPXN>gO-P6qikj#douenmWf}*)1RI}4g zT|^*zt%OX$r@VCf#qIEsoC*OZDVe4Qota3B9&In>(h{zx?q{&h|11QERb$Clc5ey` z2;n%{xAXz}RihNEPmz8TI?Z14eO_`PgEdp~eq}RoeFM`xOm+7JzBXXp{BN(>zR}Xu z2L<=T(k>f#s8Vva=!Hz5?TYT6>`CHPjd#g%JMm`eu?X}o$a)NFV61IaR|vh*cLfbx zqagyKBES&OVwp%bP(kIMU&g=}x$BVfsLMTc=_#w0Yq8V<7RGPfivwpAe`aVb0GzPS z5j&K|Cas&HET^0IM!sfsOrA!_#SFkp+RdJSbSSWCn~A`^)v@Q>&T30O*I)s3!YAYzMiu9=R;vL%dOr#MGpO# zWB&ENa#>f+yVg6d6Xw?@++M8vdD7R~yEi-WT6tN*&1m10OYv>Z))A%&C63dn+%Bz{ zRqY~f*Mv)*v!5UJ9G^P&aa3!-e&q?k2NtbcW{%d_5L)B6Z+P%3+zD zpMG|gNj50sF-!0@g{v=0ySo`gxW?9-5oAT3@=dFk?tc$mc61YTyDwNAEADELZ0682 z1;T=AQx@RwY{g#VTG7lt!p>z5eHVgVIaPElyqwy2Hi%+mCS!&&QmQRKv@(pq-!OA} z?zHaQLfx@3e+iPA)hR0i%TJ^&k-9eP{d5fhgzKY;f_LwmbmxBVu2AKZ2@X#({he3R z+{iDNR%-hxhk)7HR~jj(XU&Okl5Ozc>f1IFm<}Z0csZ z8s{lIH~acj=)xEsGUajuBRS-UFfwSxWnAkGNT0Wg{tkL0@IRF`bV}M=uxjT~RroTvlXp?0NxzNHke3InG{7gbkxvQdhLs34pd0>Isjq%8( zFIQimYg{PF>xgbv{}^Q^L_{Uu!fL<+k9X>=n0#U|X!<%yHeN=?&3Z$Xug^hN*=bd$ z|EIw>nSxofsb}WlK3d-00K~CK1{+XKLUFPy%i{0%gH+LdLCk$+c@THJQiv^a_4<~Q z)+l7^m=f4G6e<5!ryD?cuJ2fz$b1-*Pkgi1tL{4pI-Wz8oE}6y%yJAP{&9s#Vnt%e z0ysO(P$V+NeLn*vdjKifctEoKL0r51v8LDSF|I`-Heik=Q|wUNNeXUjVb$^B(;E?6wEUE8D0_ol@5-k) z8tgIDO3J_2Pp>?|4eI=&?3TBfNb)ONG}Ty7KJ=QZw)BN8s{n00{Flv{=IXpEjkZyN z58~;Py8GkJnv;$C<6m%5!MMe%K};mPR!vl(6>29ExOsAsKp8UI9mPcCcMTJ%MBHJARp1_r1rhOmd{Z(8n4Th4wfQ3wQY zohVZwcTWFZ7e$gyTT+^=V%AdrO|@P{rk13&L*urzj5I-~j%+p+3@gXB%lApQCJF~j zKCl7Fe`16M2#o?t+~hBfP0d31Gkh(=CM$1aHiBTss%FJc+sPI0s4L`*2+fH_2TXha zH9@$^u^@K>Z>+Phc-~8N_KYyHdiXF3twIWCe*Vwd9A&{nibJST5<6+D;2P!Yn+j%*qB4Q+ZwHV>TFjQ zatOYpt+eS+Jao~&uKns+h(vWdciRWr^Bb9IFXC>;M;PgMGY37nr*0b|yViiKVKnue zBYr?-QTM(UK|Jvt=N3~y_)Hy)Y}b~I1R1xC7@ z5O35yUC%7=BL58{RVAV8hkpFao`R2^v?AR`?*%ifdN4+bY7ZlH=$8dg@Qdxs^PNW) zJT7sQi4Za>M@_jVM2siO=64HPWSm)poo=gJUq2RWzGY{N%AG@Mb~H9gyK%1>qX=e z*_PMCe8>2+$xGc+0`MdY;cK<4~eVFQC9~1gT z1-EBD{@iVq>oJ`h#t9(;Yc!^l0Z&Z@=&1X@nYOZ(#!$#+J+d(UTe)}W}-;{N!c+VZTDW{02?Z}`6YM1Ihv)O_q0^gXoW$;vu$ zVTU|*FR1#u5`;G&P^vV9eph6X0w}s<7>T0U33$Ebwi86ah76a%p(!EbGLL^{;X2`K zgG*(q);v-=(?^Z8RmTxrpa7Kabuaaa;Q}xe66T@g`mw~4>b;{)M?V7?4F{FokEXgX zkOH}ck)Zs=2YT!YJ-s_z0y9}EuA;nL=Z%tx^Xsd^d6wZ;90blT!=F#jb&bg~mF6oB zcK0{YXGACwb)}P5_HWeR9$Dd53$XEJM%WI_UiVf!m18P#);5cxinG2hb)~swEc;FX+Kw3n(&}(f$z^q>dm4e$f02(vjOi6`B;!SvwIj+ zh1o4Ig)?%I2L8+dt}QMtABpOCKTDK;7}TO+zcF849~>Fzq&N$~!Ms!X@Leg!SsK3q zy6gkR8eoIBBP0ZYVs%rIp==V^eZvlrnvR!Q|j*}LX z7M?$`1QI0OAJ59AG3p)GArFQ2oG1Ck-+ZsJYpleHYQ*m`%atX!9;~3#Q8Pta$)$H^ z?88LL?+9xr(``)7zPww=!F(LtR~@f$TbhGc!Jvm>Y^iZdu(kU6u zz`Oi}$kS7mQ(W0gTu_$CFD7su$J;moMIqtauj2TXa#!8gG*7kF*_Ujh=ATz#l$wvG zgRsd!m;erl*i2yGYvU~cO!DRP$Y%86w6J`n#{(ICn8!PY<=v$`k8yuev_!jT`V2Cg zePndP>`nqb*T(C(D)LM~W^Z1`(d8S6Wl{C9jCMLJx~VpY&EyL_6`nlnyJ`h%Tk7P_ z0=-{dWIuoUoVFZel6z$>jfk8OWO+>28~B4$`s@&UPq_4AhPqt%q)P4Ht4N1_=utQGQKX$u?-*>$N#Gy8M)LWyqJU6-cBtJz8uL4w z9`V4FDd$a=v`OGC`6Wpz(SqG%Ntc%5S4f6u-JCATQfB<*NpVhfHgGs^(%#fXmGfA= zrl&o0(q6>Qu^_2ld|-f0MvwaZpMGo`{m$J4NgM8!i&JplE|n;Dn!D#{N(=ZY?q8G}nyA7M?b=R2H7Or>e5NR$4MDHa2#!fk-A-My0nAxQL%o1Tf_sbRz|eu-dt zvU*yQ&<{Eh%9I<63T*y{Yk4cQbKenqE7~NDpYz{)mi3n<-uhKiUZ=F=+SS}duQs;& zS|@fOMFu|g*z$del#cpg6&^UxM|t5AP3HiRzVJ3F;8q^0?=h13*#<1-#%;SOZ_L_O zskdh4=P(L>Lc5%Tja-DXcM{VQolM@>ZpdQYx> zT*AlBKa<89aK$|Gj9bx2VrxWYA0+3Oixl&R66tRr^P}Qd!xZ83`NAzN85PzNA7tF6 z-Du`i-6d%?rk$*Fg@`ob+tPkz=NC>9uK)Z@=?bi#v#AQlCx+^7v(<93Ej)Y zGltft9;#r_YY)lU1g*Plus<$_%12g`vC+sb^2}wqgmIj}ah%e&I-Ee=-_e%hyX=X? z$ym??WLqpe!+1AQJzngkrDd(oTS?>5Zl%XghOblE5{gL+ zav@=+t9(D`WI|KoiyP7{2r+;i;x0C-LvK@+O9QMkHd_or$fjat@$x7_Gt(`%S)^2 z87`Abj{Hbz-QwO2YW)(nZoi~MN~iU`hS@qAp2(kkY_iZG_*&spK5gJvhNE2$vem$7 zzPbtjeaL&j?YGQV3qI1V+`*10BghO=dZ6EawXC#4`nk3$k%hN<4P_<{%b5UsVa-eM z{70o89v9ChJ&s$Df6~~zBYU7XK8|&4Uk8-Ya-5aMkKmfdEZvM?b#kKT$zv(42fEu`iK3%(9Vv(44 zMV-Hg3G|UXbKwyBk)THbQhzZ2ROMvCVhM6oXtwRrkT$iH6onUXKdVGFxM&7W=s2t` zX$=B4R3>66o+&>!#AnhL=}D!uS(@`d3({d7vTtvcNoV1N>P~TxB$BYK^%5nDHg%=q zy%T;A(k5kf7TAVh5RHMRct_I;kw|mU$HuBvcOSbedzgQdzvJYRid`NP3F8H$PjDiy z$7fg>{M@@wo^aHL`=)g z$Kfzz?ZuwN9&m5;j%hXXg~c$1mJvcap+R=S#ro&jXU~@KgyZRm$7_T32&-fdL#*7C zhWZ{d*;BzK>T(>vvvcUPi~HosociU-N_wdiI23fVI9R%eJ?dG+{o1(t2$y)T1Wz{% z<*W1cwln0&Jd%wlpp59dl0a#>mY?Jke+C#i%qt*+^PE+us_5>*X6bHM_9g?%r-Wv}xRD5IN)!>ZK1@4;ZGgXlyt!xhVlRdonaNFI@#+@^2^;Vtu$S+Uvn_B4db)B zu)aRlal1dEaXsvZp@o^Iy(|~|O?T<*rPY!1QTS|8#;W{94b&~>zx1D4E6#(Q3xpj` zntf^lh|gWR-lyqzK{yLim^hntG-QoqRl=A;IdPaG?_mXb8Ocpv-&b+ofRvuhiMD>XDM zQQw2in!dN!6h!%FsB&{>52%pKf6#ZcW6gFh4>KZJn9G06Qmx)n@=+jz^wY06+lQr~ zJ0#$j$=Rw*LJdK_>n0pWFSTm3{CF_7LhapPlmf*$-9nU&dmGaGa z7_|D6YTlZyRzx~BL@X|{grVL1;dwJOgfqiOsj!S zb9WOBQ0aEmKQE|fw_aDJx3WGlev2o+Ny)|+H<^G9t~jB1CTDD3mWtnLLtB}Fa|-OVM~%q zkjY45N?=#A4u76obxcLSTe(1$EmA&9A%gE{`km@)kpvFF0kOmipK83eFZRI8p>t~H zZnMn}rt81H@()iKF9?q$A5rBs03PkWZH;B82JLf7nsU&CsZ433m{?GU9@~nQ<(4159W1X zzW>t00z$6xjpD9=wwPkAa6#Kd1zDS@!1!okhjEh-_6Yl5AG9d1ISo7@8L7^RlD(M5 zTh)1z9J%b_|FQMm@l?O>|D29Oi3mm6D|cWP_TH4eIaaomy~*BL z*|N9aeH?oC>HGVqN1@~Oy6@}0uIF`K&+B>LXE`U{r!_QAfF<~!rNqoYo6JubD;?R^ z80X!WG6Ebno!|E4c}e_g7ONa8NOrU}CE!F@xPFO4IX`z53Z*YHI~%WRn78M&xOEL* zkAVRz=hR4v8Zb-UcxWr~OST5p(CMMXphYrR0XK^(1^YA;1iTHJ1IMYI`1nY>$wN$i zsR_;3uW1BR`c=6qHQn;6)#C1TFF*_IA{g~RrLakZNamf*q_M_o!dirdOEWa9qPK!b zg-F8heS8;t7*0T_-<^OK*>`5cO@6zh_^k3QACDLIrKC$nj-wN?b_$qYJLNreGl!V= zM@bnCWqfD=jU3sJw@PLlG-zNv{fdmyCbc#spFdjSMkfp+U=+|z(Gz`H zG00i|>qU(mHF`ZeKoOqpZW8YOD%NJj^o-1Ls=5+0 zZxpsp(QJXq!^fYphHcm<)2GCAih4%S2CKrz9LIwtV)Qo06M11NbAk%v+`n9mWF8?# zeYFsUFED#6TB~0HT$&^B18p#*n z1_Nr?NIH@lhTr{=l;+C(+6`rJCuM*EW?0X~r!^OA3wMwdN;2b}9!z9NW zpu>ntDb^psm`t^dGpyR!;Ysgl^^%HG<+mf;dsk9ce7Gu%UWOjltv3ZO$}o{q)AL{S z&i2CJ-(POBn_pQB{|R3U^{PA;5OtSfEAEAUGjlily8HZ*-RPX0y_B-a$$h~D5-kY-aB=o_nCDw!v;-m0G9JI zA~bF}JMm{hsO|?)soT6$F|fr<8K3|YQ*py(2F>iNHKh2`n+i^~qO-=dO5d%a9R{bo z5*Nw|#SYEMk2#%KphCr7WaHzqST-2MsGCe50|=;9CfnuHdr#NXjY!*_eK8DAc69DN z);6kDe$_zOvitKspZ?a&XH7rr_ikv?;ogE2hJ0 z@||rt(mduogcE=+qY`9ph@9C2q$ofqiT1hhZyafifN6|+`NT#OP_ti0w~WYgc&m^eM0X(qcRfpR1rujV?3z#??HVI<_Bb*Ki#~ryCBq#Nq8~n zNX;zMLp*%%rg>4sERa$|9G3Q*+)O8J=RdiSYf`HEAs9tdE58H+%wex}hgh{6?o9F* zLKGzyMv(|{I~k1Y`uYk?@5pd}%84Igmj`9&_w%OVcZzKDiZtk=GPK8<)yjG#SYxT= z*=x(n&itqLR!4+rgOHt~Mvr04mh6Ph!{=A)9 zX^5n7k-OWFyMQRYy+W^oH0JI*x=a;G8!<@YEBMcFP0WFK6FZWm1%m}b9A^n6C_hTP zJ#5=&vVu7IW}qliWbZR?1$`d>owPl0=_BANgL+7%j6Pr8x3rr}?E&)UfQE6YIpzi9 ztZ}*EG(kRKq9cnmj&uPFM#*khC5wbQ(r)DVLxtVcY-Jo|-pKAO-Mb?)FwU&LCpFAT zzGDo@5E z@sQWJ7c^2e`12oR$TVi>4=+n^8oy+GAIrA6RfrW3$sFTz^IoM_B|b*uW`&a$DMb$~ z)@!ky?#qgw*VQg}t)`kscg?m9o<3$#ieA79FwtHyc9zc=9Yg{beNEWw9s23Gmxiq1 zEl}?7tmp&-TzmiI>1TUm*upD@kt_&5n;szixV=VeK~D1Q zgPUzRLeDBs0c7Z8^>Y5yMooV1v+-jE`p>7Ix6v`%9@Sq!^edum6ayyLdV}qynbH!L zux@y#qO5JCadLjn7tMZiV%ZN^{zoe|sQ?^x$K4xZtfLd!wtE`7q>~%NYM^(QpKe{8 zfXaF2GvnUseo7;4NmNJLs@9VkX44hZA}m*-?H8u{<@WWY`|85^igecr#XT&`bTaQ) zZr4W2IfClpT;9<2*R9V!VnvT4?roPv<7=ukRBR}EYZ~k)%cc&=%TwMps@(awJsD>t z-z*K-BzIoLKKRPLdfbXE>qP?L5marpCmf)?v-SS7`~mloU4T2q2rTs1SPp<4z=acn z;%3~XUP*JU>GEnWUTMK+taJ26JP+Gw)d46p$ zHUSgH`qeS?Af8}_M=8$2DT^hZ;f5(16x2EVptXhN6g7u(c`*V z2I^FF#L9#%Ex!3*1y)N70|vpclC#R`GE6Jh?5$!bQnt(sP5k_4o%dKe3oO0CoJyl5 zRGi!x9VZ0Tu*D=TZ8>*D#YvSD_|+1|>1_UDj>0SOL2KYCrpTq%=WjH-+|>%zZ}zsV zFSIRf0Qu;RJ)CvD9qt>m!V_B8=Hq}&!mqEZjef!r`JkTqVWYF3W9OMlZ0cE26}AG6 zX^vyEws+0(sj-5VU4&?CMCq3iNeKiv0{#>HB_K&AFpFt#%N zbzeMnJt8MUTUdGQo@Is0>(>PZM|oHgw=EU}2MHgxTQ9?s*^DSxq+Nbx+Nswipbdr* zn6H1G>Czo$N%=Wged1;nu?REuzh${4XPHmnEX>iJ$NM9>Tmy17`2!a*fa-x%R5&5 zJ8U8tesvi2$D6h9k?4koRfR`CM(qNe&ADcZjv*||)mfe!R5dG1j)AhFOn6Czd!GQY z@`#1R0U+^BdmR;gZ3W)yPgKAsQzW>88sTa^=iP>m1xn1-+AS?RzXj zDHCd+Hl=?@+@If66meekz-o63mtmB38cmhKK==!}YQ_omQZ{Ae*X_J90Bc!e2{NaW z-R$_yOaGH*f`G&hn6R=p8tNm~HDKQYk*Ox9t3sEnYT$zY-qFhQO%Mf{&|L>&&r58P zgn1&CNK8L-I_~jY`!XIy%i^#I;_JaAr3IL1keF0t?z*G&UEJ;|-ZGtT*C`MhMXBgTxb!Xs9=z*?L>D&jC&x9sXG7~SpWdHE2s95&IvZFNxl>SB# zsUt-c@|U&>>K_I2X^LqL71n~rhA+orZj3r>6U0PAHloF=N?C?A^vNrvm`W)>7zqLt z%Li}thGrwBOoqo03RjCa8wtUn>7t%Fa+oUCT%*nCr88@#Mceg)(M{T_c|P6>7aq5} zEl6K80bOy;5na)KeEW-A&ofkP`43ikFn21KP&SUHu3}!1uJNL^RnOnHn;QVBCeGrm z-vYzfeEeEKs4kt&&Rm7os#h{!3en^QcU3grw<7p< z4+=Q#`6diL?y5IdIraXaU{J=GHzJ)D$c?{!^ZTVR*`OWP^q}}#W`W@yc1#@GUB|gds}sEYM(e#=J45=L1q|2pxF~%3|yc9b+_=m z(XMOTD4;5T+x(>E_By3!(3=gpV5%70+%oRWS@z*C|FmpSzHV2k=HiRPA(8#JuoUQ$ zvrcN=#}`S)lg)6Gws&mvIKe^&jMIS6t~GL}*IL}C8HAF6aEL{6!&k8q(b2COs>sPH zWN>l=Br8DJk?d_bd@d>C0kn~rRd<*aD~nD~<0VPLe1%cN(>W_p&(DKyzJh(m)<>m5 zM5G^X_Prmx3BQ6V=#=&_PGIzodTC4Xdj8w>oVTHN9EKU8mD=2&GQ71-!g4EZ#GNiN zdI28K6r*3;U3i|NZ0@4Dx-X#BEJQm`>r3Ryu)KOb>b!9%wfDpC;&07%zRg)sW*WLl zIMyS%ytyul&RN-~v2eASH#eFkSP0G~v?kNfchjgjz9?ed$T_OaV8(yDF2)}N>ED(h zO&O_Pt|LCU|DH)rOa)hF;swnff5_;Tzylp~TZ`51$FVZsa4pb&UY$$g*@W40id0?r zMesLb(wC-q*V}?H_-5;I2dq%U4hvpoF>wA_yfor4X1o%AITX<+fB-#p;n#;4&8Ux5 zAaMX!h#U}mPZNa8hH4P0JY=+?6?mL}XHrRz(Pe(ol~}n6S*>mGFZFs%?o|xq^HdA06k9#uo zP00r7!TdKbJpVq3z0~D0p+y&;YWX4^%X9&lBpC*DBw+$}WNq-j$`0yp@LQK1GJ})B z#NxN#%JkGSVN;~7U<9CM2LcpgXqOU|ZIjLen*)YfFQ)*G)D~iG?3y^wb-2f9xxK*a zcWz){Uu-bm74O}(GYuaK8lrFCA!jRiMJ(a>Q49Wx)>gI_R(}CLx(FudyM*B~N7LkT ze9irsA(hmsNF|`tqx0RuZ7IQwuWMzgZ1MI-1M$)WUg4h#CVm z!o_*qtPimE)^oT5XG~@AmgspOT)-K1JzB@@hzXcV=^ngIEFadA8p3xF)eB}EH3~f< zd9s6ecHrT4*RLm@zRi`#x>IF)SWIbGe_NfV$^Wx3a7yf$L*q8Q9erLvgoU3fUs%o5 za0{KdabL-|UA23e3Z-^94fu>!o6^n%_gfFwetIsVT3kr5{UeI8b7(}WGsoMjyRv0P zy^1P;3@+rneUJV#M9oQXV})6;Cf2?r1|8K34!Dbslcp1!fZg5O!-Sb`w9IPtX%c(M zWFgF7*jCVb;2yzRlqSEjp|VdXC^&H%X$Dr=91>t-yWI2n$AvGPa^AnYD5(5+{i2#V9NhlCvdoK_#(65u3PQ- znA6EH`=hH}DjKl@hc=2p3F7AHC6ZMuIVoF2g^MYNF%)kNbHKY=C^O;@FT9-zSy4zQ zo5Lo0CYoEt1I6pz`SW(=opSd6e!7tG2JA|(_)#eFyeM@jOK=2=@A1lh^G}O@ojd@QKytd-0 zNv-yy_NNh2>IC*1Q7MNKIiBQ6<3k3 z7ztuxFy||~b^t2Qf<(?kKM+RF)J-{i?Ulr z3*%Ar*!q*32jj5C1`e}EO)qg4=fRM4&5d<3y}5YqgYoLcEG_+0v=bl(Z)+HS+rh+F zfv!pN-(sDoRxtHHT$juwAQKpS$vS%vB`;^qlo0 z_%dzx?4CYeawV1v`SAIEd8VLap=@#N(mQ5nBP5<9-)(!m%7~hnbYTVJH9j5XvOE8} zzqMp{W#P}1?(VNKDxM)w(K7i?wEDiv;ksD-dQ@uz)`zj_OpKf`Ifo)5 zz}s(3X<D*Y_AV34==!HN==bMJsz|8s!2$>Xy5k~FsLIKy(?b3+!G=yM z_gf|R7myR9!SAd|MK%z!0na_VXPQtzwU;+P7Ix`eSi+6 zXm*E&1d@2|-SPZESIk?zzg(JRA}k}IOye!HFY%Njrq7dv^i=ud&G+BB9dkrxWoYRn zixFiqvwozv$a;2meWR~7c5RPE=&7DA24)q&YAAs6x2vuB1qGs3J}b~$K>v-8uoEq< zO3tmYUWWHxZkL_p8<5rl4{PX@xlyEQsv zfbR(Fs(*!(I3Ho-`mq+;*_uQW47gNirQHkT(`k>gJ$RJ+cNu2Fp zobBE9;st-X_@Q#y;+0Wh_EDansCi}fTj)3lFsS?oq+)`bV-N|W9OPU5uIype8Ow

^aZ{~5Y?zz!8-VftPiOP_vn!b|mM!sDjp;{#k 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 TyH|@X0}yz+`njxgN@xNAUsK_- literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/examples/treemap.png b/test-harness/excel/evaluations/examples/treemap.png new file mode 100644 index 0000000000000000000000000000000000000000..99f4de7d4001fd8e40d8768bc91e2a01c79576c3 GIT binary patch literal 168953 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%0DnIhpT1floA*j3PDTzPDE)vB^&n zbb6_mCk)1&m6TOOw(*^E3*yQ$$`lb4o^IRuMaNQ02zYArkU2?TO1^Nf`9?30cpFN> zK8^GcJ=XkkbhI)R^su)0%Y04i)m=m(LDR*>zWI6^*eU@ZA@K5NzX;ISqLd_?!@H}= z{eA;F+K3A_@-bmx)8RpmyR|8xk$cv-E?-XT*@EMv(kxn|Z0>raL#ma6t}!o&a30PA zg?ydi*||DhYlMhf!t4p7F)?X`TyRj8boi3JBF%TP;D9do+EGco<63QpRMXW|qGIpg z=o^n%v^4BDEx$#b2JQB92wQ>Co5CT*5(mziVHJAY!q!Q zBC_?*E(+1}&E*k_iWfRtw{7Ug0p3e<@bklLv$?!8GW-eN0Wo>l&@qY`gq5|(w}RKf z!dXh|Y(xnDPp~xAm;%nqO^@|l+?h{l0UR~kPtC6`<942$t!yKnV9VWeKb8g_qAs*H zzX~uYeuG%D=TH7^sIP;2g^4{|%E7g@Bk_Nj6gn+{eZ4zv zl=KIRQa7)S=Yv+)&>dNwO)^xhNRRL>7nUVYeDLFxTHX;MIIP#Y5WckBtko*!B({G} zld&HR!VFlBZ*@-926xvq<7EDTXYa8t!Nx4>zlUTwmq_%nV|>#9@L_UO?}ivG=25R) z(Z>Rb%Zdf0wr7(?*Y`GRcYX_3d@@a7cxad+*!u(~iuly$1~_5`MEo)Zv@Yy-Ritg* zjSH7JdzDs|Tos@wBbPVz@bESomG4aW8xE$wcn}TvvDuxHa6k8^SKWT*e4*W$4Dyhk)m4s2e`Sq-84!VY!)65pGVo>k25uY<^_V)n%L9xWnlQpHTO zK%k6&BS(qJiIKfy(M}SMkRk~XJYwim}qUou9`P#@qK+AW*^C*Ben1g1sG4q;|tT6=~>WCxsE&56JY)1`>Vm894HT}nCN0L z_0WhXSaWOh&LxWSf|5#rAySxN%7181mKCiPP^Vgc|+E{GYYa^P@FI!Ri*nn)O82VnvAv{*h z3cG_uu7{Y_3{Lr`!GfgA^}=|RhVSQ>FsrYs@<6=PN{W&upp}87r-629`&`O#J0*5K zjl1Pgb_SfA?y&7_VBDRNc%9bGoQ`(uNb`DcrOBgk)wnUgATm(EFCTamr@voWxsnj_-Bnr1Un4%tl^fnl0 z_sDMMmScM|Kjyr}20xDRj_W<`ZcUBgH_XpzFND>kuJwhKBv+$lj8AITKLT|y>3*uJ zNF&ofhZ<%|?`X^aUDXo3R4p*yKgg*TifQxfvO(nX8CrU{bzd&}*kzFu6hg$MRbbYs zi>gX`GO85V^+um*5R*nO=_WQ)Cp@a>eaxwIT~UH$$J zkef83g$eEVSJYb=IclG~Yd*SYs%1quo|N(?=ORZfUb^tXP8`9R=7Gz0j`e6PuK1Lu z7^OEQBP?`zy?D9H*W4j}ZmH@F4!$HUDe#j@0o`)$Hxvna*Jo=5n&2|6IZY+5uCucg6`@ z?IV+Tx8X*mYReBzy5!EIwkVy5(>CQo9s_YZx9kCNCJM}RrIev^JCWSd>JY7Q^M6r# z?b#6XA_cHA*qUlAV1mCAq4Hr6JeAx}DJk4WRb5yx)YCiiym-k}LS`8kRvkXGacz7#rKH+h zMzT_k!gM<6N#6C`Agvs70y?q$DQ~U0TPTHY{o0P``0$Db9wN_{fR zXOra?gzz%XNHqBEz+iY@cuD^otDU<59%zxVDXo>N6hO;3@pF zN3sNIS}6ja3+R*@4XXUT`R0l9K}&6A?!sIz%x2RoSJ#~E*EJ2I7q1Z`t{Bi4n`qI~QT3?;ttWSv!4%nWb%psRgZn zRsg5R;`(f!@3H0`vK8GgBpRWG`JV8qJCZq&AON`@;G{4+s)>%uNTqBC+_iwZ?O zF#VFa+kQuaQR=2ucAs$ok!>q0>)ocX`}0&p6Drs}{x$_EV!}!PcfQ4^#{hb%g|X(E z)46~V*7GCQA&bfr7)GRFLvyQ8V6ljsDCf%BfyGbNv1rU4Faj~X%gRji)6MC;-6aMC zlOHNE+>)1l2|Jlwl$rV(O;td*T5+IYN&~wD%Ee_srS#Uw#5T~_1vBAESo!Vy@P1+O z@g$INUV~IG^yw^f1nwiQDi{4>F}m9~#?f++%6igGY)5L?G*)Tqu%2BNxD9oiG;g{a z9UU{>wZ3D#K7D10YN2Ua8S&Zqfe9?cu=7SrQH6%2dPVJ$OhogH*@X74&dwl&GNvA# z`|i;XTmC1cdG_E;j^k-bi(KCOeLk*!37tb)Lgyz8`tL7)!A}EuK6S&1t9lAwX~*v1;**C@tv%jYiz7%}~v2(})FdiHMjj*dp3d!J|NxIiX+`6Sb6Ue(ri z89(jl(5)#HZ(wyd*3wd|=&3!}NEtUj>h3>r=KI}io)53Ud?+JN5kE(B6~e#wR;OsF z%t)fCN&h}S7F6h`0_rfkb3YuJXJTT)>9!cXUP1<fkqJ2qEI3?L}a$%1+=xT_LsQ&O{%=i#lMGKD&zG8&h0_ z(7xvVeKzwifLdpN<+=Ods(ozZ^mQy56HS@qL`=x74iOL`tarQ*^IOmFs9l6SSuHoG z=80OKw)XZjJQ*|G$l-;C9 zck{u%2&n1Pn9U{fxy?AtxTWPgk%jiwy>375i`m?q76!_zd3&rYSKCuiu`>{=lQ#QF zjb@+7OY+>O(_Nm|r&O8?;o4GKVM*b$h(V8TWei?6N5CU@wsX9*b%(!jWHF$+1`K~D63(uu&EEJ%Ls(J3@Xs|QEJN{r*CeXE=tDGtO z=#Fn(vlXRSNQC5-@~v|C@ms!6J#ENMJU|hm=(wP_1RpRPb)G@}WzHEsCh?8%xSYI{ zN3KKz&MkrA$C|-45!Ri>@PLnID`QH-k92{fbO*=vlIos&;riPVlNk{A@pfL^F6TciYp8ecqzU!@VAdj{u zeOB=P&AFozk1c{9f7vp<*X00`*sR`*xTJ1VW1*5;t*UZXN-e_rg-JumNCh|4k6EpCc$t>N?CFs}J}aB$iQ zVn7&qHdve7-9^`0|NX(mSsTTWShK3qva-h$aS#P-dEW01E`HrXQu2d5hr*4QXeFyI zjC~sX+F_yiGDVuZ54i7fJen|*zDwxcH%6VTwVBC@rRXzGMeEordjPfIWc`yi^K8Ph z%2mo(XN0#EvO&_nDh|~DYW-6#-@Bc#9FI`wjr+QBt>Qlc(Ham*#Kew@Y<{l)LA~wj zmkf31$*m?v3uk+dXV}=P-O(q*O%U1_?g9>WEdXh%bUj-DT5TbG(D~wO*H*f|8AS8` zR`b@fD$PuASe(DMn6d+II;(nmYt~c7OdHghQM?|Zj(-V1$}cPIHeH%=Kq5tIo3q5t ztjvCj;^H9M#kzjsE4q`BeI?8q$^68OurIMbcvPXCwvNRLor%-gxS)ugjypH30bA?Q zMZN+x5y)<}DwyH+a||_h_0%?7X&!%%uD!fZ$+`eV*FFUF;zIoHa?bF2HSJ}x8l0^T zVNKP$>J5Vu^0R|5RYa_Z!N$g$Qc|a*K+hq~&=~tzhDPMQ<+%G8qC9I&WRgZX1H#;X z;Nrq{x(G0VL-W$psu!pa0@usxY#o*tn$-z}To>>Q?LS^4v`O!N)R6W94xh9K+})WM zagGA|I^Hw(0|zA32Y~Yh^#pRMM~Wu)#6)B#rTt9W!vrA$6Lw|)kU&50Kp@=e@Xga3T@<#&+dchtg z3eE}H;1($0w`%9=fkQFl7&-3>d`-+{|A$PBoAQ^FMy+zCiiW-&=IB zZ|MN7%6L|5{l(h;sa~_;lrw|5t()?jv`|K^1z8(}+)vpl1@m3vb|xvR$b;HqfyeQI z*H%)9Iy|0&Pnht?W9pA=qYN7y`yJSqDNhIL(dOkBD-Jdu^z!(A)%8( zEm$}ZH_~M18GMX8!#J>X+iGT*hns!vnWRq$^T$|i1jad{uaH050xQ}j0l^1VECx!< zY=g`myVW>mvt3Iue*SYa>a%NS#&NSUg>#gUYlxcNH$ZQKR)&Ohh^;5MQ>Yd1k6?E^ zK9g31zT>0P%Q=;jDK zXh^ZJkb~CrMX9 z_;KnN?swTx_nj~U6@=E9nMk6*4T9}{Ldd>)=?KArdfs#{@C=%P>@p1|+i0e5pGXsu zuF&Q5F*iTJ!5RlP7%v(3T+Z9;kb}R~8GjMtgXSMwlI}|5biI&ae#1t7)$;82ca&Am zE=d}Uv=8CybdH87F5Nww)sp8=x>|7?^c1nXrf$Cukd@PQ#biMVy8FxZ=nNgBOC7NS zES{iEIzt3e=zjd2oOc6IiN<7t^_|td<^kVAq5_$}zAkYrk`rWF$iE*S&OkCw7}q`M z%W4fyD{2M=0V|hoQCUqQk@{T$IF4n^gotGrCnmOk>x6A6xbKCKeoh0IyW#3X$=HSf`a0*g(7d8Fd@t9l$n|TPZdd2(wMnVKT~{q>Ct1`OJXlQa+H~l zGX=i#1zF|q7&(I~%y=C@t8S(s(-zD-iS7@1m{^Byp@s20bQ`li|y7 zTI)*Q{WrrdluR@3{^a0VgH5ce0cvtZTd&2xX{|3QWh#xq!J#;<9~yCAX@8`^tss_@ zc@I%oU`G68s@b>B^g;yrT25^VuLoYLE{`Ba<@O@GbSi}{CEq+WnLPxdh+mfJEp)T~X<_tD4&N{tX=73n8vXi3&H< z!tmVpV4UCSvtxQ)r#ku+pFVzShIe?yEOmzQzAw%CX8Y(To;k{Qf$wO}pA;|R=)B)6 z(~?tcmOpxdH}63;uKul9O2Z9P?H47xHG`QdJMXf0Ks;5OfmI_;OA}ypI781|gTAza z!s-b58xi8Cl8F~-wwOu-lmzUW{oV-Z_il!3u|aVBh@!{p!j0i_L00!o9)qSdv{XdY z_-3&&9;PrB)|Ryc;qQE@g7g>32zdsbwn;b>A{O*|J%Iq)Q^_slZ0~NIL6C)X6If3# zja&)W-Hk{puy)v1F$Yh#`aJ504W;9E2M7Q5+of=+#}8FB;*7bgn76E>_vx|<8I*fI z5iRoZDPU!grFtKyOP$dRE8DXm5^^X`kZFn>TGTTd^zNRVIXpkQ|A1#h*Cq zBP0Q*8gqoiIM{_U)7=8(_w}Y9qZaDcdM^a2wfl}LWbZ%U#zwl{rj=pK)zi0`*fm{q z;ntQP@{FGFS^s`q4cSQ*h^Mb+EQX20^=-@3wvTZ1Q_Ny?7y0LWotTmFt(u&+s1TXw zXLa_xxOX!{YmDc5%<{YBY+Y;Fg!#1;zA z8ooCQMp`CasuhQB^va3@J1VwarA^G3_na0|JxRX}Ti=L2A_=C{iPm(U_616p=YC99 zdot@*mc^-Ptgin;s(qu+e}H@$X?3{YQa>^l-{x@c2Wt}rY3^axASQnVF*5}U*_yr8 z^kOy{(ay_Ou^_yAD0~wHr!aiho%~6n$@ea9F6Q1R3A;YzQFpP9G8J8MD7H{`O-WFl zpZ8KT-M$`wPJx@4R=$cKk=TCMji_!GJ&xK6Ou}=!Kmse0vMmu(oUGp7n^$L6t%udt;``r$>_-$^YC`L zq3UP#P7%Ul?WRw6S%|Di2n?&F;kjPjj;gPcD{ZMA6$mqy^P8c*(*#!Vo{rb$@#(55 z5xH1fUuhA&!o^II1JAv)Pr;M|p(8vzHy{(2p zU2|}in}~P(g*cg3f|0N0duGk(WTWopT!W=1A!KPKbS?=v2NPPha8f*tN##fL5j{#m z@}5fc-s`{J-tWx=U;ygOIqnL@ReI}O>Uo-f7CO`XUcb`zx4v2Ug!ykzyEPY#)0qQk zKDvX=4OwZlHHtZNhqFSZxk{^IR{bAJIGFJI_vpCih0{cA!J_S+TQ`!F>Ilzb)fpbj zuyDPyPa?QQdGSz%Jxig=XuB4BA|EgLd2VyAA3w&?eT;tFy7u<0n_Iukar(3?%sBq*B{jMhv$2uNVp{QTP<^J=a=uH)Tq3R^%5#Q0Ap({S?1X=%OSgQ z;*p%fAhrD;SebxMqnn4G8xA}=qQNC`{>?PJ zMGWC;!`}S`hWEP*_Gyd21h{K5TvWmu|YC+T2# zg((XWg7{t@rgq~|#6;ZK&!jCgNy|xklUHw;XQsQ2M5?$#U%ko_2(c7pfn)g070f-j zb1COdM5Ps2pZbot+t;=~GRH3dep6s!Yoi>>aaM0L>HV@c93vNihDV*C-?kj50{p#q zlsXK7tey-8N>+5g2>J1mBa$+&9j^WA7rd-5x?t+y7s$MS(xF9buc!|Q6YByqud|XZ zgdK~h!orKiIF*z1o!47URkEOyU&M$?6FLQY(bx6YJecCHyDS9WwQbstVv{4II~AfJ ze8q1+{(PEILlU>@*=(C#S<{Zz7qYl%sG{3&%OiHv57N>^Ond#8qag2ki!M^{LFzt} zztN9>KlQ&^Ouy8#C2zC(jz!7OWI4<>)ddDJr-Z;aWaW4rsfA(?@2~MW7_%puW9uBE z98v_(r_y?-WD!XCTg`Yi9ZWgWD%9`t)S7O&w=dJG!oK00im5m=4fW}R08LOYrrEZE z)m(q6V%~z6z13|>*!0Dp`Ed@<#pw|p&y0R_O+U%?f4I2&a>u2)3^tHH{hbRD=ibcO zRPtJJs3BcZWgYLQ0i$$(K`b^GQaiJ(A7c&@O98bfcaKC-rdj0dX9*LevWh^-R1G4*Z=KnJ*dRuAfD4Di3t`nz?ok)9HL5!G|-|FGuozJ07p9hm-( zur}yt7U^%6`Zv=TO*8>q65HkIA6@IAbwPCJ%qh_&xY=^op}+E@nv}5i^lzL!CvV$I z2NQn142MrXZ}{a^OnQkp{Nn&~u#M8uC+ZC(+n)LCa5tq>>geY#v`4=;^PY1gbKQ@4 ztQ*Zzscu)D;=ZkjMrWaGNJFk!TiR0m{AMrf%aM5N$$<&g)hM(0J56(4B1D{Wc~;mj zGdSe#EI#*2N=n)wY|zxo#Qc1=<*+YJ%mq|xw9UruztpHWHu~Q_7AFKv{I?d74On#9 zhIZ_aJ9S8fdMRoKX!O#`f)VJDLi<@QN11{7=i(@S@>7R>Th9m}KK}i^FEroV$zg>L z)E~ Math.max(lo, Math.min(hi, Math.round(v))); +const referenceBackendFor = (typeSlug) => ['funnel-chart', 'treemap', 'sunburst-chart'].includes(typeSlug) ? 'echarts' : 'vegalite'; + +async function runType(typeSlug, limit) { + const dir = join(GALLERY, typeSlug); + let files; + try { files = readdirSync(dir).filter((f) => f.endsWith('.flint.json')).sort(); } + catch { console.error(`no such gallery type: ${typeSlug}`); return []; } + if (limit) files = files.slice(0, limit); + const outDir = join(OUT, typeSlug); + mkdirSync(outDir, { recursive: true }); + + const results = []; + for (const file of files) { + const name = basename(file).replace(/\.flint\.json$/, ''); + const vlPath = join(outDir, `${name}.vl.png`); + const excelPath = join(outDir, `${name}.excel.png`); + rmSync(vlPath, { force: true }); + rmSync(excelPath, { force: true }); + const input = JSON.parse(readFileSync(join(dir, file), 'utf8')); + const rec = { type: typeSlug, name, ok: false, skipped: false }; + try { + // Flint reference rendering also provides the layout size used by Excel. + const referenceBackend = referenceBackendFor(typeSlug); + const vl = await renderChart(input, referenceBackend, { format: 'png', scale: SCALE }); + writeFileSync(vlPath, vl.buffer); + rec.vlSize = `${vl.width}x${vl.height}`; + rec.referenceBackend = referenceBackend; + + // Excel-equivalent via the LIBRARY backend, sized from Flint's layout + let spec; + try { + spec = assembleExcel(input); + } catch (error) { + const message = String(error.message || error); + if (!message.startsWith('Excel backend ')) throw error; + rec.skipped = true; + rec.skipReason = message; + console.log(` - ${typeSlug}/${name}: SKIP ${message}`); + results.push(rec); + continue; + } + if (vl.width) spec.width = clamp(vl.width, 320, 1600); + if (vl.height) spec.height = clamp(vl.height, 220, 900); + rec.excelType = spec.chartType; + + const excelPng = await renderExcelArtifact(spec, { scale: SCALE }); + writeFileSync(excelPath, excelPng); + rec.ok = true; + console.log(` ✓ ${typeSlug}/${name} (${rec.excelType}, VL ${rec.vlSize})`); + } catch (e) { + rec.error = String(e.message || e); + console.error(` ✗ ${typeSlug}/${name}: ${rec.error}`); + } + results.push(rec); + } + return results; +} + +const arg = process.argv[2] || 'all'; +const limit = process.argv[3] ? Number(process.argv[3]) : undefined; +const types = arg === 'all' + ? readdirSync(GALLERY).filter((d) => { try { return readdirSync(join(GALLERY, d)).length; } catch { return false; } }) + : [arg]; + +const all = []; +for (const t of types) all.push(...(await runType(t, limit))); +mkdirSync(OUT, { recursive: true }); +const summaryPath = join(OUT, 'summary.json'); +let summary = all; +if (arg !== 'all' && existsSync(summaryPath)) { + const previous = JSON.parse(readFileSync(summaryPath, 'utf8')); + const replacedCases = new Set(all.map((entry) => `${entry.type}/${entry.name}`)); + summary = [...previous.filter((entry) => !replacedCases.has(`${entry.type}/${entry.name}`)), ...all] + .sort((a, b) => a.type.localeCompare(b.type) || a.name.localeCompare(b.name)); +} +writeFileSync(summaryPath, JSON.stringify(summary, null, 2) + '\n'); +const rendered = all.filter((r) => r.ok).length; +const skipped = all.filter((r) => r.skipped).length; +console.log(`\n${rendered}/${all.length} pairs rendered, ${skipped} skipped → out/gallery/ (summary: ${summary.length} cases)`); diff --git a/test-harness/excel/evaluations/gen-gallery-inputs.mjs b/test-harness/excel/evaluations/gen-gallery-inputs.mjs new file mode 100644 index 00000000..6a5497d2 --- /dev/null +++ b/test-harness/excel/evaluations/gen-gallery-inputs.mjs @@ -0,0 +1,96 @@ +#!/usr/bin/env node +// @ts-nocheck (consumes loosely-typed gallery TestCase objects) +/** + * gen-gallery-inputs.mjs — export real Flint gallery examples as Flint inputs. + * + * Pulls curated TestCases from `flint-chart/test-data` (the fixtures the website + * gallery renders) and converts each to a flat ChartAssemblyInput, grouped into + * per-chart-type subfolders under inputs/. Primary-axis cardinality is + * encoded in the filename so we can target low/high cardinality. + * + * Usage: + * node gen-gallery-inputs.mjs + * node gen-gallery-inputs.mjs radar-chart + */ + +import { writeFileSync, mkdirSync, rmSync } from 'node:fs'; +import { join, dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { TEST_GENERATORS } from 'flint-chart/test-data'; + +const here = dirname(fileURLToPath(import.meta.url)); +const OUT = join(here, 'inputs'); + +const MAJOR_TYPES = [ + 'Bar Chart', 'Grouped Bar Chart', 'Stacked Bar Chart', 'Line Chart', + 'Pyramid Chart', 'Area Chart', 'Scatter Plot', 'Pie Chart', 'Donut Chart', 'Histogram', 'Heatmap', + 'Boxplot', 'Radar Chart', 'Waterfall Chart', 'Funnel Chart', 'Treemap', 'Sunburst Chart', + 'Connected Scatter Plot', 'Candlestick Chart', +]; + +const GENERATOR_KEYS = { + 'Funnel Chart': 'ECharts: Funnel', + 'Treemap': 'ECharts: Treemap', + 'Sunburst Chart': 'ECharts: Sunburst', +}; + +const DEFAULT_CANVAS = { width: 560, height: 360 }; +const OVERRIDE_KEYS = ['type', 'aggregate', 'sortOrder', 'sortBy', 'scheme']; +const collapse = (e) => (e.field == null ? e : OVERRIDE_KEYS.some((k) => e[k] != null && e[k] !== '') ? e : e.field); + +function toAssemblyInput(t, canvas = DEFAULT_CANVAS) { + const idToName = new Map(t.fields.map((f) => [f.id, f.name])); + const encodings = {}; + for (const [channel, e] of Object.entries(t.encodingMap || {})) { + if (!e?.fieldID) continue; + const field = idToName.get(e.fieldID) ?? e.fieldID; + encodings[channel] = collapse({ + field, type: e.dtype, aggregate: e.aggregate, sortOrder: e.sortOrder, sortBy: e.sortBy, scheme: e.scheme, + }); + } + const semantic_types = {}; + for (const [k, m] of Object.entries(t.metadata || {})) semantic_types[k] = m.semanticType; + return { + semantic_types, + chart_spec: { chartType: t.chartType, encodings, baseSize: canvas, ...(t.chartProperties ? { chartProperties: t.chartProperties } : {}) }, + ...(t.assembleOptions ? { options: t.assembleOptions } : {}), + ...(t.semanticAnnotations ? { semantic_annotations: t.semanticAnnotations } : {}), + data: { values: t.data }, + }; +} + +const slug = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, ''); +function primaryCardinality(t) { + const enc = t.encodingMap?.x ?? t.encodingMap?.y; + const f = enc?.fieldID ? t.fields.find((x) => x.id === enc.fieldID) : null; + if (!f) return 0; + const seen = new Set(); + for (const row of t.data || []) seen.add(row[f.name]); + return seen.size; +} + +const familyFilter = process.argv[2]; +const selectedTypes = familyFilter + ? MAJOR_TYPES.filter((type) => slug(type) === familyFilter) + : MAJOR_TYPES; +if (familyFilter && selectedTypes.length === 0) { + throw new Error(`Unknown gallery family "${familyFilter}".`); +} +if (familyFilter) rmSync(join(OUT, familyFilter), { recursive: true, force: true }); +else rmSync(OUT, { recursive: true, force: true }); +let total = 0; +for (const type of selectedTypes) { + const gen = TEST_GENERATORS[GENERATOR_KEYS[type] ?? type]; + if (!gen) { console.warn(`(no generator for ${type})`); continue; } + const dir = join(OUT, slug(type)); + mkdirSync(dir, { recursive: true }); + let n = 0; + gen().forEach((t, i) => { + if (t.encodingMap?.column?.fieldID || t.encodingMap?.row?.fieldID) return; // skip facets + const card = primaryCardinality(t); + writeFileSync(join(dir, `${String(i).padStart(2, '0')}-card${card}.flint.json`), JSON.stringify(toAssemblyInput(t), null, 2) + '\n'); + total += 1; n += 1; + }); + console.log(`${type}: ${n} inputs`); +} +console.log(`\nwrote ${total} gallery inputs under evaluations/inputs/`); diff --git a/test-harness/excel/evaluations/inputs/area-chart/00-card30.flint.json b/test-harness/excel/evaluations/inputs/area-chart/00-card30.flint.json new file mode 100644 index 00000000..3826ed0b --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/00-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Date", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 51 + }, + { + "Date": "2020-02-06", + "Value": 51 + }, + { + "Date": "2020-03-14", + "Value": 63 + }, + { + "Date": "2020-04-19", + "Value": 67 + }, + { + "Date": "2020-05-26", + "Value": 81 + }, + { + "Date": "2020-07-01", + "Value": 100 + }, + { + "Date": "2020-08-07", + "Value": 105 + }, + { + "Date": "2020-09-12", + "Value": 113 + }, + { + "Date": "2020-10-19", + "Value": 135 + }, + { + "Date": "2020-11-24", + "Value": 156 + }, + { + "Date": "2020-12-31", + "Value": 163 + }, + { + "Date": "2021-02-05", + "Value": 169 + }, + { + "Date": "2021-03-14", + "Value": 180 + }, + { + "Date": "2021-04-19", + "Value": 177 + }, + { + "Date": "2021-05-26", + "Value": 185 + }, + { + "Date": "2021-07-01", + "Value": 179 + }, + { + "Date": "2021-08-07", + "Value": 190 + }, + { + "Date": "2021-09-12", + "Value": 209 + }, + { + "Date": "2021-10-19", + "Value": 235 + }, + { + "Date": "2021-11-24", + "Value": 267 + }, + { + "Date": "2021-12-31", + "Value": 303 + }, + { + "Date": "2022-02-05", + "Value": 333 + }, + { + "Date": "2022-03-14", + "Value": 341 + }, + { + "Date": "2022-04-19", + "Value": 349 + }, + { + "Date": "2022-05-26", + "Value": 362 + }, + { + "Date": "2022-07-01", + "Value": 361 + }, + { + "Date": "2022-08-07", + "Value": 365 + }, + { + "Date": "2022-09-12", + "Value": 359 + }, + { + "Date": "2022-10-19", + "Value": 356 + }, + { + "Date": "2022-11-24", + "Value": 360 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/01-card24.flint.json b/test-harness/excel/evaluations/inputs/area-chart/01-card24.flint.json new file mode 100644 index 00000000..59ac6678 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/01-card24.flint.json @@ -0,0 +1,503 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 216, + "Series": "Electronics" + }, + { + "Date": "2020-02-15", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-04-01", + "Value": 240, + "Series": "Electronics" + }, + { + "Date": "2020-05-16", + "Value": 246, + "Series": "Electronics" + }, + { + "Date": "2020-07-01", + "Value": 264, + "Series": "Electronics" + }, + { + "Date": "2020-08-16", + "Value": 276, + "Series": "Electronics" + }, + { + "Date": "2020-09-30", + "Value": 297, + "Series": "Electronics" + }, + { + "Date": "2020-11-15", + "Value": 299, + "Series": "Electronics" + }, + { + "Date": "2020-12-31", + "Value": 307, + "Series": "Electronics" + }, + { + "Date": "2021-02-14", + "Value": 316, + "Series": "Electronics" + }, + { + "Date": "2021-04-01", + "Value": 338, + "Series": "Electronics" + }, + { + "Date": "2021-05-16", + "Value": 341, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 356, + "Series": "Electronics" + }, + { + "Date": "2021-08-16", + "Value": 353, + "Series": "Electronics" + }, + { + "Date": "2021-09-30", + "Value": 342, + "Series": "Electronics" + }, + { + "Date": "2021-11-15", + "Value": 325, + "Series": "Electronics" + }, + { + "Date": "2021-12-31", + "Value": 318, + "Series": "Electronics" + }, + { + "Date": "2022-02-14", + "Value": 325, + "Series": "Electronics" + }, + { + "Date": "2022-04-01", + "Value": 327, + "Series": "Electronics" + }, + { + "Date": "2022-05-16", + "Value": 319, + "Series": "Electronics" + }, + { + "Date": "2022-07-01", + "Value": 332, + "Series": "Electronics" + }, + { + "Date": "2022-08-16", + "Value": 343, + "Series": "Electronics" + }, + { + "Date": "2022-09-30", + "Value": 360, + "Series": "Electronics" + }, + { + "Date": "2022-11-15", + "Value": 386, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 126, + "Series": "Clothing" + }, + { + "Date": "2020-02-15", + "Value": 121, + "Series": "Clothing" + }, + { + "Date": "2020-04-01", + "Value": 125, + "Series": "Clothing" + }, + { + "Date": "2020-05-16", + "Value": 126, + "Series": "Clothing" + }, + { + "Date": "2020-07-01", + "Value": 134, + "Series": "Clothing" + }, + { + "Date": "2020-08-16", + "Value": 141, + "Series": "Clothing" + }, + { + "Date": "2020-09-30", + "Value": 141, + "Series": "Clothing" + }, + { + "Date": "2020-11-15", + "Value": 144, + "Series": "Clothing" + }, + { + "Date": "2020-12-31", + "Value": 147, + "Series": "Clothing" + }, + { + "Date": "2021-02-14", + "Value": 144, + "Series": "Clothing" + }, + { + "Date": "2021-04-01", + "Value": 146, + "Series": "Clothing" + }, + { + "Date": "2021-05-16", + "Value": 150, + "Series": "Clothing" + }, + { + "Date": "2021-07-01", + "Value": 148, + "Series": "Clothing" + }, + { + "Date": "2021-08-16", + "Value": 150, + "Series": "Clothing" + }, + { + "Date": "2021-09-30", + "Value": 145, + "Series": "Clothing" + }, + { + "Date": "2021-11-15", + "Value": 146, + "Series": "Clothing" + }, + { + "Date": "2021-12-31", + "Value": 145, + "Series": "Clothing" + }, + { + "Date": "2022-02-14", + "Value": 147, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 158, + "Series": "Clothing" + }, + { + "Date": "2022-05-16", + "Value": 173, + "Series": "Clothing" + }, + { + "Date": "2022-07-01", + "Value": 180, + "Series": "Clothing" + }, + { + "Date": "2022-08-16", + "Value": 179, + "Series": "Clothing" + }, + { + "Date": "2022-09-30", + "Value": 179, + "Series": "Clothing" + }, + { + "Date": "2022-11-15", + "Value": 180, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 71, + "Series": "Food" + }, + { + "Date": "2020-02-15", + "Value": 61, + "Series": "Food" + }, + { + "Date": "2020-04-01", + "Value": 59, + "Series": "Food" + }, + { + "Date": "2020-05-16", + "Value": 66, + "Series": "Food" + }, + { + "Date": "2020-07-01", + "Value": 63, + "Series": "Food" + }, + { + "Date": "2020-08-16", + "Value": 75, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 84, + "Series": "Food" + }, + { + "Date": "2020-11-15", + "Value": 77, + "Series": "Food" + }, + { + "Date": "2020-12-31", + "Value": 93, + "Series": "Food" + }, + { + "Date": "2021-02-14", + "Value": 120, + "Series": "Food" + }, + { + "Date": "2021-04-01", + "Value": 160, + "Series": "Food" + }, + { + "Date": "2021-05-16", + "Value": 199, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 210, + "Series": "Food" + }, + { + "Date": "2021-08-16", + "Value": 202, + "Series": "Food" + }, + { + "Date": "2021-09-30", + "Value": 219, + "Series": "Food" + }, + { + "Date": "2021-11-15", + "Value": 245, + "Series": "Food" + }, + { + "Date": "2021-12-31", + "Value": 260, + "Series": "Food" + }, + { + "Date": "2022-02-14", + "Value": 264, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 286, + "Series": "Food" + }, + { + "Date": "2022-05-16", + "Value": 292, + "Series": "Food" + }, + { + "Date": "2022-07-01", + "Value": 288, + "Series": "Food" + }, + { + "Date": "2022-08-16", + "Value": 273, + "Series": "Food" + }, + { + "Date": "2022-09-30", + "Value": 262, + "Series": "Food" + }, + { + "Date": "2022-11-15", + "Value": 264, + "Series": "Food" + }, + { + "Date": "2020-01-01", + "Value": 126, + "Series": "Books" + }, + { + "Date": "2020-02-15", + "Value": 132, + "Series": "Books" + }, + { + "Date": "2020-04-01", + "Value": 143, + "Series": "Books" + }, + { + "Date": "2020-05-16", + "Value": 146, + "Series": "Books" + }, + { + "Date": "2020-07-01", + "Value": 148, + "Series": "Books" + }, + { + "Date": "2020-08-16", + "Value": 156, + "Series": "Books" + }, + { + "Date": "2020-09-30", + "Value": 162, + "Series": "Books" + }, + { + "Date": "2020-11-15", + "Value": 175, + "Series": "Books" + }, + { + "Date": "2020-12-31", + "Value": 196, + "Series": "Books" + }, + { + "Date": "2021-02-14", + "Value": 224, + "Series": "Books" + }, + { + "Date": "2021-04-01", + "Value": 251, + "Series": "Books" + }, + { + "Date": "2021-05-16", + "Value": 256, + "Series": "Books" + }, + { + "Date": "2021-07-01", + "Value": 262, + "Series": "Books" + }, + { + "Date": "2021-08-16", + "Value": 283, + "Series": "Books" + }, + { + "Date": "2021-09-30", + "Value": 299, + "Series": "Books" + }, + { + "Date": "2021-11-15", + "Value": 307, + "Series": "Books" + }, + { + "Date": "2021-12-31", + "Value": 319, + "Series": "Books" + }, + { + "Date": "2022-02-14", + "Value": 344, + "Series": "Books" + }, + { + "Date": "2022-04-01", + "Value": 353, + "Series": "Books" + }, + { + "Date": "2022-05-16", + "Value": 358, + "Series": "Books" + }, + { + "Date": "2022-07-01", + "Value": 374, + "Series": "Books" + }, + { + "Date": "2022-08-16", + "Value": 373, + "Series": "Books" + }, + { + "Date": "2022-09-30", + "Value": 364, + "Series": "Books" + }, + { + "Date": "2022-11-15", + "Value": 373, + "Series": "Books" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/02-card60.flint.json b/test-harness/excel/evaluations/inputs/area-chart/02-card60.flint.json new file mode 100644 index 00000000..368a2f35 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/02-card60.flint.json @@ -0,0 +1,2423 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 203, + "Series": "Electronics" + }, + { + "Date": "2020-01-19", + "Value": 204, + "Series": "Electronics" + }, + { + "Date": "2020-02-06", + "Value": 217, + "Series": "Electronics" + }, + { + "Date": "2020-02-24", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-03-14", + "Value": 224, + "Series": "Electronics" + }, + { + "Date": "2020-04-01", + "Value": 232, + "Series": "Electronics" + }, + { + "Date": "2020-04-19", + "Value": 245, + "Series": "Electronics" + }, + { + "Date": "2020-05-07", + "Value": 264, + "Series": "Electronics" + }, + { + "Date": "2020-05-26", + "Value": 269, + "Series": "Electronics" + }, + { + "Date": "2020-06-13", + "Value": 265, + "Series": "Electronics" + }, + { + "Date": "2020-07-01", + "Value": 263, + "Series": "Electronics" + }, + { + "Date": "2020-07-19", + "Value": 265, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 263, + "Series": "Electronics" + }, + { + "Date": "2020-08-25", + "Value": 266, + "Series": "Electronics" + }, + { + "Date": "2020-09-12", + "Value": 274, + "Series": "Electronics" + }, + { + "Date": "2020-09-30", + "Value": 286, + "Series": "Electronics" + }, + { + "Date": "2020-10-19", + "Value": 296, + "Series": "Electronics" + }, + { + "Date": "2020-11-06", + "Value": 307, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 311, + "Series": "Electronics" + }, + { + "Date": "2020-12-12", + "Value": 319, + "Series": "Electronics" + }, + { + "Date": "2020-12-31", + "Value": 329, + "Series": "Electronics" + }, + { + "Date": "2021-01-18", + "Value": 343, + "Series": "Electronics" + }, + { + "Date": "2021-02-05", + "Value": 354, + "Series": "Electronics" + }, + { + "Date": "2021-02-23", + "Value": 364, + "Series": "Electronics" + }, + { + "Date": "2021-03-14", + "Value": 367, + "Series": "Electronics" + }, + { + "Date": "2021-04-01", + "Value": 380, + "Series": "Electronics" + }, + { + "Date": "2021-04-19", + "Value": 396, + "Series": "Electronics" + }, + { + "Date": "2021-05-07", + "Value": 408, + "Series": "Electronics" + }, + { + "Date": "2021-05-26", + "Value": 410, + "Series": "Electronics" + }, + { + "Date": "2021-06-13", + "Value": 408, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 403, + "Series": "Electronics" + }, + { + "Date": "2021-07-19", + "Value": 400, + "Series": "Electronics" + }, + { + "Date": "2021-08-07", + "Value": 398, + "Series": "Electronics" + }, + { + "Date": "2021-08-25", + "Value": 407, + "Series": "Electronics" + }, + { + "Date": "2021-09-12", + "Value": 422, + "Series": "Electronics" + }, + { + "Date": "2021-09-30", + "Value": 435, + "Series": "Electronics" + }, + { + "Date": "2021-10-19", + "Value": 448, + "Series": "Electronics" + }, + { + "Date": "2021-11-06", + "Value": 457, + "Series": "Electronics" + }, + { + "Date": "2021-11-24", + "Value": 460, + "Series": "Electronics" + }, + { + "Date": "2021-12-12", + "Value": 473, + "Series": "Electronics" + }, + { + "Date": "2021-12-31", + "Value": 486, + "Series": "Electronics" + }, + { + "Date": "2022-01-18", + "Value": 493, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 490, + "Series": "Electronics" + }, + { + "Date": "2022-02-23", + "Value": 492, + "Series": "Electronics" + }, + { + "Date": "2022-03-14", + "Value": 488, + "Series": "Electronics" + }, + { + "Date": "2022-04-01", + "Value": 494, + "Series": "Electronics" + }, + { + "Date": "2022-04-19", + "Value": 510, + "Series": "Electronics" + }, + { + "Date": "2022-05-07", + "Value": 529, + "Series": "Electronics" + }, + { + "Date": "2022-05-26", + "Value": 541, + "Series": "Electronics" + }, + { + "Date": "2022-06-13", + "Value": 543, + "Series": "Electronics" + }, + { + "Date": "2022-07-01", + "Value": 548, + "Series": "Electronics" + }, + { + "Date": "2022-07-19", + "Value": 551, + "Series": "Electronics" + }, + { + "Date": "2022-08-07", + "Value": 562, + "Series": "Electronics" + }, + { + "Date": "2022-08-25", + "Value": 569, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 572, + "Series": "Electronics" + }, + { + "Date": "2022-09-30", + "Value": 586, + "Series": "Electronics" + }, + { + "Date": "2022-10-19", + "Value": 603, + "Series": "Electronics" + }, + { + "Date": "2022-11-06", + "Value": 618, + "Series": "Electronics" + }, + { + "Date": "2022-11-24", + "Value": 634, + "Series": "Electronics" + }, + { + "Date": "2022-12-12", + "Value": 651, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 208, + "Series": "Clothing" + }, + { + "Date": "2020-01-19", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2020-02-06", + "Value": 178, + "Series": "Clothing" + }, + { + "Date": "2020-02-24", + "Value": 174, + "Series": "Clothing" + }, + { + "Date": "2020-03-14", + "Value": 181, + "Series": "Clothing" + }, + { + "Date": "2020-04-01", + "Value": 180, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 165, + "Series": "Clothing" + }, + { + "Date": "2020-05-07", + "Value": 145, + "Series": "Clothing" + }, + { + "Date": "2020-05-26", + "Value": 122, + "Series": "Clothing" + }, + { + "Date": "2020-06-13", + "Value": 122, + "Series": "Clothing" + }, + { + "Date": "2020-07-01", + "Value": 138, + "Series": "Clothing" + }, + { + "Date": "2020-07-19", + "Value": 158, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 171, + "Series": "Clothing" + }, + { + "Date": "2020-08-25", + "Value": 165, + "Series": "Clothing" + }, + { + "Date": "2020-09-12", + "Value": 146, + "Series": "Clothing" + }, + { + "Date": "2020-09-30", + "Value": 128, + "Series": "Clothing" + }, + { + "Date": "2020-10-19", + "Value": 127, + "Series": "Clothing" + }, + { + "Date": "2020-11-06", + "Value": 147, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 181, + "Series": "Clothing" + }, + { + "Date": "2020-12-12", + "Value": 200, + "Series": "Clothing" + }, + { + "Date": "2020-12-31", + "Value": 206, + "Series": "Clothing" + }, + { + "Date": "2021-01-18", + "Value": 223, + "Series": "Clothing" + }, + { + "Date": "2021-02-05", + "Value": 241, + "Series": "Clothing" + }, + { + "Date": "2021-02-23", + "Value": 249, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 246, + "Series": "Clothing" + }, + { + "Date": "2021-04-01", + "Value": 265, + "Series": "Clothing" + }, + { + "Date": "2021-04-19", + "Value": 283, + "Series": "Clothing" + }, + { + "Date": "2021-05-07", + "Value": 304, + "Series": "Clothing" + }, + { + "Date": "2021-05-26", + "Value": 324, + "Series": "Clothing" + }, + { + "Date": "2021-06-13", + "Value": 325, + "Series": "Clothing" + }, + { + "Date": "2021-07-01", + "Value": 347, + "Series": "Clothing" + }, + { + "Date": "2021-07-19", + "Value": 380, + "Series": "Clothing" + }, + { + "Date": "2021-08-07", + "Value": 422, + "Series": "Clothing" + }, + { + "Date": "2021-08-25", + "Value": 457, + "Series": "Clothing" + }, + { + "Date": "2021-09-12", + "Value": 494, + "Series": "Clothing" + }, + { + "Date": "2021-09-30", + "Value": 513, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 513, + "Series": "Clothing" + }, + { + "Date": "2021-11-06", + "Value": 531, + "Series": "Clothing" + }, + { + "Date": "2021-11-24", + "Value": 538, + "Series": "Clothing" + }, + { + "Date": "2021-12-12", + "Value": 540, + "Series": "Clothing" + }, + { + "Date": "2021-12-31", + "Value": 531, + "Series": "Clothing" + }, + { + "Date": "2022-01-18", + "Value": 516, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 508, + "Series": "Clothing" + }, + { + "Date": "2022-02-23", + "Value": 489, + "Series": "Clothing" + }, + { + "Date": "2022-03-14", + "Value": 473, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 466, + "Series": "Clothing" + }, + { + "Date": "2022-04-19", + "Value": 453, + "Series": "Clothing" + }, + { + "Date": "2022-05-07", + "Value": 460, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 477, + "Series": "Clothing" + }, + { + "Date": "2022-06-13", + "Value": 505, + "Series": "Clothing" + }, + { + "Date": "2022-07-01", + "Value": 527, + "Series": "Clothing" + }, + { + "Date": "2022-07-19", + "Value": 555, + "Series": "Clothing" + }, + { + "Date": "2022-08-07", + "Value": 585, + "Series": "Clothing" + }, + { + "Date": "2022-08-25", + "Value": 621, + "Series": "Clothing" + }, + { + "Date": "2022-09-12", + "Value": 644, + "Series": "Clothing" + }, + { + "Date": "2022-09-30", + "Value": 647, + "Series": "Clothing" + }, + { + "Date": "2022-10-19", + "Value": 635, + "Series": "Clothing" + }, + { + "Date": "2022-11-06", + "Value": 624, + "Series": "Clothing" + }, + { + "Date": "2022-11-24", + "Value": 632, + "Series": "Clothing" + }, + { + "Date": "2022-12-12", + "Value": 626, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 74, + "Series": "Food" + }, + { + "Date": "2020-01-19", + "Value": 74, + "Series": "Food" + }, + { + "Date": "2020-02-06", + "Value": 72, + "Series": "Food" + }, + { + "Date": "2020-02-24", + "Value": 77, + "Series": "Food" + }, + { + "Date": "2020-03-14", + "Value": 82, + "Series": "Food" + }, + { + "Date": "2020-04-01", + "Value": 85, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 91, + "Series": "Food" + }, + { + "Date": "2020-05-07", + "Value": 100, + "Series": "Food" + }, + { + "Date": "2020-05-26", + "Value": 106, + "Series": "Food" + }, + { + "Date": "2020-06-13", + "Value": 108, + "Series": "Food" + }, + { + "Date": "2020-07-01", + "Value": 114, + "Series": "Food" + }, + { + "Date": "2020-07-19", + "Value": 124, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 136, + "Series": "Food" + }, + { + "Date": "2020-08-25", + "Value": 144, + "Series": "Food" + }, + { + "Date": "2020-09-12", + "Value": 155, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 161, + "Series": "Food" + }, + { + "Date": "2020-10-19", + "Value": 165, + "Series": "Food" + }, + { + "Date": "2020-11-06", + "Value": 172, + "Series": "Food" + }, + { + "Date": "2020-11-24", + "Value": 177, + "Series": "Food" + }, + { + "Date": "2020-12-12", + "Value": 179, + "Series": "Food" + }, + { + "Date": "2020-12-31", + "Value": 182, + "Series": "Food" + }, + { + "Date": "2021-01-18", + "Value": 188, + "Series": "Food" + }, + { + "Date": "2021-02-05", + "Value": 188, + "Series": "Food" + }, + { + "Date": "2021-02-23", + "Value": 195, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 197, + "Series": "Food" + }, + { + "Date": "2021-04-01", + "Value": 197, + "Series": "Food" + }, + { + "Date": "2021-04-19", + "Value": 203, + "Series": "Food" + }, + { + "Date": "2021-05-07", + "Value": 213, + "Series": "Food" + }, + { + "Date": "2021-05-26", + "Value": 224, + "Series": "Food" + }, + { + "Date": "2021-06-13", + "Value": 232, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 233, + "Series": "Food" + }, + { + "Date": "2021-07-19", + "Value": 229, + "Series": "Food" + }, + { + "Date": "2021-08-07", + "Value": 229, + "Series": "Food" + }, + { + "Date": "2021-08-25", + "Value": 230, + "Series": "Food" + }, + { + "Date": "2021-09-12", + "Value": 234, + "Series": "Food" + }, + { + "Date": "2021-09-30", + "Value": 239, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 242, + "Series": "Food" + }, + { + "Date": "2021-11-06", + "Value": 242, + "Series": "Food" + }, + { + "Date": "2021-11-24", + "Value": 244, + "Series": "Food" + }, + { + "Date": "2021-12-12", + "Value": 243, + "Series": "Food" + }, + { + "Date": "2021-12-31", + "Value": 241, + "Series": "Food" + }, + { + "Date": "2022-01-18", + "Value": 240, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 239, + "Series": "Food" + }, + { + "Date": "2022-02-23", + "Value": 239, + "Series": "Food" + }, + { + "Date": "2022-03-14", + "Value": 241, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 239, + "Series": "Food" + }, + { + "Date": "2022-04-19", + "Value": 243, + "Series": "Food" + }, + { + "Date": "2022-05-07", + "Value": 251, + "Series": "Food" + }, + { + "Date": "2022-05-26", + "Value": 262, + "Series": "Food" + }, + { + "Date": "2022-06-13", + "Value": 273, + "Series": "Food" + }, + { + "Date": "2022-07-01", + "Value": 276, + "Series": "Food" + }, + { + "Date": "2022-07-19", + "Value": 274, + "Series": "Food" + }, + { + "Date": "2022-08-07", + "Value": 280, + "Series": "Food" + }, + { + "Date": "2022-08-25", + "Value": 287, + "Series": "Food" + }, + { + "Date": "2022-09-12", + "Value": 289, + "Series": "Food" + }, + { + "Date": "2022-09-30", + "Value": 287, + "Series": "Food" + }, + { + "Date": "2022-10-19", + "Value": 289, + "Series": "Food" + }, + { + "Date": "2022-11-06", + "Value": 295, + "Series": "Food" + }, + { + "Date": "2022-11-24", + "Value": 295, + "Series": "Food" + }, + { + "Date": "2022-12-12", + "Value": 299, + "Series": "Food" + }, + { + "Date": "2020-01-01", + "Value": 147, + "Series": "Books" + }, + { + "Date": "2020-01-19", + "Value": 156, + "Series": "Books" + }, + { + "Date": "2020-02-06", + "Value": 168, + "Series": "Books" + }, + { + "Date": "2020-02-24", + "Value": 173, + "Series": "Books" + }, + { + "Date": "2020-03-14", + "Value": 178, + "Series": "Books" + }, + { + "Date": "2020-04-01", + "Value": 177, + "Series": "Books" + }, + { + "Date": "2020-04-19", + "Value": 179, + "Series": "Books" + }, + { + "Date": "2020-05-07", + "Value": 189, + "Series": "Books" + }, + { + "Date": "2020-05-26", + "Value": 199, + "Series": "Books" + }, + { + "Date": "2020-06-13", + "Value": 210, + "Series": "Books" + }, + { + "Date": "2020-07-01", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2020-07-19", + "Value": 222, + "Series": "Books" + }, + { + "Date": "2020-08-07", + "Value": 225, + "Series": "Books" + }, + { + "Date": "2020-08-25", + "Value": 225, + "Series": "Books" + }, + { + "Date": "2020-09-12", + "Value": 227, + "Series": "Books" + }, + { + "Date": "2020-09-30", + "Value": 224, + "Series": "Books" + }, + { + "Date": "2020-10-19", + "Value": 222, + "Series": "Books" + }, + { + "Date": "2020-11-06", + "Value": 221, + "Series": "Books" + }, + { + "Date": "2020-11-24", + "Value": 226, + "Series": "Books" + }, + { + "Date": "2020-12-12", + "Value": 224, + "Series": "Books" + }, + { + "Date": "2020-12-31", + "Value": 231, + "Series": "Books" + }, + { + "Date": "2021-01-18", + "Value": 241, + "Series": "Books" + }, + { + "Date": "2021-02-05", + "Value": 245, + "Series": "Books" + }, + { + "Date": "2021-02-23", + "Value": 251, + "Series": "Books" + }, + { + "Date": "2021-03-14", + "Value": 259, + "Series": "Books" + }, + { + "Date": "2021-04-01", + "Value": 273, + "Series": "Books" + }, + { + "Date": "2021-04-19", + "Value": 285, + "Series": "Books" + }, + { + "Date": "2021-05-07", + "Value": 300, + "Series": "Books" + }, + { + "Date": "2021-05-26", + "Value": 314, + "Series": "Books" + }, + { + "Date": "2021-06-13", + "Value": 319, + "Series": "Books" + }, + { + "Date": "2021-07-01", + "Value": 328, + "Series": "Books" + }, + { + "Date": "2021-07-19", + "Value": 341, + "Series": "Books" + }, + { + "Date": "2021-08-07", + "Value": 355, + "Series": "Books" + }, + { + "Date": "2021-08-25", + "Value": 371, + "Series": "Books" + }, + { + "Date": "2021-09-12", + "Value": 390, + "Series": "Books" + }, + { + "Date": "2021-09-30", + "Value": 407, + "Series": "Books" + }, + { + "Date": "2021-10-19", + "Value": 421, + "Series": "Books" + }, + { + "Date": "2021-11-06", + "Value": 433, + "Series": "Books" + }, + { + "Date": "2021-11-24", + "Value": 443, + "Series": "Books" + }, + { + "Date": "2021-12-12", + "Value": 446, + "Series": "Books" + }, + { + "Date": "2021-12-31", + "Value": 457, + "Series": "Books" + }, + { + "Date": "2022-01-18", + "Value": 462, + "Series": "Books" + }, + { + "Date": "2022-02-05", + "Value": 469, + "Series": "Books" + }, + { + "Date": "2022-02-23", + "Value": 480, + "Series": "Books" + }, + { + "Date": "2022-03-14", + "Value": 489, + "Series": "Books" + }, + { + "Date": "2022-04-01", + "Value": 490, + "Series": "Books" + }, + { + "Date": "2022-04-19", + "Value": 494, + "Series": "Books" + }, + { + "Date": "2022-05-07", + "Value": 502, + "Series": "Books" + }, + { + "Date": "2022-05-26", + "Value": 510, + "Series": "Books" + }, + { + "Date": "2022-06-13", + "Value": 511, + "Series": "Books" + }, + { + "Date": "2022-07-01", + "Value": 511, + "Series": "Books" + }, + { + "Date": "2022-07-19", + "Value": 511, + "Series": "Books" + }, + { + "Date": "2022-08-07", + "Value": 508, + "Series": "Books" + }, + { + "Date": "2022-08-25", + "Value": 506, + "Series": "Books" + }, + { + "Date": "2022-09-12", + "Value": 500, + "Series": "Books" + }, + { + "Date": "2022-09-30", + "Value": 492, + "Series": "Books" + }, + { + "Date": "2022-10-19", + "Value": 487, + "Series": "Books" + }, + { + "Date": "2022-11-06", + "Value": 480, + "Series": "Books" + }, + { + "Date": "2022-11-24", + "Value": 476, + "Series": "Books" + }, + { + "Date": "2022-12-12", + "Value": 469, + "Series": "Books" + }, + { + "Date": "2020-01-01", + "Value": 205, + "Series": "Sports" + }, + { + "Date": "2020-01-19", + "Value": 211, + "Series": "Sports" + }, + { + "Date": "2020-02-06", + "Value": 216, + "Series": "Sports" + }, + { + "Date": "2020-02-24", + "Value": 216, + "Series": "Sports" + }, + { + "Date": "2020-03-14", + "Value": 219, + "Series": "Sports" + }, + { + "Date": "2020-04-01", + "Value": 223, + "Series": "Sports" + }, + { + "Date": "2020-04-19", + "Value": 224, + "Series": "Sports" + }, + { + "Date": "2020-05-07", + "Value": 231, + "Series": "Sports" + }, + { + "Date": "2020-05-26", + "Value": 234, + "Series": "Sports" + }, + { + "Date": "2020-06-13", + "Value": 242, + "Series": "Sports" + }, + { + "Date": "2020-07-01", + "Value": 254, + "Series": "Sports" + }, + { + "Date": "2020-07-19", + "Value": 259, + "Series": "Sports" + }, + { + "Date": "2020-08-07", + "Value": 267, + "Series": "Sports" + }, + { + "Date": "2020-08-25", + "Value": 273, + "Series": "Sports" + }, + { + "Date": "2020-09-12", + "Value": 274, + "Series": "Sports" + }, + { + "Date": "2020-09-30", + "Value": 277, + "Series": "Sports" + }, + { + "Date": "2020-10-19", + "Value": 284, + "Series": "Sports" + }, + { + "Date": "2020-11-06", + "Value": 291, + "Series": "Sports" + }, + { + "Date": "2020-11-24", + "Value": 294, + "Series": "Sports" + }, + { + "Date": "2020-12-12", + "Value": 293, + "Series": "Sports" + }, + { + "Date": "2020-12-31", + "Value": 295, + "Series": "Sports" + }, + { + "Date": "2021-01-18", + "Value": 299, + "Series": "Sports" + }, + { + "Date": "2021-02-05", + "Value": 302, + "Series": "Sports" + }, + { + "Date": "2021-02-23", + "Value": 304, + "Series": "Sports" + }, + { + "Date": "2021-03-14", + "Value": 308, + "Series": "Sports" + }, + { + "Date": "2021-04-01", + "Value": 313, + "Series": "Sports" + }, + { + "Date": "2021-04-19", + "Value": 313, + "Series": "Sports" + }, + { + "Date": "2021-05-07", + "Value": 311, + "Series": "Sports" + }, + { + "Date": "2021-05-26", + "Value": 316, + "Series": "Sports" + }, + { + "Date": "2021-06-13", + "Value": 320, + "Series": "Sports" + }, + { + "Date": "2021-07-01", + "Value": 322, + "Series": "Sports" + }, + { + "Date": "2021-07-19", + "Value": 331, + "Series": "Sports" + }, + { + "Date": "2021-08-07", + "Value": 341, + "Series": "Sports" + }, + { + "Date": "2021-08-25", + "Value": 347, + "Series": "Sports" + }, + { + "Date": "2021-09-12", + "Value": 348, + "Series": "Sports" + }, + { + "Date": "2021-09-30", + "Value": 355, + "Series": "Sports" + }, + { + "Date": "2021-10-19", + "Value": 356, + "Series": "Sports" + }, + { + "Date": "2021-11-06", + "Value": 356, + "Series": "Sports" + }, + { + "Date": "2021-11-24", + "Value": 356, + "Series": "Sports" + }, + { + "Date": "2021-12-12", + "Value": 363, + "Series": "Sports" + }, + { + "Date": "2021-12-31", + "Value": 366, + "Series": "Sports" + }, + { + "Date": "2022-01-18", + "Value": 373, + "Series": "Sports" + }, + { + "Date": "2022-02-05", + "Value": 374, + "Series": "Sports" + }, + { + "Date": "2022-02-23", + "Value": 381, + "Series": "Sports" + }, + { + "Date": "2022-03-14", + "Value": 392, + "Series": "Sports" + }, + { + "Date": "2022-04-01", + "Value": 400, + "Series": "Sports" + }, + { + "Date": "2022-04-19", + "Value": 405, + "Series": "Sports" + }, + { + "Date": "2022-05-07", + "Value": 406, + "Series": "Sports" + }, + { + "Date": "2022-05-26", + "Value": 410, + "Series": "Sports" + }, + { + "Date": "2022-06-13", + "Value": 415, + "Series": "Sports" + }, + { + "Date": "2022-07-01", + "Value": 417, + "Series": "Sports" + }, + { + "Date": "2022-07-19", + "Value": 423, + "Series": "Sports" + }, + { + "Date": "2022-08-07", + "Value": 431, + "Series": "Sports" + }, + { + "Date": "2022-08-25", + "Value": 439, + "Series": "Sports" + }, + { + "Date": "2022-09-12", + "Value": 445, + "Series": "Sports" + }, + { + "Date": "2022-09-30", + "Value": 451, + "Series": "Sports" + }, + { + "Date": "2022-10-19", + "Value": 453, + "Series": "Sports" + }, + { + "Date": "2022-11-06", + "Value": 451, + "Series": "Sports" + }, + { + "Date": "2022-11-24", + "Value": 451, + "Series": "Sports" + }, + { + "Date": "2022-12-12", + "Value": 454, + "Series": "Sports" + }, + { + "Date": "2020-01-01", + "Value": 201, + "Series": "Home" + }, + { + "Date": "2020-01-19", + "Value": 215, + "Series": "Home" + }, + { + "Date": "2020-02-06", + "Value": 239, + "Series": "Home" + }, + { + "Date": "2020-02-24", + "Value": 259, + "Series": "Home" + }, + { + "Date": "2020-03-14", + "Value": 262, + "Series": "Home" + }, + { + "Date": "2020-04-01", + "Value": 256, + "Series": "Home" + }, + { + "Date": "2020-04-19", + "Value": 264, + "Series": "Home" + }, + { + "Date": "2020-05-07", + "Value": 277, + "Series": "Home" + }, + { + "Date": "2020-05-26", + "Value": 290, + "Series": "Home" + }, + { + "Date": "2020-06-13", + "Value": 307, + "Series": "Home" + }, + { + "Date": "2020-07-01", + "Value": 332, + "Series": "Home" + }, + { + "Date": "2020-07-19", + "Value": 339, + "Series": "Home" + }, + { + "Date": "2020-08-07", + "Value": 357, + "Series": "Home" + }, + { + "Date": "2020-08-25", + "Value": 358, + "Series": "Home" + }, + { + "Date": "2020-09-12", + "Value": 364, + "Series": "Home" + }, + { + "Date": "2020-09-30", + "Value": 360, + "Series": "Home" + }, + { + "Date": "2020-10-19", + "Value": 355, + "Series": "Home" + }, + { + "Date": "2020-11-06", + "Value": 345, + "Series": "Home" + }, + { + "Date": "2020-11-24", + "Value": 354, + "Series": "Home" + }, + { + "Date": "2020-12-12", + "Value": 365, + "Series": "Home" + }, + { + "Date": "2020-12-31", + "Value": 361, + "Series": "Home" + }, + { + "Date": "2021-01-18", + "Value": 368, + "Series": "Home" + }, + { + "Date": "2021-02-05", + "Value": 373, + "Series": "Home" + }, + { + "Date": "2021-02-23", + "Value": 386, + "Series": "Home" + }, + { + "Date": "2021-03-14", + "Value": 398, + "Series": "Home" + }, + { + "Date": "2021-04-01", + "Value": 397, + "Series": "Home" + }, + { + "Date": "2021-04-19", + "Value": 396, + "Series": "Home" + }, + { + "Date": "2021-05-07", + "Value": 384, + "Series": "Home" + }, + { + "Date": "2021-05-26", + "Value": 366, + "Series": "Home" + }, + { + "Date": "2021-06-13", + "Value": 360, + "Series": "Home" + }, + { + "Date": "2021-07-01", + "Value": 360, + "Series": "Home" + }, + { + "Date": "2021-07-19", + "Value": 377, + "Series": "Home" + }, + { + "Date": "2021-08-07", + "Value": 390, + "Series": "Home" + }, + { + "Date": "2021-08-25", + "Value": 408, + "Series": "Home" + }, + { + "Date": "2021-09-12", + "Value": 436, + "Series": "Home" + }, + { + "Date": "2021-09-30", + "Value": 444, + "Series": "Home" + }, + { + "Date": "2021-10-19", + "Value": 460, + "Series": "Home" + }, + { + "Date": "2021-11-06", + "Value": 462, + "Series": "Home" + }, + { + "Date": "2021-11-24", + "Value": 481, + "Series": "Home" + }, + { + "Date": "2021-12-12", + "Value": 499, + "Series": "Home" + }, + { + "Date": "2021-12-31", + "Value": 506, + "Series": "Home" + }, + { + "Date": "2022-01-18", + "Value": 525, + "Series": "Home" + }, + { + "Date": "2022-02-05", + "Value": 553, + "Series": "Home" + }, + { + "Date": "2022-02-23", + "Value": 583, + "Series": "Home" + }, + { + "Date": "2022-03-14", + "Value": 601, + "Series": "Home" + }, + { + "Date": "2022-04-01", + "Value": 609, + "Series": "Home" + }, + { + "Date": "2022-04-19", + "Value": 622, + "Series": "Home" + }, + { + "Date": "2022-05-07", + "Value": 620, + "Series": "Home" + }, + { + "Date": "2022-05-26", + "Value": 631, + "Series": "Home" + }, + { + "Date": "2022-06-13", + "Value": 647, + "Series": "Home" + }, + { + "Date": "2022-07-01", + "Value": 674, + "Series": "Home" + }, + { + "Date": "2022-07-19", + "Value": 705, + "Series": "Home" + }, + { + "Date": "2022-08-07", + "Value": 714, + "Series": "Home" + }, + { + "Date": "2022-08-25", + "Value": 708, + "Series": "Home" + }, + { + "Date": "2022-09-12", + "Value": 709, + "Series": "Home" + }, + { + "Date": "2022-09-30", + "Value": 717, + "Series": "Home" + }, + { + "Date": "2022-10-19", + "Value": 717, + "Series": "Home" + }, + { + "Date": "2022-11-06", + "Value": 735, + "Series": "Home" + }, + { + "Date": "2022-11-24", + "Value": 737, + "Series": "Home" + }, + { + "Date": "2022-12-12", + "Value": 737, + "Series": "Home" + }, + { + "Date": "2020-01-01", + "Value": 120, + "Series": "Garden" + }, + { + "Date": "2020-01-19", + "Value": 130, + "Series": "Garden" + }, + { + "Date": "2020-02-06", + "Value": 142, + "Series": "Garden" + }, + { + "Date": "2020-02-24", + "Value": 141, + "Series": "Garden" + }, + { + "Date": "2020-03-14", + "Value": 152, + "Series": "Garden" + }, + { + "Date": "2020-04-01", + "Value": 156, + "Series": "Garden" + }, + { + "Date": "2020-04-19", + "Value": 150, + "Series": "Garden" + }, + { + "Date": "2020-05-07", + "Value": 162, + "Series": "Garden" + }, + { + "Date": "2020-05-26", + "Value": 184, + "Series": "Garden" + }, + { + "Date": "2020-06-13", + "Value": 211, + "Series": "Garden" + }, + { + "Date": "2020-07-01", + "Value": 242, + "Series": "Garden" + }, + { + "Date": "2020-07-19", + "Value": 262, + "Series": "Garden" + }, + { + "Date": "2020-08-07", + "Value": 276, + "Series": "Garden" + }, + { + "Date": "2020-08-25", + "Value": 286, + "Series": "Garden" + }, + { + "Date": "2020-09-12", + "Value": 309, + "Series": "Garden" + }, + { + "Date": "2020-09-30", + "Value": 317, + "Series": "Garden" + }, + { + "Date": "2020-10-19", + "Value": 329, + "Series": "Garden" + }, + { + "Date": "2020-11-06", + "Value": 337, + "Series": "Garden" + }, + { + "Date": "2020-11-24", + "Value": 354, + "Series": "Garden" + }, + { + "Date": "2020-12-12", + "Value": 363, + "Series": "Garden" + }, + { + "Date": "2020-12-31", + "Value": 383, + "Series": "Garden" + }, + { + "Date": "2021-01-18", + "Value": 412, + "Series": "Garden" + }, + { + "Date": "2021-02-05", + "Value": 447, + "Series": "Garden" + }, + { + "Date": "2021-02-23", + "Value": 460, + "Series": "Garden" + }, + { + "Date": "2021-03-14", + "Value": 456, + "Series": "Garden" + }, + { + "Date": "2021-04-01", + "Value": 441, + "Series": "Garden" + }, + { + "Date": "2021-04-19", + "Value": 420, + "Series": "Garden" + }, + { + "Date": "2021-05-07", + "Value": 416, + "Series": "Garden" + }, + { + "Date": "2021-05-26", + "Value": 431, + "Series": "Garden" + }, + { + "Date": "2021-06-13", + "Value": 448, + "Series": "Garden" + }, + { + "Date": "2021-07-01", + "Value": 449, + "Series": "Garden" + }, + { + "Date": "2021-07-19", + "Value": 459, + "Series": "Garden" + }, + { + "Date": "2021-08-07", + "Value": 479, + "Series": "Garden" + }, + { + "Date": "2021-08-25", + "Value": 490, + "Series": "Garden" + }, + { + "Date": "2021-09-12", + "Value": 507, + "Series": "Garden" + }, + { + "Date": "2021-09-30", + "Value": 529, + "Series": "Garden" + }, + { + "Date": "2021-10-19", + "Value": 540, + "Series": "Garden" + }, + { + "Date": "2021-11-06", + "Value": 561, + "Series": "Garden" + }, + { + "Date": "2021-11-24", + "Value": 574, + "Series": "Garden" + }, + { + "Date": "2021-12-12", + "Value": 569, + "Series": "Garden" + }, + { + "Date": "2021-12-31", + "Value": 563, + "Series": "Garden" + }, + { + "Date": "2022-01-18", + "Value": 572, + "Series": "Garden" + }, + { + "Date": "2022-02-05", + "Value": 566, + "Series": "Garden" + }, + { + "Date": "2022-02-23", + "Value": 552, + "Series": "Garden" + }, + { + "Date": "2022-03-14", + "Value": 534, + "Series": "Garden" + }, + { + "Date": "2022-04-01", + "Value": 526, + "Series": "Garden" + }, + { + "Date": "2022-04-19", + "Value": 538, + "Series": "Garden" + }, + { + "Date": "2022-05-07", + "Value": 536, + "Series": "Garden" + }, + { + "Date": "2022-05-26", + "Value": 539, + "Series": "Garden" + }, + { + "Date": "2022-06-13", + "Value": 553, + "Series": "Garden" + }, + { + "Date": "2022-07-01", + "Value": 568, + "Series": "Garden" + }, + { + "Date": "2022-07-19", + "Value": 584, + "Series": "Garden" + }, + { + "Date": "2022-08-07", + "Value": 608, + "Series": "Garden" + }, + { + "Date": "2022-08-25", + "Value": 631, + "Series": "Garden" + }, + { + "Date": "2022-09-12", + "Value": 648, + "Series": "Garden" + }, + { + "Date": "2022-09-30", + "Value": 674, + "Series": "Garden" + }, + { + "Date": "2022-10-19", + "Value": 703, + "Series": "Garden" + }, + { + "Date": "2022-11-06", + "Value": 738, + "Series": "Garden" + }, + { + "Date": "2022-11-24", + "Value": 766, + "Series": "Garden" + }, + { + "Date": "2022-12-12", + "Value": 798, + "Series": "Garden" + }, + { + "Date": "2020-01-01", + "Value": 213, + "Series": "Auto" + }, + { + "Date": "2020-01-19", + "Value": 211, + "Series": "Auto" + }, + { + "Date": "2020-02-06", + "Value": 222, + "Series": "Auto" + }, + { + "Date": "2020-02-24", + "Value": 227, + "Series": "Auto" + }, + { + "Date": "2020-03-14", + "Value": 249, + "Series": "Auto" + }, + { + "Date": "2020-04-01", + "Value": 276, + "Series": "Auto" + }, + { + "Date": "2020-04-19", + "Value": 281, + "Series": "Auto" + }, + { + "Date": "2020-05-07", + "Value": 304, + "Series": "Auto" + }, + { + "Date": "2020-05-26", + "Value": 309, + "Series": "Auto" + }, + { + "Date": "2020-06-13", + "Value": 329, + "Series": "Auto" + }, + { + "Date": "2020-07-01", + "Value": 361, + "Series": "Auto" + }, + { + "Date": "2020-07-19", + "Value": 365, + "Series": "Auto" + }, + { + "Date": "2020-08-07", + "Value": 381, + "Series": "Auto" + }, + { + "Date": "2020-08-25", + "Value": 412, + "Series": "Auto" + }, + { + "Date": "2020-09-12", + "Value": 424, + "Series": "Auto" + }, + { + "Date": "2020-09-30", + "Value": 450, + "Series": "Auto" + }, + { + "Date": "2020-10-19", + "Value": 478, + "Series": "Auto" + }, + { + "Date": "2020-11-06", + "Value": 497, + "Series": "Auto" + }, + { + "Date": "2020-11-24", + "Value": 495, + "Series": "Auto" + }, + { + "Date": "2020-12-12", + "Value": 487, + "Series": "Auto" + }, + { + "Date": "2020-12-31", + "Value": 472, + "Series": "Auto" + }, + { + "Date": "2021-01-18", + "Value": 477, + "Series": "Auto" + }, + { + "Date": "2021-02-05", + "Value": 484, + "Series": "Auto" + }, + { + "Date": "2021-02-23", + "Value": 482, + "Series": "Auto" + }, + { + "Date": "2021-03-14", + "Value": 468, + "Series": "Auto" + }, + { + "Date": "2021-04-01", + "Value": 474, + "Series": "Auto" + }, + { + "Date": "2021-04-19", + "Value": 496, + "Series": "Auto" + }, + { + "Date": "2021-05-07", + "Value": 528, + "Series": "Auto" + }, + { + "Date": "2021-05-26", + "Value": 542, + "Series": "Auto" + }, + { + "Date": "2021-06-13", + "Value": 561, + "Series": "Auto" + }, + { + "Date": "2021-07-01", + "Value": 576, + "Series": "Auto" + }, + { + "Date": "2021-07-19", + "Value": 571, + "Series": "Auto" + }, + { + "Date": "2021-08-07", + "Value": 559, + "Series": "Auto" + }, + { + "Date": "2021-08-25", + "Value": 558, + "Series": "Auto" + }, + { + "Date": "2021-09-12", + "Value": 562, + "Series": "Auto" + }, + { + "Date": "2021-09-30", + "Value": 574, + "Series": "Auto" + }, + { + "Date": "2021-10-19", + "Value": 571, + "Series": "Auto" + }, + { + "Date": "2021-11-06", + "Value": 591, + "Series": "Auto" + }, + { + "Date": "2021-11-24", + "Value": 615, + "Series": "Auto" + }, + { + "Date": "2021-12-12", + "Value": 647, + "Series": "Auto" + }, + { + "Date": "2021-12-31", + "Value": 655, + "Series": "Auto" + }, + { + "Date": "2022-01-18", + "Value": 653, + "Series": "Auto" + }, + { + "Date": "2022-02-05", + "Value": 656, + "Series": "Auto" + }, + { + "Date": "2022-02-23", + "Value": 654, + "Series": "Auto" + }, + { + "Date": "2022-03-14", + "Value": 660, + "Series": "Auto" + }, + { + "Date": "2022-04-01", + "Value": 673, + "Series": "Auto" + }, + { + "Date": "2022-04-19", + "Value": 698, + "Series": "Auto" + }, + { + "Date": "2022-05-07", + "Value": 707, + "Series": "Auto" + }, + { + "Date": "2022-05-26", + "Value": 722, + "Series": "Auto" + }, + { + "Date": "2022-06-13", + "Value": 727, + "Series": "Auto" + }, + { + "Date": "2022-07-01", + "Value": 734, + "Series": "Auto" + }, + { + "Date": "2022-07-19", + "Value": 729, + "Series": "Auto" + }, + { + "Date": "2022-08-07", + "Value": 734, + "Series": "Auto" + }, + { + "Date": "2022-08-25", + "Value": 752, + "Series": "Auto" + }, + { + "Date": "2022-09-12", + "Value": 762, + "Series": "Auto" + }, + { + "Date": "2022-09-30", + "Value": 765, + "Series": "Auto" + }, + { + "Date": "2022-10-19", + "Value": 783, + "Series": "Auto" + }, + { + "Date": "2022-11-06", + "Value": 813, + "Series": "Auto" + }, + { + "Date": "2022-11-24", + "Value": 823, + "Series": "Auto" + }, + { + "Date": "2022-12-12", + "Value": 822, + "Series": "Auto" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/03-card120.flint.json b/test-harness/excel/evaluations/inputs/area-chart/03-card120.flint.json new file mode 100644 index 00000000..e2dd4d45 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/03-card120.flint.json @@ -0,0 +1,9023 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2020-01-10", + "Value": 235, + "Series": "Electronics" + }, + { + "Date": "2020-01-19", + "Value": 256, + "Series": "Electronics" + }, + { + "Date": "2020-01-28", + "Value": 269, + "Series": "Electronics" + }, + { + "Date": "2020-02-06", + "Value": 281, + "Series": "Electronics" + }, + { + "Date": "2020-02-15", + "Value": 279, + "Series": "Electronics" + }, + { + "Date": "2020-02-24", + "Value": 288, + "Series": "Electronics" + }, + { + "Date": "2020-03-04", + "Value": 307, + "Series": "Electronics" + }, + { + "Date": "2020-03-14", + "Value": 331, + "Series": "Electronics" + }, + { + "Date": "2020-03-23", + "Value": 337, + "Series": "Electronics" + }, + { + "Date": "2020-04-01", + "Value": 345, + "Series": "Electronics" + }, + { + "Date": "2020-04-10", + "Value": 341, + "Series": "Electronics" + }, + { + "Date": "2020-04-19", + "Value": 348, + "Series": "Electronics" + }, + { + "Date": "2020-04-28", + "Value": 348, + "Series": "Electronics" + }, + { + "Date": "2020-05-07", + "Value": 360, + "Series": "Electronics" + }, + { + "Date": "2020-05-16", + "Value": 361, + "Series": "Electronics" + }, + { + "Date": "2020-05-26", + "Value": 362, + "Series": "Electronics" + }, + { + "Date": "2020-06-04", + "Value": 363, + "Series": "Electronics" + }, + { + "Date": "2020-06-13", + "Value": 363, + "Series": "Electronics" + }, + { + "Date": "2020-06-22", + "Value": 370, + "Series": "Electronics" + }, + { + "Date": "2020-07-01", + "Value": 367, + "Series": "Electronics" + }, + { + "Date": "2020-07-10", + "Value": 376, + "Series": "Electronics" + }, + { + "Date": "2020-07-19", + "Value": 374, + "Series": "Electronics" + }, + { + "Date": "2020-07-28", + "Value": 372, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 384, + "Series": "Electronics" + }, + { + "Date": "2020-08-16", + "Value": 399, + "Series": "Electronics" + }, + { + "Date": "2020-08-25", + "Value": 408, + "Series": "Electronics" + }, + { + "Date": "2020-09-03", + "Value": 423, + "Series": "Electronics" + }, + { + "Date": "2020-09-12", + "Value": 442, + "Series": "Electronics" + }, + { + "Date": "2020-09-21", + "Value": 458, + "Series": "Electronics" + }, + { + "Date": "2020-09-30", + "Value": 476, + "Series": "Electronics" + }, + { + "Date": "2020-10-09", + "Value": 494, + "Series": "Electronics" + }, + { + "Date": "2020-10-19", + "Value": 509, + "Series": "Electronics" + }, + { + "Date": "2020-10-28", + "Value": 526, + "Series": "Electronics" + }, + { + "Date": "2020-11-06", + "Value": 534, + "Series": "Electronics" + }, + { + "Date": "2020-11-15", + "Value": 530, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 523, + "Series": "Electronics" + }, + { + "Date": "2020-12-03", + "Value": 526, + "Series": "Electronics" + }, + { + "Date": "2020-12-12", + "Value": 540, + "Series": "Electronics" + }, + { + "Date": "2020-12-21", + "Value": 545, + "Series": "Electronics" + }, + { + "Date": "2020-12-31", + "Value": 544, + "Series": "Electronics" + }, + { + "Date": "2021-01-09", + "Value": 557, + "Series": "Electronics" + }, + { + "Date": "2021-01-18", + "Value": 577, + "Series": "Electronics" + }, + { + "Date": "2021-01-27", + "Value": 597, + "Series": "Electronics" + }, + { + "Date": "2021-02-05", + "Value": 610, + "Series": "Electronics" + }, + { + "Date": "2021-02-14", + "Value": 617, + "Series": "Electronics" + }, + { + "Date": "2021-02-23", + "Value": 629, + "Series": "Electronics" + }, + { + "Date": "2021-03-04", + "Value": 631, + "Series": "Electronics" + }, + { + "Date": "2021-03-14", + "Value": 623, + "Series": "Electronics" + }, + { + "Date": "2021-03-23", + "Value": 625, + "Series": "Electronics" + }, + { + "Date": "2021-04-01", + "Value": 627, + "Series": "Electronics" + }, + { + "Date": "2021-04-10", + "Value": 629, + "Series": "Electronics" + }, + { + "Date": "2021-04-19", + "Value": 633, + "Series": "Electronics" + }, + { + "Date": "2021-04-28", + "Value": 637, + "Series": "Electronics" + }, + { + "Date": "2021-05-07", + "Value": 646, + "Series": "Electronics" + }, + { + "Date": "2021-05-16", + "Value": 656, + "Series": "Electronics" + }, + { + "Date": "2021-05-26", + "Value": 668, + "Series": "Electronics" + }, + { + "Date": "2021-06-04", + "Value": 687, + "Series": "Electronics" + }, + { + "Date": "2021-06-13", + "Value": 695, + "Series": "Electronics" + }, + { + "Date": "2021-06-22", + "Value": 706, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 719, + "Series": "Electronics" + }, + { + "Date": "2021-07-10", + "Value": 731, + "Series": "Electronics" + }, + { + "Date": "2021-07-19", + "Value": 745, + "Series": "Electronics" + }, + { + "Date": "2021-07-28", + "Value": 744, + "Series": "Electronics" + }, + { + "Date": "2021-08-07", + "Value": 750, + "Series": "Electronics" + }, + { + "Date": "2021-08-16", + "Value": 752, + "Series": "Electronics" + }, + { + "Date": "2021-08-25", + "Value": 762, + "Series": "Electronics" + }, + { + "Date": "2021-09-03", + "Value": 778, + "Series": "Electronics" + }, + { + "Date": "2021-09-12", + "Value": 792, + "Series": "Electronics" + }, + { + "Date": "2021-09-21", + "Value": 794, + "Series": "Electronics" + }, + { + "Date": "2021-09-30", + "Value": 807, + "Series": "Electronics" + }, + { + "Date": "2021-10-09", + "Value": 819, + "Series": "Electronics" + }, + { + "Date": "2021-10-19", + "Value": 831, + "Series": "Electronics" + }, + { + "Date": "2021-10-28", + "Value": 830, + "Series": "Electronics" + }, + { + "Date": "2021-11-06", + "Value": 833, + "Series": "Electronics" + }, + { + "Date": "2021-11-15", + "Value": 844, + "Series": "Electronics" + }, + { + "Date": "2021-11-24", + "Value": 864, + "Series": "Electronics" + }, + { + "Date": "2021-12-03", + "Value": 868, + "Series": "Electronics" + }, + { + "Date": "2021-12-12", + "Value": 880, + "Series": "Electronics" + }, + { + "Date": "2021-12-21", + "Value": 899, + "Series": "Electronics" + }, + { + "Date": "2021-12-31", + "Value": 902, + "Series": "Electronics" + }, + { + "Date": "2022-01-09", + "Value": 907, + "Series": "Electronics" + }, + { + "Date": "2022-01-18", + "Value": 912, + "Series": "Electronics" + }, + { + "Date": "2022-01-27", + "Value": 909, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 908, + "Series": "Electronics" + }, + { + "Date": "2022-02-14", + "Value": 900, + "Series": "Electronics" + }, + { + "Date": "2022-02-23", + "Value": 887, + "Series": "Electronics" + }, + { + "Date": "2022-03-04", + "Value": 883, + "Series": "Electronics" + }, + { + "Date": "2022-03-14", + "Value": 894, + "Series": "Electronics" + }, + { + "Date": "2022-03-23", + "Value": 912, + "Series": "Electronics" + }, + { + "Date": "2022-04-01", + "Value": 928, + "Series": "Electronics" + }, + { + "Date": "2022-04-10", + "Value": 934, + "Series": "Electronics" + }, + { + "Date": "2022-04-19", + "Value": 948, + "Series": "Electronics" + }, + { + "Date": "2022-04-28", + "Value": 948, + "Series": "Electronics" + }, + { + "Date": "2022-05-07", + "Value": 952, + "Series": "Electronics" + }, + { + "Date": "2022-05-16", + "Value": 957, + "Series": "Electronics" + }, + { + "Date": "2022-05-26", + "Value": 953, + "Series": "Electronics" + }, + { + "Date": "2022-06-04", + "Value": 959, + "Series": "Electronics" + }, + { + "Date": "2022-06-13", + "Value": 954, + "Series": "Electronics" + }, + { + "Date": "2022-06-22", + "Value": 963, + "Series": "Electronics" + }, + { + "Date": "2022-07-01", + "Value": 960, + "Series": "Electronics" + }, + { + "Date": "2022-07-10", + "Value": 966, + "Series": "Electronics" + }, + { + "Date": "2022-07-19", + "Value": 979, + "Series": "Electronics" + }, + { + "Date": "2022-07-28", + "Value": 982, + "Series": "Electronics" + }, + { + "Date": "2022-08-07", + "Value": 981, + "Series": "Electronics" + }, + { + "Date": "2022-08-16", + "Value": 988, + "Series": "Electronics" + }, + { + "Date": "2022-08-25", + "Value": 995, + "Series": "Electronics" + }, + { + "Date": "2022-09-03", + "Value": 1000, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 997, + "Series": "Electronics" + }, + { + "Date": "2022-09-21", + "Value": 992, + "Series": "Electronics" + }, + { + "Date": "2022-09-30", + "Value": 1002, + "Series": "Electronics" + }, + { + "Date": "2022-10-09", + "Value": 1011, + "Series": "Electronics" + }, + { + "Date": "2022-10-19", + "Value": 1025, + "Series": "Electronics" + }, + { + "Date": "2022-10-28", + "Value": 1037, + "Series": "Electronics" + }, + { + "Date": "2022-11-06", + "Value": 1053, + "Series": "Electronics" + }, + { + "Date": "2022-11-15", + "Value": 1074, + "Series": "Electronics" + }, + { + "Date": "2022-11-24", + "Value": 1086, + "Series": "Electronics" + }, + { + "Date": "2022-12-03", + "Value": 1100, + "Series": "Electronics" + }, + { + "Date": "2022-12-12", + "Value": 1113, + "Series": "Electronics" + }, + { + "Date": "2022-12-21", + "Value": 1122, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 215, + "Series": "Clothing" + }, + { + "Date": "2020-01-10", + "Value": 224, + "Series": "Clothing" + }, + { + "Date": "2020-01-19", + "Value": 240, + "Series": "Clothing" + }, + { + "Date": "2020-01-28", + "Value": 248, + "Series": "Clothing" + }, + { + "Date": "2020-02-06", + "Value": 251, + "Series": "Clothing" + }, + { + "Date": "2020-02-15", + "Value": 248, + "Series": "Clothing" + }, + { + "Date": "2020-02-24", + "Value": 244, + "Series": "Clothing" + }, + { + "Date": "2020-03-04", + "Value": 251, + "Series": "Clothing" + }, + { + "Date": "2020-03-14", + "Value": 259, + "Series": "Clothing" + }, + { + "Date": "2020-03-23", + "Value": 267, + "Series": "Clothing" + }, + { + "Date": "2020-04-01", + "Value": 272, + "Series": "Clothing" + }, + { + "Date": "2020-04-10", + "Value": 277, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 275, + "Series": "Clothing" + }, + { + "Date": "2020-04-28", + "Value": 285, + "Series": "Clothing" + }, + { + "Date": "2020-05-07", + "Value": 295, + "Series": "Clothing" + }, + { + "Date": "2020-05-16", + "Value": 305, + "Series": "Clothing" + }, + { + "Date": "2020-05-26", + "Value": 316, + "Series": "Clothing" + }, + { + "Date": "2020-06-04", + "Value": 321, + "Series": "Clothing" + }, + { + "Date": "2020-06-13", + "Value": 322, + "Series": "Clothing" + }, + { + "Date": "2020-06-22", + "Value": 328, + "Series": "Clothing" + }, + { + "Date": "2020-07-01", + "Value": 339, + "Series": "Clothing" + }, + { + "Date": "2020-07-10", + "Value": 349, + "Series": "Clothing" + }, + { + "Date": "2020-07-19", + "Value": 355, + "Series": "Clothing" + }, + { + "Date": "2020-07-28", + "Value": 361, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 369, + "Series": "Clothing" + }, + { + "Date": "2020-08-16", + "Value": 372, + "Series": "Clothing" + }, + { + "Date": "2020-08-25", + "Value": 377, + "Series": "Clothing" + }, + { + "Date": "2020-09-03", + "Value": 388, + "Series": "Clothing" + }, + { + "Date": "2020-09-12", + "Value": 405, + "Series": "Clothing" + }, + { + "Date": "2020-09-21", + "Value": 416, + "Series": "Clothing" + }, + { + "Date": "2020-09-30", + "Value": 420, + "Series": "Clothing" + }, + { + "Date": "2020-10-09", + "Value": 432, + "Series": "Clothing" + }, + { + "Date": "2020-10-19", + "Value": 436, + "Series": "Clothing" + }, + { + "Date": "2020-10-28", + "Value": 444, + "Series": "Clothing" + }, + { + "Date": "2020-11-06", + "Value": 453, + "Series": "Clothing" + }, + { + "Date": "2020-11-15", + "Value": 465, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 469, + "Series": "Clothing" + }, + { + "Date": "2020-12-03", + "Value": 480, + "Series": "Clothing" + }, + { + "Date": "2020-12-12", + "Value": 493, + "Series": "Clothing" + }, + { + "Date": "2020-12-21", + "Value": 497, + "Series": "Clothing" + }, + { + "Date": "2020-12-31", + "Value": 506, + "Series": "Clothing" + }, + { + "Date": "2021-01-09", + "Value": 513, + "Series": "Clothing" + }, + { + "Date": "2021-01-18", + "Value": 527, + "Series": "Clothing" + }, + { + "Date": "2021-01-27", + "Value": 539, + "Series": "Clothing" + }, + { + "Date": "2021-02-05", + "Value": 557, + "Series": "Clothing" + }, + { + "Date": "2021-02-14", + "Value": 566, + "Series": "Clothing" + }, + { + "Date": "2021-02-23", + "Value": 567, + "Series": "Clothing" + }, + { + "Date": "2021-03-04", + "Value": 566, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 564, + "Series": "Clothing" + }, + { + "Date": "2021-03-23", + "Value": 558, + "Series": "Clothing" + }, + { + "Date": "2021-04-01", + "Value": 552, + "Series": "Clothing" + }, + { + "Date": "2021-04-10", + "Value": 556, + "Series": "Clothing" + }, + { + "Date": "2021-04-19", + "Value": 559, + "Series": "Clothing" + }, + { + "Date": "2021-04-28", + "Value": 560, + "Series": "Clothing" + }, + { + "Date": "2021-05-07", + "Value": 559, + "Series": "Clothing" + }, + { + "Date": "2021-05-16", + "Value": 564, + "Series": "Clothing" + }, + { + "Date": "2021-05-26", + "Value": 573, + "Series": "Clothing" + }, + { + "Date": "2021-06-04", + "Value": 582, + "Series": "Clothing" + }, + { + "Date": "2021-06-13", + "Value": 592, + "Series": "Clothing" + }, + { + "Date": "2021-06-22", + "Value": 601, + "Series": "Clothing" + }, + { + "Date": "2021-07-01", + "Value": 605, + "Series": "Clothing" + }, + { + "Date": "2021-07-10", + "Value": 605, + "Series": "Clothing" + }, + { + "Date": "2021-07-19", + "Value": 601, + "Series": "Clothing" + }, + { + "Date": "2021-07-28", + "Value": 598, + "Series": "Clothing" + }, + { + "Date": "2021-08-07", + "Value": 594, + "Series": "Clothing" + }, + { + "Date": "2021-08-16", + "Value": 602, + "Series": "Clothing" + }, + { + "Date": "2021-08-25", + "Value": 602, + "Series": "Clothing" + }, + { + "Date": "2021-09-03", + "Value": 609, + "Series": "Clothing" + }, + { + "Date": "2021-09-12", + "Value": 616, + "Series": "Clothing" + }, + { + "Date": "2021-09-21", + "Value": 620, + "Series": "Clothing" + }, + { + "Date": "2021-09-30", + "Value": 629, + "Series": "Clothing" + }, + { + "Date": "2021-10-09", + "Value": 645, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 665, + "Series": "Clothing" + }, + { + "Date": "2021-10-28", + "Value": 686, + "Series": "Clothing" + }, + { + "Date": "2021-11-06", + "Value": 696, + "Series": "Clothing" + }, + { + "Date": "2021-11-15", + "Value": 698, + "Series": "Clothing" + }, + { + "Date": "2021-11-24", + "Value": 695, + "Series": "Clothing" + }, + { + "Date": "2021-12-03", + "Value": 701, + "Series": "Clothing" + }, + { + "Date": "2021-12-12", + "Value": 705, + "Series": "Clothing" + }, + { + "Date": "2021-12-21", + "Value": 713, + "Series": "Clothing" + }, + { + "Date": "2021-12-31", + "Value": 727, + "Series": "Clothing" + }, + { + "Date": "2022-01-09", + "Value": 738, + "Series": "Clothing" + }, + { + "Date": "2022-01-18", + "Value": 742, + "Series": "Clothing" + }, + { + "Date": "2022-01-27", + "Value": 751, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 763, + "Series": "Clothing" + }, + { + "Date": "2022-02-14", + "Value": 780, + "Series": "Clothing" + }, + { + "Date": "2022-02-23", + "Value": 791, + "Series": "Clothing" + }, + { + "Date": "2022-03-04", + "Value": 803, + "Series": "Clothing" + }, + { + "Date": "2022-03-14", + "Value": 818, + "Series": "Clothing" + }, + { + "Date": "2022-03-23", + "Value": 831, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 846, + "Series": "Clothing" + }, + { + "Date": "2022-04-10", + "Value": 851, + "Series": "Clothing" + }, + { + "Date": "2022-04-19", + "Value": 851, + "Series": "Clothing" + }, + { + "Date": "2022-04-28", + "Value": 860, + "Series": "Clothing" + }, + { + "Date": "2022-05-07", + "Value": 875, + "Series": "Clothing" + }, + { + "Date": "2022-05-16", + "Value": 891, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 910, + "Series": "Clothing" + }, + { + "Date": "2022-06-04", + "Value": 929, + "Series": "Clothing" + }, + { + "Date": "2022-06-13", + "Value": 939, + "Series": "Clothing" + }, + { + "Date": "2022-06-22", + "Value": 954, + "Series": "Clothing" + }, + { + "Date": "2022-07-01", + "Value": 970, + "Series": "Clothing" + }, + { + "Date": "2022-07-10", + "Value": 980, + "Series": "Clothing" + }, + { + "Date": "2022-07-19", + "Value": 983, + "Series": "Clothing" + }, + { + "Date": "2022-07-28", + "Value": 991, + "Series": "Clothing" + }, + { + "Date": "2022-08-07", + "Value": 992, + "Series": "Clothing" + }, + { + "Date": "2022-08-16", + "Value": 1001, + "Series": "Clothing" + }, + { + "Date": "2022-08-25", + "Value": 1003, + "Series": "Clothing" + }, + { + "Date": "2022-09-03", + "Value": 1000, + "Series": "Clothing" + }, + { + "Date": "2022-09-12", + "Value": 994, + "Series": "Clothing" + }, + { + "Date": "2022-09-21", + "Value": 987, + "Series": "Clothing" + }, + { + "Date": "2022-09-30", + "Value": 993, + "Series": "Clothing" + }, + { + "Date": "2022-10-09", + "Value": 998, + "Series": "Clothing" + }, + { + "Date": "2022-10-19", + "Value": 1011, + "Series": "Clothing" + }, + { + "Date": "2022-10-28", + "Value": 1021, + "Series": "Clothing" + }, + { + "Date": "2022-11-06", + "Value": 1029, + "Series": "Clothing" + }, + { + "Date": "2022-11-15", + "Value": 1033, + "Series": "Clothing" + }, + { + "Date": "2022-11-24", + "Value": 1043, + "Series": "Clothing" + }, + { + "Date": "2022-12-03", + "Value": 1054, + "Series": "Clothing" + }, + { + "Date": "2022-12-12", + "Value": 1065, + "Series": "Clothing" + }, + { + "Date": "2022-12-21", + "Value": 1080, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 179, + "Series": "Food" + }, + { + "Date": "2020-01-10", + "Value": 167, + "Series": "Food" + }, + { + "Date": "2020-01-19", + "Value": 179, + "Series": "Food" + }, + { + "Date": "2020-01-28", + "Value": 177, + "Series": "Food" + }, + { + "Date": "2020-02-06", + "Value": 192, + "Series": "Food" + }, + { + "Date": "2020-02-15", + "Value": 201, + "Series": "Food" + }, + { + "Date": "2020-02-24", + "Value": 225, + "Series": "Food" + }, + { + "Date": "2020-03-04", + "Value": 256, + "Series": "Food" + }, + { + "Date": "2020-03-14", + "Value": 269, + "Series": "Food" + }, + { + "Date": "2020-03-23", + "Value": 281, + "Series": "Food" + }, + { + "Date": "2020-04-01", + "Value": 305, + "Series": "Food" + }, + { + "Date": "2020-04-10", + "Value": 334, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 374, + "Series": "Food" + }, + { + "Date": "2020-04-28", + "Value": 405, + "Series": "Food" + }, + { + "Date": "2020-05-07", + "Value": 437, + "Series": "Food" + }, + { + "Date": "2020-05-16", + "Value": 464, + "Series": "Food" + }, + { + "Date": "2020-05-26", + "Value": 486, + "Series": "Food" + }, + { + "Date": "2020-06-04", + "Value": 496, + "Series": "Food" + }, + { + "Date": "2020-06-13", + "Value": 520, + "Series": "Food" + }, + { + "Date": "2020-06-22", + "Value": 525, + "Series": "Food" + }, + { + "Date": "2020-07-01", + "Value": 528, + "Series": "Food" + }, + { + "Date": "2020-07-10", + "Value": 534, + "Series": "Food" + }, + { + "Date": "2020-07-19", + "Value": 540, + "Series": "Food" + }, + { + "Date": "2020-07-28", + "Value": 537, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 527, + "Series": "Food" + }, + { + "Date": "2020-08-16", + "Value": 539, + "Series": "Food" + }, + { + "Date": "2020-08-25", + "Value": 542, + "Series": "Food" + }, + { + "Date": "2020-09-03", + "Value": 561, + "Series": "Food" + }, + { + "Date": "2020-09-12", + "Value": 576, + "Series": "Food" + }, + { + "Date": "2020-09-21", + "Value": 584, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 581, + "Series": "Food" + }, + { + "Date": "2020-10-09", + "Value": 566, + "Series": "Food" + }, + { + "Date": "2020-10-19", + "Value": 546, + "Series": "Food" + }, + { + "Date": "2020-10-28", + "Value": 555, + "Series": "Food" + }, + { + "Date": "2020-11-06", + "Value": 568, + "Series": "Food" + }, + { + "Date": "2020-11-15", + "Value": 563, + "Series": "Food" + }, + { + "Date": "2020-11-24", + "Value": 563, + "Series": "Food" + }, + { + "Date": "2020-12-03", + "Value": 562, + "Series": "Food" + }, + { + "Date": "2020-12-12", + "Value": 577, + "Series": "Food" + }, + { + "Date": "2020-12-21", + "Value": 595, + "Series": "Food" + }, + { + "Date": "2020-12-31", + "Value": 599, + "Series": "Food" + }, + { + "Date": "2021-01-09", + "Value": 606, + "Series": "Food" + }, + { + "Date": "2021-01-18", + "Value": 607, + "Series": "Food" + }, + { + "Date": "2021-01-27", + "Value": 624, + "Series": "Food" + }, + { + "Date": "2021-02-05", + "Value": 654, + "Series": "Food" + }, + { + "Date": "2021-02-14", + "Value": 689, + "Series": "Food" + }, + { + "Date": "2021-02-23", + "Value": 727, + "Series": "Food" + }, + { + "Date": "2021-03-04", + "Value": 736, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 746, + "Series": "Food" + }, + { + "Date": "2021-03-23", + "Value": 750, + "Series": "Food" + }, + { + "Date": "2021-04-01", + "Value": 754, + "Series": "Food" + }, + { + "Date": "2021-04-10", + "Value": 767, + "Series": "Food" + }, + { + "Date": "2021-04-19", + "Value": 767, + "Series": "Food" + }, + { + "Date": "2021-04-28", + "Value": 781, + "Series": "Food" + }, + { + "Date": "2021-05-07", + "Value": 785, + "Series": "Food" + }, + { + "Date": "2021-05-16", + "Value": 789, + "Series": "Food" + }, + { + "Date": "2021-05-26", + "Value": 787, + "Series": "Food" + }, + { + "Date": "2021-06-04", + "Value": 772, + "Series": "Food" + }, + { + "Date": "2021-06-13", + "Value": 754, + "Series": "Food" + }, + { + "Date": "2021-06-22", + "Value": 757, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 765, + "Series": "Food" + }, + { + "Date": "2021-07-10", + "Value": 763, + "Series": "Food" + }, + { + "Date": "2021-07-19", + "Value": 756, + "Series": "Food" + }, + { + "Date": "2021-07-28", + "Value": 746, + "Series": "Food" + }, + { + "Date": "2021-08-07", + "Value": 751, + "Series": "Food" + }, + { + "Date": "2021-08-16", + "Value": 759, + "Series": "Food" + }, + { + "Date": "2021-08-25", + "Value": 787, + "Series": "Food" + }, + { + "Date": "2021-09-03", + "Value": 814, + "Series": "Food" + }, + { + "Date": "2021-09-12", + "Value": 849, + "Series": "Food" + }, + { + "Date": "2021-09-21", + "Value": 869, + "Series": "Food" + }, + { + "Date": "2021-09-30", + "Value": 868, + "Series": "Food" + }, + { + "Date": "2021-10-09", + "Value": 867, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 883, + "Series": "Food" + }, + { + "Date": "2021-10-28", + "Value": 892, + "Series": "Food" + }, + { + "Date": "2021-11-06", + "Value": 895, + "Series": "Food" + }, + { + "Date": "2021-11-15", + "Value": 900, + "Series": "Food" + }, + { + "Date": "2021-11-24", + "Value": 898, + "Series": "Food" + }, + { + "Date": "2021-12-03", + "Value": 918, + "Series": "Food" + }, + { + "Date": "2021-12-12", + "Value": 946, + "Series": "Food" + }, + { + "Date": "2021-12-21", + "Value": 959, + "Series": "Food" + }, + { + "Date": "2021-12-31", + "Value": 989, + "Series": "Food" + }, + { + "Date": "2022-01-09", + "Value": 1007, + "Series": "Food" + }, + { + "Date": "2022-01-18", + "Value": 1012, + "Series": "Food" + }, + { + "Date": "2022-01-27", + "Value": 1007, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 1006, + "Series": "Food" + }, + { + "Date": "2022-02-14", + "Value": 1005, + "Series": "Food" + }, + { + "Date": "2022-02-23", + "Value": 1026, + "Series": "Food" + }, + { + "Date": "2022-03-04", + "Value": 1036, + "Series": "Food" + }, + { + "Date": "2022-03-14", + "Value": 1052, + "Series": "Food" + }, + { + "Date": "2022-03-23", + "Value": 1055, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 1063, + "Series": "Food" + }, + { + "Date": "2022-04-10", + "Value": 1059, + "Series": "Food" + }, + { + "Date": "2022-04-19", + "Value": 1066, + "Series": "Food" + }, + { + "Date": "2022-04-28", + "Value": 1093, + "Series": "Food" + }, + { + "Date": "2022-05-07", + "Value": 1121, + "Series": "Food" + }, + { + "Date": "2022-05-16", + "Value": 1124, + "Series": "Food" + }, + { + "Date": "2022-05-26", + "Value": 1123, + "Series": "Food" + }, + { + "Date": "2022-06-04", + "Value": 1136, + "Series": "Food" + }, + { + "Date": "2022-06-13", + "Value": 1151, + "Series": "Food" + }, + { + "Date": "2022-06-22", + "Value": 1164, + "Series": "Food" + }, + { + "Date": "2022-07-01", + "Value": 1184, + "Series": "Food" + }, + { + "Date": "2022-07-10", + "Value": 1187, + "Series": "Food" + }, + { + "Date": "2022-07-19", + "Value": 1177, + "Series": "Food" + }, + { + "Date": "2022-07-28", + "Value": 1184, + "Series": "Food" + }, + { + "Date": "2022-08-07", + "Value": 1188, + "Series": "Food" + }, + { + "Date": "2022-08-16", + "Value": 1188, + "Series": "Food" + }, + { + "Date": "2022-08-25", + "Value": 1210, + "Series": "Food" + }, + { + "Date": "2022-09-03", + "Value": 1229, + "Series": "Food" + }, + { + "Date": "2022-09-12", + "Value": 1239, + "Series": "Food" + }, + { + "Date": "2022-09-21", + "Value": 1260, + "Series": "Food" + }, + { + "Date": "2022-09-30", + "Value": 1261, + "Series": "Food" + }, + { + "Date": "2022-10-09", + "Value": 1273, + "Series": "Food" + }, + { + "Date": "2022-10-19", + "Value": 1287, + "Series": "Food" + }, + { + "Date": "2022-10-28", + "Value": 1285, + "Series": "Food" + }, + { + "Date": "2022-11-06", + "Value": 1303, + "Series": "Food" + }, + { + "Date": "2022-11-15", + "Value": 1336, + "Series": "Food" + }, + { + "Date": "2022-11-24", + "Value": 1372, + "Series": "Food" + }, + { + "Date": "2022-12-03", + "Value": 1406, + "Series": "Food" + }, + { + "Date": "2022-12-12", + "Value": 1430, + "Series": "Food" + }, + { + "Date": "2022-12-21", + "Value": 1437, + "Series": "Food" + }, + { + "Date": "2020-01-01", + "Value": 97, + "Series": "Books" + }, + { + "Date": "2020-01-10", + "Value": 85, + "Series": "Books" + }, + { + "Date": "2020-01-19", + "Value": 86, + "Series": "Books" + }, + { + "Date": "2020-01-28", + "Value": 97, + "Series": "Books" + }, + { + "Date": "2020-02-06", + "Value": 119, + "Series": "Books" + }, + { + "Date": "2020-02-15", + "Value": 136, + "Series": "Books" + }, + { + "Date": "2020-02-24", + "Value": 142, + "Series": "Books" + }, + { + "Date": "2020-03-04", + "Value": 157, + "Series": "Books" + }, + { + "Date": "2020-03-14", + "Value": 159, + "Series": "Books" + }, + { + "Date": "2020-03-23", + "Value": 152, + "Series": "Books" + }, + { + "Date": "2020-04-01", + "Value": 141, + "Series": "Books" + }, + { + "Date": "2020-04-10", + "Value": 128, + "Series": "Books" + }, + { + "Date": "2020-04-19", + "Value": 117, + "Series": "Books" + }, + { + "Date": "2020-04-28", + "Value": 125, + "Series": "Books" + }, + { + "Date": "2020-05-07", + "Value": 126, + "Series": "Books" + }, + { + "Date": "2020-05-16", + "Value": 120, + "Series": "Books" + }, + { + "Date": "2020-05-26", + "Value": 105, + "Series": "Books" + }, + { + "Date": "2020-06-04", + "Value": 90, + "Series": "Books" + }, + { + "Date": "2020-06-13", + "Value": 73, + "Series": "Books" + }, + { + "Date": "2020-06-22", + "Value": 70, + "Series": "Books" + }, + { + "Date": "2020-07-01", + "Value": 76, + "Series": "Books" + }, + { + "Date": "2020-07-10", + "Value": 78, + "Series": "Books" + }, + { + "Date": "2020-07-19", + "Value": 90, + "Series": "Books" + }, + { + "Date": "2020-07-28", + "Value": 88, + "Series": "Books" + }, + { + "Date": "2020-08-07", + "Value": 89, + "Series": "Books" + }, + { + "Date": "2020-08-16", + "Value": 104, + "Series": "Books" + }, + { + "Date": "2020-08-25", + "Value": 118, + "Series": "Books" + }, + { + "Date": "2020-09-03", + "Value": 131, + "Series": "Books" + }, + { + "Date": "2020-09-12", + "Value": 140, + "Series": "Books" + }, + { + "Date": "2020-09-21", + "Value": 143, + "Series": "Books" + }, + { + "Date": "2020-09-30", + "Value": 157, + "Series": "Books" + }, + { + "Date": "2020-10-09", + "Value": 169, + "Series": "Books" + }, + { + "Date": "2020-10-19", + "Value": 180, + "Series": "Books" + }, + { + "Date": "2020-10-28", + "Value": 189, + "Series": "Books" + }, + { + "Date": "2020-11-06", + "Value": 185, + "Series": "Books" + }, + { + "Date": "2020-11-15", + "Value": 191, + "Series": "Books" + }, + { + "Date": "2020-11-24", + "Value": 183, + "Series": "Books" + }, + { + "Date": "2020-12-03", + "Value": 189, + "Series": "Books" + }, + { + "Date": "2020-12-12", + "Value": 191, + "Series": "Books" + }, + { + "Date": "2020-12-21", + "Value": 182, + "Series": "Books" + }, + { + "Date": "2020-12-31", + "Value": 167, + "Series": "Books" + }, + { + "Date": "2021-01-09", + "Value": 158, + "Series": "Books" + }, + { + "Date": "2021-01-18", + "Value": 159, + "Series": "Books" + }, + { + "Date": "2021-01-27", + "Value": 174, + "Series": "Books" + }, + { + "Date": "2021-02-05", + "Value": 181, + "Series": "Books" + }, + { + "Date": "2021-02-14", + "Value": 201, + "Series": "Books" + }, + { + "Date": "2021-02-23", + "Value": 228, + "Series": "Books" + }, + { + "Date": "2021-03-04", + "Value": 241, + "Series": "Books" + }, + { + "Date": "2021-03-14", + "Value": 251, + "Series": "Books" + }, + { + "Date": "2021-03-23", + "Value": 245, + "Series": "Books" + }, + { + "Date": "2021-04-01", + "Value": 249, + "Series": "Books" + }, + { + "Date": "2021-04-10", + "Value": 267, + "Series": "Books" + }, + { + "Date": "2021-04-19", + "Value": 265, + "Series": "Books" + }, + { + "Date": "2021-04-28", + "Value": 277, + "Series": "Books" + }, + { + "Date": "2021-05-07", + "Value": 283, + "Series": "Books" + }, + { + "Date": "2021-05-16", + "Value": 276, + "Series": "Books" + }, + { + "Date": "2021-05-26", + "Value": 285, + "Series": "Books" + }, + { + "Date": "2021-06-04", + "Value": 298, + "Series": "Books" + }, + { + "Date": "2021-06-13", + "Value": 313, + "Series": "Books" + }, + { + "Date": "2021-06-22", + "Value": 334, + "Series": "Books" + }, + { + "Date": "2021-07-01", + "Value": 357, + "Series": "Books" + }, + { + "Date": "2021-07-10", + "Value": 371, + "Series": "Books" + }, + { + "Date": "2021-07-19", + "Value": 380, + "Series": "Books" + }, + { + "Date": "2021-07-28", + "Value": 394, + "Series": "Books" + }, + { + "Date": "2021-08-07", + "Value": 416, + "Series": "Books" + }, + { + "Date": "2021-08-16", + "Value": 435, + "Series": "Books" + }, + { + "Date": "2021-08-25", + "Value": 436, + "Series": "Books" + }, + { + "Date": "2021-09-03", + "Value": 447, + "Series": "Books" + }, + { + "Date": "2021-09-12", + "Value": 465, + "Series": "Books" + }, + { + "Date": "2021-09-21", + "Value": 485, + "Series": "Books" + }, + { + "Date": "2021-09-30", + "Value": 503, + "Series": "Books" + }, + { + "Date": "2021-10-09", + "Value": 529, + "Series": "Books" + }, + { + "Date": "2021-10-19", + "Value": 540, + "Series": "Books" + }, + { + "Date": "2021-10-28", + "Value": 543, + "Series": "Books" + }, + { + "Date": "2021-11-06", + "Value": 536, + "Series": "Books" + }, + { + "Date": "2021-11-15", + "Value": 529, + "Series": "Books" + }, + { + "Date": "2021-11-24", + "Value": 536, + "Series": "Books" + }, + { + "Date": "2021-12-03", + "Value": 551, + "Series": "Books" + }, + { + "Date": "2021-12-12", + "Value": 550, + "Series": "Books" + }, + { + "Date": "2021-12-21", + "Value": 546, + "Series": "Books" + }, + { + "Date": "2021-12-31", + "Value": 547, + "Series": "Books" + }, + { + "Date": "2022-01-09", + "Value": 537, + "Series": "Books" + }, + { + "Date": "2022-01-18", + "Value": 520, + "Series": "Books" + }, + { + "Date": "2022-01-27", + "Value": 512, + "Series": "Books" + }, + { + "Date": "2022-02-05", + "Value": 510, + "Series": "Books" + }, + { + "Date": "2022-02-14", + "Value": 511, + "Series": "Books" + }, + { + "Date": "2022-02-23", + "Value": 511, + "Series": "Books" + }, + { + "Date": "2022-03-04", + "Value": 519, + "Series": "Books" + }, + { + "Date": "2022-03-14", + "Value": 529, + "Series": "Books" + }, + { + "Date": "2022-03-23", + "Value": 522, + "Series": "Books" + }, + { + "Date": "2022-04-01", + "Value": 530, + "Series": "Books" + }, + { + "Date": "2022-04-10", + "Value": 550, + "Series": "Books" + }, + { + "Date": "2022-04-19", + "Value": 567, + "Series": "Books" + }, + { + "Date": "2022-04-28", + "Value": 593, + "Series": "Books" + }, + { + "Date": "2022-05-07", + "Value": 606, + "Series": "Books" + }, + { + "Date": "2022-05-16", + "Value": 624, + "Series": "Books" + }, + { + "Date": "2022-05-26", + "Value": 629, + "Series": "Books" + }, + { + "Date": "2022-06-04", + "Value": 622, + "Series": "Books" + }, + { + "Date": "2022-06-13", + "Value": 632, + "Series": "Books" + }, + { + "Date": "2022-06-22", + "Value": 646, + "Series": "Books" + }, + { + "Date": "2022-07-01", + "Value": 648, + "Series": "Books" + }, + { + "Date": "2022-07-10", + "Value": 658, + "Series": "Books" + }, + { + "Date": "2022-07-19", + "Value": 672, + "Series": "Books" + }, + { + "Date": "2022-07-28", + "Value": 693, + "Series": "Books" + }, + { + "Date": "2022-08-07", + "Value": 719, + "Series": "Books" + }, + { + "Date": "2022-08-16", + "Value": 742, + "Series": "Books" + }, + { + "Date": "2022-08-25", + "Value": 759, + "Series": "Books" + }, + { + "Date": "2022-09-03", + "Value": 775, + "Series": "Books" + }, + { + "Date": "2022-09-12", + "Value": 798, + "Series": "Books" + }, + { + "Date": "2022-09-21", + "Value": 819, + "Series": "Books" + }, + { + "Date": "2022-09-30", + "Value": 826, + "Series": "Books" + }, + { + "Date": "2022-10-09", + "Value": 842, + "Series": "Books" + }, + { + "Date": "2022-10-19", + "Value": 865, + "Series": "Books" + }, + { + "Date": "2022-10-28", + "Value": 885, + "Series": "Books" + }, + { + "Date": "2022-11-06", + "Value": 895, + "Series": "Books" + }, + { + "Date": "2022-11-15", + "Value": 915, + "Series": "Books" + }, + { + "Date": "2022-11-24", + "Value": 918, + "Series": "Books" + }, + { + "Date": "2022-12-03", + "Value": 928, + "Series": "Books" + }, + { + "Date": "2022-12-12", + "Value": 937, + "Series": "Books" + }, + { + "Date": "2022-12-21", + "Value": 939, + "Series": "Books" + }, + { + "Date": "2020-01-01", + "Value": 183, + "Series": "Sports" + }, + { + "Date": "2020-01-10", + "Value": 189, + "Series": "Sports" + }, + { + "Date": "2020-01-19", + "Value": 185, + "Series": "Sports" + }, + { + "Date": "2020-01-28", + "Value": 183, + "Series": "Sports" + }, + { + "Date": "2020-02-06", + "Value": 182, + "Series": "Sports" + }, + { + "Date": "2020-02-15", + "Value": 193, + "Series": "Sports" + }, + { + "Date": "2020-02-24", + "Value": 198, + "Series": "Sports" + }, + { + "Date": "2020-03-04", + "Value": 195, + "Series": "Sports" + }, + { + "Date": "2020-03-14", + "Value": 186, + "Series": "Sports" + }, + { + "Date": "2020-03-23", + "Value": 178, + "Series": "Sports" + }, + { + "Date": "2020-04-01", + "Value": 168, + "Series": "Sports" + }, + { + "Date": "2020-04-10", + "Value": 156, + "Series": "Sports" + }, + { + "Date": "2020-04-19", + "Value": 158, + "Series": "Sports" + }, + { + "Date": "2020-04-28", + "Value": 171, + "Series": "Sports" + }, + { + "Date": "2020-05-07", + "Value": 177, + "Series": "Sports" + }, + { + "Date": "2020-05-16", + "Value": 185, + "Series": "Sports" + }, + { + "Date": "2020-05-26", + "Value": 196, + "Series": "Sports" + }, + { + "Date": "2020-06-04", + "Value": 199, + "Series": "Sports" + }, + { + "Date": "2020-06-13", + "Value": 202, + "Series": "Sports" + }, + { + "Date": "2020-06-22", + "Value": 210, + "Series": "Sports" + }, + { + "Date": "2020-07-01", + "Value": 223, + "Series": "Sports" + }, + { + "Date": "2020-07-10", + "Value": 243, + "Series": "Sports" + }, + { + "Date": "2020-07-19", + "Value": 261, + "Series": "Sports" + }, + { + "Date": "2020-07-28", + "Value": 274, + "Series": "Sports" + }, + { + "Date": "2020-08-07", + "Value": 278, + "Series": "Sports" + }, + { + "Date": "2020-08-16", + "Value": 274, + "Series": "Sports" + }, + { + "Date": "2020-08-25", + "Value": 280, + "Series": "Sports" + }, + { + "Date": "2020-09-03", + "Value": 276, + "Series": "Sports" + }, + { + "Date": "2020-09-12", + "Value": 272, + "Series": "Sports" + }, + { + "Date": "2020-09-21", + "Value": 276, + "Series": "Sports" + }, + { + "Date": "2020-09-30", + "Value": 287, + "Series": "Sports" + }, + { + "Date": "2020-10-09", + "Value": 305, + "Series": "Sports" + }, + { + "Date": "2020-10-19", + "Value": 319, + "Series": "Sports" + }, + { + "Date": "2020-10-28", + "Value": 325, + "Series": "Sports" + }, + { + "Date": "2020-11-06", + "Value": 333, + "Series": "Sports" + }, + { + "Date": "2020-11-15", + "Value": 338, + "Series": "Sports" + }, + { + "Date": "2020-11-24", + "Value": 341, + "Series": "Sports" + }, + { + "Date": "2020-12-03", + "Value": 344, + "Series": "Sports" + }, + { + "Date": "2020-12-12", + "Value": 348, + "Series": "Sports" + }, + { + "Date": "2020-12-21", + "Value": 347, + "Series": "Sports" + }, + { + "Date": "2020-12-31", + "Value": 357, + "Series": "Sports" + }, + { + "Date": "2021-01-09", + "Value": 371, + "Series": "Sports" + }, + { + "Date": "2021-01-18", + "Value": 390, + "Series": "Sports" + }, + { + "Date": "2021-01-27", + "Value": 397, + "Series": "Sports" + }, + { + "Date": "2021-02-05", + "Value": 406, + "Series": "Sports" + }, + { + "Date": "2021-02-14", + "Value": 418, + "Series": "Sports" + }, + { + "Date": "2021-02-23", + "Value": 422, + "Series": "Sports" + }, + { + "Date": "2021-03-04", + "Value": 425, + "Series": "Sports" + }, + { + "Date": "2021-03-14", + "Value": 435, + "Series": "Sports" + }, + { + "Date": "2021-03-23", + "Value": 445, + "Series": "Sports" + }, + { + "Date": "2021-04-01", + "Value": 450, + "Series": "Sports" + }, + { + "Date": "2021-04-10", + "Value": 456, + "Series": "Sports" + }, + { + "Date": "2021-04-19", + "Value": 458, + "Series": "Sports" + }, + { + "Date": "2021-04-28", + "Value": 471, + "Series": "Sports" + }, + { + "Date": "2021-05-07", + "Value": 485, + "Series": "Sports" + }, + { + "Date": "2021-05-16", + "Value": 492, + "Series": "Sports" + }, + { + "Date": "2021-05-26", + "Value": 502, + "Series": "Sports" + }, + { + "Date": "2021-06-04", + "Value": 512, + "Series": "Sports" + }, + { + "Date": "2021-06-13", + "Value": 511, + "Series": "Sports" + }, + { + "Date": "2021-06-22", + "Value": 509, + "Series": "Sports" + }, + { + "Date": "2021-07-01", + "Value": 506, + "Series": "Sports" + }, + { + "Date": "2021-07-10", + "Value": 510, + "Series": "Sports" + }, + { + "Date": "2021-07-19", + "Value": 516, + "Series": "Sports" + }, + { + "Date": "2021-07-28", + "Value": 532, + "Series": "Sports" + }, + { + "Date": "2021-08-07", + "Value": 545, + "Series": "Sports" + }, + { + "Date": "2021-08-16", + "Value": 558, + "Series": "Sports" + }, + { + "Date": "2021-08-25", + "Value": 569, + "Series": "Sports" + }, + { + "Date": "2021-09-03", + "Value": 579, + "Series": "Sports" + }, + { + "Date": "2021-09-12", + "Value": 592, + "Series": "Sports" + }, + { + "Date": "2021-09-21", + "Value": 600, + "Series": "Sports" + }, + { + "Date": "2021-09-30", + "Value": 597, + "Series": "Sports" + }, + { + "Date": "2021-10-09", + "Value": 595, + "Series": "Sports" + }, + { + "Date": "2021-10-19", + "Value": 603, + "Series": "Sports" + }, + { + "Date": "2021-10-28", + "Value": 607, + "Series": "Sports" + }, + { + "Date": "2021-11-06", + "Value": 608, + "Series": "Sports" + }, + { + "Date": "2021-11-15", + "Value": 605, + "Series": "Sports" + }, + { + "Date": "2021-11-24", + "Value": 604, + "Series": "Sports" + }, + { + "Date": "2021-12-03", + "Value": 613, + "Series": "Sports" + }, + { + "Date": "2021-12-12", + "Value": 611, + "Series": "Sports" + }, + { + "Date": "2021-12-21", + "Value": 612, + "Series": "Sports" + }, + { + "Date": "2021-12-31", + "Value": 606, + "Series": "Sports" + }, + { + "Date": "2022-01-09", + "Value": 595, + "Series": "Sports" + }, + { + "Date": "2022-01-18", + "Value": 586, + "Series": "Sports" + }, + { + "Date": "2022-01-27", + "Value": 578, + "Series": "Sports" + }, + { + "Date": "2022-02-05", + "Value": 570, + "Series": "Sports" + }, + { + "Date": "2022-02-14", + "Value": 576, + "Series": "Sports" + }, + { + "Date": "2022-02-23", + "Value": 584, + "Series": "Sports" + }, + { + "Date": "2022-03-04", + "Value": 585, + "Series": "Sports" + }, + { + "Date": "2022-03-14", + "Value": 585, + "Series": "Sports" + }, + { + "Date": "2022-03-23", + "Value": 597, + "Series": "Sports" + }, + { + "Date": "2022-04-01", + "Value": 603, + "Series": "Sports" + }, + { + "Date": "2022-04-10", + "Value": 614, + "Series": "Sports" + }, + { + "Date": "2022-04-19", + "Value": 615, + "Series": "Sports" + }, + { + "Date": "2022-04-28", + "Value": 621, + "Series": "Sports" + }, + { + "Date": "2022-05-07", + "Value": 623, + "Series": "Sports" + }, + { + "Date": "2022-05-16", + "Value": 632, + "Series": "Sports" + }, + { + "Date": "2022-05-26", + "Value": 638, + "Series": "Sports" + }, + { + "Date": "2022-06-04", + "Value": 647, + "Series": "Sports" + }, + { + "Date": "2022-06-13", + "Value": 655, + "Series": "Sports" + }, + { + "Date": "2022-06-22", + "Value": 657, + "Series": "Sports" + }, + { + "Date": "2022-07-01", + "Value": 659, + "Series": "Sports" + }, + { + "Date": "2022-07-10", + "Value": 663, + "Series": "Sports" + }, + { + "Date": "2022-07-19", + "Value": 676, + "Series": "Sports" + }, + { + "Date": "2022-07-28", + "Value": 676, + "Series": "Sports" + }, + { + "Date": "2022-08-07", + "Value": 677, + "Series": "Sports" + }, + { + "Date": "2022-08-16", + "Value": 676, + "Series": "Sports" + }, + { + "Date": "2022-08-25", + "Value": 680, + "Series": "Sports" + }, + { + "Date": "2022-09-03", + "Value": 678, + "Series": "Sports" + }, + { + "Date": "2022-09-12", + "Value": 677, + "Series": "Sports" + }, + { + "Date": "2022-09-21", + "Value": 681, + "Series": "Sports" + }, + { + "Date": "2022-09-30", + "Value": 695, + "Series": "Sports" + }, + { + "Date": "2022-10-09", + "Value": 713, + "Series": "Sports" + }, + { + "Date": "2022-10-19", + "Value": 716, + "Series": "Sports" + }, + { + "Date": "2022-10-28", + "Value": 718, + "Series": "Sports" + }, + { + "Date": "2022-11-06", + "Value": 728, + "Series": "Sports" + }, + { + "Date": "2022-11-15", + "Value": 740, + "Series": "Sports" + }, + { + "Date": "2022-11-24", + "Value": 743, + "Series": "Sports" + }, + { + "Date": "2022-12-03", + "Value": 738, + "Series": "Sports" + }, + { + "Date": "2022-12-12", + "Value": 738, + "Series": "Sports" + }, + { + "Date": "2022-12-21", + "Value": 748, + "Series": "Sports" + }, + { + "Date": "2020-01-01", + "Value": 52, + "Series": "Home" + }, + { + "Date": "2020-01-10", + "Value": 50, + "Series": "Home" + }, + { + "Date": "2020-01-19", + "Value": 40, + "Series": "Home" + }, + { + "Date": "2020-01-28", + "Value": 46, + "Series": "Home" + }, + { + "Date": "2020-02-06", + "Value": 40, + "Series": "Home" + }, + { + "Date": "2020-02-15", + "Value": 50, + "Series": "Home" + }, + { + "Date": "2020-02-24", + "Value": 52, + "Series": "Home" + }, + { + "Date": "2020-03-04", + "Value": 71, + "Series": "Home" + }, + { + "Date": "2020-03-14", + "Value": 93, + "Series": "Home" + }, + { + "Date": "2020-03-23", + "Value": 103, + "Series": "Home" + }, + { + "Date": "2020-04-01", + "Value": 126, + "Series": "Home" + }, + { + "Date": "2020-04-10", + "Value": 153, + "Series": "Home" + }, + { + "Date": "2020-04-19", + "Value": 171, + "Series": "Home" + }, + { + "Date": "2020-04-28", + "Value": 200, + "Series": "Home" + }, + { + "Date": "2020-05-07", + "Value": 208, + "Series": "Home" + }, + { + "Date": "2020-05-16", + "Value": 203, + "Series": "Home" + }, + { + "Date": "2020-05-26", + "Value": 195, + "Series": "Home" + }, + { + "Date": "2020-06-04", + "Value": 189, + "Series": "Home" + }, + { + "Date": "2020-06-13", + "Value": 183, + "Series": "Home" + }, + { + "Date": "2020-06-22", + "Value": 182, + "Series": "Home" + }, + { + "Date": "2020-07-01", + "Value": 180, + "Series": "Home" + }, + { + "Date": "2020-07-10", + "Value": 170, + "Series": "Home" + }, + { + "Date": "2020-07-19", + "Value": 158, + "Series": "Home" + }, + { + "Date": "2020-07-28", + "Value": 152, + "Series": "Home" + }, + { + "Date": "2020-08-07", + "Value": 164, + "Series": "Home" + }, + { + "Date": "2020-08-16", + "Value": 165, + "Series": "Home" + }, + { + "Date": "2020-08-25", + "Value": 166, + "Series": "Home" + }, + { + "Date": "2020-09-03", + "Value": 155, + "Series": "Home" + }, + { + "Date": "2020-09-12", + "Value": 145, + "Series": "Home" + }, + { + "Date": "2020-09-21", + "Value": 137, + "Series": "Home" + }, + { + "Date": "2020-09-30", + "Value": 125, + "Series": "Home" + }, + { + "Date": "2020-10-09", + "Value": 126, + "Series": "Home" + }, + { + "Date": "2020-10-19", + "Value": 122, + "Series": "Home" + }, + { + "Date": "2020-10-28", + "Value": 111, + "Series": "Home" + }, + { + "Date": "2020-11-06", + "Value": 121, + "Series": "Home" + }, + { + "Date": "2020-11-15", + "Value": 129, + "Series": "Home" + }, + { + "Date": "2020-11-24", + "Value": 132, + "Series": "Home" + }, + { + "Date": "2020-12-03", + "Value": 136, + "Series": "Home" + }, + { + "Date": "2020-12-12", + "Value": 144, + "Series": "Home" + }, + { + "Date": "2020-12-21", + "Value": 147, + "Series": "Home" + }, + { + "Date": "2020-12-31", + "Value": 137, + "Series": "Home" + }, + { + "Date": "2021-01-09", + "Value": 123, + "Series": "Home" + }, + { + "Date": "2021-01-18", + "Value": 108, + "Series": "Home" + }, + { + "Date": "2021-01-27", + "Value": 114, + "Series": "Home" + }, + { + "Date": "2021-02-05", + "Value": 118, + "Series": "Home" + }, + { + "Date": "2021-02-14", + "Value": 118, + "Series": "Home" + }, + { + "Date": "2021-02-23", + "Value": 110, + "Series": "Home" + }, + { + "Date": "2021-03-04", + "Value": 123, + "Series": "Home" + }, + { + "Date": "2021-03-14", + "Value": 142, + "Series": "Home" + }, + { + "Date": "2021-03-23", + "Value": 149, + "Series": "Home" + }, + { + "Date": "2021-04-01", + "Value": 151, + "Series": "Home" + }, + { + "Date": "2021-04-10", + "Value": 148, + "Series": "Home" + }, + { + "Date": "2021-04-19", + "Value": 147, + "Series": "Home" + }, + { + "Date": "2021-04-28", + "Value": 162, + "Series": "Home" + }, + { + "Date": "2021-05-07", + "Value": 189, + "Series": "Home" + }, + { + "Date": "2021-05-16", + "Value": 220, + "Series": "Home" + }, + { + "Date": "2021-05-26", + "Value": 249, + "Series": "Home" + }, + { + "Date": "2021-06-04", + "Value": 273, + "Series": "Home" + }, + { + "Date": "2021-06-13", + "Value": 282, + "Series": "Home" + }, + { + "Date": "2021-06-22", + "Value": 279, + "Series": "Home" + }, + { + "Date": "2021-07-01", + "Value": 273, + "Series": "Home" + }, + { + "Date": "2021-07-10", + "Value": 260, + "Series": "Home" + }, + { + "Date": "2021-07-19", + "Value": 264, + "Series": "Home" + }, + { + "Date": "2021-07-28", + "Value": 274, + "Series": "Home" + }, + { + "Date": "2021-08-07", + "Value": 274, + "Series": "Home" + }, + { + "Date": "2021-08-16", + "Value": 273, + "Series": "Home" + }, + { + "Date": "2021-08-25", + "Value": 291, + "Series": "Home" + }, + { + "Date": "2021-09-03", + "Value": 296, + "Series": "Home" + }, + { + "Date": "2021-09-12", + "Value": 314, + "Series": "Home" + }, + { + "Date": "2021-09-21", + "Value": 322, + "Series": "Home" + }, + { + "Date": "2021-09-30", + "Value": 343, + "Series": "Home" + }, + { + "Date": "2021-10-09", + "Value": 347, + "Series": "Home" + }, + { + "Date": "2021-10-19", + "Value": 358, + "Series": "Home" + }, + { + "Date": "2021-10-28", + "Value": 383, + "Series": "Home" + }, + { + "Date": "2021-11-06", + "Value": 387, + "Series": "Home" + }, + { + "Date": "2021-11-15", + "Value": 392, + "Series": "Home" + }, + { + "Date": "2021-11-24", + "Value": 409, + "Series": "Home" + }, + { + "Date": "2021-12-03", + "Value": 423, + "Series": "Home" + }, + { + "Date": "2021-12-12", + "Value": 432, + "Series": "Home" + }, + { + "Date": "2021-12-21", + "Value": 435, + "Series": "Home" + }, + { + "Date": "2021-12-31", + "Value": 443, + "Series": "Home" + }, + { + "Date": "2022-01-09", + "Value": 454, + "Series": "Home" + }, + { + "Date": "2022-01-18", + "Value": 475, + "Series": "Home" + }, + { + "Date": "2022-01-27", + "Value": 490, + "Series": "Home" + }, + { + "Date": "2022-02-05", + "Value": 499, + "Series": "Home" + }, + { + "Date": "2022-02-14", + "Value": 513, + "Series": "Home" + }, + { + "Date": "2022-02-23", + "Value": 514, + "Series": "Home" + }, + { + "Date": "2022-03-04", + "Value": 508, + "Series": "Home" + }, + { + "Date": "2022-03-14", + "Value": 501, + "Series": "Home" + }, + { + "Date": "2022-03-23", + "Value": 505, + "Series": "Home" + }, + { + "Date": "2022-04-01", + "Value": 499, + "Series": "Home" + }, + { + "Date": "2022-04-10", + "Value": 503, + "Series": "Home" + }, + { + "Date": "2022-04-19", + "Value": 506, + "Series": "Home" + }, + { + "Date": "2022-04-28", + "Value": 502, + "Series": "Home" + }, + { + "Date": "2022-05-07", + "Value": 498, + "Series": "Home" + }, + { + "Date": "2022-05-16", + "Value": 487, + "Series": "Home" + }, + { + "Date": "2022-05-26", + "Value": 479, + "Series": "Home" + }, + { + "Date": "2022-06-04", + "Value": 479, + "Series": "Home" + }, + { + "Date": "2022-06-13", + "Value": 479, + "Series": "Home" + }, + { + "Date": "2022-06-22", + "Value": 481, + "Series": "Home" + }, + { + "Date": "2022-07-01", + "Value": 491, + "Series": "Home" + }, + { + "Date": "2022-07-10", + "Value": 491, + "Series": "Home" + }, + { + "Date": "2022-07-19", + "Value": 498, + "Series": "Home" + }, + { + "Date": "2022-07-28", + "Value": 511, + "Series": "Home" + }, + { + "Date": "2022-08-07", + "Value": 517, + "Series": "Home" + }, + { + "Date": "2022-08-16", + "Value": 512, + "Series": "Home" + }, + { + "Date": "2022-08-25", + "Value": 523, + "Series": "Home" + }, + { + "Date": "2022-09-03", + "Value": 536, + "Series": "Home" + }, + { + "Date": "2022-09-12", + "Value": 562, + "Series": "Home" + }, + { + "Date": "2022-09-21", + "Value": 596, + "Series": "Home" + }, + { + "Date": "2022-09-30", + "Value": 628, + "Series": "Home" + }, + { + "Date": "2022-10-09", + "Value": 657, + "Series": "Home" + }, + { + "Date": "2022-10-19", + "Value": 671, + "Series": "Home" + }, + { + "Date": "2022-10-28", + "Value": 687, + "Series": "Home" + }, + { + "Date": "2022-11-06", + "Value": 695, + "Series": "Home" + }, + { + "Date": "2022-11-15", + "Value": 711, + "Series": "Home" + }, + { + "Date": "2022-11-24", + "Value": 721, + "Series": "Home" + }, + { + "Date": "2022-12-03", + "Value": 740, + "Series": "Home" + }, + { + "Date": "2022-12-12", + "Value": 759, + "Series": "Home" + }, + { + "Date": "2022-12-21", + "Value": 775, + "Series": "Home" + }, + { + "Date": "2020-01-01", + "Value": 217, + "Series": "Garden" + }, + { + "Date": "2020-01-10", + "Value": 214, + "Series": "Garden" + }, + { + "Date": "2020-01-19", + "Value": 213, + "Series": "Garden" + }, + { + "Date": "2020-01-28", + "Value": 229, + "Series": "Garden" + }, + { + "Date": "2020-02-06", + "Value": 250, + "Series": "Garden" + }, + { + "Date": "2020-02-15", + "Value": 275, + "Series": "Garden" + }, + { + "Date": "2020-02-24", + "Value": 295, + "Series": "Garden" + }, + { + "Date": "2020-03-04", + "Value": 304, + "Series": "Garden" + }, + { + "Date": "2020-03-14", + "Value": 323, + "Series": "Garden" + }, + { + "Date": "2020-03-23", + "Value": 327, + "Series": "Garden" + }, + { + "Date": "2020-04-01", + "Value": 341, + "Series": "Garden" + }, + { + "Date": "2020-04-10", + "Value": 360, + "Series": "Garden" + }, + { + "Date": "2020-04-19", + "Value": 369, + "Series": "Garden" + }, + { + "Date": "2020-04-28", + "Value": 366, + "Series": "Garden" + }, + { + "Date": "2020-05-07", + "Value": 356, + "Series": "Garden" + }, + { + "Date": "2020-05-16", + "Value": 350, + "Series": "Garden" + }, + { + "Date": "2020-05-26", + "Value": 362, + "Series": "Garden" + }, + { + "Date": "2020-06-04", + "Value": 366, + "Series": "Garden" + }, + { + "Date": "2020-06-13", + "Value": 371, + "Series": "Garden" + }, + { + "Date": "2020-06-22", + "Value": 387, + "Series": "Garden" + }, + { + "Date": "2020-07-01", + "Value": 390, + "Series": "Garden" + }, + { + "Date": "2020-07-10", + "Value": 387, + "Series": "Garden" + }, + { + "Date": "2020-07-19", + "Value": 380, + "Series": "Garden" + }, + { + "Date": "2020-07-28", + "Value": 381, + "Series": "Garden" + }, + { + "Date": "2020-08-07", + "Value": 378, + "Series": "Garden" + }, + { + "Date": "2020-08-16", + "Value": 383, + "Series": "Garden" + }, + { + "Date": "2020-08-25", + "Value": 388, + "Series": "Garden" + }, + { + "Date": "2020-09-03", + "Value": 382, + "Series": "Garden" + }, + { + "Date": "2020-09-12", + "Value": 386, + "Series": "Garden" + }, + { + "Date": "2020-09-21", + "Value": 401, + "Series": "Garden" + }, + { + "Date": "2020-09-30", + "Value": 411, + "Series": "Garden" + }, + { + "Date": "2020-10-09", + "Value": 412, + "Series": "Garden" + }, + { + "Date": "2020-10-19", + "Value": 416, + "Series": "Garden" + }, + { + "Date": "2020-10-28", + "Value": 416, + "Series": "Garden" + }, + { + "Date": "2020-11-06", + "Value": 415, + "Series": "Garden" + }, + { + "Date": "2020-11-15", + "Value": 429, + "Series": "Garden" + }, + { + "Date": "2020-11-24", + "Value": 445, + "Series": "Garden" + }, + { + "Date": "2020-12-03", + "Value": 467, + "Series": "Garden" + }, + { + "Date": "2020-12-12", + "Value": 492, + "Series": "Garden" + }, + { + "Date": "2020-12-21", + "Value": 500, + "Series": "Garden" + }, + { + "Date": "2020-12-31", + "Value": 500, + "Series": "Garden" + }, + { + "Date": "2021-01-09", + "Value": 510, + "Series": "Garden" + }, + { + "Date": "2021-01-18", + "Value": 511, + "Series": "Garden" + }, + { + "Date": "2021-01-27", + "Value": 524, + "Series": "Garden" + }, + { + "Date": "2021-02-05", + "Value": 547, + "Series": "Garden" + }, + { + "Date": "2021-02-14", + "Value": 557, + "Series": "Garden" + }, + { + "Date": "2021-02-23", + "Value": 570, + "Series": "Garden" + }, + { + "Date": "2021-03-04", + "Value": 591, + "Series": "Garden" + }, + { + "Date": "2021-03-14", + "Value": 613, + "Series": "Garden" + }, + { + "Date": "2021-03-23", + "Value": 625, + "Series": "Garden" + }, + { + "Date": "2021-04-01", + "Value": 627, + "Series": "Garden" + }, + { + "Date": "2021-04-10", + "Value": 620, + "Series": "Garden" + }, + { + "Date": "2021-04-19", + "Value": 628, + "Series": "Garden" + }, + { + "Date": "2021-04-28", + "Value": 636, + "Series": "Garden" + }, + { + "Date": "2021-05-07", + "Value": 643, + "Series": "Garden" + }, + { + "Date": "2021-05-16", + "Value": 641, + "Series": "Garden" + }, + { + "Date": "2021-05-26", + "Value": 637, + "Series": "Garden" + }, + { + "Date": "2021-06-04", + "Value": 629, + "Series": "Garden" + }, + { + "Date": "2021-06-13", + "Value": 634, + "Series": "Garden" + }, + { + "Date": "2021-06-22", + "Value": 651, + "Series": "Garden" + }, + { + "Date": "2021-07-01", + "Value": 660, + "Series": "Garden" + }, + { + "Date": "2021-07-10", + "Value": 680, + "Series": "Garden" + }, + { + "Date": "2021-07-19", + "Value": 707, + "Series": "Garden" + }, + { + "Date": "2021-07-28", + "Value": 720, + "Series": "Garden" + }, + { + "Date": "2021-08-07", + "Value": 721, + "Series": "Garden" + }, + { + "Date": "2021-08-16", + "Value": 715, + "Series": "Garden" + }, + { + "Date": "2021-08-25", + "Value": 714, + "Series": "Garden" + }, + { + "Date": "2021-09-03", + "Value": 714, + "Series": "Garden" + }, + { + "Date": "2021-09-12", + "Value": 710, + "Series": "Garden" + }, + { + "Date": "2021-09-21", + "Value": 722, + "Series": "Garden" + }, + { + "Date": "2021-09-30", + "Value": 732, + "Series": "Garden" + }, + { + "Date": "2021-10-09", + "Value": 743, + "Series": "Garden" + }, + { + "Date": "2021-10-19", + "Value": 741, + "Series": "Garden" + }, + { + "Date": "2021-10-28", + "Value": 747, + "Series": "Garden" + }, + { + "Date": "2021-11-06", + "Value": 755, + "Series": "Garden" + }, + { + "Date": "2021-11-15", + "Value": 758, + "Series": "Garden" + }, + { + "Date": "2021-11-24", + "Value": 768, + "Series": "Garden" + }, + { + "Date": "2021-12-03", + "Value": 781, + "Series": "Garden" + }, + { + "Date": "2021-12-12", + "Value": 782, + "Series": "Garden" + }, + { + "Date": "2021-12-21", + "Value": 784, + "Series": "Garden" + }, + { + "Date": "2021-12-31", + "Value": 794, + "Series": "Garden" + }, + { + "Date": "2022-01-09", + "Value": 800, + "Series": "Garden" + }, + { + "Date": "2022-01-18", + "Value": 805, + "Series": "Garden" + }, + { + "Date": "2022-01-27", + "Value": 814, + "Series": "Garden" + }, + { + "Date": "2022-02-05", + "Value": 811, + "Series": "Garden" + }, + { + "Date": "2022-02-14", + "Value": 804, + "Series": "Garden" + }, + { + "Date": "2022-02-23", + "Value": 792, + "Series": "Garden" + }, + { + "Date": "2022-03-04", + "Value": 781, + "Series": "Garden" + }, + { + "Date": "2022-03-14", + "Value": 769, + "Series": "Garden" + }, + { + "Date": "2022-03-23", + "Value": 761, + "Series": "Garden" + }, + { + "Date": "2022-04-01", + "Value": 762, + "Series": "Garden" + }, + { + "Date": "2022-04-10", + "Value": 766, + "Series": "Garden" + }, + { + "Date": "2022-04-19", + "Value": 767, + "Series": "Garden" + }, + { + "Date": "2022-04-28", + "Value": 772, + "Series": "Garden" + }, + { + "Date": "2022-05-07", + "Value": 777, + "Series": "Garden" + }, + { + "Date": "2022-05-16", + "Value": 794, + "Series": "Garden" + }, + { + "Date": "2022-05-26", + "Value": 816, + "Series": "Garden" + }, + { + "Date": "2022-06-04", + "Value": 825, + "Series": "Garden" + }, + { + "Date": "2022-06-13", + "Value": 837, + "Series": "Garden" + }, + { + "Date": "2022-06-22", + "Value": 836, + "Series": "Garden" + }, + { + "Date": "2022-07-01", + "Value": 835, + "Series": "Garden" + }, + { + "Date": "2022-07-10", + "Value": 832, + "Series": "Garden" + }, + { + "Date": "2022-07-19", + "Value": 838, + "Series": "Garden" + }, + { + "Date": "2022-07-28", + "Value": 841, + "Series": "Garden" + }, + { + "Date": "2022-08-07", + "Value": 849, + "Series": "Garden" + }, + { + "Date": "2022-08-16", + "Value": 866, + "Series": "Garden" + }, + { + "Date": "2022-08-25", + "Value": 889, + "Series": "Garden" + }, + { + "Date": "2022-09-03", + "Value": 919, + "Series": "Garden" + }, + { + "Date": "2022-09-12", + "Value": 950, + "Series": "Garden" + }, + { + "Date": "2022-09-21", + "Value": 978, + "Series": "Garden" + }, + { + "Date": "2022-09-30", + "Value": 995, + "Series": "Garden" + }, + { + "Date": "2022-10-09", + "Value": 1020, + "Series": "Garden" + }, + { + "Date": "2022-10-19", + "Value": 1032, + "Series": "Garden" + }, + { + "Date": "2022-10-28", + "Value": 1038, + "Series": "Garden" + }, + { + "Date": "2022-11-06", + "Value": 1042, + "Series": "Garden" + }, + { + "Date": "2022-11-15", + "Value": 1054, + "Series": "Garden" + }, + { + "Date": "2022-11-24", + "Value": 1076, + "Series": "Garden" + }, + { + "Date": "2022-12-03", + "Value": 1084, + "Series": "Garden" + }, + { + "Date": "2022-12-12", + "Value": 1088, + "Series": "Garden" + }, + { + "Date": "2022-12-21", + "Value": 1095, + "Series": "Garden" + }, + { + "Date": "2020-01-01", + "Value": 212, + "Series": "Auto" + }, + { + "Date": "2020-01-10", + "Value": 210, + "Series": "Auto" + }, + { + "Date": "2020-01-19", + "Value": 221, + "Series": "Auto" + }, + { + "Date": "2020-01-28", + "Value": 221, + "Series": "Auto" + }, + { + "Date": "2020-02-06", + "Value": 213, + "Series": "Auto" + }, + { + "Date": "2020-02-15", + "Value": 222, + "Series": "Auto" + }, + { + "Date": "2020-02-24", + "Value": 228, + "Series": "Auto" + }, + { + "Date": "2020-03-04", + "Value": 225, + "Series": "Auto" + }, + { + "Date": "2020-03-14", + "Value": 222, + "Series": "Auto" + }, + { + "Date": "2020-03-23", + "Value": 213, + "Series": "Auto" + }, + { + "Date": "2020-04-01", + "Value": 200, + "Series": "Auto" + }, + { + "Date": "2020-04-10", + "Value": 204, + "Series": "Auto" + }, + { + "Date": "2020-04-19", + "Value": 214, + "Series": "Auto" + }, + { + "Date": "2020-04-28", + "Value": 224, + "Series": "Auto" + }, + { + "Date": "2020-05-07", + "Value": 226, + "Series": "Auto" + }, + { + "Date": "2020-05-16", + "Value": 228, + "Series": "Auto" + }, + { + "Date": "2020-05-26", + "Value": 221, + "Series": "Auto" + }, + { + "Date": "2020-06-04", + "Value": 208, + "Series": "Auto" + }, + { + "Date": "2020-06-13", + "Value": 200, + "Series": "Auto" + }, + { + "Date": "2020-06-22", + "Value": 203, + "Series": "Auto" + }, + { + "Date": "2020-07-01", + "Value": 194, + "Series": "Auto" + }, + { + "Date": "2020-07-10", + "Value": 184, + "Series": "Auto" + }, + { + "Date": "2020-07-19", + "Value": 197, + "Series": "Auto" + }, + { + "Date": "2020-07-28", + "Value": 196, + "Series": "Auto" + }, + { + "Date": "2020-08-07", + "Value": 183, + "Series": "Auto" + }, + { + "Date": "2020-08-16", + "Value": 193, + "Series": "Auto" + }, + { + "Date": "2020-08-25", + "Value": 218, + "Series": "Auto" + }, + { + "Date": "2020-09-03", + "Value": 253, + "Series": "Auto" + }, + { + "Date": "2020-09-12", + "Value": 287, + "Series": "Auto" + }, + { + "Date": "2020-09-21", + "Value": 304, + "Series": "Auto" + }, + { + "Date": "2020-09-30", + "Value": 309, + "Series": "Auto" + }, + { + "Date": "2020-10-09", + "Value": 315, + "Series": "Auto" + }, + { + "Date": "2020-10-19", + "Value": 309, + "Series": "Auto" + }, + { + "Date": "2020-10-28", + "Value": 319, + "Series": "Auto" + }, + { + "Date": "2020-11-06", + "Value": 336, + "Series": "Auto" + }, + { + "Date": "2020-11-15", + "Value": 349, + "Series": "Auto" + }, + { + "Date": "2020-11-24", + "Value": 372, + "Series": "Auto" + }, + { + "Date": "2020-12-03", + "Value": 389, + "Series": "Auto" + }, + { + "Date": "2020-12-12", + "Value": 413, + "Series": "Auto" + }, + { + "Date": "2020-12-21", + "Value": 446, + "Series": "Auto" + }, + { + "Date": "2020-12-31", + "Value": 455, + "Series": "Auto" + }, + { + "Date": "2021-01-09", + "Value": 462, + "Series": "Auto" + }, + { + "Date": "2021-01-18", + "Value": 473, + "Series": "Auto" + }, + { + "Date": "2021-01-27", + "Value": 484, + "Series": "Auto" + }, + { + "Date": "2021-02-05", + "Value": 488, + "Series": "Auto" + }, + { + "Date": "2021-02-14", + "Value": 498, + "Series": "Auto" + }, + { + "Date": "2021-02-23", + "Value": 494, + "Series": "Auto" + }, + { + "Date": "2021-03-04", + "Value": 482, + "Series": "Auto" + }, + { + "Date": "2021-03-14", + "Value": 465, + "Series": "Auto" + }, + { + "Date": "2021-03-23", + "Value": 468, + "Series": "Auto" + }, + { + "Date": "2021-04-01", + "Value": 487, + "Series": "Auto" + }, + { + "Date": "2021-04-10", + "Value": 483, + "Series": "Auto" + }, + { + "Date": "2021-04-19", + "Value": 470, + "Series": "Auto" + }, + { + "Date": "2021-04-28", + "Value": 463, + "Series": "Auto" + }, + { + "Date": "2021-05-07", + "Value": 466, + "Series": "Auto" + }, + { + "Date": "2021-05-16", + "Value": 482, + "Series": "Auto" + }, + { + "Date": "2021-05-26", + "Value": 497, + "Series": "Auto" + }, + { + "Date": "2021-06-04", + "Value": 503, + "Series": "Auto" + }, + { + "Date": "2021-06-13", + "Value": 523, + "Series": "Auto" + }, + { + "Date": "2021-06-22", + "Value": 536, + "Series": "Auto" + }, + { + "Date": "2021-07-01", + "Value": 556, + "Series": "Auto" + }, + { + "Date": "2021-07-10", + "Value": 563, + "Series": "Auto" + }, + { + "Date": "2021-07-19", + "Value": 572, + "Series": "Auto" + }, + { + "Date": "2021-07-28", + "Value": 577, + "Series": "Auto" + }, + { + "Date": "2021-08-07", + "Value": 586, + "Series": "Auto" + }, + { + "Date": "2021-08-16", + "Value": 588, + "Series": "Auto" + }, + { + "Date": "2021-08-25", + "Value": 576, + "Series": "Auto" + }, + { + "Date": "2021-09-03", + "Value": 586, + "Series": "Auto" + }, + { + "Date": "2021-09-12", + "Value": 579, + "Series": "Auto" + }, + { + "Date": "2021-09-21", + "Value": 569, + "Series": "Auto" + }, + { + "Date": "2021-09-30", + "Value": 566, + "Series": "Auto" + }, + { + "Date": "2021-10-09", + "Value": 573, + "Series": "Auto" + }, + { + "Date": "2021-10-19", + "Value": 564, + "Series": "Auto" + }, + { + "Date": "2021-10-28", + "Value": 550, + "Series": "Auto" + }, + { + "Date": "2021-11-06", + "Value": 534, + "Series": "Auto" + }, + { + "Date": "2021-11-15", + "Value": 544, + "Series": "Auto" + }, + { + "Date": "2021-11-24", + "Value": 553, + "Series": "Auto" + }, + { + "Date": "2021-12-03", + "Value": 565, + "Series": "Auto" + }, + { + "Date": "2021-12-12", + "Value": 560, + "Series": "Auto" + }, + { + "Date": "2021-12-21", + "Value": 575, + "Series": "Auto" + }, + { + "Date": "2021-12-31", + "Value": 600, + "Series": "Auto" + }, + { + "Date": "2022-01-09", + "Value": 620, + "Series": "Auto" + }, + { + "Date": "2022-01-18", + "Value": 635, + "Series": "Auto" + }, + { + "Date": "2022-01-27", + "Value": 641, + "Series": "Auto" + }, + { + "Date": "2022-02-05", + "Value": 651, + "Series": "Auto" + }, + { + "Date": "2022-02-14", + "Value": 657, + "Series": "Auto" + }, + { + "Date": "2022-02-23", + "Value": 673, + "Series": "Auto" + }, + { + "Date": "2022-03-04", + "Value": 691, + "Series": "Auto" + }, + { + "Date": "2022-03-14", + "Value": 701, + "Series": "Auto" + }, + { + "Date": "2022-03-23", + "Value": 719, + "Series": "Auto" + }, + { + "Date": "2022-04-01", + "Value": 751, + "Series": "Auto" + }, + { + "Date": "2022-04-10", + "Value": 763, + "Series": "Auto" + }, + { + "Date": "2022-04-19", + "Value": 784, + "Series": "Auto" + }, + { + "Date": "2022-04-28", + "Value": 783, + "Series": "Auto" + }, + { + "Date": "2022-05-07", + "Value": 772, + "Series": "Auto" + }, + { + "Date": "2022-05-16", + "Value": 753, + "Series": "Auto" + }, + { + "Date": "2022-05-26", + "Value": 751, + "Series": "Auto" + }, + { + "Date": "2022-06-04", + "Value": 758, + "Series": "Auto" + }, + { + "Date": "2022-06-13", + "Value": 756, + "Series": "Auto" + }, + { + "Date": "2022-06-22", + "Value": 742, + "Series": "Auto" + }, + { + "Date": "2022-07-01", + "Value": 725, + "Series": "Auto" + }, + { + "Date": "2022-07-10", + "Value": 705, + "Series": "Auto" + }, + { + "Date": "2022-07-19", + "Value": 700, + "Series": "Auto" + }, + { + "Date": "2022-07-28", + "Value": 710, + "Series": "Auto" + }, + { + "Date": "2022-08-07", + "Value": 718, + "Series": "Auto" + }, + { + "Date": "2022-08-16", + "Value": 710, + "Series": "Auto" + }, + { + "Date": "2022-08-25", + "Value": 713, + "Series": "Auto" + }, + { + "Date": "2022-09-03", + "Value": 722, + "Series": "Auto" + }, + { + "Date": "2022-09-12", + "Value": 738, + "Series": "Auto" + }, + { + "Date": "2022-09-21", + "Value": 762, + "Series": "Auto" + }, + { + "Date": "2022-09-30", + "Value": 795, + "Series": "Auto" + }, + { + "Date": "2022-10-09", + "Value": 813, + "Series": "Auto" + }, + { + "Date": "2022-10-19", + "Value": 827, + "Series": "Auto" + }, + { + "Date": "2022-10-28", + "Value": 852, + "Series": "Auto" + }, + { + "Date": "2022-11-06", + "Value": 884, + "Series": "Auto" + }, + { + "Date": "2022-11-15", + "Value": 901, + "Series": "Auto" + }, + { + "Date": "2022-11-24", + "Value": 906, + "Series": "Auto" + }, + { + "Date": "2022-12-03", + "Value": 904, + "Series": "Auto" + }, + { + "Date": "2022-12-12", + "Value": 893, + "Series": "Auto" + }, + { + "Date": "2022-12-21", + "Value": 872, + "Series": "Auto" + }, + { + "Date": "2020-01-01", + "Value": 95, + "Series": "Health" + }, + { + "Date": "2020-01-10", + "Value": 98, + "Series": "Health" + }, + { + "Date": "2020-01-19", + "Value": 104, + "Series": "Health" + }, + { + "Date": "2020-01-28", + "Value": 108, + "Series": "Health" + }, + { + "Date": "2020-02-06", + "Value": 108, + "Series": "Health" + }, + { + "Date": "2020-02-15", + "Value": 105, + "Series": "Health" + }, + { + "Date": "2020-02-24", + "Value": 102, + "Series": "Health" + }, + { + "Date": "2020-03-04", + "Value": 97, + "Series": "Health" + }, + { + "Date": "2020-03-14", + "Value": 100, + "Series": "Health" + }, + { + "Date": "2020-03-23", + "Value": 104, + "Series": "Health" + }, + { + "Date": "2020-04-01", + "Value": 106, + "Series": "Health" + }, + { + "Date": "2020-04-10", + "Value": 103, + "Series": "Health" + }, + { + "Date": "2020-04-19", + "Value": 103, + "Series": "Health" + }, + { + "Date": "2020-04-28", + "Value": 100, + "Series": "Health" + }, + { + "Date": "2020-05-07", + "Value": 105, + "Series": "Health" + }, + { + "Date": "2020-05-16", + "Value": 109, + "Series": "Health" + }, + { + "Date": "2020-05-26", + "Value": 113, + "Series": "Health" + }, + { + "Date": "2020-06-04", + "Value": 113, + "Series": "Health" + }, + { + "Date": "2020-06-13", + "Value": 112, + "Series": "Health" + }, + { + "Date": "2020-06-22", + "Value": 108, + "Series": "Health" + }, + { + "Date": "2020-07-01", + "Value": 109, + "Series": "Health" + }, + { + "Date": "2020-07-10", + "Value": 114, + "Series": "Health" + }, + { + "Date": "2020-07-19", + "Value": 118, + "Series": "Health" + }, + { + "Date": "2020-07-28", + "Value": 123, + "Series": "Health" + }, + { + "Date": "2020-08-07", + "Value": 125, + "Series": "Health" + }, + { + "Date": "2020-08-16", + "Value": 126, + "Series": "Health" + }, + { + "Date": "2020-08-25", + "Value": 128, + "Series": "Health" + }, + { + "Date": "2020-09-03", + "Value": 130, + "Series": "Health" + }, + { + "Date": "2020-09-12", + "Value": 129, + "Series": "Health" + }, + { + "Date": "2020-09-21", + "Value": 125, + "Series": "Health" + }, + { + "Date": "2020-09-30", + "Value": 127, + "Series": "Health" + }, + { + "Date": "2020-10-09", + "Value": 131, + "Series": "Health" + }, + { + "Date": "2020-10-19", + "Value": 141, + "Series": "Health" + }, + { + "Date": "2020-10-28", + "Value": 143, + "Series": "Health" + }, + { + "Date": "2020-11-06", + "Value": 151, + "Series": "Health" + }, + { + "Date": "2020-11-15", + "Value": 156, + "Series": "Health" + }, + { + "Date": "2020-11-24", + "Value": 162, + "Series": "Health" + }, + { + "Date": "2020-12-03", + "Value": 172, + "Series": "Health" + }, + { + "Date": "2020-12-12", + "Value": 180, + "Series": "Health" + }, + { + "Date": "2020-12-21", + "Value": 181, + "Series": "Health" + }, + { + "Date": "2020-12-31", + "Value": 190, + "Series": "Health" + }, + { + "Date": "2021-01-09", + "Value": 197, + "Series": "Health" + }, + { + "Date": "2021-01-18", + "Value": 202, + "Series": "Health" + }, + { + "Date": "2021-01-27", + "Value": 212, + "Series": "Health" + }, + { + "Date": "2021-02-05", + "Value": 215, + "Series": "Health" + }, + { + "Date": "2021-02-14", + "Value": 222, + "Series": "Health" + }, + { + "Date": "2021-02-23", + "Value": 233, + "Series": "Health" + }, + { + "Date": "2021-03-04", + "Value": 246, + "Series": "Health" + }, + { + "Date": "2021-03-14", + "Value": 254, + "Series": "Health" + }, + { + "Date": "2021-03-23", + "Value": 256, + "Series": "Health" + }, + { + "Date": "2021-04-01", + "Value": 260, + "Series": "Health" + }, + { + "Date": "2021-04-10", + "Value": 260, + "Series": "Health" + }, + { + "Date": "2021-04-19", + "Value": 260, + "Series": "Health" + }, + { + "Date": "2021-04-28", + "Value": 262, + "Series": "Health" + }, + { + "Date": "2021-05-07", + "Value": 268, + "Series": "Health" + }, + { + "Date": "2021-05-16", + "Value": 277, + "Series": "Health" + }, + { + "Date": "2021-05-26", + "Value": 283, + "Series": "Health" + }, + { + "Date": "2021-06-04", + "Value": 288, + "Series": "Health" + }, + { + "Date": "2021-06-13", + "Value": 295, + "Series": "Health" + }, + { + "Date": "2021-06-22", + "Value": 295, + "Series": "Health" + }, + { + "Date": "2021-07-01", + "Value": 296, + "Series": "Health" + }, + { + "Date": "2021-07-10", + "Value": 300, + "Series": "Health" + }, + { + "Date": "2021-07-19", + "Value": 308, + "Series": "Health" + }, + { + "Date": "2021-07-28", + "Value": 314, + "Series": "Health" + }, + { + "Date": "2021-08-07", + "Value": 315, + "Series": "Health" + }, + { + "Date": "2021-08-16", + "Value": 322, + "Series": "Health" + }, + { + "Date": "2021-08-25", + "Value": 335, + "Series": "Health" + }, + { + "Date": "2021-09-03", + "Value": 342, + "Series": "Health" + }, + { + "Date": "2021-09-12", + "Value": 350, + "Series": "Health" + }, + { + "Date": "2021-09-21", + "Value": 362, + "Series": "Health" + }, + { + "Date": "2021-09-30", + "Value": 377, + "Series": "Health" + }, + { + "Date": "2021-10-09", + "Value": 393, + "Series": "Health" + }, + { + "Date": "2021-10-19", + "Value": 409, + "Series": "Health" + }, + { + "Date": "2021-10-28", + "Value": 424, + "Series": "Health" + }, + { + "Date": "2021-11-06", + "Value": 440, + "Series": "Health" + }, + { + "Date": "2021-11-15", + "Value": 450, + "Series": "Health" + }, + { + "Date": "2021-11-24", + "Value": 456, + "Series": "Health" + }, + { + "Date": "2021-12-03", + "Value": 466, + "Series": "Health" + }, + { + "Date": "2021-12-12", + "Value": 474, + "Series": "Health" + }, + { + "Date": "2021-12-21", + "Value": 482, + "Series": "Health" + }, + { + "Date": "2021-12-31", + "Value": 489, + "Series": "Health" + }, + { + "Date": "2022-01-09", + "Value": 499, + "Series": "Health" + }, + { + "Date": "2022-01-18", + "Value": 502, + "Series": "Health" + }, + { + "Date": "2022-01-27", + "Value": 509, + "Series": "Health" + }, + { + "Date": "2022-02-05", + "Value": 512, + "Series": "Health" + }, + { + "Date": "2022-02-14", + "Value": 514, + "Series": "Health" + }, + { + "Date": "2022-02-23", + "Value": 523, + "Series": "Health" + }, + { + "Date": "2022-03-04", + "Value": 535, + "Series": "Health" + }, + { + "Date": "2022-03-14", + "Value": 550, + "Series": "Health" + }, + { + "Date": "2022-03-23", + "Value": 557, + "Series": "Health" + }, + { + "Date": "2022-04-01", + "Value": 564, + "Series": "Health" + }, + { + "Date": "2022-04-10", + "Value": 568, + "Series": "Health" + }, + { + "Date": "2022-04-19", + "Value": 573, + "Series": "Health" + }, + { + "Date": "2022-04-28", + "Value": 584, + "Series": "Health" + }, + { + "Date": "2022-05-07", + "Value": 593, + "Series": "Health" + }, + { + "Date": "2022-05-16", + "Value": 605, + "Series": "Health" + }, + { + "Date": "2022-05-26", + "Value": 613, + "Series": "Health" + }, + { + "Date": "2022-06-04", + "Value": 618, + "Series": "Health" + }, + { + "Date": "2022-06-13", + "Value": 629, + "Series": "Health" + }, + { + "Date": "2022-06-22", + "Value": 644, + "Series": "Health" + }, + { + "Date": "2022-07-01", + "Value": 654, + "Series": "Health" + }, + { + "Date": "2022-07-10", + "Value": 658, + "Series": "Health" + }, + { + "Date": "2022-07-19", + "Value": 663, + "Series": "Health" + }, + { + "Date": "2022-07-28", + "Value": 666, + "Series": "Health" + }, + { + "Date": "2022-08-07", + "Value": 666, + "Series": "Health" + }, + { + "Date": "2022-08-16", + "Value": 673, + "Series": "Health" + }, + { + "Date": "2022-08-25", + "Value": 682, + "Series": "Health" + }, + { + "Date": "2022-09-03", + "Value": 686, + "Series": "Health" + }, + { + "Date": "2022-09-12", + "Value": 687, + "Series": "Health" + }, + { + "Date": "2022-09-21", + "Value": 684, + "Series": "Health" + }, + { + "Date": "2022-09-30", + "Value": 685, + "Series": "Health" + }, + { + "Date": "2022-10-09", + "Value": 685, + "Series": "Health" + }, + { + "Date": "2022-10-19", + "Value": 683, + "Series": "Health" + }, + { + "Date": "2022-10-28", + "Value": 683, + "Series": "Health" + }, + { + "Date": "2022-11-06", + "Value": 680, + "Series": "Health" + }, + { + "Date": "2022-11-15", + "Value": 680, + "Series": "Health" + }, + { + "Date": "2022-11-24", + "Value": 685, + "Series": "Health" + }, + { + "Date": "2022-12-03", + "Value": 694, + "Series": "Health" + }, + { + "Date": "2022-12-12", + "Value": 701, + "Series": "Health" + }, + { + "Date": "2022-12-21", + "Value": 707, + "Series": "Health" + }, + { + "Date": "2020-01-01", + "Value": 119, + "Series": "Beauty" + }, + { + "Date": "2020-01-10", + "Value": 142, + "Series": "Beauty" + }, + { + "Date": "2020-01-19", + "Value": 140, + "Series": "Beauty" + }, + { + "Date": "2020-01-28", + "Value": 144, + "Series": "Beauty" + }, + { + "Date": "2020-02-06", + "Value": 135, + "Series": "Beauty" + }, + { + "Date": "2020-02-15", + "Value": 149, + "Series": "Beauty" + }, + { + "Date": "2020-02-24", + "Value": 161, + "Series": "Beauty" + }, + { + "Date": "2020-03-04", + "Value": 172, + "Series": "Beauty" + }, + { + "Date": "2020-03-14", + "Value": 200, + "Series": "Beauty" + }, + { + "Date": "2020-03-23", + "Value": 212, + "Series": "Beauty" + }, + { + "Date": "2020-04-01", + "Value": 209, + "Series": "Beauty" + }, + { + "Date": "2020-04-10", + "Value": 227, + "Series": "Beauty" + }, + { + "Date": "2020-04-19", + "Value": 246, + "Series": "Beauty" + }, + { + "Date": "2020-04-28", + "Value": 280, + "Series": "Beauty" + }, + { + "Date": "2020-05-07", + "Value": 285, + "Series": "Beauty" + }, + { + "Date": "2020-05-16", + "Value": 284, + "Series": "Beauty" + }, + { + "Date": "2020-05-26", + "Value": 276, + "Series": "Beauty" + }, + { + "Date": "2020-06-04", + "Value": 286, + "Series": "Beauty" + }, + { + "Date": "2020-06-13", + "Value": 290, + "Series": "Beauty" + }, + { + "Date": "2020-06-22", + "Value": 283, + "Series": "Beauty" + }, + { + "Date": "2020-07-01", + "Value": 283, + "Series": "Beauty" + }, + { + "Date": "2020-07-10", + "Value": 294, + "Series": "Beauty" + }, + { + "Date": "2020-07-19", + "Value": 311, + "Series": "Beauty" + }, + { + "Date": "2020-07-28", + "Value": 319, + "Series": "Beauty" + }, + { + "Date": "2020-08-07", + "Value": 314, + "Series": "Beauty" + }, + { + "Date": "2020-08-16", + "Value": 317, + "Series": "Beauty" + }, + { + "Date": "2020-08-25", + "Value": 326, + "Series": "Beauty" + }, + { + "Date": "2020-09-03", + "Value": 346, + "Series": "Beauty" + }, + { + "Date": "2020-09-12", + "Value": 378, + "Series": "Beauty" + }, + { + "Date": "2020-09-21", + "Value": 402, + "Series": "Beauty" + }, + { + "Date": "2020-09-30", + "Value": 421, + "Series": "Beauty" + }, + { + "Date": "2020-10-09", + "Value": 450, + "Series": "Beauty" + }, + { + "Date": "2020-10-19", + "Value": 481, + "Series": "Beauty" + }, + { + "Date": "2020-10-28", + "Value": 522, + "Series": "Beauty" + }, + { + "Date": "2020-11-06", + "Value": 569, + "Series": "Beauty" + }, + { + "Date": "2020-11-15", + "Value": 617, + "Series": "Beauty" + }, + { + "Date": "2020-11-24", + "Value": 648, + "Series": "Beauty" + }, + { + "Date": "2020-12-03", + "Value": 679, + "Series": "Beauty" + }, + { + "Date": "2020-12-12", + "Value": 686, + "Series": "Beauty" + }, + { + "Date": "2020-12-21", + "Value": 699, + "Series": "Beauty" + }, + { + "Date": "2020-12-31", + "Value": 697, + "Series": "Beauty" + }, + { + "Date": "2021-01-09", + "Value": 698, + "Series": "Beauty" + }, + { + "Date": "2021-01-18", + "Value": 692, + "Series": "Beauty" + }, + { + "Date": "2021-01-27", + "Value": 709, + "Series": "Beauty" + }, + { + "Date": "2021-02-05", + "Value": 726, + "Series": "Beauty" + }, + { + "Date": "2021-02-14", + "Value": 730, + "Series": "Beauty" + }, + { + "Date": "2021-02-23", + "Value": 734, + "Series": "Beauty" + }, + { + "Date": "2021-03-04", + "Value": 750, + "Series": "Beauty" + }, + { + "Date": "2021-03-14", + "Value": 767, + "Series": "Beauty" + }, + { + "Date": "2021-03-23", + "Value": 776, + "Series": "Beauty" + }, + { + "Date": "2021-04-01", + "Value": 778, + "Series": "Beauty" + }, + { + "Date": "2021-04-10", + "Value": 773, + "Series": "Beauty" + }, + { + "Date": "2021-04-19", + "Value": 760, + "Series": "Beauty" + }, + { + "Date": "2021-04-28", + "Value": 761, + "Series": "Beauty" + }, + { + "Date": "2021-05-07", + "Value": 775, + "Series": "Beauty" + }, + { + "Date": "2021-05-16", + "Value": 791, + "Series": "Beauty" + }, + { + "Date": "2021-05-26", + "Value": 805, + "Series": "Beauty" + }, + { + "Date": "2021-06-04", + "Value": 807, + "Series": "Beauty" + }, + { + "Date": "2021-06-13", + "Value": 793, + "Series": "Beauty" + }, + { + "Date": "2021-06-22", + "Value": 801, + "Series": "Beauty" + }, + { + "Date": "2021-07-01", + "Value": 812, + "Series": "Beauty" + }, + { + "Date": "2021-07-10", + "Value": 830, + "Series": "Beauty" + }, + { + "Date": "2021-07-19", + "Value": 861, + "Series": "Beauty" + }, + { + "Date": "2021-07-28", + "Value": 884, + "Series": "Beauty" + }, + { + "Date": "2021-08-07", + "Value": 889, + "Series": "Beauty" + }, + { + "Date": "2021-08-16", + "Value": 905, + "Series": "Beauty" + }, + { + "Date": "2021-08-25", + "Value": 922, + "Series": "Beauty" + }, + { + "Date": "2021-09-03", + "Value": 936, + "Series": "Beauty" + }, + { + "Date": "2021-09-12", + "Value": 941, + "Series": "Beauty" + }, + { + "Date": "2021-09-21", + "Value": 956, + "Series": "Beauty" + }, + { + "Date": "2021-09-30", + "Value": 988, + "Series": "Beauty" + }, + { + "Date": "2021-10-09", + "Value": 1025, + "Series": "Beauty" + }, + { + "Date": "2021-10-19", + "Value": 1045, + "Series": "Beauty" + }, + { + "Date": "2021-10-28", + "Value": 1054, + "Series": "Beauty" + }, + { + "Date": "2021-11-06", + "Value": 1044, + "Series": "Beauty" + }, + { + "Date": "2021-11-15", + "Value": 1054, + "Series": "Beauty" + }, + { + "Date": "2021-11-24", + "Value": 1075, + "Series": "Beauty" + }, + { + "Date": "2021-12-03", + "Value": 1100, + "Series": "Beauty" + }, + { + "Date": "2021-12-12", + "Value": 1108, + "Series": "Beauty" + }, + { + "Date": "2021-12-21", + "Value": 1120, + "Series": "Beauty" + }, + { + "Date": "2021-12-31", + "Value": 1114, + "Series": "Beauty" + }, + { + "Date": "2022-01-09", + "Value": 1133, + "Series": "Beauty" + }, + { + "Date": "2022-01-18", + "Value": 1148, + "Series": "Beauty" + }, + { + "Date": "2022-01-27", + "Value": 1145, + "Series": "Beauty" + }, + { + "Date": "2022-02-05", + "Value": 1154, + "Series": "Beauty" + }, + { + "Date": "2022-02-14", + "Value": 1157, + "Series": "Beauty" + }, + { + "Date": "2022-02-23", + "Value": 1181, + "Series": "Beauty" + }, + { + "Date": "2022-03-04", + "Value": 1189, + "Series": "Beauty" + }, + { + "Date": "2022-03-14", + "Value": 1216, + "Series": "Beauty" + }, + { + "Date": "2022-03-23", + "Value": 1248, + "Series": "Beauty" + }, + { + "Date": "2022-04-01", + "Value": 1289, + "Series": "Beauty" + }, + { + "Date": "2022-04-10", + "Value": 1333, + "Series": "Beauty" + }, + { + "Date": "2022-04-19", + "Value": 1359, + "Series": "Beauty" + }, + { + "Date": "2022-04-28", + "Value": 1379, + "Series": "Beauty" + }, + { + "Date": "2022-05-07", + "Value": 1405, + "Series": "Beauty" + }, + { + "Date": "2022-05-16", + "Value": 1417, + "Series": "Beauty" + }, + { + "Date": "2022-05-26", + "Value": 1417, + "Series": "Beauty" + }, + { + "Date": "2022-06-04", + "Value": 1432, + "Series": "Beauty" + }, + { + "Date": "2022-06-13", + "Value": 1425, + "Series": "Beauty" + }, + { + "Date": "2022-06-22", + "Value": 1415, + "Series": "Beauty" + }, + { + "Date": "2022-07-01", + "Value": 1428, + "Series": "Beauty" + }, + { + "Date": "2022-07-10", + "Value": 1442, + "Series": "Beauty" + }, + { + "Date": "2022-07-19", + "Value": 1473, + "Series": "Beauty" + }, + { + "Date": "2022-07-28", + "Value": 1477, + "Series": "Beauty" + }, + { + "Date": "2022-08-07", + "Value": 1497, + "Series": "Beauty" + }, + { + "Date": "2022-08-16", + "Value": 1501, + "Series": "Beauty" + }, + { + "Date": "2022-08-25", + "Value": 1520, + "Series": "Beauty" + }, + { + "Date": "2022-09-03", + "Value": 1540, + "Series": "Beauty" + }, + { + "Date": "2022-09-12", + "Value": 1536, + "Series": "Beauty" + }, + { + "Date": "2022-09-21", + "Value": 1524, + "Series": "Beauty" + }, + { + "Date": "2022-09-30", + "Value": 1508, + "Series": "Beauty" + }, + { + "Date": "2022-10-09", + "Value": 1514, + "Series": "Beauty" + }, + { + "Date": "2022-10-19", + "Value": 1524, + "Series": "Beauty" + }, + { + "Date": "2022-10-28", + "Value": 1526, + "Series": "Beauty" + }, + { + "Date": "2022-11-06", + "Value": 1538, + "Series": "Beauty" + }, + { + "Date": "2022-11-15", + "Value": 1545, + "Series": "Beauty" + }, + { + "Date": "2022-11-24", + "Value": 1553, + "Series": "Beauty" + }, + { + "Date": "2022-12-03", + "Value": 1572, + "Series": "Beauty" + }, + { + "Date": "2022-12-12", + "Value": 1591, + "Series": "Beauty" + }, + { + "Date": "2022-12-21", + "Value": 1619, + "Series": "Beauty" + }, + { + "Date": "2020-01-01", + "Value": 188, + "Series": "Toys" + }, + { + "Date": "2020-01-10", + "Value": 180, + "Series": "Toys" + }, + { + "Date": "2020-01-19", + "Value": 187, + "Series": "Toys" + }, + { + "Date": "2020-01-28", + "Value": 181, + "Series": "Toys" + }, + { + "Date": "2020-02-06", + "Value": 181, + "Series": "Toys" + }, + { + "Date": "2020-02-15", + "Value": 194, + "Series": "Toys" + }, + { + "Date": "2020-02-24", + "Value": 206, + "Series": "Toys" + }, + { + "Date": "2020-03-04", + "Value": 222, + "Series": "Toys" + }, + { + "Date": "2020-03-14", + "Value": 222, + "Series": "Toys" + }, + { + "Date": "2020-03-23", + "Value": 232, + "Series": "Toys" + }, + { + "Date": "2020-04-01", + "Value": 251, + "Series": "Toys" + }, + { + "Date": "2020-04-10", + "Value": 268, + "Series": "Toys" + }, + { + "Date": "2020-04-19", + "Value": 279, + "Series": "Toys" + }, + { + "Date": "2020-04-28", + "Value": 299, + "Series": "Toys" + }, + { + "Date": "2020-05-07", + "Value": 315, + "Series": "Toys" + }, + { + "Date": "2020-05-16", + "Value": 323, + "Series": "Toys" + }, + { + "Date": "2020-05-26", + "Value": 319, + "Series": "Toys" + }, + { + "Date": "2020-06-04", + "Value": 318, + "Series": "Toys" + }, + { + "Date": "2020-06-13", + "Value": 311, + "Series": "Toys" + }, + { + "Date": "2020-06-22", + "Value": 311, + "Series": "Toys" + }, + { + "Date": "2020-07-01", + "Value": 306, + "Series": "Toys" + }, + { + "Date": "2020-07-10", + "Value": 304, + "Series": "Toys" + }, + { + "Date": "2020-07-19", + "Value": 299, + "Series": "Toys" + }, + { + "Date": "2020-07-28", + "Value": 310, + "Series": "Toys" + }, + { + "Date": "2020-08-07", + "Value": 320, + "Series": "Toys" + }, + { + "Date": "2020-08-16", + "Value": 323, + "Series": "Toys" + }, + { + "Date": "2020-08-25", + "Value": 337, + "Series": "Toys" + }, + { + "Date": "2020-09-03", + "Value": 354, + "Series": "Toys" + }, + { + "Date": "2020-09-12", + "Value": 360, + "Series": "Toys" + }, + { + "Date": "2020-09-21", + "Value": 372, + "Series": "Toys" + }, + { + "Date": "2020-09-30", + "Value": 378, + "Series": "Toys" + }, + { + "Date": "2020-10-09", + "Value": 372, + "Series": "Toys" + }, + { + "Date": "2020-10-19", + "Value": 369, + "Series": "Toys" + }, + { + "Date": "2020-10-28", + "Value": 371, + "Series": "Toys" + }, + { + "Date": "2020-11-06", + "Value": 377, + "Series": "Toys" + }, + { + "Date": "2020-11-15", + "Value": 392, + "Series": "Toys" + }, + { + "Date": "2020-11-24", + "Value": 394, + "Series": "Toys" + }, + { + "Date": "2020-12-03", + "Value": 397, + "Series": "Toys" + }, + { + "Date": "2020-12-12", + "Value": 399, + "Series": "Toys" + }, + { + "Date": "2020-12-21", + "Value": 412, + "Series": "Toys" + }, + { + "Date": "2020-12-31", + "Value": 430, + "Series": "Toys" + }, + { + "Date": "2021-01-09", + "Value": 443, + "Series": "Toys" + }, + { + "Date": "2021-01-18", + "Value": 462, + "Series": "Toys" + }, + { + "Date": "2021-01-27", + "Value": 475, + "Series": "Toys" + }, + { + "Date": "2021-02-05", + "Value": 486, + "Series": "Toys" + }, + { + "Date": "2021-02-14", + "Value": 505, + "Series": "Toys" + }, + { + "Date": "2021-02-23", + "Value": 519, + "Series": "Toys" + }, + { + "Date": "2021-03-04", + "Value": 540, + "Series": "Toys" + }, + { + "Date": "2021-03-14", + "Value": 563, + "Series": "Toys" + }, + { + "Date": "2021-03-23", + "Value": 567, + "Series": "Toys" + }, + { + "Date": "2021-04-01", + "Value": 571, + "Series": "Toys" + }, + { + "Date": "2021-04-10", + "Value": 581, + "Series": "Toys" + }, + { + "Date": "2021-04-19", + "Value": 582, + "Series": "Toys" + }, + { + "Date": "2021-04-28", + "Value": 590, + "Series": "Toys" + }, + { + "Date": "2021-05-07", + "Value": 608, + "Series": "Toys" + }, + { + "Date": "2021-05-16", + "Value": 634, + "Series": "Toys" + }, + { + "Date": "2021-05-26", + "Value": 640, + "Series": "Toys" + }, + { + "Date": "2021-06-04", + "Value": 655, + "Series": "Toys" + }, + { + "Date": "2021-06-13", + "Value": 671, + "Series": "Toys" + }, + { + "Date": "2021-06-22", + "Value": 671, + "Series": "Toys" + }, + { + "Date": "2021-07-01", + "Value": 676, + "Series": "Toys" + }, + { + "Date": "2021-07-10", + "Value": 685, + "Series": "Toys" + }, + { + "Date": "2021-07-19", + "Value": 689, + "Series": "Toys" + }, + { + "Date": "2021-07-28", + "Value": 706, + "Series": "Toys" + }, + { + "Date": "2021-08-07", + "Value": 715, + "Series": "Toys" + }, + { + "Date": "2021-08-16", + "Value": 718, + "Series": "Toys" + }, + { + "Date": "2021-08-25", + "Value": 734, + "Series": "Toys" + }, + { + "Date": "2021-09-03", + "Value": 749, + "Series": "Toys" + }, + { + "Date": "2021-09-12", + "Value": 773, + "Series": "Toys" + }, + { + "Date": "2021-09-21", + "Value": 797, + "Series": "Toys" + }, + { + "Date": "2021-09-30", + "Value": 818, + "Series": "Toys" + }, + { + "Date": "2021-10-09", + "Value": 834, + "Series": "Toys" + }, + { + "Date": "2021-10-19", + "Value": 850, + "Series": "Toys" + }, + { + "Date": "2021-10-28", + "Value": 875, + "Series": "Toys" + }, + { + "Date": "2021-11-06", + "Value": 904, + "Series": "Toys" + }, + { + "Date": "2021-11-15", + "Value": 929, + "Series": "Toys" + }, + { + "Date": "2021-11-24", + "Value": 953, + "Series": "Toys" + }, + { + "Date": "2021-12-03", + "Value": 957, + "Series": "Toys" + }, + { + "Date": "2021-12-12", + "Value": 968, + "Series": "Toys" + }, + { + "Date": "2021-12-21", + "Value": 978, + "Series": "Toys" + }, + { + "Date": "2021-12-31", + "Value": 981, + "Series": "Toys" + }, + { + "Date": "2022-01-09", + "Value": 989, + "Series": "Toys" + }, + { + "Date": "2022-01-18", + "Value": 988, + "Series": "Toys" + }, + { + "Date": "2022-01-27", + "Value": 1003, + "Series": "Toys" + }, + { + "Date": "2022-02-05", + "Value": 1027, + "Series": "Toys" + }, + { + "Date": "2022-02-14", + "Value": 1047, + "Series": "Toys" + }, + { + "Date": "2022-02-23", + "Value": 1066, + "Series": "Toys" + }, + { + "Date": "2022-03-04", + "Value": 1089, + "Series": "Toys" + }, + { + "Date": "2022-03-14", + "Value": 1093, + "Series": "Toys" + }, + { + "Date": "2022-03-23", + "Value": 1109, + "Series": "Toys" + }, + { + "Date": "2022-04-01", + "Value": 1134, + "Series": "Toys" + }, + { + "Date": "2022-04-10", + "Value": 1138, + "Series": "Toys" + }, + { + "Date": "2022-04-19", + "Value": 1129, + "Series": "Toys" + }, + { + "Date": "2022-04-28", + "Value": 1140, + "Series": "Toys" + }, + { + "Date": "2022-05-07", + "Value": 1140, + "Series": "Toys" + }, + { + "Date": "2022-05-16", + "Value": 1155, + "Series": "Toys" + }, + { + "Date": "2022-05-26", + "Value": 1178, + "Series": "Toys" + }, + { + "Date": "2022-06-04", + "Value": 1194, + "Series": "Toys" + }, + { + "Date": "2022-06-13", + "Value": 1217, + "Series": "Toys" + }, + { + "Date": "2022-06-22", + "Value": 1220, + "Series": "Toys" + }, + { + "Date": "2022-07-01", + "Value": 1213, + "Series": "Toys" + }, + { + "Date": "2022-07-10", + "Value": 1199, + "Series": "Toys" + }, + { + "Date": "2022-07-19", + "Value": 1197, + "Series": "Toys" + }, + { + "Date": "2022-07-28", + "Value": 1201, + "Series": "Toys" + }, + { + "Date": "2022-08-07", + "Value": 1207, + "Series": "Toys" + }, + { + "Date": "2022-08-16", + "Value": 1203, + "Series": "Toys" + }, + { + "Date": "2022-08-25", + "Value": 1200, + "Series": "Toys" + }, + { + "Date": "2022-09-03", + "Value": 1187, + "Series": "Toys" + }, + { + "Date": "2022-09-12", + "Value": 1182, + "Series": "Toys" + }, + { + "Date": "2022-09-21", + "Value": 1172, + "Series": "Toys" + }, + { + "Date": "2022-09-30", + "Value": 1159, + "Series": "Toys" + }, + { + "Date": "2022-10-09", + "Value": 1149, + "Series": "Toys" + }, + { + "Date": "2022-10-19", + "Value": 1143, + "Series": "Toys" + }, + { + "Date": "2022-10-28", + "Value": 1136, + "Series": "Toys" + }, + { + "Date": "2022-11-06", + "Value": 1146, + "Series": "Toys" + }, + { + "Date": "2022-11-15", + "Value": 1162, + "Series": "Toys" + }, + { + "Date": "2022-11-24", + "Value": 1165, + "Series": "Toys" + }, + { + "Date": "2022-12-03", + "Value": 1160, + "Series": "Toys" + }, + { + "Date": "2022-12-12", + "Value": 1150, + "Series": "Toys" + }, + { + "Date": "2022-12-21", + "Value": 1155, + "Series": "Toys" + }, + { + "Date": "2020-01-01", + "Value": 155, + "Series": "Music" + }, + { + "Date": "2020-01-10", + "Value": 152, + "Series": "Music" + }, + { + "Date": "2020-01-19", + "Value": 156, + "Series": "Music" + }, + { + "Date": "2020-01-28", + "Value": 159, + "Series": "Music" + }, + { + "Date": "2020-02-06", + "Value": 164, + "Series": "Music" + }, + { + "Date": "2020-02-15", + "Value": 174, + "Series": "Music" + }, + { + "Date": "2020-02-24", + "Value": 189, + "Series": "Music" + }, + { + "Date": "2020-03-04", + "Value": 194, + "Series": "Music" + }, + { + "Date": "2020-03-14", + "Value": 193, + "Series": "Music" + }, + { + "Date": "2020-03-23", + "Value": 194, + "Series": "Music" + }, + { + "Date": "2020-04-01", + "Value": 198, + "Series": "Music" + }, + { + "Date": "2020-04-10", + "Value": 205, + "Series": "Music" + }, + { + "Date": "2020-04-19", + "Value": 219, + "Series": "Music" + }, + { + "Date": "2020-04-28", + "Value": 226, + "Series": "Music" + }, + { + "Date": "2020-05-07", + "Value": 234, + "Series": "Music" + }, + { + "Date": "2020-05-16", + "Value": 245, + "Series": "Music" + }, + { + "Date": "2020-05-26", + "Value": 259, + "Series": "Music" + }, + { + "Date": "2020-06-04", + "Value": 263, + "Series": "Music" + }, + { + "Date": "2020-06-13", + "Value": 261, + "Series": "Music" + }, + { + "Date": "2020-06-22", + "Value": 267, + "Series": "Music" + }, + { + "Date": "2020-07-01", + "Value": 275, + "Series": "Music" + }, + { + "Date": "2020-07-10", + "Value": 280, + "Series": "Music" + }, + { + "Date": "2020-07-19", + "Value": 279, + "Series": "Music" + }, + { + "Date": "2020-07-28", + "Value": 286, + "Series": "Music" + }, + { + "Date": "2020-08-07", + "Value": 297, + "Series": "Music" + }, + { + "Date": "2020-08-16", + "Value": 303, + "Series": "Music" + }, + { + "Date": "2020-08-25", + "Value": 310, + "Series": "Music" + }, + { + "Date": "2020-09-03", + "Value": 312, + "Series": "Music" + }, + { + "Date": "2020-09-12", + "Value": 315, + "Series": "Music" + }, + { + "Date": "2020-09-21", + "Value": 321, + "Series": "Music" + }, + { + "Date": "2020-09-30", + "Value": 327, + "Series": "Music" + }, + { + "Date": "2020-10-09", + "Value": 328, + "Series": "Music" + }, + { + "Date": "2020-10-19", + "Value": 327, + "Series": "Music" + }, + { + "Date": "2020-10-28", + "Value": 320, + "Series": "Music" + }, + { + "Date": "2020-11-06", + "Value": 316, + "Series": "Music" + }, + { + "Date": "2020-11-15", + "Value": 316, + "Series": "Music" + }, + { + "Date": "2020-11-24", + "Value": 319, + "Series": "Music" + }, + { + "Date": "2020-12-03", + "Value": 324, + "Series": "Music" + }, + { + "Date": "2020-12-12", + "Value": 333, + "Series": "Music" + }, + { + "Date": "2020-12-21", + "Value": 348, + "Series": "Music" + }, + { + "Date": "2020-12-31", + "Value": 366, + "Series": "Music" + }, + { + "Date": "2021-01-09", + "Value": 379, + "Series": "Music" + }, + { + "Date": "2021-01-18", + "Value": 395, + "Series": "Music" + }, + { + "Date": "2021-01-27", + "Value": 402, + "Series": "Music" + }, + { + "Date": "2021-02-05", + "Value": 406, + "Series": "Music" + }, + { + "Date": "2021-02-14", + "Value": 407, + "Series": "Music" + }, + { + "Date": "2021-02-23", + "Value": 417, + "Series": "Music" + }, + { + "Date": "2021-03-04", + "Value": 433, + "Series": "Music" + }, + { + "Date": "2021-03-14", + "Value": 438, + "Series": "Music" + }, + { + "Date": "2021-03-23", + "Value": 447, + "Series": "Music" + }, + { + "Date": "2021-04-01", + "Value": 447, + "Series": "Music" + }, + { + "Date": "2021-04-10", + "Value": 454, + "Series": "Music" + }, + { + "Date": "2021-04-19", + "Value": 466, + "Series": "Music" + }, + { + "Date": "2021-04-28", + "Value": 481, + "Series": "Music" + }, + { + "Date": "2021-05-07", + "Value": 487, + "Series": "Music" + }, + { + "Date": "2021-05-16", + "Value": 498, + "Series": "Music" + }, + { + "Date": "2021-05-26", + "Value": 506, + "Series": "Music" + }, + { + "Date": "2021-06-04", + "Value": 506, + "Series": "Music" + }, + { + "Date": "2021-06-13", + "Value": 515, + "Series": "Music" + }, + { + "Date": "2021-06-22", + "Value": 522, + "Series": "Music" + }, + { + "Date": "2021-07-01", + "Value": 522, + "Series": "Music" + }, + { + "Date": "2021-07-10", + "Value": 521, + "Series": "Music" + }, + { + "Date": "2021-07-19", + "Value": 517, + "Series": "Music" + }, + { + "Date": "2021-07-28", + "Value": 510, + "Series": "Music" + }, + { + "Date": "2021-08-07", + "Value": 514, + "Series": "Music" + }, + { + "Date": "2021-08-16", + "Value": 526, + "Series": "Music" + }, + { + "Date": "2021-08-25", + "Value": 530, + "Series": "Music" + }, + { + "Date": "2021-09-03", + "Value": 532, + "Series": "Music" + }, + { + "Date": "2021-09-12", + "Value": 531, + "Series": "Music" + }, + { + "Date": "2021-09-21", + "Value": 530, + "Series": "Music" + }, + { + "Date": "2021-09-30", + "Value": 531, + "Series": "Music" + }, + { + "Date": "2021-10-09", + "Value": 540, + "Series": "Music" + }, + { + "Date": "2021-10-19", + "Value": 553, + "Series": "Music" + }, + { + "Date": "2021-10-28", + "Value": 564, + "Series": "Music" + }, + { + "Date": "2021-11-06", + "Value": 571, + "Series": "Music" + }, + { + "Date": "2021-11-15", + "Value": 573, + "Series": "Music" + }, + { + "Date": "2021-11-24", + "Value": 571, + "Series": "Music" + }, + { + "Date": "2021-12-03", + "Value": 576, + "Series": "Music" + }, + { + "Date": "2021-12-12", + "Value": 581, + "Series": "Music" + }, + { + "Date": "2021-12-21", + "Value": 583, + "Series": "Music" + }, + { + "Date": "2021-12-31", + "Value": 589, + "Series": "Music" + }, + { + "Date": "2022-01-09", + "Value": 598, + "Series": "Music" + }, + { + "Date": "2022-01-18", + "Value": 606, + "Series": "Music" + }, + { + "Date": "2022-01-27", + "Value": 619, + "Series": "Music" + }, + { + "Date": "2022-02-05", + "Value": 623, + "Series": "Music" + }, + { + "Date": "2022-02-14", + "Value": 630, + "Series": "Music" + }, + { + "Date": "2022-02-23", + "Value": 637, + "Series": "Music" + }, + { + "Date": "2022-03-04", + "Value": 647, + "Series": "Music" + }, + { + "Date": "2022-03-14", + "Value": 658, + "Series": "Music" + }, + { + "Date": "2022-03-23", + "Value": 663, + "Series": "Music" + }, + { + "Date": "2022-04-01", + "Value": 666, + "Series": "Music" + }, + { + "Date": "2022-04-10", + "Value": 663, + "Series": "Music" + }, + { + "Date": "2022-04-19", + "Value": 662, + "Series": "Music" + }, + { + "Date": "2022-04-28", + "Value": 669, + "Series": "Music" + }, + { + "Date": "2022-05-07", + "Value": 669, + "Series": "Music" + }, + { + "Date": "2022-05-16", + "Value": 679, + "Series": "Music" + }, + { + "Date": "2022-05-26", + "Value": 680, + "Series": "Music" + }, + { + "Date": "2022-06-04", + "Value": 684, + "Series": "Music" + }, + { + "Date": "2022-06-13", + "Value": 683, + "Series": "Music" + }, + { + "Date": "2022-06-22", + "Value": 677, + "Series": "Music" + }, + { + "Date": "2022-07-01", + "Value": 675, + "Series": "Music" + }, + { + "Date": "2022-07-10", + "Value": 682, + "Series": "Music" + }, + { + "Date": "2022-07-19", + "Value": 688, + "Series": "Music" + }, + { + "Date": "2022-07-28", + "Value": 700, + "Series": "Music" + }, + { + "Date": "2022-08-07", + "Value": 704, + "Series": "Music" + }, + { + "Date": "2022-08-16", + "Value": 704, + "Series": "Music" + }, + { + "Date": "2022-08-25", + "Value": 711, + "Series": "Music" + }, + { + "Date": "2022-09-03", + "Value": 712, + "Series": "Music" + }, + { + "Date": "2022-09-12", + "Value": 707, + "Series": "Music" + }, + { + "Date": "2022-09-21", + "Value": 699, + "Series": "Music" + }, + { + "Date": "2022-09-30", + "Value": 701, + "Series": "Music" + }, + { + "Date": "2022-10-09", + "Value": 709, + "Series": "Music" + }, + { + "Date": "2022-10-19", + "Value": 713, + "Series": "Music" + }, + { + "Date": "2022-10-28", + "Value": 722, + "Series": "Music" + }, + { + "Date": "2022-11-06", + "Value": 728, + "Series": "Music" + }, + { + "Date": "2022-11-15", + "Value": 738, + "Series": "Music" + }, + { + "Date": "2022-11-24", + "Value": 750, + "Series": "Music" + }, + { + "Date": "2022-12-03", + "Value": 763, + "Series": "Music" + }, + { + "Date": "2022-12-12", + "Value": 765, + "Series": "Music" + }, + { + "Date": "2022-12-21", + "Value": 764, + "Series": "Music" + }, + { + "Date": "2020-01-01", + "Value": 248, + "Series": "Movies" + }, + { + "Date": "2020-01-10", + "Value": 241, + "Series": "Movies" + }, + { + "Date": "2020-01-19", + "Value": 235, + "Series": "Movies" + }, + { + "Date": "2020-01-28", + "Value": 244, + "Series": "Movies" + }, + { + "Date": "2020-02-06", + "Value": 248, + "Series": "Movies" + }, + { + "Date": "2020-02-15", + "Value": 245, + "Series": "Movies" + }, + { + "Date": "2020-02-24", + "Value": 241, + "Series": "Movies" + }, + { + "Date": "2020-03-04", + "Value": 239, + "Series": "Movies" + }, + { + "Date": "2020-03-14", + "Value": 238, + "Series": "Movies" + }, + { + "Date": "2020-03-23", + "Value": 249, + "Series": "Movies" + }, + { + "Date": "2020-04-01", + "Value": 264, + "Series": "Movies" + }, + { + "Date": "2020-04-10", + "Value": 263, + "Series": "Movies" + }, + { + "Date": "2020-04-19", + "Value": 253, + "Series": "Movies" + }, + { + "Date": "2020-04-28", + "Value": 238, + "Series": "Movies" + }, + { + "Date": "2020-05-07", + "Value": 220, + "Series": "Movies" + }, + { + "Date": "2020-05-16", + "Value": 204, + "Series": "Movies" + }, + { + "Date": "2020-05-26", + "Value": 207, + "Series": "Movies" + }, + { + "Date": "2020-06-04", + "Value": 204, + "Series": "Movies" + }, + { + "Date": "2020-06-13", + "Value": 213, + "Series": "Movies" + }, + { + "Date": "2020-06-22", + "Value": 208, + "Series": "Movies" + }, + { + "Date": "2020-07-01", + "Value": 203, + "Series": "Movies" + }, + { + "Date": "2020-07-10", + "Value": 196, + "Series": "Movies" + }, + { + "Date": "2020-07-19", + "Value": 186, + "Series": "Movies" + }, + { + "Date": "2020-07-28", + "Value": 189, + "Series": "Movies" + }, + { + "Date": "2020-08-07", + "Value": 198, + "Series": "Movies" + }, + { + "Date": "2020-08-16", + "Value": 199, + "Series": "Movies" + }, + { + "Date": "2020-08-25", + "Value": 200, + "Series": "Movies" + }, + { + "Date": "2020-09-03", + "Value": 209, + "Series": "Movies" + }, + { + "Date": "2020-09-12", + "Value": 211, + "Series": "Movies" + }, + { + "Date": "2020-09-21", + "Value": 217, + "Series": "Movies" + }, + { + "Date": "2020-09-30", + "Value": 231, + "Series": "Movies" + }, + { + "Date": "2020-10-09", + "Value": 246, + "Series": "Movies" + }, + { + "Date": "2020-10-19", + "Value": 267, + "Series": "Movies" + }, + { + "Date": "2020-10-28", + "Value": 280, + "Series": "Movies" + }, + { + "Date": "2020-11-06", + "Value": 288, + "Series": "Movies" + }, + { + "Date": "2020-11-15", + "Value": 305, + "Series": "Movies" + }, + { + "Date": "2020-11-24", + "Value": 308, + "Series": "Movies" + }, + { + "Date": "2020-12-03", + "Value": 318, + "Series": "Movies" + }, + { + "Date": "2020-12-12", + "Value": 337, + "Series": "Movies" + }, + { + "Date": "2020-12-21", + "Value": 339, + "Series": "Movies" + }, + { + "Date": "2020-12-31", + "Value": 340, + "Series": "Movies" + }, + { + "Date": "2021-01-09", + "Value": 348, + "Series": "Movies" + }, + { + "Date": "2021-01-18", + "Value": 361, + "Series": "Movies" + }, + { + "Date": "2021-01-27", + "Value": 361, + "Series": "Movies" + }, + { + "Date": "2021-02-05", + "Value": 359, + "Series": "Movies" + }, + { + "Date": "2021-02-14", + "Value": 365, + "Series": "Movies" + }, + { + "Date": "2021-02-23", + "Value": 381, + "Series": "Movies" + }, + { + "Date": "2021-03-04", + "Value": 398, + "Series": "Movies" + }, + { + "Date": "2021-03-14", + "Value": 402, + "Series": "Movies" + }, + { + "Date": "2021-03-23", + "Value": 401, + "Series": "Movies" + }, + { + "Date": "2021-04-01", + "Value": 408, + "Series": "Movies" + }, + { + "Date": "2021-04-10", + "Value": 418, + "Series": "Movies" + }, + { + "Date": "2021-04-19", + "Value": 421, + "Series": "Movies" + }, + { + "Date": "2021-04-28", + "Value": 417, + "Series": "Movies" + }, + { + "Date": "2021-05-07", + "Value": 421, + "Series": "Movies" + }, + { + "Date": "2021-05-16", + "Value": 414, + "Series": "Movies" + }, + { + "Date": "2021-05-26", + "Value": 406, + "Series": "Movies" + }, + { + "Date": "2021-06-04", + "Value": 402, + "Series": "Movies" + }, + { + "Date": "2021-06-13", + "Value": 406, + "Series": "Movies" + }, + { + "Date": "2021-06-22", + "Value": 412, + "Series": "Movies" + }, + { + "Date": "2021-07-01", + "Value": 406, + "Series": "Movies" + }, + { + "Date": "2021-07-10", + "Value": 402, + "Series": "Movies" + }, + { + "Date": "2021-07-19", + "Value": 405, + "Series": "Movies" + }, + { + "Date": "2021-07-28", + "Value": 412, + "Series": "Movies" + }, + { + "Date": "2021-08-07", + "Value": 407, + "Series": "Movies" + }, + { + "Date": "2021-08-16", + "Value": 405, + "Series": "Movies" + }, + { + "Date": "2021-08-25", + "Value": 394, + "Series": "Movies" + }, + { + "Date": "2021-09-03", + "Value": 381, + "Series": "Movies" + }, + { + "Date": "2021-09-12", + "Value": 368, + "Series": "Movies" + }, + { + "Date": "2021-09-21", + "Value": 363, + "Series": "Movies" + }, + { + "Date": "2021-09-30", + "Value": 359, + "Series": "Movies" + }, + { + "Date": "2021-10-09", + "Value": 357, + "Series": "Movies" + }, + { + "Date": "2021-10-19", + "Value": 350, + "Series": "Movies" + }, + { + "Date": "2021-10-28", + "Value": 348, + "Series": "Movies" + }, + { + "Date": "2021-11-06", + "Value": 338, + "Series": "Movies" + }, + { + "Date": "2021-11-15", + "Value": 325, + "Series": "Movies" + }, + { + "Date": "2021-11-24", + "Value": 322, + "Series": "Movies" + }, + { + "Date": "2021-12-03", + "Value": 321, + "Series": "Movies" + }, + { + "Date": "2021-12-12", + "Value": 315, + "Series": "Movies" + }, + { + "Date": "2021-12-21", + "Value": 311, + "Series": "Movies" + }, + { + "Date": "2021-12-31", + "Value": 318, + "Series": "Movies" + }, + { + "Date": "2022-01-09", + "Value": 322, + "Series": "Movies" + }, + { + "Date": "2022-01-18", + "Value": 334, + "Series": "Movies" + }, + { + "Date": "2022-01-27", + "Value": 342, + "Series": "Movies" + }, + { + "Date": "2022-02-05", + "Value": 353, + "Series": "Movies" + }, + { + "Date": "2022-02-14", + "Value": 372, + "Series": "Movies" + }, + { + "Date": "2022-02-23", + "Value": 392, + "Series": "Movies" + }, + { + "Date": "2022-03-04", + "Value": 408, + "Series": "Movies" + }, + { + "Date": "2022-03-14", + "Value": 415, + "Series": "Movies" + }, + { + "Date": "2022-03-23", + "Value": 416, + "Series": "Movies" + }, + { + "Date": "2022-04-01", + "Value": 411, + "Series": "Movies" + }, + { + "Date": "2022-04-10", + "Value": 410, + "Series": "Movies" + }, + { + "Date": "2022-04-19", + "Value": 412, + "Series": "Movies" + }, + { + "Date": "2022-04-28", + "Value": 418, + "Series": "Movies" + }, + { + "Date": "2022-05-07", + "Value": 436, + "Series": "Movies" + }, + { + "Date": "2022-05-16", + "Value": 457, + "Series": "Movies" + }, + { + "Date": "2022-05-26", + "Value": 484, + "Series": "Movies" + }, + { + "Date": "2022-06-04", + "Value": 491, + "Series": "Movies" + }, + { + "Date": "2022-06-13", + "Value": 497, + "Series": "Movies" + }, + { + "Date": "2022-06-22", + "Value": 493, + "Series": "Movies" + }, + { + "Date": "2022-07-01", + "Value": 499, + "Series": "Movies" + }, + { + "Date": "2022-07-10", + "Value": 497, + "Series": "Movies" + }, + { + "Date": "2022-07-19", + "Value": 503, + "Series": "Movies" + }, + { + "Date": "2022-07-28", + "Value": 510, + "Series": "Movies" + }, + { + "Date": "2022-08-07", + "Value": 510, + "Series": "Movies" + }, + { + "Date": "2022-08-16", + "Value": 519, + "Series": "Movies" + }, + { + "Date": "2022-08-25", + "Value": 528, + "Series": "Movies" + }, + { + "Date": "2022-09-03", + "Value": 525, + "Series": "Movies" + }, + { + "Date": "2022-09-12", + "Value": 536, + "Series": "Movies" + }, + { + "Date": "2022-09-21", + "Value": 546, + "Series": "Movies" + }, + { + "Date": "2022-09-30", + "Value": 564, + "Series": "Movies" + }, + { + "Date": "2022-10-09", + "Value": 575, + "Series": "Movies" + }, + { + "Date": "2022-10-19", + "Value": 576, + "Series": "Movies" + }, + { + "Date": "2022-10-28", + "Value": 574, + "Series": "Movies" + }, + { + "Date": "2022-11-06", + "Value": 577, + "Series": "Movies" + }, + { + "Date": "2022-11-15", + "Value": 587, + "Series": "Movies" + }, + { + "Date": "2022-11-24", + "Value": 598, + "Series": "Movies" + }, + { + "Date": "2022-12-03", + "Value": 609, + "Series": "Movies" + }, + { + "Date": "2022-12-12", + "Value": 621, + "Series": "Movies" + }, + { + "Date": "2022-12-21", + "Value": 623, + "Series": "Movies" + }, + { + "Date": "2020-01-01", + "Value": 127, + "Series": "Software" + }, + { + "Date": "2020-01-10", + "Value": 119, + "Series": "Software" + }, + { + "Date": "2020-01-19", + "Value": 110, + "Series": "Software" + }, + { + "Date": "2020-01-28", + "Value": 116, + "Series": "Software" + }, + { + "Date": "2020-02-06", + "Value": 134, + "Series": "Software" + }, + { + "Date": "2020-02-15", + "Value": 141, + "Series": "Software" + }, + { + "Date": "2020-02-24", + "Value": 136, + "Series": "Software" + }, + { + "Date": "2020-03-04", + "Value": 124, + "Series": "Software" + }, + { + "Date": "2020-03-14", + "Value": 109, + "Series": "Software" + }, + { + "Date": "2020-03-23", + "Value": 97, + "Series": "Software" + }, + { + "Date": "2020-04-01", + "Value": 94, + "Series": "Software" + }, + { + "Date": "2020-04-10", + "Value": 95, + "Series": "Software" + }, + { + "Date": "2020-04-19", + "Value": 103, + "Series": "Software" + }, + { + "Date": "2020-04-28", + "Value": 103, + "Series": "Software" + }, + { + "Date": "2020-05-07", + "Value": 94, + "Series": "Software" + }, + { + "Date": "2020-05-16", + "Value": 101, + "Series": "Software" + }, + { + "Date": "2020-05-26", + "Value": 118, + "Series": "Software" + }, + { + "Date": "2020-06-04", + "Value": 139, + "Series": "Software" + }, + { + "Date": "2020-06-13", + "Value": 151, + "Series": "Software" + }, + { + "Date": "2020-06-22", + "Value": 171, + "Series": "Software" + }, + { + "Date": "2020-07-01", + "Value": 189, + "Series": "Software" + }, + { + "Date": "2020-07-10", + "Value": 201, + "Series": "Software" + }, + { + "Date": "2020-07-19", + "Value": 205, + "Series": "Software" + }, + { + "Date": "2020-07-28", + "Value": 219, + "Series": "Software" + }, + { + "Date": "2020-08-07", + "Value": 242, + "Series": "Software" + }, + { + "Date": "2020-08-16", + "Value": 268, + "Series": "Software" + }, + { + "Date": "2020-08-25", + "Value": 276, + "Series": "Software" + }, + { + "Date": "2020-09-03", + "Value": 293, + "Series": "Software" + }, + { + "Date": "2020-09-12", + "Value": 297, + "Series": "Software" + }, + { + "Date": "2020-09-21", + "Value": 301, + "Series": "Software" + }, + { + "Date": "2020-09-30", + "Value": 302, + "Series": "Software" + }, + { + "Date": "2020-10-09", + "Value": 304, + "Series": "Software" + }, + { + "Date": "2020-10-19", + "Value": 314, + "Series": "Software" + }, + { + "Date": "2020-10-28", + "Value": 318, + "Series": "Software" + }, + { + "Date": "2020-11-06", + "Value": 319, + "Series": "Software" + }, + { + "Date": "2020-11-15", + "Value": 316, + "Series": "Software" + }, + { + "Date": "2020-11-24", + "Value": 312, + "Series": "Software" + }, + { + "Date": "2020-12-03", + "Value": 325, + "Series": "Software" + }, + { + "Date": "2020-12-12", + "Value": 337, + "Series": "Software" + }, + { + "Date": "2020-12-21", + "Value": 342, + "Series": "Software" + }, + { + "Date": "2020-12-31", + "Value": 359, + "Series": "Software" + }, + { + "Date": "2021-01-09", + "Value": 360, + "Series": "Software" + }, + { + "Date": "2021-01-18", + "Value": 364, + "Series": "Software" + }, + { + "Date": "2021-01-27", + "Value": 362, + "Series": "Software" + }, + { + "Date": "2021-02-05", + "Value": 367, + "Series": "Software" + }, + { + "Date": "2021-02-14", + "Value": 364, + "Series": "Software" + }, + { + "Date": "2021-02-23", + "Value": 356, + "Series": "Software" + }, + { + "Date": "2021-03-04", + "Value": 357, + "Series": "Software" + }, + { + "Date": "2021-03-14", + "Value": 371, + "Series": "Software" + }, + { + "Date": "2021-03-23", + "Value": 376, + "Series": "Software" + }, + { + "Date": "2021-04-01", + "Value": 370, + "Series": "Software" + }, + { + "Date": "2021-04-10", + "Value": 361, + "Series": "Software" + }, + { + "Date": "2021-04-19", + "Value": 361, + "Series": "Software" + }, + { + "Date": "2021-04-28", + "Value": 352, + "Series": "Software" + }, + { + "Date": "2021-05-07", + "Value": 353, + "Series": "Software" + }, + { + "Date": "2021-05-16", + "Value": 357, + "Series": "Software" + }, + { + "Date": "2021-05-26", + "Value": 372, + "Series": "Software" + }, + { + "Date": "2021-06-04", + "Value": 387, + "Series": "Software" + }, + { + "Date": "2021-06-13", + "Value": 391, + "Series": "Software" + }, + { + "Date": "2021-06-22", + "Value": 391, + "Series": "Software" + }, + { + "Date": "2021-07-01", + "Value": 399, + "Series": "Software" + }, + { + "Date": "2021-07-10", + "Value": 397, + "Series": "Software" + }, + { + "Date": "2021-07-19", + "Value": 397, + "Series": "Software" + }, + { + "Date": "2021-07-28", + "Value": 395, + "Series": "Software" + }, + { + "Date": "2021-08-07", + "Value": 395, + "Series": "Software" + }, + { + "Date": "2021-08-16", + "Value": 390, + "Series": "Software" + }, + { + "Date": "2021-08-25", + "Value": 393, + "Series": "Software" + }, + { + "Date": "2021-09-03", + "Value": 410, + "Series": "Software" + }, + { + "Date": "2021-09-12", + "Value": 416, + "Series": "Software" + }, + { + "Date": "2021-09-21", + "Value": 433, + "Series": "Software" + }, + { + "Date": "2021-09-30", + "Value": 435, + "Series": "Software" + }, + { + "Date": "2021-10-09", + "Value": 444, + "Series": "Software" + }, + { + "Date": "2021-10-19", + "Value": 451, + "Series": "Software" + }, + { + "Date": "2021-10-28", + "Value": 461, + "Series": "Software" + }, + { + "Date": "2021-11-06", + "Value": 479, + "Series": "Software" + }, + { + "Date": "2021-11-15", + "Value": 492, + "Series": "Software" + }, + { + "Date": "2021-11-24", + "Value": 500, + "Series": "Software" + }, + { + "Date": "2021-12-03", + "Value": 504, + "Series": "Software" + }, + { + "Date": "2021-12-12", + "Value": 521, + "Series": "Software" + }, + { + "Date": "2021-12-21", + "Value": 545, + "Series": "Software" + }, + { + "Date": "2021-12-31", + "Value": 559, + "Series": "Software" + }, + { + "Date": "2022-01-09", + "Value": 563, + "Series": "Software" + }, + { + "Date": "2022-01-18", + "Value": 560, + "Series": "Software" + }, + { + "Date": "2022-01-27", + "Value": 568, + "Series": "Software" + }, + { + "Date": "2022-02-05", + "Value": 564, + "Series": "Software" + }, + { + "Date": "2022-02-14", + "Value": 558, + "Series": "Software" + }, + { + "Date": "2022-02-23", + "Value": 555, + "Series": "Software" + }, + { + "Date": "2022-03-04", + "Value": 558, + "Series": "Software" + }, + { + "Date": "2022-03-14", + "Value": 570, + "Series": "Software" + }, + { + "Date": "2022-03-23", + "Value": 567, + "Series": "Software" + }, + { + "Date": "2022-04-01", + "Value": 576, + "Series": "Software" + }, + { + "Date": "2022-04-10", + "Value": 591, + "Series": "Software" + }, + { + "Date": "2022-04-19", + "Value": 613, + "Series": "Software" + }, + { + "Date": "2022-04-28", + "Value": 639, + "Series": "Software" + }, + { + "Date": "2022-05-07", + "Value": 656, + "Series": "Software" + }, + { + "Date": "2022-05-16", + "Value": 662, + "Series": "Software" + }, + { + "Date": "2022-05-26", + "Value": 667, + "Series": "Software" + }, + { + "Date": "2022-06-04", + "Value": 663, + "Series": "Software" + }, + { + "Date": "2022-06-13", + "Value": 654, + "Series": "Software" + }, + { + "Date": "2022-06-22", + "Value": 641, + "Series": "Software" + }, + { + "Date": "2022-07-01", + "Value": 636, + "Series": "Software" + }, + { + "Date": "2022-07-10", + "Value": 624, + "Series": "Software" + }, + { + "Date": "2022-07-19", + "Value": 628, + "Series": "Software" + }, + { + "Date": "2022-07-28", + "Value": 630, + "Series": "Software" + }, + { + "Date": "2022-08-07", + "Value": 628, + "Series": "Software" + }, + { + "Date": "2022-08-16", + "Value": 636, + "Series": "Software" + }, + { + "Date": "2022-08-25", + "Value": 645, + "Series": "Software" + }, + { + "Date": "2022-09-03", + "Value": 660, + "Series": "Software" + }, + { + "Date": "2022-09-12", + "Value": 673, + "Series": "Software" + }, + { + "Date": "2022-09-21", + "Value": 691, + "Series": "Software" + }, + { + "Date": "2022-09-30", + "Value": 691, + "Series": "Software" + }, + { + "Date": "2022-10-09", + "Value": 681, + "Series": "Software" + }, + { + "Date": "2022-10-19", + "Value": 682, + "Series": "Software" + }, + { + "Date": "2022-10-28", + "Value": 698, + "Series": "Software" + }, + { + "Date": "2022-11-06", + "Value": 710, + "Series": "Software" + }, + { + "Date": "2022-11-15", + "Value": 718, + "Series": "Software" + }, + { + "Date": "2022-11-24", + "Value": 737, + "Series": "Software" + }, + { + "Date": "2022-12-03", + "Value": 739, + "Series": "Software" + }, + { + "Date": "2022-12-12", + "Value": 746, + "Series": "Software" + }, + { + "Date": "2022-12-21", + "Value": 764, + "Series": "Software" + }, + { + "Date": "2020-01-01", + "Value": 189, + "Series": "Games" + }, + { + "Date": "2020-01-10", + "Value": 191, + "Series": "Games" + }, + { + "Date": "2020-01-19", + "Value": 199, + "Series": "Games" + }, + { + "Date": "2020-01-28", + "Value": 203, + "Series": "Games" + }, + { + "Date": "2020-02-06", + "Value": 208, + "Series": "Games" + }, + { + "Date": "2020-02-15", + "Value": 209, + "Series": "Games" + }, + { + "Date": "2020-02-24", + "Value": 209, + "Series": "Games" + }, + { + "Date": "2020-03-04", + "Value": 217, + "Series": "Games" + }, + { + "Date": "2020-03-14", + "Value": 224, + "Series": "Games" + }, + { + "Date": "2020-03-23", + "Value": 229, + "Series": "Games" + }, + { + "Date": "2020-04-01", + "Value": 239, + "Series": "Games" + }, + { + "Date": "2020-04-10", + "Value": 254, + "Series": "Games" + }, + { + "Date": "2020-04-19", + "Value": 267, + "Series": "Games" + }, + { + "Date": "2020-04-28", + "Value": 279, + "Series": "Games" + }, + { + "Date": "2020-05-07", + "Value": 294, + "Series": "Games" + }, + { + "Date": "2020-05-16", + "Value": 299, + "Series": "Games" + }, + { + "Date": "2020-05-26", + "Value": 307, + "Series": "Games" + }, + { + "Date": "2020-06-04", + "Value": 316, + "Series": "Games" + }, + { + "Date": "2020-06-13", + "Value": 330, + "Series": "Games" + }, + { + "Date": "2020-06-22", + "Value": 343, + "Series": "Games" + }, + { + "Date": "2020-07-01", + "Value": 357, + "Series": "Games" + }, + { + "Date": "2020-07-10", + "Value": 370, + "Series": "Games" + }, + { + "Date": "2020-07-19", + "Value": 376, + "Series": "Games" + }, + { + "Date": "2020-07-28", + "Value": 379, + "Series": "Games" + }, + { + "Date": "2020-08-07", + "Value": 389, + "Series": "Games" + }, + { + "Date": "2020-08-16", + "Value": 397, + "Series": "Games" + }, + { + "Date": "2020-08-25", + "Value": 406, + "Series": "Games" + }, + { + "Date": "2020-09-03", + "Value": 415, + "Series": "Games" + }, + { + "Date": "2020-09-12", + "Value": 427, + "Series": "Games" + }, + { + "Date": "2020-09-21", + "Value": 436, + "Series": "Games" + }, + { + "Date": "2020-09-30", + "Value": 440, + "Series": "Games" + }, + { + "Date": "2020-10-09", + "Value": 444, + "Series": "Games" + }, + { + "Date": "2020-10-19", + "Value": 446, + "Series": "Games" + }, + { + "Date": "2020-10-28", + "Value": 450, + "Series": "Games" + }, + { + "Date": "2020-11-06", + "Value": 461, + "Series": "Games" + }, + { + "Date": "2020-11-15", + "Value": 470, + "Series": "Games" + }, + { + "Date": "2020-11-24", + "Value": 484, + "Series": "Games" + }, + { + "Date": "2020-12-03", + "Value": 493, + "Series": "Games" + }, + { + "Date": "2020-12-12", + "Value": 500, + "Series": "Games" + }, + { + "Date": "2020-12-21", + "Value": 501, + "Series": "Games" + }, + { + "Date": "2020-12-31", + "Value": 499, + "Series": "Games" + }, + { + "Date": "2021-01-09", + "Value": 506, + "Series": "Games" + }, + { + "Date": "2021-01-18", + "Value": 512, + "Series": "Games" + }, + { + "Date": "2021-01-27", + "Value": 522, + "Series": "Games" + }, + { + "Date": "2021-02-05", + "Value": 527, + "Series": "Games" + }, + { + "Date": "2021-02-14", + "Value": 538, + "Series": "Games" + }, + { + "Date": "2021-02-23", + "Value": 543, + "Series": "Games" + }, + { + "Date": "2021-03-04", + "Value": 549, + "Series": "Games" + }, + { + "Date": "2021-03-14", + "Value": 558, + "Series": "Games" + }, + { + "Date": "2021-03-23", + "Value": 572, + "Series": "Games" + }, + { + "Date": "2021-04-01", + "Value": 587, + "Series": "Games" + }, + { + "Date": "2021-04-10", + "Value": 604, + "Series": "Games" + }, + { + "Date": "2021-04-19", + "Value": 614, + "Series": "Games" + }, + { + "Date": "2021-04-28", + "Value": 619, + "Series": "Games" + }, + { + "Date": "2021-05-07", + "Value": 628, + "Series": "Games" + }, + { + "Date": "2021-05-16", + "Value": 637, + "Series": "Games" + }, + { + "Date": "2021-05-26", + "Value": 650, + "Series": "Games" + }, + { + "Date": "2021-06-04", + "Value": 657, + "Series": "Games" + }, + { + "Date": "2021-06-13", + "Value": 667, + "Series": "Games" + }, + { + "Date": "2021-06-22", + "Value": 681, + "Series": "Games" + }, + { + "Date": "2021-07-01", + "Value": 696, + "Series": "Games" + }, + { + "Date": "2021-07-10", + "Value": 708, + "Series": "Games" + }, + { + "Date": "2021-07-19", + "Value": 713, + "Series": "Games" + }, + { + "Date": "2021-07-28", + "Value": 725, + "Series": "Games" + }, + { + "Date": "2021-08-07", + "Value": 741, + "Series": "Games" + }, + { + "Date": "2021-08-16", + "Value": 753, + "Series": "Games" + }, + { + "Date": "2021-08-25", + "Value": 763, + "Series": "Games" + }, + { + "Date": "2021-09-03", + "Value": 777, + "Series": "Games" + }, + { + "Date": "2021-09-12", + "Value": 782, + "Series": "Games" + }, + { + "Date": "2021-09-21", + "Value": 783, + "Series": "Games" + }, + { + "Date": "2021-09-30", + "Value": 784, + "Series": "Games" + }, + { + "Date": "2021-10-09", + "Value": 786, + "Series": "Games" + }, + { + "Date": "2021-10-19", + "Value": 795, + "Series": "Games" + }, + { + "Date": "2021-10-28", + "Value": 800, + "Series": "Games" + }, + { + "Date": "2021-11-06", + "Value": 811, + "Series": "Games" + }, + { + "Date": "2021-11-15", + "Value": 818, + "Series": "Games" + }, + { + "Date": "2021-11-24", + "Value": 828, + "Series": "Games" + }, + { + "Date": "2021-12-03", + "Value": 836, + "Series": "Games" + }, + { + "Date": "2021-12-12", + "Value": 849, + "Series": "Games" + }, + { + "Date": "2021-12-21", + "Value": 858, + "Series": "Games" + }, + { + "Date": "2021-12-31", + "Value": 870, + "Series": "Games" + }, + { + "Date": "2022-01-09", + "Value": 883, + "Series": "Games" + }, + { + "Date": "2022-01-18", + "Value": 896, + "Series": "Games" + }, + { + "Date": "2022-01-27", + "Value": 910, + "Series": "Games" + }, + { + "Date": "2022-02-05", + "Value": 921, + "Series": "Games" + }, + { + "Date": "2022-02-14", + "Value": 928, + "Series": "Games" + }, + { + "Date": "2022-02-23", + "Value": 939, + "Series": "Games" + }, + { + "Date": "2022-03-04", + "Value": 943, + "Series": "Games" + }, + { + "Date": "2022-03-14", + "Value": 951, + "Series": "Games" + }, + { + "Date": "2022-03-23", + "Value": 964, + "Series": "Games" + }, + { + "Date": "2022-04-01", + "Value": 969, + "Series": "Games" + }, + { + "Date": "2022-04-10", + "Value": 977, + "Series": "Games" + }, + { + "Date": "2022-04-19", + "Value": 979, + "Series": "Games" + }, + { + "Date": "2022-04-28", + "Value": 977, + "Series": "Games" + }, + { + "Date": "2022-05-07", + "Value": 984, + "Series": "Games" + }, + { + "Date": "2022-05-16", + "Value": 991, + "Series": "Games" + }, + { + "Date": "2022-05-26", + "Value": 999, + "Series": "Games" + }, + { + "Date": "2022-06-04", + "Value": 1006, + "Series": "Games" + }, + { + "Date": "2022-06-13", + "Value": 1014, + "Series": "Games" + }, + { + "Date": "2022-06-22", + "Value": 1027, + "Series": "Games" + }, + { + "Date": "2022-07-01", + "Value": 1036, + "Series": "Games" + }, + { + "Date": "2022-07-10", + "Value": 1045, + "Series": "Games" + }, + { + "Date": "2022-07-19", + "Value": 1054, + "Series": "Games" + }, + { + "Date": "2022-07-28", + "Value": 1067, + "Series": "Games" + }, + { + "Date": "2022-08-07", + "Value": 1074, + "Series": "Games" + }, + { + "Date": "2022-08-16", + "Value": 1086, + "Series": "Games" + }, + { + "Date": "2022-08-25", + "Value": 1095, + "Series": "Games" + }, + { + "Date": "2022-09-03", + "Value": 1101, + "Series": "Games" + }, + { + "Date": "2022-09-12", + "Value": 1104, + "Series": "Games" + }, + { + "Date": "2022-09-21", + "Value": 1110, + "Series": "Games" + }, + { + "Date": "2022-09-30", + "Value": 1115, + "Series": "Games" + }, + { + "Date": "2022-10-09", + "Value": 1124, + "Series": "Games" + }, + { + "Date": "2022-10-19", + "Value": 1132, + "Series": "Games" + }, + { + "Date": "2022-10-28", + "Value": 1138, + "Series": "Games" + }, + { + "Date": "2022-11-06", + "Value": 1149, + "Series": "Games" + }, + { + "Date": "2022-11-15", + "Value": 1159, + "Series": "Games" + }, + { + "Date": "2022-11-24", + "Value": 1165, + "Series": "Games" + }, + { + "Date": "2022-12-03", + "Value": 1175, + "Series": "Games" + }, + { + "Date": "2022-12-12", + "Value": 1181, + "Series": "Games" + }, + { + "Date": "2022-12-21", + "Value": 1193, + "Series": "Games" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/04-card40.flint.json b/test-harness/excel/evaluations/inputs/area-chart/04-card40.flint.json new file mode 100644 index 00000000..7ccea711 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/04-card40.flint.json @@ -0,0 +1,623 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 145, + "Series": "Electronics" + }, + { + "Date": "2020-01-28", + "Value": 138, + "Series": "Electronics" + }, + { + "Date": "2020-02-24", + "Value": 129, + "Series": "Electronics" + }, + { + "Date": "2020-03-23", + "Value": 117, + "Series": "Electronics" + }, + { + "Date": "2020-04-19", + "Value": 113, + "Series": "Electronics" + }, + { + "Date": "2020-05-16", + "Value": 103, + "Series": "Electronics" + }, + { + "Date": "2020-06-13", + "Value": 92, + "Series": "Electronics" + }, + { + "Date": "2020-07-10", + "Value": 98, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 96, + "Series": "Electronics" + }, + { + "Date": "2020-09-03", + "Value": 103, + "Series": "Electronics" + }, + { + "Date": "2020-09-30", + "Value": 100, + "Series": "Electronics" + }, + { + "Date": "2020-10-28", + "Value": 112, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 129, + "Series": "Electronics" + }, + { + "Date": "2020-12-21", + "Value": 147, + "Series": "Electronics" + }, + { + "Date": "2021-01-18", + "Value": 172, + "Series": "Electronics" + }, + { + "Date": "2021-02-14", + "Value": 182, + "Series": "Electronics" + }, + { + "Date": "2021-03-14", + "Value": 199, + "Series": "Electronics" + }, + { + "Date": "2021-04-10", + "Value": 209, + "Series": "Electronics" + }, + { + "Date": "2021-05-07", + "Value": 210, + "Series": "Electronics" + }, + { + "Date": "2021-06-04", + "Value": 203, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 199, + "Series": "Electronics" + }, + { + "Date": "2021-07-28", + "Value": 202, + "Series": "Electronics" + }, + { + "Date": "2021-08-25", + "Value": 200, + "Series": "Electronics" + }, + { + "Date": "2021-09-21", + "Value": 192, + "Series": "Electronics" + }, + { + "Date": "2021-10-19", + "Value": 180, + "Series": "Electronics" + }, + { + "Date": "2021-11-15", + "Value": 178, + "Series": "Electronics" + }, + { + "Date": "2021-12-12", + "Value": 184, + "Series": "Electronics" + }, + { + "Date": "2022-01-09", + "Value": 185, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 190, + "Series": "Electronics" + }, + { + "Date": "2022-03-04", + "Value": 203, + "Series": "Electronics" + }, + { + "Date": "2022-04-01", + "Value": 206, + "Series": "Electronics" + }, + { + "Date": "2022-04-28", + "Value": 214, + "Series": "Electronics" + }, + { + "Date": "2022-05-26", + "Value": 224, + "Series": "Electronics" + }, + { + "Date": "2022-06-22", + "Value": 233, + "Series": "Electronics" + }, + { + "Date": "2022-07-19", + "Value": 232, + "Series": "Electronics" + }, + { + "Date": "2022-08-16", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2022-10-09", + "Value": 215, + "Series": "Electronics" + }, + { + "Date": "2022-11-06", + "Value": 217, + "Series": "Electronics" + }, + { + "Date": "2022-12-03", + "Value": 214, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 209, + "Series": "Clothing" + }, + { + "Date": "2020-01-28", + "Value": 217, + "Series": "Clothing" + }, + { + "Date": "2020-02-24", + "Value": 217, + "Series": "Clothing" + }, + { + "Date": "2020-03-23", + "Value": 225, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 235, + "Series": "Clothing" + }, + { + "Date": "2020-05-16", + "Value": 243, + "Series": "Clothing" + }, + { + "Date": "2020-06-13", + "Value": 245, + "Series": "Clothing" + }, + { + "Date": "2020-07-10", + "Value": 251, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 254, + "Series": "Clothing" + }, + { + "Date": "2020-09-03", + "Value": 264, + "Series": "Clothing" + }, + { + "Date": "2020-09-30", + "Value": 266, + "Series": "Clothing" + }, + { + "Date": "2020-10-28", + "Value": 268, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 273, + "Series": "Clothing" + }, + { + "Date": "2020-12-21", + "Value": 278, + "Series": "Clothing" + }, + { + "Date": "2021-01-18", + "Value": 277, + "Series": "Clothing" + }, + { + "Date": "2021-02-14", + "Value": 279, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 277, + "Series": "Clothing" + }, + { + "Date": "2021-04-10", + "Value": 276, + "Series": "Clothing" + }, + { + "Date": "2021-05-07", + "Value": 274, + "Series": "Clothing" + }, + { + "Date": "2021-06-04", + "Value": 281, + "Series": "Clothing" + }, + { + "Date": "2021-07-01", + "Value": 292, + "Series": "Clothing" + }, + { + "Date": "2021-07-28", + "Value": 294, + "Series": "Clothing" + }, + { + "Date": "2021-08-25", + "Value": 302, + "Series": "Clothing" + }, + { + "Date": "2021-09-21", + "Value": 315, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 324, + "Series": "Clothing" + }, + { + "Date": "2021-11-15", + "Value": 334, + "Series": "Clothing" + }, + { + "Date": "2021-12-12", + "Value": 341, + "Series": "Clothing" + }, + { + "Date": "2022-01-09", + "Value": 353, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 366, + "Series": "Clothing" + }, + { + "Date": "2022-03-04", + "Value": 371, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 383, + "Series": "Clothing" + }, + { + "Date": "2022-04-28", + "Value": 399, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 404, + "Series": "Clothing" + }, + { + "Date": "2022-06-22", + "Value": 409, + "Series": "Clothing" + }, + { + "Date": "2022-07-19", + "Value": 408, + "Series": "Clothing" + }, + { + "Date": "2022-08-16", + "Value": 415, + "Series": "Clothing" + }, + { + "Date": "2022-09-12", + "Value": 422, + "Series": "Clothing" + }, + { + "Date": "2022-10-09", + "Value": 433, + "Series": "Clothing" + }, + { + "Date": "2022-11-06", + "Value": 435, + "Series": "Clothing" + }, + { + "Date": "2022-12-03", + "Value": 433, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 93, + "Series": "Food" + }, + { + "Date": "2020-01-28", + "Value": 104, + "Series": "Food" + }, + { + "Date": "2020-02-24", + "Value": 124, + "Series": "Food" + }, + { + "Date": "2020-03-23", + "Value": 130, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 128, + "Series": "Food" + }, + { + "Date": "2020-05-16", + "Value": 138, + "Series": "Food" + }, + { + "Date": "2020-06-13", + "Value": 155, + "Series": "Food" + }, + { + "Date": "2020-07-10", + "Value": 163, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 175, + "Series": "Food" + }, + { + "Date": "2020-09-03", + "Value": 194, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 199, + "Series": "Food" + }, + { + "Date": "2020-10-28", + "Value": 194, + "Series": "Food" + }, + { + "Date": "2020-11-24", + "Value": 194, + "Series": "Food" + }, + { + "Date": "2020-12-21", + "Value": 204, + "Series": "Food" + }, + { + "Date": "2021-01-18", + "Value": 217, + "Series": "Food" + }, + { + "Date": "2021-02-14", + "Value": 229, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 233, + "Series": "Food" + }, + { + "Date": "2021-04-10", + "Value": 238, + "Series": "Food" + }, + { + "Date": "2021-05-07", + "Value": 243, + "Series": "Food" + }, + { + "Date": "2021-06-04", + "Value": 238, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 232, + "Series": "Food" + }, + { + "Date": "2021-07-28", + "Value": 223, + "Series": "Food" + }, + { + "Date": "2021-08-25", + "Value": 222, + "Series": "Food" + }, + { + "Date": "2021-09-21", + "Value": 216, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 205, + "Series": "Food" + }, + { + "Date": "2021-11-15", + "Value": 199, + "Series": "Food" + }, + { + "Date": "2021-12-12", + "Value": 190, + "Series": "Food" + }, + { + "Date": "2022-01-09", + "Value": 186, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 193, + "Series": "Food" + }, + { + "Date": "2022-03-04", + "Value": 189, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 197, + "Series": "Food" + }, + { + "Date": "2022-04-28", + "Value": 202, + "Series": "Food" + }, + { + "Date": "2022-05-26", + "Value": 206, + "Series": "Food" + }, + { + "Date": "2022-06-22", + "Value": 208, + "Series": "Food" + }, + { + "Date": "2022-07-19", + "Value": 214, + "Series": "Food" + }, + { + "Date": "2022-08-16", + "Value": 210, + "Series": "Food" + }, + { + "Date": "2022-09-12", + "Value": 206, + "Series": "Food" + }, + { + "Date": "2022-10-09", + "Value": 216, + "Series": "Food" + }, + { + "Date": "2022-11-06", + "Value": 233, + "Series": "Food" + }, + { + "Date": "2022-12-03", + "Value": 251, + "Series": "Food" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/05-card60.flint.json b/test-harness/excel/evaluations/inputs/area-chart/05-card60.flint.json new file mode 100644 index 00000000..7c38068f --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/05-card60.flint.json @@ -0,0 +1,808 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 248, + "Series": "Electronics" + }, + { + "Date": "2020-01-19", + "Value": 259, + "Series": "Electronics" + }, + { + "Date": "2020-02-24", + "Value": 296, + "Series": "Electronics" + }, + { + "Date": "2020-03-14", + "Value": 303, + "Series": "Electronics" + }, + { + "Date": "2020-04-19", + "Value": 336, + "Series": "Electronics" + }, + { + "Date": "2020-05-07", + "Value": 340, + "Series": "Electronics" + }, + { + "Date": "2020-05-26", + "Value": 342, + "Series": "Electronics" + }, + { + "Date": "2020-07-19", + "Value": 380, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 377, + "Series": "Electronics" + }, + { + "Date": "2020-08-25", + "Value": 370, + "Series": "Electronics" + }, + { + "Date": "2020-09-12", + "Value": 380, + "Series": "Electronics" + }, + { + "Date": "2020-10-19", + "Value": 423, + "Series": "Electronics" + }, + { + "Date": "2020-11-06", + "Value": 447, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 466, + "Series": "Electronics" + }, + { + "Date": "2020-12-12", + "Value": 475, + "Series": "Electronics" + }, + { + "Date": "2020-12-31", + "Value": 495, + "Series": "Electronics" + }, + { + "Date": "2021-01-18", + "Value": 509, + "Series": "Electronics" + }, + { + "Date": "2021-02-05", + "Value": 520, + "Series": "Electronics" + }, + { + "Date": "2021-02-23", + "Value": 529, + "Series": "Electronics" + }, + { + "Date": "2021-03-14", + "Value": 536, + "Series": "Electronics" + }, + { + "Date": "2021-04-01", + "Value": 533, + "Series": "Electronics" + }, + { + "Date": "2021-04-19", + "Value": 531, + "Series": "Electronics" + }, + { + "Date": "2021-05-26", + "Value": 550, + "Series": "Electronics" + }, + { + "Date": "2021-06-13", + "Value": 550, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 556, + "Series": "Electronics" + }, + { + "Date": "2021-07-19", + "Value": 548, + "Series": "Electronics" + }, + { + "Date": "2021-08-07", + "Value": 555, + "Series": "Electronics" + }, + { + "Date": "2021-08-25", + "Value": 574, + "Series": "Electronics" + }, + { + "Date": "2021-09-12", + "Value": 600, + "Series": "Electronics" + }, + { + "Date": "2021-09-30", + "Value": 618, + "Series": "Electronics" + }, + { + "Date": "2021-11-06", + "Value": 641, + "Series": "Electronics" + }, + { + "Date": "2021-11-24", + "Value": 647, + "Series": "Electronics" + }, + { + "Date": "2021-12-12", + "Value": 648, + "Series": "Electronics" + }, + { + "Date": "2021-12-31", + "Value": 646, + "Series": "Electronics" + }, + { + "Date": "2022-01-18", + "Value": 636, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 635, + "Series": "Electronics" + }, + { + "Date": "2022-02-23", + "Value": 642, + "Series": "Electronics" + }, + { + "Date": "2022-03-14", + "Value": 646, + "Series": "Electronics" + }, + { + "Date": "2022-04-19", + "Value": 641, + "Series": "Electronics" + }, + { + "Date": "2022-05-07", + "Value": 649, + "Series": "Electronics" + }, + { + "Date": "2022-05-26", + "Value": 652, + "Series": "Electronics" + }, + { + "Date": "2022-06-13", + "Value": 669, + "Series": "Electronics" + }, + { + "Date": "2022-07-01", + "Value": 676, + "Series": "Electronics" + }, + { + "Date": "2022-07-19", + "Value": 683, + "Series": "Electronics" + }, + { + "Date": "2022-08-07", + "Value": 677, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 671, + "Series": "Electronics" + }, + { + "Date": "2022-09-30", + "Value": 676, + "Series": "Electronics" + }, + { + "Date": "2022-10-19", + "Value": 688, + "Series": "Electronics" + }, + { + "Date": "2022-11-06", + "Value": 706, + "Series": "Electronics" + }, + { + "Date": "2022-11-24", + "Value": 716, + "Series": "Electronics" + }, + { + "Date": "2022-12-12", + "Value": 725, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 200, + "Series": "Clothing" + }, + { + "Date": "2020-01-19", + "Value": 206, + "Series": "Clothing" + }, + { + "Date": "2020-02-24", + "Value": 247, + "Series": "Clothing" + }, + { + "Date": "2020-03-14", + "Value": 254, + "Series": "Clothing" + }, + { + "Date": "2020-04-01", + "Value": 256, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 262, + "Series": "Clothing" + }, + { + "Date": "2020-05-26", + "Value": 241, + "Series": "Clothing" + }, + { + "Date": "2020-06-13", + "Value": 234, + "Series": "Clothing" + }, + { + "Date": "2020-07-01", + "Value": 240, + "Series": "Clothing" + }, + { + "Date": "2020-07-19", + "Value": 245, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 232, + "Series": "Clothing" + }, + { + "Date": "2020-08-25", + "Value": 231, + "Series": "Clothing" + }, + { + "Date": "2020-09-12", + "Value": 251, + "Series": "Clothing" + }, + { + "Date": "2020-09-30", + "Value": 258, + "Series": "Clothing" + }, + { + "Date": "2020-10-19", + "Value": 247, + "Series": "Clothing" + }, + { + "Date": "2020-11-06", + "Value": 259, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 285, + "Series": "Clothing" + }, + { + "Date": "2020-12-12", + "Value": 289, + "Series": "Clothing" + }, + { + "Date": "2020-12-31", + "Value": 286, + "Series": "Clothing" + }, + { + "Date": "2021-01-18", + "Value": 290, + "Series": "Clothing" + }, + { + "Date": "2021-02-05", + "Value": 277, + "Series": "Clothing" + }, + { + "Date": "2021-02-23", + "Value": 285, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 296, + "Series": "Clothing" + }, + { + "Date": "2021-04-01", + "Value": 300, + "Series": "Clothing" + }, + { + "Date": "2021-04-19", + "Value": 322, + "Series": "Clothing" + }, + { + "Date": "2021-05-07", + "Value": 349, + "Series": "Clothing" + }, + { + "Date": "2021-05-26", + "Value": 386, + "Series": "Clothing" + }, + { + "Date": "2021-06-13", + "Value": 415, + "Series": "Clothing" + }, + { + "Date": "2021-07-19", + "Value": 436, + "Series": "Clothing" + }, + { + "Date": "2021-08-25", + "Value": 491, + "Series": "Clothing" + }, + { + "Date": "2021-09-12", + "Value": 491, + "Series": "Clothing" + }, + { + "Date": "2021-09-30", + "Value": 495, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 516, + "Series": "Clothing" + }, + { + "Date": "2021-11-24", + "Value": 513, + "Series": "Clothing" + }, + { + "Date": "2021-12-12", + "Value": 528, + "Series": "Clothing" + }, + { + "Date": "2021-12-31", + "Value": 527, + "Series": "Clothing" + }, + { + "Date": "2022-01-18", + "Value": 530, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 546, + "Series": "Clothing" + }, + { + "Date": "2022-02-23", + "Value": 544, + "Series": "Clothing" + }, + { + "Date": "2022-03-14", + "Value": 550, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 547, + "Series": "Clothing" + }, + { + "Date": "2022-04-19", + "Value": 565, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 613, + "Series": "Clothing" + }, + { + "Date": "2022-06-13", + "Value": 616, + "Series": "Clothing" + }, + { + "Date": "2022-07-01", + "Value": 614, + "Series": "Clothing" + }, + { + "Date": "2022-07-19", + "Value": 630, + "Series": "Clothing" + }, + { + "Date": "2022-08-25", + "Value": 653, + "Series": "Clothing" + }, + { + "Date": "2022-09-30", + "Value": 698, + "Series": "Clothing" + }, + { + "Date": "2022-10-19", + "Value": 714, + "Series": "Clothing" + }, + { + "Date": "2022-11-06", + "Value": 736, + "Series": "Clothing" + }, + { + "Date": "2022-11-24", + "Value": 762, + "Series": "Clothing" + }, + { + "Date": "2022-12-12", + "Value": 766, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 87, + "Series": "Food" + }, + { + "Date": "2020-01-19", + "Value": 78, + "Series": "Food" + }, + { + "Date": "2020-02-06", + "Value": 82, + "Series": "Food" + }, + { + "Date": "2020-02-24", + "Value": 96, + "Series": "Food" + }, + { + "Date": "2020-03-14", + "Value": 102, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 121, + "Series": "Food" + }, + { + "Date": "2020-05-07", + "Value": 136, + "Series": "Food" + }, + { + "Date": "2020-05-26", + "Value": 151, + "Series": "Food" + }, + { + "Date": "2020-06-13", + "Value": 172, + "Series": "Food" + }, + { + "Date": "2020-07-01", + "Value": 182, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 200, + "Series": "Food" + }, + { + "Date": "2020-08-25", + "Value": 209, + "Series": "Food" + }, + { + "Date": "2020-09-12", + "Value": 215, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 211, + "Series": "Food" + }, + { + "Date": "2020-10-19", + "Value": 224, + "Series": "Food" + }, + { + "Date": "2020-11-24", + "Value": 242, + "Series": "Food" + }, + { + "Date": "2020-12-12", + "Value": 239, + "Series": "Food" + }, + { + "Date": "2021-01-18", + "Value": 220, + "Series": "Food" + }, + { + "Date": "2021-02-05", + "Value": 210, + "Series": "Food" + }, + { + "Date": "2021-02-23", + "Value": 198, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 193, + "Series": "Food" + }, + { + "Date": "2021-04-01", + "Value": 176, + "Series": "Food" + }, + { + "Date": "2021-04-19", + "Value": 177, + "Series": "Food" + }, + { + "Date": "2021-05-07", + "Value": 179, + "Series": "Food" + }, + { + "Date": "2021-05-26", + "Value": 189, + "Series": "Food" + }, + { + "Date": "2021-06-13", + "Value": 212, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 244, + "Series": "Food" + }, + { + "Date": "2021-07-19", + "Value": 281, + "Series": "Food" + }, + { + "Date": "2021-08-07", + "Value": 317, + "Series": "Food" + }, + { + "Date": "2021-08-25", + "Value": 330, + "Series": "Food" + }, + { + "Date": "2021-09-12", + "Value": 339, + "Series": "Food" + }, + { + "Date": "2021-09-30", + "Value": 354, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 370, + "Series": "Food" + }, + { + "Date": "2021-11-06", + "Value": 385, + "Series": "Food" + }, + { + "Date": "2021-11-24", + "Value": 389, + "Series": "Food" + }, + { + "Date": "2021-12-12", + "Value": 388, + "Series": "Food" + }, + { + "Date": "2021-12-31", + "Value": 390, + "Series": "Food" + }, + { + "Date": "2022-01-18", + "Value": 406, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 428, + "Series": "Food" + }, + { + "Date": "2022-02-23", + "Value": 433, + "Series": "Food" + }, + { + "Date": "2022-03-14", + "Value": 441, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 441, + "Series": "Food" + }, + { + "Date": "2022-04-19", + "Value": 444, + "Series": "Food" + }, + { + "Date": "2022-05-07", + "Value": 464, + "Series": "Food" + }, + { + "Date": "2022-06-13", + "Value": 498, + "Series": "Food" + }, + { + "Date": "2022-07-01", + "Value": 506, + "Series": "Food" + }, + { + "Date": "2022-07-19", + "Value": 522, + "Series": "Food" + }, + { + "Date": "2022-08-07", + "Value": 546, + "Series": "Food" + }, + { + "Date": "2022-08-25", + "Value": 578, + "Series": "Food" + }, + { + "Date": "2022-09-12", + "Value": 595, + "Series": "Food" + }, + { + "Date": "2022-10-19", + "Value": 583, + "Series": "Food" + }, + { + "Date": "2022-11-06", + "Value": 597, + "Series": "Food" + }, + { + "Date": "2022-11-24", + "Value": 593, + "Series": "Food" + }, + { + "Date": "2022-12-12", + "Value": 589, + "Series": "Food" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/06-card5.flint.json b/test-harness/excel/evaluations/inputs/area-chart/06-card5.flint.json new file mode 100644 index 00000000..723bd777 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/06-card5.flint.json @@ -0,0 +1,41 @@ +{ + "semantic_types": { + "Stage": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Stage", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Stage 1", + "Value": 217 + }, + { + "Stage": "Stage 2", + "Value": 224 + }, + { + "Stage": "Stage 3", + "Value": 226 + }, + { + "Stage": "Stage 4", + "Value": 235 + }, + { + "Stage": "Stage 5", + "Value": 236 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/07-card12.flint.json b/test-harness/excel/evaluations/inputs/area-chart/07-card12.flint.json new file mode 100644 index 00000000..abf3a2cf --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/07-card12.flint.json @@ -0,0 +1,263 @@ +{ + "semantic_types": { + "Stage": "Category", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Stage", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Stage 1", + "Value": 86, + "Series": "Electronics" + }, + { + "Stage": "Stage 2", + "Value": 85, + "Series": "Electronics" + }, + { + "Stage": "Stage 3", + "Value": 83, + "Series": "Electronics" + }, + { + "Stage": "Stage 4", + "Value": 79, + "Series": "Electronics" + }, + { + "Stage": "Stage 5", + "Value": 78, + "Series": "Electronics" + }, + { + "Stage": "Stage 6", + "Value": 78, + "Series": "Electronics" + }, + { + "Stage": "Stage 7", + "Value": 83, + "Series": "Electronics" + }, + { + "Stage": "Stage 8", + "Value": 86, + "Series": "Electronics" + }, + { + "Stage": "Stage 9", + "Value": 84, + "Series": "Electronics" + }, + { + "Stage": "Stage 10", + "Value": 87, + "Series": "Electronics" + }, + { + "Stage": "Stage 11", + "Value": 91, + "Series": "Electronics" + }, + { + "Stage": "Stage 12", + "Value": 99, + "Series": "Electronics" + }, + { + "Stage": "Stage 1", + "Value": 240, + "Series": "Clothing" + }, + { + "Stage": "Stage 2", + "Value": 237, + "Series": "Clothing" + }, + { + "Stage": "Stage 3", + "Value": 234, + "Series": "Clothing" + }, + { + "Stage": "Stage 4", + "Value": 233, + "Series": "Clothing" + }, + { + "Stage": "Stage 5", + "Value": 236, + "Series": "Clothing" + }, + { + "Stage": "Stage 6", + "Value": 245, + "Series": "Clothing" + }, + { + "Stage": "Stage 7", + "Value": 247, + "Series": "Clothing" + }, + { + "Stage": "Stage 8", + "Value": 247, + "Series": "Clothing" + }, + { + "Stage": "Stage 9", + "Value": 253, + "Series": "Clothing" + }, + { + "Stage": "Stage 10", + "Value": 264, + "Series": "Clothing" + }, + { + "Stage": "Stage 11", + "Value": 275, + "Series": "Clothing" + }, + { + "Stage": "Stage 12", + "Value": 284, + "Series": "Clothing" + }, + { + "Stage": "Stage 1", + "Value": 154, + "Series": "Food" + }, + { + "Stage": "Stage 2", + "Value": 143, + "Series": "Food" + }, + { + "Stage": "Stage 3", + "Value": 127, + "Series": "Food" + }, + { + "Stage": "Stage 4", + "Value": 110, + "Series": "Food" + }, + { + "Stage": "Stage 5", + "Value": 89, + "Series": "Food" + }, + { + "Stage": "Stage 6", + "Value": 93, + "Series": "Food" + }, + { + "Stage": "Stage 7", + "Value": 109, + "Series": "Food" + }, + { + "Stage": "Stage 8", + "Value": 129, + "Series": "Food" + }, + { + "Stage": "Stage 9", + "Value": 139, + "Series": "Food" + }, + { + "Stage": "Stage 10", + "Value": 142, + "Series": "Food" + }, + { + "Stage": "Stage 11", + "Value": 133, + "Series": "Food" + }, + { + "Stage": "Stage 12", + "Value": 125, + "Series": "Food" + }, + { + "Stage": "Stage 1", + "Value": 128, + "Series": "Books" + }, + { + "Stage": "Stage 2", + "Value": 124, + "Series": "Books" + }, + { + "Stage": "Stage 3", + "Value": 117, + "Series": "Books" + }, + { + "Stage": "Stage 4", + "Value": 113, + "Series": "Books" + }, + { + "Stage": "Stage 5", + "Value": 105, + "Series": "Books" + }, + { + "Stage": "Stage 6", + "Value": 94, + "Series": "Books" + }, + { + "Stage": "Stage 7", + "Value": 95, + "Series": "Books" + }, + { + "Stage": "Stage 8", + "Value": 102, + "Series": "Books" + }, + { + "Stage": "Stage 9", + "Value": 104, + "Series": "Books" + }, + { + "Stage": "Stage 10", + "Value": 114, + "Series": "Books" + }, + { + "Stage": "Stage 11", + "Value": 125, + "Series": "Books" + }, + { + "Stage": "Stage 12", + "Value": 139, + "Series": "Books" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/08-card30.flint.json b/test-harness/excel/evaluations/inputs/area-chart/08-card30.flint.json new file mode 100644 index 00000000..75f09982 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/08-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "Stage": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "Stage", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Stage 1", + "Value": 159 + }, + { + "Stage": "Stage 2", + "Value": 163 + }, + { + "Stage": "Stage 3", + "Value": 167 + }, + { + "Stage": "Stage 4", + "Value": 167 + }, + { + "Stage": "Stage 5", + "Value": 168 + }, + { + "Stage": "Stage 6", + "Value": 175 + }, + { + "Stage": "Stage 7", + "Value": 175 + }, + { + "Stage": "Stage 8", + "Value": 187 + }, + { + "Stage": "Stage 9", + "Value": 200 + }, + { + "Stage": "Stage 10", + "Value": 216 + }, + { + "Stage": "Stage 11", + "Value": 223 + }, + { + "Stage": "Stage 12", + "Value": 221 + }, + { + "Stage": "Stage 13", + "Value": 218 + }, + { + "Stage": "Stage 14", + "Value": 209 + }, + { + "Stage": "Stage 15", + "Value": 209 + }, + { + "Stage": "Stage 16", + "Value": 206 + }, + { + "Stage": "Stage 17", + "Value": 209 + }, + { + "Stage": "Stage 18", + "Value": 220 + }, + { + "Stage": "Stage 19", + "Value": 231 + }, + { + "Stage": "Stage 20", + "Value": 234 + }, + { + "Stage": "Stage 21", + "Value": 243 + }, + { + "Stage": "Stage 22", + "Value": 261 + }, + { + "Stage": "Stage 23", + "Value": 282 + }, + { + "Stage": "Stage 24", + "Value": 303 + }, + { + "Stage": "Stage 25", + "Value": 324 + }, + { + "Stage": "Stage 26", + "Value": 332 + }, + { + "Stage": "Stage 27", + "Value": 334 + }, + { + "Stage": "Stage 28", + "Value": 328 + }, + { + "Stage": "Stage 29", + "Value": 332 + }, + { + "Stage": "Stage 30", + "Value": 328 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/09-card30.flint.json b/test-harness/excel/evaluations/inputs/area-chart/09-card30.flint.json new file mode 100644 index 00000000..ebbbd6c9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/09-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "X", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Value": 128 + }, + { + "X": 3.4, + "Value": 136 + }, + { + "X": 6.9, + "Value": 127 + }, + { + "X": 10.3, + "Value": 120 + }, + { + "X": 13.8, + "Value": 127 + }, + { + "X": 17.2, + "Value": 131 + }, + { + "X": 20.7, + "Value": 155 + }, + { + "X": 24.1, + "Value": 167 + }, + { + "X": 27.6, + "Value": 184 + }, + { + "X": 31, + "Value": 201 + }, + { + "X": 34.5, + "Value": 215 + }, + { + "X": 37.9, + "Value": 240 + }, + { + "X": 41.4, + "Value": 241 + }, + { + "X": 44.8, + "Value": 248 + }, + { + "X": 48.3, + "Value": 241 + }, + { + "X": 51.7, + "Value": 258 + }, + { + "X": 55.2, + "Value": 252 + }, + { + "X": 58.6, + "Value": 267 + }, + { + "X": 62.1, + "Value": 283 + }, + { + "X": 65.5, + "Value": 313 + }, + { + "X": 69, + "Value": 331 + }, + { + "X": 72.4, + "Value": 329 + }, + { + "X": 75.9, + "Value": 323 + }, + { + "X": 79.3, + "Value": 335 + }, + { + "X": 82.8, + "Value": 355 + }, + { + "X": 86.2, + "Value": 353 + }, + { + "X": 89.7, + "Value": 337 + }, + { + "X": 93.1, + "Value": 345 + }, + { + "X": 96.6, + "Value": 350 + }, + { + "X": 100, + "Value": 351 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/10-card50.flint.json b/test-harness/excel/evaluations/inputs/area-chart/10-card50.flint.json new file mode 100644 index 00000000..15b70510 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/10-card50.flint.json @@ -0,0 +1,773 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "X", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Value": 213, + "Series": "Electronics" + }, + { + "X": 2, + "Value": 216, + "Series": "Electronics" + }, + { + "X": 4.1, + "Value": 215, + "Series": "Electronics" + }, + { + "X": 6.1, + "Value": 201, + "Series": "Electronics" + }, + { + "X": 8.2, + "Value": 186, + "Series": "Electronics" + }, + { + "X": 10.2, + "Value": 176, + "Series": "Electronics" + }, + { + "X": 12.2, + "Value": 161, + "Series": "Electronics" + }, + { + "X": 14.3, + "Value": 166, + "Series": "Electronics" + }, + { + "X": 16.3, + "Value": 155, + "Series": "Electronics" + }, + { + "X": 18.4, + "Value": 134, + "Series": "Electronics" + }, + { + "X": 20.4, + "Value": 143, + "Series": "Electronics" + }, + { + "X": 22.4, + "Value": 157, + "Series": "Electronics" + }, + { + "X": 24.5, + "Value": 178, + "Series": "Electronics" + }, + { + "X": 26.5, + "Value": 204, + "Series": "Electronics" + }, + { + "X": 28.6, + "Value": 228, + "Series": "Electronics" + }, + { + "X": 30.6, + "Value": 237, + "Series": "Electronics" + }, + { + "X": 32.7, + "Value": 261, + "Series": "Electronics" + }, + { + "X": 34.7, + "Value": 286, + "Series": "Electronics" + }, + { + "X": 36.7, + "Value": 318, + "Series": "Electronics" + }, + { + "X": 38.8, + "Value": 348, + "Series": "Electronics" + }, + { + "X": 40.8, + "Value": 362, + "Series": "Electronics" + }, + { + "X": 42.9, + "Value": 391, + "Series": "Electronics" + }, + { + "X": 44.9, + "Value": 403, + "Series": "Electronics" + }, + { + "X": 46.9, + "Value": 420, + "Series": "Electronics" + }, + { + "X": 49, + "Value": 450, + "Series": "Electronics" + }, + { + "X": 51, + "Value": 481, + "Series": "Electronics" + }, + { + "X": 53.1, + "Value": 495, + "Series": "Electronics" + }, + { + "X": 55.1, + "Value": 515, + "Series": "Electronics" + }, + { + "X": 57.1, + "Value": 544, + "Series": "Electronics" + }, + { + "X": 59.2, + "Value": 547, + "Series": "Electronics" + }, + { + "X": 61.2, + "Value": 535, + "Series": "Electronics" + }, + { + "X": 63.3, + "Value": 518, + "Series": "Electronics" + }, + { + "X": 65.3, + "Value": 500, + "Series": "Electronics" + }, + { + "X": 67.3, + "Value": 494, + "Series": "Electronics" + }, + { + "X": 69.4, + "Value": 476, + "Series": "Electronics" + }, + { + "X": 71.4, + "Value": 469, + "Series": "Electronics" + }, + { + "X": 73.5, + "Value": 465, + "Series": "Electronics" + }, + { + "X": 75.5, + "Value": 469, + "Series": "Electronics" + }, + { + "X": 77.6, + "Value": 467, + "Series": "Electronics" + }, + { + "X": 79.6, + "Value": 451, + "Series": "Electronics" + }, + { + "X": 81.6, + "Value": 434, + "Series": "Electronics" + }, + { + "X": 83.7, + "Value": 432, + "Series": "Electronics" + }, + { + "X": 85.7, + "Value": 417, + "Series": "Electronics" + }, + { + "X": 87.8, + "Value": 426, + "Series": "Electronics" + }, + { + "X": 89.8, + "Value": 418, + "Series": "Electronics" + }, + { + "X": 91.8, + "Value": 416, + "Series": "Electronics" + }, + { + "X": 93.9, + "Value": 423, + "Series": "Electronics" + }, + { + "X": 95.9, + "Value": 441, + "Series": "Electronics" + }, + { + "X": 98, + "Value": 439, + "Series": "Electronics" + }, + { + "X": 100, + "Value": 439, + "Series": "Electronics" + }, + { + "X": 0, + "Value": 111, + "Series": "Clothing" + }, + { + "X": 2, + "Value": 110, + "Series": "Clothing" + }, + { + "X": 4.1, + "Value": 130, + "Series": "Clothing" + }, + { + "X": 6.1, + "Value": 159, + "Series": "Clothing" + }, + { + "X": 8.2, + "Value": 172, + "Series": "Clothing" + }, + { + "X": 10.2, + "Value": 192, + "Series": "Clothing" + }, + { + "X": 12.2, + "Value": 214, + "Series": "Clothing" + }, + { + "X": 14.3, + "Value": 234, + "Series": "Clothing" + }, + { + "X": 16.3, + "Value": 247, + "Series": "Clothing" + }, + { + "X": 18.4, + "Value": 248, + "Series": "Clothing" + }, + { + "X": 20.4, + "Value": 267, + "Series": "Clothing" + }, + { + "X": 22.4, + "Value": 300, + "Series": "Clothing" + }, + { + "X": 24.5, + "Value": 325, + "Series": "Clothing" + }, + { + "X": 26.5, + "Value": 334, + "Series": "Clothing" + }, + { + "X": 28.6, + "Value": 355, + "Series": "Clothing" + }, + { + "X": 30.6, + "Value": 366, + "Series": "Clothing" + }, + { + "X": 32.7, + "Value": 389, + "Series": "Clothing" + }, + { + "X": 34.7, + "Value": 391, + "Series": "Clothing" + }, + { + "X": 36.7, + "Value": 381, + "Series": "Clothing" + }, + { + "X": 38.8, + "Value": 384, + "Series": "Clothing" + }, + { + "X": 40.8, + "Value": 408, + "Series": "Clothing" + }, + { + "X": 42.9, + "Value": 444, + "Series": "Clothing" + }, + { + "X": 44.9, + "Value": 454, + "Series": "Clothing" + }, + { + "X": 46.9, + "Value": 476, + "Series": "Clothing" + }, + { + "X": 49, + "Value": 484, + "Series": "Clothing" + }, + { + "X": 51, + "Value": 504, + "Series": "Clothing" + }, + { + "X": 53.1, + "Value": 536, + "Series": "Clothing" + }, + { + "X": 55.1, + "Value": 545, + "Series": "Clothing" + }, + { + "X": 57.1, + "Value": 539, + "Series": "Clothing" + }, + { + "X": 59.2, + "Value": 558, + "Series": "Clothing" + }, + { + "X": 61.2, + "Value": 579, + "Series": "Clothing" + }, + { + "X": 63.3, + "Value": 612, + "Series": "Clothing" + }, + { + "X": 65.3, + "Value": 629, + "Series": "Clothing" + }, + { + "X": 67.3, + "Value": 658, + "Series": "Clothing" + }, + { + "X": 69.4, + "Value": 672, + "Series": "Clothing" + }, + { + "X": 71.4, + "Value": 684, + "Series": "Clothing" + }, + { + "X": 73.5, + "Value": 678, + "Series": "Clothing" + }, + { + "X": 75.5, + "Value": 658, + "Series": "Clothing" + }, + { + "X": 77.6, + "Value": 632, + "Series": "Clothing" + }, + { + "X": 79.6, + "Value": 636, + "Series": "Clothing" + }, + { + "X": 81.6, + "Value": 622, + "Series": "Clothing" + }, + { + "X": 83.7, + "Value": 598, + "Series": "Clothing" + }, + { + "X": 85.7, + "Value": 588, + "Series": "Clothing" + }, + { + "X": 87.8, + "Value": 572, + "Series": "Clothing" + }, + { + "X": 89.8, + "Value": 555, + "Series": "Clothing" + }, + { + "X": 91.8, + "Value": 554, + "Series": "Clothing" + }, + { + "X": 93.9, + "Value": 538, + "Series": "Clothing" + }, + { + "X": 95.9, + "Value": 521, + "Series": "Clothing" + }, + { + "X": 98, + "Value": 522, + "Series": "Clothing" + }, + { + "X": 100, + "Value": 528, + "Series": "Clothing" + }, + { + "X": 0, + "Value": 203, + "Series": "Food" + }, + { + "X": 2, + "Value": 200, + "Series": "Food" + }, + { + "X": 4.1, + "Value": 205, + "Series": "Food" + }, + { + "X": 6.1, + "Value": 210, + "Series": "Food" + }, + { + "X": 8.2, + "Value": 232, + "Series": "Food" + }, + { + "X": 10.2, + "Value": 261, + "Series": "Food" + }, + { + "X": 12.2, + "Value": 273, + "Series": "Food" + }, + { + "X": 14.3, + "Value": 300, + "Series": "Food" + }, + { + "X": 16.3, + "Value": 336, + "Series": "Food" + }, + { + "X": 18.4, + "Value": 357, + "Series": "Food" + }, + { + "X": 20.4, + "Value": 381, + "Series": "Food" + }, + { + "X": 22.4, + "Value": 411, + "Series": "Food" + }, + { + "X": 24.5, + "Value": 447, + "Series": "Food" + }, + { + "X": 26.5, + "Value": 470, + "Series": "Food" + }, + { + "X": 28.6, + "Value": 481, + "Series": "Food" + }, + { + "X": 30.6, + "Value": 490, + "Series": "Food" + }, + { + "X": 32.7, + "Value": 488, + "Series": "Food" + }, + { + "X": 34.7, + "Value": 475, + "Series": "Food" + }, + { + "X": 36.7, + "Value": 472, + "Series": "Food" + }, + { + "X": 38.8, + "Value": 488, + "Series": "Food" + }, + { + "X": 40.8, + "Value": 515, + "Series": "Food" + }, + { + "X": 42.9, + "Value": 542, + "Series": "Food" + }, + { + "X": 44.9, + "Value": 577, + "Series": "Food" + }, + { + "X": 46.9, + "Value": 618, + "Series": "Food" + }, + { + "X": 49, + "Value": 651, + "Series": "Food" + }, + { + "X": 51, + "Value": 685, + "Series": "Food" + }, + { + "X": 53.1, + "Value": 712, + "Series": "Food" + }, + { + "X": 55.1, + "Value": 747, + "Series": "Food" + }, + { + "X": 57.1, + "Value": 776, + "Series": "Food" + }, + { + "X": 59.2, + "Value": 785, + "Series": "Food" + }, + { + "X": 61.2, + "Value": 779, + "Series": "Food" + }, + { + "X": 63.3, + "Value": 792, + "Series": "Food" + }, + { + "X": 65.3, + "Value": 810, + "Series": "Food" + }, + { + "X": 67.3, + "Value": 836, + "Series": "Food" + }, + { + "X": 69.4, + "Value": 840, + "Series": "Food" + }, + { + "X": 71.4, + "Value": 839, + "Series": "Food" + }, + { + "X": 73.5, + "Value": 846, + "Series": "Food" + }, + { + "X": 75.5, + "Value": 851, + "Series": "Food" + }, + { + "X": 77.6, + "Value": 856, + "Series": "Food" + }, + { + "X": 79.6, + "Value": 856, + "Series": "Food" + }, + { + "X": 81.6, + "Value": 847, + "Series": "Food" + }, + { + "X": 83.7, + "Value": 830, + "Series": "Food" + }, + { + "X": 85.7, + "Value": 836, + "Series": "Food" + }, + { + "X": 87.8, + "Value": 852, + "Series": "Food" + }, + { + "X": 89.8, + "Value": 869, + "Series": "Food" + }, + { + "X": 91.8, + "Value": 873, + "Series": "Food" + }, + { + "X": 93.9, + "Value": 865, + "Series": "Food" + }, + { + "X": 95.9, + "Value": 872, + "Series": "Food" + }, + { + "X": 98, + "Value": 880, + "Series": "Food" + }, + { + "X": 100, + "Value": 898, + "Series": "Food" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/area-chart/11-card200.flint.json b/test-harness/excel/evaluations/inputs/area-chart/11-card200.flint.json new file mode 100644 index 00000000..53d408fc --- /dev/null +++ b/test-harness/excel/evaluations/inputs/area-chart/11-card200.flint.json @@ -0,0 +1,821 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Area Chart", + "encodings": { + "x": "X", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Value": 235 + }, + { + "X": 0.5, + "Value": 220 + }, + { + "X": 1, + "Value": 206 + }, + { + "X": 1.5, + "Value": 208 + }, + { + "X": 2, + "Value": 201 + }, + { + "X": 2.5, + "Value": 212 + }, + { + "X": 3, + "Value": 217 + }, + { + "X": 3.5, + "Value": 205 + }, + { + "X": 4, + "Value": 209 + }, + { + "X": 4.5, + "Value": 222 + }, + { + "X": 5, + "Value": 246 + }, + { + "X": 5.5, + "Value": 273 + }, + { + "X": 6, + "Value": 277 + }, + { + "X": 6.5, + "Value": 300 + }, + { + "X": 7, + "Value": 305 + }, + { + "X": 7.5, + "Value": 299 + }, + { + "X": 8, + "Value": 290 + }, + { + "X": 8.5, + "Value": 304 + }, + { + "X": 9, + "Value": 298 + }, + { + "X": 9.5, + "Value": 314 + }, + { + "X": 10.1, + "Value": 308 + }, + { + "X": 10.6, + "Value": 291 + }, + { + "X": 11.1, + "Value": 288 + }, + { + "X": 11.6, + "Value": 302 + }, + { + "X": 12.1, + "Value": 302 + }, + { + "X": 12.6, + "Value": 297 + }, + { + "X": 13.1, + "Value": 298 + }, + { + "X": 13.6, + "Value": 286 + }, + { + "X": 14.1, + "Value": 273 + }, + { + "X": 14.6, + "Value": 253 + }, + { + "X": 15.1, + "Value": 260 + }, + { + "X": 15.6, + "Value": 284 + }, + { + "X": 16.1, + "Value": 311 + }, + { + "X": 16.6, + "Value": 321 + }, + { + "X": 17.1, + "Value": 338 + }, + { + "X": 17.6, + "Value": 365 + }, + { + "X": 18.1, + "Value": 368 + }, + { + "X": 18.6, + "Value": 373 + }, + { + "X": 19.1, + "Value": 371 + }, + { + "X": 19.6, + "Value": 390 + }, + { + "X": 20.1, + "Value": 415 + }, + { + "X": 20.6, + "Value": 440 + }, + { + "X": 21.1, + "Value": 468 + }, + { + "X": 21.6, + "Value": 472 + }, + { + "X": 22.1, + "Value": 472 + }, + { + "X": 22.6, + "Value": 461 + }, + { + "X": 23.1, + "Value": 469 + }, + { + "X": 23.6, + "Value": 478 + }, + { + "X": 24.1, + "Value": 483 + }, + { + "X": 24.6, + "Value": 473 + }, + { + "X": 25.1, + "Value": 473 + }, + { + "X": 25.6, + "Value": 487 + }, + { + "X": 26.1, + "Value": 489 + }, + { + "X": 26.6, + "Value": 505 + }, + { + "X": 27.1, + "Value": 517 + }, + { + "X": 27.6, + "Value": 509 + }, + { + "X": 28.1, + "Value": 520 + }, + { + "X": 28.6, + "Value": 534 + }, + { + "X": 29.1, + "Value": 542 + }, + { + "X": 29.6, + "Value": 561 + }, + { + "X": 30.2, + "Value": 571 + }, + { + "X": 30.7, + "Value": 587 + }, + { + "X": 31.2, + "Value": 588 + }, + { + "X": 31.7, + "Value": 599 + }, + { + "X": 32.2, + "Value": 619 + }, + { + "X": 32.7, + "Value": 616 + }, + { + "X": 33.2, + "Value": 602 + }, + { + "X": 33.7, + "Value": 602 + }, + { + "X": 34.2, + "Value": 594 + }, + { + "X": 34.7, + "Value": 597 + }, + { + "X": 35.2, + "Value": 615 + }, + { + "X": 35.7, + "Value": 627 + }, + { + "X": 36.2, + "Value": 630 + }, + { + "X": 36.7, + "Value": 639 + }, + { + "X": 37.2, + "Value": 639 + }, + { + "X": 37.7, + "Value": 627 + }, + { + "X": 38.2, + "Value": 629 + }, + { + "X": 38.7, + "Value": 648 + }, + { + "X": 39.2, + "Value": 680 + }, + { + "X": 39.7, + "Value": 712 + }, + { + "X": 40.2, + "Value": 748 + }, + { + "X": 40.7, + "Value": 775 + }, + { + "X": 41.2, + "Value": 807 + }, + { + "X": 41.7, + "Value": 822 + }, + { + "X": 42.2, + "Value": 818 + }, + { + "X": 42.7, + "Value": 836 + }, + { + "X": 43.2, + "Value": 838 + }, + { + "X": 43.7, + "Value": 842 + }, + { + "X": 44.2, + "Value": 854 + }, + { + "X": 44.7, + "Value": 874 + }, + { + "X": 45.2, + "Value": 905 + }, + { + "X": 45.7, + "Value": 933 + }, + { + "X": 46.2, + "Value": 941 + }, + { + "X": 46.7, + "Value": 951 + }, + { + "X": 47.2, + "Value": 950 + }, + { + "X": 47.7, + "Value": 937 + }, + { + "X": 48.2, + "Value": 924 + }, + { + "X": 48.7, + "Value": 903 + }, + { + "X": 49.2, + "Value": 880 + }, + { + "X": 49.7, + "Value": 856 + }, + { + "X": 50.3, + "Value": 836 + }, + { + "X": 50.8, + "Value": 826 + }, + { + "X": 51.3, + "Value": 820 + }, + { + "X": 51.8, + "Value": 810 + }, + { + "X": 52.3, + "Value": 791 + }, + { + "X": 52.8, + "Value": 791 + }, + { + "X": 53.3, + "Value": 785 + }, + { + "X": 53.8, + "Value": 774 + }, + { + "X": 54.3, + "Value": 754 + }, + { + "X": 54.8, + "Value": 740 + }, + { + "X": 55.3, + "Value": 746 + }, + { + "X": 55.8, + "Value": 766 + }, + { + "X": 56.3, + "Value": 784 + }, + { + "X": 56.8, + "Value": 782 + }, + { + "X": 57.3, + "Value": 766 + }, + { + "X": 57.8, + "Value": 767 + }, + { + "X": 58.3, + "Value": 787 + }, + { + "X": 58.8, + "Value": 816 + }, + { + "X": 59.3, + "Value": 840 + }, + { + "X": 59.8, + "Value": 839 + }, + { + "X": 60.3, + "Value": 855 + }, + { + "X": 60.8, + "Value": 859 + }, + { + "X": 61.3, + "Value": 866 + }, + { + "X": 61.8, + "Value": 865 + }, + { + "X": 62.3, + "Value": 863 + }, + { + "X": 62.8, + "Value": 863 + }, + { + "X": 63.3, + "Value": 869 + }, + { + "X": 63.8, + "Value": 860 + }, + { + "X": 64.3, + "Value": 871 + }, + { + "X": 64.8, + "Value": 887 + }, + { + "X": 65.3, + "Value": 885 + }, + { + "X": 65.8, + "Value": 896 + }, + { + "X": 66.3, + "Value": 903 + }, + { + "X": 66.8, + "Value": 926 + }, + { + "X": 67.3, + "Value": 930 + }, + { + "X": 67.8, + "Value": 922 + }, + { + "X": 68.3, + "Value": 917 + }, + { + "X": 68.8, + "Value": 904 + }, + { + "X": 69.3, + "Value": 909 + }, + { + "X": 69.8, + "Value": 898 + }, + { + "X": 70.4, + "Value": 905 + }, + { + "X": 70.9, + "Value": 927 + }, + { + "X": 71.4, + "Value": 960 + }, + { + "X": 71.9, + "Value": 978 + }, + { + "X": 72.4, + "Value": 989 + }, + { + "X": 72.9, + "Value": 1008 + }, + { + "X": 73.4, + "Value": 1018 + }, + { + "X": 73.9, + "Value": 1044 + }, + { + "X": 74.4, + "Value": 1057 + }, + { + "X": 74.9, + "Value": 1084 + }, + { + "X": 75.4, + "Value": 1105 + }, + { + "X": 75.9, + "Value": 1119 + }, + { + "X": 76.4, + "Value": 1140 + }, + { + "X": 76.9, + "Value": 1157 + }, + { + "X": 77.4, + "Value": 1184 + }, + { + "X": 77.9, + "Value": 1190 + }, + { + "X": 78.4, + "Value": 1201 + }, + { + "X": 78.9, + "Value": 1218 + }, + { + "X": 79.4, + "Value": 1237 + }, + { + "X": 79.9, + "Value": 1259 + }, + { + "X": 80.4, + "Value": 1266 + }, + { + "X": 80.9, + "Value": 1255 + }, + { + "X": 81.4, + "Value": 1261 + }, + { + "X": 81.9, + "Value": 1259 + }, + { + "X": 82.4, + "Value": 1253 + }, + { + "X": 82.9, + "Value": 1268 + }, + { + "X": 83.4, + "Value": 1272 + }, + { + "X": 83.9, + "Value": 1266 + }, + { + "X": 84.4, + "Value": 1262 + }, + { + "X": 84.9, + "Value": 1250 + }, + { + "X": 85.4, + "Value": 1232 + }, + { + "X": 85.9, + "Value": 1229 + }, + { + "X": 86.4, + "Value": 1224 + }, + { + "X": 86.9, + "Value": 1234 + }, + { + "X": 87.4, + "Value": 1228 + }, + { + "X": 87.9, + "Value": 1214 + }, + { + "X": 88.4, + "Value": 1220 + }, + { + "X": 88.9, + "Value": 1214 + }, + { + "X": 89.4, + "Value": 1221 + }, + { + "X": 89.9, + "Value": 1212 + }, + { + "X": 90.5, + "Value": 1197 + }, + { + "X": 91, + "Value": 1189 + }, + { + "X": 91.5, + "Value": 1205 + }, + { + "X": 92, + "Value": 1210 + }, + { + "X": 92.5, + "Value": 1216 + }, + { + "X": 93, + "Value": 1211 + }, + { + "X": 93.5, + "Value": 1207 + }, + { + "X": 94, + "Value": 1194 + }, + { + "X": 94.5, + "Value": 1184 + }, + { + "X": 95, + "Value": 1170 + }, + { + "X": 95.5, + "Value": 1163 + }, + { + "X": 96, + "Value": 1150 + }, + { + "X": 96.5, + "Value": 1153 + }, + { + "X": 97, + "Value": 1153 + }, + { + "X": 97.5, + "Value": 1145 + }, + { + "X": 98, + "Value": 1129 + }, + { + "X": 98.5, + "Value": 1136 + }, + { + "X": 99, + "Value": 1147 + }, + { + "X": 99.5, + "Value": 1170 + }, + { + "X": 100, + "Value": 1180 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/00-card5.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/00-card5.flint.json new file mode 100644 index 00000000..425701d8 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/00-card5.flint.json @@ -0,0 +1,41 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 11 + }, + { + "Category": "Phone", + "Value": 162 + }, + { + "Category": "Tablet", + "Value": 565 + }, + { + "Category": "Desktop", + "Value": 866 + }, + { + "Category": "Monitor", + "Value": 284 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/01-card20.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/01-card20.flint.json new file mode 100644 index 00000000..ed57611f --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/01-card20.flint.json @@ -0,0 +1,101 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 897 + }, + { + "Category": "Phone", + "Value": 707 + }, + { + "Category": "Tablet", + "Value": 888 + }, + { + "Category": "Desktop", + "Value": 930 + }, + { + "Category": "Monitor", + "Value": 475 + }, + { + "Category": "Keyboard", + "Value": 357 + }, + { + "Category": "Mouse", + "Value": 942 + }, + { + "Category": "Headphones", + "Value": 106 + }, + { + "Category": "Speaker", + "Value": 463 + }, + { + "Category": "Camera", + "Value": 353 + }, + { + "Category": "TV", + "Value": 970 + }, + { + "Category": "Router", + "Value": 124 + }, + { + "Category": "Printer", + "Value": 772 + }, + { + "Category": "Scanner", + "Value": 348 + }, + { + "Category": "SSD", + "Value": 687 + }, + { + "Category": "HDD", + "Value": 751 + }, + { + "Category": "RAM", + "Value": 680 + }, + { + "Category": "GPU", + "Value": 899 + }, + { + "Category": "CPU", + "Value": 53 + }, + { + "Category": "Motherboard", + "Value": 621 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/02-card20.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/02-card20.flint.json new file mode 100644 index 00000000..ee5c4716 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/02-card20.flint.json @@ -0,0 +1,101 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 696 + }, + { + "Category": "Phone", + "Value": 205 + }, + { + "Category": "Tablet", + "Value": 398 + }, + { + "Category": "Desktop", + "Value": 604 + }, + { + "Category": "Monitor", + "Value": 128 + }, + { + "Category": "Keyboard", + "Value": 42 + }, + { + "Category": "Mouse", + "Value": 228 + }, + { + "Category": "Headphones", + "Value": 253 + }, + { + "Category": "Speaker", + "Value": 749 + }, + { + "Category": "Camera", + "Value": 612 + }, + { + "Category": "TV", + "Value": 825 + }, + { + "Category": "Router", + "Value": 271 + }, + { + "Category": "Printer", + "Value": 645 + }, + { + "Category": "Scanner", + "Value": 113 + }, + { + "Category": "SSD", + "Value": 539 + }, + { + "Category": "HDD", + "Value": 707 + }, + { + "Category": "RAM", + "Value": 262 + }, + { + "Category": "GPU", + "Value": 273 + }, + { + "Category": "CPU", + "Value": 342 + }, + { + "Category": "Motherboard", + "Value": 160 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/03-card100.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/03-card100.flint.json new file mode 100644 index 00000000..eb40f30e --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/03-card100.flint.json @@ -0,0 +1,421 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "James Walker", + "Value": 276 + }, + { + "Category": "Paul Wilson", + "Value": 172 + }, + { + "Category": "Jessica Martin", + "Value": 476 + }, + { + "Category": "Christopher Moore", + "Value": 278 + }, + { + "Category": "Betty Wilson", + "Value": 645 + }, + { + "Category": "Steven Lewis", + "Value": 653 + }, + { + "Category": "Karen Lopez", + "Value": 775 + }, + { + "Category": "Sandra Wright", + "Value": 780 + }, + { + "Category": "Daniel King", + "Value": 496 + }, + { + "Category": "Mark Taylor", + "Value": 927 + }, + { + "Category": "Sandra Thomas", + "Value": 654 + }, + { + "Category": "Karen Rodriguez", + "Value": 655 + }, + { + "Category": "Patricia Jackson", + "Value": 768 + }, + { + "Category": "Donna Hill", + "Value": 922 + }, + { + "Category": "Donna White", + "Value": 66 + }, + { + "Category": "Michael Brown", + "Value": 471 + }, + { + "Category": "Elizabeth Robinson", + "Value": 458 + }, + { + "Category": "Mary Jones", + "Value": 633 + }, + { + "Category": "Richard Rodriguez", + "Value": 904 + }, + { + "Category": "Christopher Clark", + "Value": 668 + }, + { + "Category": "Christopher Lopez", + "Value": 404 + }, + { + "Category": "Susan Ramirez", + "Value": 618 + }, + { + "Category": "Steven Wilson", + "Value": 83 + }, + { + "Category": "Paul Anderson", + "Value": 779 + }, + { + "Category": "Joseph Rodriguez", + "Value": 381 + }, + { + "Category": "Elizabeth Wright", + "Value": 80 + }, + { + "Category": "Kimberly Jackson", + "Value": 420 + }, + { + "Category": "Betty Hernandez", + "Value": 711 + }, + { + "Category": "David King", + "Value": 388 + }, + { + "Category": "Matthew Lopez", + "Value": 975 + }, + { + "Category": "Susan Hernandez", + "Value": 450 + }, + { + "Category": "Jennifer Lee", + "Value": 107 + }, + { + "Category": "Richard Flores", + "Value": 18 + }, + { + "Category": "John Anderson", + "Value": 160 + }, + { + "Category": "Kimberly Wright", + "Value": 30 + }, + { + "Category": "Joseph Williams", + "Value": 784 + }, + { + "Category": "Lisa Torres", + "Value": 541 + }, + { + "Category": "Andrew Rodriguez", + "Value": 591 + }, + { + "Category": "Karen Johnson", + "Value": 847 + }, + { + "Category": "Steven Jones", + "Value": 826 + }, + { + "Category": "Joshua Ramirez", + "Value": 955 + }, + { + "Category": "Emily Martinez", + "Value": 626 + }, + { + "Category": "Robert Walker", + "Value": 546 + }, + { + "Category": "Robert Lewis", + "Value": 946 + }, + { + "Category": "Sandra Lopez", + "Value": 859 + }, + { + "Category": "Nancy Miller", + "Value": 326 + }, + { + "Category": "Christopher Sanchez", + "Value": 636 + }, + { + "Category": "Daniel Flores", + "Value": 111 + }, + { + "Category": "Mary Walker", + "Value": 334 + }, + { + "Category": "Anthony Ramirez", + "Value": 120 + }, + { + "Category": "Anthony Hill", + "Value": 602 + }, + { + "Category": "Matthew Miller", + "Value": 216 + }, + { + "Category": "Andrew King", + "Value": 160 + }, + { + "Category": "William Perez", + "Value": 932 + }, + { + "Category": "William Martinez", + "Value": 544 + }, + { + "Category": "Margaret Garcia", + "Value": 733 + }, + { + "Category": "Barbara Anderson", + "Value": 794 + }, + { + "Category": "Thomas Smith", + "Value": 724 + }, + { + "Category": "Kimberly Thomas", + "Value": 834 + }, + { + "Category": "Karen Garcia", + "Value": 378 + }, + { + "Category": "Sarah Torres", + "Value": 174 + }, + { + "Category": "Emily Hill", + "Value": 248 + }, + { + "Category": "Sarah Walker", + "Value": 312 + }, + { + "Category": "Michael Clark", + "Value": 451 + }, + { + "Category": "Joshua Wright", + "Value": 850 + }, + { + "Category": "Andrew Walker", + "Value": 541 + }, + { + "Category": "Nancy Young", + "Value": 831 + }, + { + "Category": "John Lewis", + "Value": 464 + }, + { + "Category": "John Brown", + "Value": 83 + }, + { + "Category": "Anthony Thomas", + "Value": 490 + }, + { + "Category": "Joshua Moore", + "Value": 212 + }, + { + "Category": "John Hernandez", + "Value": 977 + }, + { + "Category": "James Perez", + "Value": 282 + }, + { + "Category": "James Scott", + "Value": 476 + }, + { + "Category": "Matthew Sanchez", + "Value": 52 + }, + { + "Category": "Joseph Sanchez", + "Value": 108 + }, + { + "Category": "Paul Perez", + "Value": 464 + }, + { + "Category": "Joshua Rodriguez", + "Value": 307 + }, + { + "Category": "Anthony Sanchez", + "Value": 435 + }, + { + "Category": "Linda King", + "Value": 691 + }, + { + "Category": "Elizabeth Smith", + "Value": 982 + }, + { + "Category": "Sandra Miller", + "Value": 792 + }, + { + "Category": "Nancy Allen", + "Value": 991 + }, + { + "Category": "Patricia Brown", + "Value": 99 + }, + { + "Category": "Lisa Clark", + "Value": 756 + }, + { + "Category": "Lisa Thompson", + "Value": 702 + }, + { + "Category": "Nancy Clark", + "Value": 214 + }, + { + "Category": "Steven Miller", + "Value": 43 + }, + { + "Category": "Charles King", + "Value": 143 + }, + { + "Category": "Paul Harris", + "Value": 586 + }, + { + "Category": "Ashley Jackson", + "Value": 775 + }, + { + "Category": "John Moore", + "Value": 974 + }, + { + "Category": "Betty Flores", + "Value": 756 + }, + { + "Category": "Linda Young", + "Value": 721 + }, + { + "Category": "Joshua Jones", + "Value": 562 + }, + { + "Category": "Margaret Anderson", + "Value": 21 + }, + { + "Category": "Anthony Wilson", + "Value": 545 + }, + { + "Category": "Karen Jones", + "Value": 618 + }, + { + "Category": "Daniel Rodriguez", + "Value": 817 + }, + { + "Category": "Betty Clark", + "Value": 337 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/04-card5.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/04-card5.flint.json new file mode 100644 index 00000000..100b7d51 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/04-card5.flint.json @@ -0,0 +1,98 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 878, + "Segment": "USA" + }, + { + "Category": "Laptop", + "Value": 190, + "Segment": "China" + }, + { + "Category": "Laptop", + "Value": 495, + "Segment": "Japan" + }, + { + "Category": "Phone", + "Value": 221, + "Segment": "USA" + }, + { + "Category": "Phone", + "Value": 853, + "Segment": "China" + }, + { + "Category": "Phone", + "Value": 409, + "Segment": "Japan" + }, + { + "Category": "Tablet", + "Value": 118, + "Segment": "USA" + }, + { + "Category": "Tablet", + "Value": 607, + "Segment": "China" + }, + { + "Category": "Tablet", + "Value": 976, + "Segment": "Japan" + }, + { + "Category": "Desktop", + "Value": 926, + "Segment": "USA" + }, + { + "Category": "Desktop", + "Value": 928, + "Segment": "China" + }, + { + "Category": "Desktop", + "Value": 675, + "Segment": "Japan" + }, + { + "Category": "Monitor", + "Value": 134, + "Segment": "USA" + }, + { + "Category": "Monitor", + "Value": 172, + "Segment": "China" + }, + { + "Category": "Monitor", + "Value": 314, + "Segment": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/05-card5.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/05-card5.flint.json new file mode 100644 index 00000000..ec70014f --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/05-card5.flint.json @@ -0,0 +1,523 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 786, + "Segment": "USA" + }, + { + "Category": "Laptop", + "Value": 647, + "Segment": "China" + }, + { + "Category": "Laptop", + "Value": 932, + "Segment": "Japan" + }, + { + "Category": "Laptop", + "Value": 332, + "Segment": "Germany" + }, + { + "Category": "Laptop", + "Value": 839, + "Segment": "UK" + }, + { + "Category": "Laptop", + "Value": 176, + "Segment": "France" + }, + { + "Category": "Laptop", + "Value": 653, + "Segment": "India" + }, + { + "Category": "Laptop", + "Value": 210, + "Segment": "Brazil" + }, + { + "Category": "Laptop", + "Value": 751, + "Segment": "Canada" + }, + { + "Category": "Laptop", + "Value": 41, + "Segment": "Australia" + }, + { + "Category": "Laptop", + "Value": 128, + "Segment": "South Korea" + }, + { + "Category": "Laptop", + "Value": 569, + "Segment": "Mexico" + }, + { + "Category": "Laptop", + "Value": 225, + "Segment": "Italy" + }, + { + "Category": "Laptop", + "Value": 228, + "Segment": "Spain" + }, + { + "Category": "Laptop", + "Value": 115, + "Segment": "Russia" + }, + { + "Category": "Laptop", + "Value": 539, + "Segment": "Netherlands" + }, + { + "Category": "Laptop", + "Value": 313, + "Segment": "Sweden" + }, + { + "Category": "Laptop", + "Value": 516, + "Segment": "Norway" + }, + { + "Category": "Laptop", + "Value": 322, + "Segment": "Denmark" + }, + { + "Category": "Laptop", + "Value": 535, + "Segment": "Finland" + }, + { + "Category": "Phone", + "Value": 953, + "Segment": "USA" + }, + { + "Category": "Phone", + "Value": 238, + "Segment": "China" + }, + { + "Category": "Phone", + "Value": 896, + "Segment": "Japan" + }, + { + "Category": "Phone", + "Value": 176, + "Segment": "Germany" + }, + { + "Category": "Phone", + "Value": 173, + "Segment": "UK" + }, + { + "Category": "Phone", + "Value": 530, + "Segment": "France" + }, + { + "Category": "Phone", + "Value": 960, + "Segment": "India" + }, + { + "Category": "Phone", + "Value": 893, + "Segment": "Brazil" + }, + { + "Category": "Phone", + "Value": 22, + "Segment": "Canada" + }, + { + "Category": "Phone", + "Value": 95, + "Segment": "Australia" + }, + { + "Category": "Phone", + "Value": 135, + "Segment": "South Korea" + }, + { + "Category": "Phone", + "Value": 600, + "Segment": "Mexico" + }, + { + "Category": "Phone", + "Value": 49, + "Segment": "Italy" + }, + { + "Category": "Phone", + "Value": 759, + "Segment": "Spain" + }, + { + "Category": "Phone", + "Value": 589, + "Segment": "Russia" + }, + { + "Category": "Phone", + "Value": 232, + "Segment": "Netherlands" + }, + { + "Category": "Phone", + "Value": 145, + "Segment": "Sweden" + }, + { + "Category": "Phone", + "Value": 281, + "Segment": "Norway" + }, + { + "Category": "Phone", + "Value": 934, + "Segment": "Denmark" + }, + { + "Category": "Phone", + "Value": 475, + "Segment": "Finland" + }, + { + "Category": "Tablet", + "Value": 899, + "Segment": "USA" + }, + { + "Category": "Tablet", + "Value": 228, + "Segment": "China" + }, + { + "Category": "Tablet", + "Value": 717, + "Segment": "Japan" + }, + { + "Category": "Tablet", + "Value": 447, + "Segment": "Germany" + }, + { + "Category": "Tablet", + "Value": 136, + "Segment": "UK" + }, + { + "Category": "Tablet", + "Value": 932, + "Segment": "France" + }, + { + "Category": "Tablet", + "Value": 745, + "Segment": "India" + }, + { + "Category": "Tablet", + "Value": 449, + "Segment": "Brazil" + }, + { + "Category": "Tablet", + "Value": 350, + "Segment": "Canada" + }, + { + "Category": "Tablet", + "Value": 409, + "Segment": "Australia" + }, + { + "Category": "Tablet", + "Value": 675, + "Segment": "South Korea" + }, + { + "Category": "Tablet", + "Value": 660, + "Segment": "Mexico" + }, + { + "Category": "Tablet", + "Value": 14, + "Segment": "Italy" + }, + { + "Category": "Tablet", + "Value": 975, + "Segment": "Spain" + }, + { + "Category": "Tablet", + "Value": 927, + "Segment": "Russia" + }, + { + "Category": "Tablet", + "Value": 569, + "Segment": "Netherlands" + }, + { + "Category": "Tablet", + "Value": 81, + "Segment": "Sweden" + }, + { + "Category": "Tablet", + "Value": 657, + "Segment": "Norway" + }, + { + "Category": "Tablet", + "Value": 180, + "Segment": "Denmark" + }, + { + "Category": "Tablet", + "Value": 910, + "Segment": "Finland" + }, + { + "Category": "Desktop", + "Value": 607, + "Segment": "USA" + }, + { + "Category": "Desktop", + "Value": 504, + "Segment": "China" + }, + { + "Category": "Desktop", + "Value": 339, + "Segment": "Japan" + }, + { + "Category": "Desktop", + "Value": 524, + "Segment": "Germany" + }, + { + "Category": "Desktop", + "Value": 349, + "Segment": "UK" + }, + { + "Category": "Desktop", + "Value": 895, + "Segment": "France" + }, + { + "Category": "Desktop", + "Value": 770, + "Segment": "India" + }, + { + "Category": "Desktop", + "Value": 213, + "Segment": "Brazil" + }, + { + "Category": "Desktop", + "Value": 956, + "Segment": "Canada" + }, + { + "Category": "Desktop", + "Value": 667, + "Segment": "Australia" + }, + { + "Category": "Desktop", + "Value": 592, + "Segment": "South Korea" + }, + { + "Category": "Desktop", + "Value": 12, + "Segment": "Mexico" + }, + { + "Category": "Desktop", + "Value": 401, + "Segment": "Italy" + }, + { + "Category": "Desktop", + "Value": 920, + "Segment": "Spain" + }, + { + "Category": "Desktop", + "Value": 44, + "Segment": "Russia" + }, + { + "Category": "Desktop", + "Value": 937, + "Segment": "Netherlands" + }, + { + "Category": "Desktop", + "Value": 558, + "Segment": "Sweden" + }, + { + "Category": "Desktop", + "Value": 606, + "Segment": "Norway" + }, + { + "Category": "Desktop", + "Value": 578, + "Segment": "Denmark" + }, + { + "Category": "Desktop", + "Value": 471, + "Segment": "Finland" + }, + { + "Category": "Monitor", + "Value": 159, + "Segment": "USA" + }, + { + "Category": "Monitor", + "Value": 973, + "Segment": "China" + }, + { + "Category": "Monitor", + "Value": 756, + "Segment": "Japan" + }, + { + "Category": "Monitor", + "Value": 668, + "Segment": "Germany" + }, + { + "Category": "Monitor", + "Value": 521, + "Segment": "UK" + }, + { + "Category": "Monitor", + "Value": 160, + "Segment": "France" + }, + { + "Category": "Monitor", + "Value": 913, + "Segment": "India" + }, + { + "Category": "Monitor", + "Value": 367, + "Segment": "Brazil" + }, + { + "Category": "Monitor", + "Value": 58, + "Segment": "Canada" + }, + { + "Category": "Monitor", + "Value": 639, + "Segment": "Australia" + }, + { + "Category": "Monitor", + "Value": 69, + "Segment": "South Korea" + }, + { + "Category": "Monitor", + "Value": 97, + "Segment": "Mexico" + }, + { + "Category": "Monitor", + "Value": 342, + "Segment": "Italy" + }, + { + "Category": "Monitor", + "Value": 736, + "Segment": "Spain" + }, + { + "Category": "Monitor", + "Value": 919, + "Segment": "Russia" + }, + { + "Category": "Monitor", + "Value": 775, + "Segment": "Netherlands" + }, + { + "Category": "Monitor", + "Value": 257, + "Segment": "Sweden" + }, + { + "Category": "Monitor", + "Value": 66, + "Segment": "Norway" + }, + { + "Category": "Monitor", + "Value": 531, + "Segment": "Denmark" + }, + { + "Category": "Monitor", + "Value": 646, + "Segment": "Finland" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/06-card10.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/06-card10.flint.json new file mode 100644 index 00000000..6af11afa --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/06-card10.flint.json @@ -0,0 +1,61 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "X", + "y": "Group" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "Laptop", + "X": 893 + }, + { + "Group": "Phone", + "X": 872 + }, + { + "Group": "Tablet", + "X": 460 + }, + { + "Group": "Desktop", + "X": 182 + }, + { + "Group": "Monitor", + "X": 406 + }, + { + "Group": "Keyboard", + "X": 958 + }, + { + "Group": "Mouse", + "X": 391 + }, + { + "Group": "Headphones", + "X": 361 + }, + { + "Group": "Speaker", + "X": 115 + }, + { + "Group": "Camera", + "X": 884 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/07-card96.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/07-card96.flint.json new file mode 100644 index 00000000..000f554f --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/07-card96.flint.json @@ -0,0 +1,421 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "X", + "y": "Group" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "James Walker", + "X": 224 + }, + { + "Group": "Paul Wilson", + "X": 757 + }, + { + "Group": "Jessica Martin", + "X": 986 + }, + { + "Group": "Christopher Moore", + "X": 922 + }, + { + "Group": "Betty Wilson", + "X": 225 + }, + { + "Group": "Steven Lewis", + "X": 409 + }, + { + "Group": "Karen Lopez", + "X": 690 + }, + { + "Group": "Sandra Wright", + "X": 393 + }, + { + "Group": "Daniel King", + "X": 254 + }, + { + "Group": "Mark Taylor", + "X": 223 + }, + { + "Group": "Sandra Thomas", + "X": 403 + }, + { + "Group": "Karen Rodriguez", + "X": 140 + }, + { + "Group": "Patricia Jackson", + "X": 191 + }, + { + "Group": "Donna Hill", + "X": 330 + }, + { + "Group": "Donna White", + "X": 411 + }, + { + "Group": "Michael Brown", + "X": 973 + }, + { + "Group": "Elizabeth Robinson", + "X": 649 + }, + { + "Group": "Mary Jones", + "X": 816 + }, + { + "Group": "Richard Rodriguez", + "X": 110 + }, + { + "Group": "Christopher Clark", + "X": 691 + }, + { + "Group": "Christopher Lopez", + "X": 837 + }, + { + "Group": "Susan Ramirez", + "X": 775 + }, + { + "Group": "Steven Wilson", + "X": 796 + }, + { + "Group": "Paul Anderson", + "X": 720 + }, + { + "Group": "Joseph Rodriguez", + "X": 366 + }, + { + "Group": "Elizabeth Wright", + "X": 172 + }, + { + "Group": "Kimberly Jackson", + "X": 942 + }, + { + "Group": "Betty Hernandez", + "X": 477 + }, + { + "Group": "David King", + "X": 605 + }, + { + "Group": "Matthew Lopez", + "X": 482 + }, + { + "Group": "Susan Hernandez", + "X": 628 + }, + { + "Group": "Jennifer Lee", + "X": 301 + }, + { + "Group": "Richard Flores", + "X": 953 + }, + { + "Group": "John Anderson", + "X": 350 + }, + { + "Group": "Kimberly Wright", + "X": 648 + }, + { + "Group": "Joseph Williams", + "X": 823 + }, + { + "Group": "Lisa Torres", + "X": 704 + }, + { + "Group": "Andrew Rodriguez", + "X": 879 + }, + { + "Group": "Karen Johnson", + "X": 984 + }, + { + "Group": "Steven Jones", + "X": 746 + }, + { + "Group": "Joshua Ramirez", + "X": 265 + }, + { + "Group": "Emily Martinez", + "X": 616 + }, + { + "Group": "Robert Walker", + "X": 397 + }, + { + "Group": "Robert Lewis", + "X": 801 + }, + { + "Group": "Sandra Lopez", + "X": 967 + }, + { + "Group": "Nancy Miller", + "X": 306 + }, + { + "Group": "Christopher Sanchez", + "X": 311 + }, + { + "Group": "Daniel Flores", + "X": 177 + }, + { + "Group": "Mary Walker", + "X": 537 + }, + { + "Group": "Anthony Ramirez", + "X": 32 + }, + { + "Group": "Anthony Hill", + "X": 333 + }, + { + "Group": "Matthew Miller", + "X": 687 + }, + { + "Group": "Andrew King", + "X": 901 + }, + { + "Group": "William Perez", + "X": 605 + }, + { + "Group": "William Martinez", + "X": 538 + }, + { + "Group": "Margaret Garcia", + "X": 856 + }, + { + "Group": "Barbara Anderson", + "X": 83 + }, + { + "Group": "Thomas Smith", + "X": 814 + }, + { + "Group": "Kimberly Thomas", + "X": 810 + }, + { + "Group": "Karen Garcia", + "X": 94 + }, + { + "Group": "Sarah Torres", + "X": 885 + }, + { + "Group": "Emily Hill", + "X": 32 + }, + { + "Group": "Sarah Walker", + "X": 309 + }, + { + "Group": "Michael Clark", + "X": 690 + }, + { + "Group": "Joshua Wright", + "X": 594 + }, + { + "Group": "Andrew Walker", + "X": 785 + }, + { + "Group": "Nancy Young", + "X": 930 + }, + { + "Group": "John Lewis", + "X": 828 + }, + { + "Group": "John Brown", + "X": 974 + }, + { + "Group": "Anthony Thomas", + "X": 398 + }, + { + "Group": "Joshua Moore", + "X": 187 + }, + { + "Group": "John Hernandez", + "X": 627 + }, + { + "Group": "James Perez", + "X": 400 + }, + { + "Group": "James Scott", + "X": 862 + }, + { + "Group": "Matthew Sanchez", + "X": 86 + }, + { + "Group": "Joseph Sanchez", + "X": 481 + }, + { + "Group": "Paul Perez", + "X": 79 + }, + { + "Group": "Joshua Rodriguez", + "X": 26 + }, + { + "Group": "Anthony Sanchez", + "X": 164 + }, + { + "Group": "Linda King", + "X": 53 + }, + { + "Group": "Elizabeth Smith", + "X": 717 + }, + { + "Group": "Sandra Miller", + "X": 144 + }, + { + "Group": "Nancy Allen", + "X": 191 + }, + { + "Group": "Patricia Brown", + "X": 568 + }, + { + "Group": "Lisa Clark", + "X": 654 + }, + { + "Group": "Lisa Thompson", + "X": 49 + }, + { + "Group": "Nancy Clark", + "X": 20 + }, + { + "Group": "Steven Miller", + "X": 388 + }, + { + "Group": "Charles King", + "X": 179 + }, + { + "Group": "Paul Harris", + "X": 288 + }, + { + "Group": "Ashley Jackson", + "X": 925 + }, + { + "Group": "John Moore", + "X": 500 + }, + { + "Group": "Betty Flores", + "X": 427 + }, + { + "Group": "Linda Young", + "X": 305 + }, + { + "Group": "Joshua Jones", + "X": 618 + }, + { + "Group": "Margaret Anderson", + "X": 787 + }, + { + "Group": "Anthony Wilson", + "X": 665 + }, + { + "Group": "Karen Jones", + "X": 19 + }, + { + "Group": "Daniel Rodriguez", + "X": 677 + }, + { + "Group": "Betty Clark", + "X": 404 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/08-card29.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/08-card29.flint.json new file mode 100644 index 00000000..f3b5b906 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/08-card29.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "X", + "y": "Group", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "Laptop", + "X": 408, + "Segment": "USA" + }, + { + "Group": "Laptop", + "X": 579, + "Segment": "China" + }, + { + "Group": "Laptop", + "X": 713, + "Segment": "Japan" + }, + { + "Group": "Phone", + "X": 216, + "Segment": "USA" + }, + { + "Group": "Phone", + "X": 84, + "Segment": "China" + }, + { + "Group": "Phone", + "X": 698, + "Segment": "Japan" + }, + { + "Group": "Tablet", + "X": 785, + "Segment": "USA" + }, + { + "Group": "Tablet", + "X": 667, + "Segment": "China" + }, + { + "Group": "Tablet", + "X": 250, + "Segment": "Japan" + }, + { + "Group": "Desktop", + "X": 179, + "Segment": "USA" + }, + { + "Group": "Desktop", + "X": 162, + "Segment": "China" + }, + { + "Group": "Desktop", + "X": 572, + "Segment": "Japan" + }, + { + "Group": "Monitor", + "X": 952, + "Segment": "USA" + }, + { + "Group": "Monitor", + "X": 392, + "Segment": "China" + }, + { + "Group": "Monitor", + "X": 127, + "Segment": "Japan" + }, + { + "Group": "Keyboard", + "X": 431, + "Segment": "USA" + }, + { + "Group": "Keyboard", + "X": 573, + "Segment": "China" + }, + { + "Group": "Keyboard", + "X": 992, + "Segment": "Japan" + }, + { + "Group": "Mouse", + "X": 315, + "Segment": "USA" + }, + { + "Group": "Mouse", + "X": 337, + "Segment": "China" + }, + { + "Group": "Mouse", + "X": 306, + "Segment": "Japan" + }, + { + "Group": "Headphones", + "X": 671, + "Segment": "USA" + }, + { + "Group": "Headphones", + "X": 646, + "Segment": "China" + }, + { + "Group": "Headphones", + "X": 638, + "Segment": "Japan" + }, + { + "Group": "Speaker", + "X": 484, + "Segment": "USA" + }, + { + "Group": "Speaker", + "X": 849, + "Segment": "China" + }, + { + "Group": "Speaker", + "X": 688, + "Segment": "Japan" + }, + { + "Group": "Camera", + "X": 408, + "Segment": "USA" + }, + { + "Group": "Camera", + "X": 973, + "Segment": "China" + }, + { + "Group": "Camera", + "X": 587, + "Segment": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/09-card24.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/09-card24.flint.json new file mode 100644 index 00000000..f684d3ed --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/09-card24.flint.json @@ -0,0 +1,117 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Date", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 581 + }, + { + "Date": "2020-02-15", + "Value": 689 + }, + { + "Date": "2020-04-01", + "Value": 906 + }, + { + "Date": "2020-05-16", + "Value": 933 + }, + { + "Date": "2020-07-01", + "Value": 867 + }, + { + "Date": "2020-08-16", + "Value": 39 + }, + { + "Date": "2020-09-30", + "Value": 597 + }, + { + "Date": "2020-11-15", + "Value": 199 + }, + { + "Date": "2020-12-31", + "Value": 614 + }, + { + "Date": "2021-02-14", + "Value": 27 + }, + { + "Date": "2021-04-01", + "Value": 935 + }, + { + "Date": "2021-05-16", + "Value": 386 + }, + { + "Date": "2021-07-01", + "Value": 105 + }, + { + "Date": "2021-08-16", + "Value": 592 + }, + { + "Date": "2021-09-30", + "Value": 78 + }, + { + "Date": "2021-11-15", + "Value": 533 + }, + { + "Date": "2021-12-31", + "Value": 73 + }, + { + "Date": "2022-02-14", + "Value": 37 + }, + { + "Date": "2022-04-01", + "Value": 383 + }, + { + "Date": "2022-05-16", + "Value": 705 + }, + { + "Date": "2022-07-01", + "Value": 70 + }, + { + "Date": "2022-08-16", + "Value": 783 + }, + { + "Date": "2022-09-30", + "Value": 719 + }, + { + "Date": "2022-11-15", + "Value": 999 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/10-card100.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/10-card100.flint.json new file mode 100644 index 00000000..cd8430bf --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/10-card100.flint.json @@ -0,0 +1,421 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Date", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 652 + }, + { + "Date": "2020-01-11", + "Value": 41 + }, + { + "Date": "2020-01-22", + "Value": 598 + }, + { + "Date": "2020-02-02", + "Value": 375 + }, + { + "Date": "2020-02-13", + "Value": 568 + }, + { + "Date": "2020-02-24", + "Value": 780 + }, + { + "Date": "2020-03-06", + "Value": 125 + }, + { + "Date": "2020-03-17", + "Value": 126 + }, + { + "Date": "2020-03-28", + "Value": 750 + }, + { + "Date": "2020-04-08", + "Value": 691 + }, + { + "Date": "2020-04-19", + "Value": 247 + }, + { + "Date": "2020-04-30", + "Value": 174 + }, + { + "Date": "2020-05-11", + "Value": 623 + }, + { + "Date": "2020-05-22", + "Value": 936 + }, + { + "Date": "2020-06-02", + "Value": 757 + }, + { + "Date": "2020-06-13", + "Value": 966 + }, + { + "Date": "2020-06-24", + "Value": 621 + }, + { + "Date": "2020-07-05", + "Value": 897 + }, + { + "Date": "2020-07-16", + "Value": 934 + }, + { + "Date": "2020-07-27", + "Value": 630 + }, + { + "Date": "2020-08-07", + "Value": 563 + }, + { + "Date": "2020-08-17", + "Value": 258 + }, + { + "Date": "2020-08-28", + "Value": 342 + }, + { + "Date": "2020-09-08", + "Value": 829 + }, + { + "Date": "2020-09-19", + "Value": 141 + }, + { + "Date": "2020-09-30", + "Value": 418 + }, + { + "Date": "2020-10-11", + "Value": 764 + }, + { + "Date": "2020-10-22", + "Value": 597 + }, + { + "Date": "2020-11-02", + "Value": 293 + }, + { + "Date": "2020-11-13", + "Value": 409 + }, + { + "Date": "2020-11-24", + "Value": 696 + }, + { + "Date": "2020-12-05", + "Value": 812 + }, + { + "Date": "2020-12-16", + "Value": 431 + }, + { + "Date": "2020-12-27", + "Value": 902 + }, + { + "Date": "2021-01-07", + "Value": 161 + }, + { + "Date": "2021-01-18", + "Value": 439 + }, + { + "Date": "2021-01-29", + "Value": 312 + }, + { + "Date": "2021-02-09", + "Value": 794 + }, + { + "Date": "2021-02-20", + "Value": 464 + }, + { + "Date": "2021-03-03", + "Value": 71 + }, + { + "Date": "2021-03-14", + "Value": 491 + }, + { + "Date": "2021-03-24", + "Value": 193 + }, + { + "Date": "2021-04-04", + "Value": 368 + }, + { + "Date": "2021-04-15", + "Value": 555 + }, + { + "Date": "2021-04-26", + "Value": 661 + }, + { + "Date": "2021-05-07", + "Value": 957 + }, + { + "Date": "2021-05-18", + "Value": 374 + }, + { + "Date": "2021-05-29", + "Value": 701 + }, + { + "Date": "2021-06-09", + "Value": 612 + }, + { + "Date": "2021-06-20", + "Value": 601 + }, + { + "Date": "2021-07-01", + "Value": 937 + }, + { + "Date": "2021-07-12", + "Value": 199 + }, + { + "Date": "2021-07-23", + "Value": 258 + }, + { + "Date": "2021-08-03", + "Value": 744 + }, + { + "Date": "2021-08-14", + "Value": 536 + }, + { + "Date": "2021-08-25", + "Value": 624 + }, + { + "Date": "2021-09-05", + "Value": 370 + }, + { + "Date": "2021-09-16", + "Value": 341 + }, + { + "Date": "2021-09-27", + "Value": 964 + }, + { + "Date": "2021-10-08", + "Value": 45 + }, + { + "Date": "2021-10-19", + "Value": 430 + }, + { + "Date": "2021-10-29", + "Value": 944 + }, + { + "Date": "2021-11-09", + "Value": 409 + }, + { + "Date": "2021-11-20", + "Value": 25 + }, + { + "Date": "2021-12-01", + "Value": 966 + }, + { + "Date": "2021-12-12", + "Value": 912 + }, + { + "Date": "2021-12-23", + "Value": 996 + }, + { + "Date": "2022-01-03", + "Value": 926 + }, + { + "Date": "2022-01-14", + "Value": 198 + }, + { + "Date": "2022-01-25", + "Value": 175 + }, + { + "Date": "2022-02-05", + "Value": 680 + }, + { + "Date": "2022-02-16", + "Value": 640 + }, + { + "Date": "2022-02-27", + "Value": 67 + }, + { + "Date": "2022-03-10", + "Value": 175 + }, + { + "Date": "2022-03-21", + "Value": 268 + }, + { + "Date": "2022-04-01", + "Value": 270 + }, + { + "Date": "2022-04-12", + "Value": 664 + }, + { + "Date": "2022-04-23", + "Value": 155 + }, + { + "Date": "2022-05-04", + "Value": 485 + }, + { + "Date": "2022-05-15", + "Value": 375 + }, + { + "Date": "2022-05-26", + "Value": 308 + }, + { + "Date": "2022-06-05", + "Value": 597 + }, + { + "Date": "2022-06-16", + "Value": 416 + }, + { + "Date": "2022-06-27", + "Value": 976 + }, + { + "Date": "2022-07-08", + "Value": 766 + }, + { + "Date": "2022-07-19", + "Value": 207 + }, + { + "Date": "2022-07-30", + "Value": 500 + }, + { + "Date": "2022-08-10", + "Value": 917 + }, + { + "Date": "2022-08-21", + "Value": 424 + }, + { + "Date": "2022-09-01", + "Value": 114 + }, + { + "Date": "2022-09-12", + "Value": 408 + }, + { + "Date": "2022-09-23", + "Value": 797 + }, + { + "Date": "2022-10-04", + "Value": 361 + }, + { + "Date": "2022-10-15", + "Value": 195 + }, + { + "Date": "2022-10-26", + "Value": 662 + }, + { + "Date": "2022-11-06", + "Value": 376 + }, + { + "Date": "2022-11-17", + "Value": 172 + }, + { + "Date": "2022-11-28", + "Value": 918 + }, + { + "Date": "2022-12-09", + "Value": 202 + }, + { + "Date": "2022-12-20", + "Value": 540 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/11-card24.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/11-card24.flint.json new file mode 100644 index 00000000..8176107f --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/11-card24.flint.json @@ -0,0 +1,383 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 286, + "Segment": "Laptop" + }, + { + "Date": "2020-01-01", + "Value": 721, + "Segment": "Phone" + }, + { + "Date": "2020-01-01", + "Value": 776, + "Segment": "Tablet" + }, + { + "Date": "2020-02-15", + "Value": 907, + "Segment": "Laptop" + }, + { + "Date": "2020-02-15", + "Value": 597, + "Segment": "Phone" + }, + { + "Date": "2020-02-15", + "Value": 334, + "Segment": "Tablet" + }, + { + "Date": "2020-04-01", + "Value": 539, + "Segment": "Laptop" + }, + { + "Date": "2020-04-01", + "Value": 147, + "Segment": "Phone" + }, + { + "Date": "2020-04-01", + "Value": 259, + "Segment": "Tablet" + }, + { + "Date": "2020-05-16", + "Value": 973, + "Segment": "Laptop" + }, + { + "Date": "2020-05-16", + "Value": 490, + "Segment": "Phone" + }, + { + "Date": "2020-05-16", + "Value": 501, + "Segment": "Tablet" + }, + { + "Date": "2020-07-01", + "Value": 43, + "Segment": "Laptop" + }, + { + "Date": "2020-07-01", + "Value": 391, + "Segment": "Phone" + }, + { + "Date": "2020-07-01", + "Value": 637, + "Segment": "Tablet" + }, + { + "Date": "2020-08-16", + "Value": 18, + "Segment": "Laptop" + }, + { + "Date": "2020-08-16", + "Value": 773, + "Segment": "Phone" + }, + { + "Date": "2020-08-16", + "Value": 523, + "Segment": "Tablet" + }, + { + "Date": "2020-09-30", + "Value": 166, + "Segment": "Laptop" + }, + { + "Date": "2020-09-30", + "Value": 858, + "Segment": "Phone" + }, + { + "Date": "2020-09-30", + "Value": 395, + "Segment": "Tablet" + }, + { + "Date": "2020-11-15", + "Value": 726, + "Segment": "Laptop" + }, + { + "Date": "2020-11-15", + "Value": 361, + "Segment": "Phone" + }, + { + "Date": "2020-11-15", + "Value": 681, + "Segment": "Tablet" + }, + { + "Date": "2020-12-31", + "Value": 197, + "Segment": "Laptop" + }, + { + "Date": "2020-12-31", + "Value": 826, + "Segment": "Phone" + }, + { + "Date": "2020-12-31", + "Value": 663, + "Segment": "Tablet" + }, + { + "Date": "2021-02-14", + "Value": 979, + "Segment": "Laptop" + }, + { + "Date": "2021-02-14", + "Value": 907, + "Segment": "Phone" + }, + { + "Date": "2021-02-14", + "Value": 529, + "Segment": "Tablet" + }, + { + "Date": "2021-04-01", + "Value": 565, + "Segment": "Laptop" + }, + { + "Date": "2021-04-01", + "Value": 216, + "Segment": "Phone" + }, + { + "Date": "2021-04-01", + "Value": 951, + "Segment": "Tablet" + }, + { + "Date": "2021-05-16", + "Value": 512, + "Segment": "Laptop" + }, + { + "Date": "2021-05-16", + "Value": 178, + "Segment": "Phone" + }, + { + "Date": "2021-05-16", + "Value": 54, + "Segment": "Tablet" + }, + { + "Date": "2021-07-01", + "Value": 315, + "Segment": "Laptop" + }, + { + "Date": "2021-07-01", + "Value": 166, + "Segment": "Phone" + }, + { + "Date": "2021-07-01", + "Value": 246, + "Segment": "Tablet" + }, + { + "Date": "2021-08-16", + "Value": 977, + "Segment": "Laptop" + }, + { + "Date": "2021-08-16", + "Value": 502, + "Segment": "Phone" + }, + { + "Date": "2021-08-16", + "Value": 642, + "Segment": "Tablet" + }, + { + "Date": "2021-09-30", + "Value": 210, + "Segment": "Laptop" + }, + { + "Date": "2021-09-30", + "Value": 746, + "Segment": "Phone" + }, + { + "Date": "2021-09-30", + "Value": 883, + "Segment": "Tablet" + }, + { + "Date": "2021-11-15", + "Value": 371, + "Segment": "Laptop" + }, + { + "Date": "2021-11-15", + "Value": 381, + "Segment": "Phone" + }, + { + "Date": "2021-11-15", + "Value": 165, + "Segment": "Tablet" + }, + { + "Date": "2021-12-31", + "Value": 373, + "Segment": "Laptop" + }, + { + "Date": "2021-12-31", + "Value": 289, + "Segment": "Phone" + }, + { + "Date": "2021-12-31", + "Value": 110, + "Segment": "Tablet" + }, + { + "Date": "2022-02-14", + "Value": 977, + "Segment": "Laptop" + }, + { + "Date": "2022-02-14", + "Value": 294, + "Segment": "Phone" + }, + { + "Date": "2022-02-14", + "Value": 540, + "Segment": "Tablet" + }, + { + "Date": "2022-04-01", + "Value": 143, + "Segment": "Laptop" + }, + { + "Date": "2022-04-01", + "Value": 330, + "Segment": "Phone" + }, + { + "Date": "2022-04-01", + "Value": 616, + "Segment": "Tablet" + }, + { + "Date": "2022-05-16", + "Value": 474, + "Segment": "Laptop" + }, + { + "Date": "2022-05-16", + "Value": 524, + "Segment": "Phone" + }, + { + "Date": "2022-05-16", + "Value": 686, + "Segment": "Tablet" + }, + { + "Date": "2022-07-01", + "Value": 354, + "Segment": "Laptop" + }, + { + "Date": "2022-07-01", + "Value": 410, + "Segment": "Phone" + }, + { + "Date": "2022-07-01", + "Value": 590, + "Segment": "Tablet" + }, + { + "Date": "2022-08-16", + "Value": 608, + "Segment": "Laptop" + }, + { + "Date": "2022-08-16", + "Value": 124, + "Segment": "Phone" + }, + { + "Date": "2022-08-16", + "Value": 604, + "Segment": "Tablet" + }, + { + "Date": "2022-09-30", + "Value": 387, + "Segment": "Laptop" + }, + { + "Date": "2022-09-30", + "Value": 752, + "Segment": "Phone" + }, + { + "Date": "2022-09-30", + "Value": 254, + "Segment": "Tablet" + }, + { + "Date": "2022-11-15", + "Value": 966, + "Segment": "Laptop" + }, + { + "Date": "2022-11-15", + "Value": 588, + "Segment": "Phone" + }, + { + "Date": "2022-11-15", + "Value": 440, + "Segment": "Tablet" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/12-card18.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/12-card18.flint.json new file mode 100644 index 00000000..89fa95ea --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/12-card18.flint.json @@ -0,0 +1,93 @@ +{ + "semantic_types": { + "X": "Quantity", + "EndDate": "Date" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "X", + "y": "EndDate" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "EndDate": "2020-01-01", + "X": 648 + }, + { + "EndDate": "2020-03-01", + "X": 944 + }, + { + "EndDate": "2020-05-01", + "X": 216 + }, + { + "EndDate": "2020-07-01", + "X": 185 + }, + { + "EndDate": "2020-08-31", + "X": 539 + }, + { + "EndDate": "2020-10-31", + "X": 151 + }, + { + "EndDate": "2020-12-31", + "X": 338 + }, + { + "EndDate": "2021-03-01", + "X": 709 + }, + { + "EndDate": "2021-05-01", + "X": 181 + }, + { + "EndDate": "2021-07-01", + "X": 931 + }, + { + "EndDate": "2021-08-31", + "X": 916 + }, + { + "EndDate": "2021-10-31", + "X": 61 + }, + { + "EndDate": "2021-12-31", + "X": 462 + }, + { + "EndDate": "2022-03-01", + "X": 900 + }, + { + "EndDate": "2022-05-01", + "X": 969 + }, + { + "EndDate": "2022-07-01", + "X": 650 + }, + { + "EndDate": "2022-08-31", + "X": 468 + }, + { + "EndDate": "2022-10-31", + "X": 186 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/13-card53.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/13-card53.flint.json new file mode 100644 index 00000000..4d230211 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/13-card53.flint.json @@ -0,0 +1,293 @@ +{ + "semantic_types": { + "X": "Quantity", + "EndDate": "Date", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "X", + "y": "EndDate", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "EndDate": "2020-01-01", + "X": 166, + "Segment": "Laptop" + }, + { + "EndDate": "2020-01-01", + "X": 838, + "Segment": "Phone" + }, + { + "EndDate": "2020-01-01", + "X": 74, + "Segment": "Tablet" + }, + { + "EndDate": "2020-03-01", + "X": 268, + "Segment": "Laptop" + }, + { + "EndDate": "2020-03-01", + "X": 614, + "Segment": "Phone" + }, + { + "EndDate": "2020-03-01", + "X": 950, + "Segment": "Tablet" + }, + { + "EndDate": "2020-05-01", + "X": 128, + "Segment": "Laptop" + }, + { + "EndDate": "2020-05-01", + "X": 727, + "Segment": "Phone" + }, + { + "EndDate": "2020-05-01", + "X": 457, + "Segment": "Tablet" + }, + { + "EndDate": "2020-07-01", + "X": 430, + "Segment": "Laptop" + }, + { + "EndDate": "2020-07-01", + "X": 383, + "Segment": "Phone" + }, + { + "EndDate": "2020-07-01", + "X": 172, + "Segment": "Tablet" + }, + { + "EndDate": "2020-08-31", + "X": 324, + "Segment": "Laptop" + }, + { + "EndDate": "2020-08-31", + "X": 167, + "Segment": "Phone" + }, + { + "EndDate": "2020-08-31", + "X": 296, + "Segment": "Tablet" + }, + { + "EndDate": "2020-10-31", + "X": 958, + "Segment": "Laptop" + }, + { + "EndDate": "2020-10-31", + "X": 216, + "Segment": "Phone" + }, + { + "EndDate": "2020-10-31", + "X": 656, + "Segment": "Tablet" + }, + { + "EndDate": "2020-12-31", + "X": 71, + "Segment": "Laptop" + }, + { + "EndDate": "2020-12-31", + "X": 365, + "Segment": "Phone" + }, + { + "EndDate": "2020-12-31", + "X": 735, + "Segment": "Tablet" + }, + { + "EndDate": "2021-03-01", + "X": 694, + "Segment": "Laptop" + }, + { + "EndDate": "2021-03-01", + "X": 63, + "Segment": "Phone" + }, + { + "EndDate": "2021-03-01", + "X": 754, + "Segment": "Tablet" + }, + { + "EndDate": "2021-05-01", + "X": 169, + "Segment": "Laptop" + }, + { + "EndDate": "2021-05-01", + "X": 841, + "Segment": "Phone" + }, + { + "EndDate": "2021-05-01", + "X": 762, + "Segment": "Tablet" + }, + { + "EndDate": "2021-07-01", + "X": 953, + "Segment": "Laptop" + }, + { + "EndDate": "2021-07-01", + "X": 809, + "Segment": "Phone" + }, + { + "EndDate": "2021-07-01", + "X": 200, + "Segment": "Tablet" + }, + { + "EndDate": "2021-08-31", + "X": 86, + "Segment": "Laptop" + }, + { + "EndDate": "2021-08-31", + "X": 545, + "Segment": "Phone" + }, + { + "EndDate": "2021-08-31", + "X": 162, + "Segment": "Tablet" + }, + { + "EndDate": "2021-10-31", + "X": 288, + "Segment": "Laptop" + }, + { + "EndDate": "2021-10-31", + "X": 922, + "Segment": "Phone" + }, + { + "EndDate": "2021-10-31", + "X": 530, + "Segment": "Tablet" + }, + { + "EndDate": "2021-12-31", + "X": 142, + "Segment": "Laptop" + }, + { + "EndDate": "2021-12-31", + "X": 546, + "Segment": "Phone" + }, + { + "EndDate": "2021-12-31", + "X": 116, + "Segment": "Tablet" + }, + { + "EndDate": "2022-03-01", + "X": 368, + "Segment": "Laptop" + }, + { + "EndDate": "2022-03-01", + "X": 12, + "Segment": "Phone" + }, + { + "EndDate": "2022-03-01", + "X": 657, + "Segment": "Tablet" + }, + { + "EndDate": "2022-05-01", + "X": 879, + "Segment": "Laptop" + }, + { + "EndDate": "2022-05-01", + "X": 248, + "Segment": "Phone" + }, + { + "EndDate": "2022-05-01", + "X": 157, + "Segment": "Tablet" + }, + { + "EndDate": "2022-07-01", + "X": 691, + "Segment": "Laptop" + }, + { + "EndDate": "2022-07-01", + "X": 694, + "Segment": "Phone" + }, + { + "EndDate": "2022-07-01", + "X": 458, + "Segment": "Tablet" + }, + { + "EndDate": "2022-08-31", + "X": 720, + "Segment": "Laptop" + }, + { + "EndDate": "2022-08-31", + "X": 848, + "Segment": "Phone" + }, + { + "EndDate": "2022-08-31", + "X": 287, + "Segment": "Tablet" + }, + { + "EndDate": "2022-10-31", + "X": 206, + "Segment": "Laptop" + }, + { + "EndDate": "2022-10-31", + "X": 108, + "Segment": "Phone" + }, + { + "EndDate": "2022-10-31", + "X": 591, + "Segment": "Tablet" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/14-card20.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/14-card20.flint.json new file mode 100644 index 00000000..88a2e82e --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/14-card20.flint.json @@ -0,0 +1,101 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "X", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 1, + "Value": 633 + }, + { + "X": 2, + "Value": 80 + }, + { + "X": 3, + "Value": 121 + }, + { + "X": 4, + "Value": 174 + }, + { + "X": 5, + "Value": 21 + }, + { + "X": 6, + "Value": 606 + }, + { + "X": 7, + "Value": 734 + }, + { + "X": 8, + "Value": 638 + }, + { + "X": 9, + "Value": 122 + }, + { + "X": 10, + "Value": 242 + }, + { + "X": 11, + "Value": 376 + }, + { + "X": 12, + "Value": 735 + }, + { + "X": 13, + "Value": 981 + }, + { + "X": 14, + "Value": 555 + }, + { + "X": 15, + "Value": 970 + }, + { + "X": 16, + "Value": 54 + }, + { + "X": 17, + "Value": 601 + }, + { + "X": 18, + "Value": 134 + }, + { + "X": 19, + "Value": 924 + }, + { + "X": 20, + "Value": 172 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/15-card30.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/15-card30.flint.json new file mode 100644 index 00000000..5541613c --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/15-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "X", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 1, + "Value": 390 + }, + { + "X": 2, + "Value": 934 + }, + { + "X": 3, + "Value": 91 + }, + { + "X": 4, + "Value": 151 + }, + { + "X": 5, + "Value": 615 + }, + { + "X": 6, + "Value": 442 + }, + { + "X": 7, + "Value": 332 + }, + { + "X": 8, + "Value": 151 + }, + { + "X": 9, + "Value": 857 + }, + { + "X": 10, + "Value": 708 + }, + { + "X": 11, + "Value": 746 + }, + { + "X": 12, + "Value": 875 + }, + { + "X": 13, + "Value": 83 + }, + { + "X": 14, + "Value": 799 + }, + { + "X": 15, + "Value": 517 + }, + { + "X": 16, + "Value": 167 + }, + { + "X": 17, + "Value": 890 + }, + { + "X": 18, + "Value": 140 + }, + { + "X": 19, + "Value": 130 + }, + { + "X": 20, + "Value": 235 + }, + { + "X": 21, + "Value": 145 + }, + { + "X": 22, + "Value": 174 + }, + { + "X": 23, + "Value": 170 + }, + { + "X": 24, + "Value": 214 + }, + { + "X": 25, + "Value": 74 + }, + { + "X": 26, + "Value": 511 + }, + { + "X": 27, + "Value": 519 + }, + { + "X": 28, + "Value": 721 + }, + { + "X": 29, + "Value": 304 + }, + { + "X": 30, + "Value": 191 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/16-card5.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/16-card5.flint.json new file mode 100644 index 00000000..82dd90cd --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/16-card5.flint.json @@ -0,0 +1,89 @@ +{ + "semantic_types": { + "Category": "Category", + "Group": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "Group" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Group": "USA" + }, + { + "Category": "Laptop", + "Group": "Japan" + }, + { + "Category": "Laptop", + "Group": "UK" + }, + { + "Category": "Phone", + "Group": "USA" + }, + { + "Category": "Phone", + "Group": "Japan" + }, + { + "Category": "Phone", + "Group": "Germany" + }, + { + "Category": "Phone", + "Group": "UK" + }, + { + "Category": "Tablet", + "Group": "USA" + }, + { + "Category": "Tablet", + "Group": "Japan" + }, + { + "Category": "Tablet", + "Group": "Germany" + }, + { + "Category": "Tablet", + "Group": "UK" + }, + { + "Category": "Desktop", + "Group": "China" + }, + { + "Category": "Desktop", + "Group": "Germany" + }, + { + "Category": "Desktop", + "Group": "UK" + }, + { + "Category": "Monitor", + "Group": "USA" + }, + { + "Category": "Monitor", + "Group": "China" + }, + { + "Category": "Monitor", + "Group": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/17-card25.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/17-card25.flint.json new file mode 100644 index 00000000..a934f537 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/17-card25.flint.json @@ -0,0 +1,121 @@ +{ + "semantic_types": { + "Date": "Date", + "Group": "Category" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Date", + "y": "Group" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Group": "Laptop" + }, + { + "Date": "2020-02-13", + "Group": "Desktop" + }, + { + "Date": "2020-03-28", + "Group": "Laptop" + }, + { + "Date": "2020-05-11", + "Group": "Phone" + }, + { + "Date": "2020-06-24", + "Group": "Monitor" + }, + { + "Date": "2020-08-07", + "Group": "Laptop" + }, + { + "Date": "2020-09-19", + "Group": "Laptop" + }, + { + "Date": "2020-11-02", + "Group": "Tablet" + }, + { + "Date": "2020-12-16", + "Group": "Tablet" + }, + { + "Date": "2021-01-29", + "Group": "Tablet" + }, + { + "Date": "2021-03-14", + "Group": "Monitor" + }, + { + "Date": "2021-04-26", + "Group": "Monitor" + }, + { + "Date": "2021-06-09", + "Group": "Phone" + }, + { + "Date": "2021-07-23", + "Group": "Desktop" + }, + { + "Date": "2021-09-05", + "Group": "Phone" + }, + { + "Date": "2021-10-19", + "Group": "Desktop" + }, + { + "Date": "2021-12-01", + "Group": "Phone" + }, + { + "Date": "2022-01-14", + "Group": "Desktop" + }, + { + "Date": "2022-02-27", + "Group": "Desktop" + }, + { + "Date": "2022-04-12", + "Group": "Desktop" + }, + { + "Date": "2022-05-26", + "Group": "Monitor" + }, + { + "Date": "2022-07-08", + "Group": "Laptop" + }, + { + "Date": "2022-08-21", + "Group": "Tablet" + }, + { + "Date": "2022-10-04", + "Group": "Desktop" + }, + { + "Date": "2022-11-17", + "Group": "Desktop" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/bar-chart/18-card5.flint.json b/test-harness/excel/evaluations/inputs/bar-chart/18-card5.flint.json new file mode 100644 index 00000000..29779751 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/bar-chart/18-card5.flint.json @@ -0,0 +1,41 @@ +{ + "semantic_types": { + "Category": "Category", + "EndDate": "Date" + }, + "chart_spec": { + "chartType": "Bar Chart", + "encodings": { + "x": "Category", + "y": "EndDate" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "EndDate": "2023-11-07" + }, + { + "Category": "Phone", + "EndDate": "2023-01-28" + }, + { + "Category": "Tablet", + "EndDate": "2023-07-24" + }, + { + "Category": "Desktop", + "EndDate": "2023-04-27" + }, + { + "Category": "Monitor", + "EndDate": "2023-07-12" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/00-card5.flint.json b/test-harness/excel/evaluations/inputs/boxplot/00-card5.flint.json new file mode 100644 index 00000000..ca0d1961 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/00-card5.flint.json @@ -0,0 +1,621 @@ +{ + "semantic_types": { + "Group": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Group", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "Electronics", + "Value": 1 + }, + { + "Group": "Electronics", + "Value": 8 + }, + { + "Group": "Electronics", + "Value": 92 + }, + { + "Group": "Electronics", + "Value": 6 + }, + { + "Group": "Electronics", + "Value": 94 + }, + { + "Group": "Electronics", + "Value": 27 + }, + { + "Group": "Electronics", + "Value": 93 + }, + { + "Group": "Electronics", + "Value": 21 + }, + { + "Group": "Electronics", + "Value": 51 + }, + { + "Group": "Electronics", + "Value": 29 + }, + { + "Group": "Electronics", + "Value": 45 + }, + { + "Group": "Electronics", + "Value": 59 + }, + { + "Group": "Electronics", + "Value": 68 + }, + { + "Group": "Electronics", + "Value": 20 + }, + { + "Group": "Electronics", + "Value": 42 + }, + { + "Group": "Electronics", + "Value": 79 + }, + { + "Group": "Electronics", + "Value": 80 + }, + { + "Group": "Electronics", + "Value": 39 + }, + { + "Group": "Electronics", + "Value": 39 + }, + { + "Group": "Electronics", + "Value": 79 + }, + { + "Group": "Electronics", + "Value": 24 + }, + { + "Group": "Electronics", + "Value": 74 + }, + { + "Group": "Electronics", + "Value": 28 + }, + { + "Group": "Electronics", + "Value": 31 + }, + { + "Group": "Electronics", + "Value": 32 + }, + { + "Group": "Electronics", + "Value": 85 + }, + { + "Group": "Electronics", + "Value": 38 + }, + { + "Group": "Electronics", + "Value": 74 + }, + { + "Group": "Electronics", + "Value": 20 + }, + { + "Group": "Electronics", + "Value": 83 + }, + { + "Group": "Clothing", + "Value": 22 + }, + { + "Group": "Clothing", + "Value": 54 + }, + { + "Group": "Clothing", + "Value": 72 + }, + { + "Group": "Clothing", + "Value": 23 + }, + { + "Group": "Clothing", + "Value": 26 + }, + { + "Group": "Clothing", + "Value": 76 + }, + { + "Group": "Clothing", + "Value": 85 + }, + { + "Group": "Clothing", + "Value": 49 + }, + { + "Group": "Clothing", + "Value": 73 + }, + { + "Group": "Clothing", + "Value": 74 + }, + { + "Group": "Clothing", + "Value": 93 + }, + { + "Group": "Clothing", + "Value": 79 + }, + { + "Group": "Clothing", + "Value": 86 + }, + { + "Group": "Clothing", + "Value": 35 + }, + { + "Group": "Clothing", + "Value": 6 + }, + { + "Group": "Clothing", + "Value": 88 + }, + { + "Group": "Clothing", + "Value": 14 + }, + { + "Group": "Clothing", + "Value": 29 + }, + { + "Group": "Clothing", + "Value": 90 + }, + { + "Group": "Clothing", + "Value": 49 + }, + { + "Group": "Clothing", + "Value": 55 + }, + { + "Group": "Clothing", + "Value": 41 + }, + { + "Group": "Clothing", + "Value": 44 + }, + { + "Group": "Clothing", + "Value": 43 + }, + { + "Group": "Clothing", + "Value": 49 + }, + { + "Group": "Clothing", + "Value": 56 + }, + { + "Group": "Clothing", + "Value": 56 + }, + { + "Group": "Clothing", + "Value": 36 + }, + { + "Group": "Clothing", + "Value": 45 + }, + { + "Group": "Clothing", + "Value": 40 + }, + { + "Group": "Food", + "Value": 26 + }, + { + "Group": "Food", + "Value": 17 + }, + { + "Group": "Food", + "Value": 40 + }, + { + "Group": "Food", + "Value": 32 + }, + { + "Group": "Food", + "Value": 65 + }, + { + "Group": "Food", + "Value": 78 + }, + { + "Group": "Food", + "Value": 30 + }, + { + "Group": "Food", + "Value": 51 + }, + { + "Group": "Food", + "Value": 43 + }, + { + "Group": "Food", + "Value": 62 + }, + { + "Group": "Food", + "Value": 49 + }, + { + "Group": "Food", + "Value": 90 + }, + { + "Group": "Food", + "Value": 96 + }, + { + "Group": "Food", + "Value": 67 + }, + { + "Group": "Food", + "Value": 82 + }, + { + "Group": "Food", + "Value": 11 + }, + { + "Group": "Food", + "Value": 69 + }, + { + "Group": "Food", + "Value": 6 + }, + { + "Group": "Food", + "Value": 6 + }, + { + "Group": "Food", + "Value": 14 + }, + { + "Group": "Food", + "Value": 47 + }, + { + "Group": "Food", + "Value": 76 + }, + { + "Group": "Food", + "Value": 11 + }, + { + "Group": "Food", + "Value": 92 + }, + { + "Group": "Food", + "Value": 77 + }, + { + "Group": "Food", + "Value": 68 + }, + { + "Group": "Food", + "Value": 36 + }, + { + "Group": "Food", + "Value": 79 + }, + { + "Group": "Food", + "Value": 62 + }, + { + "Group": "Food", + "Value": 0 + }, + { + "Group": "Books", + "Value": 24 + }, + { + "Group": "Books", + "Value": 43 + }, + { + "Group": "Books", + "Value": 71 + }, + { + "Group": "Books", + "Value": 29 + }, + { + "Group": "Books", + "Value": 78 + }, + { + "Group": "Books", + "Value": 19 + }, + { + "Group": "Books", + "Value": 46 + }, + { + "Group": "Books", + "Value": 6 + }, + { + "Group": "Books", + "Value": 52 + }, + { + "Group": "Books", + "Value": 78 + }, + { + "Group": "Books", + "Value": 11 + }, + { + "Group": "Books", + "Value": 54 + }, + { + "Group": "Books", + "Value": 5 + }, + { + "Group": "Books", + "Value": 83 + }, + { + "Group": "Books", + "Value": 60 + }, + { + "Group": "Books", + "Value": 16 + }, + { + "Group": "Books", + "Value": 68 + }, + { + "Group": "Books", + "Value": 14 + }, + { + "Group": "Books", + "Value": 11 + }, + { + "Group": "Books", + "Value": 94 + }, + { + "Group": "Books", + "Value": 75 + }, + { + "Group": "Books", + "Value": 80 + }, + { + "Group": "Books", + "Value": 21 + }, + { + "Group": "Books", + "Value": 52 + }, + { + "Group": "Books", + "Value": 39 + }, + { + "Group": "Books", + "Value": 43 + }, + { + "Group": "Books", + "Value": 84 + }, + { + "Group": "Books", + "Value": 93 + }, + { + "Group": "Books", + "Value": 30 + }, + { + "Group": "Books", + "Value": 30 + }, + { + "Group": "Sports", + "Value": 69 + }, + { + "Group": "Sports", + "Value": 21 + }, + { + "Group": "Sports", + "Value": 10 + }, + { + "Group": "Sports", + "Value": 1 + }, + { + "Group": "Sports", + "Value": 81 + }, + { + "Group": "Sports", + "Value": 87 + }, + { + "Group": "Sports", + "Value": 53 + }, + { + "Group": "Sports", + "Value": 94 + }, + { + "Group": "Sports", + "Value": 63 + }, + { + "Group": "Sports", + "Value": 28 + }, + { + "Group": "Sports", + "Value": 89 + }, + { + "Group": "Sports", + "Value": 44 + }, + { + "Group": "Sports", + "Value": 23 + }, + { + "Group": "Sports", + "Value": 94 + }, + { + "Group": "Sports", + "Value": 7 + }, + { + "Group": "Sports", + "Value": 41 + }, + { + "Group": "Sports", + "Value": 82 + }, + { + "Group": "Sports", + "Value": 27 + }, + { + "Group": "Sports", + "Value": 3 + }, + { + "Group": "Sports", + "Value": 90 + }, + { + "Group": "Sports", + "Value": 8 + }, + { + "Group": "Sports", + "Value": 79 + }, + { + "Group": "Sports", + "Value": 30 + }, + { + "Group": "Sports", + "Value": 71 + }, + { + "Group": "Sports", + "Value": 31 + }, + { + "Group": "Sports", + "Value": 14 + }, + { + "Group": "Sports", + "Value": 27 + }, + { + "Group": "Sports", + "Value": 43 + }, + { + "Group": "Sports", + "Value": 49 + }, + { + "Group": "Sports", + "Value": 96 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/01-card5.flint.json b/test-harness/excel/evaluations/inputs/boxplot/01-card5.flint.json new file mode 100644 index 00000000..4c37a009 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/01-card5.flint.json @@ -0,0 +1,421 @@ +{ + "semantic_types": { + "Level": "Rank", + "Score": "Score" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Level", + "y": "Score" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Level": 1, + "Score": 43 + }, + { + "Level": 1, + "Score": 41 + }, + { + "Level": 1, + "Score": 19 + }, + { + "Level": 1, + "Score": 43 + }, + { + "Level": 1, + "Score": 29 + }, + { + "Level": 1, + "Score": 30 + }, + { + "Level": 1, + "Score": 38 + }, + { + "Level": 1, + "Score": 45 + }, + { + "Level": 1, + "Score": 16 + }, + { + "Level": 1, + "Score": 16 + }, + { + "Level": 1, + "Score": 30 + }, + { + "Level": 1, + "Score": 30 + }, + { + "Level": 1, + "Score": 31 + }, + { + "Level": 1, + "Score": 21 + }, + { + "Level": 1, + "Score": 45 + }, + { + "Level": 1, + "Score": 17 + }, + { + "Level": 1, + "Score": 32 + }, + { + "Level": 1, + "Score": 27 + }, + { + "Level": 1, + "Score": 20 + }, + { + "Level": 1, + "Score": 19 + }, + { + "Level": 2, + "Score": 53 + }, + { + "Level": 2, + "Score": 58 + }, + { + "Level": 2, + "Score": 41 + }, + { + "Level": 2, + "Score": 42 + }, + { + "Level": 2, + "Score": 50 + }, + { + "Level": 2, + "Score": 49 + }, + { + "Level": 2, + "Score": 26 + }, + { + "Level": 2, + "Score": 43 + }, + { + "Level": 2, + "Score": 28 + }, + { + "Level": 2, + "Score": 49 + }, + { + "Level": 2, + "Score": 47 + }, + { + "Level": 2, + "Score": 44 + }, + { + "Level": 2, + "Score": 30 + }, + { + "Level": 2, + "Score": 27 + }, + { + "Level": 2, + "Score": 26 + }, + { + "Level": 2, + "Score": 47 + }, + { + "Level": 2, + "Score": 49 + }, + { + "Level": 2, + "Score": 30 + }, + { + "Level": 2, + "Score": 24 + }, + { + "Level": 2, + "Score": 44 + }, + { + "Level": 3, + "Score": 65 + }, + { + "Level": 3, + "Score": 37 + }, + { + "Level": 3, + "Score": 41 + }, + { + "Level": 3, + "Score": 42 + }, + { + "Level": 3, + "Score": 34 + }, + { + "Level": 3, + "Score": 53 + }, + { + "Level": 3, + "Score": 68 + }, + { + "Level": 3, + "Score": 67 + }, + { + "Level": 3, + "Score": 51 + }, + { + "Level": 3, + "Score": 42 + }, + { + "Level": 3, + "Score": 41 + }, + { + "Level": 3, + "Score": 52 + }, + { + "Level": 3, + "Score": 30 + }, + { + "Level": 3, + "Score": 34 + }, + { + "Level": 3, + "Score": 66 + }, + { + "Level": 3, + "Score": 51 + }, + { + "Level": 3, + "Score": 38 + }, + { + "Level": 3, + "Score": 34 + }, + { + "Level": 3, + "Score": 46 + }, + { + "Level": 3, + "Score": 63 + }, + { + "Level": 4, + "Score": 68 + }, + { + "Level": 4, + "Score": 64 + }, + { + "Level": 4, + "Score": 41 + }, + { + "Level": 4, + "Score": 73 + }, + { + "Level": 4, + "Score": 59 + }, + { + "Level": 4, + "Score": 78 + }, + { + "Level": 4, + "Score": 60 + }, + { + "Level": 4, + "Score": 63 + }, + { + "Level": 4, + "Score": 48 + }, + { + "Level": 4, + "Score": 55 + }, + { + "Level": 4, + "Score": 49 + }, + { + "Level": 4, + "Score": 60 + }, + { + "Level": 4, + "Score": 53 + }, + { + "Level": 4, + "Score": 65 + }, + { + "Level": 4, + "Score": 56 + }, + { + "Level": 4, + "Score": 50 + }, + { + "Level": 4, + "Score": 55 + }, + { + "Level": 4, + "Score": 57 + }, + { + "Level": 4, + "Score": 68 + }, + { + "Level": 4, + "Score": 66 + }, + { + "Level": 5, + "Score": 55 + }, + { + "Level": 5, + "Score": 51 + }, + { + "Level": 5, + "Score": 81 + }, + { + "Level": 5, + "Score": 67 + }, + { + "Level": 5, + "Score": 60 + }, + { + "Level": 5, + "Score": 72 + }, + { + "Level": 5, + "Score": 85 + }, + { + "Level": 5, + "Score": 59 + }, + { + "Level": 5, + "Score": 51 + }, + { + "Level": 5, + "Score": 60 + }, + { + "Level": 5, + "Score": 52 + }, + { + "Level": 5, + "Score": 82 + }, + { + "Level": 5, + "Score": 61 + }, + { + "Level": 5, + "Score": 76 + }, + { + "Level": 5, + "Score": 74 + }, + { + "Level": 5, + "Score": 53 + }, + { + "Level": 5, + "Score": 65 + }, + { + "Level": 5, + "Score": 71 + }, + { + "Level": 5, + "Score": 64 + }, + { + "Level": 5, + "Score": 68 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/02-card12.flint.json b/test-harness/excel/evaluations/inputs/boxplot/02-card12.flint.json new file mode 100644 index 00000000..e99b2960 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/02-card12.flint.json @@ -0,0 +1,2421 @@ +{ + "semantic_types": { + "Department": "Department", + "Salary": "Amount" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Department", + "y": "Salary" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Department": "Engineering", + "Salary": 79984 + }, + { + "Department": "Engineering", + "Salary": 103836 + }, + { + "Department": "Engineering", + "Salary": 71569 + }, + { + "Department": "Engineering", + "Salary": 46139 + }, + { + "Department": "Engineering", + "Salary": 80917 + }, + { + "Department": "Engineering", + "Salary": 78792 + }, + { + "Department": "Engineering", + "Salary": 119516 + }, + { + "Department": "Engineering", + "Salary": 77207 + }, + { + "Department": "Engineering", + "Salary": 111998 + }, + { + "Department": "Engineering", + "Salary": 89270 + }, + { + "Department": "Engineering", + "Salary": 59331 + }, + { + "Department": "Engineering", + "Salary": 41468 + }, + { + "Department": "Engineering", + "Salary": 52099 + }, + { + "Department": "Engineering", + "Salary": 55959 + }, + { + "Department": "Engineering", + "Salary": 126408 + }, + { + "Department": "Engineering", + "Salary": 114034 + }, + { + "Department": "Engineering", + "Salary": 113583 + }, + { + "Department": "Engineering", + "Salary": 87931 + }, + { + "Department": "Engineering", + "Salary": 119107 + }, + { + "Department": "Engineering", + "Salary": 51152 + }, + { + "Department": "Engineering", + "Salary": 91412 + }, + { + "Department": "Engineering", + "Salary": 63785 + }, + { + "Department": "Engineering", + "Salary": 137701 + }, + { + "Department": "Engineering", + "Salary": 84038 + }, + { + "Department": "Engineering", + "Salary": 92194 + }, + { + "Department": "Engineering", + "Salary": 128943 + }, + { + "Department": "Engineering", + "Salary": 126729 + }, + { + "Department": "Engineering", + "Salary": 114677 + }, + { + "Department": "Engineering", + "Salary": 116625 + }, + { + "Department": "Engineering", + "Salary": 91094 + }, + { + "Department": "Engineering", + "Salary": 123268 + }, + { + "Department": "Engineering", + "Salary": 140563 + }, + { + "Department": "Engineering", + "Salary": 63202 + }, + { + "Department": "Engineering", + "Salary": 61807 + }, + { + "Department": "Engineering", + "Salary": 130557 + }, + { + "Department": "Engineering", + "Salary": 126992 + }, + { + "Department": "Engineering", + "Salary": 92215 + }, + { + "Department": "Engineering", + "Salary": 114070 + }, + { + "Department": "Engineering", + "Salary": 114849 + }, + { + "Department": "Engineering", + "Salary": 127951 + }, + { + "Department": "Engineering", + "Salary": 131796 + }, + { + "Department": "Engineering", + "Salary": 79419 + }, + { + "Department": "Engineering", + "Salary": 96708 + }, + { + "Department": "Engineering", + "Salary": 32167 + }, + { + "Department": "Engineering", + "Salary": 92332 + }, + { + "Department": "Engineering", + "Salary": 47540 + }, + { + "Department": "Engineering", + "Salary": 100494 + }, + { + "Department": "Engineering", + "Salary": 66265 + }, + { + "Department": "Engineering", + "Salary": 54614 + }, + { + "Department": "Engineering", + "Salary": 70664 + }, + { + "Department": "Sales", + "Salary": 74396 + }, + { + "Department": "Sales", + "Salary": 36995 + }, + { + "Department": "Sales", + "Salary": 109734 + }, + { + "Department": "Sales", + "Salary": 78112 + }, + { + "Department": "Sales", + "Salary": 91016 + }, + { + "Department": "Sales", + "Salary": 120197 + }, + { + "Department": "Sales", + "Salary": 138649 + }, + { + "Department": "Sales", + "Salary": 47342 + }, + { + "Department": "Sales", + "Salary": 136093 + }, + { + "Department": "Sales", + "Salary": 54703 + }, + { + "Department": "Sales", + "Salary": 125941 + }, + { + "Department": "Sales", + "Salary": 64355 + }, + { + "Department": "Sales", + "Salary": 118553 + }, + { + "Department": "Sales", + "Salary": 101069 + }, + { + "Department": "Sales", + "Salary": 121977 + }, + { + "Department": "Sales", + "Salary": 41111 + }, + { + "Department": "Sales", + "Salary": 45802 + }, + { + "Department": "Sales", + "Salary": 51768 + }, + { + "Department": "Sales", + "Salary": 117315 + }, + { + "Department": "Sales", + "Salary": 48958 + }, + { + "Department": "Sales", + "Salary": 64320 + }, + { + "Department": "Sales", + "Salary": 124206 + }, + { + "Department": "Sales", + "Salary": 65715 + }, + { + "Department": "Sales", + "Salary": 54616 + }, + { + "Department": "Sales", + "Salary": 117906 + }, + { + "Department": "Sales", + "Salary": 148055 + }, + { + "Department": "Sales", + "Salary": 92065 + }, + { + "Department": "Sales", + "Salary": 112006 + }, + { + "Department": "Sales", + "Salary": 109021 + }, + { + "Department": "Sales", + "Salary": 101215 + }, + { + "Department": "Sales", + "Salary": 52792 + }, + { + "Department": "Sales", + "Salary": 49007 + }, + { + "Department": "Sales", + "Salary": 43479 + }, + { + "Department": "Sales", + "Salary": 126739 + }, + { + "Department": "Sales", + "Salary": 45283 + }, + { + "Department": "Sales", + "Salary": 87822 + }, + { + "Department": "Sales", + "Salary": 90616 + }, + { + "Department": "Sales", + "Salary": 124109 + }, + { + "Department": "Sales", + "Salary": 128329 + }, + { + "Department": "Sales", + "Salary": 119472 + }, + { + "Department": "Sales", + "Salary": 59869 + }, + { + "Department": "Sales", + "Salary": 73901 + }, + { + "Department": "Sales", + "Salary": 120655 + }, + { + "Department": "Sales", + "Salary": 33103 + }, + { + "Department": "Sales", + "Salary": 94497 + }, + { + "Department": "Sales", + "Salary": 69237 + }, + { + "Department": "Sales", + "Salary": 88576 + }, + { + "Department": "Sales", + "Salary": 43702 + }, + { + "Department": "Sales", + "Salary": 41048 + }, + { + "Department": "Sales", + "Salary": 66471 + }, + { + "Department": "Marketing", + "Salary": 30207 + }, + { + "Department": "Marketing", + "Salary": 143862 + }, + { + "Department": "Marketing", + "Salary": 63964 + }, + { + "Department": "Marketing", + "Salary": 143735 + }, + { + "Department": "Marketing", + "Salary": 96224 + }, + { + "Department": "Marketing", + "Salary": 63087 + }, + { + "Department": "Marketing", + "Salary": 38266 + }, + { + "Department": "Marketing", + "Salary": 110675 + }, + { + "Department": "Marketing", + "Salary": 53654 + }, + { + "Department": "Marketing", + "Salary": 145848 + }, + { + "Department": "Marketing", + "Salary": 86051 + }, + { + "Department": "Marketing", + "Salary": 85848 + }, + { + "Department": "Marketing", + "Salary": 143618 + }, + { + "Department": "Marketing", + "Salary": 40226 + }, + { + "Department": "Marketing", + "Salary": 65474 + }, + { + "Department": "Marketing", + "Salary": 89208 + }, + { + "Department": "Marketing", + "Salary": 105519 + }, + { + "Department": "Marketing", + "Salary": 37281 + }, + { + "Department": "Marketing", + "Salary": 115584 + }, + { + "Department": "Marketing", + "Salary": 123931 + }, + { + "Department": "Marketing", + "Salary": 127988 + }, + { + "Department": "Marketing", + "Salary": 33134 + }, + { + "Department": "Marketing", + "Salary": 146512 + }, + { + "Department": "Marketing", + "Salary": 85031 + }, + { + "Department": "Marketing", + "Salary": 92909 + }, + { + "Department": "Marketing", + "Salary": 133796 + }, + { + "Department": "Marketing", + "Salary": 87409 + }, + { + "Department": "Marketing", + "Salary": 107630 + }, + { + "Department": "Marketing", + "Salary": 113374 + }, + { + "Department": "Marketing", + "Salary": 53648 + }, + { + "Department": "Marketing", + "Salary": 38775 + }, + { + "Department": "Marketing", + "Salary": 147049 + }, + { + "Department": "Marketing", + "Salary": 108986 + }, + { + "Department": "Marketing", + "Salary": 114471 + }, + { + "Department": "Marketing", + "Salary": 129030 + }, + { + "Department": "Marketing", + "Salary": 147330 + }, + { + "Department": "Marketing", + "Salary": 148050 + }, + { + "Department": "Marketing", + "Salary": 143018 + }, + { + "Department": "Marketing", + "Salary": 48809 + }, + { + "Department": "Marketing", + "Salary": 67299 + }, + { + "Department": "Marketing", + "Salary": 41329 + }, + { + "Department": "Marketing", + "Salary": 111048 + }, + { + "Department": "Marketing", + "Salary": 89757 + }, + { + "Department": "Marketing", + "Salary": 82702 + }, + { + "Department": "Marketing", + "Salary": 72125 + }, + { + "Department": "Marketing", + "Salary": 142188 + }, + { + "Department": "Marketing", + "Salary": 125380 + }, + { + "Department": "Marketing", + "Salary": 127908 + }, + { + "Department": "Marketing", + "Salary": 127439 + }, + { + "Department": "Marketing", + "Salary": 39375 + }, + { + "Department": "HR", + "Salary": 34632 + }, + { + "Department": "HR", + "Salary": 126355 + }, + { + "Department": "HR", + "Salary": 70480 + }, + { + "Department": "HR", + "Salary": 92867 + }, + { + "Department": "HR", + "Salary": 37548 + }, + { + "Department": "HR", + "Salary": 54270 + }, + { + "Department": "HR", + "Salary": 48302 + }, + { + "Department": "HR", + "Salary": 70414 + }, + { + "Department": "HR", + "Salary": 62537 + }, + { + "Department": "HR", + "Salary": 44191 + }, + { + "Department": "HR", + "Salary": 95192 + }, + { + "Department": "HR", + "Salary": 108972 + }, + { + "Department": "HR", + "Salary": 110646 + }, + { + "Department": "HR", + "Salary": 43948 + }, + { + "Department": "HR", + "Salary": 87552 + }, + { + "Department": "HR", + "Salary": 113418 + }, + { + "Department": "HR", + "Salary": 83329 + }, + { + "Department": "HR", + "Salary": 53009 + }, + { + "Department": "HR", + "Salary": 106153 + }, + { + "Department": "HR", + "Salary": 139857 + }, + { + "Department": "HR", + "Salary": 80618 + }, + { + "Department": "HR", + "Salary": 85563 + }, + { + "Department": "HR", + "Salary": 31599 + }, + { + "Department": "HR", + "Salary": 149033 + }, + { + "Department": "HR", + "Salary": 95124 + }, + { + "Department": "HR", + "Salary": 56169 + }, + { + "Department": "HR", + "Salary": 49160 + }, + { + "Department": "HR", + "Salary": 99299 + }, + { + "Department": "HR", + "Salary": 143542 + }, + { + "Department": "HR", + "Salary": 83184 + }, + { + "Department": "HR", + "Salary": 127815 + }, + { + "Department": "HR", + "Salary": 128696 + }, + { + "Department": "HR", + "Salary": 57923 + }, + { + "Department": "HR", + "Salary": 128171 + }, + { + "Department": "HR", + "Salary": 111025 + }, + { + "Department": "HR", + "Salary": 49223 + }, + { + "Department": "HR", + "Salary": 70180 + }, + { + "Department": "HR", + "Salary": 95860 + }, + { + "Department": "HR", + "Salary": 64234 + }, + { + "Department": "HR", + "Salary": 120743 + }, + { + "Department": "HR", + "Salary": 68529 + }, + { + "Department": "HR", + "Salary": 62533 + }, + { + "Department": "HR", + "Salary": 93905 + }, + { + "Department": "HR", + "Salary": 76409 + }, + { + "Department": "HR", + "Salary": 139367 + }, + { + "Department": "HR", + "Salary": 120579 + }, + { + "Department": "HR", + "Salary": 71874 + }, + { + "Department": "HR", + "Salary": 125167 + }, + { + "Department": "HR", + "Salary": 140774 + }, + { + "Department": "HR", + "Salary": 136544 + }, + { + "Department": "Finance", + "Salary": 69363 + }, + { + "Department": "Finance", + "Salary": 48357 + }, + { + "Department": "Finance", + "Salary": 30420 + }, + { + "Department": "Finance", + "Salary": 128394 + }, + { + "Department": "Finance", + "Salary": 131698 + }, + { + "Department": "Finance", + "Salary": 110538 + }, + { + "Department": "Finance", + "Salary": 147196 + }, + { + "Department": "Finance", + "Salary": 67192 + }, + { + "Department": "Finance", + "Salary": 38318 + }, + { + "Department": "Finance", + "Salary": 34213 + }, + { + "Department": "Finance", + "Salary": 46033 + }, + { + "Department": "Finance", + "Salary": 94796 + }, + { + "Department": "Finance", + "Salary": 55243 + }, + { + "Department": "Finance", + "Salary": 81853 + }, + { + "Department": "Finance", + "Salary": 77939 + }, + { + "Department": "Finance", + "Salary": 65503 + }, + { + "Department": "Finance", + "Salary": 94101 + }, + { + "Department": "Finance", + "Salary": 132290 + }, + { + "Department": "Finance", + "Salary": 101968 + }, + { + "Department": "Finance", + "Salary": 113234 + }, + { + "Department": "Finance", + "Salary": 98756 + }, + { + "Department": "Finance", + "Salary": 135886 + }, + { + "Department": "Finance", + "Salary": 60667 + }, + { + "Department": "Finance", + "Salary": 51838 + }, + { + "Department": "Finance", + "Salary": 96182 + }, + { + "Department": "Finance", + "Salary": 70296 + }, + { + "Department": "Finance", + "Salary": 120549 + }, + { + "Department": "Finance", + "Salary": 52817 + }, + { + "Department": "Finance", + "Salary": 116045 + }, + { + "Department": "Finance", + "Salary": 71351 + }, + { + "Department": "Finance", + "Salary": 95539 + }, + { + "Department": "Finance", + "Salary": 71081 + }, + { + "Department": "Finance", + "Salary": 119365 + }, + { + "Department": "Finance", + "Salary": 59659 + }, + { + "Department": "Finance", + "Salary": 146549 + }, + { + "Department": "Finance", + "Salary": 102740 + }, + { + "Department": "Finance", + "Salary": 128560 + }, + { + "Department": "Finance", + "Salary": 43043 + }, + { + "Department": "Finance", + "Salary": 121258 + }, + { + "Department": "Finance", + "Salary": 75581 + }, + { + "Department": "Finance", + "Salary": 146248 + }, + { + "Department": "Finance", + "Salary": 87136 + }, + { + "Department": "Finance", + "Salary": 69892 + }, + { + "Department": "Finance", + "Salary": 49926 + }, + { + "Department": "Finance", + "Salary": 118695 + }, + { + "Department": "Finance", + "Salary": 84880 + }, + { + "Department": "Finance", + "Salary": 78038 + }, + { + "Department": "Finance", + "Salary": 50055 + }, + { + "Department": "Finance", + "Salary": 128572 + }, + { + "Department": "Finance", + "Salary": 130241 + }, + { + "Department": "Legal", + "Salary": 105276 + }, + { + "Department": "Legal", + "Salary": 33123 + }, + { + "Department": "Legal", + "Salary": 73300 + }, + { + "Department": "Legal", + "Salary": 100086 + }, + { + "Department": "Legal", + "Salary": 42974 + }, + { + "Department": "Legal", + "Salary": 47913 + }, + { + "Department": "Legal", + "Salary": 134755 + }, + { + "Department": "Legal", + "Salary": 129647 + }, + { + "Department": "Legal", + "Salary": 71643 + }, + { + "Department": "Legal", + "Salary": 77455 + }, + { + "Department": "Legal", + "Salary": 85373 + }, + { + "Department": "Legal", + "Salary": 79200 + }, + { + "Department": "Legal", + "Salary": 141159 + }, + { + "Department": "Legal", + "Salary": 117834 + }, + { + "Department": "Legal", + "Salary": 128099 + }, + { + "Department": "Legal", + "Salary": 97340 + }, + { + "Department": "Legal", + "Salary": 87835 + }, + { + "Department": "Legal", + "Salary": 67217 + }, + { + "Department": "Legal", + "Salary": 102888 + }, + { + "Department": "Legal", + "Salary": 100329 + }, + { + "Department": "Legal", + "Salary": 47139 + }, + { + "Department": "Legal", + "Salary": 80689 + }, + { + "Department": "Legal", + "Salary": 73309 + }, + { + "Department": "Legal", + "Salary": 119926 + }, + { + "Department": "Legal", + "Salary": 144388 + }, + { + "Department": "Legal", + "Salary": 33137 + }, + { + "Department": "Legal", + "Salary": 80274 + }, + { + "Department": "Legal", + "Salary": 70713 + }, + { + "Department": "Legal", + "Salary": 48109 + }, + { + "Department": "Legal", + "Salary": 65012 + }, + { + "Department": "Legal", + "Salary": 118670 + }, + { + "Department": "Legal", + "Salary": 145864 + }, + { + "Department": "Legal", + "Salary": 121660 + }, + { + "Department": "Legal", + "Salary": 126934 + }, + { + "Department": "Legal", + "Salary": 77505 + }, + { + "Department": "Legal", + "Salary": 86428 + }, + { + "Department": "Legal", + "Salary": 58158 + }, + { + "Department": "Legal", + "Salary": 113297 + }, + { + "Department": "Legal", + "Salary": 82379 + }, + { + "Department": "Legal", + "Salary": 36986 + }, + { + "Department": "Legal", + "Salary": 77406 + }, + { + "Department": "Legal", + "Salary": 105526 + }, + { + "Department": "Legal", + "Salary": 42388 + }, + { + "Department": "Legal", + "Salary": 149220 + }, + { + "Department": "Legal", + "Salary": 116800 + }, + { + "Department": "Legal", + "Salary": 37115 + }, + { + "Department": "Legal", + "Salary": 87910 + }, + { + "Department": "Legal", + "Salary": 119172 + }, + { + "Department": "Legal", + "Salary": 68275 + }, + { + "Department": "Legal", + "Salary": 122644 + }, + { + "Department": "Operations", + "Salary": 104218 + }, + { + "Department": "Operations", + "Salary": 132453 + }, + { + "Department": "Operations", + "Salary": 71059 + }, + { + "Department": "Operations", + "Salary": 110295 + }, + { + "Department": "Operations", + "Salary": 140614 + }, + { + "Department": "Operations", + "Salary": 85025 + }, + { + "Department": "Operations", + "Salary": 108393 + }, + { + "Department": "Operations", + "Salary": 96081 + }, + { + "Department": "Operations", + "Salary": 52143 + }, + { + "Department": "Operations", + "Salary": 67000 + }, + { + "Department": "Operations", + "Salary": 49200 + }, + { + "Department": "Operations", + "Salary": 42607 + }, + { + "Department": "Operations", + "Salary": 109916 + }, + { + "Department": "Operations", + "Salary": 130383 + }, + { + "Department": "Operations", + "Salary": 87408 + }, + { + "Department": "Operations", + "Salary": 86437 + }, + { + "Department": "Operations", + "Salary": 79567 + }, + { + "Department": "Operations", + "Salary": 54884 + }, + { + "Department": "Operations", + "Salary": 50910 + }, + { + "Department": "Operations", + "Salary": 95991 + }, + { + "Department": "Operations", + "Salary": 105027 + }, + { + "Department": "Operations", + "Salary": 41414 + }, + { + "Department": "Operations", + "Salary": 97686 + }, + { + "Department": "Operations", + "Salary": 147006 + }, + { + "Department": "Operations", + "Salary": 114464 + }, + { + "Department": "Operations", + "Salary": 130073 + }, + { + "Department": "Operations", + "Salary": 30826 + }, + { + "Department": "Operations", + "Salary": 119619 + }, + { + "Department": "Operations", + "Salary": 142819 + }, + { + "Department": "Operations", + "Salary": 61218 + }, + { + "Department": "Operations", + "Salary": 64009 + }, + { + "Department": "Operations", + "Salary": 63862 + }, + { + "Department": "Operations", + "Salary": 106052 + }, + { + "Department": "Operations", + "Salary": 123279 + }, + { + "Department": "Operations", + "Salary": 81949 + }, + { + "Department": "Operations", + "Salary": 129288 + }, + { + "Department": "Operations", + "Salary": 41875 + }, + { + "Department": "Operations", + "Salary": 57744 + }, + { + "Department": "Operations", + "Salary": 127040 + }, + { + "Department": "Operations", + "Salary": 54109 + }, + { + "Department": "Operations", + "Salary": 109504 + }, + { + "Department": "Operations", + "Salary": 59300 + }, + { + "Department": "Operations", + "Salary": 117312 + }, + { + "Department": "Operations", + "Salary": 121291 + }, + { + "Department": "Operations", + "Salary": 40267 + }, + { + "Department": "Operations", + "Salary": 34430 + }, + { + "Department": "Operations", + "Salary": 91222 + }, + { + "Department": "Operations", + "Salary": 102480 + }, + { + "Department": "Operations", + "Salary": 85086 + }, + { + "Department": "Operations", + "Salary": 58115 + }, + { + "Department": "Support", + "Salary": 118620 + }, + { + "Department": "Support", + "Salary": 149317 + }, + { + "Department": "Support", + "Salary": 68469 + }, + { + "Department": "Support", + "Salary": 143461 + }, + { + "Department": "Support", + "Salary": 55436 + }, + { + "Department": "Support", + "Salary": 91470 + }, + { + "Department": "Support", + "Salary": 78582 + }, + { + "Department": "Support", + "Salary": 73305 + }, + { + "Department": "Support", + "Salary": 53285 + }, + { + "Department": "Support", + "Salary": 65384 + }, + { + "Department": "Support", + "Salary": 124043 + }, + { + "Department": "Support", + "Salary": 92747 + }, + { + "Department": "Support", + "Salary": 58997 + }, + { + "Department": "Support", + "Salary": 59396 + }, + { + "Department": "Support", + "Salary": 41987 + }, + { + "Department": "Support", + "Salary": 132760 + }, + { + "Department": "Support", + "Salary": 84140 + }, + { + "Department": "Support", + "Salary": 129039 + }, + { + "Department": "Support", + "Salary": 62084 + }, + { + "Department": "Support", + "Salary": 107873 + }, + { + "Department": "Support", + "Salary": 129745 + }, + { + "Department": "Support", + "Salary": 38019 + }, + { + "Department": "Support", + "Salary": 49613 + }, + { + "Department": "Support", + "Salary": 146420 + }, + { + "Department": "Support", + "Salary": 106826 + }, + { + "Department": "Support", + "Salary": 47659 + }, + { + "Department": "Support", + "Salary": 56597 + }, + { + "Department": "Support", + "Salary": 43409 + }, + { + "Department": "Support", + "Salary": 32847 + }, + { + "Department": "Support", + "Salary": 114625 + }, + { + "Department": "Support", + "Salary": 84560 + }, + { + "Department": "Support", + "Salary": 98375 + }, + { + "Department": "Support", + "Salary": 81946 + }, + { + "Department": "Support", + "Salary": 90811 + }, + { + "Department": "Support", + "Salary": 45278 + }, + { + "Department": "Support", + "Salary": 130411 + }, + { + "Department": "Support", + "Salary": 74569 + }, + { + "Department": "Support", + "Salary": 61195 + }, + { + "Department": "Support", + "Salary": 44836 + }, + { + "Department": "Support", + "Salary": 134794 + }, + { + "Department": "Support", + "Salary": 68282 + }, + { + "Department": "Support", + "Salary": 109957 + }, + { + "Department": "Support", + "Salary": 108277 + }, + { + "Department": "Support", + "Salary": 70837 + }, + { + "Department": "Support", + "Salary": 94900 + }, + { + "Department": "Support", + "Salary": 124168 + }, + { + "Department": "Support", + "Salary": 38910 + }, + { + "Department": "Support", + "Salary": 145748 + }, + { + "Department": "Support", + "Salary": 84154 + }, + { + "Department": "Support", + "Salary": 111023 + }, + { + "Department": "Design", + "Salary": 142030 + }, + { + "Department": "Design", + "Salary": 124766 + }, + { + "Department": "Design", + "Salary": 120280 + }, + { + "Department": "Design", + "Salary": 93524 + }, + { + "Department": "Design", + "Salary": 31632 + }, + { + "Department": "Design", + "Salary": 99215 + }, + { + "Department": "Design", + "Salary": 46955 + }, + { + "Department": "Design", + "Salary": 112023 + }, + { + "Department": "Design", + "Salary": 34632 + }, + { + "Department": "Design", + "Salary": 127594 + }, + { + "Department": "Design", + "Salary": 130281 + }, + { + "Department": "Design", + "Salary": 50078 + }, + { + "Department": "Design", + "Salary": 32691 + }, + { + "Department": "Design", + "Salary": 140668 + }, + { + "Department": "Design", + "Salary": 145162 + }, + { + "Department": "Design", + "Salary": 76636 + }, + { + "Department": "Design", + "Salary": 113245 + }, + { + "Department": "Design", + "Salary": 43226 + }, + { + "Department": "Design", + "Salary": 78383 + }, + { + "Department": "Design", + "Salary": 89681 + }, + { + "Department": "Design", + "Salary": 123869 + }, + { + "Department": "Design", + "Salary": 49143 + }, + { + "Department": "Design", + "Salary": 39626 + }, + { + "Department": "Design", + "Salary": 55326 + }, + { + "Department": "Design", + "Salary": 44276 + }, + { + "Department": "Design", + "Salary": 82534 + }, + { + "Department": "Design", + "Salary": 124622 + }, + { + "Department": "Design", + "Salary": 106886 + }, + { + "Department": "Design", + "Salary": 100407 + }, + { + "Department": "Design", + "Salary": 45243 + }, + { + "Department": "Design", + "Salary": 133984 + }, + { + "Department": "Design", + "Salary": 132256 + }, + { + "Department": "Design", + "Salary": 124613 + }, + { + "Department": "Design", + "Salary": 67464 + }, + { + "Department": "Design", + "Salary": 51447 + }, + { + "Department": "Design", + "Salary": 135502 + }, + { + "Department": "Design", + "Salary": 85835 + }, + { + "Department": "Design", + "Salary": 47562 + }, + { + "Department": "Design", + "Salary": 112262 + }, + { + "Department": "Design", + "Salary": 94277 + }, + { + "Department": "Design", + "Salary": 98629 + }, + { + "Department": "Design", + "Salary": 149231 + }, + { + "Department": "Design", + "Salary": 63708 + }, + { + "Department": "Design", + "Salary": 36264 + }, + { + "Department": "Design", + "Salary": 63093 + }, + { + "Department": "Design", + "Salary": 149893 + }, + { + "Department": "Design", + "Salary": 148886 + }, + { + "Department": "Design", + "Salary": 142140 + }, + { + "Department": "Design", + "Salary": 54334 + }, + { + "Department": "Design", + "Salary": 43848 + }, + { + "Department": "Research", + "Salary": 91964 + }, + { + "Department": "Research", + "Salary": 99097 + }, + { + "Department": "Research", + "Salary": 100529 + }, + { + "Department": "Research", + "Salary": 42939 + }, + { + "Department": "Research", + "Salary": 56595 + }, + { + "Department": "Research", + "Salary": 140310 + }, + { + "Department": "Research", + "Salary": 132219 + }, + { + "Department": "Research", + "Salary": 101077 + }, + { + "Department": "Research", + "Salary": 144561 + }, + { + "Department": "Research", + "Salary": 49150 + }, + { + "Department": "Research", + "Salary": 45804 + }, + { + "Department": "Research", + "Salary": 83331 + }, + { + "Department": "Research", + "Salary": 83953 + }, + { + "Department": "Research", + "Salary": 94999 + }, + { + "Department": "Research", + "Salary": 101956 + }, + { + "Department": "Research", + "Salary": 33164 + }, + { + "Department": "Research", + "Salary": 39355 + }, + { + "Department": "Research", + "Salary": 63672 + }, + { + "Department": "Research", + "Salary": 32155 + }, + { + "Department": "Research", + "Salary": 123287 + }, + { + "Department": "Research", + "Salary": 111126 + }, + { + "Department": "Research", + "Salary": 80545 + }, + { + "Department": "Research", + "Salary": 54473 + }, + { + "Department": "Research", + "Salary": 111217 + }, + { + "Department": "Research", + "Salary": 40731 + }, + { + "Department": "Research", + "Salary": 137643 + }, + { + "Department": "Research", + "Salary": 63170 + }, + { + "Department": "Research", + "Salary": 125359 + }, + { + "Department": "Research", + "Salary": 131760 + }, + { + "Department": "Research", + "Salary": 67805 + }, + { + "Department": "Research", + "Salary": 142686 + }, + { + "Department": "Research", + "Salary": 108345 + }, + { + "Department": "Research", + "Salary": 135207 + }, + { + "Department": "Research", + "Salary": 38713 + }, + { + "Department": "Research", + "Salary": 73035 + }, + { + "Department": "Research", + "Salary": 71124 + }, + { + "Department": "Research", + "Salary": 123338 + }, + { + "Department": "Research", + "Salary": 123828 + }, + { + "Department": "Research", + "Salary": 83515 + }, + { + "Department": "Research", + "Salary": 58003 + }, + { + "Department": "Research", + "Salary": 42196 + }, + { + "Department": "Research", + "Salary": 51199 + }, + { + "Department": "Research", + "Salary": 35254 + }, + { + "Department": "Research", + "Salary": 128896 + }, + { + "Department": "Research", + "Salary": 52692 + }, + { + "Department": "Research", + "Salary": 52659 + }, + { + "Department": "Research", + "Salary": 99469 + }, + { + "Department": "Research", + "Salary": 109774 + }, + { + "Department": "Research", + "Salary": 149458 + }, + { + "Department": "Research", + "Salary": 37221 + }, + { + "Department": "QA", + "Salary": 74511 + }, + { + "Department": "QA", + "Salary": 48619 + }, + { + "Department": "QA", + "Salary": 119656 + }, + { + "Department": "QA", + "Salary": 46338 + }, + { + "Department": "QA", + "Salary": 60000 + }, + { + "Department": "QA", + "Salary": 114199 + }, + { + "Department": "QA", + "Salary": 122876 + }, + { + "Department": "QA", + "Salary": 37779 + }, + { + "Department": "QA", + "Salary": 93936 + }, + { + "Department": "QA", + "Salary": 117596 + }, + { + "Department": "QA", + "Salary": 95262 + }, + { + "Department": "QA", + "Salary": 80060 + }, + { + "Department": "QA", + "Salary": 68683 + }, + { + "Department": "QA", + "Salary": 138711 + }, + { + "Department": "QA", + "Salary": 136279 + }, + { + "Department": "QA", + "Salary": 54425 + }, + { + "Department": "QA", + "Salary": 143391 + }, + { + "Department": "QA", + "Salary": 70176 + }, + { + "Department": "QA", + "Salary": 144806 + }, + { + "Department": "QA", + "Salary": 93701 + }, + { + "Department": "QA", + "Salary": 140920 + }, + { + "Department": "QA", + "Salary": 57365 + }, + { + "Department": "QA", + "Salary": 114027 + }, + { + "Department": "QA", + "Salary": 118486 + }, + { + "Department": "QA", + "Salary": 45865 + }, + { + "Department": "QA", + "Salary": 35221 + }, + { + "Department": "QA", + "Salary": 57198 + }, + { + "Department": "QA", + "Salary": 64623 + }, + { + "Department": "QA", + "Salary": 51166 + }, + { + "Department": "QA", + "Salary": 82639 + }, + { + "Department": "QA", + "Salary": 95121 + }, + { + "Department": "QA", + "Salary": 114703 + }, + { + "Department": "QA", + "Salary": 78726 + }, + { + "Department": "QA", + "Salary": 87117 + }, + { + "Department": "QA", + "Salary": 110519 + }, + { + "Department": "QA", + "Salary": 81097 + }, + { + "Department": "QA", + "Salary": 101191 + }, + { + "Department": "QA", + "Salary": 137217 + }, + { + "Department": "QA", + "Salary": 98828 + }, + { + "Department": "QA", + "Salary": 138746 + }, + { + "Department": "QA", + "Salary": 129509 + }, + { + "Department": "QA", + "Salary": 41967 + }, + { + "Department": "QA", + "Salary": 40984 + }, + { + "Department": "QA", + "Salary": 73179 + }, + { + "Department": "QA", + "Salary": 107324 + }, + { + "Department": "QA", + "Salary": 132308 + }, + { + "Department": "QA", + "Salary": 33902 + }, + { + "Department": "QA", + "Salary": 96884 + }, + { + "Department": "QA", + "Salary": 115122 + }, + { + "Department": "QA", + "Salary": 147917 + }, + { + "Department": "DevOps", + "Salary": 64497 + }, + { + "Department": "DevOps", + "Salary": 96031 + }, + { + "Department": "DevOps", + "Salary": 46229 + }, + { + "Department": "DevOps", + "Salary": 34646 + }, + { + "Department": "DevOps", + "Salary": 107502 + }, + { + "Department": "DevOps", + "Salary": 126406 + }, + { + "Department": "DevOps", + "Salary": 80438 + }, + { + "Department": "DevOps", + "Salary": 69212 + }, + { + "Department": "DevOps", + "Salary": 146301 + }, + { + "Department": "DevOps", + "Salary": 139205 + }, + { + "Department": "DevOps", + "Salary": 33198 + }, + { + "Department": "DevOps", + "Salary": 138451 + }, + { + "Department": "DevOps", + "Salary": 78184 + }, + { + "Department": "DevOps", + "Salary": 95863 + }, + { + "Department": "DevOps", + "Salary": 109115 + }, + { + "Department": "DevOps", + "Salary": 112081 + }, + { + "Department": "DevOps", + "Salary": 52585 + }, + { + "Department": "DevOps", + "Salary": 59234 + }, + { + "Department": "DevOps", + "Salary": 79594 + }, + { + "Department": "DevOps", + "Salary": 31000 + }, + { + "Department": "DevOps", + "Salary": 39541 + }, + { + "Department": "DevOps", + "Salary": 71030 + }, + { + "Department": "DevOps", + "Salary": 97871 + }, + { + "Department": "DevOps", + "Salary": 137660 + }, + { + "Department": "DevOps", + "Salary": 116448 + }, + { + "Department": "DevOps", + "Salary": 120894 + }, + { + "Department": "DevOps", + "Salary": 89998 + }, + { + "Department": "DevOps", + "Salary": 64199 + }, + { + "Department": "DevOps", + "Salary": 129374 + }, + { + "Department": "DevOps", + "Salary": 45934 + }, + { + "Department": "DevOps", + "Salary": 118110 + }, + { + "Department": "DevOps", + "Salary": 96248 + }, + { + "Department": "DevOps", + "Salary": 107250 + }, + { + "Department": "DevOps", + "Salary": 98014 + }, + { + "Department": "DevOps", + "Salary": 136688 + }, + { + "Department": "DevOps", + "Salary": 93539 + }, + { + "Department": "DevOps", + "Salary": 47930 + }, + { + "Department": "DevOps", + "Salary": 58701 + }, + { + "Department": "DevOps", + "Salary": 130046 + }, + { + "Department": "DevOps", + "Salary": 66543 + }, + { + "Department": "DevOps", + "Salary": 56123 + }, + { + "Department": "DevOps", + "Salary": 123028 + }, + { + "Department": "DevOps", + "Salary": 67373 + }, + { + "Department": "DevOps", + "Salary": 71826 + }, + { + "Department": "DevOps", + "Salary": 31390 + }, + { + "Department": "DevOps", + "Salary": 103624 + }, + { + "Department": "DevOps", + "Salary": 111196 + }, + { + "Department": "DevOps", + "Salary": 43988 + }, + { + "Department": "DevOps", + "Salary": 46399 + }, + { + "Department": "DevOps", + "Salary": 130701 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/03-card4.flint.json b/test-harness/excel/evaluations/inputs/boxplot/03-card4.flint.json new file mode 100644 index 00000000..d96ac0f8 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/03-card4.flint.json @@ -0,0 +1,1023 @@ +{ + "semantic_types": { + "Group": "Category", + "Score": "Score", + "Gender": "Category" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Group", + "y": "Score", + "color": "Gender" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "Electronics", + "Gender": "Male", + "Score": 27 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 74 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 56 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 100 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 37 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 57 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 23 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 77 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 61 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 81 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 62 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 99 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 27 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 47 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 21 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 38 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 79 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 78 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 91 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 37 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 55 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 72 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 71 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 53 + }, + { + "Group": "Electronics", + "Gender": "Male", + "Score": 51 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 98 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 35 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 98 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 21 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 79 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 70 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 27 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 70 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 32 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 31 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 82 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 72 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 93 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 60 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 74 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 49 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 98 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 78 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 88 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 47 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 64 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 54 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 46 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 32 + }, + { + "Group": "Electronics", + "Gender": "Female", + "Score": 50 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 72 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 21 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 61 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 54 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 25 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 84 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 24 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 43 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 92 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 66 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 93 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 66 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 49 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 66 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 30 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 91 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 76 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 64 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 26 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 39 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 27 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 71 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 82 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 29 + }, + { + "Group": "Clothing", + "Gender": "Male", + "Score": 28 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 34 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 26 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 53 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 71 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 25 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 91 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 54 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 37 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 53 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 54 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 46 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 60 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 48 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 22 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 76 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 77 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 46 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 25 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 83 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 75 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 30 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 87 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 41 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 90 + }, + { + "Group": "Clothing", + "Gender": "Female", + "Score": 67 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 46 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 31 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 58 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 29 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 24 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 47 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 52 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 32 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 85 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 94 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 77 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 36 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 77 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 49 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 92 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 21 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 54 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 39 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 22 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 42 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 52 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 32 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 33 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 89 + }, + { + "Group": "Food", + "Gender": "Male", + "Score": 46 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 97 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 43 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 94 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 45 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 29 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 74 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 53 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 92 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 52 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 55 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 73 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 66 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 73 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 38 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 25 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 36 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 57 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 82 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 24 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 46 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 34 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 74 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 94 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 22 + }, + { + "Group": "Food", + "Gender": "Female", + "Score": 41 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 20 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 76 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 38 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 91 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 77 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 46 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 26 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 36 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 75 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 42 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 26 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 32 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 27 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 92 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 31 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 94 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 22 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 40 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 30 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 35 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 23 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 67 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 98 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 65 + }, + { + "Group": "Books", + "Gender": "Male", + "Score": 67 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 100 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 60 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 98 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 30 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 72 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 87 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 60 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 41 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 26 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 75 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 93 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 28 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 72 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 24 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 63 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 21 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 32 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 21 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 37 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 36 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 77 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 99 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 21 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 43 + }, + { + "Group": "Books", + "Gender": "Female", + "Score": 89 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/04-card6.flint.json b/test-harness/excel/evaluations/inputs/boxplot/04-card6.flint.json new file mode 100644 index 00000000..974c1fcb --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/04-card6.flint.json @@ -0,0 +1,2423 @@ +{ + "semantic_types": { + "Country": "Country", + "Revenue": "Amount", + "Quarter": "Category" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Country", + "y": "Revenue", + "color": "Quarter" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 5307 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 526 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 545 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 1434 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 5028 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 4161 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 1877 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 692 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 5309 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 2401 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 5327 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 2150 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 1694 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 1988 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 1107 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 3206 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 3090 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 4890 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 1197 + }, + { + "Country": "USA", + "Quarter": "Q1", + "Revenue": 1666 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 2051 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 3976 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 727 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 4339 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 1005 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 2555 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 4573 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 3763 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 4758 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 934 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 4447 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 4969 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 3426 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 3886 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 4304 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 2715 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 2774 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 3893 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 4604 + }, + { + "Country": "USA", + "Quarter": "Q2", + "Revenue": 540 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 2818 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 2383 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 3439 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 5230 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 2178 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 3286 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 3268 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 1968 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 841 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 4237 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 5490 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 2439 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 2237 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 3269 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 1816 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 5363 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 2862 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 1643 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 1075 + }, + { + "Country": "USA", + "Quarter": "Q3", + "Revenue": 1098 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 3273 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 1599 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 3374 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 1709 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 2987 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 4249 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 1270 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 3125 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 1651 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 2504 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 2671 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 5231 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 1836 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 4205 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 4126 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 2697 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 3932 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 5347 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 4723 + }, + { + "Country": "USA", + "Quarter": "Q4", + "Revenue": 3471 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 984 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 2669 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 2967 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 3152 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 4873 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 4492 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 4069 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 4379 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 3391 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 1353 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 2873 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 1701 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 1117 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 3945 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 3172 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 5021 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 2748 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 789 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 4645 + }, + { + "Country": "China", + "Quarter": "Q1", + "Revenue": 2578 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 5442 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 929 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2789 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 4133 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2487 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2743 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 3170 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2712 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2793 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2119 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2877 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 5205 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2034 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 1109 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 5070 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 4313 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 3601 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2549 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 906 + }, + { + "Country": "China", + "Quarter": "Q2", + "Revenue": 2415 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 2034 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1530 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1890 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 2962 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 2343 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 2702 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1611 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1626 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 5056 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1228 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 3316 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 2027 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 2019 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1608 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 5361 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 2337 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 3825 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1698 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1852 + }, + { + "Country": "China", + "Quarter": "Q3", + "Revenue": 1866 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 1813 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 4311 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 5143 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 5328 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 4469 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 1118 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 2433 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 5174 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 4821 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 1418 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 4528 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 4628 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 4587 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 1710 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 2751 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 2679 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 3722 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 3544 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 2772 + }, + { + "Country": "China", + "Quarter": "Q4", + "Revenue": 3568 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 3028 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 1934 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 3670 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 1135 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 5417 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 4279 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 791 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 4260 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 4786 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 4478 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 4390 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 2668 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 1008 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 2849 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 4680 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 1019 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 4116 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 2746 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 3255 + }, + { + "Country": "Japan", + "Quarter": "Q1", + "Revenue": 3787 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 4053 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 3639 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 1813 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 4518 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 4056 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 864 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 2419 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 1501 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 5146 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 2623 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 3638 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 1636 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 4767 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 2918 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 2374 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 2505 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 800 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 4601 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 3104 + }, + { + "Country": "Japan", + "Quarter": "Q2", + "Revenue": 3599 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 1082 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 4576 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 3332 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 2739 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 1338 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 1008 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 3245 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 1546 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 1980 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 3053 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 4785 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 1021 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 2833 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 4241 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 658 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 4233 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 3218 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 942 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 2782 + }, + { + "Country": "Japan", + "Quarter": "Q3", + "Revenue": 731 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 5056 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2084 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2647 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2936 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 966 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 4979 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 5183 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2470 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2053 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2974 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 5261 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 4893 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 4264 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 4763 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 1663 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2540 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 2663 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 693 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 3256 + }, + { + "Country": "Japan", + "Quarter": "Q4", + "Revenue": 3525 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 5207 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 785 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 585 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 1464 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 2782 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 3010 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 1998 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 3226 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 4169 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 5423 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 3236 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 3507 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 2499 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 4695 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 3027 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 1972 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 4577 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 4861 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 4232 + }, + { + "Country": "Germany", + "Quarter": "Q1", + "Revenue": 2222 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 5500 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 2322 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 1158 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 4739 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 3546 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 2002 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 3070 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 5386 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 1425 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 1159 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 5184 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 3657 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 2453 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 3569 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 4223 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 5076 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 2222 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 3850 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 5036 + }, + { + "Country": "Germany", + "Quarter": "Q2", + "Revenue": 3746 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 2552 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 1194 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 779 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 983 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 3283 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 1742 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 2416 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 2754 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 4401 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 4761 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 2119 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 5243 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 3096 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 4585 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 4907 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 1255 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 2404 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 4241 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 2843 + }, + { + "Country": "Germany", + "Quarter": "Q3", + "Revenue": 4321 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 3000 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 2712 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 5084 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 5377 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 3031 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 3959 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 5032 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 1804 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 4406 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 5253 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 2469 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 3620 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 1403 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 4080 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 3323 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 3918 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 3577 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 4442 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 2048 + }, + { + "Country": "Germany", + "Quarter": "Q4", + "Revenue": 2011 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 1383 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 1345 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 4205 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 963 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 3126 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 3803 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 966 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 830 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 2945 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 3215 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 3375 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 3420 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 3788 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 5289 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 619 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 3058 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 5495 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 2639 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 1403 + }, + { + "Country": "UK", + "Quarter": "Q1", + "Revenue": 710 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 2454 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 1676 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 2158 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 3213 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 2648 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 2165 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 872 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 3347 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 3229 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 601 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 5181 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 3379 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 3837 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 3309 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 1377 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 3385 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 1987 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 707 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 2180 + }, + { + "Country": "UK", + "Quarter": "Q2", + "Revenue": 2687 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 5286 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 5086 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 1048 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 2277 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 4452 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 5189 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 3647 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 3775 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 676 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 3864 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 2572 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 4031 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 3684 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 4458 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 1083 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 1688 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 2417 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 4886 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 3385 + }, + { + "Country": "UK", + "Quarter": "Q3", + "Revenue": 3253 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 2032 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 3423 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 2712 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 2662 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 2435 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 3726 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 3745 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 4196 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 1713 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 1761 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 4448 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 2291 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 4673 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 4466 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 3937 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 4730 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 4013 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 641 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 2101 + }, + { + "Country": "UK", + "Quarter": "Q4", + "Revenue": 2731 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 1782 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 1404 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 4516 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 5168 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 966 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 3631 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 1222 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 1673 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 1636 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 2179 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 3593 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 4105 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 873 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 1993 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 4077 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 5132 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 2222 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 5364 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 1481 + }, + { + "Country": "France", + "Quarter": "Q1", + "Revenue": 2085 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 2864 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 1746 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 4188 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 3947 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 864 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 5176 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 1059 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 2550 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 4961 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 867 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 3408 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 2956 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 2261 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 3006 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 2888 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 3693 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 2854 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 4210 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 1096 + }, + { + "Country": "France", + "Quarter": "Q2", + "Revenue": 5313 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 743 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 3697 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 1631 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 3998 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 693 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 2202 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 4656 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 999 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 3215 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 4509 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 1407 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 2995 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 2415 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 642 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 538 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 3026 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 4038 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 5315 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 3588 + }, + { + "Country": "France", + "Quarter": "Q3", + "Revenue": 2390 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 3361 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4249 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4601 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4427 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 3050 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 5015 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 3122 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 649 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 5026 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 1325 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4936 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 3544 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4818 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4804 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 2942 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4422 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 4712 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 3047 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 2097 + }, + { + "Country": "France", + "Quarter": "Q4", + "Revenue": 3846 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/05-card8.flint.json b/test-harness/excel/evaluations/inputs/boxplot/05-card8.flint.json new file mode 100644 index 00000000..351401a9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/05-card8.flint.json @@ -0,0 +1,3023 @@ +{ + "semantic_types": { + "Department": "Department", + "Compensation": "Amount", + "Level": "Category" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Department", + "y": "Compensation", + "color": "Level" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 146942 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 72824 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 28969 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 58947 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 70066 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 43824 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 167706 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 105483 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 132009 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 52044 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 82344 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 82273 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 109563 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 94558 + }, + { + "Department": "Engineering", + "Level": "Intern", + "Compensation": 89065 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 162930 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 158880 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 165534 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 182107 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 117416 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 139107 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 176471 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 74754 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 98386 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 29677 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 53964 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 140616 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 152346 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 80345 + }, + { + "Department": "Engineering", + "Level": "Junior", + "Compensation": 86686 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 86304 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 144446 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 134411 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 167851 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 94792 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 161473 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 170996 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 106959 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 89210 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 153683 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 148507 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 138119 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 185002 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 136505 + }, + { + "Department": "Engineering", + "Level": "Mid", + "Compensation": 183567 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 166033 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 159207 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 60558 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 199978 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 176068 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 121789 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 136114 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 84672 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 180547 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 158516 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 178804 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 87125 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 111674 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 50471 + }, + { + "Department": "Engineering", + "Level": "Senior", + "Compensation": 70991 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 189867 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 172211 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 46417 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 183270 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 69313 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 164153 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 67210 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 175330 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 153155 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 196369 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 79962 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 129469 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 64937 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 115222 + }, + { + "Department": "Engineering", + "Level": "Lead", + "Compensation": 183400 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 155467 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 32860 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 174729 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 190183 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 61200 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 145961 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 39642 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 66732 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 186677 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 111027 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 28184 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 166597 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 195275 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 66321 + }, + { + "Department": "Sales", + "Level": "Intern", + "Compensation": 102604 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 46150 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 70042 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 163238 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 94776 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 77542 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 40621 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 70457 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 151853 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 192655 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 129255 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 142866 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 169220 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 188531 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 108186 + }, + { + "Department": "Sales", + "Level": "Junior", + "Compensation": 60725 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 29216 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 179113 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 25716 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 152276 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 132228 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 52873 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 194415 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 134621 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 194851 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 109957 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 64662 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 43382 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 95783 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 29810 + }, + { + "Department": "Sales", + "Level": "Mid", + "Compensation": 191072 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 114381 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 47205 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 123348 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 89150 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 25153 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 139276 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 37384 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 90824 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 157063 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 81120 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 155402 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 165035 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 188392 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 54415 + }, + { + "Department": "Sales", + "Level": "Senior", + "Compensation": 34808 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 197043 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 27832 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 26729 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 27490 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 48501 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 27393 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 167972 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 27417 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 54697 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 45030 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 148904 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 158913 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 199708 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 193360 + }, + { + "Department": "Sales", + "Level": "Lead", + "Compensation": 72003 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 60009 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 73709 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 194798 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 90075 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 165620 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 57972 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 141196 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 113265 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 192632 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 95930 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 49578 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 115607 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 174247 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 138134 + }, + { + "Department": "Marketing", + "Level": "Intern", + "Compensation": 85374 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 72424 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 126748 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 179808 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 156068 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 168200 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 190182 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 33566 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 139319 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 66140 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 34582 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 73881 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 121614 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 164820 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 87253 + }, + { + "Department": "Marketing", + "Level": "Junior", + "Compensation": 166649 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 189072 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 116356 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 174926 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 177179 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 64980 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 148079 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 119401 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 78925 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 188354 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 120776 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 74385 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 196717 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 140588 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 32419 + }, + { + "Department": "Marketing", + "Level": "Mid", + "Compensation": 115529 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 89050 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 88385 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 103486 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 157605 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 92387 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 165817 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 37133 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 75650 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 104456 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 188609 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 33119 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 148110 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 108694 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 26866 + }, + { + "Department": "Marketing", + "Level": "Senior", + "Compensation": 67551 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 128097 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 102942 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 128884 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 26396 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 42729 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 143351 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 98117 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 52877 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 83631 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 183749 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 74300 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 157221 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 121483 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 64454 + }, + { + "Department": "Marketing", + "Level": "Lead", + "Compensation": 49212 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 73755 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 102046 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 116327 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 25926 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 185652 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 26363 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 191048 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 69665 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 128955 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 180078 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 146066 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 50705 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 149303 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 33329 + }, + { + "Department": "HR", + "Level": "Intern", + "Compensation": 192836 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 187219 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 112769 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 88688 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 129799 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 178256 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 140272 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 144024 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 31280 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 45902 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 100443 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 119633 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 118738 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 137571 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 87150 + }, + { + "Department": "HR", + "Level": "Junior", + "Compensation": 180790 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 29217 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 33304 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 107069 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 190117 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 169024 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 29796 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 137914 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 75454 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 132500 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 82709 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 83858 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 144843 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 151982 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 93584 + }, + { + "Department": "HR", + "Level": "Mid", + "Compensation": 162265 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 189251 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 134744 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 159542 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 101653 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 154261 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 70782 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 191135 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 123517 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 132421 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 149897 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 42516 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 65816 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 196742 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 50013 + }, + { + "Department": "HR", + "Level": "Senior", + "Compensation": 68809 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 105192 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 144708 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 153922 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 143104 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 155457 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 47204 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 107783 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 101932 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 120617 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 41495 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 54945 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 183372 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 41202 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 29056 + }, + { + "Department": "HR", + "Level": "Lead", + "Compensation": 119763 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 27701 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 100698 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 25178 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 48605 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 37437 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 99323 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 194257 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 95259 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 137771 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 111591 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 52117 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 75000 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 199619 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 94110 + }, + { + "Department": "Finance", + "Level": "Intern", + "Compensation": 77021 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 38739 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 104236 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 161688 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 108927 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 89288 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 68265 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 55456 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 198449 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 29423 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 156988 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 41338 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 46418 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 28601 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 165025 + }, + { + "Department": "Finance", + "Level": "Junior", + "Compensation": 25098 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 102658 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 69783 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 193433 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 79169 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 91837 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 37743 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 166672 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 63569 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 46310 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 129147 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 65831 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 102018 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 167376 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 155955 + }, + { + "Department": "Finance", + "Level": "Mid", + "Compensation": 193539 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 113478 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 102812 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 39993 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 190502 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 162809 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 61479 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 108007 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 194206 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 124801 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 181438 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 86571 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 71045 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 60198 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 89389 + }, + { + "Department": "Finance", + "Level": "Senior", + "Compensation": 189763 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 169025 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 46765 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 71704 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 109463 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 170385 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 162037 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 28796 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 116099 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 56603 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 59139 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 146565 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 50517 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 143394 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 129735 + }, + { + "Department": "Finance", + "Level": "Lead", + "Compensation": 156581 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 38096 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 150529 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 168335 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 188762 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 156308 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 168881 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 83420 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 140564 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 167277 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 81116 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 97091 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 126302 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 31488 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 49276 + }, + { + "Department": "Legal", + "Level": "Intern", + "Compensation": 110910 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 164255 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 41039 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 85297 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 194706 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 127243 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 97227 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 141365 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 141236 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 70866 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 197436 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 151401 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 126533 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 68409 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 32127 + }, + { + "Department": "Legal", + "Level": "Junior", + "Compensation": 105557 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 153571 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 187769 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 75698 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 31666 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 68432 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 59249 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 70282 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 183296 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 162424 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 62758 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 65441 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 188837 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 185411 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 172841 + }, + { + "Department": "Legal", + "Level": "Mid", + "Compensation": 140282 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 147293 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 199018 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 148931 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 83148 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 116767 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 71085 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 194840 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 92671 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 44322 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 139001 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 143625 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 148192 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 93771 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 152557 + }, + { + "Department": "Legal", + "Level": "Senior", + "Compensation": 128919 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 98918 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 41125 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 131786 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 149402 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 116344 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 140369 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 35825 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 128555 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 94742 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 28683 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 143439 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 185824 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 117776 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 62612 + }, + { + "Department": "Legal", + "Level": "Lead", + "Compensation": 65143 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 79011 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 70465 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 111711 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 146590 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 115683 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 60019 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 63042 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 118062 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 143377 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 189434 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 71444 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 109341 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 51713 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 119667 + }, + { + "Department": "Operations", + "Level": "Intern", + "Compensation": 162300 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 71824 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 27541 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 29592 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 29118 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 108943 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 176423 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 140345 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 155106 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 97771 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 190400 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 26709 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 43129 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 38501 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 129576 + }, + { + "Department": "Operations", + "Level": "Junior", + "Compensation": 108576 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 132394 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 42755 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 61119 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 168924 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 111144 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 75931 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 89204 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 57989 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 76106 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 70174 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 110441 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 151535 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 103174 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 172982 + }, + { + "Department": "Operations", + "Level": "Mid", + "Compensation": 54399 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 102457 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 189837 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 192404 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 103852 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 185504 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 168884 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 126126 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 49525 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 84949 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 110825 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 134756 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 190420 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 188670 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 168405 + }, + { + "Department": "Operations", + "Level": "Senior", + "Compensation": 135625 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 104613 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 37237 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 71630 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 77536 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 126014 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 94994 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 68167 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 160301 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 77366 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 72032 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 187768 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 61813 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 113900 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 186249 + }, + { + "Department": "Operations", + "Level": "Lead", + "Compensation": 95117 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 36288 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 41856 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 173218 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 179920 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 116722 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 28436 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 195200 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 25285 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 83113 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 61183 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 25058 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 131333 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 63468 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 109030 + }, + { + "Department": "Support", + "Level": "Intern", + "Compensation": 59208 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 81684 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 184929 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 131514 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 131090 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 184717 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 71204 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 93080 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 93046 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 53592 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 28659 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 98832 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 161084 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 120749 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 160365 + }, + { + "Department": "Support", + "Level": "Junior", + "Compensation": 106202 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 141149 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 191802 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 149027 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 118019 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 119462 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 45221 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 33737 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 46021 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 182193 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 162757 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 53786 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 131051 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 56855 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 87531 + }, + { + "Department": "Support", + "Level": "Mid", + "Compensation": 106631 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 178746 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 166352 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 100566 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 91923 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 70473 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 69378 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 42964 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 64852 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 85399 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 150271 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 27339 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 139308 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 54824 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 79555 + }, + { + "Department": "Support", + "Level": "Senior", + "Compensation": 114130 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 39242 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 166371 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 67494 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 41634 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 125765 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 101207 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 184008 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 53784 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 98900 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 83179 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 116417 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 139558 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 54339 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 154645 + }, + { + "Department": "Support", + "Level": "Lead", + "Compensation": 35402 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/06-card6.flint.json b/test-harness/excel/evaluations/inputs/boxplot/06-card6.flint.json new file mode 100644 index 00000000..45bfc67d --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/06-card6.flint.json @@ -0,0 +1,742 @@ +{ + "semantic_types": { + "Rating": "Category", + "ROI": "Quantity" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Rating", + "y": "ROI", + "color": "Rating" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Rating": "G", + "ROI": 10 + }, + { + "Rating": "G", + "ROI": 233 + }, + { + "Rating": "G", + "ROI": 101 + }, + { + "Rating": "G", + "ROI": 117 + }, + { + "Rating": "G", + "ROI": 279 + }, + { + "Rating": "G", + "ROI": 130 + }, + { + "Rating": "G", + "ROI": 41 + }, + { + "Rating": "G", + "ROI": 0 + }, + { + "Rating": "G", + "ROI": 282 + }, + { + "Rating": "G", + "ROI": 282 + }, + { + "Rating": "G", + "ROI": 179 + }, + { + "Rating": "G", + "ROI": 248 + }, + { + "Rating": "G", + "ROI": 288 + }, + { + "Rating": "G", + "ROI": 97 + }, + { + "Rating": "G", + "ROI": 76 + }, + { + "Rating": "G", + "ROI": 261 + }, + { + "Rating": "G", + "ROI": 174 + }, + { + "Rating": "G", + "ROI": 200 + }, + { + "Rating": "G", + "ROI": 77 + }, + { + "Rating": "G", + "ROI": 87 + }, + { + "Rating": "G", + "ROI": 202 + }, + { + "Rating": "G", + "ROI": 224 + }, + { + "Rating": "G", + "ROI": 22 + }, + { + "Rating": "G", + "ROI": 262 + }, + { + "Rating": "G", + "ROI": 171 + }, + { + "Rating": "G", + "ROI": 197 + }, + { + "Rating": "G", + "ROI": 249 + }, + { + "Rating": "G", + "ROI": 153 + }, + { + "Rating": "G", + "ROI": 143 + }, + { + "Rating": "G", + "ROI": 44 + }, + { + "Rating": "PG", + "ROI": 197 + }, + { + "Rating": "PG", + "ROI": 98 + }, + { + "Rating": "PG", + "ROI": 33 + }, + { + "Rating": "PG", + "ROI": 269 + }, + { + "Rating": "PG", + "ROI": 190 + }, + { + "Rating": "PG", + "ROI": 146 + }, + { + "Rating": "PG", + "ROI": 273 + }, + { + "Rating": "PG", + "ROI": 59 + }, + { + "Rating": "PG", + "ROI": 158 + }, + { + "Rating": "PG", + "ROI": 100 + }, + { + "Rating": "PG", + "ROI": 247 + }, + { + "Rating": "PG", + "ROI": 116 + }, + { + "Rating": "PG", + "ROI": 33 + }, + { + "Rating": "PG", + "ROI": 34 + }, + { + "Rating": "PG", + "ROI": 274 + }, + { + "Rating": "PG", + "ROI": 150 + }, + { + "Rating": "PG", + "ROI": 255 + }, + { + "Rating": "PG", + "ROI": 279 + }, + { + "Rating": "PG", + "ROI": 297 + }, + { + "Rating": "PG", + "ROI": 23 + }, + { + "Rating": "PG", + "ROI": 118 + }, + { + "Rating": "PG", + "ROI": 273 + }, + { + "Rating": "PG", + "ROI": 273 + }, + { + "Rating": "PG", + "ROI": 30 + }, + { + "Rating": "PG", + "ROI": 251 + }, + { + "Rating": "PG", + "ROI": 157 + }, + { + "Rating": "PG", + "ROI": 255 + }, + { + "Rating": "PG", + "ROI": 69 + }, + { + "Rating": "PG", + "ROI": 67 + }, + { + "Rating": "PG", + "ROI": 110 + }, + { + "Rating": "PG-13", + "ROI": 283 + }, + { + "Rating": "PG-13", + "ROI": 260 + }, + { + "Rating": "PG-13", + "ROI": 69 + }, + { + "Rating": "PG-13", + "ROI": 243 + }, + { + "Rating": "PG-13", + "ROI": 138 + }, + { + "Rating": "PG-13", + "ROI": 9 + }, + { + "Rating": "PG-13", + "ROI": 141 + }, + { + "Rating": "PG-13", + "ROI": 1 + }, + { + "Rating": "PG-13", + "ROI": 156 + }, + { + "Rating": "PG-13", + "ROI": 182 + }, + { + "Rating": "PG-13", + "ROI": 118 + }, + { + "Rating": "PG-13", + "ROI": 110 + }, + { + "Rating": "PG-13", + "ROI": 285 + }, + { + "Rating": "PG-13", + "ROI": 252 + }, + { + "Rating": "PG-13", + "ROI": 293 + }, + { + "Rating": "PG-13", + "ROI": 149 + }, + { + "Rating": "PG-13", + "ROI": 177 + }, + { + "Rating": "PG-13", + "ROI": 87 + }, + { + "Rating": "PG-13", + "ROI": 113 + }, + { + "Rating": "PG-13", + "ROI": 12 + }, + { + "Rating": "PG-13", + "ROI": 16 + }, + { + "Rating": "PG-13", + "ROI": 169 + }, + { + "Rating": "PG-13", + "ROI": 88 + }, + { + "Rating": "PG-13", + "ROI": 180 + }, + { + "Rating": "PG-13", + "ROI": 98 + }, + { + "Rating": "PG-13", + "ROI": 42 + }, + { + "Rating": "PG-13", + "ROI": 80 + }, + { + "Rating": "PG-13", + "ROI": 165 + }, + { + "Rating": "PG-13", + "ROI": 135 + }, + { + "Rating": "PG-13", + "ROI": 190 + }, + { + "Rating": "R", + "ROI": 105 + }, + { + "Rating": "R", + "ROI": 72 + }, + { + "Rating": "R", + "ROI": 193 + }, + { + "Rating": "R", + "ROI": 78 + }, + { + "Rating": "R", + "ROI": 193 + }, + { + "Rating": "R", + "ROI": 63 + }, + { + "Rating": "R", + "ROI": 109 + }, + { + "Rating": "R", + "ROI": 245 + }, + { + "Rating": "R", + "ROI": 231 + }, + { + "Rating": "R", + "ROI": 142 + }, + { + "Rating": "R", + "ROI": 271 + }, + { + "Rating": "R", + "ROI": 230 + }, + { + "Rating": "R", + "ROI": 203 + }, + { + "Rating": "R", + "ROI": 149 + }, + { + "Rating": "R", + "ROI": 36 + }, + { + "Rating": "R", + "ROI": 156 + }, + { + "Rating": "R", + "ROI": 293 + }, + { + "Rating": "R", + "ROI": 214 + }, + { + "Rating": "R", + "ROI": 205 + }, + { + "Rating": "R", + "ROI": 225 + }, + { + "Rating": "R", + "ROI": 77 + }, + { + "Rating": "R", + "ROI": 153 + }, + { + "Rating": "R", + "ROI": 108 + }, + { + "Rating": "R", + "ROI": 80 + }, + { + "Rating": "R", + "ROI": 178 + }, + { + "Rating": "R", + "ROI": 10 + }, + { + "Rating": "R", + "ROI": 29 + }, + { + "Rating": "R", + "ROI": 128 + }, + { + "Rating": "R", + "ROI": 67 + }, + { + "Rating": "R", + "ROI": 151 + }, + { + "Rating": "NC-17", + "ROI": 106 + }, + { + "Rating": "NC-17", + "ROI": 34 + }, + { + "Rating": "NC-17", + "ROI": 291 + }, + { + "Rating": "NC-17", + "ROI": 77 + }, + { + "Rating": "NC-17", + "ROI": 222 + }, + { + "Rating": "NC-17", + "ROI": 197 + }, + { + "Rating": "NC-17", + "ROI": 262 + }, + { + "Rating": "NC-17", + "ROI": 271 + }, + { + "Rating": "NC-17", + "ROI": 274 + }, + { + "Rating": "NC-17", + "ROI": 77 + }, + { + "Rating": "NC-17", + "ROI": 47 + }, + { + "Rating": "NC-17", + "ROI": 274 + }, + { + "Rating": "NC-17", + "ROI": 190 + }, + { + "Rating": "NC-17", + "ROI": 53 + }, + { + "Rating": "NC-17", + "ROI": 148 + }, + { + "Rating": "NC-17", + "ROI": 46 + }, + { + "Rating": "NC-17", + "ROI": 267 + }, + { + "Rating": "NC-17", + "ROI": 51 + }, + { + "Rating": "NC-17", + "ROI": 214 + }, + { + "Rating": "NC-17", + "ROI": 42 + }, + { + "Rating": "NC-17", + "ROI": 81 + }, + { + "Rating": "NC-17", + "ROI": 278 + }, + { + "Rating": "NC-17", + "ROI": 47 + }, + { + "Rating": "NC-17", + "ROI": 294 + }, + { + "Rating": "NC-17", + "ROI": 216 + }, + { + "Rating": "NC-17", + "ROI": 195 + }, + { + "Rating": "NC-17", + "ROI": 61 + }, + { + "Rating": "NC-17", + "ROI": 290 + }, + { + "Rating": "NC-17", + "ROI": 6 + }, + { + "Rating": "NC-17", + "ROI": 121 + }, + { + "Rating": "Unrated", + "ROI": 23 + }, + { + "Rating": "Unrated", + "ROI": 264 + }, + { + "Rating": "Unrated", + "ROI": 155 + }, + { + "Rating": "Unrated", + "ROI": 236 + }, + { + "Rating": "Unrated", + "ROI": 200 + }, + { + "Rating": "Unrated", + "ROI": 229 + }, + { + "Rating": "Unrated", + "ROI": 286 + }, + { + "Rating": "Unrated", + "ROI": 15 + }, + { + "Rating": "Unrated", + "ROI": 39 + }, + { + "Rating": "Unrated", + "ROI": 182 + }, + { + "Rating": "Unrated", + "ROI": 70 + }, + { + "Rating": "Unrated", + "ROI": 72 + }, + { + "Rating": "Unrated", + "ROI": 16 + }, + { + "Rating": "Unrated", + "ROI": 72 + }, + { + "Rating": "Unrated", + "ROI": 172 + }, + { + "Rating": "Unrated", + "ROI": 281 + }, + { + "Rating": "Unrated", + "ROI": 159 + }, + { + "Rating": "Unrated", + "ROI": 16 + }, + { + "Rating": "Unrated", + "ROI": 178 + }, + { + "Rating": "Unrated", + "ROI": 190 + }, + { + "Rating": "Unrated", + "ROI": 87 + }, + { + "Rating": "Unrated", + "ROI": 60 + }, + { + "Rating": "Unrated", + "ROI": 94 + }, + { + "Rating": "Unrated", + "ROI": 37 + }, + { + "Rating": "Unrated", + "ROI": 66 + }, + { + "Rating": "Unrated", + "ROI": 14 + }, + { + "Rating": "Unrated", + "ROI": 104 + }, + { + "Rating": "Unrated", + "ROI": 205 + }, + { + "Rating": "Unrated", + "ROI": 277 + }, + { + "Rating": "Unrated", + "ROI": 26 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/07-card6.flint.json b/test-harness/excel/evaluations/inputs/boxplot/07-card6.flint.json new file mode 100644 index 00000000..cc7a72cd --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/07-card6.flint.json @@ -0,0 +1,1103 @@ +{ + "semantic_types": { + "Department": "Department", + "Comp": "Amount", + "Level": "Category" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Department", + "y": "Comp", + "color": "Level" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Department": "Eng", + "Level": "L1", + "Comp": 131479 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 146102 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 39597 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 38452 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 118412 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 136322 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 71967 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 126731 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 34753 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 114284 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 113931 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 65479 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 49790 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 114370 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 120351 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 72381 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 119339 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 118045 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 90148 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 59101 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 122341 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 43128 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 117206 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 140706 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 66549 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 31972 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 61058 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 135529 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 61645 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 50435 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 48021 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 144729 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 113021 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 122310 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 117210 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 94611 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 63144 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 43254 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 72599 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 77863 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 102000 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 54628 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 74697 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 47861 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 95425 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 67767 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 106788 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 133613 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 128967 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 43612 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 92713 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 88343 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 76280 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 143955 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 68619 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 144617 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 37619 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 37765 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 95826 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 81406 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 138491 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 31754 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 115631 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 66909 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 87111 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 139970 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 55196 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 138734 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 46920 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 128444 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 144752 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 32709 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 72966 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 117427 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 143312 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 64988 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 68766 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 91041 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 64480 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 54696 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 142620 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 80353 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 69556 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 43833 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 83326 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 118275 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 103478 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 58476 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 65055 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 124611 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 38634 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 57805 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 66841 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 128825 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 60923 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 39170 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 73202 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 123939 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 144303 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 39405 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 66651 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 57839 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 32989 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 113528 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 122308 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 85949 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 50593 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 53694 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 87859 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 109768 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 44806 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 110749 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 91712 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 67477 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 145333 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 65407 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 32564 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 45287 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 41540 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 66089 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 91536 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 107305 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 59324 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 31478 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 34669 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 136042 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 34637 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 76435 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 96665 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 34492 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 39252 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 121288 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 110165 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 121080 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 87294 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 94412 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 77096 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 53954 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 30278 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 140327 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 55910 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 143868 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 47176 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 112516 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 37868 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 30950 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 44728 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 131874 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 66762 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 130806 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 124020 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 71433 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 36975 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 138681 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 117027 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 137905 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 144731 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 36302 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 112586 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 125763 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 81570 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 132520 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 131346 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 78736 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 135520 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 146984 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 93281 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 37886 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 84282 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 99982 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 98453 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 80323 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 41622 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 119291 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 136122 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 57945 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 139285 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 57216 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 134409 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 67250 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 44520 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 109757 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 99291 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 120065 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 64052 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 58134 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 75980 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 131888 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 54509 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 104657 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 68224 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 95234 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 99652 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 64728 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 149714 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 139702 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 108625 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 47411 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 97020 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 119860 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 113426 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 96788 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 58511 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 50798 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 142059 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 123279 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 82708 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 58976 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 76040 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 63499 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 128083 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 70667 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 116596 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 83487 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 63407 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 141277 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/08-card6.flint.json b/test-harness/excel/evaluations/inputs/boxplot/08-card6.flint.json new file mode 100644 index 00000000..b75d2cdd --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/08-card6.flint.json @@ -0,0 +1,1106 @@ +{ + "semantic_types": { + "Department": "Department", + "Comp": "Amount", + "Level": "Category" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Department", + "y": "Comp", + "color": "Level" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "dodge": "global" + } + }, + "data": { + "values": [ + { + "Department": "Eng", + "Level": "L1", + "Comp": 120487 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 112029 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 158503 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 141556 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 153856 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 158557 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 152852 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 109993 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 135346 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 91879 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 176231 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 100024 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 169826 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 97560 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 156875 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 142222 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 106496 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 138900 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 100661 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 75734 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 79450 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 72710 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 99808 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 50171 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 98185 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 47139 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 87223 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 30262 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 112142 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 77624 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 74521 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 32730 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 106851 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 81895 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 39202 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 75728 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 70244 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 56807 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 34972 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 80723 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 49943 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 58958 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 95783 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 89363 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 99210 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 81985 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 112042 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 108322 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 48150 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 60316 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 66467 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 114938 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 97901 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 35599 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 103027 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 72210 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 67004 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 62336 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 89425 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 62313 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 52708 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 76301 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 72042 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 131565 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 99382 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 94496 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 52961 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 106673 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 52872 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 46594 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 104749 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 117830 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 92761 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 51350 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 118361 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 116817 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 79909 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 46605 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 102748 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 50937 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 114626 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 67693 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 113387 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 124123 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 116785 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 92349 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 66589 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 102082 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 104950 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 77980 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 137188 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 98190 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 133809 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 97212 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 64048 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 60395 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 124632 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 126067 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 118574 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 89035 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 74637 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 93108 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 118414 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 108701 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 123527 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 89290 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 129146 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 122260 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 130929 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 116113 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 134953 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 65496 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 85065 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 128000 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 122783 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 96327 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 140155 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 107904 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 131496 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 98803 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 75757 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 108766 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 122912 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 104072 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 72785 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 100247 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 161989 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 144786 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 96413 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 142276 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 118856 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 149049 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 92878 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 133435 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 105764 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 75657 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 135412 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 134032 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 151229 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 100279 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 143339 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 153180 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 141307 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 109693 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 139705 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 103090 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 130059 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 78684 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 160114 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 120917 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 137377 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 130994 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 123066 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 83487 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 160590 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 121263 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 111660 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 79516 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 98755 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 82145 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 109337 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 92207 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 120819 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 115511 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 92090 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 116032 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 114053 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 154858 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 170395 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 112457 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 148562 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 100294 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 124299 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 95345 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 102454 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 150011 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 154310 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 139126 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 94665 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 105569 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 124509 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 122563 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 175066 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 152618 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 148842 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 125536 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 107905 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 143232 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 164185 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 149054 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 95090 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 135989 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 107457 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 91361 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 112565 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 176672 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 144600 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 114963 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 114262 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 72798 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 63731 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 134481 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 47142 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 128092 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 129934 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 129356 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 51320 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 57371 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 61506 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 88602 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 85052 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 91637 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 67357 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 51175 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 56505 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 86855 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/boxplot/09-card6.flint.json b/test-harness/excel/evaluations/inputs/boxplot/09-card6.flint.json new file mode 100644 index 00000000..29b4d9a9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/boxplot/09-card6.flint.json @@ -0,0 +1,1106 @@ +{ + "semantic_types": { + "Department": "Department", + "Comp": "Amount", + "Level": "Category" + }, + "chart_spec": { + "chartType": "Boxplot", + "encodings": { + "x": "Department", + "y": "Comp", + "color": "Level" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "dodge": "local" + } + }, + "data": { + "values": [ + { + "Department": "Eng", + "Level": "L1", + "Comp": 106111 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 151334 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 165719 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 99511 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 104253 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 153821 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 111815 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 166713 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 156992 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 126234 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 130040 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 105738 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 179380 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 113100 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 167151 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 134589 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 155988 + }, + { + "Department": "Eng", + "Level": "L1", + "Comp": 167830 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 51689 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 52646 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 31766 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 103628 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 93789 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 47480 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 63341 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 51654 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 101208 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 88786 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 34355 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 51871 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 61997 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 61489 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 63147 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 31101 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 77552 + }, + { + "Department": "Eng", + "Level": "L2", + "Comp": 33444 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 44995 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 51806 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 49493 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 44652 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 38083 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 69552 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 32461 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 79728 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 75763 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 31946 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 68965 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 75514 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 73115 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 79003 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 31404 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 42364 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 106969 + }, + { + "Department": "Sales", + "Level": "L2", + "Comp": 84095 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 128935 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 79223 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 127697 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 59578 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 74443 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 78349 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 119148 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 112878 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 121883 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 91028 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 92014 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 97197 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 83582 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 46949 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 134625 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 131986 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 56254 + }, + { + "Department": "Sales", + "Level": "L3", + "Comp": 97134 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 108076 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 55798 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 80829 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 126830 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 70984 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 77644 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 58974 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 101366 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 46509 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 122929 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 125243 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 121636 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 68423 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 61234 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 93853 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 45663 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 121945 + }, + { + "Department": "HR", + "Level": "L3", + "Comp": 52981 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 93655 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 133807 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 72613 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 91573 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 149975 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 85162 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 141346 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 144524 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 94513 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 75311 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 86953 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 93214 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 104827 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 71511 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 107040 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 96583 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 118599 + }, + { + "Department": "HR", + "Level": "L4", + "Comp": 66142 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 66619 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 149015 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 63266 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 145234 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 140359 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 108074 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 111510 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 83122 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 136135 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 137463 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 126713 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 92684 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 113667 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 61790 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 91979 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 140992 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 132117 + }, + { + "Department": "Ops", + "Level": "L4", + "Comp": 92700 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 127897 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 103264 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 84973 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 107750 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 149173 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 117862 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 102924 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 141436 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 123431 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 95288 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 135545 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 114411 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 138146 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 86904 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 76665 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 159710 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 82951 + }, + { + "Department": "Ops", + "Level": "L5", + "Comp": 155326 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 121401 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 78617 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 113705 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 76327 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 152726 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 150833 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 106286 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 115145 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 155492 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 119816 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 79481 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 148794 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 124293 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 85456 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 121329 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 139497 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 112826 + }, + { + "Department": "Legal", + "Level": "L5", + "Comp": 147313 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 98062 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 146429 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 158538 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 91865 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 121717 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 94656 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 126593 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 141095 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 157662 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 137494 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 107623 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 90303 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 136715 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 161107 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 157614 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 135635 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 90385 + }, + { + "Department": "Legal", + "Level": "L1", + "Comp": 163819 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 116487 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 120399 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 164792 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 177884 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 170041 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 102729 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 101864 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 144923 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 140347 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 178244 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 102950 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 123103 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 157355 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 105522 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 148084 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 168144 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 172315 + }, + { + "Department": "Finance", + "Level": "L1", + "Comp": 168176 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 125430 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 123468 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 81218 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 99234 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 122348 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 73752 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 63500 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 121064 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 92309 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 102062 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 128095 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 92148 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 108179 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 75343 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 82177 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 106735 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 108899 + }, + { + "Department": "Finance", + "Level": "L3", + "Comp": 118384 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/candlestick-chart/00-card30.flint.json b/test-harness/excel/evaluations/inputs/candlestick-chart/00-card30.flint.json new file mode 100644 index 00000000..ee1590f0 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/candlestick-chart/00-card30.flint.json @@ -0,0 +1,237 @@ +{ + "semantic_types": { + "Date": "Date", + "Open": "Quantity", + "High": "Quantity", + "Low": "Quantity", + "Close": "Quantity" + }, + "chart_spec": { + "chartType": "Candlestick Chart", + "encodings": { + "x": "Date", + "open": "Open", + "high": "High", + "low": "Low", + "close": "Close" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2024-01-02", + "Open": 150, + "High": 151.92, + "Low": 146.46, + "Close": 148.11 + }, + { + "Date": "2024-01-03", + "Open": 148.11, + "High": 149.32, + "Low": 148.09, + "Close": 149.06 + }, + { + "Date": "2024-01-04", + "Open": 149.06, + "High": 151.75, + "Low": 148.4, + "Close": 149.91 + }, + { + "Date": "2024-01-05", + "Open": 149.91, + "High": 152.47, + "Low": 149.02, + "Close": 151.82 + }, + { + "Date": "2024-01-06", + "Open": 151.82, + "High": 153.51, + "Low": 149.99, + "Close": 151.57 + }, + { + "Date": "2024-01-07", + "Open": 151.57, + "High": 152.75, + "Low": 149.88, + "Close": 150.51 + }, + { + "Date": "2024-01-08", + "Open": 150.51, + "High": 151.51, + "Low": 148.35, + "Close": 149.57 + }, + { + "Date": "2024-01-09", + "Open": 149.57, + "High": 150.63, + "Low": 147.56, + "Close": 149.39 + }, + { + "Date": "2024-01-10", + "Open": 149.39, + "High": 152.06, + "Low": 148.66, + "Close": 150.9 + }, + { + "Date": "2024-01-11", + "Open": 150.9, + "High": 151.3, + "Low": 149.61, + "Close": 149.87 + }, + { + "Date": "2024-01-12", + "Open": 149.87, + "High": 151.35, + "Low": 149.21, + "Close": 151.17 + }, + { + "Date": "2024-01-13", + "Open": 151.17, + "High": 151.73, + "Low": 147.97, + "Close": 149.62 + }, + { + "Date": "2024-01-14", + "Open": 149.62, + "High": 150.8, + "Low": 146.76, + "Close": 147.73 + }, + { + "Date": "2024-01-15", + "Open": 147.73, + "High": 149.1, + "Low": 145.25, + "Close": 146.1 + }, + { + "Date": "2024-01-16", + "Open": 146.1, + "High": 147.67, + "Low": 144.21, + "Close": 146.29 + }, + { + "Date": "2024-01-17", + "Open": 146.29, + "High": 146.4, + "Low": 143.64, + "Close": 144.58 + }, + { + "Date": "2024-01-18", + "Open": 144.58, + "High": 145.76, + "Low": 142.62, + "Close": 142.96 + }, + { + "Date": "2024-01-19", + "Open": 142.96, + "High": 146.19, + "Low": 142.64, + "Close": 144.42 + }, + { + "Date": "2024-01-20", + "Open": 144.42, + "High": 144.78, + "Low": 143.33, + "Close": 143.71 + }, + { + "Date": "2024-01-21", + "Open": 143.71, + "High": 146.38, + "Low": 142.64, + "Close": 144.88 + }, + { + "Date": "2024-01-22", + "Open": 144.88, + "High": 145.47, + "Low": 143.69, + "Close": 144.64 + }, + { + "Date": "2024-01-23", + "Open": 144.64, + "High": 145.26, + "Low": 142.49, + "Close": 143.05 + }, + { + "Date": "2024-01-24", + "Open": 143.05, + "High": 144.87, + "Low": 142.3, + "Close": 144.48 + }, + { + "Date": "2024-01-25", + "Open": 144.48, + "High": 145.82, + "Low": 140.94, + "Close": 142.81 + }, + { + "Date": "2024-01-26", + "Open": 142.81, + "High": 143.06, + "Low": 141.28, + "Close": 141.8 + }, + { + "Date": "2024-01-27", + "Open": 141.8, + "High": 143.66, + "Low": 139.61, + "Close": 140.77 + }, + { + "Date": "2024-01-28", + "Open": 140.77, + "High": 142.16, + "Low": 139.75, + "Close": 140.6 + }, + { + "Date": "2024-01-29", + "Open": 140.6, + "High": 140.75, + "Low": 139, + "Close": 139.07 + }, + { + "Date": "2024-01-30", + "Open": 139.07, + "High": 140.62, + "Low": 138.24, + "Close": 140.49 + }, + { + "Date": "2024-01-31", + "Open": 140.49, + "High": 141.46, + "Low": 138.85, + "Close": 139.14 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/candlestick-chart/01-card90.flint.json b/test-harness/excel/evaluations/inputs/candlestick-chart/01-card90.flint.json new file mode 100644 index 00000000..1a5daf6a --- /dev/null +++ b/test-harness/excel/evaluations/inputs/candlestick-chart/01-card90.flint.json @@ -0,0 +1,657 @@ +{ + "semantic_types": { + "Date": "Date", + "Open": "Quantity", + "High": "Quantity", + "Low": "Quantity", + "Close": "Quantity" + }, + "chart_spec": { + "chartType": "Candlestick Chart", + "encodings": { + "x": "Date", + "open": "Open", + "high": "High", + "low": "Low", + "close": "Close" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2024-01-02", + "Open": 50, + "High": 50.23, + "Low": 49.07, + "Close": 50.22 + }, + { + "Date": "2024-01-03", + "Open": 50.22, + "High": 51.86, + "Low": 48.86, + "Close": 50.74 + }, + { + "Date": "2024-01-04", + "Open": 50.74, + "High": 51.61, + "Low": 49.03, + "Close": 50.73 + }, + { + "Date": "2024-01-05", + "Open": 50.73, + "High": 52.19, + "Low": 49.69, + "Close": 51.31 + }, + { + "Date": "2024-01-06", + "Open": 51.31, + "High": 53.62, + "Low": 51.24, + "Close": 52.8 + }, + { + "Date": "2024-01-07", + "Open": 52.8, + "High": 53.37, + "Low": 50.37, + "Close": 51.17 + }, + { + "Date": "2024-01-08", + "Open": 51.17, + "High": 53.27, + "Low": 49.98, + "Close": 52.16 + }, + { + "Date": "2024-01-09", + "Open": 52.16, + "High": 55.46, + "Low": 51.76, + "Close": 53.75 + }, + { + "Date": "2024-01-10", + "Open": 53.75, + "High": 56.14, + "Low": 52.19, + "Close": 54.26 + }, + { + "Date": "2024-01-11", + "Open": 54.26, + "High": 56.21, + "Low": 50.99, + "Close": 52.8 + }, + { + "Date": "2024-01-12", + "Open": 52.8, + "High": 54.52, + "Low": 50.94, + "Close": 52.64 + }, + { + "Date": "2024-01-13", + "Open": 52.64, + "High": 54.09, + "Low": 51.98, + "Close": 53.03 + }, + { + "Date": "2024-01-14", + "Open": 53.03, + "High": 54.86, + "Low": 49.42, + "Close": 51.12 + }, + { + "Date": "2024-01-15", + "Open": 51.12, + "High": 53.13, + "Low": 50.21, + "Close": 51.85 + }, + { + "Date": "2024-01-16", + "Open": 51.85, + "High": 53.76, + "Low": 50.8, + "Close": 53.2 + }, + { + "Date": "2024-01-17", + "Open": 53.2, + "High": 54.71, + "Low": 52.33, + "Close": 52.64 + }, + { + "Date": "2024-01-18", + "Open": 52.64, + "High": 54.62, + "Low": 51.43, + "Close": 54.03 + }, + { + "Date": "2024-01-19", + "Open": 54.03, + "High": 55.34, + "Low": 52.54, + "Close": 54.66 + }, + { + "Date": "2024-01-20", + "Open": 54.66, + "High": 55.32, + "Low": 51.84, + "Close": 53.3 + }, + { + "Date": "2024-01-21", + "Open": 53.3, + "High": 55.03, + "Low": 53.12, + "Close": 53.99 + }, + { + "Date": "2024-01-22", + "Open": 53.99, + "High": 55.47, + "Low": 52.53, + "Close": 55.39 + }, + { + "Date": "2024-01-23", + "Open": 55.39, + "High": 57.12, + "Low": 53.78, + "Close": 56.55 + }, + { + "Date": "2024-01-24", + "Open": 56.55, + "High": 57.93, + "Low": 55.04, + "Close": 56.14 + }, + { + "Date": "2024-01-25", + "Open": 56.14, + "High": 58.8, + "Low": 54.92, + "Close": 57.9 + }, + { + "Date": "2024-01-26", + "Open": 57.9, + "High": 59.55, + "Low": 55.99, + "Close": 59.37 + }, + { + "Date": "2024-01-27", + "Open": 59.37, + "High": 60.16, + "Low": 57.53, + "Close": 59.81 + }, + { + "Date": "2024-01-28", + "Open": 59.81, + "High": 61.4, + "Low": 57.08, + "Close": 58.34 + }, + { + "Date": "2024-01-29", + "Open": 58.34, + "High": 59.47, + "Low": 57.7, + "Close": 57.88 + }, + { + "Date": "2024-01-30", + "Open": 57.88, + "High": 58.14, + "Low": 57.07, + "Close": 58 + }, + { + "Date": "2024-01-31", + "Open": 58, + "High": 59.99, + "Low": 56.42, + "Close": 57.5 + }, + { + "Date": "2024-02-01", + "Open": 57.5, + "High": 58.87, + "Low": 54.78, + "Close": 55.77 + }, + { + "Date": "2024-02-02", + "Open": 55.77, + "High": 55.9, + "Low": 53.24, + "Close": 54.21 + }, + { + "Date": "2024-02-03", + "Open": 54.21, + "High": 55.69, + "Low": 52.97, + "Close": 54.74 + }, + { + "Date": "2024-02-04", + "Open": 54.74, + "High": 57.49, + "Low": 53.42, + "Close": 56.09 + }, + { + "Date": "2024-02-05", + "Open": 56.09, + "High": 57.46, + "Low": 55.57, + "Close": 55.67 + }, + { + "Date": "2024-02-06", + "Open": 55.67, + "High": 57.27, + "Low": 54.08, + "Close": 54.28 + }, + { + "Date": "2024-02-07", + "Open": 54.28, + "High": 55.21, + "Low": 52.76, + "Close": 53.82 + }, + { + "Date": "2024-02-08", + "Open": 53.82, + "High": 55.4, + "Low": 50.9, + "Close": 52.29 + }, + { + "Date": "2024-02-09", + "Open": 52.29, + "High": 54.89, + "Low": 51.18, + "Close": 53.19 + }, + { + "Date": "2024-02-10", + "Open": 53.19, + "High": 54.64, + "Low": 52.54, + "Close": 54.12 + }, + { + "Date": "2024-02-11", + "Open": 54.12, + "High": 57.19, + "Low": 54.05, + "Close": 55.72 + }, + { + "Date": "2024-02-12", + "Open": 55.72, + "High": 57.32, + "Low": 53.12, + "Close": 54.84 + }, + { + "Date": "2024-02-13", + "Open": 54.84, + "High": 56.08, + "Low": 53.58, + "Close": 55.66 + }, + { + "Date": "2024-02-14", + "Open": 55.66, + "High": 57.12, + "Low": 52.81, + "Close": 54.29 + }, + { + "Date": "2024-02-15", + "Open": 54.29, + "High": 56.16, + "Low": 51.5, + "Close": 53 + }, + { + "Date": "2024-02-16", + "Open": 53, + "High": 53.65, + "Low": 51.11, + "Close": 53.06 + }, + { + "Date": "2024-02-17", + "Open": 53.06, + "High": 55.05, + "Low": 51.88, + "Close": 53.45 + }, + { + "Date": "2024-02-18", + "Open": 53.45, + "High": 55.1, + "Low": 52.98, + "Close": 53.6 + }, + { + "Date": "2024-02-19", + "Open": 53.6, + "High": 56.79, + "Low": 52.09, + "Close": 55 + }, + { + "Date": "2024-02-20", + "Open": 55, + "High": 57.86, + "Low": 53.15, + "Close": 55.97 + }, + { + "Date": "2024-02-21", + "Open": 55.97, + "High": 57.45, + "Low": 55.46, + "Close": 55.77 + }, + { + "Date": "2024-02-22", + "Open": 55.77, + "High": 57.57, + "Low": 53.23, + "Close": 55.12 + }, + { + "Date": "2024-02-23", + "Open": 55.12, + "High": 56.97, + "Low": 51.91, + "Close": 53.84 + }, + { + "Date": "2024-02-24", + "Open": 53.84, + "High": 55.18, + "Low": 52.17, + "Close": 54.05 + }, + { + "Date": "2024-02-25", + "Open": 54.05, + "High": 56.81, + "Low": 53.61, + "Close": 54.87 + }, + { + "Date": "2024-02-26", + "Open": 54.87, + "High": 57.04, + "Low": 53.8, + "Close": 56.3 + }, + { + "Date": "2024-02-27", + "Open": 56.3, + "High": 59.58, + "Low": 55.35, + "Close": 58.38 + }, + { + "Date": "2024-02-28", + "Open": 58.38, + "High": 60.02, + "Low": 56.25, + "Close": 57.55 + }, + { + "Date": "2024-02-29", + "Open": 57.55, + "High": 59.04, + "Low": 57.23, + "Close": 58.85 + }, + { + "Date": "2024-03-01", + "Open": 58.85, + "High": 60.43, + "Low": 58.09, + "Close": 60.41 + }, + { + "Date": "2024-03-02", + "Open": 60.41, + "High": 61.04, + "Low": 59.69, + "Close": 60.7 + }, + { + "Date": "2024-03-03", + "Open": 60.7, + "High": 62.92, + "Low": 59.03, + "Close": 61.8 + }, + { + "Date": "2024-03-04", + "Open": 61.8, + "High": 63.14, + "Low": 59.3, + "Close": 59.97 + }, + { + "Date": "2024-03-05", + "Open": 59.97, + "High": 60.51, + "Low": 56.74, + "Close": 58.24 + }, + { + "Date": "2024-03-06", + "Open": 58.24, + "High": 58.39, + "Low": 55.55, + "Close": 57.25 + }, + { + "Date": "2024-03-07", + "Open": 57.25, + "High": 59.55, + "Low": 56.78, + "Close": 58.29 + }, + { + "Date": "2024-03-08", + "Open": 58.29, + "High": 60.28, + "Low": 56.42, + "Close": 60.21 + }, + { + "Date": "2024-03-09", + "Open": 60.21, + "High": 62.75, + "Low": 59.59, + "Close": 61.67 + }, + { + "Date": "2024-03-10", + "Open": 61.67, + "High": 64.54, + "Low": 60.79, + "Close": 63.43 + }, + { + "Date": "2024-03-11", + "Open": 63.43, + "High": 65.85, + "Low": 63.37, + "Close": 65.44 + }, + { + "Date": "2024-03-12", + "Open": 65.44, + "High": 66.03, + "Low": 65.15, + "Close": 65.24 + }, + { + "Date": "2024-03-13", + "Open": 65.24, + "High": 67.59, + "Low": 64.63, + "Close": 66.35 + }, + { + "Date": "2024-03-14", + "Open": 66.35, + "High": 68.74, + "Low": 64.66, + "Close": 67.06 + }, + { + "Date": "2024-03-15", + "Open": 67.06, + "High": 68.28, + "Low": 65.43, + "Close": 67.4 + }, + { + "Date": "2024-03-16", + "Open": 67.4, + "High": 68.58, + "Low": 65.97, + "Close": 66.34 + }, + { + "Date": "2024-03-17", + "Open": 66.34, + "High": 69.57, + "Low": 65.13, + "Close": 67.78 + }, + { + "Date": "2024-03-18", + "Open": 67.78, + "High": 68.21, + "Low": 64.9, + "Close": 66.1 + }, + { + "Date": "2024-03-19", + "Open": 66.1, + "High": 68.25, + "Low": 65.69, + "Close": 68.16 + }, + { + "Date": "2024-03-20", + "Open": 68.16, + "High": 68.74, + "Low": 67.76, + "Close": 68.5 + }, + { + "Date": "2024-03-21", + "Open": 68.5, + "High": 69.79, + "Low": 67.89, + "Close": 69.43 + }, + { + "Date": "2024-03-22", + "Open": 69.43, + "High": 72.54, + "Low": 68.7, + "Close": 71.11 + }, + { + "Date": "2024-03-23", + "Open": 71.11, + "High": 71.48, + "Low": 70.23, + "Close": 71.28 + }, + { + "Date": "2024-03-24", + "Open": 71.28, + "High": 71.98, + "Low": 70.16, + "Close": 70.67 + }, + { + "Date": "2024-03-25", + "Open": 70.67, + "High": 71.06, + "Low": 68.8, + "Close": 69.65 + }, + { + "Date": "2024-03-26", + "Open": 69.65, + "High": 70.01, + "Low": 67.23, + "Close": 68.69 + }, + { + "Date": "2024-03-27", + "Open": 68.69, + "High": 70.15, + "Low": 68.38, + "Close": 68.83 + }, + { + "Date": "2024-03-28", + "Open": 68.83, + "High": 69.66, + "Low": 68.25, + "Close": 68.84 + }, + { + "Date": "2024-03-29", + "Open": 68.84, + "High": 70.32, + "Low": 67.35, + "Close": 68.07 + }, + { + "Date": "2024-03-30", + "Open": 68.07, + "High": 69.82, + "Low": 65.67, + "Close": 66.86 + }, + { + "Date": "2024-03-31", + "Open": 66.86, + "High": 68.7, + "Low": 65.53, + "Close": 67.45 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/candlestick-chart/02-card20.flint.json b/test-harness/excel/evaluations/inputs/candlestick-chart/02-card20.flint.json new file mode 100644 index 00000000..35e392a0 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/candlestick-chart/02-card20.flint.json @@ -0,0 +1,167 @@ +{ + "semantic_types": { + "Date": "Date", + "Open": "Quantity", + "High": "Quantity", + "Low": "Quantity", + "Close": "Quantity" + }, + "chart_spec": { + "chartType": "Candlestick Chart", + "encodings": { + "x": "Date", + "open": "Open", + "high": "High", + "low": "Low", + "close": "Close" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2024-01-02", + "Open": 3, + "High": 4.6, + "Low": 2, + "Close": 4.19 + }, + { + "Date": "2024-01-03", + "Open": 4.19, + "High": 7.25, + "Low": 2.28, + "Close": 5.59 + }, + { + "Date": "2024-01-04", + "Open": 5.59, + "High": 6.75, + "Low": 4.01, + "Close": 4.8 + }, + { + "Date": "2024-01-05", + "Open": 4.8, + "High": 6.63, + "Low": 2.87, + "Close": 5.99 + }, + { + "Date": "2024-01-06", + "Open": 5.99, + "High": 7.95, + "Low": 3.64, + "Close": 5.06 + }, + { + "Date": "2024-01-07", + "Open": 5.06, + "High": 6.42, + "Low": 3.45, + "Close": 5.55 + }, + { + "Date": "2024-01-08", + "Open": 5.55, + "High": 5.8, + "Low": 2.92, + "Close": 4.83 + }, + { + "Date": "2024-01-09", + "Open": 4.83, + "High": 7.56, + "Low": 4.49, + "Close": 6.49 + }, + { + "Date": "2024-01-10", + "Open": 6.49, + "High": 7.13, + "Low": 4.68, + "Close": 7.05 + }, + { + "Date": "2024-01-11", + "Open": 7.05, + "High": 10.66, + "Low": 6.78, + "Close": 8.81 + }, + { + "Date": "2024-01-12", + "Open": 8.81, + "High": 10.95, + "Low": 7.6, + "Close": 10.26 + }, + { + "Date": "2024-01-13", + "Open": 10.26, + "High": 11.36, + "Low": 7.33, + "Close": 8.44 + }, + { + "Date": "2024-01-14", + "Open": 8.44, + "High": 10.19, + "Low": 7.95, + "Close": 8.55 + }, + { + "Date": "2024-01-15", + "Open": 8.55, + "High": 9.51, + "Low": 5.73, + "Close": 6.77 + }, + { + "Date": "2024-01-16", + "Open": 6.77, + "High": 8.48, + "Low": 3.79, + "Close": 5.25 + }, + { + "Date": "2024-01-17", + "Open": 5.25, + "High": 5.52, + "Low": 3.8, + "Close": 4.43 + }, + { + "Date": "2024-01-18", + "Open": 4.43, + "High": 7.02, + "Low": 2.67, + "Close": 5.7 + }, + { + "Date": "2024-01-19", + "Open": 5.7, + "High": 8.03, + "Low": 5.53, + "Close": 6.21 + }, + { + "Date": "2024-01-20", + "Open": 6.21, + "High": 7.92, + "Low": 6, + "Close": 6.89 + }, + { + "Date": "2024-01-21", + "Open": 6.89, + "High": 8.04, + "Low": 5.67, + "Close": 6.01 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/00-card9.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/00-card9.flint.json new file mode 100644 index 00000000..357f80b9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/00-card9.flint.json @@ -0,0 +1,73 @@ +{ + "semantic_types": { + "Unemployment Rate": "Quantity", + "Inflation Rate": "Quantity", + "Year": "Year" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "Unemployment Rate", + "y": "Inflation Rate", + "order": "Year" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Year": 2014, + "Unemployment Rate": 6.2, + "Inflation Rate": 1.6 + }, + { + "Year": 2015, + "Unemployment Rate": 5.3, + "Inflation Rate": 0.1 + }, + { + "Year": 2016, + "Unemployment Rate": 4.9, + "Inflation Rate": 1.3 + }, + { + "Year": 2017, + "Unemployment Rate": 4.4, + "Inflation Rate": 2.1 + }, + { + "Year": 2018, + "Unemployment Rate": 3.9, + "Inflation Rate": 2.4 + }, + { + "Year": 2019, + "Unemployment Rate": 3.7, + "Inflation Rate": 1.8 + }, + { + "Year": 2020, + "Unemployment Rate": 8.1, + "Inflation Rate": 1.2 + }, + { + "Year": 2021, + "Unemployment Rate": 5.4, + "Inflation Rate": 4.7 + }, + { + "Year": 2022, + "Unemployment Rate": 3.6, + "Inflation Rate": 8 + }, + { + "Year": 2023, + "Unemployment Rate": 3.7, + "Inflation Rate": 4.1 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/01-card21.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/01-card21.flint.json new file mode 100644 index 00000000..6843ada9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/01-card21.flint.json @@ -0,0 +1,169 @@ +{ + "semantic_types": { + "GDP Growth": "Quantity", + "Inflation": "Quantity", + "Year": "Year", + "Country": "Country" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "GDP Growth", + "y": "Inflation", + "order": "Year", + "color": "Country" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Country": "USA", + "Year": 2016, + "GDP Growth": 1.7, + "Inflation": 1.3 + }, + { + "Country": "USA", + "Year": 2017, + "GDP Growth": 2.3, + "Inflation": 2.1 + }, + { + "Country": "USA", + "Year": 2018, + "GDP Growth": 2.9, + "Inflation": 2.4 + }, + { + "Country": "USA", + "Year": 2019, + "GDP Growth": 2.3, + "Inflation": 1.8 + }, + { + "Country": "USA", + "Year": 2020, + "GDP Growth": -3.4, + "Inflation": 1.2 + }, + { + "Country": "USA", + "Year": 2021, + "GDP Growth": 5.9, + "Inflation": 4.7 + }, + { + "Country": "USA", + "Year": 2022, + "GDP Growth": 2.1, + "Inflation": 8 + }, + { + "Country": "USA", + "Year": 2023, + "GDP Growth": 2.5, + "Inflation": 4.1 + }, + { + "Country": "China", + "Year": 2016, + "GDP Growth": 6.8, + "Inflation": 2 + }, + { + "Country": "China", + "Year": 2017, + "GDP Growth": 6.9, + "Inflation": 1.6 + }, + { + "Country": "China", + "Year": 2018, + "GDP Growth": 6.7, + "Inflation": 2.1 + }, + { + "Country": "China", + "Year": 2019, + "GDP Growth": 6, + "Inflation": 2.9 + }, + { + "Country": "China", + "Year": 2020, + "GDP Growth": 2.2, + "Inflation": 2.4 + }, + { + "Country": "China", + "Year": 2021, + "GDP Growth": 8.4, + "Inflation": 0.9 + }, + { + "Country": "China", + "Year": 2022, + "GDP Growth": 3, + "Inflation": 2 + }, + { + "Country": "China", + "Year": 2023, + "GDP Growth": 5.2, + "Inflation": 0.2 + }, + { + "Country": "Japan", + "Year": 2016, + "GDP Growth": 0.8, + "Inflation": -0.1 + }, + { + "Country": "Japan", + "Year": 2017, + "GDP Growth": 1.7, + "Inflation": 0.5 + }, + { + "Country": "Japan", + "Year": 2018, + "GDP Growth": 0.6, + "Inflation": 1 + }, + { + "Country": "Japan", + "Year": 2019, + "GDP Growth": -0.4, + "Inflation": 0.5 + }, + { + "Country": "Japan", + "Year": 2020, + "GDP Growth": -4.3, + "Inflation": 0 + }, + { + "Country": "Japan", + "Year": 2021, + "GDP Growth": 2.1, + "Inflation": -0.2 + }, + { + "Country": "Japan", + "Year": 2022, + "GDP Growth": 1, + "Inflation": 2.5 + }, + { + "Country": "Japan", + "Year": 2023, + "GDP Growth": 1.9, + "Inflation": 3.3 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/02-card12.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/02-card12.flint.json new file mode 100644 index 00000000..7166f1d1 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/02-card12.flint.json @@ -0,0 +1,83 @@ +{ + "semantic_types": { + "Trade Volume": "Quantity", + "Share Price": "Quantity", + "Date": "Date" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "Trade Volume", + "y": "Share Price", + "order": "Date" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2023-01-03", + "Trade Volume": 58, + "Share Price": 142 + }, + { + "Date": "2023-02-01", + "Trade Volume": 47, + "Share Price": 151 + }, + { + "Date": "2023-03-01", + "Trade Volume": 63, + "Share Price": 148 + }, + { + "Date": "2023-04-03", + "Trade Volume": 41, + "Share Price": 165 + }, + { + "Date": "2023-05-01", + "Trade Volume": 38, + "Share Price": 172 + }, + { + "Date": "2023-06-01", + "Trade Volume": 52, + "Share Price": 180 + }, + { + "Date": "2023-07-03", + "Trade Volume": 35, + "Share Price": 193 + }, + { + "Date": "2023-08-01", + "Trade Volume": 44, + "Share Price": 188 + }, + { + "Date": "2023-09-01", + "Trade Volume": 71, + "Share Price": 171 + }, + { + "Date": "2023-10-02", + "Trade Volume": 66, + "Share Price": 170 + }, + { + "Date": "2023-11-01", + "Trade Volume": 49, + "Share Price": 189 + }, + { + "Date": "2023-12-01", + "Trade Volume": 40, + "Share Price": 192 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/03-card12.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/03-card12.flint.json new file mode 100644 index 00000000..f9b5db86 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/03-card12.flint.json @@ -0,0 +1,143 @@ +{ + "semantic_types": { + "Signal A": "Quantity", + "Signal B": "Quantity", + "Step": "Quantity" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "Signal A", + "y": "Signal B", + "order": "Step" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Step": 0, + "Signal A": 90, + "Signal B": 50 + }, + { + "Step": 1, + "Signal A": 88.5, + "Signal B": 60.4 + }, + { + "Step": 2, + "Signal A": 84.2, + "Signal B": 67.8 + }, + { + "Step": 3, + "Signal A": 77.3, + "Signal B": 70 + }, + { + "Step": 4, + "Signal A": 68.4, + "Signal B": 66.3 + }, + { + "Step": 5, + "Signal A": 58.1, + "Signal B": 58 + }, + { + "Step": 6, + "Signal A": 47.3, + "Signal B": 47.3 + }, + { + "Step": 7, + "Signal A": 36.6, + "Signal B": 37.4 + }, + { + "Step": 8, + "Signal A": 26.9, + "Signal B": 31.2 + }, + { + "Step": 9, + "Signal A": 19, + "Signal B": 30.4 + }, + { + "Step": 10, + "Signal A": 13.3, + "Signal B": 35.4 + }, + { + "Step": 11, + "Signal A": 10.4, + "Signal B": 44.6 + }, + { + "Step": 12, + "Signal A": 10.4, + "Signal B": 55.4 + }, + { + "Step": 13, + "Signal A": 13.3, + "Signal B": 64.6 + }, + { + "Step": 14, + "Signal A": 19, + "Signal B": 69.6 + }, + { + "Step": 15, + "Signal A": 26.9, + "Signal B": 68.8 + }, + { + "Step": 16, + "Signal A": 36.6, + "Signal B": 62.6 + }, + { + "Step": 17, + "Signal A": 47.3, + "Signal B": 52.7 + }, + { + "Step": 18, + "Signal A": 58.1, + "Signal B": 42 + }, + { + "Step": 19, + "Signal A": 68.4, + "Signal B": 33.7 + }, + { + "Step": 20, + "Signal A": 77.3, + "Signal B": 30 + }, + { + "Step": 21, + "Signal A": 84.2, + "Signal B": 32.2 + }, + { + "Step": 22, + "Signal A": 88.5, + "Signal B": 39.6 + }, + { + "Step": 23, + "Signal A": 90, + "Signal B": 50 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/04-card15.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/04-card15.flint.json new file mode 100644 index 00000000..b585a0b1 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/04-card15.flint.json @@ -0,0 +1,121 @@ +{ + "semantic_types": { + "Temperature": "Quantity", + "Pressure": "Quantity", + "Step": "Quantity", + "Experiment": "Category" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "Temperature", + "y": "Pressure", + "order": "Step", + "color": "Experiment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Experiment": "Trial A", + "Step": 1, + "Temperature": 20, + "Pressure": 1 + }, + { + "Experiment": "Trial A", + "Step": 2, + "Temperature": 35, + "Pressure": 1.4 + }, + { + "Experiment": "Trial A", + "Step": 3, + "Temperature": 55, + "Pressure": 2.1 + }, + { + "Experiment": "Trial A", + "Step": 4, + "Temperature": 70, + "Pressure": 3 + }, + { + "Experiment": "Trial A", + "Step": 5, + "Temperature": 60, + "Pressure": 2.6 + }, + { + "Experiment": "Trial A", + "Step": 6, + "Temperature": 45, + "Pressure": 1.9 + }, + { + "Experiment": "Trial A", + "Step": 7, + "Temperature": 30, + "Pressure": 1.3 + }, + { + "Experiment": "Trial A", + "Step": 8, + "Temperature": 22, + "Pressure": 1.05 + }, + { + "Experiment": "Trial B", + "Step": 1, + "Temperature": 25, + "Pressure": 1.1 + }, + { + "Experiment": "Trial B", + "Step": 2, + "Temperature": 30, + "Pressure": 1.2 + }, + { + "Experiment": "Trial B", + "Step": 3, + "Temperature": 48, + "Pressure": 1.8 + }, + { + "Experiment": "Trial B", + "Step": 4, + "Temperature": 68, + "Pressure": 2.7 + }, + { + "Experiment": "Trial B", + "Step": 5, + "Temperature": 80, + "Pressure": 3.4 + }, + { + "Experiment": "Trial B", + "Step": 6, + "Temperature": 62, + "Pressure": 2.4 + }, + { + "Experiment": "Trial B", + "Step": 7, + "Temperature": 40, + "Pressure": 1.5 + }, + { + "Experiment": "Trial B", + "Step": 8, + "Temperature": 28, + "Pressure": 1.15 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/05-card4.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/05-card4.flint.json new file mode 100644 index 00000000..7f187ede --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/05-card4.flint.json @@ -0,0 +1,43 @@ +{ + "semantic_types": { + "Cost": "Quantity", + "Revenue": "Quantity", + "Quarter": "Quantity" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "Cost", + "y": "Revenue", + "order": "Quarter" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Quarter": 1, + "Cost": 12, + "Revenue": 18 + }, + { + "Quarter": 2, + "Cost": 20, + "Revenue": 26 + }, + { + "Quarter": 3, + "Cost": 17, + "Revenue": 35 + }, + { + "Quarter": 4, + "Cost": 24, + "Revenue": 30 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/06-card35.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/06-card35.flint.json new file mode 100644 index 00000000..ea2d93c4 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/06-card35.flint.json @@ -0,0 +1,203 @@ +{ + "semantic_types": { + "X Position": "Quantity", + "Y Position": "Quantity", + "Step": "Quantity" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "X Position", + "y": "Y Position", + "order": "Step" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Step": 0, + "X Position": 68.1, + "Y Position": 60 + }, + { + "Step": 1, + "X Position": 72.6, + "Y Position": 62 + }, + { + "Step": 2, + "X Position": 70.9, + "Y Position": 67.2 + }, + { + "Step": 3, + "X Position": 69.5, + "Y Position": 70.2 + }, + { + "Step": 4, + "X Position": 66.8, + "Y Position": 75.2 + }, + { + "Step": 5, + "X Position": 65.9, + "Y Position": 76.9 + }, + { + "Step": 6, + "X Position": 59.3, + "Y Position": 77.8 + }, + { + "Step": 7, + "X Position": 52.7, + "Y Position": 78.9 + }, + { + "Step": 8, + "X Position": 48.4, + "Y Position": 79.4 + }, + { + "Step": 9, + "X Position": 42.8, + "Y Position": 75.7 + }, + { + "Step": 10, + "X Position": 37.9, + "Y Position": 70.9 + }, + { + "Step": 11, + "X Position": 31.9, + "Y Position": 63.2 + }, + { + "Step": 12, + "X Position": 30.3, + "Y Position": 57.6 + }, + { + "Step": 13, + "X Position": 30.4, + "Y Position": 50.5 + }, + { + "Step": 14, + "X Position": 35, + "Y Position": 41.4 + }, + { + "Step": 15, + "X Position": 38, + "Y Position": 32.3 + }, + { + "Step": 16, + "X Position": 46.9, + "Y Position": 25.9 + }, + { + "Step": 17, + "X Position": 54.2, + "Y Position": 21.1 + }, + { + "Step": 18, + "X Position": 66.1, + "Y Position": 21.5 + }, + { + "Step": 19, + "X Position": 77.2, + "Y Position": 21.6 + }, + { + "Step": 20, + "X Position": 86.2, + "Y Position": 27.8 + }, + { + "Step": 21, + "X Position": 93.7, + "Y Position": 33.6 + }, + { + "Step": 22, + "X Position": 104.2, + "Y Position": 43.2 + }, + { + "Step": 23, + "X Position": 107.4, + "Y Position": 55.5 + }, + { + "Step": 24, + "X Position": 107.7, + "Y Position": 67.3 + }, + { + "Step": 25, + "X Position": 106.7, + "Y Position": 83.2 + }, + { + "Step": 26, + "X Position": 99.8, + "Y Position": 95.8 + }, + { + "Step": 27, + "X Position": 90.8, + "Y Position": 103.8 + }, + { + "Step": 28, + "X Position": 77.7, + "Y Position": 112.7 + }, + { + "Step": 29, + "X Position": 60.8, + "Y Position": 117.2 + }, + { + "Step": 30, + "X Position": 48.4, + "Y Position": 115.2 + }, + { + "Step": 31, + "X Position": 29.8, + "Y Position": 111.9 + }, + { + "Step": 32, + "X Position": 19.5, + "Y Position": 105.4 + }, + { + "Step": 33, + "X Position": 4.9, + "Y Position": 93.5 + }, + { + "Step": 34, + "X Position": -3.4, + "Y Position": 76.8 + }, + { + "Step": 35, + "X Position": -6.3, + "Y Position": 59.1 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/connected-scatter-plot/07-card24.flint.json b/test-harness/excel/evaluations/inputs/connected-scatter-plot/07-card24.flint.json new file mode 100644 index 00000000..1976fe43 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/connected-scatter-plot/07-card24.flint.json @@ -0,0 +1,169 @@ +{ + "semantic_types": { + "Drift": "Quantity", + "Noise": "Quantity", + "Step": "Quantity", + "Sensor": "Category" + }, + "chart_spec": { + "chartType": "Connected Scatter Plot", + "encodings": { + "x": "Drift", + "y": "Noise", + "order": "Step", + "detail": "Sensor" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Sensor": "Laptop", + "Step": 1, + "Drift": 19.5, + "Noise": 37.6 + }, + { + "Sensor": "Laptop", + "Step": 2, + "Drift": 29.7, + "Noise": 36.4 + }, + { + "Sensor": "Laptop", + "Step": 3, + "Drift": 36.8, + "Noise": 25.4 + }, + { + "Sensor": "Laptop", + "Step": 4, + "Drift": 38.4, + "Noise": 14.2 + }, + { + "Sensor": "Laptop", + "Step": 5, + "Drift": 29.2, + "Noise": 7.4 + }, + { + "Sensor": "Laptop", + "Step": 6, + "Drift": 18.6, + "Noise": 3.2 + }, + { + "Sensor": "Phone", + "Step": 1, + "Drift": 30.3, + "Noise": 49.8 + }, + { + "Sensor": "Phone", + "Step": 2, + "Drift": 42.9, + "Noise": 47.3 + }, + { + "Sensor": "Phone", + "Step": 3, + "Drift": 50.7, + "Noise": 36.6 + }, + { + "Sensor": "Phone", + "Step": 4, + "Drift": 48.9, + "Noise": 26.9 + }, + { + "Sensor": "Phone", + "Step": 5, + "Drift": 41.2, + "Noise": 19 + }, + { + "Sensor": "Phone", + "Step": 6, + "Drift": 32.4, + "Noise": 15.8 + }, + { + "Sensor": "Tablet", + "Step": 1, + "Drift": 45.5, + "Noise": 63.6 + }, + { + "Sensor": "Tablet", + "Step": 2, + "Drift": 55.1, + "Noise": 58.9 + }, + { + "Sensor": "Tablet", + "Step": 3, + "Drift": 61.4, + "Noise": 47.6 + }, + { + "Sensor": "Tablet", + "Step": 4, + "Drift": 62.7, + "Noise": 37.6 + }, + { + "Sensor": "Tablet", + "Step": 5, + "Drift": 54.3, + "Noise": 28.1 + }, + { + "Sensor": "Tablet", + "Step": 6, + "Drift": 44.7, + "Noise": 27.9 + }, + { + "Sensor": "Desktop", + "Step": 1, + "Drift": 57.2, + "Noise": 75.7 + }, + { + "Sensor": "Desktop", + "Step": 2, + "Drift": 66.8, + "Noise": 68.7 + }, + { + "Sensor": "Desktop", + "Step": 3, + "Drift": 73.5, + "Noise": 62.1 + }, + { + "Sensor": "Desktop", + "Step": 4, + "Drift": 74.9, + "Noise": 52.3 + }, + { + "Sensor": "Desktop", + "Step": 5, + "Drift": 67.3, + "Noise": 39.6 + }, + { + "Sensor": "Desktop", + "Step": 6, + "Drift": 54, + "Noise": 37 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/donut-chart/00-card0.flint.json b/test-harness/excel/evaluations/inputs/donut-chart/00-card0.flint.json new file mode 100644 index 00000000..2f318305 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/donut-chart/00-card0.flint.json @@ -0,0 +1,40 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Donut Chart", + "encodings": { + "size": "Value", + "color": "Category" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "innerRadius": 50 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Value": 103 + }, + { + "Category": "Clothing", + "Value": 215 + }, + { + "Category": "Food", + "Value": 342 + }, + { + "Category": "Books", + "Value": 560 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/donut-chart/01-card0.flint.json b/test-harness/excel/evaluations/inputs/donut-chart/01-card0.flint.json new file mode 100644 index 00000000..d6ded0b8 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/donut-chart/01-card0.flint.json @@ -0,0 +1,64 @@ +{ + "semantic_types": { + "Product": "Product", + "Revenue": "Amount" + }, + "chart_spec": { + "chartType": "Donut Chart", + "encodings": { + "size": "Revenue", + "color": "Product" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "innerRadius": 50 + } + }, + "data": { + "values": [ + { + "Product": "Laptop", + "Revenue": 2924 + }, + { + "Product": "Phone", + "Revenue": 2506 + }, + { + "Product": "Tablet", + "Revenue": 6721 + }, + { + "Product": "Desktop", + "Revenue": 1826 + }, + { + "Product": "Monitor", + "Revenue": 4934 + }, + { + "Product": "Keyboard", + "Revenue": 7789 + }, + { + "Product": "Mouse", + "Revenue": 8215 + }, + { + "Product": "Headphones", + "Revenue": 5798 + }, + { + "Product": "Speaker", + "Revenue": 7950 + }, + { + "Product": "Camera", + "Revenue": 6919 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/donut-chart/02-card0.flint.json b/test-harness/excel/evaluations/inputs/donut-chart/02-card0.flint.json new file mode 100644 index 00000000..7abc3480 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/donut-chart/02-card0.flint.json @@ -0,0 +1,104 @@ +{ + "semantic_types": { + "Region": "Category", + "Sales": "Quantity" + }, + "chart_spec": { + "chartType": "Donut Chart", + "encodings": { + "size": "Sales", + "color": "Region" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "innerRadius": 50 + } + }, + "data": { + "values": [ + { + "Region": "Electronics", + "Sales": 4347 + }, + { + "Region": "Clothing", + "Sales": 4301 + }, + { + "Region": "Food", + "Sales": 5098 + }, + { + "Region": "Books", + "Sales": 1293 + }, + { + "Region": "Sports", + "Sales": 4163 + }, + { + "Region": "Home", + "Sales": 2869 + }, + { + "Region": "Garden", + "Sales": 5444 + }, + { + "Region": "Auto", + "Sales": 2591 + }, + { + "Region": "Health", + "Sales": 1407 + }, + { + "Region": "Beauty", + "Sales": 2246 + }, + { + "Region": "Toys", + "Sales": 5168 + }, + { + "Region": "Music", + "Sales": 3215 + }, + { + "Region": "Movies", + "Sales": 3360 + }, + { + "Region": "Software", + "Sales": 1176 + }, + { + "Region": "Games", + "Sales": 4497 + }, + { + "Region": "Office", + "Sales": 5262 + }, + { + "Region": "Pet", + "Sales": 1783 + }, + { + "Region": "Baby", + "Sales": 4292 + }, + { + "Region": "Tools", + "Sales": 5312 + }, + { + "Region": "Crafts", + "Sales": 5358 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/donut-chart/03-card0.flint.json b/test-harness/excel/evaluations/inputs/donut-chart/03-card0.flint.json new file mode 100644 index 00000000..b79a0a86 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/donut-chart/03-card0.flint.json @@ -0,0 +1,48 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Donut Chart", + "encodings": { + "size": "Value", + "color": "Category" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "innerRadius": 50 + } + }, + "data": { + "values": [ + { + "Category": "Dominant", + "Value": 5000 + }, + { + "Category": "Small-A", + "Value": 200 + }, + { + "Category": "Small-B", + "Value": 180 + }, + { + "Category": "Small-C", + "Value": 150 + }, + { + "Category": "Tiny-1", + "Value": 30 + }, + { + "Category": "Tiny-2", + "Value": 20 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/funnel-chart/00-card5.flint.json b/test-harness/excel/evaluations/inputs/funnel-chart/00-card5.flint.json new file mode 100644 index 00000000..a560df96 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/funnel-chart/00-card5.flint.json @@ -0,0 +1,41 @@ +{ + "semantic_types": { + "Stage": "Category", + "Count": "Quantity" + }, + "chart_spec": { + "chartType": "Funnel Chart", + "encodings": { + "y": "Stage", + "size": "Count" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Visits", + "Count": 10006 + }, + { + "Stage": "Signups", + "Count": 5230 + }, + { + "Stage": "Trials", + "Count": 2984 + }, + { + "Stage": "Purchases", + "Count": 1670 + }, + { + "Stage": "Renewals", + "Count": 839 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/funnel-chart/01-card5.flint.json b/test-harness/excel/evaluations/inputs/funnel-chart/01-card5.flint.json new file mode 100644 index 00000000..23a12323 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/funnel-chart/01-card5.flint.json @@ -0,0 +1,44 @@ +{ + "semantic_types": { + "Step": "Category", + "Candidates": "Quantity" + }, + "chart_spec": { + "chartType": "Funnel Chart", + "encodings": { + "y": "Step", + "size": "Candidates" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "sort": "ascending" + } + }, + "data": { + "values": [ + { + "Step": "Applied", + "Candidates": 510 + }, + { + "Step": "Screened", + "Candidates": 286 + }, + { + "Step": "Interviewed", + "Candidates": 160 + }, + { + "Step": "Offered", + "Candidates": 112 + }, + { + "Step": "Hired", + "Candidates": 63 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/funnel-chart/02-card8.flint.json b/test-harness/excel/evaluations/inputs/funnel-chart/02-card8.flint.json new file mode 100644 index 00000000..7538c61d --- /dev/null +++ b/test-harness/excel/evaluations/inputs/funnel-chart/02-card8.flint.json @@ -0,0 +1,53 @@ +{ + "semantic_types": { + "Phase": "Category", + "Users": "Quantity" + }, + "chart_spec": { + "chartType": "Funnel Chart", + "encodings": { + "y": "Phase", + "size": "Users" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Phase": "Awareness", + "Users": 50603 + }, + { + "Phase": "Interest", + "Users": 33400 + }, + { + "Phase": "Consideration", + "Users": 22767 + }, + { + "Phase": "Intent", + "Users": 15130 + }, + { + "Phase": "Evaluation", + "Users": 10415 + }, + { + "Phase": "Trial", + "Users": 7105 + }, + { + "Phase": "Purchase", + "Users": 5229 + }, + { + "Phase": "Loyalty", + "Users": 3243 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/00-card4.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/00-card4.flint.json new file mode 100644 index 00000000..6553c049 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/00-card4.flint.json @@ -0,0 +1,83 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "group": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 12, + "Segment": "USA" + }, + { + "Category": "Laptop", + "Value": 467, + "Segment": "China" + }, + { + "Category": "Laptop", + "Value": 685, + "Segment": "Japan" + }, + { + "Category": "Phone", + "Value": 599, + "Segment": "USA" + }, + { + "Category": "Phone", + "Value": 832, + "Segment": "China" + }, + { + "Category": "Phone", + "Value": 691, + "Segment": "Japan" + }, + { + "Category": "Tablet", + "Value": 122, + "Segment": "USA" + }, + { + "Category": "Tablet", + "Value": 663, + "Segment": "China" + }, + { + "Category": "Tablet", + "Value": 791, + "Segment": "Japan" + }, + { + "Category": "Desktop", + "Value": 414, + "Segment": "USA" + }, + { + "Category": "Desktop", + "Value": 60, + "Segment": "China" + }, + { + "Category": "Desktop", + "Value": 827, + "Segment": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/01-card8.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/01-card8.flint.json new file mode 100644 index 00000000..eae3bab3 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/01-card8.flint.json @@ -0,0 +1,53 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Category", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 297 + }, + { + "Category": "Phone", + "Value": 378 + }, + { + "Category": "Tablet", + "Value": 48 + }, + { + "Category": "Desktop", + "Value": 911 + }, + { + "Category": "Monitor", + "Value": 351 + }, + { + "Category": "Keyboard", + "Value": 316 + }, + { + "Category": "Mouse", + "Value": 34 + }, + { + "Category": "Headphones", + "Value": 62 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/02-card90.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/02-card90.flint.json new file mode 100644 index 00000000..3fefd6c5 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/02-card90.flint.json @@ -0,0 +1,1373 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "group": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "James Walker", + "Value": 253, + "Segment": "USA" + }, + { + "Category": "James Walker", + "Value": 41, + "Segment": "China" + }, + { + "Category": "James Walker", + "Value": 696, + "Segment": "Japan" + }, + { + "Category": "Paul Wilson", + "Value": 140, + "Segment": "USA" + }, + { + "Category": "Paul Wilson", + "Value": 852, + "Segment": "China" + }, + { + "Category": "Paul Wilson", + "Value": 88, + "Segment": "Japan" + }, + { + "Category": "Jessica Martin", + "Value": 594, + "Segment": "USA" + }, + { + "Category": "Jessica Martin", + "Value": 184, + "Segment": "China" + }, + { + "Category": "Jessica Martin", + "Value": 802, + "Segment": "Japan" + }, + { + "Category": "Christopher Moore", + "Value": 364, + "Segment": "USA" + }, + { + "Category": "Christopher Moore", + "Value": 105, + "Segment": "China" + }, + { + "Category": "Christopher Moore", + "Value": 663, + "Segment": "Japan" + }, + { + "Category": "Betty Wilson", + "Value": 739, + "Segment": "USA" + }, + { + "Category": "Betty Wilson", + "Value": 247, + "Segment": "China" + }, + { + "Category": "Betty Wilson", + "Value": 826, + "Segment": "Japan" + }, + { + "Category": "Steven Lewis", + "Value": 476, + "Segment": "USA" + }, + { + "Category": "Steven Lewis", + "Value": 794, + "Segment": "China" + }, + { + "Category": "Steven Lewis", + "Value": 924, + "Segment": "Japan" + }, + { + "Category": "Karen Lopez", + "Value": 318, + "Segment": "USA" + }, + { + "Category": "Karen Lopez", + "Value": 606, + "Segment": "China" + }, + { + "Category": "Karen Lopez", + "Value": 121, + "Segment": "Japan" + }, + { + "Category": "Sandra Wright", + "Value": 767, + "Segment": "USA" + }, + { + "Category": "Sandra Wright", + "Value": 800, + "Segment": "China" + }, + { + "Category": "Sandra Wright", + "Value": 17, + "Segment": "Japan" + }, + { + "Category": "Daniel King", + "Value": 461, + "Segment": "USA" + }, + { + "Category": "Daniel King", + "Value": 808, + "Segment": "China" + }, + { + "Category": "Daniel King", + "Value": 496, + "Segment": "Japan" + }, + { + "Category": "Mark Taylor", + "Value": 418, + "Segment": "USA" + }, + { + "Category": "Mark Taylor", + "Value": 815, + "Segment": "China" + }, + { + "Category": "Mark Taylor", + "Value": 924, + "Segment": "Japan" + }, + { + "Category": "Sandra Thomas", + "Value": 949, + "Segment": "USA" + }, + { + "Category": "Sandra Thomas", + "Value": 326, + "Segment": "China" + }, + { + "Category": "Sandra Thomas", + "Value": 339, + "Segment": "Japan" + }, + { + "Category": "Karen Rodriguez", + "Value": 477, + "Segment": "USA" + }, + { + "Category": "Karen Rodriguez", + "Value": 782, + "Segment": "China" + }, + { + "Category": "Karen Rodriguez", + "Value": 953, + "Segment": "Japan" + }, + { + "Category": "Patricia Jackson", + "Value": 956, + "Segment": "USA" + }, + { + "Category": "Patricia Jackson", + "Value": 304, + "Segment": "China" + }, + { + "Category": "Patricia Jackson", + "Value": 765, + "Segment": "Japan" + }, + { + "Category": "Donna Hill", + "Value": 178, + "Segment": "USA" + }, + { + "Category": "Donna Hill", + "Value": 402, + "Segment": "China" + }, + { + "Category": "Donna Hill", + "Value": 363, + "Segment": "Japan" + }, + { + "Category": "Donna White", + "Value": 889, + "Segment": "USA" + }, + { + "Category": "Donna White", + "Value": 713, + "Segment": "China" + }, + { + "Category": "Donna White", + "Value": 993, + "Segment": "Japan" + }, + { + "Category": "Michael Brown", + "Value": 201, + "Segment": "USA" + }, + { + "Category": "Michael Brown", + "Value": 845, + "Segment": "China" + }, + { + "Category": "Michael Brown", + "Value": 228, + "Segment": "Japan" + }, + { + "Category": "Elizabeth Robinson", + "Value": 336, + "Segment": "USA" + }, + { + "Category": "Elizabeth Robinson", + "Value": 133, + "Segment": "China" + }, + { + "Category": "Elizabeth Robinson", + "Value": 220, + "Segment": "Japan" + }, + { + "Category": "Mary Jones", + "Value": 250, + "Segment": "USA" + }, + { + "Category": "Mary Jones", + "Value": 133, + "Segment": "China" + }, + { + "Category": "Mary Jones", + "Value": 154, + "Segment": "Japan" + }, + { + "Category": "Richard Rodriguez", + "Value": 925, + "Segment": "USA" + }, + { + "Category": "Richard Rodriguez", + "Value": 340, + "Segment": "China" + }, + { + "Category": "Richard Rodriguez", + "Value": 301, + "Segment": "Japan" + }, + { + "Category": "Christopher Clark", + "Value": 35, + "Segment": "USA" + }, + { + "Category": "Christopher Clark", + "Value": 460, + "Segment": "China" + }, + { + "Category": "Christopher Clark", + "Value": 71, + "Segment": "Japan" + }, + { + "Category": "Christopher Lopez", + "Value": 352, + "Segment": "USA" + }, + { + "Category": "Christopher Lopez", + "Value": 614, + "Segment": "China" + }, + { + "Category": "Christopher Lopez", + "Value": 763, + "Segment": "Japan" + }, + { + "Category": "Susan Ramirez", + "Value": 541, + "Segment": "USA" + }, + { + "Category": "Susan Ramirez", + "Value": 479, + "Segment": "China" + }, + { + "Category": "Susan Ramirez", + "Value": 864, + "Segment": "Japan" + }, + { + "Category": "Steven Wilson", + "Value": 869, + "Segment": "USA" + }, + { + "Category": "Steven Wilson", + "Value": 627, + "Segment": "China" + }, + { + "Category": "Steven Wilson", + "Value": 839, + "Segment": "Japan" + }, + { + "Category": "Paul Anderson", + "Value": 576, + "Segment": "USA" + }, + { + "Category": "Paul Anderson", + "Value": 959, + "Segment": "China" + }, + { + "Category": "Paul Anderson", + "Value": 898, + "Segment": "Japan" + }, + { + "Category": "Joseph Rodriguez", + "Value": 312, + "Segment": "USA" + }, + { + "Category": "Joseph Rodriguez", + "Value": 982, + "Segment": "China" + }, + { + "Category": "Joseph Rodriguez", + "Value": 341, + "Segment": "Japan" + }, + { + "Category": "Elizabeth Wright", + "Value": 797, + "Segment": "USA" + }, + { + "Category": "Elizabeth Wright", + "Value": 628, + "Segment": "China" + }, + { + "Category": "Elizabeth Wright", + "Value": 459, + "Segment": "Japan" + }, + { + "Category": "Kimberly Jackson", + "Value": 797, + "Segment": "USA" + }, + { + "Category": "Kimberly Jackson", + "Value": 622, + "Segment": "China" + }, + { + "Category": "Kimberly Jackson", + "Value": 199, + "Segment": "Japan" + }, + { + "Category": "Betty Hernandez", + "Value": 381, + "Segment": "USA" + }, + { + "Category": "Betty Hernandez", + "Value": 172, + "Segment": "China" + }, + { + "Category": "Betty Hernandez", + "Value": 503, + "Segment": "Japan" + }, + { + "Category": "David King", + "Value": 125, + "Segment": "USA" + }, + { + "Category": "David King", + "Value": 501, + "Segment": "China" + }, + { + "Category": "David King", + "Value": 725, + "Segment": "Japan" + }, + { + "Category": "Matthew Lopez", + "Value": 917, + "Segment": "USA" + }, + { + "Category": "Matthew Lopez", + "Value": 342, + "Segment": "China" + }, + { + "Category": "Matthew Lopez", + "Value": 549, + "Segment": "Japan" + }, + { + "Category": "Susan Hernandez", + "Value": 612, + "Segment": "USA" + }, + { + "Category": "Susan Hernandez", + "Value": 493, + "Segment": "China" + }, + { + "Category": "Susan Hernandez", + "Value": 381, + "Segment": "Japan" + }, + { + "Category": "Jennifer Lee", + "Value": 229, + "Segment": "USA" + }, + { + "Category": "Jennifer Lee", + "Value": 460, + "Segment": "China" + }, + { + "Category": "Jennifer Lee", + "Value": 616, + "Segment": "Japan" + }, + { + "Category": "Richard Flores", + "Value": 931, + "Segment": "USA" + }, + { + "Category": "Richard Flores", + "Value": 827, + "Segment": "China" + }, + { + "Category": "Richard Flores", + "Value": 419, + "Segment": "Japan" + }, + { + "Category": "John Anderson", + "Value": 137, + "Segment": "USA" + }, + { + "Category": "John Anderson", + "Value": 304, + "Segment": "China" + }, + { + "Category": "John Anderson", + "Value": 383, + "Segment": "Japan" + }, + { + "Category": "Kimberly Wright", + "Value": 901, + "Segment": "USA" + }, + { + "Category": "Kimberly Wright", + "Value": 295, + "Segment": "China" + }, + { + "Category": "Kimberly Wright", + "Value": 72, + "Segment": "Japan" + }, + { + "Category": "Joseph Williams", + "Value": 946, + "Segment": "USA" + }, + { + "Category": "Joseph Williams", + "Value": 375, + "Segment": "China" + }, + { + "Category": "Joseph Williams", + "Value": 974, + "Segment": "Japan" + }, + { + "Category": "Lisa Torres", + "Value": 276, + "Segment": "USA" + }, + { + "Category": "Lisa Torres", + "Value": 269, + "Segment": "China" + }, + { + "Category": "Lisa Torres", + "Value": 106, + "Segment": "Japan" + }, + { + "Category": "Andrew Rodriguez", + "Value": 621, + "Segment": "USA" + }, + { + "Category": "Andrew Rodriguez", + "Value": 110, + "Segment": "China" + }, + { + "Category": "Andrew Rodriguez", + "Value": 410, + "Segment": "Japan" + }, + { + "Category": "Karen Johnson", + "Value": 747, + "Segment": "USA" + }, + { + "Category": "Karen Johnson", + "Value": 324, + "Segment": "China" + }, + { + "Category": "Karen Johnson", + "Value": 923, + "Segment": "Japan" + }, + { + "Category": "Steven Jones", + "Value": 267, + "Segment": "USA" + }, + { + "Category": "Steven Jones", + "Value": 164, + "Segment": "China" + }, + { + "Category": "Steven Jones", + "Value": 676, + "Segment": "Japan" + }, + { + "Category": "Joshua Ramirez", + "Value": 42, + "Segment": "USA" + }, + { + "Category": "Joshua Ramirez", + "Value": 626, + "Segment": "China" + }, + { + "Category": "Joshua Ramirez", + "Value": 845, + "Segment": "Japan" + }, + { + "Category": "Emily Martinez", + "Value": 451, + "Segment": "USA" + }, + { + "Category": "Emily Martinez", + "Value": 992, + "Segment": "China" + }, + { + "Category": "Emily Martinez", + "Value": 634, + "Segment": "Japan" + }, + { + "Category": "Robert Walker", + "Value": 550, + "Segment": "USA" + }, + { + "Category": "Robert Walker", + "Value": 475, + "Segment": "China" + }, + { + "Category": "Robert Walker", + "Value": 642, + "Segment": "Japan" + }, + { + "Category": "Robert Lewis", + "Value": 559, + "Segment": "USA" + }, + { + "Category": "Robert Lewis", + "Value": 217, + "Segment": "China" + }, + { + "Category": "Robert Lewis", + "Value": 335, + "Segment": "Japan" + }, + { + "Category": "Sandra Lopez", + "Value": 811, + "Segment": "USA" + }, + { + "Category": "Sandra Lopez", + "Value": 928, + "Segment": "China" + }, + { + "Category": "Sandra Lopez", + "Value": 777, + "Segment": "Japan" + }, + { + "Category": "Nancy Miller", + "Value": 783, + "Segment": "USA" + }, + { + "Category": "Nancy Miller", + "Value": 24, + "Segment": "China" + }, + { + "Category": "Nancy Miller", + "Value": 382, + "Segment": "Japan" + }, + { + "Category": "Christopher Sanchez", + "Value": 495, + "Segment": "USA" + }, + { + "Category": "Christopher Sanchez", + "Value": 923, + "Segment": "China" + }, + { + "Category": "Christopher Sanchez", + "Value": 359, + "Segment": "Japan" + }, + { + "Category": "Daniel Flores", + "Value": 930, + "Segment": "USA" + }, + { + "Category": "Daniel Flores", + "Value": 796, + "Segment": "China" + }, + { + "Category": "Daniel Flores", + "Value": 975, + "Segment": "Japan" + }, + { + "Category": "Mary Walker", + "Value": 517, + "Segment": "USA" + }, + { + "Category": "Mary Walker", + "Value": 507, + "Segment": "China" + }, + { + "Category": "Mary Walker", + "Value": 950, + "Segment": "Japan" + }, + { + "Category": "Anthony Ramirez", + "Value": 610, + "Segment": "USA" + }, + { + "Category": "Anthony Ramirez", + "Value": 254, + "Segment": "China" + }, + { + "Category": "Anthony Ramirez", + "Value": 103, + "Segment": "Japan" + }, + { + "Category": "Anthony Hill", + "Value": 363, + "Segment": "USA" + }, + { + "Category": "Anthony Hill", + "Value": 698, + "Segment": "China" + }, + { + "Category": "Anthony Hill", + "Value": 656, + "Segment": "Japan" + }, + { + "Category": "Matthew Miller", + "Value": 663, + "Segment": "USA" + }, + { + "Category": "Matthew Miller", + "Value": 326, + "Segment": "China" + }, + { + "Category": "Matthew Miller", + "Value": 606, + "Segment": "Japan" + }, + { + "Category": "Andrew King", + "Value": 918, + "Segment": "USA" + }, + { + "Category": "Andrew King", + "Value": 537, + "Segment": "China" + }, + { + "Category": "Andrew King", + "Value": 946, + "Segment": "Japan" + }, + { + "Category": "William Perez", + "Value": 596, + "Segment": "USA" + }, + { + "Category": "William Perez", + "Value": 859, + "Segment": "China" + }, + { + "Category": "William Perez", + "Value": 693, + "Segment": "Japan" + }, + { + "Category": "William Martinez", + "Value": 687, + "Segment": "USA" + }, + { + "Category": "William Martinez", + "Value": 507, + "Segment": "China" + }, + { + "Category": "William Martinez", + "Value": 499, + "Segment": "Japan" + }, + { + "Category": "Margaret Garcia", + "Value": 579, + "Segment": "USA" + }, + { + "Category": "Margaret Garcia", + "Value": 879, + "Segment": "China" + }, + { + "Category": "Margaret Garcia", + "Value": 680, + "Segment": "Japan" + }, + { + "Category": "Barbara Anderson", + "Value": 47, + "Segment": "USA" + }, + { + "Category": "Barbara Anderson", + "Value": 265, + "Segment": "China" + }, + { + "Category": "Barbara Anderson", + "Value": 385, + "Segment": "Japan" + }, + { + "Category": "Thomas Smith", + "Value": 789, + "Segment": "USA" + }, + { + "Category": "Thomas Smith", + "Value": 127, + "Segment": "China" + }, + { + "Category": "Thomas Smith", + "Value": 276, + "Segment": "Japan" + }, + { + "Category": "Kimberly Thomas", + "Value": 756, + "Segment": "USA" + }, + { + "Category": "Kimberly Thomas", + "Value": 677, + "Segment": "China" + }, + { + "Category": "Kimberly Thomas", + "Value": 416, + "Segment": "Japan" + }, + { + "Category": "Karen Garcia", + "Value": 823, + "Segment": "USA" + }, + { + "Category": "Karen Garcia", + "Value": 801, + "Segment": "China" + }, + { + "Category": "Karen Garcia", + "Value": 415, + "Segment": "Japan" + }, + { + "Category": "Sarah Torres", + "Value": 697, + "Segment": "USA" + }, + { + "Category": "Sarah Torres", + "Value": 665, + "Segment": "China" + }, + { + "Category": "Sarah Torres", + "Value": 152, + "Segment": "Japan" + }, + { + "Category": "Emily Hill", + "Value": 331, + "Segment": "USA" + }, + { + "Category": "Emily Hill", + "Value": 387, + "Segment": "China" + }, + { + "Category": "Emily Hill", + "Value": 797, + "Segment": "Japan" + }, + { + "Category": "Sarah Walker", + "Value": 235, + "Segment": "USA" + }, + { + "Category": "Sarah Walker", + "Value": 337, + "Segment": "China" + }, + { + "Category": "Sarah Walker", + "Value": 40, + "Segment": "Japan" + }, + { + "Category": "Michael Clark", + "Value": 216, + "Segment": "USA" + }, + { + "Category": "Michael Clark", + "Value": 25, + "Segment": "China" + }, + { + "Category": "Michael Clark", + "Value": 970, + "Segment": "Japan" + }, + { + "Category": "Joshua Wright", + "Value": 21, + "Segment": "USA" + }, + { + "Category": "Joshua Wright", + "Value": 925, + "Segment": "China" + }, + { + "Category": "Joshua Wright", + "Value": 781, + "Segment": "Japan" + }, + { + "Category": "Andrew Walker", + "Value": 696, + "Segment": "USA" + }, + { + "Category": "Andrew Walker", + "Value": 224, + "Segment": "China" + }, + { + "Category": "Andrew Walker", + "Value": 961, + "Segment": "Japan" + }, + { + "Category": "Nancy Young", + "Value": 520, + "Segment": "USA" + }, + { + "Category": "Nancy Young", + "Value": 730, + "Segment": "China" + }, + { + "Category": "Nancy Young", + "Value": 811, + "Segment": "Japan" + }, + { + "Category": "John Lewis", + "Value": 501, + "Segment": "USA" + }, + { + "Category": "John Lewis", + "Value": 997, + "Segment": "China" + }, + { + "Category": "John Lewis", + "Value": 563, + "Segment": "Japan" + }, + { + "Category": "John Brown", + "Value": 36, + "Segment": "USA" + }, + { + "Category": "John Brown", + "Value": 686, + "Segment": "China" + }, + { + "Category": "John Brown", + "Value": 311, + "Segment": "Japan" + }, + { + "Category": "Anthony Thomas", + "Value": 619, + "Segment": "USA" + }, + { + "Category": "Anthony Thomas", + "Value": 868, + "Segment": "China" + }, + { + "Category": "Anthony Thomas", + "Value": 990, + "Segment": "Japan" + }, + { + "Category": "Joshua Moore", + "Value": 767, + "Segment": "USA" + }, + { + "Category": "Joshua Moore", + "Value": 16, + "Segment": "China" + }, + { + "Category": "Joshua Moore", + "Value": 193, + "Segment": "Japan" + }, + { + "Category": "John Hernandez", + "Value": 761, + "Segment": "USA" + }, + { + "Category": "John Hernandez", + "Value": 113, + "Segment": "China" + }, + { + "Category": "John Hernandez", + "Value": 811, + "Segment": "Japan" + }, + { + "Category": "James Perez", + "Value": 663, + "Segment": "USA" + }, + { + "Category": "James Perez", + "Value": 809, + "Segment": "China" + }, + { + "Category": "James Perez", + "Value": 723, + "Segment": "Japan" + }, + { + "Category": "James Scott", + "Value": 404, + "Segment": "USA" + }, + { + "Category": "James Scott", + "Value": 457, + "Segment": "China" + }, + { + "Category": "James Scott", + "Value": 918, + "Segment": "Japan" + }, + { + "Category": "Matthew Sanchez", + "Value": 267, + "Segment": "USA" + }, + { + "Category": "Matthew Sanchez", + "Value": 995, + "Segment": "China" + }, + { + "Category": "Matthew Sanchez", + "Value": 552, + "Segment": "Japan" + }, + { + "Category": "Joseph Sanchez", + "Value": 461, + "Segment": "USA" + }, + { + "Category": "Joseph Sanchez", + "Value": 738, + "Segment": "China" + }, + { + "Category": "Joseph Sanchez", + "Value": 91, + "Segment": "Japan" + }, + { + "Category": "Paul Perez", + "Value": 155, + "Segment": "USA" + }, + { + "Category": "Paul Perez", + "Value": 906, + "Segment": "China" + }, + { + "Category": "Paul Perez", + "Value": 187, + "Segment": "Japan" + }, + { + "Category": "Joshua Rodriguez", + "Value": 271, + "Segment": "USA" + }, + { + "Category": "Joshua Rodriguez", + "Value": 16, + "Segment": "China" + }, + { + "Category": "Joshua Rodriguez", + "Value": 208, + "Segment": "Japan" + }, + { + "Category": "Anthony Sanchez", + "Value": 756, + "Segment": "USA" + }, + { + "Category": "Anthony Sanchez", + "Value": 324, + "Segment": "China" + }, + { + "Category": "Anthony Sanchez", + "Value": 751, + "Segment": "Japan" + }, + { + "Category": "Linda King", + "Value": 177, + "Segment": "USA" + }, + { + "Category": "Linda King", + "Value": 583, + "Segment": "China" + }, + { + "Category": "Linda King", + "Value": 927, + "Segment": "Japan" + }, + { + "Category": "Elizabeth Smith", + "Value": 679, + "Segment": "USA" + }, + { + "Category": "Elizabeth Smith", + "Value": 616, + "Segment": "China" + }, + { + "Category": "Elizabeth Smith", + "Value": 371, + "Segment": "Japan" + }, + { + "Category": "Sandra Miller", + "Value": 526, + "Segment": "USA" + }, + { + "Category": "Sandra Miller", + "Value": 209, + "Segment": "China" + }, + { + "Category": "Sandra Miller", + "Value": 873, + "Segment": "Japan" + }, + { + "Category": "Nancy Allen", + "Value": 164, + "Segment": "USA" + }, + { + "Category": "Nancy Allen", + "Value": 73, + "Segment": "China" + }, + { + "Category": "Nancy Allen", + "Value": 325, + "Segment": "Japan" + }, + { + "Category": "Patricia Brown", + "Value": 651, + "Segment": "USA" + }, + { + "Category": "Patricia Brown", + "Value": 651, + "Segment": "China" + }, + { + "Category": "Patricia Brown", + "Value": 271, + "Segment": "Japan" + }, + { + "Category": "Lisa Clark", + "Value": 957, + "Segment": "USA" + }, + { + "Category": "Lisa Clark", + "Value": 767, + "Segment": "China" + }, + { + "Category": "Lisa Clark", + "Value": 654, + "Segment": "Japan" + }, + { + "Category": "Lisa Thompson", + "Value": 218, + "Segment": "USA" + }, + { + "Category": "Lisa Thompson", + "Value": 69, + "Segment": "China" + }, + { + "Category": "Lisa Thompson", + "Value": 168, + "Segment": "Japan" + }, + { + "Category": "Nancy Clark", + "Value": 741, + "Segment": "USA" + }, + { + "Category": "Nancy Clark", + "Value": 650, + "Segment": "China" + }, + { + "Category": "Nancy Clark", + "Value": 198, + "Segment": "Japan" + }, + { + "Category": "Steven Miller", + "Value": 401, + "Segment": "USA" + }, + { + "Category": "Steven Miller", + "Value": 552, + "Segment": "China" + }, + { + "Category": "Steven Miller", + "Value": 971, + "Segment": "Japan" + }, + { + "Category": "Charles King", + "Value": 224, + "Segment": "USA" + }, + { + "Category": "Charles King", + "Value": 919, + "Segment": "China" + }, + { + "Category": "Charles King", + "Value": 937, + "Segment": "Japan" + }, + { + "Category": "Paul Harris", + "Value": 449, + "Segment": "USA" + }, + { + "Category": "Paul Harris", + "Value": 310, + "Segment": "China" + }, + { + "Category": "Paul Harris", + "Value": 73, + "Segment": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/03-card6.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/03-card6.flint.json new file mode 100644 index 00000000..09dd72a9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/03-card6.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "ColorVal": "Rank" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "group": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 511, + "ColorVal": 1 + }, + { + "Category": "Laptop", + "Value": 326, + "ColorVal": 2 + }, + { + "Category": "Laptop", + "Value": 387, + "ColorVal": 3 + }, + { + "Category": "Laptop", + "Value": 159, + "ColorVal": 4 + }, + { + "Category": "Laptop", + "Value": 89, + "ColorVal": 5 + }, + { + "Category": "Phone", + "Value": 496, + "ColorVal": 1 + }, + { + "Category": "Phone", + "Value": 825, + "ColorVal": 2 + }, + { + "Category": "Phone", + "Value": 421, + "ColorVal": 3 + }, + { + "Category": "Phone", + "Value": 804, + "ColorVal": 4 + }, + { + "Category": "Phone", + "Value": 437, + "ColorVal": 5 + }, + { + "Category": "Tablet", + "Value": 874, + "ColorVal": 1 + }, + { + "Category": "Tablet", + "Value": 883, + "ColorVal": 2 + }, + { + "Category": "Tablet", + "Value": 858, + "ColorVal": 3 + }, + { + "Category": "Tablet", + "Value": 39, + "ColorVal": 4 + }, + { + "Category": "Tablet", + "Value": 933, + "ColorVal": 5 + }, + { + "Category": "Desktop", + "Value": 470, + "ColorVal": 1 + }, + { + "Category": "Desktop", + "Value": 111, + "ColorVal": 2 + }, + { + "Category": "Desktop", + "Value": 637, + "ColorVal": 3 + }, + { + "Category": "Desktop", + "Value": 951, + "ColorVal": 4 + }, + { + "Category": "Desktop", + "Value": 239, + "ColorVal": 5 + }, + { + "Category": "Monitor", + "Value": 774, + "ColorVal": 1 + }, + { + "Category": "Monitor", + "Value": 839, + "ColorVal": 2 + }, + { + "Category": "Monitor", + "Value": 182, + "ColorVal": 3 + }, + { + "Category": "Monitor", + "Value": 403, + "ColorVal": 4 + }, + { + "Category": "Monitor", + "Value": 901, + "ColorVal": 5 + }, + { + "Category": "Keyboard", + "Value": 898, + "ColorVal": 1 + }, + { + "Category": "Keyboard", + "Value": 914, + "ColorVal": 2 + }, + { + "Category": "Keyboard", + "Value": 511, + "ColorVal": 3 + }, + { + "Category": "Keyboard", + "Value": 602, + "ColorVal": 4 + }, + { + "Category": "Keyboard", + "Value": 77, + "ColorVal": 5 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/04-card12.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/04-card12.flint.json new file mode 100644 index 00000000..12ff785c --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/04-card12.flint.json @@ -0,0 +1,203 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Date", + "y": "Value", + "group": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 980, + "Segment": "Laptop" + }, + { + "Date": "2020-01-01", + "Value": 60, + "Segment": "Phone" + }, + { + "Date": "2020-01-01", + "Value": 702, + "Segment": "Tablet" + }, + { + "Date": "2020-04-01", + "Value": 804, + "Segment": "Laptop" + }, + { + "Date": "2020-04-01", + "Value": 604, + "Segment": "Phone" + }, + { + "Date": "2020-04-01", + "Value": 569, + "Segment": "Tablet" + }, + { + "Date": "2020-07-01", + "Value": 229, + "Segment": "Laptop" + }, + { + "Date": "2020-07-01", + "Value": 441, + "Segment": "Phone" + }, + { + "Date": "2020-07-01", + "Value": 431, + "Segment": "Tablet" + }, + { + "Date": "2020-09-30", + "Value": 262, + "Segment": "Laptop" + }, + { + "Date": "2020-09-30", + "Value": 656, + "Segment": "Phone" + }, + { + "Date": "2020-09-30", + "Value": 77, + "Segment": "Tablet" + }, + { + "Date": "2020-12-31", + "Value": 906, + "Segment": "Laptop" + }, + { + "Date": "2020-12-31", + "Value": 69, + "Segment": "Phone" + }, + { + "Date": "2020-12-31", + "Value": 771, + "Segment": "Tablet" + }, + { + "Date": "2021-04-01", + "Value": 356, + "Segment": "Laptop" + }, + { + "Date": "2021-04-01", + "Value": 790, + "Segment": "Phone" + }, + { + "Date": "2021-04-01", + "Value": 484, + "Segment": "Tablet" + }, + { + "Date": "2021-07-01", + "Value": 923, + "Segment": "Laptop" + }, + { + "Date": "2021-07-01", + "Value": 185, + "Segment": "Phone" + }, + { + "Date": "2021-07-01", + "Value": 540, + "Segment": "Tablet" + }, + { + "Date": "2021-09-30", + "Value": 872, + "Segment": "Laptop" + }, + { + "Date": "2021-09-30", + "Value": 189, + "Segment": "Phone" + }, + { + "Date": "2021-09-30", + "Value": 587, + "Segment": "Tablet" + }, + { + "Date": "2021-12-31", + "Value": 238, + "Segment": "Laptop" + }, + { + "Date": "2021-12-31", + "Value": 432, + "Segment": "Phone" + }, + { + "Date": "2021-12-31", + "Value": 217, + "Segment": "Tablet" + }, + { + "Date": "2022-04-01", + "Value": 58, + "Segment": "Laptop" + }, + { + "Date": "2022-04-01", + "Value": 473, + "Segment": "Phone" + }, + { + "Date": "2022-04-01", + "Value": 139, + "Segment": "Tablet" + }, + { + "Date": "2022-07-01", + "Value": 152, + "Segment": "Laptop" + }, + { + "Date": "2022-07-01", + "Value": 413, + "Segment": "Phone" + }, + { + "Date": "2022-07-01", + "Value": 554, + "Segment": "Tablet" + }, + { + "Date": "2022-09-30", + "Value": 695, + "Segment": "Laptop" + }, + { + "Date": "2022-09-30", + "Value": 951, + "Segment": "Phone" + }, + { + "Date": "2022-09-30", + "Value": 127, + "Segment": "Tablet" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/05-card5.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/05-card5.flint.json new file mode 100644 index 00000000..e3b3dd52 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/05-card5.flint.json @@ -0,0 +1,123 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "X", + "y": "Value", + "group": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 1, + "Value": 39, + "Segment": "Laptop" + }, + { + "X": 1, + "Value": 154, + "Segment": "Phone" + }, + { + "X": 1, + "Value": 518, + "Segment": "Tablet" + }, + { + "X": 1, + "Value": 844, + "Segment": "Desktop" + }, + { + "X": 2, + "Value": 774, + "Segment": "Laptop" + }, + { + "X": 2, + "Value": 490, + "Segment": "Phone" + }, + { + "X": 2, + "Value": 270, + "Segment": "Tablet" + }, + { + "X": 2, + "Value": 895, + "Segment": "Desktop" + }, + { + "X": 3, + "Value": 843, + "Segment": "Laptop" + }, + { + "X": 3, + "Value": 361, + "Segment": "Phone" + }, + { + "X": 3, + "Value": 984, + "Segment": "Tablet" + }, + { + "X": 3, + "Value": 36, + "Segment": "Desktop" + }, + { + "X": 4, + "Value": 30, + "Segment": "Laptop" + }, + { + "X": 4, + "Value": 201, + "Segment": "Phone" + }, + { + "X": 4, + "Value": 215, + "Segment": "Tablet" + }, + { + "X": 4, + "Value": 728, + "Segment": "Desktop" + }, + { + "X": 5, + "Value": 139, + "Segment": "Laptop" + }, + { + "X": 5, + "Value": 629, + "Segment": "Phone" + }, + { + "X": 5, + "Value": 232, + "Segment": "Tablet" + }, + { + "X": 5, + "Value": 94, + "Segment": "Desktop" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/06-card24.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/06-card24.flint.json new file mode 100644 index 00000000..2031d434 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/06-card24.flint.json @@ -0,0 +1,143 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "X", + "y": "Group", + "group": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "Laptop", + "X": 354, + "Segment": "USA" + }, + { + "Group": "Laptop", + "X": 992, + "Segment": "China" + }, + { + "Group": "Laptop", + "X": 729, + "Segment": "Japan" + }, + { + "Group": "Laptop", + "X": 518, + "Segment": "Germany" + }, + { + "Group": "Phone", + "X": 465, + "Segment": "USA" + }, + { + "Group": "Phone", + "X": 707, + "Segment": "China" + }, + { + "Group": "Phone", + "X": 855, + "Segment": "Japan" + }, + { + "Group": "Phone", + "X": 167, + "Segment": "Germany" + }, + { + "Group": "Tablet", + "X": 360, + "Segment": "USA" + }, + { + "Group": "Tablet", + "X": 283, + "Segment": "China" + }, + { + "Group": "Tablet", + "X": 710, + "Segment": "Japan" + }, + { + "Group": "Tablet", + "X": 975, + "Segment": "Germany" + }, + { + "Group": "Desktop", + "X": 925, + "Segment": "USA" + }, + { + "Group": "Desktop", + "X": 990, + "Segment": "China" + }, + { + "Group": "Desktop", + "X": 899, + "Segment": "Japan" + }, + { + "Group": "Desktop", + "X": 14, + "Segment": "Germany" + }, + { + "Group": "Monitor", + "X": 928, + "Segment": "USA" + }, + { + "Group": "Monitor", + "X": 903, + "Segment": "China" + }, + { + "Group": "Monitor", + "X": 442, + "Segment": "Japan" + }, + { + "Group": "Monitor", + "X": 548, + "Segment": "Germany" + }, + { + "Group": "Keyboard", + "X": 64, + "Segment": "USA" + }, + { + "Group": "Keyboard", + "X": 215, + "Segment": "China" + }, + { + "Group": "Keyboard", + "X": 920, + "Segment": "Japan" + }, + { + "Group": "Keyboard", + "X": 750, + "Segment": "Germany" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/07-card30.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/07-card30.flint.json new file mode 100644 index 00000000..937a2c2e --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/07-card30.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "X": "Quantity", + "EndDate": "Date", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "X", + "y": "EndDate", + "group": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "EndDate": "2020-01-01", + "X": 734, + "Segment": "Laptop" + }, + { + "EndDate": "2020-01-01", + "X": 68, + "Segment": "Phone" + }, + { + "EndDate": "2020-01-01", + "X": 719, + "Segment": "Tablet" + }, + { + "EndDate": "2020-04-19", + "X": 798, + "Segment": "Laptop" + }, + { + "EndDate": "2020-04-19", + "X": 602, + "Segment": "Phone" + }, + { + "EndDate": "2020-04-19", + "X": 96, + "Segment": "Tablet" + }, + { + "EndDate": "2020-08-07", + "X": 782, + "Segment": "Laptop" + }, + { + "EndDate": "2020-08-07", + "X": 577, + "Segment": "Phone" + }, + { + "EndDate": "2020-08-07", + "X": 832, + "Segment": "Tablet" + }, + { + "EndDate": "2020-11-24", + "X": 60, + "Segment": "Laptop" + }, + { + "EndDate": "2020-11-24", + "X": 806, + "Segment": "Phone" + }, + { + "EndDate": "2020-11-24", + "X": 148, + "Segment": "Tablet" + }, + { + "EndDate": "2021-03-14", + "X": 295, + "Segment": "Laptop" + }, + { + "EndDate": "2021-03-14", + "X": 766, + "Segment": "Phone" + }, + { + "EndDate": "2021-03-14", + "X": 213, + "Segment": "Tablet" + }, + { + "EndDate": "2021-07-01", + "X": 588, + "Segment": "Laptop" + }, + { + "EndDate": "2021-07-01", + "X": 199, + "Segment": "Phone" + }, + { + "EndDate": "2021-07-01", + "X": 91, + "Segment": "Tablet" + }, + { + "EndDate": "2021-10-19", + "X": 138, + "Segment": "Laptop" + }, + { + "EndDate": "2021-10-19", + "X": 116, + "Segment": "Phone" + }, + { + "EndDate": "2021-10-19", + "X": 189, + "Segment": "Tablet" + }, + { + "EndDate": "2022-02-05", + "X": 348, + "Segment": "Laptop" + }, + { + "EndDate": "2022-02-05", + "X": 157, + "Segment": "Phone" + }, + { + "EndDate": "2022-02-05", + "X": 997, + "Segment": "Tablet" + }, + { + "EndDate": "2022-05-26", + "X": 947, + "Segment": "Laptop" + }, + { + "EndDate": "2022-05-26", + "X": 103, + "Segment": "Phone" + }, + { + "EndDate": "2022-05-26", + "X": 785, + "Segment": "Tablet" + }, + { + "EndDate": "2022-09-12", + "X": 114, + "Segment": "Laptop" + }, + { + "EndDate": "2022-09-12", + "X": 694, + "Segment": "Phone" + }, + { + "EndDate": "2022-09-12", + "X": 339, + "Segment": "Tablet" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/08-card8.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/08-card8.flint.json new file mode 100644 index 00000000..d871d376 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/08-card8.flint.json @@ -0,0 +1,2023 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "ColorVal": "Rank" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "group": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 356, + "ColorVal": 1 + }, + { + "Category": "Laptop", + "Value": 359, + "ColorVal": 2 + }, + { + "Category": "Laptop", + "Value": 250, + "ColorVal": 3 + }, + { + "Category": "Laptop", + "Value": 74, + "ColorVal": 4 + }, + { + "Category": "Laptop", + "Value": 721, + "ColorVal": 5 + }, + { + "Category": "Laptop", + "Value": 502, + "ColorVal": 6 + }, + { + "Category": "Laptop", + "Value": 859, + "ColorVal": 7 + }, + { + "Category": "Laptop", + "Value": 809, + "ColorVal": 8 + }, + { + "Category": "Laptop", + "Value": 272, + "ColorVal": 9 + }, + { + "Category": "Laptop", + "Value": 897, + "ColorVal": 10 + }, + { + "Category": "Laptop", + "Value": 853, + "ColorVal": 11 + }, + { + "Category": "Laptop", + "Value": 691, + "ColorVal": 12 + }, + { + "Category": "Laptop", + "Value": 802, + "ColorVal": 13 + }, + { + "Category": "Laptop", + "Value": 881, + "ColorVal": 14 + }, + { + "Category": "Laptop", + "Value": 680, + "ColorVal": 15 + }, + { + "Category": "Laptop", + "Value": 755, + "ColorVal": 16 + }, + { + "Category": "Laptop", + "Value": 17, + "ColorVal": 17 + }, + { + "Category": "Laptop", + "Value": 488, + "ColorVal": 18 + }, + { + "Category": "Laptop", + "Value": 402, + "ColorVal": 19 + }, + { + "Category": "Laptop", + "Value": 245, + "ColorVal": 20 + }, + { + "Category": "Laptop", + "Value": 291, + "ColorVal": 21 + }, + { + "Category": "Laptop", + "Value": 782, + "ColorVal": 22 + }, + { + "Category": "Laptop", + "Value": 860, + "ColorVal": 23 + }, + { + "Category": "Laptop", + "Value": 216, + "ColorVal": 24 + }, + { + "Category": "Laptop", + "Value": 87, + "ColorVal": 25 + }, + { + "Category": "Laptop", + "Value": 436, + "ColorVal": 26 + }, + { + "Category": "Laptop", + "Value": 283, + "ColorVal": 27 + }, + { + "Category": "Laptop", + "Value": 707, + "ColorVal": 28 + }, + { + "Category": "Laptop", + "Value": 464, + "ColorVal": 29 + }, + { + "Category": "Laptop", + "Value": 308, + "ColorVal": 30 + }, + { + "Category": "Laptop", + "Value": 915, + "ColorVal": 31 + }, + { + "Category": "Laptop", + "Value": 381, + "ColorVal": 32 + }, + { + "Category": "Laptop", + "Value": 382, + "ColorVal": 33 + }, + { + "Category": "Laptop", + "Value": 193, + "ColorVal": 34 + }, + { + "Category": "Laptop", + "Value": 462, + "ColorVal": 35 + }, + { + "Category": "Laptop", + "Value": 560, + "ColorVal": 36 + }, + { + "Category": "Laptop", + "Value": 95, + "ColorVal": 37 + }, + { + "Category": "Laptop", + "Value": 655, + "ColorVal": 38 + }, + { + "Category": "Laptop", + "Value": 972, + "ColorVal": 39 + }, + { + "Category": "Laptop", + "Value": 870, + "ColorVal": 40 + }, + { + "Category": "Laptop", + "Value": 112, + "ColorVal": 41 + }, + { + "Category": "Laptop", + "Value": 102, + "ColorVal": 42 + }, + { + "Category": "Laptop", + "Value": 826, + "ColorVal": 43 + }, + { + "Category": "Laptop", + "Value": 794, + "ColorVal": 44 + }, + { + "Category": "Laptop", + "Value": 810, + "ColorVal": 45 + }, + { + "Category": "Laptop", + "Value": 577, + "ColorVal": 46 + }, + { + "Category": "Laptop", + "Value": 754, + "ColorVal": 47 + }, + { + "Category": "Laptop", + "Value": 232, + "ColorVal": 48 + }, + { + "Category": "Laptop", + "Value": 597, + "ColorVal": 49 + }, + { + "Category": "Laptop", + "Value": 863, + "ColorVal": 50 + }, + { + "Category": "Phone", + "Value": 100, + "ColorVal": 1 + }, + { + "Category": "Phone", + "Value": 14, + "ColorVal": 2 + }, + { + "Category": "Phone", + "Value": 892, + "ColorVal": 3 + }, + { + "Category": "Phone", + "Value": 115, + "ColorVal": 4 + }, + { + "Category": "Phone", + "Value": 281, + "ColorVal": 5 + }, + { + "Category": "Phone", + "Value": 833, + "ColorVal": 6 + }, + { + "Category": "Phone", + "Value": 217, + "ColorVal": 7 + }, + { + "Category": "Phone", + "Value": 56, + "ColorVal": 8 + }, + { + "Category": "Phone", + "Value": 898, + "ColorVal": 9 + }, + { + "Category": "Phone", + "Value": 737, + "ColorVal": 10 + }, + { + "Category": "Phone", + "Value": 987, + "ColorVal": 11 + }, + { + "Category": "Phone", + "Value": 778, + "ColorVal": 12 + }, + { + "Category": "Phone", + "Value": 575, + "ColorVal": 13 + }, + { + "Category": "Phone", + "Value": 505, + "ColorVal": 14 + }, + { + "Category": "Phone", + "Value": 41, + "ColorVal": 15 + }, + { + "Category": "Phone", + "Value": 911, + "ColorVal": 16 + }, + { + "Category": "Phone", + "Value": 180, + "ColorVal": 17 + }, + { + "Category": "Phone", + "Value": 505, + "ColorVal": 18 + }, + { + "Category": "Phone", + "Value": 783, + "ColorVal": 19 + }, + { + "Category": "Phone", + "Value": 789, + "ColorVal": 20 + }, + { + "Category": "Phone", + "Value": 983, + "ColorVal": 21 + }, + { + "Category": "Phone", + "Value": 445, + "ColorVal": 22 + }, + { + "Category": "Phone", + "Value": 446, + "ColorVal": 23 + }, + { + "Category": "Phone", + "Value": 116, + "ColorVal": 24 + }, + { + "Category": "Phone", + "Value": 904, + "ColorVal": 25 + }, + { + "Category": "Phone", + "Value": 780, + "ColorVal": 26 + }, + { + "Category": "Phone", + "Value": 239, + "ColorVal": 27 + }, + { + "Category": "Phone", + "Value": 928, + "ColorVal": 28 + }, + { + "Category": "Phone", + "Value": 299, + "ColorVal": 29 + }, + { + "Category": "Phone", + "Value": 602, + "ColorVal": 30 + }, + { + "Category": "Phone", + "Value": 489, + "ColorVal": 31 + }, + { + "Category": "Phone", + "Value": 750, + "ColorVal": 32 + }, + { + "Category": "Phone", + "Value": 262, + "ColorVal": 33 + }, + { + "Category": "Phone", + "Value": 321, + "ColorVal": 34 + }, + { + "Category": "Phone", + "Value": 215, + "ColorVal": 35 + }, + { + "Category": "Phone", + "Value": 390, + "ColorVal": 36 + }, + { + "Category": "Phone", + "Value": 73, + "ColorVal": 37 + }, + { + "Category": "Phone", + "Value": 566, + "ColorVal": 38 + }, + { + "Category": "Phone", + "Value": 975, + "ColorVal": 39 + }, + { + "Category": "Phone", + "Value": 117, + "ColorVal": 40 + }, + { + "Category": "Phone", + "Value": 495, + "ColorVal": 41 + }, + { + "Category": "Phone", + "Value": 755, + "ColorVal": 42 + }, + { + "Category": "Phone", + "Value": 587, + "ColorVal": 43 + }, + { + "Category": "Phone", + "Value": 611, + "ColorVal": 44 + }, + { + "Category": "Phone", + "Value": 839, + "ColorVal": 45 + }, + { + "Category": "Phone", + "Value": 163, + "ColorVal": 46 + }, + { + "Category": "Phone", + "Value": 329, + "ColorVal": 47 + }, + { + "Category": "Phone", + "Value": 720, + "ColorVal": 48 + }, + { + "Category": "Phone", + "Value": 781, + "ColorVal": 49 + }, + { + "Category": "Phone", + "Value": 982, + "ColorVal": 50 + }, + { + "Category": "Tablet", + "Value": 606, + "ColorVal": 1 + }, + { + "Category": "Tablet", + "Value": 420, + "ColorVal": 2 + }, + { + "Category": "Tablet", + "Value": 758, + "ColorVal": 3 + }, + { + "Category": "Tablet", + "Value": 918, + "ColorVal": 4 + }, + { + "Category": "Tablet", + "Value": 461, + "ColorVal": 5 + }, + { + "Category": "Tablet", + "Value": 492, + "ColorVal": 6 + }, + { + "Category": "Tablet", + "Value": 110, + "ColorVal": 7 + }, + { + "Category": "Tablet", + "Value": 163, + "ColorVal": 8 + }, + { + "Category": "Tablet", + "Value": 902, + "ColorVal": 9 + }, + { + "Category": "Tablet", + "Value": 35, + "ColorVal": 10 + }, + { + "Category": "Tablet", + "Value": 319, + "ColorVal": 11 + }, + { + "Category": "Tablet", + "Value": 560, + "ColorVal": 12 + }, + { + "Category": "Tablet", + "Value": 478, + "ColorVal": 13 + }, + { + "Category": "Tablet", + "Value": 573, + "ColorVal": 14 + }, + { + "Category": "Tablet", + "Value": 175, + "ColorVal": 15 + }, + { + "Category": "Tablet", + "Value": 177, + "ColorVal": 16 + }, + { + "Category": "Tablet", + "Value": 73, + "ColorVal": 17 + }, + { + "Category": "Tablet", + "Value": 42, + "ColorVal": 18 + }, + { + "Category": "Tablet", + "Value": 570, + "ColorVal": 19 + }, + { + "Category": "Tablet", + "Value": 479, + "ColorVal": 20 + }, + { + "Category": "Tablet", + "Value": 980, + "ColorVal": 21 + }, + { + "Category": "Tablet", + "Value": 938, + "ColorVal": 22 + }, + { + "Category": "Tablet", + "Value": 721, + "ColorVal": 23 + }, + { + "Category": "Tablet", + "Value": 577, + "ColorVal": 24 + }, + { + "Category": "Tablet", + "Value": 684, + "ColorVal": 25 + }, + { + "Category": "Tablet", + "Value": 629, + "ColorVal": 26 + }, + { + "Category": "Tablet", + "Value": 853, + "ColorVal": 27 + }, + { + "Category": "Tablet", + "Value": 527, + "ColorVal": 28 + }, + { + "Category": "Tablet", + "Value": 513, + "ColorVal": 29 + }, + { + "Category": "Tablet", + "Value": 141, + "ColorVal": 30 + }, + { + "Category": "Tablet", + "Value": 926, + "ColorVal": 31 + }, + { + "Category": "Tablet", + "Value": 479, + "ColorVal": 32 + }, + { + "Category": "Tablet", + "Value": 717, + "ColorVal": 33 + }, + { + "Category": "Tablet", + "Value": 931, + "ColorVal": 34 + }, + { + "Category": "Tablet", + "Value": 496, + "ColorVal": 35 + }, + { + "Category": "Tablet", + "Value": 917, + "ColorVal": 36 + }, + { + "Category": "Tablet", + "Value": 610, + "ColorVal": 37 + }, + { + "Category": "Tablet", + "Value": 239, + "ColorVal": 38 + }, + { + "Category": "Tablet", + "Value": 650, + "ColorVal": 39 + }, + { + "Category": "Tablet", + "Value": 102, + "ColorVal": 40 + }, + { + "Category": "Tablet", + "Value": 134, + "ColorVal": 41 + }, + { + "Category": "Tablet", + "Value": 475, + "ColorVal": 42 + }, + { + "Category": "Tablet", + "Value": 108, + "ColorVal": 43 + }, + { + "Category": "Tablet", + "Value": 848, + "ColorVal": 44 + }, + { + "Category": "Tablet", + "Value": 309, + "ColorVal": 45 + }, + { + "Category": "Tablet", + "Value": 930, + "ColorVal": 46 + }, + { + "Category": "Tablet", + "Value": 861, + "ColorVal": 47 + }, + { + "Category": "Tablet", + "Value": 610, + "ColorVal": 48 + }, + { + "Category": "Tablet", + "Value": 409, + "ColorVal": 49 + }, + { + "Category": "Tablet", + "Value": 969, + "ColorVal": 50 + }, + { + "Category": "Desktop", + "Value": 837, + "ColorVal": 1 + }, + { + "Category": "Desktop", + "Value": 413, + "ColorVal": 2 + }, + { + "Category": "Desktop", + "Value": 562, + "ColorVal": 3 + }, + { + "Category": "Desktop", + "Value": 57, + "ColorVal": 4 + }, + { + "Category": "Desktop", + "Value": 52, + "ColorVal": 5 + }, + { + "Category": "Desktop", + "Value": 220, + "ColorVal": 6 + }, + { + "Category": "Desktop", + "Value": 759, + "ColorVal": 7 + }, + { + "Category": "Desktop", + "Value": 815, + "ColorVal": 8 + }, + { + "Category": "Desktop", + "Value": 353, + "ColorVal": 9 + }, + { + "Category": "Desktop", + "Value": 802, + "ColorVal": 10 + }, + { + "Category": "Desktop", + "Value": 150, + "ColorVal": 11 + }, + { + "Category": "Desktop", + "Value": 255, + "ColorVal": 12 + }, + { + "Category": "Desktop", + "Value": 743, + "ColorVal": 13 + }, + { + "Category": "Desktop", + "Value": 898, + "ColorVal": 14 + }, + { + "Category": "Desktop", + "Value": 753, + "ColorVal": 15 + }, + { + "Category": "Desktop", + "Value": 309, + "ColorVal": 16 + }, + { + "Category": "Desktop", + "Value": 934, + "ColorVal": 17 + }, + { + "Category": "Desktop", + "Value": 832, + "ColorVal": 18 + }, + { + "Category": "Desktop", + "Value": 629, + "ColorVal": 19 + }, + { + "Category": "Desktop", + "Value": 534, + "ColorVal": 20 + }, + { + "Category": "Desktop", + "Value": 606, + "ColorVal": 21 + }, + { + "Category": "Desktop", + "Value": 432, + "ColorVal": 22 + }, + { + "Category": "Desktop", + "Value": 995, + "ColorVal": 23 + }, + { + "Category": "Desktop", + "Value": 128, + "ColorVal": 24 + }, + { + "Category": "Desktop", + "Value": 524, + "ColorVal": 25 + }, + { + "Category": "Desktop", + "Value": 793, + "ColorVal": 26 + }, + { + "Category": "Desktop", + "Value": 747, + "ColorVal": 27 + }, + { + "Category": "Desktop", + "Value": 163, + "ColorVal": 28 + }, + { + "Category": "Desktop", + "Value": 375, + "ColorVal": 29 + }, + { + "Category": "Desktop", + "Value": 701, + "ColorVal": 30 + }, + { + "Category": "Desktop", + "Value": 908, + "ColorVal": 31 + }, + { + "Category": "Desktop", + "Value": 939, + "ColorVal": 32 + }, + { + "Category": "Desktop", + "Value": 395, + "ColorVal": 33 + }, + { + "Category": "Desktop", + "Value": 538, + "ColorVal": 34 + }, + { + "Category": "Desktop", + "Value": 477, + "ColorVal": 35 + }, + { + "Category": "Desktop", + "Value": 515, + "ColorVal": 36 + }, + { + "Category": "Desktop", + "Value": 201, + "ColorVal": 37 + }, + { + "Category": "Desktop", + "Value": 784, + "ColorVal": 38 + }, + { + "Category": "Desktop", + "Value": 831, + "ColorVal": 39 + }, + { + "Category": "Desktop", + "Value": 851, + "ColorVal": 40 + }, + { + "Category": "Desktop", + "Value": 363, + "ColorVal": 41 + }, + { + "Category": "Desktop", + "Value": 180, + "ColorVal": 42 + }, + { + "Category": "Desktop", + "Value": 362, + "ColorVal": 43 + }, + { + "Category": "Desktop", + "Value": 280, + "ColorVal": 44 + }, + { + "Category": "Desktop", + "Value": 140, + "ColorVal": 45 + }, + { + "Category": "Desktop", + "Value": 497, + "ColorVal": 46 + }, + { + "Category": "Desktop", + "Value": 953, + "ColorVal": 47 + }, + { + "Category": "Desktop", + "Value": 482, + "ColorVal": 48 + }, + { + "Category": "Desktop", + "Value": 869, + "ColorVal": 49 + }, + { + "Category": "Desktop", + "Value": 875, + "ColorVal": 50 + }, + { + "Category": "Monitor", + "Value": 627, + "ColorVal": 1 + }, + { + "Category": "Monitor", + "Value": 959, + "ColorVal": 2 + }, + { + "Category": "Monitor", + "Value": 194, + "ColorVal": 3 + }, + { + "Category": "Monitor", + "Value": 84, + "ColorVal": 4 + }, + { + "Category": "Monitor", + "Value": 205, + "ColorVal": 5 + }, + { + "Category": "Monitor", + "Value": 82, + "ColorVal": 6 + }, + { + "Category": "Monitor", + "Value": 168, + "ColorVal": 7 + }, + { + "Category": "Monitor", + "Value": 262, + "ColorVal": 8 + }, + { + "Category": "Monitor", + "Value": 487, + "ColorVal": 9 + }, + { + "Category": "Monitor", + "Value": 522, + "ColorVal": 10 + }, + { + "Category": "Monitor", + "Value": 287, + "ColorVal": 11 + }, + { + "Category": "Monitor", + "Value": 858, + "ColorVal": 12 + }, + { + "Category": "Monitor", + "Value": 428, + "ColorVal": 13 + }, + { + "Category": "Monitor", + "Value": 579, + "ColorVal": 14 + }, + { + "Category": "Monitor", + "Value": 239, + "ColorVal": 15 + }, + { + "Category": "Monitor", + "Value": 626, + "ColorVal": 16 + }, + { + "Category": "Monitor", + "Value": 466, + "ColorVal": 17 + }, + { + "Category": "Monitor", + "Value": 844, + "ColorVal": 18 + }, + { + "Category": "Monitor", + "Value": 767, + "ColorVal": 19 + }, + { + "Category": "Monitor", + "Value": 579, + "ColorVal": 20 + }, + { + "Category": "Monitor", + "Value": 406, + "ColorVal": 21 + }, + { + "Category": "Monitor", + "Value": 628, + "ColorVal": 22 + }, + { + "Category": "Monitor", + "Value": 329, + "ColorVal": 23 + }, + { + "Category": "Monitor", + "Value": 93, + "ColorVal": 24 + }, + { + "Category": "Monitor", + "Value": 16, + "ColorVal": 25 + }, + { + "Category": "Monitor", + "Value": 962, + "ColorVal": 26 + }, + { + "Category": "Monitor", + "Value": 636, + "ColorVal": 27 + }, + { + "Category": "Monitor", + "Value": 724, + "ColorVal": 28 + }, + { + "Category": "Monitor", + "Value": 451, + "ColorVal": 29 + }, + { + "Category": "Monitor", + "Value": 72, + "ColorVal": 30 + }, + { + "Category": "Monitor", + "Value": 82, + "ColorVal": 31 + }, + { + "Category": "Monitor", + "Value": 364, + "ColorVal": 32 + }, + { + "Category": "Monitor", + "Value": 161, + "ColorVal": 33 + }, + { + "Category": "Monitor", + "Value": 543, + "ColorVal": 34 + }, + { + "Category": "Monitor", + "Value": 841, + "ColorVal": 35 + }, + { + "Category": "Monitor", + "Value": 599, + "ColorVal": 36 + }, + { + "Category": "Monitor", + "Value": 304, + "ColorVal": 37 + }, + { + "Category": "Monitor", + "Value": 764, + "ColorVal": 38 + }, + { + "Category": "Monitor", + "Value": 888, + "ColorVal": 39 + }, + { + "Category": "Monitor", + "Value": 221, + "ColorVal": 40 + }, + { + "Category": "Monitor", + "Value": 342, + "ColorVal": 41 + }, + { + "Category": "Monitor", + "Value": 502, + "ColorVal": 42 + }, + { + "Category": "Monitor", + "Value": 44, + "ColorVal": 43 + }, + { + "Category": "Monitor", + "Value": 807, + "ColorVal": 44 + }, + { + "Category": "Monitor", + "Value": 202, + "ColorVal": 45 + }, + { + "Category": "Monitor", + "Value": 903, + "ColorVal": 46 + }, + { + "Category": "Monitor", + "Value": 345, + "ColorVal": 47 + }, + { + "Category": "Monitor", + "Value": 706, + "ColorVal": 48 + }, + { + "Category": "Monitor", + "Value": 118, + "ColorVal": 49 + }, + { + "Category": "Monitor", + "Value": 205, + "ColorVal": 50 + }, + { + "Category": "Keyboard", + "Value": 943, + "ColorVal": 1 + }, + { + "Category": "Keyboard", + "Value": 654, + "ColorVal": 2 + }, + { + "Category": "Keyboard", + "Value": 910, + "ColorVal": 3 + }, + { + "Category": "Keyboard", + "Value": 142, + "ColorVal": 4 + }, + { + "Category": "Keyboard", + "Value": 793, + "ColorVal": 5 + }, + { + "Category": "Keyboard", + "Value": 383, + "ColorVal": 6 + }, + { + "Category": "Keyboard", + "Value": 773, + "ColorVal": 7 + }, + { + "Category": "Keyboard", + "Value": 496, + "ColorVal": 8 + }, + { + "Category": "Keyboard", + "Value": 159, + "ColorVal": 9 + }, + { + "Category": "Keyboard", + "Value": 803, + "ColorVal": 10 + }, + { + "Category": "Keyboard", + "Value": 253, + "ColorVal": 11 + }, + { + "Category": "Keyboard", + "Value": 432, + "ColorVal": 12 + }, + { + "Category": "Keyboard", + "Value": 836, + "ColorVal": 13 + }, + { + "Category": "Keyboard", + "Value": 315, + "ColorVal": 14 + }, + { + "Category": "Keyboard", + "Value": 976, + "ColorVal": 15 + }, + { + "Category": "Keyboard", + "Value": 434, + "ColorVal": 16 + }, + { + "Category": "Keyboard", + "Value": 572, + "ColorVal": 17 + }, + { + "Category": "Keyboard", + "Value": 124, + "ColorVal": 18 + }, + { + "Category": "Keyboard", + "Value": 237, + "ColorVal": 19 + }, + { + "Category": "Keyboard", + "Value": 625, + "ColorVal": 20 + }, + { + "Category": "Keyboard", + "Value": 229, + "ColorVal": 21 + }, + { + "Category": "Keyboard", + "Value": 396, + "ColorVal": 22 + }, + { + "Category": "Keyboard", + "Value": 542, + "ColorVal": 23 + }, + { + "Category": "Keyboard", + "Value": 480, + "ColorVal": 24 + }, + { + "Category": "Keyboard", + "Value": 670, + "ColorVal": 25 + }, + { + "Category": "Keyboard", + "Value": 400, + "ColorVal": 26 + }, + { + "Category": "Keyboard", + "Value": 371, + "ColorVal": 27 + }, + { + "Category": "Keyboard", + "Value": 686, + "ColorVal": 28 + }, + { + "Category": "Keyboard", + "Value": 415, + "ColorVal": 29 + }, + { + "Category": "Keyboard", + "Value": 502, + "ColorVal": 30 + }, + { + "Category": "Keyboard", + "Value": 490, + "ColorVal": 31 + }, + { + "Category": "Keyboard", + "Value": 623, + "ColorVal": 32 + }, + { + "Category": "Keyboard", + "Value": 201, + "ColorVal": 33 + }, + { + "Category": "Keyboard", + "Value": 523, + "ColorVal": 34 + }, + { + "Category": "Keyboard", + "Value": 547, + "ColorVal": 35 + }, + { + "Category": "Keyboard", + "Value": 163, + "ColorVal": 36 + }, + { + "Category": "Keyboard", + "Value": 892, + "ColorVal": 37 + }, + { + "Category": "Keyboard", + "Value": 553, + "ColorVal": 38 + }, + { + "Category": "Keyboard", + "Value": 159, + "ColorVal": 39 + }, + { + "Category": "Keyboard", + "Value": 340, + "ColorVal": 40 + }, + { + "Category": "Keyboard", + "Value": 580, + "ColorVal": 41 + }, + { + "Category": "Keyboard", + "Value": 613, + "ColorVal": 42 + }, + { + "Category": "Keyboard", + "Value": 945, + "ColorVal": 43 + }, + { + "Category": "Keyboard", + "Value": 14, + "ColorVal": 44 + }, + { + "Category": "Keyboard", + "Value": 48, + "ColorVal": 45 + }, + { + "Category": "Keyboard", + "Value": 108, + "ColorVal": 46 + }, + { + "Category": "Keyboard", + "Value": 269, + "ColorVal": 47 + }, + { + "Category": "Keyboard", + "Value": 64, + "ColorVal": 48 + }, + { + "Category": "Keyboard", + "Value": 936, + "ColorVal": 49 + }, + { + "Category": "Keyboard", + "Value": 144, + "ColorVal": 50 + }, + { + "Category": "Mouse", + "Value": 267, + "ColorVal": 1 + }, + { + "Category": "Mouse", + "Value": 994, + "ColorVal": 2 + }, + { + "Category": "Mouse", + "Value": 665, + "ColorVal": 3 + }, + { + "Category": "Mouse", + "Value": 41, + "ColorVal": 4 + }, + { + "Category": "Mouse", + "Value": 21, + "ColorVal": 5 + }, + { + "Category": "Mouse", + "Value": 155, + "ColorVal": 6 + }, + { + "Category": "Mouse", + "Value": 481, + "ColorVal": 7 + }, + { + "Category": "Mouse", + "Value": 625, + "ColorVal": 8 + }, + { + "Category": "Mouse", + "Value": 58, + "ColorVal": 9 + }, + { + "Category": "Mouse", + "Value": 250, + "ColorVal": 10 + }, + { + "Category": "Mouse", + "Value": 902, + "ColorVal": 11 + }, + { + "Category": "Mouse", + "Value": 85, + "ColorVal": 12 + }, + { + "Category": "Mouse", + "Value": 453, + "ColorVal": 13 + }, + { + "Category": "Mouse", + "Value": 360, + "ColorVal": 14 + }, + { + "Category": "Mouse", + "Value": 232, + "ColorVal": 15 + }, + { + "Category": "Mouse", + "Value": 90, + "ColorVal": 16 + }, + { + "Category": "Mouse", + "Value": 114, + "ColorVal": 17 + }, + { + "Category": "Mouse", + "Value": 858, + "ColorVal": 18 + }, + { + "Category": "Mouse", + "Value": 432, + "ColorVal": 19 + }, + { + "Category": "Mouse", + "Value": 460, + "ColorVal": 20 + }, + { + "Category": "Mouse", + "Value": 450, + "ColorVal": 21 + }, + { + "Category": "Mouse", + "Value": 783, + "ColorVal": 22 + }, + { + "Category": "Mouse", + "Value": 610, + "ColorVal": 23 + }, + { + "Category": "Mouse", + "Value": 633, + "ColorVal": 24 + }, + { + "Category": "Mouse", + "Value": 682, + "ColorVal": 25 + }, + { + "Category": "Mouse", + "Value": 732, + "ColorVal": 26 + }, + { + "Category": "Mouse", + "Value": 56, + "ColorVal": 27 + }, + { + "Category": "Mouse", + "Value": 886, + "ColorVal": 28 + }, + { + "Category": "Mouse", + "Value": 943, + "ColorVal": 29 + }, + { + "Category": "Mouse", + "Value": 744, + "ColorVal": 30 + }, + { + "Category": "Mouse", + "Value": 948, + "ColorVal": 31 + }, + { + "Category": "Mouse", + "Value": 328, + "ColorVal": 32 + }, + { + "Category": "Mouse", + "Value": 854, + "ColorVal": 33 + }, + { + "Category": "Mouse", + "Value": 960, + "ColorVal": 34 + }, + { + "Category": "Mouse", + "Value": 386, + "ColorVal": 35 + }, + { + "Category": "Mouse", + "Value": 379, + "ColorVal": 36 + }, + { + "Category": "Mouse", + "Value": 128, + "ColorVal": 37 + }, + { + "Category": "Mouse", + "Value": 293, + "ColorVal": 38 + }, + { + "Category": "Mouse", + "Value": 557, + "ColorVal": 39 + }, + { + "Category": "Mouse", + "Value": 235, + "ColorVal": 40 + }, + { + "Category": "Mouse", + "Value": 685, + "ColorVal": 41 + }, + { + "Category": "Mouse", + "Value": 955, + "ColorVal": 42 + }, + { + "Category": "Mouse", + "Value": 590, + "ColorVal": 43 + }, + { + "Category": "Mouse", + "Value": 747, + "ColorVal": 44 + }, + { + "Category": "Mouse", + "Value": 349, + "ColorVal": 45 + }, + { + "Category": "Mouse", + "Value": 311, + "ColorVal": 46 + }, + { + "Category": "Mouse", + "Value": 389, + "ColorVal": 47 + }, + { + "Category": "Mouse", + "Value": 557, + "ColorVal": 48 + }, + { + "Category": "Mouse", + "Value": 226, + "ColorVal": 49 + }, + { + "Category": "Mouse", + "Value": 479, + "ColorVal": 50 + }, + { + "Category": "Headphones", + "Value": 665, + "ColorVal": 1 + }, + { + "Category": "Headphones", + "Value": 875, + "ColorVal": 2 + }, + { + "Category": "Headphones", + "Value": 324, + "ColorVal": 3 + }, + { + "Category": "Headphones", + "Value": 778, + "ColorVal": 4 + }, + { + "Category": "Headphones", + "Value": 436, + "ColorVal": 5 + }, + { + "Category": "Headphones", + "Value": 191, + "ColorVal": 6 + }, + { + "Category": "Headphones", + "Value": 120, + "ColorVal": 7 + }, + { + "Category": "Headphones", + "Value": 248, + "ColorVal": 8 + }, + { + "Category": "Headphones", + "Value": 678, + "ColorVal": 9 + }, + { + "Category": "Headphones", + "Value": 394, + "ColorVal": 10 + }, + { + "Category": "Headphones", + "Value": 503, + "ColorVal": 11 + }, + { + "Category": "Headphones", + "Value": 52, + "ColorVal": 12 + }, + { + "Category": "Headphones", + "Value": 332, + "ColorVal": 13 + }, + { + "Category": "Headphones", + "Value": 304, + "ColorVal": 14 + }, + { + "Category": "Headphones", + "Value": 849, + "ColorVal": 15 + }, + { + "Category": "Headphones", + "Value": 372, + "ColorVal": 16 + }, + { + "Category": "Headphones", + "Value": 24, + "ColorVal": 17 + }, + { + "Category": "Headphones", + "Value": 246, + "ColorVal": 18 + }, + { + "Category": "Headphones", + "Value": 735, + "ColorVal": 19 + }, + { + "Category": "Headphones", + "Value": 427, + "ColorVal": 20 + }, + { + "Category": "Headphones", + "Value": 981, + "ColorVal": 21 + }, + { + "Category": "Headphones", + "Value": 668, + "ColorVal": 22 + }, + { + "Category": "Headphones", + "Value": 492, + "ColorVal": 23 + }, + { + "Category": "Headphones", + "Value": 168, + "ColorVal": 24 + }, + { + "Category": "Headphones", + "Value": 850, + "ColorVal": 25 + }, + { + "Category": "Headphones", + "Value": 68, + "ColorVal": 26 + }, + { + "Category": "Headphones", + "Value": 754, + "ColorVal": 27 + }, + { + "Category": "Headphones", + "Value": 573, + "ColorVal": 28 + }, + { + "Category": "Headphones", + "Value": 704, + "ColorVal": 29 + }, + { + "Category": "Headphones", + "Value": 962, + "ColorVal": 30 + }, + { + "Category": "Headphones", + "Value": 21, + "ColorVal": 31 + }, + { + "Category": "Headphones", + "Value": 959, + "ColorVal": 32 + }, + { + "Category": "Headphones", + "Value": 746, + "ColorVal": 33 + }, + { + "Category": "Headphones", + "Value": 243, + "ColorVal": 34 + }, + { + "Category": "Headphones", + "Value": 431, + "ColorVal": 35 + }, + { + "Category": "Headphones", + "Value": 866, + "ColorVal": 36 + }, + { + "Category": "Headphones", + "Value": 938, + "ColorVal": 37 + }, + { + "Category": "Headphones", + "Value": 679, + "ColorVal": 38 + }, + { + "Category": "Headphones", + "Value": 751, + "ColorVal": 39 + }, + { + "Category": "Headphones", + "Value": 862, + "ColorVal": 40 + }, + { + "Category": "Headphones", + "Value": 44, + "ColorVal": 41 + }, + { + "Category": "Headphones", + "Value": 721, + "ColorVal": 42 + }, + { + "Category": "Headphones", + "Value": 816, + "ColorVal": 43 + }, + { + "Category": "Headphones", + "Value": 956, + "ColorVal": 44 + }, + { + "Category": "Headphones", + "Value": 316, + "ColorVal": 45 + }, + { + "Category": "Headphones", + "Value": 49, + "ColorVal": 46 + }, + { + "Category": "Headphones", + "Value": 929, + "ColorVal": 47 + }, + { + "Category": "Headphones", + "Value": 414, + "ColorVal": 48 + }, + { + "Category": "Headphones", + "Value": 786, + "ColorVal": 49 + }, + { + "Category": "Headphones", + "Value": 915, + "ColorVal": 50 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/09-card5.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/09-card5.flint.json new file mode 100644 index 00000000..f7dfa563 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/09-card5.flint.json @@ -0,0 +1,273 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "ColorVal": "Quantity" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "group": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 463, + "ColorVal": 32.32 + }, + { + "Category": "Laptop", + "Value": 566, + "ColorVal": 38.29 + }, + { + "Category": "Laptop", + "Value": 529, + "ColorVal": 37.65 + }, + { + "Category": "Laptop", + "Value": 922, + "ColorVal": 9.81 + }, + { + "Category": "Laptop", + "Value": 788, + "ColorVal": 10.93 + }, + { + "Category": "Laptop", + "Value": 527, + "ColorVal": 1.86 + }, + { + "Category": "Laptop", + "Value": 991, + "ColorVal": 11.69 + }, + { + "Category": "Laptop", + "Value": 581, + "ColorVal": 16.23 + }, + { + "Category": "Laptop", + "Value": 297, + "ColorVal": 30.57 + }, + { + "Category": "Laptop", + "Value": 634, + "ColorVal": 14.39 + }, + { + "Category": "Phone", + "Value": 611, + "ColorVal": 28.8 + }, + { + "Category": "Phone", + "Value": 766, + "ColorVal": 11.33 + }, + { + "Category": "Phone", + "Value": 665, + "ColorVal": 2.13 + }, + { + "Category": "Phone", + "Value": 593, + "ColorVal": 6.47 + }, + { + "Category": "Phone", + "Value": 228, + "ColorVal": 35.89 + }, + { + "Category": "Phone", + "Value": 235, + "ColorVal": 34.12 + }, + { + "Category": "Phone", + "Value": 46, + "ColorVal": 34.35 + }, + { + "Category": "Phone", + "Value": 15, + "ColorVal": 3.86 + }, + { + "Category": "Phone", + "Value": 745, + "ColorVal": 18.13 + }, + { + "Category": "Phone", + "Value": 528, + "ColorVal": 37.92 + }, + { + "Category": "Tablet", + "Value": 52, + "ColorVal": 16.96 + }, + { + "Category": "Tablet", + "Value": 846, + "ColorVal": 35.69 + }, + { + "Category": "Tablet", + "Value": 738, + "ColorVal": 28.15 + }, + { + "Category": "Tablet", + "Value": 90, + "ColorVal": 28.1 + }, + { + "Category": "Tablet", + "Value": 865, + "ColorVal": 18.43 + }, + { + "Category": "Tablet", + "Value": 698, + "ColorVal": 1.59 + }, + { + "Category": "Tablet", + "Value": 843, + "ColorVal": 25.45 + }, + { + "Category": "Tablet", + "Value": 68, + "ColorVal": 24.81 + }, + { + "Category": "Tablet", + "Value": 426, + "ColorVal": 32.88 + }, + { + "Category": "Tablet", + "Value": 786, + "ColorVal": 34.33 + }, + { + "Category": "Desktop", + "Value": 25, + "ColorVal": 10.99 + }, + { + "Category": "Desktop", + "Value": 884, + "ColorVal": 37.34 + }, + { + "Category": "Desktop", + "Value": 720, + "ColorVal": 37.94 + }, + { + "Category": "Desktop", + "Value": 475, + "ColorVal": 28.42 + }, + { + "Category": "Desktop", + "Value": 217, + "ColorVal": 12.06 + }, + { + "Category": "Desktop", + "Value": 852, + "ColorVal": 11.68 + }, + { + "Category": "Desktop", + "Value": 86, + "ColorVal": 18.77 + }, + { + "Category": "Desktop", + "Value": 463, + "ColorVal": 2.28 + }, + { + "Category": "Desktop", + "Value": 316, + "ColorVal": 16.39 + }, + { + "Category": "Desktop", + "Value": 250, + "ColorVal": 26.99 + }, + { + "Category": "Monitor", + "Value": 680, + "ColorVal": 9.95 + }, + { + "Category": "Monitor", + "Value": 591, + "ColorVal": 38.38 + }, + { + "Category": "Monitor", + "Value": 343, + "ColorVal": 9.6 + }, + { + "Category": "Monitor", + "Value": 307, + "ColorVal": 3.78 + }, + { + "Category": "Monitor", + "Value": 324, + "ColorVal": 15.43 + }, + { + "Category": "Monitor", + "Value": 613, + "ColorVal": 16.55 + }, + { + "Category": "Monitor", + "Value": 55, + "ColorVal": 30.47 + }, + { + "Category": "Monitor", + "Value": 759, + "ColorVal": 31.68 + }, + { + "Category": "Monitor", + "Value": 465, + "ColorVal": 18.57 + }, + { + "Category": "Monitor", + "Value": 282, + "ColorVal": 23.85 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/10-card5.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/10-card5.flint.json new file mode 100644 index 00000000..b6e65f8c --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/10-card5.flint.json @@ -0,0 +1,123 @@ +{ + "semantic_types": { + "Category": "Category", + "Group": "Category", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Category", + "y": "Group", + "group": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Group": "USA", + "Segment": "Engineering" + }, + { + "Category": "Laptop", + "Group": "China", + "Segment": "Marketing" + }, + { + "Category": "Laptop", + "Group": "Japan", + "Segment": "Sales" + }, + { + "Category": "Laptop", + "Group": "Germany", + "Segment": "Engineering" + }, + { + "Category": "Phone", + "Group": "China", + "Segment": "Marketing" + }, + { + "Category": "Phone", + "Group": "Japan", + "Segment": "Marketing" + }, + { + "Category": "Phone", + "Group": "Germany", + "Segment": "Marketing" + }, + { + "Category": "Phone", + "Group": "UK", + "Segment": "Engineering" + }, + { + "Category": "Tablet", + "Group": "China", + "Segment": "Marketing" + }, + { + "Category": "Tablet", + "Group": "Japan", + "Segment": "Sales" + }, + { + "Category": "Tablet", + "Group": "Germany", + "Segment": "Marketing" + }, + { + "Category": "Desktop", + "Group": "USA", + "Segment": "Marketing" + }, + { + "Category": "Desktop", + "Group": "China", + "Segment": "Engineering" + }, + { + "Category": "Desktop", + "Group": "Japan", + "Segment": "Sales" + }, + { + "Category": "Desktop", + "Group": "Germany", + "Segment": "Engineering" + }, + { + "Category": "Desktop", + "Group": "UK", + "Segment": "Sales" + }, + { + "Category": "Monitor", + "Group": "USA", + "Segment": "Marketing" + }, + { + "Category": "Monitor", + "Group": "China", + "Segment": "Sales" + }, + { + "Category": "Monitor", + "Group": "Japan", + "Segment": "Marketing" + }, + { + "Category": "Monitor", + "Group": "Germany", + "Segment": "Marketing" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/11-card5.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/11-card5.flint.json new file mode 100644 index 00000000..162de392 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/11-card5.flint.json @@ -0,0 +1,42 @@ +{ + "semantic_types": { + "Region": "Category", + "Sales": "Quantity" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Region", + "y": "Sales", + "group": "Region" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Region": "Electronics", + "Sales": 300 + }, + { + "Region": "Clothing", + "Sales": 527 + }, + { + "Region": "Food", + "Sales": 975 + }, + { + "Region": "Books", + "Sales": 311 + }, + { + "Region": "Sports", + "Sales": 930 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/12-card6.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/12-card6.flint.json new file mode 100644 index 00000000..c8a3829b --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/12-card6.flint.json @@ -0,0 +1,93 @@ +{ + "semantic_types": { + "Region": "Category", + "Sales": "Quantity", + "Channel": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Region", + "y": "Sales", + "group": "Channel" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Region": "North", + "Channel": "Retail", + "Sales": 901 + }, + { + "Region": "North", + "Channel": "Online", + "Sales": 625 + }, + { + "Region": "South", + "Channel": "Online", + "Sales": 481 + }, + { + "Region": "South", + "Channel": "Wholesale", + "Sales": 331 + }, + { + "Region": "South", + "Channel": "Direct", + "Sales": 841 + }, + { + "Region": "East", + "Channel": "Wholesale", + "Sales": 818 + }, + { + "Region": "East", + "Channel": "Direct", + "Sales": 594 + }, + { + "Region": "West", + "Channel": "Retail", + "Sales": 330 + }, + { + "Region": "West", + "Channel": "Direct", + "Sales": 699 + }, + { + "Region": "Central", + "Channel": "Retail", + "Sales": 460 + }, + { + "Region": "Central", + "Channel": "Online", + "Sales": 903 + }, + { + "Region": "Central", + "Channel": "Wholesale", + "Sales": 981 + }, + { + "Region": "Coast", + "Channel": "Online", + "Sales": 882 + }, + { + "Region": "Coast", + "Channel": "Direct", + "Sales": 966 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/13-card6.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/13-card6.flint.json new file mode 100644 index 00000000..6bee1735 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/13-card6.flint.json @@ -0,0 +1,96 @@ +{ + "semantic_types": { + "Region": "Category", + "Sales": "Quantity", + "Channel": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Region", + "y": "Sales", + "group": "Channel" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "dodge": "global" + } + }, + "data": { + "values": [ + { + "Region": "North", + "Channel": "Retail", + "Sales": 300 + }, + { + "Region": "North", + "Channel": "Online", + "Sales": 330 + }, + { + "Region": "South", + "Channel": "Online", + "Sales": 340 + }, + { + "Region": "South", + "Channel": "Wholesale", + "Sales": 370 + }, + { + "Region": "South", + "Channel": "Direct", + "Sales": 400 + }, + { + "Region": "East", + "Channel": "Wholesale", + "Sales": 380 + }, + { + "Region": "East", + "Channel": "Direct", + "Sales": 410 + }, + { + "Region": "West", + "Channel": "Retail", + "Sales": 420 + }, + { + "Region": "West", + "Channel": "Direct", + "Sales": 450 + }, + { + "Region": "Central", + "Channel": "Retail", + "Sales": 460 + }, + { + "Region": "Central", + "Channel": "Online", + "Sales": 490 + }, + { + "Region": "Central", + "Channel": "Wholesale", + "Sales": 520 + }, + { + "Region": "Coast", + "Channel": "Online", + "Sales": 500 + }, + { + "Region": "Coast", + "Channel": "Direct", + "Sales": 530 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/grouped-bar-chart/14-card6.flint.json b/test-harness/excel/evaluations/inputs/grouped-bar-chart/14-card6.flint.json new file mode 100644 index 00000000..589da374 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/grouped-bar-chart/14-card6.flint.json @@ -0,0 +1,96 @@ +{ + "semantic_types": { + "Region": "Category", + "Sales": "Quantity", + "Channel": "Category" + }, + "chart_spec": { + "chartType": "Grouped Bar Chart", + "encodings": { + "x": "Region", + "y": "Sales", + "group": "Channel" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "dodge": "local" + } + }, + "data": { + "values": [ + { + "Region": "North", + "Channel": "Retail", + "Sales": 300 + }, + { + "Region": "North", + "Channel": "Online", + "Sales": 330 + }, + { + "Region": "South", + "Channel": "Online", + "Sales": 340 + }, + { + "Region": "South", + "Channel": "Wholesale", + "Sales": 370 + }, + { + "Region": "South", + "Channel": "Direct", + "Sales": 400 + }, + { + "Region": "East", + "Channel": "Wholesale", + "Sales": 380 + }, + { + "Region": "East", + "Channel": "Direct", + "Sales": 410 + }, + { + "Region": "West", + "Channel": "Retail", + "Sales": 420 + }, + { + "Region": "West", + "Channel": "Direct", + "Sales": 450 + }, + { + "Region": "Central", + "Channel": "Retail", + "Sales": 460 + }, + { + "Region": "Central", + "Channel": "Online", + "Sales": 490 + }, + { + "Region": "Central", + "Channel": "Wholesale", + "Sales": 520 + }, + { + "Region": "Coast", + "Channel": "Online", + "Sales": 500 + }, + { + "Region": "Coast", + "Channel": "Direct", + "Sales": 530 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/00-card5.flint.json b/test-harness/excel/evaluations/inputs/heatmap/00-card5.flint.json new file mode 100644 index 00000000..357d9725 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/00-card5.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "Category": "Category", + "Month": "Month", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "Category", + "y": "Month", + "color": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Month": "Jan", + "Value": 0 + }, + { + "Category": "Electronics", + "Month": "Feb", + "Value": 77 + }, + { + "Category": "Electronics", + "Month": "Mar", + "Value": 80 + }, + { + "Category": "Electronics", + "Month": "Apr", + "Value": 33 + }, + { + "Category": "Electronics", + "Month": "May", + "Value": 38 + }, + { + "Category": "Electronics", + "Month": "Jun", + "Value": 48 + }, + { + "Category": "Clothing", + "Month": "Jan", + "Value": 52 + }, + { + "Category": "Clothing", + "Month": "Feb", + "Value": 43 + }, + { + "Category": "Clothing", + "Month": "Mar", + "Value": 65 + }, + { + "Category": "Clothing", + "Month": "Apr", + "Value": 35 + }, + { + "Category": "Clothing", + "Month": "May", + "Value": 75 + }, + { + "Category": "Clothing", + "Month": "Jun", + "Value": 71 + }, + { + "Category": "Food", + "Month": "Jan", + "Value": 48 + }, + { + "Category": "Food", + "Month": "Feb", + "Value": 29 + }, + { + "Category": "Food", + "Month": "Mar", + "Value": 73 + }, + { + "Category": "Food", + "Month": "Apr", + "Value": 85 + }, + { + "Category": "Food", + "Month": "May", + "Value": 57 + }, + { + "Category": "Food", + "Month": "Jun", + "Value": 85 + }, + { + "Category": "Books", + "Month": "Jan", + "Value": 71 + }, + { + "Category": "Books", + "Month": "Feb", + "Value": 42 + }, + { + "Category": "Books", + "Month": "Mar", + "Value": 74 + }, + { + "Category": "Books", + "Month": "Apr", + "Value": 39 + }, + { + "Category": "Books", + "Month": "May", + "Value": 49 + }, + { + "Category": "Books", + "Month": "Jun", + "Value": 22 + }, + { + "Category": "Sports", + "Month": "Jan", + "Value": 8 + }, + { + "Category": "Sports", + "Month": "Feb", + "Value": 46 + }, + { + "Category": "Sports", + "Month": "Mar", + "Value": 98 + }, + { + "Category": "Sports", + "Month": "Apr", + "Value": 96 + }, + { + "Category": "Sports", + "Month": "May", + "Value": 100 + }, + { + "Category": "Sports", + "Month": "Jun", + "Value": 60 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/01-card10.flint.json b/test-harness/excel/evaluations/inputs/heatmap/01-card10.flint.json new file mode 100644 index 00000000..df9d3793 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/01-card10.flint.json @@ -0,0 +1,423 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Density": "Quantity" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "X", + "y": "Y", + "color": "Density" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Y": 0, + "Density": 16 + }, + { + "X": 0, + "Y": 5, + "Density": 10 + }, + { + "X": 0, + "Y": 10, + "Density": 23 + }, + { + "X": 0, + "Y": 15, + "Density": 73 + }, + { + "X": 0, + "Y": 20, + "Density": 4 + }, + { + "X": 0, + "Y": 25, + "Density": 12 + }, + { + "X": 0, + "Y": 30, + "Density": 32 + }, + { + "X": 0, + "Y": 35, + "Density": 21 + }, + { + "X": 10, + "Y": 0, + "Density": 52 + }, + { + "X": 10, + "Y": 5, + "Density": 67 + }, + { + "X": 10, + "Y": 10, + "Density": 52 + }, + { + "X": 10, + "Y": 15, + "Density": 28 + }, + { + "X": 10, + "Y": 20, + "Density": 33 + }, + { + "X": 10, + "Y": 25, + "Density": 68 + }, + { + "X": 10, + "Y": 30, + "Density": 76 + }, + { + "X": 10, + "Y": 35, + "Density": 34 + }, + { + "X": 20, + "Y": 0, + "Density": 82 + }, + { + "X": 20, + "Y": 5, + "Density": 35 + }, + { + "X": 20, + "Y": 10, + "Density": 35 + }, + { + "X": 20, + "Y": 15, + "Density": 21 + }, + { + "X": 20, + "Y": 20, + "Density": 25 + }, + { + "X": 20, + "Y": 25, + "Density": 87 + }, + { + "X": 20, + "Y": 30, + "Density": 89 + }, + { + "X": 20, + "Y": 35, + "Density": 45 + }, + { + "X": 30, + "Y": 0, + "Density": 63 + }, + { + "X": 30, + "Y": 5, + "Density": 25 + }, + { + "X": 30, + "Y": 10, + "Density": 26 + }, + { + "X": 30, + "Y": 15, + "Density": 83 + }, + { + "X": 30, + "Y": 20, + "Density": 60 + }, + { + "X": 30, + "Y": 25, + "Density": 28 + }, + { + "X": 30, + "Y": 30, + "Density": 33 + }, + { + "X": 30, + "Y": 35, + "Density": 26 + }, + { + "X": 40, + "Y": 0, + "Density": 15 + }, + { + "X": 40, + "Y": 5, + "Density": 52 + }, + { + "X": 40, + "Y": 10, + "Density": 32 + }, + { + "X": 40, + "Y": 15, + "Density": 99 + }, + { + "X": 40, + "Y": 20, + "Density": 7 + }, + { + "X": 40, + "Y": 25, + "Density": 37 + }, + { + "X": 40, + "Y": 30, + "Density": 88 + }, + { + "X": 40, + "Y": 35, + "Density": 87 + }, + { + "X": 50, + "Y": 0, + "Density": 35 + }, + { + "X": 50, + "Y": 5, + "Density": 7 + }, + { + "X": 50, + "Y": 10, + "Density": 54 + }, + { + "X": 50, + "Y": 15, + "Density": 91 + }, + { + "X": 50, + "Y": 20, + "Density": 87 + }, + { + "X": 50, + "Y": 25, + "Density": 22 + }, + { + "X": 50, + "Y": 30, + "Density": 49 + }, + { + "X": 50, + "Y": 35, + "Density": 4 + }, + { + "X": 60, + "Y": 0, + "Density": 76 + }, + { + "X": 60, + "Y": 5, + "Density": 10 + }, + { + "X": 60, + "Y": 10, + "Density": 91 + }, + { + "X": 60, + "Y": 15, + "Density": 68 + }, + { + "X": 60, + "Y": 20, + "Density": 93 + }, + { + "X": 60, + "Y": 25, + "Density": 23 + }, + { + "X": 60, + "Y": 30, + "Density": 12 + }, + { + "X": 60, + "Y": 35, + "Density": 77 + }, + { + "X": 70, + "Y": 0, + "Density": 11 + }, + { + "X": 70, + "Y": 5, + "Density": 71 + }, + { + "X": 70, + "Y": 10, + "Density": 73 + }, + { + "X": 70, + "Y": 15, + "Density": 29 + }, + { + "X": 70, + "Y": 20, + "Density": 60 + }, + { + "X": 70, + "Y": 25, + "Density": 16 + }, + { + "X": 70, + "Y": 30, + "Density": 51 + }, + { + "X": 70, + "Y": 35, + "Density": 64 + }, + { + "X": 80, + "Y": 0, + "Density": 56 + }, + { + "X": 80, + "Y": 5, + "Density": 99 + }, + { + "X": 80, + "Y": 10, + "Density": 4 + }, + { + "X": 80, + "Y": 15, + "Density": 76 + }, + { + "X": 80, + "Y": 20, + "Density": 66 + }, + { + "X": 80, + "Y": 25, + "Density": 70 + }, + { + "X": 80, + "Y": 30, + "Density": 65 + }, + { + "X": 80, + "Y": 35, + "Density": 96 + }, + { + "X": 90, + "Y": 0, + "Density": 61 + }, + { + "X": 90, + "Y": 5, + "Density": 16 + }, + { + "X": 90, + "Y": 10, + "Density": 86 + }, + { + "X": 90, + "Y": 15, + "Density": 83 + }, + { + "X": 90, + "Y": 20, + "Density": 20 + }, + { + "X": 90, + "Y": 25, + "Density": 53 + }, + { + "X": 90, + "Y": 30, + "Density": 22 + }, + { + "X": 90, + "Y": 35, + "Density": 24 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/02-card50.flint.json b/test-harness/excel/evaluations/inputs/heatmap/02-card50.flint.json new file mode 100644 index 00000000..c3f7777a --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/02-card50.flint.json @@ -0,0 +1,7523 @@ +{ + "semantic_types": { + "Hour": "Quantity", + "Day": "Quantity", + "Activity": "Quantity" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "Hour", + "y": "Day", + "color": "Activity" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Hour": 0, + "Day": 0, + "Activity": 68 + }, + { + "Hour": 0, + "Day": 1, + "Activity": 15 + }, + { + "Hour": 0, + "Day": 2, + "Activity": 29 + }, + { + "Hour": 0, + "Day": 3, + "Activity": 37 + }, + { + "Hour": 0, + "Day": 4, + "Activity": 42 + }, + { + "Hour": 0, + "Day": 5, + "Activity": 2 + }, + { + "Hour": 0, + "Day": 6, + "Activity": 88 + }, + { + "Hour": 0, + "Day": 7, + "Activity": 38 + }, + { + "Hour": 0, + "Day": 8, + "Activity": 35 + }, + { + "Hour": 0, + "Day": 9, + "Activity": 21 + }, + { + "Hour": 0, + "Day": 10, + "Activity": 50 + }, + { + "Hour": 0, + "Day": 11, + "Activity": 29 + }, + { + "Hour": 0, + "Day": 12, + "Activity": 50 + }, + { + "Hour": 0, + "Day": 13, + "Activity": 15 + }, + { + "Hour": 0, + "Day": 14, + "Activity": 44 + }, + { + "Hour": 0, + "Day": 15, + "Activity": 91 + }, + { + "Hour": 0, + "Day": 16, + "Activity": 95 + }, + { + "Hour": 0, + "Day": 17, + "Activity": 96 + }, + { + "Hour": 0, + "Day": 18, + "Activity": 45 + }, + { + "Hour": 0, + "Day": 19, + "Activity": 77 + }, + { + "Hour": 0, + "Day": 20, + "Activity": 50 + }, + { + "Hour": 0, + "Day": 21, + "Activity": 3 + }, + { + "Hour": 0, + "Day": 22, + "Activity": 17 + }, + { + "Hour": 0, + "Day": 23, + "Activity": 67 + }, + { + "Hour": 0, + "Day": 24, + "Activity": 91 + }, + { + "Hour": 0, + "Day": 25, + "Activity": 86 + }, + { + "Hour": 0, + "Day": 26, + "Activity": 87 + }, + { + "Hour": 0, + "Day": 27, + "Activity": 77 + }, + { + "Hour": 0, + "Day": 28, + "Activity": 59 + }, + { + "Hour": 0, + "Day": 29, + "Activity": 79 + }, + { + "Hour": 1, + "Day": 0, + "Activity": 5 + }, + { + "Hour": 1, + "Day": 1, + "Activity": 70 + }, + { + "Hour": 1, + "Day": 2, + "Activity": 7 + }, + { + "Hour": 1, + "Day": 3, + "Activity": 8 + }, + { + "Hour": 1, + "Day": 4, + "Activity": 65 + }, + { + "Hour": 1, + "Day": 5, + "Activity": 38 + }, + { + "Hour": 1, + "Day": 6, + "Activity": 91 + }, + { + "Hour": 1, + "Day": 7, + "Activity": 45 + }, + { + "Hour": 1, + "Day": 8, + "Activity": 6 + }, + { + "Hour": 1, + "Day": 9, + "Activity": 26 + }, + { + "Hour": 1, + "Day": 10, + "Activity": 2 + }, + { + "Hour": 1, + "Day": 11, + "Activity": 55 + }, + { + "Hour": 1, + "Day": 12, + "Activity": 2 + }, + { + "Hour": 1, + "Day": 13, + "Activity": 88 + }, + { + "Hour": 1, + "Day": 14, + "Activity": 62 + }, + { + "Hour": 1, + "Day": 15, + "Activity": 63 + }, + { + "Hour": 1, + "Day": 16, + "Activity": 36 + }, + { + "Hour": 1, + "Day": 17, + "Activity": 63 + }, + { + "Hour": 1, + "Day": 18, + "Activity": 82 + }, + { + "Hour": 1, + "Day": 19, + "Activity": 54 + }, + { + "Hour": 1, + "Day": 20, + "Activity": 92 + }, + { + "Hour": 1, + "Day": 21, + "Activity": 22 + }, + { + "Hour": 1, + "Day": 22, + "Activity": 66 + }, + { + "Hour": 1, + "Day": 23, + "Activity": 63 + }, + { + "Hour": 1, + "Day": 24, + "Activity": 19 + }, + { + "Hour": 1, + "Day": 25, + "Activity": 84 + }, + { + "Hour": 1, + "Day": 26, + "Activity": 25 + }, + { + "Hour": 1, + "Day": 27, + "Activity": 1 + }, + { + "Hour": 1, + "Day": 28, + "Activity": 74 + }, + { + "Hour": 1, + "Day": 29, + "Activity": 16 + }, + { + "Hour": 2, + "Day": 0, + "Activity": 59 + }, + { + "Hour": 2, + "Day": 1, + "Activity": 82 + }, + { + "Hour": 2, + "Day": 2, + "Activity": 9 + }, + { + "Hour": 2, + "Day": 3, + "Activity": 10 + }, + { + "Hour": 2, + "Day": 4, + "Activity": 53 + }, + { + "Hour": 2, + "Day": 5, + "Activity": 67 + }, + { + "Hour": 2, + "Day": 6, + "Activity": 53 + }, + { + "Hour": 2, + "Day": 7, + "Activity": 55 + }, + { + "Hour": 2, + "Day": 8, + "Activity": 58 + }, + { + "Hour": 2, + "Day": 9, + "Activity": 65 + }, + { + "Hour": 2, + "Day": 10, + "Activity": 76 + }, + { + "Hour": 2, + "Day": 11, + "Activity": 15 + }, + { + "Hour": 2, + "Day": 12, + "Activity": 47 + }, + { + "Hour": 2, + "Day": 13, + "Activity": 84 + }, + { + "Hour": 2, + "Day": 14, + "Activity": 82 + }, + { + "Hour": 2, + "Day": 15, + "Activity": 62 + }, + { + "Hour": 2, + "Day": 16, + "Activity": 80 + }, + { + "Hour": 2, + "Day": 17, + "Activity": 46 + }, + { + "Hour": 2, + "Day": 18, + "Activity": 6 + }, + { + "Hour": 2, + "Day": 19, + "Activity": 43 + }, + { + "Hour": 2, + "Day": 20, + "Activity": 63 + }, + { + "Hour": 2, + "Day": 21, + "Activity": 98 + }, + { + "Hour": 2, + "Day": 22, + "Activity": 20 + }, + { + "Hour": 2, + "Day": 23, + "Activity": 78 + }, + { + "Hour": 2, + "Day": 24, + "Activity": 92 + }, + { + "Hour": 2, + "Day": 25, + "Activity": 12 + }, + { + "Hour": 2, + "Day": 26, + "Activity": 68 + }, + { + "Hour": 2, + "Day": 27, + "Activity": 37 + }, + { + "Hour": 2, + "Day": 28, + "Activity": 67 + }, + { + "Hour": 2, + "Day": 29, + "Activity": 35 + }, + { + "Hour": 3, + "Day": 0, + "Activity": 49 + }, + { + "Hour": 3, + "Day": 1, + "Activity": 10 + }, + { + "Hour": 3, + "Day": 2, + "Activity": 57 + }, + { + "Hour": 3, + "Day": 3, + "Activity": 21 + }, + { + "Hour": 3, + "Day": 4, + "Activity": 63 + }, + { + "Hour": 3, + "Day": 5, + "Activity": 66 + }, + { + "Hour": 3, + "Day": 6, + "Activity": 71 + }, + { + "Hour": 3, + "Day": 7, + "Activity": 22 + }, + { + "Hour": 3, + "Day": 8, + "Activity": 72 + }, + { + "Hour": 3, + "Day": 9, + "Activity": 1 + }, + { + "Hour": 3, + "Day": 10, + "Activity": 36 + }, + { + "Hour": 3, + "Day": 11, + "Activity": 28 + }, + { + "Hour": 3, + "Day": 12, + "Activity": 2 + }, + { + "Hour": 3, + "Day": 13, + "Activity": 87 + }, + { + "Hour": 3, + "Day": 14, + "Activity": 63 + }, + { + "Hour": 3, + "Day": 15, + "Activity": 82 + }, + { + "Hour": 3, + "Day": 16, + "Activity": 36 + }, + { + "Hour": 3, + "Day": 17, + "Activity": 27 + }, + { + "Hour": 3, + "Day": 18, + "Activity": 86 + }, + { + "Hour": 3, + "Day": 19, + "Activity": 55 + }, + { + "Hour": 3, + "Day": 20, + "Activity": 2 + }, + { + "Hour": 3, + "Day": 21, + "Activity": 49 + }, + { + "Hour": 3, + "Day": 22, + "Activity": 66 + }, + { + "Hour": 3, + "Day": 23, + "Activity": 60 + }, + { + "Hour": 3, + "Day": 24, + "Activity": 71 + }, + { + "Hour": 3, + "Day": 25, + "Activity": 47 + }, + { + "Hour": 3, + "Day": 26, + "Activity": 84 + }, + { + "Hour": 3, + "Day": 27, + "Activity": 2 + }, + { + "Hour": 3, + "Day": 28, + "Activity": 78 + }, + { + "Hour": 3, + "Day": 29, + "Activity": 32 + }, + { + "Hour": 4, + "Day": 0, + "Activity": 94 + }, + { + "Hour": 4, + "Day": 1, + "Activity": 1 + }, + { + "Hour": 4, + "Day": 2, + "Activity": 97 + }, + { + "Hour": 4, + "Day": 3, + "Activity": 60 + }, + { + "Hour": 4, + "Day": 4, + "Activity": 17 + }, + { + "Hour": 4, + "Day": 5, + "Activity": 68 + }, + { + "Hour": 4, + "Day": 6, + "Activity": 77 + }, + { + "Hour": 4, + "Day": 7, + "Activity": 1 + }, + { + "Hour": 4, + "Day": 8, + "Activity": 87 + }, + { + "Hour": 4, + "Day": 9, + "Activity": 33 + }, + { + "Hour": 4, + "Day": 10, + "Activity": 75 + }, + { + "Hour": 4, + "Day": 11, + "Activity": 86 + }, + { + "Hour": 4, + "Day": 12, + "Activity": 77 + }, + { + "Hour": 4, + "Day": 13, + "Activity": 32 + }, + { + "Hour": 4, + "Day": 14, + "Activity": 58 + }, + { + "Hour": 4, + "Day": 15, + "Activity": 76 + }, + { + "Hour": 4, + "Day": 16, + "Activity": 56 + }, + { + "Hour": 4, + "Day": 17, + "Activity": 80 + }, + { + "Hour": 4, + "Day": 18, + "Activity": 24 + }, + { + "Hour": 4, + "Day": 19, + "Activity": 18 + }, + { + "Hour": 4, + "Day": 20, + "Activity": 30 + }, + { + "Hour": 4, + "Day": 21, + "Activity": 44 + }, + { + "Hour": 4, + "Day": 22, + "Activity": 68 + }, + { + "Hour": 4, + "Day": 23, + "Activity": 67 + }, + { + "Hour": 4, + "Day": 24, + "Activity": 59 + }, + { + "Hour": 4, + "Day": 25, + "Activity": 86 + }, + { + "Hour": 4, + "Day": 26, + "Activity": 25 + }, + { + "Hour": 4, + "Day": 27, + "Activity": 28 + }, + { + "Hour": 4, + "Day": 28, + "Activity": 63 + }, + { + "Hour": 4, + "Day": 29, + "Activity": 21 + }, + { + "Hour": 5, + "Day": 0, + "Activity": 46 + }, + { + "Hour": 5, + "Day": 1, + "Activity": 35 + }, + { + "Hour": 5, + "Day": 2, + "Activity": 27 + }, + { + "Hour": 5, + "Day": 3, + "Activity": 87 + }, + { + "Hour": 5, + "Day": 4, + "Activity": 0 + }, + { + "Hour": 5, + "Day": 5, + "Activity": 79 + }, + { + "Hour": 5, + "Day": 6, + "Activity": 93 + }, + { + "Hour": 5, + "Day": 7, + "Activity": 77 + }, + { + "Hour": 5, + "Day": 8, + "Activity": 53 + }, + { + "Hour": 5, + "Day": 9, + "Activity": 41 + }, + { + "Hour": 5, + "Day": 10, + "Activity": 8 + }, + { + "Hour": 5, + "Day": 11, + "Activity": 77 + }, + { + "Hour": 5, + "Day": 12, + "Activity": 93 + }, + { + "Hour": 5, + "Day": 13, + "Activity": 61 + }, + { + "Hour": 5, + "Day": 14, + "Activity": 8 + }, + { + "Hour": 5, + "Day": 15, + "Activity": 2 + }, + { + "Hour": 5, + "Day": 16, + "Activity": 43 + }, + { + "Hour": 5, + "Day": 17, + "Activity": 93 + }, + { + "Hour": 5, + "Day": 18, + "Activity": 23 + }, + { + "Hour": 5, + "Day": 19, + "Activity": 8 + }, + { + "Hour": 5, + "Day": 20, + "Activity": 98 + }, + { + "Hour": 5, + "Day": 21, + "Activity": 66 + }, + { + "Hour": 5, + "Day": 22, + "Activity": 91 + }, + { + "Hour": 5, + "Day": 23, + "Activity": 62 + }, + { + "Hour": 5, + "Day": 24, + "Activity": 3 + }, + { + "Hour": 5, + "Day": 25, + "Activity": 86 + }, + { + "Hour": 5, + "Day": 26, + "Activity": 23 + }, + { + "Hour": 5, + "Day": 27, + "Activity": 7 + }, + { + "Hour": 5, + "Day": 28, + "Activity": 51 + }, + { + "Hour": 5, + "Day": 29, + "Activity": 44 + }, + { + "Hour": 6, + "Day": 0, + "Activity": 18 + }, + { + "Hour": 6, + "Day": 1, + "Activity": 87 + }, + { + "Hour": 6, + "Day": 2, + "Activity": 97 + }, + { + "Hour": 6, + "Day": 3, + "Activity": 58 + }, + { + "Hour": 6, + "Day": 4, + "Activity": 80 + }, + { + "Hour": 6, + "Day": 5, + "Activity": 82 + }, + { + "Hour": 6, + "Day": 6, + "Activity": 71 + }, + { + "Hour": 6, + "Day": 7, + "Activity": 36 + }, + { + "Hour": 6, + "Day": 8, + "Activity": 0 + }, + { + "Hour": 6, + "Day": 9, + "Activity": 38 + }, + { + "Hour": 6, + "Day": 10, + "Activity": 12 + }, + { + "Hour": 6, + "Day": 11, + "Activity": 47 + }, + { + "Hour": 6, + "Day": 12, + "Activity": 76 + }, + { + "Hour": 6, + "Day": 13, + "Activity": 71 + }, + { + "Hour": 6, + "Day": 14, + "Activity": 22 + }, + { + "Hour": 6, + "Day": 15, + "Activity": 11 + }, + { + "Hour": 6, + "Day": 16, + "Activity": 50 + }, + { + "Hour": 6, + "Day": 17, + "Activity": 39 + }, + { + "Hour": 6, + "Day": 18, + "Activity": 92 + }, + { + "Hour": 6, + "Day": 19, + "Activity": 72 + }, + { + "Hour": 6, + "Day": 20, + "Activity": 29 + }, + { + "Hour": 6, + "Day": 21, + "Activity": 6 + }, + { + "Hour": 6, + "Day": 22, + "Activity": 96 + }, + { + "Hour": 6, + "Day": 23, + "Activity": 99 + }, + { + "Hour": 6, + "Day": 24, + "Activity": 83 + }, + { + "Hour": 6, + "Day": 25, + "Activity": 49 + }, + { + "Hour": 6, + "Day": 26, + "Activity": 52 + }, + { + "Hour": 6, + "Day": 27, + "Activity": 84 + }, + { + "Hour": 6, + "Day": 28, + "Activity": 66 + }, + { + "Hour": 6, + "Day": 29, + "Activity": 11 + }, + { + "Hour": 7, + "Day": 0, + "Activity": 63 + }, + { + "Hour": 7, + "Day": 1, + "Activity": 42 + }, + { + "Hour": 7, + "Day": 2, + "Activity": 50 + }, + { + "Hour": 7, + "Day": 3, + "Activity": 0 + }, + { + "Hour": 7, + "Day": 4, + "Activity": 67 + }, + { + "Hour": 7, + "Day": 5, + "Activity": 27 + }, + { + "Hour": 7, + "Day": 6, + "Activity": 37 + }, + { + "Hour": 7, + "Day": 7, + "Activity": 6 + }, + { + "Hour": 7, + "Day": 8, + "Activity": 4 + }, + { + "Hour": 7, + "Day": 9, + "Activity": 42 + }, + { + "Hour": 7, + "Day": 10, + "Activity": 42 + }, + { + "Hour": 7, + "Day": 11, + "Activity": 11 + }, + { + "Hour": 7, + "Day": 12, + "Activity": 51 + }, + { + "Hour": 7, + "Day": 13, + "Activity": 43 + }, + { + "Hour": 7, + "Day": 14, + "Activity": 95 + }, + { + "Hour": 7, + "Day": 15, + "Activity": 92 + }, + { + "Hour": 7, + "Day": 16, + "Activity": 65 + }, + { + "Hour": 7, + "Day": 17, + "Activity": 13 + }, + { + "Hour": 7, + "Day": 18, + "Activity": 87 + }, + { + "Hour": 7, + "Day": 19, + "Activity": 96 + }, + { + "Hour": 7, + "Day": 20, + "Activity": 89 + }, + { + "Hour": 7, + "Day": 21, + "Activity": 12 + }, + { + "Hour": 7, + "Day": 22, + "Activity": 97 + }, + { + "Hour": 7, + "Day": 23, + "Activity": 30 + }, + { + "Hour": 7, + "Day": 24, + "Activity": 38 + }, + { + "Hour": 7, + "Day": 25, + "Activity": 38 + }, + { + "Hour": 7, + "Day": 26, + "Activity": 35 + }, + { + "Hour": 7, + "Day": 27, + "Activity": 8 + }, + { + "Hour": 7, + "Day": 28, + "Activity": 78 + }, + { + "Hour": 7, + "Day": 29, + "Activity": 22 + }, + { + "Hour": 8, + "Day": 0, + "Activity": 57 + }, + { + "Hour": 8, + "Day": 1, + "Activity": 68 + }, + { + "Hour": 8, + "Day": 2, + "Activity": 92 + }, + { + "Hour": 8, + "Day": 3, + "Activity": 82 + }, + { + "Hour": 8, + "Day": 4, + "Activity": 25 + }, + { + "Hour": 8, + "Day": 5, + "Activity": 20 + }, + { + "Hour": 8, + "Day": 6, + "Activity": 5 + }, + { + "Hour": 8, + "Day": 7, + "Activity": 91 + }, + { + "Hour": 8, + "Day": 8, + "Activity": 86 + }, + { + "Hour": 8, + "Day": 9, + "Activity": 40 + }, + { + "Hour": 8, + "Day": 10, + "Activity": 62 + }, + { + "Hour": 8, + "Day": 11, + "Activity": 48 + }, + { + "Hour": 8, + "Day": 12, + "Activity": 10 + }, + { + "Hour": 8, + "Day": 13, + "Activity": 49 + }, + { + "Hour": 8, + "Day": 14, + "Activity": 7 + }, + { + "Hour": 8, + "Day": 15, + "Activity": 92 + }, + { + "Hour": 8, + "Day": 16, + "Activity": 31 + }, + { + "Hour": 8, + "Day": 17, + "Activity": 4 + }, + { + "Hour": 8, + "Day": 18, + "Activity": 37 + }, + { + "Hour": 8, + "Day": 19, + "Activity": 99 + }, + { + "Hour": 8, + "Day": 20, + "Activity": 1 + }, + { + "Hour": 8, + "Day": 21, + "Activity": 88 + }, + { + "Hour": 8, + "Day": 22, + "Activity": 55 + }, + { + "Hour": 8, + "Day": 23, + "Activity": 4 + }, + { + "Hour": 8, + "Day": 24, + "Activity": 37 + }, + { + "Hour": 8, + "Day": 25, + "Activity": 47 + }, + { + "Hour": 8, + "Day": 26, + "Activity": 91 + }, + { + "Hour": 8, + "Day": 27, + "Activity": 32 + }, + { + "Hour": 8, + "Day": 28, + "Activity": 21 + }, + { + "Hour": 8, + "Day": 29, + "Activity": 86 + }, + { + "Hour": 9, + "Day": 0, + "Activity": 77 + }, + { + "Hour": 9, + "Day": 1, + "Activity": 84 + }, + { + "Hour": 9, + "Day": 2, + "Activity": 76 + }, + { + "Hour": 9, + "Day": 3, + "Activity": 93 + }, + { + "Hour": 9, + "Day": 4, + "Activity": 59 + }, + { + "Hour": 9, + "Day": 5, + "Activity": 13 + }, + { + "Hour": 9, + "Day": 6, + "Activity": 85 + }, + { + "Hour": 9, + "Day": 7, + "Activity": 96 + }, + { + "Hour": 9, + "Day": 8, + "Activity": 54 + }, + { + "Hour": 9, + "Day": 9, + "Activity": 65 + }, + { + "Hour": 9, + "Day": 10, + "Activity": 50 + }, + { + "Hour": 9, + "Day": 11, + "Activity": 34 + }, + { + "Hour": 9, + "Day": 12, + "Activity": 21 + }, + { + "Hour": 9, + "Day": 13, + "Activity": 17 + }, + { + "Hour": 9, + "Day": 14, + "Activity": 39 + }, + { + "Hour": 9, + "Day": 15, + "Activity": 24 + }, + { + "Hour": 9, + "Day": 16, + "Activity": 42 + }, + { + "Hour": 9, + "Day": 17, + "Activity": 1 + }, + { + "Hour": 9, + "Day": 18, + "Activity": 87 + }, + { + "Hour": 9, + "Day": 19, + "Activity": 91 + }, + { + "Hour": 9, + "Day": 20, + "Activity": 88 + }, + { + "Hour": 9, + "Day": 21, + "Activity": 43 + }, + { + "Hour": 9, + "Day": 22, + "Activity": 53 + }, + { + "Hour": 9, + "Day": 23, + "Activity": 66 + }, + { + "Hour": 9, + "Day": 24, + "Activity": 33 + }, + { + "Hour": 9, + "Day": 25, + "Activity": 14 + }, + { + "Hour": 9, + "Day": 26, + "Activity": 97 + }, + { + "Hour": 9, + "Day": 27, + "Activity": 95 + }, + { + "Hour": 9, + "Day": 28, + "Activity": 5 + }, + { + "Hour": 9, + "Day": 29, + "Activity": 8 + }, + { + "Hour": 10, + "Day": 0, + "Activity": 67 + }, + { + "Hour": 10, + "Day": 1, + "Activity": 90 + }, + { + "Hour": 10, + "Day": 2, + "Activity": 48 + }, + { + "Hour": 10, + "Day": 3, + "Activity": 94 + }, + { + "Hour": 10, + "Day": 4, + "Activity": 34 + }, + { + "Hour": 10, + "Day": 5, + "Activity": 64 + }, + { + "Hour": 10, + "Day": 6, + "Activity": 32 + }, + { + "Hour": 10, + "Day": 7, + "Activity": 14 + }, + { + "Hour": 10, + "Day": 8, + "Activity": 88 + }, + { + "Hour": 10, + "Day": 9, + "Activity": 51 + }, + { + "Hour": 10, + "Day": 10, + "Activity": 30 + }, + { + "Hour": 10, + "Day": 11, + "Activity": 90 + }, + { + "Hour": 10, + "Day": 12, + "Activity": 58 + }, + { + "Hour": 10, + "Day": 13, + "Activity": 99 + }, + { + "Hour": 10, + "Day": 14, + "Activity": 24 + }, + { + "Hour": 10, + "Day": 15, + "Activity": 16 + }, + { + "Hour": 10, + "Day": 16, + "Activity": 97 + }, + { + "Hour": 10, + "Day": 17, + "Activity": 84 + }, + { + "Hour": 10, + "Day": 18, + "Activity": 82 + }, + { + "Hour": 10, + "Day": 19, + "Activity": 89 + }, + { + "Hour": 10, + "Day": 20, + "Activity": 58 + }, + { + "Hour": 10, + "Day": 21, + "Activity": 59 + }, + { + "Hour": 10, + "Day": 22, + "Activity": 74 + }, + { + "Hour": 10, + "Day": 23, + "Activity": 44 + }, + { + "Hour": 10, + "Day": 24, + "Activity": 20 + }, + { + "Hour": 10, + "Day": 25, + "Activity": 83 + }, + { + "Hour": 10, + "Day": 26, + "Activity": 10 + }, + { + "Hour": 10, + "Day": 27, + "Activity": 68 + }, + { + "Hour": 10, + "Day": 28, + "Activity": 78 + }, + { + "Hour": 10, + "Day": 29, + "Activity": 83 + }, + { + "Hour": 11, + "Day": 0, + "Activity": 9 + }, + { + "Hour": 11, + "Day": 1, + "Activity": 48 + }, + { + "Hour": 11, + "Day": 2, + "Activity": 67 + }, + { + "Hour": 11, + "Day": 3, + "Activity": 13 + }, + { + "Hour": 11, + "Day": 4, + "Activity": 79 + }, + { + "Hour": 11, + "Day": 5, + "Activity": 25 + }, + { + "Hour": 11, + "Day": 6, + "Activity": 68 + }, + { + "Hour": 11, + "Day": 7, + "Activity": 14 + }, + { + "Hour": 11, + "Day": 8, + "Activity": 66 + }, + { + "Hour": 11, + "Day": 9, + "Activity": 6 + }, + { + "Hour": 11, + "Day": 10, + "Activity": 81 + }, + { + "Hour": 11, + "Day": 11, + "Activity": 97 + }, + { + "Hour": 11, + "Day": 12, + "Activity": 43 + }, + { + "Hour": 11, + "Day": 13, + "Activity": 1 + }, + { + "Hour": 11, + "Day": 14, + "Activity": 46 + }, + { + "Hour": 11, + "Day": 15, + "Activity": 5 + }, + { + "Hour": 11, + "Day": 16, + "Activity": 13 + }, + { + "Hour": 11, + "Day": 17, + "Activity": 51 + }, + { + "Hour": 11, + "Day": 18, + "Activity": 76 + }, + { + "Hour": 11, + "Day": 19, + "Activity": 17 + }, + { + "Hour": 11, + "Day": 20, + "Activity": 52 + }, + { + "Hour": 11, + "Day": 21, + "Activity": 96 + }, + { + "Hour": 11, + "Day": 22, + "Activity": 29 + }, + { + "Hour": 11, + "Day": 23, + "Activity": 31 + }, + { + "Hour": 11, + "Day": 24, + "Activity": 43 + }, + { + "Hour": 11, + "Day": 25, + "Activity": 93 + }, + { + "Hour": 11, + "Day": 26, + "Activity": 81 + }, + { + "Hour": 11, + "Day": 27, + "Activity": 75 + }, + { + "Hour": 11, + "Day": 28, + "Activity": 29 + }, + { + "Hour": 11, + "Day": 29, + "Activity": 78 + }, + { + "Hour": 12, + "Day": 0, + "Activity": 84 + }, + { + "Hour": 12, + "Day": 1, + "Activity": 49 + }, + { + "Hour": 12, + "Day": 2, + "Activity": 4 + }, + { + "Hour": 12, + "Day": 3, + "Activity": 99 + }, + { + "Hour": 12, + "Day": 4, + "Activity": 68 + }, + { + "Hour": 12, + "Day": 5, + "Activity": 95 + }, + { + "Hour": 12, + "Day": 6, + "Activity": 25 + }, + { + "Hour": 12, + "Day": 7, + "Activity": 71 + }, + { + "Hour": 12, + "Day": 8, + "Activity": 66 + }, + { + "Hour": 12, + "Day": 9, + "Activity": 10 + }, + { + "Hour": 12, + "Day": 10, + "Activity": 82 + }, + { + "Hour": 12, + "Day": 11, + "Activity": 67 + }, + { + "Hour": 12, + "Day": 12, + "Activity": 82 + }, + { + "Hour": 12, + "Day": 13, + "Activity": 18 + }, + { + "Hour": 12, + "Day": 14, + "Activity": 12 + }, + { + "Hour": 12, + "Day": 15, + "Activity": 72 + }, + { + "Hour": 12, + "Day": 16, + "Activity": 2 + }, + { + "Hour": 12, + "Day": 17, + "Activity": 8 + }, + { + "Hour": 12, + "Day": 18, + "Activity": 83 + }, + { + "Hour": 12, + "Day": 19, + "Activity": 56 + }, + { + "Hour": 12, + "Day": 20, + "Activity": 98 + }, + { + "Hour": 12, + "Day": 21, + "Activity": 63 + }, + { + "Hour": 12, + "Day": 22, + "Activity": 95 + }, + { + "Hour": 12, + "Day": 23, + "Activity": 83 + }, + { + "Hour": 12, + "Day": 24, + "Activity": 39 + }, + { + "Hour": 12, + "Day": 25, + "Activity": 18 + }, + { + "Hour": 12, + "Day": 26, + "Activity": 29 + }, + { + "Hour": 12, + "Day": 27, + "Activity": 83 + }, + { + "Hour": 12, + "Day": 28, + "Activity": 30 + }, + { + "Hour": 12, + "Day": 29, + "Activity": 31 + }, + { + "Hour": 13, + "Day": 0, + "Activity": 31 + }, + { + "Hour": 13, + "Day": 1, + "Activity": 73 + }, + { + "Hour": 13, + "Day": 2, + "Activity": 40 + }, + { + "Hour": 13, + "Day": 3, + "Activity": 85 + }, + { + "Hour": 13, + "Day": 4, + "Activity": 51 + }, + { + "Hour": 13, + "Day": 5, + "Activity": 96 + }, + { + "Hour": 13, + "Day": 6, + "Activity": 5 + }, + { + "Hour": 13, + "Day": 7, + "Activity": 88 + }, + { + "Hour": 13, + "Day": 8, + "Activity": 82 + }, + { + "Hour": 13, + "Day": 9, + "Activity": 100 + }, + { + "Hour": 13, + "Day": 10, + "Activity": 47 + }, + { + "Hour": 13, + "Day": 11, + "Activity": 58 + }, + { + "Hour": 13, + "Day": 12, + "Activity": 9 + }, + { + "Hour": 13, + "Day": 13, + "Activity": 52 + }, + { + "Hour": 13, + "Day": 14, + "Activity": 1 + }, + { + "Hour": 13, + "Day": 15, + "Activity": 97 + }, + { + "Hour": 13, + "Day": 16, + "Activity": 77 + }, + { + "Hour": 13, + "Day": 17, + "Activity": 94 + }, + { + "Hour": 13, + "Day": 18, + "Activity": 29 + }, + { + "Hour": 13, + "Day": 19, + "Activity": 85 + }, + { + "Hour": 13, + "Day": 20, + "Activity": 82 + }, + { + "Hour": 13, + "Day": 21, + "Activity": 59 + }, + { + "Hour": 13, + "Day": 22, + "Activity": 97 + }, + { + "Hour": 13, + "Day": 23, + "Activity": 68 + }, + { + "Hour": 13, + "Day": 24, + "Activity": 40 + }, + { + "Hour": 13, + "Day": 25, + "Activity": 59 + }, + { + "Hour": 13, + "Day": 26, + "Activity": 87 + }, + { + "Hour": 13, + "Day": 27, + "Activity": 53 + }, + { + "Hour": 13, + "Day": 28, + "Activity": 96 + }, + { + "Hour": 13, + "Day": 29, + "Activity": 64 + }, + { + "Hour": 14, + "Day": 0, + "Activity": 67 + }, + { + "Hour": 14, + "Day": 1, + "Activity": 69 + }, + { + "Hour": 14, + "Day": 2, + "Activity": 26 + }, + { + "Hour": 14, + "Day": 3, + "Activity": 86 + }, + { + "Hour": 14, + "Day": 4, + "Activity": 43 + }, + { + "Hour": 14, + "Day": 5, + "Activity": 48 + }, + { + "Hour": 14, + "Day": 6, + "Activity": 17 + }, + { + "Hour": 14, + "Day": 7, + "Activity": 92 + }, + { + "Hour": 14, + "Day": 8, + "Activity": 17 + }, + { + "Hour": 14, + "Day": 9, + "Activity": 4 + }, + { + "Hour": 14, + "Day": 10, + "Activity": 85 + }, + { + "Hour": 14, + "Day": 11, + "Activity": 59 + }, + { + "Hour": 14, + "Day": 12, + "Activity": 79 + }, + { + "Hour": 14, + "Day": 13, + "Activity": 28 + }, + { + "Hour": 14, + "Day": 14, + "Activity": 95 + }, + { + "Hour": 14, + "Day": 15, + "Activity": 61 + }, + { + "Hour": 14, + "Day": 16, + "Activity": 77 + }, + { + "Hour": 14, + "Day": 17, + "Activity": 39 + }, + { + "Hour": 14, + "Day": 18, + "Activity": 94 + }, + { + "Hour": 14, + "Day": 19, + "Activity": 12 + }, + { + "Hour": 14, + "Day": 20, + "Activity": 30 + }, + { + "Hour": 14, + "Day": 21, + "Activity": 90 + }, + { + "Hour": 14, + "Day": 22, + "Activity": 53 + }, + { + "Hour": 14, + "Day": 23, + "Activity": 62 + }, + { + "Hour": 14, + "Day": 24, + "Activity": 80 + }, + { + "Hour": 14, + "Day": 25, + "Activity": 4 + }, + { + "Hour": 14, + "Day": 26, + "Activity": 75 + }, + { + "Hour": 14, + "Day": 27, + "Activity": 54 + }, + { + "Hour": 14, + "Day": 28, + "Activity": 85 + }, + { + "Hour": 14, + "Day": 29, + "Activity": 22 + }, + { + "Hour": 15, + "Day": 0, + "Activity": 54 + }, + { + "Hour": 15, + "Day": 1, + "Activity": 79 + }, + { + "Hour": 15, + "Day": 2, + "Activity": 19 + }, + { + "Hour": 15, + "Day": 3, + "Activity": 88 + }, + { + "Hour": 15, + "Day": 4, + "Activity": 48 + }, + { + "Hour": 15, + "Day": 5, + "Activity": 19 + }, + { + "Hour": 15, + "Day": 6, + "Activity": 1 + }, + { + "Hour": 15, + "Day": 7, + "Activity": 72 + }, + { + "Hour": 15, + "Day": 8, + "Activity": 41 + }, + { + "Hour": 15, + "Day": 9, + "Activity": 82 + }, + { + "Hour": 15, + "Day": 10, + "Activity": 88 + }, + { + "Hour": 15, + "Day": 11, + "Activity": 78 + }, + { + "Hour": 15, + "Day": 12, + "Activity": 83 + }, + { + "Hour": 15, + "Day": 13, + "Activity": 41 + }, + { + "Hour": 15, + "Day": 14, + "Activity": 50 + }, + { + "Hour": 15, + "Day": 15, + "Activity": 88 + }, + { + "Hour": 15, + "Day": 16, + "Activity": 43 + }, + { + "Hour": 15, + "Day": 17, + "Activity": 68 + }, + { + "Hour": 15, + "Day": 18, + "Activity": 67 + }, + { + "Hour": 15, + "Day": 19, + "Activity": 61 + }, + { + "Hour": 15, + "Day": 20, + "Activity": 6 + }, + { + "Hour": 15, + "Day": 21, + "Activity": 34 + }, + { + "Hour": 15, + "Day": 22, + "Activity": 60 + }, + { + "Hour": 15, + "Day": 23, + "Activity": 41 + }, + { + "Hour": 15, + "Day": 24, + "Activity": 74 + }, + { + "Hour": 15, + "Day": 25, + "Activity": 2 + }, + { + "Hour": 15, + "Day": 26, + "Activity": 93 + }, + { + "Hour": 15, + "Day": 27, + "Activity": 2 + }, + { + "Hour": 15, + "Day": 28, + "Activity": 58 + }, + { + "Hour": 15, + "Day": 29, + "Activity": 0 + }, + { + "Hour": 16, + "Day": 0, + "Activity": 90 + }, + { + "Hour": 16, + "Day": 1, + "Activity": 75 + }, + { + "Hour": 16, + "Day": 2, + "Activity": 23 + }, + { + "Hour": 16, + "Day": 3, + "Activity": 83 + }, + { + "Hour": 16, + "Day": 4, + "Activity": 92 + }, + { + "Hour": 16, + "Day": 5, + "Activity": 17 + }, + { + "Hour": 16, + "Day": 6, + "Activity": 22 + }, + { + "Hour": 16, + "Day": 7, + "Activity": 72 + }, + { + "Hour": 16, + "Day": 8, + "Activity": 4 + }, + { + "Hour": 16, + "Day": 9, + "Activity": 88 + }, + { + "Hour": 16, + "Day": 10, + "Activity": 67 + }, + { + "Hour": 16, + "Day": 11, + "Activity": 71 + }, + { + "Hour": 16, + "Day": 12, + "Activity": 66 + }, + { + "Hour": 16, + "Day": 13, + "Activity": 53 + }, + { + "Hour": 16, + "Day": 14, + "Activity": 87 + }, + { + "Hour": 16, + "Day": 15, + "Activity": 65 + }, + { + "Hour": 16, + "Day": 16, + "Activity": 57 + }, + { + "Hour": 16, + "Day": 17, + "Activity": 26 + }, + { + "Hour": 16, + "Day": 18, + "Activity": 28 + }, + { + "Hour": 16, + "Day": 19, + "Activity": 50 + }, + { + "Hour": 16, + "Day": 20, + "Activity": 85 + }, + { + "Hour": 16, + "Day": 21, + "Activity": 23 + }, + { + "Hour": 16, + "Day": 22, + "Activity": 32 + }, + { + "Hour": 16, + "Day": 23, + "Activity": 89 + }, + { + "Hour": 16, + "Day": 24, + "Activity": 79 + }, + { + "Hour": 16, + "Day": 25, + "Activity": 18 + }, + { + "Hour": 16, + "Day": 26, + "Activity": 32 + }, + { + "Hour": 16, + "Day": 27, + "Activity": 30 + }, + { + "Hour": 16, + "Day": 28, + "Activity": 5 + }, + { + "Hour": 16, + "Day": 29, + "Activity": 75 + }, + { + "Hour": 17, + "Day": 0, + "Activity": 59 + }, + { + "Hour": 17, + "Day": 1, + "Activity": 62 + }, + { + "Hour": 17, + "Day": 2, + "Activity": 26 + }, + { + "Hour": 17, + "Day": 3, + "Activity": 12 + }, + { + "Hour": 17, + "Day": 4, + "Activity": 89 + }, + { + "Hour": 17, + "Day": 5, + "Activity": 82 + }, + { + "Hour": 17, + "Day": 6, + "Activity": 59 + }, + { + "Hour": 17, + "Day": 7, + "Activity": 79 + }, + { + "Hour": 17, + "Day": 8, + "Activity": 45 + }, + { + "Hour": 17, + "Day": 9, + "Activity": 79 + }, + { + "Hour": 17, + "Day": 10, + "Activity": 4 + }, + { + "Hour": 17, + "Day": 11, + "Activity": 26 + }, + { + "Hour": 17, + "Day": 12, + "Activity": 31 + }, + { + "Hour": 17, + "Day": 13, + "Activity": 79 + }, + { + "Hour": 17, + "Day": 14, + "Activity": 66 + }, + { + "Hour": 17, + "Day": 15, + "Activity": 45 + }, + { + "Hour": 17, + "Day": 16, + "Activity": 27 + }, + { + "Hour": 17, + "Day": 17, + "Activity": 76 + }, + { + "Hour": 17, + "Day": 18, + "Activity": 80 + }, + { + "Hour": 17, + "Day": 19, + "Activity": 20 + }, + { + "Hour": 17, + "Day": 20, + "Activity": 80 + }, + { + "Hour": 17, + "Day": 21, + "Activity": 76 + }, + { + "Hour": 17, + "Day": 22, + "Activity": 4 + }, + { + "Hour": 17, + "Day": 23, + "Activity": 96 + }, + { + "Hour": 17, + "Day": 24, + "Activity": 39 + }, + { + "Hour": 17, + "Day": 25, + "Activity": 70 + }, + { + "Hour": 17, + "Day": 26, + "Activity": 77 + }, + { + "Hour": 17, + "Day": 27, + "Activity": 40 + }, + { + "Hour": 17, + "Day": 28, + "Activity": 61 + }, + { + "Hour": 17, + "Day": 29, + "Activity": 63 + }, + { + "Hour": 18, + "Day": 0, + "Activity": 67 + }, + { + "Hour": 18, + "Day": 1, + "Activity": 71 + }, + { + "Hour": 18, + "Day": 2, + "Activity": 54 + }, + { + "Hour": 18, + "Day": 3, + "Activity": 81 + }, + { + "Hour": 18, + "Day": 4, + "Activity": 1 + }, + { + "Hour": 18, + "Day": 5, + "Activity": 27 + }, + { + "Hour": 18, + "Day": 6, + "Activity": 39 + }, + { + "Hour": 18, + "Day": 7, + "Activity": 20 + }, + { + "Hour": 18, + "Day": 8, + "Activity": 74 + }, + { + "Hour": 18, + "Day": 9, + "Activity": 44 + }, + { + "Hour": 18, + "Day": 10, + "Activity": 45 + }, + { + "Hour": 18, + "Day": 11, + "Activity": 26 + }, + { + "Hour": 18, + "Day": 12, + "Activity": 59 + }, + { + "Hour": 18, + "Day": 13, + "Activity": 23 + }, + { + "Hour": 18, + "Day": 14, + "Activity": 40 + }, + { + "Hour": 18, + "Day": 15, + "Activity": 99 + }, + { + "Hour": 18, + "Day": 16, + "Activity": 50 + }, + { + "Hour": 18, + "Day": 17, + "Activity": 94 + }, + { + "Hour": 18, + "Day": 18, + "Activity": 15 + }, + { + "Hour": 18, + "Day": 19, + "Activity": 36 + }, + { + "Hour": 18, + "Day": 20, + "Activity": 56 + }, + { + "Hour": 18, + "Day": 21, + "Activity": 83 + }, + { + "Hour": 18, + "Day": 22, + "Activity": 6 + }, + { + "Hour": 18, + "Day": 23, + "Activity": 1 + }, + { + "Hour": 18, + "Day": 24, + "Activity": 66 + }, + { + "Hour": 18, + "Day": 25, + "Activity": 17 + }, + { + "Hour": 18, + "Day": 26, + "Activity": 56 + }, + { + "Hour": 18, + "Day": 27, + "Activity": 17 + }, + { + "Hour": 18, + "Day": 28, + "Activity": 85 + }, + { + "Hour": 18, + "Day": 29, + "Activity": 66 + }, + { + "Hour": 19, + "Day": 0, + "Activity": 90 + }, + { + "Hour": 19, + "Day": 1, + "Activity": 75 + }, + { + "Hour": 19, + "Day": 2, + "Activity": 85 + }, + { + "Hour": 19, + "Day": 3, + "Activity": 22 + }, + { + "Hour": 19, + "Day": 4, + "Activity": 98 + }, + { + "Hour": 19, + "Day": 5, + "Activity": 63 + }, + { + "Hour": 19, + "Day": 6, + "Activity": 62 + }, + { + "Hour": 19, + "Day": 7, + "Activity": 82 + }, + { + "Hour": 19, + "Day": 8, + "Activity": 92 + }, + { + "Hour": 19, + "Day": 9, + "Activity": 67 + }, + { + "Hour": 19, + "Day": 10, + "Activity": 41 + }, + { + "Hour": 19, + "Day": 11, + "Activity": 71 + }, + { + "Hour": 19, + "Day": 12, + "Activity": 6 + }, + { + "Hour": 19, + "Day": 13, + "Activity": 18 + }, + { + "Hour": 19, + "Day": 14, + "Activity": 63 + }, + { + "Hour": 19, + "Day": 15, + "Activity": 71 + }, + { + "Hour": 19, + "Day": 16, + "Activity": 28 + }, + { + "Hour": 19, + "Day": 17, + "Activity": 52 + }, + { + "Hour": 19, + "Day": 18, + "Activity": 72 + }, + { + "Hour": 19, + "Day": 19, + "Activity": 37 + }, + { + "Hour": 19, + "Day": 20, + "Activity": 37 + }, + { + "Hour": 19, + "Day": 21, + "Activity": 98 + }, + { + "Hour": 19, + "Day": 22, + "Activity": 56 + }, + { + "Hour": 19, + "Day": 23, + "Activity": 79 + }, + { + "Hour": 19, + "Day": 24, + "Activity": 44 + }, + { + "Hour": 19, + "Day": 25, + "Activity": 66 + }, + { + "Hour": 19, + "Day": 26, + "Activity": 61 + }, + { + "Hour": 19, + "Day": 27, + "Activity": 14 + }, + { + "Hour": 19, + "Day": 28, + "Activity": 68 + }, + { + "Hour": 19, + "Day": 29, + "Activity": 83 + }, + { + "Hour": 20, + "Day": 0, + "Activity": 81 + }, + { + "Hour": 20, + "Day": 1, + "Activity": 3 + }, + { + "Hour": 20, + "Day": 2, + "Activity": 32 + }, + { + "Hour": 20, + "Day": 3, + "Activity": 53 + }, + { + "Hour": 20, + "Day": 4, + "Activity": 57 + }, + { + "Hour": 20, + "Day": 5, + "Activity": 59 + }, + { + "Hour": 20, + "Day": 6, + "Activity": 48 + }, + { + "Hour": 20, + "Day": 7, + "Activity": 91 + }, + { + "Hour": 20, + "Day": 8, + "Activity": 58 + }, + { + "Hour": 20, + "Day": 9, + "Activity": 56 + }, + { + "Hour": 20, + "Day": 10, + "Activity": 63 + }, + { + "Hour": 20, + "Day": 11, + "Activity": 2 + }, + { + "Hour": 20, + "Day": 12, + "Activity": 57 + }, + { + "Hour": 20, + "Day": 13, + "Activity": 34 + }, + { + "Hour": 20, + "Day": 14, + "Activity": 6 + }, + { + "Hour": 20, + "Day": 15, + "Activity": 50 + }, + { + "Hour": 20, + "Day": 16, + "Activity": 77 + }, + { + "Hour": 20, + "Day": 17, + "Activity": 42 + }, + { + "Hour": 20, + "Day": 18, + "Activity": 89 + }, + { + "Hour": 20, + "Day": 19, + "Activity": 23 + }, + { + "Hour": 20, + "Day": 20, + "Activity": 10 + }, + { + "Hour": 20, + "Day": 21, + "Activity": 32 + }, + { + "Hour": 20, + "Day": 22, + "Activity": 77 + }, + { + "Hour": 20, + "Day": 23, + "Activity": 5 + }, + { + "Hour": 20, + "Day": 24, + "Activity": 68 + }, + { + "Hour": 20, + "Day": 25, + "Activity": 24 + }, + { + "Hour": 20, + "Day": 26, + "Activity": 13 + }, + { + "Hour": 20, + "Day": 27, + "Activity": 70 + }, + { + "Hour": 20, + "Day": 28, + "Activity": 75 + }, + { + "Hour": 20, + "Day": 29, + "Activity": 74 + }, + { + "Hour": 21, + "Day": 0, + "Activity": 50 + }, + { + "Hour": 21, + "Day": 1, + "Activity": 13 + }, + { + "Hour": 21, + "Day": 2, + "Activity": 75 + }, + { + "Hour": 21, + "Day": 3, + "Activity": 59 + }, + { + "Hour": 21, + "Day": 4, + "Activity": 71 + }, + { + "Hour": 21, + "Day": 5, + "Activity": 13 + }, + { + "Hour": 21, + "Day": 6, + "Activity": 84 + }, + { + "Hour": 21, + "Day": 7, + "Activity": 76 + }, + { + "Hour": 21, + "Day": 8, + "Activity": 71 + }, + { + "Hour": 21, + "Day": 9, + "Activity": 76 + }, + { + "Hour": 21, + "Day": 10, + "Activity": 41 + }, + { + "Hour": 21, + "Day": 11, + "Activity": 97 + }, + { + "Hour": 21, + "Day": 12, + "Activity": 68 + }, + { + "Hour": 21, + "Day": 13, + "Activity": 38 + }, + { + "Hour": 21, + "Day": 14, + "Activity": 46 + }, + { + "Hour": 21, + "Day": 15, + "Activity": 22 + }, + { + "Hour": 21, + "Day": 16, + "Activity": 41 + }, + { + "Hour": 21, + "Day": 17, + "Activity": 47 + }, + { + "Hour": 21, + "Day": 18, + "Activity": 24 + }, + { + "Hour": 21, + "Day": 19, + "Activity": 24 + }, + { + "Hour": 21, + "Day": 20, + "Activity": 25 + }, + { + "Hour": 21, + "Day": 21, + "Activity": 87 + }, + { + "Hour": 21, + "Day": 22, + "Activity": 9 + }, + { + "Hour": 21, + "Day": 23, + "Activity": 93 + }, + { + "Hour": 21, + "Day": 24, + "Activity": 63 + }, + { + "Hour": 21, + "Day": 25, + "Activity": 29 + }, + { + "Hour": 21, + "Day": 26, + "Activity": 53 + }, + { + "Hour": 21, + "Day": 27, + "Activity": 81 + }, + { + "Hour": 21, + "Day": 28, + "Activity": 25 + }, + { + "Hour": 21, + "Day": 29, + "Activity": 38 + }, + { + "Hour": 22, + "Day": 0, + "Activity": 80 + }, + { + "Hour": 22, + "Day": 1, + "Activity": 59 + }, + { + "Hour": 22, + "Day": 2, + "Activity": 64 + }, + { + "Hour": 22, + "Day": 3, + "Activity": 24 + }, + { + "Hour": 22, + "Day": 4, + "Activity": 24 + }, + { + "Hour": 22, + "Day": 5, + "Activity": 17 + }, + { + "Hour": 22, + "Day": 6, + "Activity": 30 + }, + { + "Hour": 22, + "Day": 7, + "Activity": 92 + }, + { + "Hour": 22, + "Day": 8, + "Activity": 70 + }, + { + "Hour": 22, + "Day": 9, + "Activity": 46 + }, + { + "Hour": 22, + "Day": 10, + "Activity": 10 + }, + { + "Hour": 22, + "Day": 11, + "Activity": 79 + }, + { + "Hour": 22, + "Day": 12, + "Activity": 86 + }, + { + "Hour": 22, + "Day": 13, + "Activity": 63 + }, + { + "Hour": 22, + "Day": 14, + "Activity": 5 + }, + { + "Hour": 22, + "Day": 15, + "Activity": 30 + }, + { + "Hour": 22, + "Day": 16, + "Activity": 85 + }, + { + "Hour": 22, + "Day": 17, + "Activity": 7 + }, + { + "Hour": 22, + "Day": 18, + "Activity": 12 + }, + { + "Hour": 22, + "Day": 19, + "Activity": 65 + }, + { + "Hour": 22, + "Day": 20, + "Activity": 16 + }, + { + "Hour": 22, + "Day": 21, + "Activity": 7 + }, + { + "Hour": 22, + "Day": 22, + "Activity": 21 + }, + { + "Hour": 22, + "Day": 23, + "Activity": 83 + }, + { + "Hour": 22, + "Day": 24, + "Activity": 75 + }, + { + "Hour": 22, + "Day": 25, + "Activity": 61 + }, + { + "Hour": 22, + "Day": 26, + "Activity": 2 + }, + { + "Hour": 22, + "Day": 27, + "Activity": 40 + }, + { + "Hour": 22, + "Day": 28, + "Activity": 22 + }, + { + "Hour": 22, + "Day": 29, + "Activity": 70 + }, + { + "Hour": 23, + "Day": 0, + "Activity": 63 + }, + { + "Hour": 23, + "Day": 1, + "Activity": 11 + }, + { + "Hour": 23, + "Day": 2, + "Activity": 81 + }, + { + "Hour": 23, + "Day": 3, + "Activity": 60 + }, + { + "Hour": 23, + "Day": 4, + "Activity": 75 + }, + { + "Hour": 23, + "Day": 5, + "Activity": 43 + }, + { + "Hour": 23, + "Day": 6, + "Activity": 59 + }, + { + "Hour": 23, + "Day": 7, + "Activity": 95 + }, + { + "Hour": 23, + "Day": 8, + "Activity": 84 + }, + { + "Hour": 23, + "Day": 9, + "Activity": 94 + }, + { + "Hour": 23, + "Day": 10, + "Activity": 2 + }, + { + "Hour": 23, + "Day": 11, + "Activity": 93 + }, + { + "Hour": 23, + "Day": 12, + "Activity": 57 + }, + { + "Hour": 23, + "Day": 13, + "Activity": 39 + }, + { + "Hour": 23, + "Day": 14, + "Activity": 4 + }, + { + "Hour": 23, + "Day": 15, + "Activity": 77 + }, + { + "Hour": 23, + "Day": 16, + "Activity": 56 + }, + { + "Hour": 23, + "Day": 17, + "Activity": 46 + }, + { + "Hour": 23, + "Day": 18, + "Activity": 58 + }, + { + "Hour": 23, + "Day": 19, + "Activity": 43 + }, + { + "Hour": 23, + "Day": 20, + "Activity": 6 + }, + { + "Hour": 23, + "Day": 21, + "Activity": 53 + }, + { + "Hour": 23, + "Day": 22, + "Activity": 69 + }, + { + "Hour": 23, + "Day": 23, + "Activity": 93 + }, + { + "Hour": 23, + "Day": 24, + "Activity": 51 + }, + { + "Hour": 23, + "Day": 25, + "Activity": 40 + }, + { + "Hour": 23, + "Day": 26, + "Activity": 21 + }, + { + "Hour": 23, + "Day": 27, + "Activity": 35 + }, + { + "Hour": 23, + "Day": 28, + "Activity": 31 + }, + { + "Hour": 23, + "Day": 29, + "Activity": 52 + }, + { + "Hour": 24, + "Day": 0, + "Activity": 10 + }, + { + "Hour": 24, + "Day": 1, + "Activity": 68 + }, + { + "Hour": 24, + "Day": 2, + "Activity": 60 + }, + { + "Hour": 24, + "Day": 3, + "Activity": 26 + }, + { + "Hour": 24, + "Day": 4, + "Activity": 21 + }, + { + "Hour": 24, + "Day": 5, + "Activity": 24 + }, + { + "Hour": 24, + "Day": 6, + "Activity": 54 + }, + { + "Hour": 24, + "Day": 7, + "Activity": 74 + }, + { + "Hour": 24, + "Day": 8, + "Activity": 31 + }, + { + "Hour": 24, + "Day": 9, + "Activity": 79 + }, + { + "Hour": 24, + "Day": 10, + "Activity": 87 + }, + { + "Hour": 24, + "Day": 11, + "Activity": 41 + }, + { + "Hour": 24, + "Day": 12, + "Activity": 65 + }, + { + "Hour": 24, + "Day": 13, + "Activity": 82 + }, + { + "Hour": 24, + "Day": 14, + "Activity": 29 + }, + { + "Hour": 24, + "Day": 15, + "Activity": 1 + }, + { + "Hour": 24, + "Day": 16, + "Activity": 48 + }, + { + "Hour": 24, + "Day": 17, + "Activity": 94 + }, + { + "Hour": 24, + "Day": 18, + "Activity": 38 + }, + { + "Hour": 24, + "Day": 19, + "Activity": 60 + }, + { + "Hour": 24, + "Day": 20, + "Activity": 35 + }, + { + "Hour": 24, + "Day": 21, + "Activity": 20 + }, + { + "Hour": 24, + "Day": 22, + "Activity": 61 + }, + { + "Hour": 24, + "Day": 23, + "Activity": 14 + }, + { + "Hour": 24, + "Day": 24, + "Activity": 44 + }, + { + "Hour": 24, + "Day": 25, + "Activity": 76 + }, + { + "Hour": 24, + "Day": 26, + "Activity": 32 + }, + { + "Hour": 24, + "Day": 27, + "Activity": 94 + }, + { + "Hour": 24, + "Day": 28, + "Activity": 37 + }, + { + "Hour": 24, + "Day": 29, + "Activity": 83 + }, + { + "Hour": 25, + "Day": 0, + "Activity": 38 + }, + { + "Hour": 25, + "Day": 1, + "Activity": 42 + }, + { + "Hour": 25, + "Day": 2, + "Activity": 6 + }, + { + "Hour": 25, + "Day": 3, + "Activity": 10 + }, + { + "Hour": 25, + "Day": 4, + "Activity": 1 + }, + { + "Hour": 25, + "Day": 5, + "Activity": 16 + }, + { + "Hour": 25, + "Day": 6, + "Activity": 24 + }, + { + "Hour": 25, + "Day": 7, + "Activity": 9 + }, + { + "Hour": 25, + "Day": 8, + "Activity": 21 + }, + { + "Hour": 25, + "Day": 9, + "Activity": 58 + }, + { + "Hour": 25, + "Day": 10, + "Activity": 74 + }, + { + "Hour": 25, + "Day": 11, + "Activity": 4 + }, + { + "Hour": 25, + "Day": 12, + "Activity": 74 + }, + { + "Hour": 25, + "Day": 13, + "Activity": 15 + }, + { + "Hour": 25, + "Day": 14, + "Activity": 56 + }, + { + "Hour": 25, + "Day": 15, + "Activity": 84 + }, + { + "Hour": 25, + "Day": 16, + "Activity": 13 + }, + { + "Hour": 25, + "Day": 17, + "Activity": 84 + }, + { + "Hour": 25, + "Day": 18, + "Activity": 44 + }, + { + "Hour": 25, + "Day": 19, + "Activity": 10 + }, + { + "Hour": 25, + "Day": 20, + "Activity": 16 + }, + { + "Hour": 25, + "Day": 21, + "Activity": 7 + }, + { + "Hour": 25, + "Day": 22, + "Activity": 74 + }, + { + "Hour": 25, + "Day": 23, + "Activity": 39 + }, + { + "Hour": 25, + "Day": 24, + "Activity": 10 + }, + { + "Hour": 25, + "Day": 25, + "Activity": 70 + }, + { + "Hour": 25, + "Day": 26, + "Activity": 3 + }, + { + "Hour": 25, + "Day": 27, + "Activity": 37 + }, + { + "Hour": 25, + "Day": 28, + "Activity": 64 + }, + { + "Hour": 25, + "Day": 29, + "Activity": 76 + }, + { + "Hour": 26, + "Day": 0, + "Activity": 69 + }, + { + "Hour": 26, + "Day": 1, + "Activity": 12 + }, + { + "Hour": 26, + "Day": 2, + "Activity": 80 + }, + { + "Hour": 26, + "Day": 3, + "Activity": 89 + }, + { + "Hour": 26, + "Day": 4, + "Activity": 53 + }, + { + "Hour": 26, + "Day": 5, + "Activity": 25 + }, + { + "Hour": 26, + "Day": 6, + "Activity": 45 + }, + { + "Hour": 26, + "Day": 7, + "Activity": 52 + }, + { + "Hour": 26, + "Day": 8, + "Activity": 68 + }, + { + "Hour": 26, + "Day": 9, + "Activity": 84 + }, + { + "Hour": 26, + "Day": 10, + "Activity": 75 + }, + { + "Hour": 26, + "Day": 11, + "Activity": 15 + }, + { + "Hour": 26, + "Day": 12, + "Activity": 79 + }, + { + "Hour": 26, + "Day": 13, + "Activity": 45 + }, + { + "Hour": 26, + "Day": 14, + "Activity": 76 + }, + { + "Hour": 26, + "Day": 15, + "Activity": 43 + }, + { + "Hour": 26, + "Day": 16, + "Activity": 18 + }, + { + "Hour": 26, + "Day": 17, + "Activity": 35 + }, + { + "Hour": 26, + "Day": 18, + "Activity": 7 + }, + { + "Hour": 26, + "Day": 19, + "Activity": 12 + }, + { + "Hour": 26, + "Day": 20, + "Activity": 79 + }, + { + "Hour": 26, + "Day": 21, + "Activity": 41 + }, + { + "Hour": 26, + "Day": 22, + "Activity": 98 + }, + { + "Hour": 26, + "Day": 23, + "Activity": 27 + }, + { + "Hour": 26, + "Day": 24, + "Activity": 23 + }, + { + "Hour": 26, + "Day": 25, + "Activity": 7 + }, + { + "Hour": 26, + "Day": 26, + "Activity": 50 + }, + { + "Hour": 26, + "Day": 27, + "Activity": 82 + }, + { + "Hour": 26, + "Day": 28, + "Activity": 20 + }, + { + "Hour": 26, + "Day": 29, + "Activity": 31 + }, + { + "Hour": 27, + "Day": 0, + "Activity": 35 + }, + { + "Hour": 27, + "Day": 1, + "Activity": 2 + }, + { + "Hour": 27, + "Day": 2, + "Activity": 41 + }, + { + "Hour": 27, + "Day": 3, + "Activity": 94 + }, + { + "Hour": 27, + "Day": 4, + "Activity": 93 + }, + { + "Hour": 27, + "Day": 5, + "Activity": 99 + }, + { + "Hour": 27, + "Day": 6, + "Activity": 77 + }, + { + "Hour": 27, + "Day": 7, + "Activity": 44 + }, + { + "Hour": 27, + "Day": 8, + "Activity": 46 + }, + { + "Hour": 27, + "Day": 9, + "Activity": 33 + }, + { + "Hour": 27, + "Day": 10, + "Activity": 78 + }, + { + "Hour": 27, + "Day": 11, + "Activity": 31 + }, + { + "Hour": 27, + "Day": 12, + "Activity": 30 + }, + { + "Hour": 27, + "Day": 13, + "Activity": 58 + }, + { + "Hour": 27, + "Day": 14, + "Activity": 2 + }, + { + "Hour": 27, + "Day": 15, + "Activity": 95 + }, + { + "Hour": 27, + "Day": 16, + "Activity": 50 + }, + { + "Hour": 27, + "Day": 17, + "Activity": 68 + }, + { + "Hour": 27, + "Day": 18, + "Activity": 2 + }, + { + "Hour": 27, + "Day": 19, + "Activity": 93 + }, + { + "Hour": 27, + "Day": 20, + "Activity": 22 + }, + { + "Hour": 27, + "Day": 21, + "Activity": 9 + }, + { + "Hour": 27, + "Day": 22, + "Activity": 76 + }, + { + "Hour": 27, + "Day": 23, + "Activity": 28 + }, + { + "Hour": 27, + "Day": 24, + "Activity": 77 + }, + { + "Hour": 27, + "Day": 25, + "Activity": 52 + }, + { + "Hour": 27, + "Day": 26, + "Activity": 60 + }, + { + "Hour": 27, + "Day": 27, + "Activity": 76 + }, + { + "Hour": 27, + "Day": 28, + "Activity": 6 + }, + { + "Hour": 27, + "Day": 29, + "Activity": 71 + }, + { + "Hour": 28, + "Day": 0, + "Activity": 52 + }, + { + "Hour": 28, + "Day": 1, + "Activity": 53 + }, + { + "Hour": 28, + "Day": 2, + "Activity": 92 + }, + { + "Hour": 28, + "Day": 3, + "Activity": 23 + }, + { + "Hour": 28, + "Day": 4, + "Activity": 89 + }, + { + "Hour": 28, + "Day": 5, + "Activity": 24 + }, + { + "Hour": 28, + "Day": 6, + "Activity": 43 + }, + { + "Hour": 28, + "Day": 7, + "Activity": 96 + }, + { + "Hour": 28, + "Day": 8, + "Activity": 16 + }, + { + "Hour": 28, + "Day": 9, + "Activity": 9 + }, + { + "Hour": 28, + "Day": 10, + "Activity": 51 + }, + { + "Hour": 28, + "Day": 11, + "Activity": 29 + }, + { + "Hour": 28, + "Day": 12, + "Activity": 65 + }, + { + "Hour": 28, + "Day": 13, + "Activity": 69 + }, + { + "Hour": 28, + "Day": 14, + "Activity": 64 + }, + { + "Hour": 28, + "Day": 15, + "Activity": 30 + }, + { + "Hour": 28, + "Day": 16, + "Activity": 2 + }, + { + "Hour": 28, + "Day": 17, + "Activity": 46 + }, + { + "Hour": 28, + "Day": 18, + "Activity": 74 + }, + { + "Hour": 28, + "Day": 19, + "Activity": 34 + }, + { + "Hour": 28, + "Day": 20, + "Activity": 86 + }, + { + "Hour": 28, + "Day": 21, + "Activity": 54 + }, + { + "Hour": 28, + "Day": 22, + "Activity": 40 + }, + { + "Hour": 28, + "Day": 23, + "Activity": 90 + }, + { + "Hour": 28, + "Day": 24, + "Activity": 23 + }, + { + "Hour": 28, + "Day": 25, + "Activity": 54 + }, + { + "Hour": 28, + "Day": 26, + "Activity": 35 + }, + { + "Hour": 28, + "Day": 27, + "Activity": 94 + }, + { + "Hour": 28, + "Day": 28, + "Activity": 22 + }, + { + "Hour": 28, + "Day": 29, + "Activity": 51 + }, + { + "Hour": 29, + "Day": 0, + "Activity": 76 + }, + { + "Hour": 29, + "Day": 1, + "Activity": 44 + }, + { + "Hour": 29, + "Day": 2, + "Activity": 7 + }, + { + "Hour": 29, + "Day": 3, + "Activity": 71 + }, + { + "Hour": 29, + "Day": 4, + "Activity": 59 + }, + { + "Hour": 29, + "Day": 5, + "Activity": 19 + }, + { + "Hour": 29, + "Day": 6, + "Activity": 98 + }, + { + "Hour": 29, + "Day": 7, + "Activity": 33 + }, + { + "Hour": 29, + "Day": 8, + "Activity": 88 + }, + { + "Hour": 29, + "Day": 9, + "Activity": 62 + }, + { + "Hour": 29, + "Day": 10, + "Activity": 0 + }, + { + "Hour": 29, + "Day": 11, + "Activity": 19 + }, + { + "Hour": 29, + "Day": 12, + "Activity": 27 + }, + { + "Hour": 29, + "Day": 13, + "Activity": 46 + }, + { + "Hour": 29, + "Day": 14, + "Activity": 9 + }, + { + "Hour": 29, + "Day": 15, + "Activity": 98 + }, + { + "Hour": 29, + "Day": 16, + "Activity": 5 + }, + { + "Hour": 29, + "Day": 17, + "Activity": 95 + }, + { + "Hour": 29, + "Day": 18, + "Activity": 45 + }, + { + "Hour": 29, + "Day": 19, + "Activity": 61 + }, + { + "Hour": 29, + "Day": 20, + "Activity": 71 + }, + { + "Hour": 29, + "Day": 21, + "Activity": 36 + }, + { + "Hour": 29, + "Day": 22, + "Activity": 2 + }, + { + "Hour": 29, + "Day": 23, + "Activity": 49 + }, + { + "Hour": 29, + "Day": 24, + "Activity": 36 + }, + { + "Hour": 29, + "Day": 25, + "Activity": 9 + }, + { + "Hour": 29, + "Day": 26, + "Activity": 48 + }, + { + "Hour": 29, + "Day": 27, + "Activity": 100 + }, + { + "Hour": 29, + "Day": 28, + "Activity": 20 + }, + { + "Hour": 29, + "Day": 29, + "Activity": 62 + }, + { + "Hour": 30, + "Day": 0, + "Activity": 34 + }, + { + "Hour": 30, + "Day": 1, + "Activity": 82 + }, + { + "Hour": 30, + "Day": 2, + "Activity": 78 + }, + { + "Hour": 30, + "Day": 3, + "Activity": 64 + }, + { + "Hour": 30, + "Day": 4, + "Activity": 67 + }, + { + "Hour": 30, + "Day": 5, + "Activity": 80 + }, + { + "Hour": 30, + "Day": 6, + "Activity": 2 + }, + { + "Hour": 30, + "Day": 7, + "Activity": 3 + }, + { + "Hour": 30, + "Day": 8, + "Activity": 38 + }, + { + "Hour": 30, + "Day": 9, + "Activity": 27 + }, + { + "Hour": 30, + "Day": 10, + "Activity": 17 + }, + { + "Hour": 30, + "Day": 11, + "Activity": 13 + }, + { + "Hour": 30, + "Day": 12, + "Activity": 70 + }, + { + "Hour": 30, + "Day": 13, + "Activity": 54 + }, + { + "Hour": 30, + "Day": 14, + "Activity": 42 + }, + { + "Hour": 30, + "Day": 15, + "Activity": 71 + }, + { + "Hour": 30, + "Day": 16, + "Activity": 22 + }, + { + "Hour": 30, + "Day": 17, + "Activity": 98 + }, + { + "Hour": 30, + "Day": 18, + "Activity": 23 + }, + { + "Hour": 30, + "Day": 19, + "Activity": 75 + }, + { + "Hour": 30, + "Day": 20, + "Activity": 31 + }, + { + "Hour": 30, + "Day": 21, + "Activity": 21 + }, + { + "Hour": 30, + "Day": 22, + "Activity": 90 + }, + { + "Hour": 30, + "Day": 23, + "Activity": 62 + }, + { + "Hour": 30, + "Day": 24, + "Activity": 21 + }, + { + "Hour": 30, + "Day": 25, + "Activity": 8 + }, + { + "Hour": 30, + "Day": 26, + "Activity": 50 + }, + { + "Hour": 30, + "Day": 27, + "Activity": 47 + }, + { + "Hour": 30, + "Day": 28, + "Activity": 61 + }, + { + "Hour": 30, + "Day": 29, + "Activity": 67 + }, + { + "Hour": 31, + "Day": 0, + "Activity": 86 + }, + { + "Hour": 31, + "Day": 1, + "Activity": 25 + }, + { + "Hour": 31, + "Day": 2, + "Activity": 30 + }, + { + "Hour": 31, + "Day": 3, + "Activity": 58 + }, + { + "Hour": 31, + "Day": 4, + "Activity": 86 + }, + { + "Hour": 31, + "Day": 5, + "Activity": 22 + }, + { + "Hour": 31, + "Day": 6, + "Activity": 56 + }, + { + "Hour": 31, + "Day": 7, + "Activity": 15 + }, + { + "Hour": 31, + "Day": 8, + "Activity": 63 + }, + { + "Hour": 31, + "Day": 9, + "Activity": 48 + }, + { + "Hour": 31, + "Day": 10, + "Activity": 54 + }, + { + "Hour": 31, + "Day": 11, + "Activity": 72 + }, + { + "Hour": 31, + "Day": 12, + "Activity": 58 + }, + { + "Hour": 31, + "Day": 13, + "Activity": 70 + }, + { + "Hour": 31, + "Day": 14, + "Activity": 50 + }, + { + "Hour": 31, + "Day": 15, + "Activity": 24 + }, + { + "Hour": 31, + "Day": 16, + "Activity": 20 + }, + { + "Hour": 31, + "Day": 17, + "Activity": 3 + }, + { + "Hour": 31, + "Day": 18, + "Activity": 69 + }, + { + "Hour": 31, + "Day": 19, + "Activity": 70 + }, + { + "Hour": 31, + "Day": 20, + "Activity": 55 + }, + { + "Hour": 31, + "Day": 21, + "Activity": 52 + }, + { + "Hour": 31, + "Day": 22, + "Activity": 31 + }, + { + "Hour": 31, + "Day": 23, + "Activity": 93 + }, + { + "Hour": 31, + "Day": 24, + "Activity": 94 + }, + { + "Hour": 31, + "Day": 25, + "Activity": 53 + }, + { + "Hour": 31, + "Day": 26, + "Activity": 23 + }, + { + "Hour": 31, + "Day": 27, + "Activity": 20 + }, + { + "Hour": 31, + "Day": 28, + "Activity": 53 + }, + { + "Hour": 31, + "Day": 29, + "Activity": 45 + }, + { + "Hour": 32, + "Day": 0, + "Activity": 79 + }, + { + "Hour": 32, + "Day": 1, + "Activity": 35 + }, + { + "Hour": 32, + "Day": 2, + "Activity": 75 + }, + { + "Hour": 32, + "Day": 3, + "Activity": 55 + }, + { + "Hour": 32, + "Day": 4, + "Activity": 50 + }, + { + "Hour": 32, + "Day": 5, + "Activity": 72 + }, + { + "Hour": 32, + "Day": 6, + "Activity": 15 + }, + { + "Hour": 32, + "Day": 7, + "Activity": 4 + }, + { + "Hour": 32, + "Day": 8, + "Activity": 61 + }, + { + "Hour": 32, + "Day": 9, + "Activity": 35 + }, + { + "Hour": 32, + "Day": 10, + "Activity": 28 + }, + { + "Hour": 32, + "Day": 11, + "Activity": 78 + }, + { + "Hour": 32, + "Day": 12, + "Activity": 99 + }, + { + "Hour": 32, + "Day": 13, + "Activity": 48 + }, + { + "Hour": 32, + "Day": 14, + "Activity": 83 + }, + { + "Hour": 32, + "Day": 15, + "Activity": 60 + }, + { + "Hour": 32, + "Day": 16, + "Activity": 18 + }, + { + "Hour": 32, + "Day": 17, + "Activity": 48 + }, + { + "Hour": 32, + "Day": 18, + "Activity": 59 + }, + { + "Hour": 32, + "Day": 19, + "Activity": 58 + }, + { + "Hour": 32, + "Day": 20, + "Activity": 5 + }, + { + "Hour": 32, + "Day": 21, + "Activity": 55 + }, + { + "Hour": 32, + "Day": 22, + "Activity": 85 + }, + { + "Hour": 32, + "Day": 23, + "Activity": 68 + }, + { + "Hour": 32, + "Day": 24, + "Activity": 38 + }, + { + "Hour": 32, + "Day": 25, + "Activity": 26 + }, + { + "Hour": 32, + "Day": 26, + "Activity": 68 + }, + { + "Hour": 32, + "Day": 27, + "Activity": 92 + }, + { + "Hour": 32, + "Day": 28, + "Activity": 62 + }, + { + "Hour": 32, + "Day": 29, + "Activity": 82 + }, + { + "Hour": 33, + "Day": 0, + "Activity": 14 + }, + { + "Hour": 33, + "Day": 1, + "Activity": 99 + }, + { + "Hour": 33, + "Day": 2, + "Activity": 53 + }, + { + "Hour": 33, + "Day": 3, + "Activity": 11 + }, + { + "Hour": 33, + "Day": 4, + "Activity": 33 + }, + { + "Hour": 33, + "Day": 5, + "Activity": 98 + }, + { + "Hour": 33, + "Day": 6, + "Activity": 77 + }, + { + "Hour": 33, + "Day": 7, + "Activity": 59 + }, + { + "Hour": 33, + "Day": 8, + "Activity": 37 + }, + { + "Hour": 33, + "Day": 9, + "Activity": 9 + }, + { + "Hour": 33, + "Day": 10, + "Activity": 11 + }, + { + "Hour": 33, + "Day": 11, + "Activity": 30 + }, + { + "Hour": 33, + "Day": 12, + "Activity": 55 + }, + { + "Hour": 33, + "Day": 13, + "Activity": 60 + }, + { + "Hour": 33, + "Day": 14, + "Activity": 78 + }, + { + "Hour": 33, + "Day": 15, + "Activity": 96 + }, + { + "Hour": 33, + "Day": 16, + "Activity": 54 + }, + { + "Hour": 33, + "Day": 17, + "Activity": 66 + }, + { + "Hour": 33, + "Day": 18, + "Activity": 2 + }, + { + "Hour": 33, + "Day": 19, + "Activity": 14 + }, + { + "Hour": 33, + "Day": 20, + "Activity": 2 + }, + { + "Hour": 33, + "Day": 21, + "Activity": 39 + }, + { + "Hour": 33, + "Day": 22, + "Activity": 76 + }, + { + "Hour": 33, + "Day": 23, + "Activity": 96 + }, + { + "Hour": 33, + "Day": 24, + "Activity": 23 + }, + { + "Hour": 33, + "Day": 25, + "Activity": 31 + }, + { + "Hour": 33, + "Day": 26, + "Activity": 6 + }, + { + "Hour": 33, + "Day": 27, + "Activity": 26 + }, + { + "Hour": 33, + "Day": 28, + "Activity": 3 + }, + { + "Hour": 33, + "Day": 29, + "Activity": 28 + }, + { + "Hour": 34, + "Day": 0, + "Activity": 93 + }, + { + "Hour": 34, + "Day": 1, + "Activity": 17 + }, + { + "Hour": 34, + "Day": 2, + "Activity": 92 + }, + { + "Hour": 34, + "Day": 3, + "Activity": 95 + }, + { + "Hour": 34, + "Day": 4, + "Activity": 5 + }, + { + "Hour": 34, + "Day": 5, + "Activity": 57 + }, + { + "Hour": 34, + "Day": 6, + "Activity": 8 + }, + { + "Hour": 34, + "Day": 7, + "Activity": 13 + }, + { + "Hour": 34, + "Day": 8, + "Activity": 98 + }, + { + "Hour": 34, + "Day": 9, + "Activity": 26 + }, + { + "Hour": 34, + "Day": 10, + "Activity": 48 + }, + { + "Hour": 34, + "Day": 11, + "Activity": 31 + }, + { + "Hour": 34, + "Day": 12, + "Activity": 95 + }, + { + "Hour": 34, + "Day": 13, + "Activity": 21 + }, + { + "Hour": 34, + "Day": 14, + "Activity": 52 + }, + { + "Hour": 34, + "Day": 15, + "Activity": 65 + }, + { + "Hour": 34, + "Day": 16, + "Activity": 89 + }, + { + "Hour": 34, + "Day": 17, + "Activity": 18 + }, + { + "Hour": 34, + "Day": 18, + "Activity": 73 + }, + { + "Hour": 34, + "Day": 19, + "Activity": 73 + }, + { + "Hour": 34, + "Day": 20, + "Activity": 99 + }, + { + "Hour": 34, + "Day": 21, + "Activity": 78 + }, + { + "Hour": 34, + "Day": 22, + "Activity": 90 + }, + { + "Hour": 34, + "Day": 23, + "Activity": 80 + }, + { + "Hour": 34, + "Day": 24, + "Activity": 71 + }, + { + "Hour": 34, + "Day": 25, + "Activity": 3 + }, + { + "Hour": 34, + "Day": 26, + "Activity": 10 + }, + { + "Hour": 34, + "Day": 27, + "Activity": 3 + }, + { + "Hour": 34, + "Day": 28, + "Activity": 33 + }, + { + "Hour": 34, + "Day": 29, + "Activity": 95 + }, + { + "Hour": 35, + "Day": 0, + "Activity": 20 + }, + { + "Hour": 35, + "Day": 1, + "Activity": 10 + }, + { + "Hour": 35, + "Day": 2, + "Activity": 65 + }, + { + "Hour": 35, + "Day": 3, + "Activity": 66 + }, + { + "Hour": 35, + "Day": 4, + "Activity": 37 + }, + { + "Hour": 35, + "Day": 5, + "Activity": 69 + }, + { + "Hour": 35, + "Day": 6, + "Activity": 16 + }, + { + "Hour": 35, + "Day": 7, + "Activity": 58 + }, + { + "Hour": 35, + "Day": 8, + "Activity": 77 + }, + { + "Hour": 35, + "Day": 9, + "Activity": 56 + }, + { + "Hour": 35, + "Day": 10, + "Activity": 8 + }, + { + "Hour": 35, + "Day": 11, + "Activity": 29 + }, + { + "Hour": 35, + "Day": 12, + "Activity": 77 + }, + { + "Hour": 35, + "Day": 13, + "Activity": 21 + }, + { + "Hour": 35, + "Day": 14, + "Activity": 98 + }, + { + "Hour": 35, + "Day": 15, + "Activity": 3 + }, + { + "Hour": 35, + "Day": 16, + "Activity": 30 + }, + { + "Hour": 35, + "Day": 17, + "Activity": 30 + }, + { + "Hour": 35, + "Day": 18, + "Activity": 22 + }, + { + "Hour": 35, + "Day": 19, + "Activity": 96 + }, + { + "Hour": 35, + "Day": 20, + "Activity": 83 + }, + { + "Hour": 35, + "Day": 21, + "Activity": 65 + }, + { + "Hour": 35, + "Day": 22, + "Activity": 93 + }, + { + "Hour": 35, + "Day": 23, + "Activity": 2 + }, + { + "Hour": 35, + "Day": 24, + "Activity": 41 + }, + { + "Hour": 35, + "Day": 25, + "Activity": 26 + }, + { + "Hour": 35, + "Day": 26, + "Activity": 48 + }, + { + "Hour": 35, + "Day": 27, + "Activity": 46 + }, + { + "Hour": 35, + "Day": 28, + "Activity": 62 + }, + { + "Hour": 35, + "Day": 29, + "Activity": 34 + }, + { + "Hour": 36, + "Day": 0, + "Activity": 76 + }, + { + "Hour": 36, + "Day": 1, + "Activity": 97 + }, + { + "Hour": 36, + "Day": 2, + "Activity": 66 + }, + { + "Hour": 36, + "Day": 3, + "Activity": 12 + }, + { + "Hour": 36, + "Day": 4, + "Activity": 28 + }, + { + "Hour": 36, + "Day": 5, + "Activity": 9 + }, + { + "Hour": 36, + "Day": 6, + "Activity": 56 + }, + { + "Hour": 36, + "Day": 7, + "Activity": 10 + }, + { + "Hour": 36, + "Day": 8, + "Activity": 76 + }, + { + "Hour": 36, + "Day": 9, + "Activity": 13 + }, + { + "Hour": 36, + "Day": 10, + "Activity": 86 + }, + { + "Hour": 36, + "Day": 11, + "Activity": 59 + }, + { + "Hour": 36, + "Day": 12, + "Activity": 58 + }, + { + "Hour": 36, + "Day": 13, + "Activity": 74 + }, + { + "Hour": 36, + "Day": 14, + "Activity": 61 + }, + { + "Hour": 36, + "Day": 15, + "Activity": 60 + }, + { + "Hour": 36, + "Day": 16, + "Activity": 60 + }, + { + "Hour": 36, + "Day": 17, + "Activity": 86 + }, + { + "Hour": 36, + "Day": 18, + "Activity": 18 + }, + { + "Hour": 36, + "Day": 19, + "Activity": 15 + }, + { + "Hour": 36, + "Day": 20, + "Activity": 79 + }, + { + "Hour": 36, + "Day": 21, + "Activity": 92 + }, + { + "Hour": 36, + "Day": 22, + "Activity": 2 + }, + { + "Hour": 36, + "Day": 23, + "Activity": 23 + }, + { + "Hour": 36, + "Day": 24, + "Activity": 56 + }, + { + "Hour": 36, + "Day": 25, + "Activity": 54 + }, + { + "Hour": 36, + "Day": 26, + "Activity": 18 + }, + { + "Hour": 36, + "Day": 27, + "Activity": 11 + }, + { + "Hour": 36, + "Day": 28, + "Activity": 47 + }, + { + "Hour": 36, + "Day": 29, + "Activity": 85 + }, + { + "Hour": 37, + "Day": 0, + "Activity": 27 + }, + { + "Hour": 37, + "Day": 1, + "Activity": 88 + }, + { + "Hour": 37, + "Day": 2, + "Activity": 79 + }, + { + "Hour": 37, + "Day": 3, + "Activity": 91 + }, + { + "Hour": 37, + "Day": 4, + "Activity": 88 + }, + { + "Hour": 37, + "Day": 5, + "Activity": 50 + }, + { + "Hour": 37, + "Day": 6, + "Activity": 23 + }, + { + "Hour": 37, + "Day": 7, + "Activity": 75 + }, + { + "Hour": 37, + "Day": 8, + "Activity": 25 + }, + { + "Hour": 37, + "Day": 9, + "Activity": 76 + }, + { + "Hour": 37, + "Day": 10, + "Activity": 94 + }, + { + "Hour": 37, + "Day": 11, + "Activity": 73 + }, + { + "Hour": 37, + "Day": 12, + "Activity": 90 + }, + { + "Hour": 37, + "Day": 13, + "Activity": 0 + }, + { + "Hour": 37, + "Day": 14, + "Activity": 94 + }, + { + "Hour": 37, + "Day": 15, + "Activity": 19 + }, + { + "Hour": 37, + "Day": 16, + "Activity": 56 + }, + { + "Hour": 37, + "Day": 17, + "Activity": 0 + }, + { + "Hour": 37, + "Day": 18, + "Activity": 52 + }, + { + "Hour": 37, + "Day": 19, + "Activity": 87 + }, + { + "Hour": 37, + "Day": 20, + "Activity": 16 + }, + { + "Hour": 37, + "Day": 21, + "Activity": 16 + }, + { + "Hour": 37, + "Day": 22, + "Activity": 47 + }, + { + "Hour": 37, + "Day": 23, + "Activity": 35 + }, + { + "Hour": 37, + "Day": 24, + "Activity": 55 + }, + { + "Hour": 37, + "Day": 25, + "Activity": 86 + }, + { + "Hour": 37, + "Day": 26, + "Activity": 90 + }, + { + "Hour": 37, + "Day": 27, + "Activity": 30 + }, + { + "Hour": 37, + "Day": 28, + "Activity": 80 + }, + { + "Hour": 37, + "Day": 29, + "Activity": 30 + }, + { + "Hour": 38, + "Day": 0, + "Activity": 80 + }, + { + "Hour": 38, + "Day": 1, + "Activity": 30 + }, + { + "Hour": 38, + "Day": 2, + "Activity": 40 + }, + { + "Hour": 38, + "Day": 3, + "Activity": 61 + }, + { + "Hour": 38, + "Day": 4, + "Activity": 83 + }, + { + "Hour": 38, + "Day": 5, + "Activity": 50 + }, + { + "Hour": 38, + "Day": 6, + "Activity": 96 + }, + { + "Hour": 38, + "Day": 7, + "Activity": 15 + }, + { + "Hour": 38, + "Day": 8, + "Activity": 64 + }, + { + "Hour": 38, + "Day": 9, + "Activity": 94 + }, + { + "Hour": 38, + "Day": 10, + "Activity": 90 + }, + { + "Hour": 38, + "Day": 11, + "Activity": 36 + }, + { + "Hour": 38, + "Day": 12, + "Activity": 5 + }, + { + "Hour": 38, + "Day": 13, + "Activity": 96 + }, + { + "Hour": 38, + "Day": 14, + "Activity": 88 + }, + { + "Hour": 38, + "Day": 15, + "Activity": 10 + }, + { + "Hour": 38, + "Day": 16, + "Activity": 82 + }, + { + "Hour": 38, + "Day": 17, + "Activity": 78 + }, + { + "Hour": 38, + "Day": 18, + "Activity": 33 + }, + { + "Hour": 38, + "Day": 19, + "Activity": 60 + }, + { + "Hour": 38, + "Day": 20, + "Activity": 22 + }, + { + "Hour": 38, + "Day": 21, + "Activity": 80 + }, + { + "Hour": 38, + "Day": 22, + "Activity": 88 + }, + { + "Hour": 38, + "Day": 23, + "Activity": 63 + }, + { + "Hour": 38, + "Day": 24, + "Activity": 92 + }, + { + "Hour": 38, + "Day": 25, + "Activity": 50 + }, + { + "Hour": 38, + "Day": 26, + "Activity": 24 + }, + { + "Hour": 38, + "Day": 27, + "Activity": 57 + }, + { + "Hour": 38, + "Day": 28, + "Activity": 51 + }, + { + "Hour": 38, + "Day": 29, + "Activity": 64 + }, + { + "Hour": 39, + "Day": 0, + "Activity": 97 + }, + { + "Hour": 39, + "Day": 1, + "Activity": 63 + }, + { + "Hour": 39, + "Day": 2, + "Activity": 97 + }, + { + "Hour": 39, + "Day": 3, + "Activity": 32 + }, + { + "Hour": 39, + "Day": 4, + "Activity": 59 + }, + { + "Hour": 39, + "Day": 5, + "Activity": 43 + }, + { + "Hour": 39, + "Day": 6, + "Activity": 88 + }, + { + "Hour": 39, + "Day": 7, + "Activity": 31 + }, + { + "Hour": 39, + "Day": 8, + "Activity": 54 + }, + { + "Hour": 39, + "Day": 9, + "Activity": 15 + }, + { + "Hour": 39, + "Day": 10, + "Activity": 53 + }, + { + "Hour": 39, + "Day": 11, + "Activity": 47 + }, + { + "Hour": 39, + "Day": 12, + "Activity": 30 + }, + { + "Hour": 39, + "Day": 13, + "Activity": 14 + }, + { + "Hour": 39, + "Day": 14, + "Activity": 90 + }, + { + "Hour": 39, + "Day": 15, + "Activity": 22 + }, + { + "Hour": 39, + "Day": 16, + "Activity": 93 + }, + { + "Hour": 39, + "Day": 17, + "Activity": 10 + }, + { + "Hour": 39, + "Day": 18, + "Activity": 81 + }, + { + "Hour": 39, + "Day": 19, + "Activity": 27 + }, + { + "Hour": 39, + "Day": 20, + "Activity": 96 + }, + { + "Hour": 39, + "Day": 21, + "Activity": 0 + }, + { + "Hour": 39, + "Day": 22, + "Activity": 57 + }, + { + "Hour": 39, + "Day": 23, + "Activity": 46 + }, + { + "Hour": 39, + "Day": 24, + "Activity": 22 + }, + { + "Hour": 39, + "Day": 25, + "Activity": 7 + }, + { + "Hour": 39, + "Day": 26, + "Activity": 44 + }, + { + "Hour": 39, + "Day": 27, + "Activity": 77 + }, + { + "Hour": 39, + "Day": 28, + "Activity": 25 + }, + { + "Hour": 39, + "Day": 29, + "Activity": 96 + }, + { + "Hour": 40, + "Day": 0, + "Activity": 100 + }, + { + "Hour": 40, + "Day": 1, + "Activity": 55 + }, + { + "Hour": 40, + "Day": 2, + "Activity": 81 + }, + { + "Hour": 40, + "Day": 3, + "Activity": 89 + }, + { + "Hour": 40, + "Day": 4, + "Activity": 29 + }, + { + "Hour": 40, + "Day": 5, + "Activity": 50 + }, + { + "Hour": 40, + "Day": 6, + "Activity": 37 + }, + { + "Hour": 40, + "Day": 7, + "Activity": 41 + }, + { + "Hour": 40, + "Day": 8, + "Activity": 85 + }, + { + "Hour": 40, + "Day": 9, + "Activity": 81 + }, + { + "Hour": 40, + "Day": 10, + "Activity": 81 + }, + { + "Hour": 40, + "Day": 11, + "Activity": 88 + }, + { + "Hour": 40, + "Day": 12, + "Activity": 85 + }, + { + "Hour": 40, + "Day": 13, + "Activity": 1 + }, + { + "Hour": 40, + "Day": 14, + "Activity": 82 + }, + { + "Hour": 40, + "Day": 15, + "Activity": 23 + }, + { + "Hour": 40, + "Day": 16, + "Activity": 39 + }, + { + "Hour": 40, + "Day": 17, + "Activity": 34 + }, + { + "Hour": 40, + "Day": 18, + "Activity": 51 + }, + { + "Hour": 40, + "Day": 19, + "Activity": 89 + }, + { + "Hour": 40, + "Day": 20, + "Activity": 15 + }, + { + "Hour": 40, + "Day": 21, + "Activity": 81 + }, + { + "Hour": 40, + "Day": 22, + "Activity": 18 + }, + { + "Hour": 40, + "Day": 23, + "Activity": 35 + }, + { + "Hour": 40, + "Day": 24, + "Activity": 68 + }, + { + "Hour": 40, + "Day": 25, + "Activity": 32 + }, + { + "Hour": 40, + "Day": 26, + "Activity": 13 + }, + { + "Hour": 40, + "Day": 27, + "Activity": 4 + }, + { + "Hour": 40, + "Day": 28, + "Activity": 70 + }, + { + "Hour": 40, + "Day": 29, + "Activity": 4 + }, + { + "Hour": 41, + "Day": 0, + "Activity": 95 + }, + { + "Hour": 41, + "Day": 1, + "Activity": 39 + }, + { + "Hour": 41, + "Day": 2, + "Activity": 51 + }, + { + "Hour": 41, + "Day": 3, + "Activity": 73 + }, + { + "Hour": 41, + "Day": 4, + "Activity": 6 + }, + { + "Hour": 41, + "Day": 5, + "Activity": 25 + }, + { + "Hour": 41, + "Day": 6, + "Activity": 41 + }, + { + "Hour": 41, + "Day": 7, + "Activity": 96 + }, + { + "Hour": 41, + "Day": 8, + "Activity": 19 + }, + { + "Hour": 41, + "Day": 9, + "Activity": 83 + }, + { + "Hour": 41, + "Day": 10, + "Activity": 36 + }, + { + "Hour": 41, + "Day": 11, + "Activity": 74 + }, + { + "Hour": 41, + "Day": 12, + "Activity": 8 + }, + { + "Hour": 41, + "Day": 13, + "Activity": 70 + }, + { + "Hour": 41, + "Day": 14, + "Activity": 36 + }, + { + "Hour": 41, + "Day": 15, + "Activity": 92 + }, + { + "Hour": 41, + "Day": 16, + "Activity": 22 + }, + { + "Hour": 41, + "Day": 17, + "Activity": 19 + }, + { + "Hour": 41, + "Day": 18, + "Activity": 99 + }, + { + "Hour": 41, + "Day": 19, + "Activity": 82 + }, + { + "Hour": 41, + "Day": 20, + "Activity": 14 + }, + { + "Hour": 41, + "Day": 21, + "Activity": 30 + }, + { + "Hour": 41, + "Day": 22, + "Activity": 56 + }, + { + "Hour": 41, + "Day": 23, + "Activity": 8 + }, + { + "Hour": 41, + "Day": 24, + "Activity": 40 + }, + { + "Hour": 41, + "Day": 25, + "Activity": 63 + }, + { + "Hour": 41, + "Day": 26, + "Activity": 58 + }, + { + "Hour": 41, + "Day": 27, + "Activity": 99 + }, + { + "Hour": 41, + "Day": 28, + "Activity": 94 + }, + { + "Hour": 41, + "Day": 29, + "Activity": 93 + }, + { + "Hour": 42, + "Day": 0, + "Activity": 27 + }, + { + "Hour": 42, + "Day": 1, + "Activity": 12 + }, + { + "Hour": 42, + "Day": 2, + "Activity": 67 + }, + { + "Hour": 42, + "Day": 3, + "Activity": 7 + }, + { + "Hour": 42, + "Day": 4, + "Activity": 9 + }, + { + "Hour": 42, + "Day": 5, + "Activity": 76 + }, + { + "Hour": 42, + "Day": 6, + "Activity": 35 + }, + { + "Hour": 42, + "Day": 7, + "Activity": 62 + }, + { + "Hour": 42, + "Day": 8, + "Activity": 49 + }, + { + "Hour": 42, + "Day": 9, + "Activity": 67 + }, + { + "Hour": 42, + "Day": 10, + "Activity": 55 + }, + { + "Hour": 42, + "Day": 11, + "Activity": 99 + }, + { + "Hour": 42, + "Day": 12, + "Activity": 76 + }, + { + "Hour": 42, + "Day": 13, + "Activity": 26 + }, + { + "Hour": 42, + "Day": 14, + "Activity": 59 + }, + { + "Hour": 42, + "Day": 15, + "Activity": 65 + }, + { + "Hour": 42, + "Day": 16, + "Activity": 14 + }, + { + "Hour": 42, + "Day": 17, + "Activity": 16 + }, + { + "Hour": 42, + "Day": 18, + "Activity": 13 + }, + { + "Hour": 42, + "Day": 19, + "Activity": 17 + }, + { + "Hour": 42, + "Day": 20, + "Activity": 14 + }, + { + "Hour": 42, + "Day": 21, + "Activity": 60 + }, + { + "Hour": 42, + "Day": 22, + "Activity": 81 + }, + { + "Hour": 42, + "Day": 23, + "Activity": 67 + }, + { + "Hour": 42, + "Day": 24, + "Activity": 59 + }, + { + "Hour": 42, + "Day": 25, + "Activity": 67 + }, + { + "Hour": 42, + "Day": 26, + "Activity": 48 + }, + { + "Hour": 42, + "Day": 27, + "Activity": 98 + }, + { + "Hour": 42, + "Day": 28, + "Activity": 10 + }, + { + "Hour": 42, + "Day": 29, + "Activity": 44 + }, + { + "Hour": 43, + "Day": 0, + "Activity": 81 + }, + { + "Hour": 43, + "Day": 1, + "Activity": 70 + }, + { + "Hour": 43, + "Day": 2, + "Activity": 33 + }, + { + "Hour": 43, + "Day": 3, + "Activity": 12 + }, + { + "Hour": 43, + "Day": 4, + "Activity": 13 + }, + { + "Hour": 43, + "Day": 5, + "Activity": 41 + }, + { + "Hour": 43, + "Day": 6, + "Activity": 7 + }, + { + "Hour": 43, + "Day": 7, + "Activity": 32 + }, + { + "Hour": 43, + "Day": 8, + "Activity": 38 + }, + { + "Hour": 43, + "Day": 9, + "Activity": 60 + }, + { + "Hour": 43, + "Day": 10, + "Activity": 11 + }, + { + "Hour": 43, + "Day": 11, + "Activity": 37 + }, + { + "Hour": 43, + "Day": 12, + "Activity": 79 + }, + { + "Hour": 43, + "Day": 13, + "Activity": 68 + }, + { + "Hour": 43, + "Day": 14, + "Activity": 99 + }, + { + "Hour": 43, + "Day": 15, + "Activity": 24 + }, + { + "Hour": 43, + "Day": 16, + "Activity": 2 + }, + { + "Hour": 43, + "Day": 17, + "Activity": 47 + }, + { + "Hour": 43, + "Day": 18, + "Activity": 88 + }, + { + "Hour": 43, + "Day": 19, + "Activity": 91 + }, + { + "Hour": 43, + "Day": 20, + "Activity": 15 + }, + { + "Hour": 43, + "Day": 21, + "Activity": 8 + }, + { + "Hour": 43, + "Day": 22, + "Activity": 3 + }, + { + "Hour": 43, + "Day": 23, + "Activity": 14 + }, + { + "Hour": 43, + "Day": 24, + "Activity": 23 + }, + { + "Hour": 43, + "Day": 25, + "Activity": 74 + }, + { + "Hour": 43, + "Day": 26, + "Activity": 70 + }, + { + "Hour": 43, + "Day": 27, + "Activity": 48 + }, + { + "Hour": 43, + "Day": 28, + "Activity": 41 + }, + { + "Hour": 43, + "Day": 29, + "Activity": 82 + }, + { + "Hour": 44, + "Day": 0, + "Activity": 22 + }, + { + "Hour": 44, + "Day": 1, + "Activity": 56 + }, + { + "Hour": 44, + "Day": 2, + "Activity": 89 + }, + { + "Hour": 44, + "Day": 3, + "Activity": 2 + }, + { + "Hour": 44, + "Day": 4, + "Activity": 99 + }, + { + "Hour": 44, + "Day": 5, + "Activity": 18 + }, + { + "Hour": 44, + "Day": 6, + "Activity": 46 + }, + { + "Hour": 44, + "Day": 7, + "Activity": 96 + }, + { + "Hour": 44, + "Day": 8, + "Activity": 17 + }, + { + "Hour": 44, + "Day": 9, + "Activity": 4 + }, + { + "Hour": 44, + "Day": 10, + "Activity": 71 + }, + { + "Hour": 44, + "Day": 11, + "Activity": 54 + }, + { + "Hour": 44, + "Day": 12, + "Activity": 60 + }, + { + "Hour": 44, + "Day": 13, + "Activity": 57 + }, + { + "Hour": 44, + "Day": 14, + "Activity": 92 + }, + { + "Hour": 44, + "Day": 15, + "Activity": 75 + }, + { + "Hour": 44, + "Day": 16, + "Activity": 93 + }, + { + "Hour": 44, + "Day": 17, + "Activity": 2 + }, + { + "Hour": 44, + "Day": 18, + "Activity": 9 + }, + { + "Hour": 44, + "Day": 19, + "Activity": 18 + }, + { + "Hour": 44, + "Day": 20, + "Activity": 61 + }, + { + "Hour": 44, + "Day": 21, + "Activity": 70 + }, + { + "Hour": 44, + "Day": 22, + "Activity": 29 + }, + { + "Hour": 44, + "Day": 23, + "Activity": 52 + }, + { + "Hour": 44, + "Day": 24, + "Activity": 21 + }, + { + "Hour": 44, + "Day": 25, + "Activity": 30 + }, + { + "Hour": 44, + "Day": 26, + "Activity": 53 + }, + { + "Hour": 44, + "Day": 27, + "Activity": 45 + }, + { + "Hour": 44, + "Day": 28, + "Activity": 88 + }, + { + "Hour": 44, + "Day": 29, + "Activity": 67 + }, + { + "Hour": 45, + "Day": 0, + "Activity": 16 + }, + { + "Hour": 45, + "Day": 1, + "Activity": 23 + }, + { + "Hour": 45, + "Day": 2, + "Activity": 48 + }, + { + "Hour": 45, + "Day": 3, + "Activity": 21 + }, + { + "Hour": 45, + "Day": 4, + "Activity": 8 + }, + { + "Hour": 45, + "Day": 5, + "Activity": 52 + }, + { + "Hour": 45, + "Day": 6, + "Activity": 39 + }, + { + "Hour": 45, + "Day": 7, + "Activity": 69 + }, + { + "Hour": 45, + "Day": 8, + "Activity": 28 + }, + { + "Hour": 45, + "Day": 9, + "Activity": 23 + }, + { + "Hour": 45, + "Day": 10, + "Activity": 77 + }, + { + "Hour": 45, + "Day": 11, + "Activity": 18 + }, + { + "Hour": 45, + "Day": 12, + "Activity": 96 + }, + { + "Hour": 45, + "Day": 13, + "Activity": 78 + }, + { + "Hour": 45, + "Day": 14, + "Activity": 48 + }, + { + "Hour": 45, + "Day": 15, + "Activity": 24 + }, + { + "Hour": 45, + "Day": 16, + "Activity": 94 + }, + { + "Hour": 45, + "Day": 17, + "Activity": 15 + }, + { + "Hour": 45, + "Day": 18, + "Activity": 78 + }, + { + "Hour": 45, + "Day": 19, + "Activity": 77 + }, + { + "Hour": 45, + "Day": 20, + "Activity": 84 + }, + { + "Hour": 45, + "Day": 21, + "Activity": 7 + }, + { + "Hour": 45, + "Day": 22, + "Activity": 39 + }, + { + "Hour": 45, + "Day": 23, + "Activity": 93 + }, + { + "Hour": 45, + "Day": 24, + "Activity": 48 + }, + { + "Hour": 45, + "Day": 25, + "Activity": 31 + }, + { + "Hour": 45, + "Day": 26, + "Activity": 34 + }, + { + "Hour": 45, + "Day": 27, + "Activity": 67 + }, + { + "Hour": 45, + "Day": 28, + "Activity": 66 + }, + { + "Hour": 45, + "Day": 29, + "Activity": 12 + }, + { + "Hour": 46, + "Day": 0, + "Activity": 18 + }, + { + "Hour": 46, + "Day": 1, + "Activity": 60 + }, + { + "Hour": 46, + "Day": 2, + "Activity": 59 + }, + { + "Hour": 46, + "Day": 3, + "Activity": 21 + }, + { + "Hour": 46, + "Day": 4, + "Activity": 88 + }, + { + "Hour": 46, + "Day": 5, + "Activity": 53 + }, + { + "Hour": 46, + "Day": 6, + "Activity": 59 + }, + { + "Hour": 46, + "Day": 7, + "Activity": 64 + }, + { + "Hour": 46, + "Day": 8, + "Activity": 53 + }, + { + "Hour": 46, + "Day": 9, + "Activity": 72 + }, + { + "Hour": 46, + "Day": 10, + "Activity": 13 + }, + { + "Hour": 46, + "Day": 11, + "Activity": 78 + }, + { + "Hour": 46, + "Day": 12, + "Activity": 56 + }, + { + "Hour": 46, + "Day": 13, + "Activity": 16 + }, + { + "Hour": 46, + "Day": 14, + "Activity": 43 + }, + { + "Hour": 46, + "Day": 15, + "Activity": 8 + }, + { + "Hour": 46, + "Day": 16, + "Activity": 79 + }, + { + "Hour": 46, + "Day": 17, + "Activity": 69 + }, + { + "Hour": 46, + "Day": 18, + "Activity": 16 + }, + { + "Hour": 46, + "Day": 19, + "Activity": 84 + }, + { + "Hour": 46, + "Day": 20, + "Activity": 55 + }, + { + "Hour": 46, + "Day": 21, + "Activity": 11 + }, + { + "Hour": 46, + "Day": 22, + "Activity": 1 + }, + { + "Hour": 46, + "Day": 23, + "Activity": 56 + }, + { + "Hour": 46, + "Day": 24, + "Activity": 94 + }, + { + "Hour": 46, + "Day": 25, + "Activity": 36 + }, + { + "Hour": 46, + "Day": 26, + "Activity": 66 + }, + { + "Hour": 46, + "Day": 27, + "Activity": 31 + }, + { + "Hour": 46, + "Day": 28, + "Activity": 79 + }, + { + "Hour": 46, + "Day": 29, + "Activity": 83 + }, + { + "Hour": 47, + "Day": 0, + "Activity": 35 + }, + { + "Hour": 47, + "Day": 1, + "Activity": 43 + }, + { + "Hour": 47, + "Day": 2, + "Activity": 19 + }, + { + "Hour": 47, + "Day": 3, + "Activity": 76 + }, + { + "Hour": 47, + "Day": 4, + "Activity": 63 + }, + { + "Hour": 47, + "Day": 5, + "Activity": 70 + }, + { + "Hour": 47, + "Day": 6, + "Activity": 74 + }, + { + "Hour": 47, + "Day": 7, + "Activity": 22 + }, + { + "Hour": 47, + "Day": 8, + "Activity": 94 + }, + { + "Hour": 47, + "Day": 9, + "Activity": 48 + }, + { + "Hour": 47, + "Day": 10, + "Activity": 64 + }, + { + "Hour": 47, + "Day": 11, + "Activity": 20 + }, + { + "Hour": 47, + "Day": 12, + "Activity": 73 + }, + { + "Hour": 47, + "Day": 13, + "Activity": 28 + }, + { + "Hour": 47, + "Day": 14, + "Activity": 76 + }, + { + "Hour": 47, + "Day": 15, + "Activity": 51 + }, + { + "Hour": 47, + "Day": 16, + "Activity": 30 + }, + { + "Hour": 47, + "Day": 17, + "Activity": 61 + }, + { + "Hour": 47, + "Day": 18, + "Activity": 15 + }, + { + "Hour": 47, + "Day": 19, + "Activity": 82 + }, + { + "Hour": 47, + "Day": 20, + "Activity": 23 + }, + { + "Hour": 47, + "Day": 21, + "Activity": 81 + }, + { + "Hour": 47, + "Day": 22, + "Activity": 92 + }, + { + "Hour": 47, + "Day": 23, + "Activity": 100 + }, + { + "Hour": 47, + "Day": 24, + "Activity": 69 + }, + { + "Hour": 47, + "Day": 25, + "Activity": 85 + }, + { + "Hour": 47, + "Day": 26, + "Activity": 98 + }, + { + "Hour": 47, + "Day": 27, + "Activity": 15 + }, + { + "Hour": 47, + "Day": 28, + "Activity": 64 + }, + { + "Hour": 47, + "Day": 29, + "Activity": 52 + }, + { + "Hour": 48, + "Day": 0, + "Activity": 75 + }, + { + "Hour": 48, + "Day": 1, + "Activity": 76 + }, + { + "Hour": 48, + "Day": 2, + "Activity": 92 + }, + { + "Hour": 48, + "Day": 3, + "Activity": 16 + }, + { + "Hour": 48, + "Day": 4, + "Activity": 30 + }, + { + "Hour": 48, + "Day": 5, + "Activity": 83 + }, + { + "Hour": 48, + "Day": 6, + "Activity": 90 + }, + { + "Hour": 48, + "Day": 7, + "Activity": 23 + }, + { + "Hour": 48, + "Day": 8, + "Activity": 94 + }, + { + "Hour": 48, + "Day": 9, + "Activity": 68 + }, + { + "Hour": 48, + "Day": 10, + "Activity": 68 + }, + { + "Hour": 48, + "Day": 11, + "Activity": 49 + }, + { + "Hour": 48, + "Day": 12, + "Activity": 2 + }, + { + "Hour": 48, + "Day": 13, + "Activity": 58 + }, + { + "Hour": 48, + "Day": 14, + "Activity": 57 + }, + { + "Hour": 48, + "Day": 15, + "Activity": 70 + }, + { + "Hour": 48, + "Day": 16, + "Activity": 2 + }, + { + "Hour": 48, + "Day": 17, + "Activity": 33 + }, + { + "Hour": 48, + "Day": 18, + "Activity": 40 + }, + { + "Hour": 48, + "Day": 19, + "Activity": 81 + }, + { + "Hour": 48, + "Day": 20, + "Activity": 65 + }, + { + "Hour": 48, + "Day": 21, + "Activity": 60 + }, + { + "Hour": 48, + "Day": 22, + "Activity": 94 + }, + { + "Hour": 48, + "Day": 23, + "Activity": 17 + }, + { + "Hour": 48, + "Day": 24, + "Activity": 22 + }, + { + "Hour": 48, + "Day": 25, + "Activity": 72 + }, + { + "Hour": 48, + "Day": 26, + "Activity": 83 + }, + { + "Hour": 48, + "Day": 27, + "Activity": 57 + }, + { + "Hour": 48, + "Day": 28, + "Activity": 29 + }, + { + "Hour": 48, + "Day": 29, + "Activity": 47 + }, + { + "Hour": 49, + "Day": 0, + "Activity": 25 + }, + { + "Hour": 49, + "Day": 1, + "Activity": 74 + }, + { + "Hour": 49, + "Day": 2, + "Activity": 39 + }, + { + "Hour": 49, + "Day": 3, + "Activity": 49 + }, + { + "Hour": 49, + "Day": 4, + "Activity": 54 + }, + { + "Hour": 49, + "Day": 5, + "Activity": 20 + }, + { + "Hour": 49, + "Day": 6, + "Activity": 97 + }, + { + "Hour": 49, + "Day": 7, + "Activity": 78 + }, + { + "Hour": 49, + "Day": 8, + "Activity": 82 + }, + { + "Hour": 49, + "Day": 9, + "Activity": 33 + }, + { + "Hour": 49, + "Day": 10, + "Activity": 96 + }, + { + "Hour": 49, + "Day": 11, + "Activity": 89 + }, + { + "Hour": 49, + "Day": 12, + "Activity": 66 + }, + { + "Hour": 49, + "Day": 13, + "Activity": 22 + }, + { + "Hour": 49, + "Day": 14, + "Activity": 32 + }, + { + "Hour": 49, + "Day": 15, + "Activity": 85 + }, + { + "Hour": 49, + "Day": 16, + "Activity": 89 + }, + { + "Hour": 49, + "Day": 17, + "Activity": 61 + }, + { + "Hour": 49, + "Day": 18, + "Activity": 67 + }, + { + "Hour": 49, + "Day": 19, + "Activity": 41 + }, + { + "Hour": 49, + "Day": 20, + "Activity": 94 + }, + { + "Hour": 49, + "Day": 21, + "Activity": 43 + }, + { + "Hour": 49, + "Day": 22, + "Activity": 59 + }, + { + "Hour": 49, + "Day": 23, + "Activity": 65 + }, + { + "Hour": 49, + "Day": 24, + "Activity": 22 + }, + { + "Hour": 49, + "Day": 25, + "Activity": 25 + }, + { + "Hour": 49, + "Day": 26, + "Activity": 3 + }, + { + "Hour": 49, + "Day": 27, + "Activity": 18 + }, + { + "Hour": 49, + "Day": 28, + "Activity": 39 + }, + { + "Hour": 49, + "Day": 29, + "Activity": 58 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/03-card12.flint.json b/test-harness/excel/evaluations/inputs/heatmap/03-card12.flint.json new file mode 100644 index 00000000..3714b735 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/03-card12.flint.json @@ -0,0 +1,383 @@ +{ + "semantic_types": { + "Month": "Month", + "Product": "Product", + "Sales": "Amount" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "Month", + "y": "Product", + "color": "Sales" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Month": "Jan", + "Product": "Laptop", + "Sales": 351 + }, + { + "Month": "Jan", + "Product": "Phone", + "Sales": 917 + }, + { + "Month": "Jan", + "Product": "Tablet", + "Sales": 456 + }, + { + "Month": "Jan", + "Product": "Desktop", + "Sales": 803 + }, + { + "Month": "Jan", + "Product": "Monitor", + "Sales": 65 + }, + { + "Month": "Jan", + "Product": "Keyboard", + "Sales": 442 + }, + { + "Month": "Feb", + "Product": "Laptop", + "Sales": 435 + }, + { + "Month": "Feb", + "Product": "Phone", + "Sales": 552 + }, + { + "Month": "Feb", + "Product": "Tablet", + "Sales": 883 + }, + { + "Month": "Feb", + "Product": "Desktop", + "Sales": 602 + }, + { + "Month": "Feb", + "Product": "Monitor", + "Sales": 658 + }, + { + "Month": "Feb", + "Product": "Keyboard", + "Sales": 898 + }, + { + "Month": "Mar", + "Product": "Laptop", + "Sales": 850 + }, + { + "Month": "Mar", + "Product": "Phone", + "Sales": 142 + }, + { + "Month": "Mar", + "Product": "Tablet", + "Sales": 643 + }, + { + "Month": "Mar", + "Product": "Desktop", + "Sales": 349 + }, + { + "Month": "Mar", + "Product": "Monitor", + "Sales": 614 + }, + { + "Month": "Mar", + "Product": "Keyboard", + "Sales": 375 + }, + { + "Month": "Apr", + "Product": "Laptop", + "Sales": 113 + }, + { + "Month": "Apr", + "Product": "Phone", + "Sales": 140 + }, + { + "Month": "Apr", + "Product": "Tablet", + "Sales": 910 + }, + { + "Month": "Apr", + "Product": "Desktop", + "Sales": 589 + }, + { + "Month": "Apr", + "Product": "Monitor", + "Sales": 525 + }, + { + "Month": "Apr", + "Product": "Keyboard", + "Sales": 197 + }, + { + "Month": "May", + "Product": "Laptop", + "Sales": 574 + }, + { + "Month": "May", + "Product": "Phone", + "Sales": 731 + }, + { + "Month": "May", + "Product": "Tablet", + "Sales": 200 + }, + { + "Month": "May", + "Product": "Desktop", + "Sales": 146 + }, + { + "Month": "May", + "Product": "Monitor", + "Sales": 91 + }, + { + "Month": "May", + "Product": "Keyboard", + "Sales": 152 + }, + { + "Month": "Jun", + "Product": "Laptop", + "Sales": 828 + }, + { + "Month": "Jun", + "Product": "Phone", + "Sales": 120 + }, + { + "Month": "Jun", + "Product": "Tablet", + "Sales": 876 + }, + { + "Month": "Jun", + "Product": "Desktop", + "Sales": 979 + }, + { + "Month": "Jun", + "Product": "Monitor", + "Sales": 775 + }, + { + "Month": "Jun", + "Product": "Keyboard", + "Sales": 19 + }, + { + "Month": "Jul", + "Product": "Laptop", + "Sales": 789 + }, + { + "Month": "Jul", + "Product": "Phone", + "Sales": 3 + }, + { + "Month": "Jul", + "Product": "Tablet", + "Sales": 734 + }, + { + "Month": "Jul", + "Product": "Desktop", + "Sales": 964 + }, + { + "Month": "Jul", + "Product": "Monitor", + "Sales": 508 + }, + { + "Month": "Jul", + "Product": "Keyboard", + "Sales": 519 + }, + { + "Month": "Aug", + "Product": "Laptop", + "Sales": 259 + }, + { + "Month": "Aug", + "Product": "Phone", + "Sales": 690 + }, + { + "Month": "Aug", + "Product": "Tablet", + "Sales": 715 + }, + { + "Month": "Aug", + "Product": "Desktop", + "Sales": 466 + }, + { + "Month": "Aug", + "Product": "Monitor", + "Sales": 336 + }, + { + "Month": "Aug", + "Product": "Keyboard", + "Sales": 554 + }, + { + "Month": "Sep", + "Product": "Laptop", + "Sales": 539 + }, + { + "Month": "Sep", + "Product": "Phone", + "Sales": 515 + }, + { + "Month": "Sep", + "Product": "Tablet", + "Sales": 818 + }, + { + "Month": "Sep", + "Product": "Desktop", + "Sales": 572 + }, + { + "Month": "Sep", + "Product": "Monitor", + "Sales": 381 + }, + { + "Month": "Sep", + "Product": "Keyboard", + "Sales": 691 + }, + { + "Month": "Oct", + "Product": "Laptop", + "Sales": 897 + }, + { + "Month": "Oct", + "Product": "Phone", + "Sales": 845 + }, + { + "Month": "Oct", + "Product": "Tablet", + "Sales": 154 + }, + { + "Month": "Oct", + "Product": "Desktop", + "Sales": 293 + }, + { + "Month": "Oct", + "Product": "Monitor", + "Sales": 582 + }, + { + "Month": "Oct", + "Product": "Keyboard", + "Sales": 810 + }, + { + "Month": "Nov", + "Product": "Laptop", + "Sales": 153 + }, + { + "Month": "Nov", + "Product": "Phone", + "Sales": 155 + }, + { + "Month": "Nov", + "Product": "Tablet", + "Sales": 867 + }, + { + "Month": "Nov", + "Product": "Desktop", + "Sales": 835 + }, + { + "Month": "Nov", + "Product": "Monitor", + "Sales": 225 + }, + { + "Month": "Nov", + "Product": "Keyboard", + "Sales": 77 + }, + { + "Month": "Dec", + "Product": "Laptop", + "Sales": 832 + }, + { + "Month": "Dec", + "Product": "Phone", + "Sales": 427 + }, + { + "Month": "Dec", + "Product": "Tablet", + "Sales": 973 + }, + { + "Month": "Dec", + "Product": "Desktop", + "Sales": 478 + }, + { + "Month": "Dec", + "Product": "Monitor", + "Sales": 429 + }, + { + "Month": "Dec", + "Product": "Keyboard", + "Sales": 627 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/04-card80.flint.json b/test-harness/excel/evaluations/inputs/heatmap/04-card80.flint.json new file mode 100644 index 00000000..45213aa2 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/04-card80.flint.json @@ -0,0 +1,2023 @@ +{ + "semantic_types": { + "Date": "Date", + "Category": "Category", + "Intensity": "Quantity" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "Date", + "y": "Category", + "color": "Intensity" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2016-01-01", + "Category": "Electronics", + "Intensity": 41 + }, + { + "Date": "2016-01-01", + "Category": "Clothing", + "Intensity": 12 + }, + { + "Date": "2016-01-01", + "Category": "Food", + "Intensity": 15 + }, + { + "Date": "2016-01-01", + "Category": "Books", + "Intensity": 56 + }, + { + "Date": "2016-01-01", + "Category": "Sports", + "Intensity": 90 + }, + { + "Date": "2016-01-14", + "Category": "Electronics", + "Intensity": 7 + }, + { + "Date": "2016-01-14", + "Category": "Clothing", + "Intensity": 97 + }, + { + "Date": "2016-01-14", + "Category": "Food", + "Intensity": 58 + }, + { + "Date": "2016-01-14", + "Category": "Books", + "Intensity": 81 + }, + { + "Date": "2016-01-14", + "Category": "Sports", + "Intensity": 8 + }, + { + "Date": "2016-01-28", + "Category": "Electronics", + "Intensity": 61 + }, + { + "Date": "2016-01-28", + "Category": "Clothing", + "Intensity": 32 + }, + { + "Date": "2016-01-28", + "Category": "Food", + "Intensity": 96 + }, + { + "Date": "2016-01-28", + "Category": "Books", + "Intensity": 62 + }, + { + "Date": "2016-01-28", + "Category": "Sports", + "Intensity": 27 + }, + { + "Date": "2016-02-11", + "Category": "Electronics", + "Intensity": 92 + }, + { + "Date": "2016-02-11", + "Category": "Clothing", + "Intensity": 82 + }, + { + "Date": "2016-02-11", + "Category": "Food", + "Intensity": 30 + }, + { + "Date": "2016-02-11", + "Category": "Books", + "Intensity": 53 + }, + { + "Date": "2016-02-11", + "Category": "Sports", + "Intensity": 46 + }, + { + "Date": "2016-02-24", + "Category": "Electronics", + "Intensity": 61 + }, + { + "Date": "2016-02-24", + "Category": "Clothing", + "Intensity": 31 + }, + { + "Date": "2016-02-24", + "Category": "Food", + "Intensity": 18 + }, + { + "Date": "2016-02-24", + "Category": "Books", + "Intensity": 34 + }, + { + "Date": "2016-02-24", + "Category": "Sports", + "Intensity": 25 + }, + { + "Date": "2016-03-09", + "Category": "Electronics", + "Intensity": 71 + }, + { + "Date": "2016-03-09", + "Category": "Clothing", + "Intensity": 68 + }, + { + "Date": "2016-03-09", + "Category": "Food", + "Intensity": 58 + }, + { + "Date": "2016-03-09", + "Category": "Books", + "Intensity": 10 + }, + { + "Date": "2016-03-09", + "Category": "Sports", + "Intensity": 37 + }, + { + "Date": "2016-03-23", + "Category": "Electronics", + "Intensity": 4 + }, + { + "Date": "2016-03-23", + "Category": "Clothing", + "Intensity": 91 + }, + { + "Date": "2016-03-23", + "Category": "Food", + "Intensity": 45 + }, + { + "Date": "2016-03-23", + "Category": "Books", + "Intensity": 65 + }, + { + "Date": "2016-03-23", + "Category": "Sports", + "Intensity": 24 + }, + { + "Date": "2016-04-05", + "Category": "Electronics", + "Intensity": 93 + }, + { + "Date": "2016-04-05", + "Category": "Clothing", + "Intensity": 24 + }, + { + "Date": "2016-04-05", + "Category": "Food", + "Intensity": 11 + }, + { + "Date": "2016-04-05", + "Category": "Books", + "Intensity": 20 + }, + { + "Date": "2016-04-05", + "Category": "Sports", + "Intensity": 84 + }, + { + "Date": "2016-04-19", + "Category": "Electronics", + "Intensity": 76 + }, + { + "Date": "2016-04-19", + "Category": "Clothing", + "Intensity": 32 + }, + { + "Date": "2016-04-19", + "Category": "Food", + "Intensity": 94 + }, + { + "Date": "2016-04-19", + "Category": "Books", + "Intensity": 26 + }, + { + "Date": "2016-04-19", + "Category": "Sports", + "Intensity": 83 + }, + { + "Date": "2016-05-03", + "Category": "Electronics", + "Intensity": 18 + }, + { + "Date": "2016-05-03", + "Category": "Clothing", + "Intensity": 11 + }, + { + "Date": "2016-05-03", + "Category": "Food", + "Intensity": 70 + }, + { + "Date": "2016-05-03", + "Category": "Books", + "Intensity": 72 + }, + { + "Date": "2016-05-03", + "Category": "Sports", + "Intensity": 5 + }, + { + "Date": "2016-05-16", + "Category": "Electronics", + "Intensity": 35 + }, + { + "Date": "2016-05-16", + "Category": "Clothing", + "Intensity": 61 + }, + { + "Date": "2016-05-16", + "Category": "Food", + "Intensity": 67 + }, + { + "Date": "2016-05-16", + "Category": "Books", + "Intensity": 60 + }, + { + "Date": "2016-05-16", + "Category": "Sports", + "Intensity": 93 + }, + { + "Date": "2016-05-30", + "Category": "Electronics", + "Intensity": 34 + }, + { + "Date": "2016-05-30", + "Category": "Clothing", + "Intensity": 44 + }, + { + "Date": "2016-05-30", + "Category": "Food", + "Intensity": 3 + }, + { + "Date": "2016-05-30", + "Category": "Books", + "Intensity": 99 + }, + { + "Date": "2016-05-30", + "Category": "Sports", + "Intensity": 46 + }, + { + "Date": "2016-06-13", + "Category": "Electronics", + "Intensity": 85 + }, + { + "Date": "2016-06-13", + "Category": "Clothing", + "Intensity": 43 + }, + { + "Date": "2016-06-13", + "Category": "Food", + "Intensity": 79 + }, + { + "Date": "2016-06-13", + "Category": "Books", + "Intensity": 20 + }, + { + "Date": "2016-06-13", + "Category": "Sports", + "Intensity": 87 + }, + { + "Date": "2016-06-26", + "Category": "Electronics", + "Intensity": 83 + }, + { + "Date": "2016-06-26", + "Category": "Clothing", + "Intensity": 38 + }, + { + "Date": "2016-06-26", + "Category": "Food", + "Intensity": 8 + }, + { + "Date": "2016-06-26", + "Category": "Books", + "Intensity": 20 + }, + { + "Date": "2016-06-26", + "Category": "Sports", + "Intensity": 97 + }, + { + "Date": "2016-07-10", + "Category": "Electronics", + "Intensity": 39 + }, + { + "Date": "2016-07-10", + "Category": "Clothing", + "Intensity": 73 + }, + { + "Date": "2016-07-10", + "Category": "Food", + "Intensity": 53 + }, + { + "Date": "2016-07-10", + "Category": "Books", + "Intensity": 91 + }, + { + "Date": "2016-07-10", + "Category": "Sports", + "Intensity": 60 + }, + { + "Date": "2016-07-24", + "Category": "Electronics", + "Intensity": 37 + }, + { + "Date": "2016-07-24", + "Category": "Clothing", + "Intensity": 0 + }, + { + "Date": "2016-07-24", + "Category": "Food", + "Intensity": 51 + }, + { + "Date": "2016-07-24", + "Category": "Books", + "Intensity": 72 + }, + { + "Date": "2016-07-24", + "Category": "Sports", + "Intensity": 53 + }, + { + "Date": "2016-08-07", + "Category": "Electronics", + "Intensity": 90 + }, + { + "Date": "2016-08-07", + "Category": "Clothing", + "Intensity": 100 + }, + { + "Date": "2016-08-07", + "Category": "Food", + "Intensity": 35 + }, + { + "Date": "2016-08-07", + "Category": "Books", + "Intensity": 35 + }, + { + "Date": "2016-08-07", + "Category": "Sports", + "Intensity": 10 + }, + { + "Date": "2016-08-20", + "Category": "Electronics", + "Intensity": 36 + }, + { + "Date": "2016-08-20", + "Category": "Clothing", + "Intensity": 18 + }, + { + "Date": "2016-08-20", + "Category": "Food", + "Intensity": 40 + }, + { + "Date": "2016-08-20", + "Category": "Books", + "Intensity": 52 + }, + { + "Date": "2016-08-20", + "Category": "Sports", + "Intensity": 22 + }, + { + "Date": "2016-09-03", + "Category": "Electronics", + "Intensity": 97 + }, + { + "Date": "2016-09-03", + "Category": "Clothing", + "Intensity": 100 + }, + { + "Date": "2016-09-03", + "Category": "Food", + "Intensity": 20 + }, + { + "Date": "2016-09-03", + "Category": "Books", + "Intensity": 33 + }, + { + "Date": "2016-09-03", + "Category": "Sports", + "Intensity": 63 + }, + { + "Date": "2016-09-17", + "Category": "Electronics", + "Intensity": 3 + }, + { + "Date": "2016-09-17", + "Category": "Clothing", + "Intensity": 80 + }, + { + "Date": "2016-09-17", + "Category": "Food", + "Intensity": 88 + }, + { + "Date": "2016-09-17", + "Category": "Books", + "Intensity": 39 + }, + { + "Date": "2016-09-17", + "Category": "Sports", + "Intensity": 81 + }, + { + "Date": "2016-09-30", + "Category": "Electronics", + "Intensity": 46 + }, + { + "Date": "2016-09-30", + "Category": "Clothing", + "Intensity": 40 + }, + { + "Date": "2016-09-30", + "Category": "Food", + "Intensity": 49 + }, + { + "Date": "2016-09-30", + "Category": "Books", + "Intensity": 16 + }, + { + "Date": "2016-09-30", + "Category": "Sports", + "Intensity": 32 + }, + { + "Date": "2016-10-14", + "Category": "Electronics", + "Intensity": 62 + }, + { + "Date": "2016-10-14", + "Category": "Clothing", + "Intensity": 96 + }, + { + "Date": "2016-10-14", + "Category": "Food", + "Intensity": 2 + }, + { + "Date": "2016-10-14", + "Category": "Books", + "Intensity": 2 + }, + { + "Date": "2016-10-14", + "Category": "Sports", + "Intensity": 3 + }, + { + "Date": "2016-10-28", + "Category": "Electronics", + "Intensity": 92 + }, + { + "Date": "2016-10-28", + "Category": "Clothing", + "Intensity": 15 + }, + { + "Date": "2016-10-28", + "Category": "Food", + "Intensity": 52 + }, + { + "Date": "2016-10-28", + "Category": "Books", + "Intensity": 81 + }, + { + "Date": "2016-10-28", + "Category": "Sports", + "Intensity": 63 + }, + { + "Date": "2016-11-10", + "Category": "Electronics", + "Intensity": 23 + }, + { + "Date": "2016-11-10", + "Category": "Clothing", + "Intensity": 99 + }, + { + "Date": "2016-11-10", + "Category": "Food", + "Intensity": 85 + }, + { + "Date": "2016-11-10", + "Category": "Books", + "Intensity": 38 + }, + { + "Date": "2016-11-10", + "Category": "Sports", + "Intensity": 59 + }, + { + "Date": "2016-11-24", + "Category": "Electronics", + "Intensity": 41 + }, + { + "Date": "2016-11-24", + "Category": "Clothing", + "Intensity": 60 + }, + { + "Date": "2016-11-24", + "Category": "Food", + "Intensity": 38 + }, + { + "Date": "2016-11-24", + "Category": "Books", + "Intensity": 33 + }, + { + "Date": "2016-11-24", + "Category": "Sports", + "Intensity": 68 + }, + { + "Date": "2016-12-08", + "Category": "Electronics", + "Intensity": 83 + }, + { + "Date": "2016-12-08", + "Category": "Clothing", + "Intensity": 30 + }, + { + "Date": "2016-12-08", + "Category": "Food", + "Intensity": 8 + }, + { + "Date": "2016-12-08", + "Category": "Books", + "Intensity": 93 + }, + { + "Date": "2016-12-08", + "Category": "Sports", + "Intensity": 60 + }, + { + "Date": "2016-12-21", + "Category": "Electronics", + "Intensity": 99 + }, + { + "Date": "2016-12-21", + "Category": "Clothing", + "Intensity": 53 + }, + { + "Date": "2016-12-21", + "Category": "Food", + "Intensity": 89 + }, + { + "Date": "2016-12-21", + "Category": "Books", + "Intensity": 33 + }, + { + "Date": "2016-12-21", + "Category": "Sports", + "Intensity": 20 + }, + { + "Date": "2017-01-04", + "Category": "Electronics", + "Intensity": 95 + }, + { + "Date": "2017-01-04", + "Category": "Clothing", + "Intensity": 5 + }, + { + "Date": "2017-01-04", + "Category": "Food", + "Intensity": 96 + }, + { + "Date": "2017-01-04", + "Category": "Books", + "Intensity": 38 + }, + { + "Date": "2017-01-04", + "Category": "Sports", + "Intensity": 20 + }, + { + "Date": "2017-01-18", + "Category": "Electronics", + "Intensity": 89 + }, + { + "Date": "2017-01-18", + "Category": "Clothing", + "Intensity": 53 + }, + { + "Date": "2017-01-18", + "Category": "Food", + "Intensity": 35 + }, + { + "Date": "2017-01-18", + "Category": "Books", + "Intensity": 55 + }, + { + "Date": "2017-01-18", + "Category": "Sports", + "Intensity": 22 + }, + { + "Date": "2017-01-31", + "Category": "Electronics", + "Intensity": 35 + }, + { + "Date": "2017-01-31", + "Category": "Clothing", + "Intensity": 45 + }, + { + "Date": "2017-01-31", + "Category": "Food", + "Intensity": 24 + }, + { + "Date": "2017-01-31", + "Category": "Books", + "Intensity": 73 + }, + { + "Date": "2017-01-31", + "Category": "Sports", + "Intensity": 31 + }, + { + "Date": "2017-02-14", + "Category": "Electronics", + "Intensity": 86 + }, + { + "Date": "2017-02-14", + "Category": "Clothing", + "Intensity": 24 + }, + { + "Date": "2017-02-14", + "Category": "Food", + "Intensity": 34 + }, + { + "Date": "2017-02-14", + "Category": "Books", + "Intensity": 16 + }, + { + "Date": "2017-02-14", + "Category": "Sports", + "Intensity": 55 + }, + { + "Date": "2017-02-28", + "Category": "Electronics", + "Intensity": 0 + }, + { + "Date": "2017-02-28", + "Category": "Clothing", + "Intensity": 75 + }, + { + "Date": "2017-02-28", + "Category": "Food", + "Intensity": 7 + }, + { + "Date": "2017-02-28", + "Category": "Books", + "Intensity": 11 + }, + { + "Date": "2017-02-28", + "Category": "Sports", + "Intensity": 20 + }, + { + "Date": "2017-03-14", + "Category": "Electronics", + "Intensity": 100 + }, + { + "Date": "2017-03-14", + "Category": "Clothing", + "Intensity": 85 + }, + { + "Date": "2017-03-14", + "Category": "Food", + "Intensity": 93 + }, + { + "Date": "2017-03-14", + "Category": "Books", + "Intensity": 63 + }, + { + "Date": "2017-03-14", + "Category": "Sports", + "Intensity": 47 + }, + { + "Date": "2017-03-27", + "Category": "Electronics", + "Intensity": 56 + }, + { + "Date": "2017-03-27", + "Category": "Clothing", + "Intensity": 77 + }, + { + "Date": "2017-03-27", + "Category": "Food", + "Intensity": 41 + }, + { + "Date": "2017-03-27", + "Category": "Books", + "Intensity": 18 + }, + { + "Date": "2017-03-27", + "Category": "Sports", + "Intensity": 98 + }, + { + "Date": "2017-04-10", + "Category": "Electronics", + "Intensity": 28 + }, + { + "Date": "2017-04-10", + "Category": "Clothing", + "Intensity": 59 + }, + { + "Date": "2017-04-10", + "Category": "Food", + "Intensity": 40 + }, + { + "Date": "2017-04-10", + "Category": "Books", + "Intensity": 35 + }, + { + "Date": "2017-04-10", + "Category": "Sports", + "Intensity": 80 + }, + { + "Date": "2017-04-24", + "Category": "Electronics", + "Intensity": 30 + }, + { + "Date": "2017-04-24", + "Category": "Clothing", + "Intensity": 0 + }, + { + "Date": "2017-04-24", + "Category": "Food", + "Intensity": 71 + }, + { + "Date": "2017-04-24", + "Category": "Books", + "Intensity": 75 + }, + { + "Date": "2017-04-24", + "Category": "Sports", + "Intensity": 33 + }, + { + "Date": "2017-05-07", + "Category": "Electronics", + "Intensity": 12 + }, + { + "Date": "2017-05-07", + "Category": "Clothing", + "Intensity": 51 + }, + { + "Date": "2017-05-07", + "Category": "Food", + "Intensity": 99 + }, + { + "Date": "2017-05-07", + "Category": "Books", + "Intensity": 5 + }, + { + "Date": "2017-05-07", + "Category": "Sports", + "Intensity": 15 + }, + { + "Date": "2017-05-21", + "Category": "Electronics", + "Intensity": 73 + }, + { + "Date": "2017-05-21", + "Category": "Clothing", + "Intensity": 80 + }, + { + "Date": "2017-05-21", + "Category": "Food", + "Intensity": 85 + }, + { + "Date": "2017-05-21", + "Category": "Books", + "Intensity": 45 + }, + { + "Date": "2017-05-21", + "Category": "Sports", + "Intensity": 3 + }, + { + "Date": "2017-06-04", + "Category": "Electronics", + "Intensity": 44 + }, + { + "Date": "2017-06-04", + "Category": "Clothing", + "Intensity": 96 + }, + { + "Date": "2017-06-04", + "Category": "Food", + "Intensity": 55 + }, + { + "Date": "2017-06-04", + "Category": "Books", + "Intensity": 79 + }, + { + "Date": "2017-06-04", + "Category": "Sports", + "Intensity": 60 + }, + { + "Date": "2017-06-17", + "Category": "Electronics", + "Intensity": 92 + }, + { + "Date": "2017-06-17", + "Category": "Clothing", + "Intensity": 53 + }, + { + "Date": "2017-06-17", + "Category": "Food", + "Intensity": 42 + }, + { + "Date": "2017-06-17", + "Category": "Books", + "Intensity": 72 + }, + { + "Date": "2017-06-17", + "Category": "Sports", + "Intensity": 48 + }, + { + "Date": "2017-07-01", + "Category": "Electronics", + "Intensity": 26 + }, + { + "Date": "2017-07-01", + "Category": "Clothing", + "Intensity": 55 + }, + { + "Date": "2017-07-01", + "Category": "Food", + "Intensity": 35 + }, + { + "Date": "2017-07-01", + "Category": "Books", + "Intensity": 68 + }, + { + "Date": "2017-07-01", + "Category": "Sports", + "Intensity": 76 + }, + { + "Date": "2017-07-15", + "Category": "Electronics", + "Intensity": 72 + }, + { + "Date": "2017-07-15", + "Category": "Clothing", + "Intensity": 55 + }, + { + "Date": "2017-07-15", + "Category": "Food", + "Intensity": 10 + }, + { + "Date": "2017-07-15", + "Category": "Books", + "Intensity": 73 + }, + { + "Date": "2017-07-15", + "Category": "Sports", + "Intensity": 9 + }, + { + "Date": "2017-07-28", + "Category": "Electronics", + "Intensity": 5 + }, + { + "Date": "2017-07-28", + "Category": "Clothing", + "Intensity": 92 + }, + { + "Date": "2017-07-28", + "Category": "Food", + "Intensity": 16 + }, + { + "Date": "2017-07-28", + "Category": "Books", + "Intensity": 42 + }, + { + "Date": "2017-07-28", + "Category": "Sports", + "Intensity": 73 + }, + { + "Date": "2017-08-11", + "Category": "Electronics", + "Intensity": 37 + }, + { + "Date": "2017-08-11", + "Category": "Clothing", + "Intensity": 41 + }, + { + "Date": "2017-08-11", + "Category": "Food", + "Intensity": 100 + }, + { + "Date": "2017-08-11", + "Category": "Books", + "Intensity": 92 + }, + { + "Date": "2017-08-11", + "Category": "Sports", + "Intensity": 39 + }, + { + "Date": "2017-08-25", + "Category": "Electronics", + "Intensity": 48 + }, + { + "Date": "2017-08-25", + "Category": "Clothing", + "Intensity": 86 + }, + { + "Date": "2017-08-25", + "Category": "Food", + "Intensity": 82 + }, + { + "Date": "2017-08-25", + "Category": "Books", + "Intensity": 48 + }, + { + "Date": "2017-08-25", + "Category": "Sports", + "Intensity": 37 + }, + { + "Date": "2017-09-07", + "Category": "Electronics", + "Intensity": 30 + }, + { + "Date": "2017-09-07", + "Category": "Clothing", + "Intensity": 81 + }, + { + "Date": "2017-09-07", + "Category": "Food", + "Intensity": 11 + }, + { + "Date": "2017-09-07", + "Category": "Books", + "Intensity": 73 + }, + { + "Date": "2017-09-07", + "Category": "Sports", + "Intensity": 24 + }, + { + "Date": "2017-09-21", + "Category": "Electronics", + "Intensity": 61 + }, + { + "Date": "2017-09-21", + "Category": "Clothing", + "Intensity": 72 + }, + { + "Date": "2017-09-21", + "Category": "Food", + "Intensity": 23 + }, + { + "Date": "2017-09-21", + "Category": "Books", + "Intensity": 58 + }, + { + "Date": "2017-09-21", + "Category": "Sports", + "Intensity": 41 + }, + { + "Date": "2017-10-05", + "Category": "Electronics", + "Intensity": 31 + }, + { + "Date": "2017-10-05", + "Category": "Clothing", + "Intensity": 10 + }, + { + "Date": "2017-10-05", + "Category": "Food", + "Intensity": 35 + }, + { + "Date": "2017-10-05", + "Category": "Books", + "Intensity": 43 + }, + { + "Date": "2017-10-05", + "Category": "Sports", + "Intensity": 92 + }, + { + "Date": "2017-10-19", + "Category": "Electronics", + "Intensity": 25 + }, + { + "Date": "2017-10-19", + "Category": "Clothing", + "Intensity": 41 + }, + { + "Date": "2017-10-19", + "Category": "Food", + "Intensity": 85 + }, + { + "Date": "2017-10-19", + "Category": "Books", + "Intensity": 87 + }, + { + "Date": "2017-10-19", + "Category": "Sports", + "Intensity": 76 + }, + { + "Date": "2017-11-01", + "Category": "Electronics", + "Intensity": 62 + }, + { + "Date": "2017-11-01", + "Category": "Clothing", + "Intensity": 76 + }, + { + "Date": "2017-11-01", + "Category": "Food", + "Intensity": 42 + }, + { + "Date": "2017-11-01", + "Category": "Books", + "Intensity": 9 + }, + { + "Date": "2017-11-01", + "Category": "Sports", + "Intensity": 13 + }, + { + "Date": "2017-11-15", + "Category": "Electronics", + "Intensity": 18 + }, + { + "Date": "2017-11-15", + "Category": "Clothing", + "Intensity": 89 + }, + { + "Date": "2017-11-15", + "Category": "Food", + "Intensity": 90 + }, + { + "Date": "2017-11-15", + "Category": "Books", + "Intensity": 24 + }, + { + "Date": "2017-11-15", + "Category": "Sports", + "Intensity": 95 + }, + { + "Date": "2017-11-29", + "Category": "Electronics", + "Intensity": 92 + }, + { + "Date": "2017-11-29", + "Category": "Clothing", + "Intensity": 88 + }, + { + "Date": "2017-11-29", + "Category": "Food", + "Intensity": 32 + }, + { + "Date": "2017-11-29", + "Category": "Books", + "Intensity": 43 + }, + { + "Date": "2017-11-29", + "Category": "Sports", + "Intensity": 47 + }, + { + "Date": "2017-12-12", + "Category": "Electronics", + "Intensity": 36 + }, + { + "Date": "2017-12-12", + "Category": "Clothing", + "Intensity": 13 + }, + { + "Date": "2017-12-12", + "Category": "Food", + "Intensity": 30 + }, + { + "Date": "2017-12-12", + "Category": "Books", + "Intensity": 17 + }, + { + "Date": "2017-12-12", + "Category": "Sports", + "Intensity": 24 + }, + { + "Date": "2017-12-26", + "Category": "Electronics", + "Intensity": 23 + }, + { + "Date": "2017-12-26", + "Category": "Clothing", + "Intensity": 17 + }, + { + "Date": "2017-12-26", + "Category": "Food", + "Intensity": 90 + }, + { + "Date": "2017-12-26", + "Category": "Books", + "Intensity": 36 + }, + { + "Date": "2017-12-26", + "Category": "Sports", + "Intensity": 28 + }, + { + "Date": "2018-01-09", + "Category": "Electronics", + "Intensity": 65 + }, + { + "Date": "2018-01-09", + "Category": "Clothing", + "Intensity": 67 + }, + { + "Date": "2018-01-09", + "Category": "Food", + "Intensity": 95 + }, + { + "Date": "2018-01-09", + "Category": "Books", + "Intensity": 19 + }, + { + "Date": "2018-01-09", + "Category": "Sports", + "Intensity": 41 + }, + { + "Date": "2018-01-22", + "Category": "Electronics", + "Intensity": 99 + }, + { + "Date": "2018-01-22", + "Category": "Clothing", + "Intensity": 22 + }, + { + "Date": "2018-01-22", + "Category": "Food", + "Intensity": 47 + }, + { + "Date": "2018-01-22", + "Category": "Books", + "Intensity": 48 + }, + { + "Date": "2018-01-22", + "Category": "Sports", + "Intensity": 65 + }, + { + "Date": "2018-02-05", + "Category": "Electronics", + "Intensity": 99 + }, + { + "Date": "2018-02-05", + "Category": "Clothing", + "Intensity": 66 + }, + { + "Date": "2018-02-05", + "Category": "Food", + "Intensity": 42 + }, + { + "Date": "2018-02-05", + "Category": "Books", + "Intensity": 87 + }, + { + "Date": "2018-02-05", + "Category": "Sports", + "Intensity": 78 + }, + { + "Date": "2018-02-19", + "Category": "Electronics", + "Intensity": 15 + }, + { + "Date": "2018-02-19", + "Category": "Clothing", + "Intensity": 51 + }, + { + "Date": "2018-02-19", + "Category": "Food", + "Intensity": 94 + }, + { + "Date": "2018-02-19", + "Category": "Books", + "Intensity": 19 + }, + { + "Date": "2018-02-19", + "Category": "Sports", + "Intensity": 33 + }, + { + "Date": "2018-03-04", + "Category": "Electronics", + "Intensity": 57 + }, + { + "Date": "2018-03-04", + "Category": "Clothing", + "Intensity": 86 + }, + { + "Date": "2018-03-04", + "Category": "Food", + "Intensity": 30 + }, + { + "Date": "2018-03-04", + "Category": "Books", + "Intensity": 63 + }, + { + "Date": "2018-03-04", + "Category": "Sports", + "Intensity": 94 + }, + { + "Date": "2018-03-18", + "Category": "Electronics", + "Intensity": 52 + }, + { + "Date": "2018-03-18", + "Category": "Clothing", + "Intensity": 44 + }, + { + "Date": "2018-03-18", + "Category": "Food", + "Intensity": 16 + }, + { + "Date": "2018-03-18", + "Category": "Books", + "Intensity": 79 + }, + { + "Date": "2018-03-18", + "Category": "Sports", + "Intensity": 19 + }, + { + "Date": "2018-04-01", + "Category": "Electronics", + "Intensity": 93 + }, + { + "Date": "2018-04-01", + "Category": "Clothing", + "Intensity": 35 + }, + { + "Date": "2018-04-01", + "Category": "Food", + "Intensity": 8 + }, + { + "Date": "2018-04-01", + "Category": "Books", + "Intensity": 86 + }, + { + "Date": "2018-04-01", + "Category": "Sports", + "Intensity": 30 + }, + { + "Date": "2018-04-14", + "Category": "Electronics", + "Intensity": 67 + }, + { + "Date": "2018-04-14", + "Category": "Clothing", + "Intensity": 5 + }, + { + "Date": "2018-04-14", + "Category": "Food", + "Intensity": 67 + }, + { + "Date": "2018-04-14", + "Category": "Books", + "Intensity": 19 + }, + { + "Date": "2018-04-14", + "Category": "Sports", + "Intensity": 6 + }, + { + "Date": "2018-04-28", + "Category": "Electronics", + "Intensity": 82 + }, + { + "Date": "2018-04-28", + "Category": "Clothing", + "Intensity": 53 + }, + { + "Date": "2018-04-28", + "Category": "Food", + "Intensity": 13 + }, + { + "Date": "2018-04-28", + "Category": "Books", + "Intensity": 76 + }, + { + "Date": "2018-04-28", + "Category": "Sports", + "Intensity": 15 + }, + { + "Date": "2018-05-12", + "Category": "Electronics", + "Intensity": 30 + }, + { + "Date": "2018-05-12", + "Category": "Clothing", + "Intensity": 2 + }, + { + "Date": "2018-05-12", + "Category": "Food", + "Intensity": 49 + }, + { + "Date": "2018-05-12", + "Category": "Books", + "Intensity": 48 + }, + { + "Date": "2018-05-12", + "Category": "Sports", + "Intensity": 61 + }, + { + "Date": "2018-05-26", + "Category": "Electronics", + "Intensity": 67 + }, + { + "Date": "2018-05-26", + "Category": "Clothing", + "Intensity": 30 + }, + { + "Date": "2018-05-26", + "Category": "Food", + "Intensity": 10 + }, + { + "Date": "2018-05-26", + "Category": "Books", + "Intensity": 44 + }, + { + "Date": "2018-05-26", + "Category": "Sports", + "Intensity": 22 + }, + { + "Date": "2018-06-08", + "Category": "Electronics", + "Intensity": 63 + }, + { + "Date": "2018-06-08", + "Category": "Clothing", + "Intensity": 14 + }, + { + "Date": "2018-06-08", + "Category": "Food", + "Intensity": 91 + }, + { + "Date": "2018-06-08", + "Category": "Books", + "Intensity": 30 + }, + { + "Date": "2018-06-08", + "Category": "Sports", + "Intensity": 22 + }, + { + "Date": "2018-06-22", + "Category": "Electronics", + "Intensity": 0 + }, + { + "Date": "2018-06-22", + "Category": "Clothing", + "Intensity": 73 + }, + { + "Date": "2018-06-22", + "Category": "Food", + "Intensity": 21 + }, + { + "Date": "2018-06-22", + "Category": "Books", + "Intensity": 49 + }, + { + "Date": "2018-06-22", + "Category": "Sports", + "Intensity": 83 + }, + { + "Date": "2018-07-06", + "Category": "Electronics", + "Intensity": 42 + }, + { + "Date": "2018-07-06", + "Category": "Clothing", + "Intensity": 7 + }, + { + "Date": "2018-07-06", + "Category": "Food", + "Intensity": 90 + }, + { + "Date": "2018-07-06", + "Category": "Books", + "Intensity": 92 + }, + { + "Date": "2018-07-06", + "Category": "Sports", + "Intensity": 23 + }, + { + "Date": "2018-07-19", + "Category": "Electronics", + "Intensity": 32 + }, + { + "Date": "2018-07-19", + "Category": "Clothing", + "Intensity": 75 + }, + { + "Date": "2018-07-19", + "Category": "Food", + "Intensity": 55 + }, + { + "Date": "2018-07-19", + "Category": "Books", + "Intensity": 74 + }, + { + "Date": "2018-07-19", + "Category": "Sports", + "Intensity": 53 + }, + { + "Date": "2018-08-02", + "Category": "Electronics", + "Intensity": 83 + }, + { + "Date": "2018-08-02", + "Category": "Clothing", + "Intensity": 89 + }, + { + "Date": "2018-08-02", + "Category": "Food", + "Intensity": 23 + }, + { + "Date": "2018-08-02", + "Category": "Books", + "Intensity": 59 + }, + { + "Date": "2018-08-02", + "Category": "Sports", + "Intensity": 41 + }, + { + "Date": "2018-08-16", + "Category": "Electronics", + "Intensity": 24 + }, + { + "Date": "2018-08-16", + "Category": "Clothing", + "Intensity": 39 + }, + { + "Date": "2018-08-16", + "Category": "Food", + "Intensity": 49 + }, + { + "Date": "2018-08-16", + "Category": "Books", + "Intensity": 59 + }, + { + "Date": "2018-08-16", + "Category": "Sports", + "Intensity": 25 + }, + { + "Date": "2018-08-29", + "Category": "Electronics", + "Intensity": 81 + }, + { + "Date": "2018-08-29", + "Category": "Clothing", + "Intensity": 73 + }, + { + "Date": "2018-08-29", + "Category": "Food", + "Intensity": 59 + }, + { + "Date": "2018-08-29", + "Category": "Books", + "Intensity": 90 + }, + { + "Date": "2018-08-29", + "Category": "Sports", + "Intensity": 48 + }, + { + "Date": "2018-09-12", + "Category": "Electronics", + "Intensity": 48 + }, + { + "Date": "2018-09-12", + "Category": "Clothing", + "Intensity": 79 + }, + { + "Date": "2018-09-12", + "Category": "Food", + "Intensity": 98 + }, + { + "Date": "2018-09-12", + "Category": "Books", + "Intensity": 57 + }, + { + "Date": "2018-09-12", + "Category": "Sports", + "Intensity": 60 + }, + { + "Date": "2018-09-26", + "Category": "Electronics", + "Intensity": 27 + }, + { + "Date": "2018-09-26", + "Category": "Clothing", + "Intensity": 64 + }, + { + "Date": "2018-09-26", + "Category": "Food", + "Intensity": 33 + }, + { + "Date": "2018-09-26", + "Category": "Books", + "Intensity": 38 + }, + { + "Date": "2018-09-26", + "Category": "Sports", + "Intensity": 86 + }, + { + "Date": "2018-10-09", + "Category": "Electronics", + "Intensity": 36 + }, + { + "Date": "2018-10-09", + "Category": "Clothing", + "Intensity": 52 + }, + { + "Date": "2018-10-09", + "Category": "Food", + "Intensity": 71 + }, + { + "Date": "2018-10-09", + "Category": "Books", + "Intensity": 5 + }, + { + "Date": "2018-10-09", + "Category": "Sports", + "Intensity": 35 + }, + { + "Date": "2018-10-23", + "Category": "Electronics", + "Intensity": 32 + }, + { + "Date": "2018-10-23", + "Category": "Clothing", + "Intensity": 78 + }, + { + "Date": "2018-10-23", + "Category": "Food", + "Intensity": 52 + }, + { + "Date": "2018-10-23", + "Category": "Books", + "Intensity": 16 + }, + { + "Date": "2018-10-23", + "Category": "Sports", + "Intensity": 69 + }, + { + "Date": "2018-11-06", + "Category": "Electronics", + "Intensity": 72 + }, + { + "Date": "2018-11-06", + "Category": "Clothing", + "Intensity": 52 + }, + { + "Date": "2018-11-06", + "Category": "Food", + "Intensity": 58 + }, + { + "Date": "2018-11-06", + "Category": "Books", + "Intensity": 14 + }, + { + "Date": "2018-11-06", + "Category": "Sports", + "Intensity": 1 + }, + { + "Date": "2018-11-19", + "Category": "Electronics", + "Intensity": 44 + }, + { + "Date": "2018-11-19", + "Category": "Clothing", + "Intensity": 91 + }, + { + "Date": "2018-11-19", + "Category": "Food", + "Intensity": 43 + }, + { + "Date": "2018-11-19", + "Category": "Books", + "Intensity": 66 + }, + { + "Date": "2018-11-19", + "Category": "Sports", + "Intensity": 51 + }, + { + "Date": "2018-12-03", + "Category": "Electronics", + "Intensity": 15 + }, + { + "Date": "2018-12-03", + "Category": "Clothing", + "Intensity": 86 + }, + { + "Date": "2018-12-03", + "Category": "Food", + "Intensity": 79 + }, + { + "Date": "2018-12-03", + "Category": "Books", + "Intensity": 62 + }, + { + "Date": "2018-12-03", + "Category": "Sports", + "Intensity": 56 + }, + { + "Date": "2018-12-17", + "Category": "Electronics", + "Intensity": 28 + }, + { + "Date": "2018-12-17", + "Category": "Clothing", + "Intensity": 97 + }, + { + "Date": "2018-12-17", + "Category": "Food", + "Intensity": 44 + }, + { + "Date": "2018-12-17", + "Category": "Books", + "Intensity": 2 + }, + { + "Date": "2018-12-17", + "Category": "Sports", + "Intensity": 84 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/05-card5.flint.json b/test-harness/excel/evaluations/inputs/heatmap/05-card5.flint.json new file mode 100644 index 00000000..24322504 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/05-card5.flint.json @@ -0,0 +1,2023 @@ +{ + "semantic_types": { + "Product": "Product", + "Date": "Date", + "Score": "Score" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "Product", + "y": "Date", + "color": "Score" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Product": "Laptop", + "Date": "2016-01-01", + "Score": 39 + }, + { + "Product": "Laptop", + "Date": "2016-01-14", + "Score": 41 + }, + { + "Product": "Laptop", + "Date": "2016-01-28", + "Score": 5 + }, + { + "Product": "Laptop", + "Date": "2016-02-11", + "Score": 47 + }, + { + "Product": "Laptop", + "Date": "2016-02-24", + "Score": 82 + }, + { + "Product": "Laptop", + "Date": "2016-03-09", + "Score": 65 + }, + { + "Product": "Laptop", + "Date": "2016-03-23", + "Score": 24 + }, + { + "Product": "Laptop", + "Date": "2016-04-05", + "Score": 10 + }, + { + "Product": "Laptop", + "Date": "2016-04-19", + "Score": 8 + }, + { + "Product": "Laptop", + "Date": "2016-05-03", + "Score": 18 + }, + { + "Product": "Laptop", + "Date": "2016-05-16", + "Score": 37 + }, + { + "Product": "Laptop", + "Date": "2016-05-30", + "Score": 7 + }, + { + "Product": "Laptop", + "Date": "2016-06-13", + "Score": 42 + }, + { + "Product": "Laptop", + "Date": "2016-06-26", + "Score": 12 + }, + { + "Product": "Laptop", + "Date": "2016-07-10", + "Score": 72 + }, + { + "Product": "Laptop", + "Date": "2016-07-24", + "Score": 13 + }, + { + "Product": "Laptop", + "Date": "2016-08-07", + "Score": 26 + }, + { + "Product": "Laptop", + "Date": "2016-08-20", + "Score": 62 + }, + { + "Product": "Laptop", + "Date": "2016-09-03", + "Score": 91 + }, + { + "Product": "Laptop", + "Date": "2016-09-17", + "Score": 1 + }, + { + "Product": "Laptop", + "Date": "2016-09-30", + "Score": 74 + }, + { + "Product": "Laptop", + "Date": "2016-10-14", + "Score": 84 + }, + { + "Product": "Laptop", + "Date": "2016-10-28", + "Score": 90 + }, + { + "Product": "Laptop", + "Date": "2016-11-10", + "Score": 47 + }, + { + "Product": "Laptop", + "Date": "2016-11-24", + "Score": 36 + }, + { + "Product": "Laptop", + "Date": "2016-12-08", + "Score": 31 + }, + { + "Product": "Laptop", + "Date": "2016-12-21", + "Score": 82 + }, + { + "Product": "Laptop", + "Date": "2017-01-04", + "Score": 37 + }, + { + "Product": "Laptop", + "Date": "2017-01-18", + "Score": 58 + }, + { + "Product": "Laptop", + "Date": "2017-01-31", + "Score": 47 + }, + { + "Product": "Laptop", + "Date": "2017-02-14", + "Score": 55 + }, + { + "Product": "Laptop", + "Date": "2017-02-28", + "Score": 94 + }, + { + "Product": "Laptop", + "Date": "2017-03-14", + "Score": 51 + }, + { + "Product": "Laptop", + "Date": "2017-03-27", + "Score": 34 + }, + { + "Product": "Laptop", + "Date": "2017-04-10", + "Score": 1 + }, + { + "Product": "Laptop", + "Date": "2017-04-24", + "Score": 3 + }, + { + "Product": "Laptop", + "Date": "2017-05-07", + "Score": 7 + }, + { + "Product": "Laptop", + "Date": "2017-05-21", + "Score": 13 + }, + { + "Product": "Laptop", + "Date": "2017-06-04", + "Score": 45 + }, + { + "Product": "Laptop", + "Date": "2017-06-17", + "Score": 79 + }, + { + "Product": "Laptop", + "Date": "2017-07-01", + "Score": 97 + }, + { + "Product": "Laptop", + "Date": "2017-07-15", + "Score": 59 + }, + { + "Product": "Laptop", + "Date": "2017-07-28", + "Score": 52 + }, + { + "Product": "Laptop", + "Date": "2017-08-11", + "Score": 9 + }, + { + "Product": "Laptop", + "Date": "2017-08-25", + "Score": 18 + }, + { + "Product": "Laptop", + "Date": "2017-09-07", + "Score": 69 + }, + { + "Product": "Laptop", + "Date": "2017-09-21", + "Score": 67 + }, + { + "Product": "Laptop", + "Date": "2017-10-05", + "Score": 61 + }, + { + "Product": "Laptop", + "Date": "2017-10-19", + "Score": 60 + }, + { + "Product": "Laptop", + "Date": "2017-11-01", + "Score": 41 + }, + { + "Product": "Laptop", + "Date": "2017-11-15", + "Score": 53 + }, + { + "Product": "Laptop", + "Date": "2017-11-29", + "Score": 99 + }, + { + "Product": "Laptop", + "Date": "2017-12-12", + "Score": 52 + }, + { + "Product": "Laptop", + "Date": "2017-12-26", + "Score": 31 + }, + { + "Product": "Laptop", + "Date": "2018-01-09", + "Score": 81 + }, + { + "Product": "Laptop", + "Date": "2018-01-22", + "Score": 14 + }, + { + "Product": "Laptop", + "Date": "2018-02-05", + "Score": 82 + }, + { + "Product": "Laptop", + "Date": "2018-02-19", + "Score": 53 + }, + { + "Product": "Laptop", + "Date": "2018-03-04", + "Score": 28 + }, + { + "Product": "Laptop", + "Date": "2018-03-18", + "Score": 88 + }, + { + "Product": "Laptop", + "Date": "2018-04-01", + "Score": 11 + }, + { + "Product": "Laptop", + "Date": "2018-04-14", + "Score": 9 + }, + { + "Product": "Laptop", + "Date": "2018-04-28", + "Score": 61 + }, + { + "Product": "Laptop", + "Date": "2018-05-12", + "Score": 5 + }, + { + "Product": "Laptop", + "Date": "2018-05-26", + "Score": 70 + }, + { + "Product": "Laptop", + "Date": "2018-06-08", + "Score": 91 + }, + { + "Product": "Laptop", + "Date": "2018-06-22", + "Score": 90 + }, + { + "Product": "Laptop", + "Date": "2018-07-06", + "Score": 6 + }, + { + "Product": "Laptop", + "Date": "2018-07-19", + "Score": 48 + }, + { + "Product": "Laptop", + "Date": "2018-08-02", + "Score": 11 + }, + { + "Product": "Laptop", + "Date": "2018-08-16", + "Score": 34 + }, + { + "Product": "Laptop", + "Date": "2018-08-29", + "Score": 48 + }, + { + "Product": "Laptop", + "Date": "2018-09-12", + "Score": 83 + }, + { + "Product": "Laptop", + "Date": "2018-09-26", + "Score": 90 + }, + { + "Product": "Laptop", + "Date": "2018-10-09", + "Score": 88 + }, + { + "Product": "Laptop", + "Date": "2018-10-23", + "Score": 94 + }, + { + "Product": "Laptop", + "Date": "2018-11-06", + "Score": 91 + }, + { + "Product": "Laptop", + "Date": "2018-11-19", + "Score": 53 + }, + { + "Product": "Laptop", + "Date": "2018-12-03", + "Score": 47 + }, + { + "Product": "Laptop", + "Date": "2018-12-17", + "Score": 95 + }, + { + "Product": "Phone", + "Date": "2016-01-01", + "Score": 79 + }, + { + "Product": "Phone", + "Date": "2016-01-14", + "Score": 64 + }, + { + "Product": "Phone", + "Date": "2016-01-28", + "Score": 88 + }, + { + "Product": "Phone", + "Date": "2016-02-11", + "Score": 35 + }, + { + "Product": "Phone", + "Date": "2016-02-24", + "Score": 36 + }, + { + "Product": "Phone", + "Date": "2016-03-09", + "Score": 43 + }, + { + "Product": "Phone", + "Date": "2016-03-23", + "Score": 38 + }, + { + "Product": "Phone", + "Date": "2016-04-05", + "Score": 38 + }, + { + "Product": "Phone", + "Date": "2016-04-19", + "Score": 87 + }, + { + "Product": "Phone", + "Date": "2016-05-03", + "Score": 99 + }, + { + "Product": "Phone", + "Date": "2016-05-16", + "Score": 8 + }, + { + "Product": "Phone", + "Date": "2016-05-30", + "Score": 94 + }, + { + "Product": "Phone", + "Date": "2016-06-13", + "Score": 65 + }, + { + "Product": "Phone", + "Date": "2016-06-26", + "Score": 93 + }, + { + "Product": "Phone", + "Date": "2016-07-10", + "Score": 32 + }, + { + "Product": "Phone", + "Date": "2016-07-24", + "Score": 38 + }, + { + "Product": "Phone", + "Date": "2016-08-07", + "Score": 71 + }, + { + "Product": "Phone", + "Date": "2016-08-20", + "Score": 20 + }, + { + "Product": "Phone", + "Date": "2016-09-03", + "Score": 71 + }, + { + "Product": "Phone", + "Date": "2016-09-17", + "Score": 51 + }, + { + "Product": "Phone", + "Date": "2016-09-30", + "Score": 36 + }, + { + "Product": "Phone", + "Date": "2016-10-14", + "Score": 7 + }, + { + "Product": "Phone", + "Date": "2016-10-28", + "Score": 17 + }, + { + "Product": "Phone", + "Date": "2016-11-10", + "Score": 9 + }, + { + "Product": "Phone", + "Date": "2016-11-24", + "Score": 61 + }, + { + "Product": "Phone", + "Date": "2016-12-08", + "Score": 45 + }, + { + "Product": "Phone", + "Date": "2016-12-21", + "Score": 87 + }, + { + "Product": "Phone", + "Date": "2017-01-04", + "Score": 12 + }, + { + "Product": "Phone", + "Date": "2017-01-18", + "Score": 24 + }, + { + "Product": "Phone", + "Date": "2017-01-31", + "Score": 62 + }, + { + "Product": "Phone", + "Date": "2017-02-14", + "Score": 31 + }, + { + "Product": "Phone", + "Date": "2017-02-28", + "Score": 58 + }, + { + "Product": "Phone", + "Date": "2017-03-14", + "Score": 33 + }, + { + "Product": "Phone", + "Date": "2017-03-27", + "Score": 59 + }, + { + "Product": "Phone", + "Date": "2017-04-10", + "Score": 76 + }, + { + "Product": "Phone", + "Date": "2017-04-24", + "Score": 15 + }, + { + "Product": "Phone", + "Date": "2017-05-07", + "Score": 9 + }, + { + "Product": "Phone", + "Date": "2017-05-21", + "Score": 86 + }, + { + "Product": "Phone", + "Date": "2017-06-04", + "Score": 42 + }, + { + "Product": "Phone", + "Date": "2017-06-17", + "Score": 83 + }, + { + "Product": "Phone", + "Date": "2017-07-01", + "Score": 53 + }, + { + "Product": "Phone", + "Date": "2017-07-15", + "Score": 74 + }, + { + "Product": "Phone", + "Date": "2017-07-28", + "Score": 84 + }, + { + "Product": "Phone", + "Date": "2017-08-11", + "Score": 64 + }, + { + "Product": "Phone", + "Date": "2017-08-25", + "Score": 28 + }, + { + "Product": "Phone", + "Date": "2017-09-07", + "Score": 92 + }, + { + "Product": "Phone", + "Date": "2017-09-21", + "Score": 98 + }, + { + "Product": "Phone", + "Date": "2017-10-05", + "Score": 88 + }, + { + "Product": "Phone", + "Date": "2017-10-19", + "Score": 4 + }, + { + "Product": "Phone", + "Date": "2017-11-01", + "Score": 97 + }, + { + "Product": "Phone", + "Date": "2017-11-15", + "Score": 21 + }, + { + "Product": "Phone", + "Date": "2017-11-29", + "Score": 86 + }, + { + "Product": "Phone", + "Date": "2017-12-12", + "Score": 95 + }, + { + "Product": "Phone", + "Date": "2017-12-26", + "Score": 53 + }, + { + "Product": "Phone", + "Date": "2018-01-09", + "Score": 33 + }, + { + "Product": "Phone", + "Date": "2018-01-22", + "Score": 82 + }, + { + "Product": "Phone", + "Date": "2018-02-05", + "Score": 46 + }, + { + "Product": "Phone", + "Date": "2018-02-19", + "Score": 74 + }, + { + "Product": "Phone", + "Date": "2018-03-04", + "Score": 54 + }, + { + "Product": "Phone", + "Date": "2018-03-18", + "Score": 88 + }, + { + "Product": "Phone", + "Date": "2018-04-01", + "Score": 89 + }, + { + "Product": "Phone", + "Date": "2018-04-14", + "Score": 61 + }, + { + "Product": "Phone", + "Date": "2018-04-28", + "Score": 17 + }, + { + "Product": "Phone", + "Date": "2018-05-12", + "Score": 58 + }, + { + "Product": "Phone", + "Date": "2018-05-26", + "Score": 26 + }, + { + "Product": "Phone", + "Date": "2018-06-08", + "Score": 1 + }, + { + "Product": "Phone", + "Date": "2018-06-22", + "Score": 41 + }, + { + "Product": "Phone", + "Date": "2018-07-06", + "Score": 34 + }, + { + "Product": "Phone", + "Date": "2018-07-19", + "Score": 7 + }, + { + "Product": "Phone", + "Date": "2018-08-02", + "Score": 55 + }, + { + "Product": "Phone", + "Date": "2018-08-16", + "Score": 34 + }, + { + "Product": "Phone", + "Date": "2018-08-29", + "Score": 64 + }, + { + "Product": "Phone", + "Date": "2018-09-12", + "Score": 37 + }, + { + "Product": "Phone", + "Date": "2018-09-26", + "Score": 37 + }, + { + "Product": "Phone", + "Date": "2018-10-09", + "Score": 55 + }, + { + "Product": "Phone", + "Date": "2018-10-23", + "Score": 22 + }, + { + "Product": "Phone", + "Date": "2018-11-06", + "Score": 92 + }, + { + "Product": "Phone", + "Date": "2018-11-19", + "Score": 96 + }, + { + "Product": "Phone", + "Date": "2018-12-03", + "Score": 4 + }, + { + "Product": "Phone", + "Date": "2018-12-17", + "Score": 51 + }, + { + "Product": "Tablet", + "Date": "2016-01-01", + "Score": 54 + }, + { + "Product": "Tablet", + "Date": "2016-01-14", + "Score": 76 + }, + { + "Product": "Tablet", + "Date": "2016-01-28", + "Score": 100 + }, + { + "Product": "Tablet", + "Date": "2016-02-11", + "Score": 45 + }, + { + "Product": "Tablet", + "Date": "2016-02-24", + "Score": 7 + }, + { + "Product": "Tablet", + "Date": "2016-03-09", + "Score": 59 + }, + { + "Product": "Tablet", + "Date": "2016-03-23", + "Score": 16 + }, + { + "Product": "Tablet", + "Date": "2016-04-05", + "Score": 50 + }, + { + "Product": "Tablet", + "Date": "2016-04-19", + "Score": 68 + }, + { + "Product": "Tablet", + "Date": "2016-05-03", + "Score": 94 + }, + { + "Product": "Tablet", + "Date": "2016-05-16", + "Score": 41 + }, + { + "Product": "Tablet", + "Date": "2016-05-30", + "Score": 61 + }, + { + "Product": "Tablet", + "Date": "2016-06-13", + "Score": 96 + }, + { + "Product": "Tablet", + "Date": "2016-06-26", + "Score": 18 + }, + { + "Product": "Tablet", + "Date": "2016-07-10", + "Score": 48 + }, + { + "Product": "Tablet", + "Date": "2016-07-24", + "Score": 64 + }, + { + "Product": "Tablet", + "Date": "2016-08-07", + "Score": 51 + }, + { + "Product": "Tablet", + "Date": "2016-08-20", + "Score": 61 + }, + { + "Product": "Tablet", + "Date": "2016-09-03", + "Score": 68 + }, + { + "Product": "Tablet", + "Date": "2016-09-17", + "Score": 65 + }, + { + "Product": "Tablet", + "Date": "2016-09-30", + "Score": 59 + }, + { + "Product": "Tablet", + "Date": "2016-10-14", + "Score": 84 + }, + { + "Product": "Tablet", + "Date": "2016-10-28", + "Score": 78 + }, + { + "Product": "Tablet", + "Date": "2016-11-10", + "Score": 39 + }, + { + "Product": "Tablet", + "Date": "2016-11-24", + "Score": 7 + }, + { + "Product": "Tablet", + "Date": "2016-12-08", + "Score": 69 + }, + { + "Product": "Tablet", + "Date": "2016-12-21", + "Score": 22 + }, + { + "Product": "Tablet", + "Date": "2017-01-04", + "Score": 96 + }, + { + "Product": "Tablet", + "Date": "2017-01-18", + "Score": 5 + }, + { + "Product": "Tablet", + "Date": "2017-01-31", + "Score": 66 + }, + { + "Product": "Tablet", + "Date": "2017-02-14", + "Score": 40 + }, + { + "Product": "Tablet", + "Date": "2017-02-28", + "Score": 13 + }, + { + "Product": "Tablet", + "Date": "2017-03-14", + "Score": 9 + }, + { + "Product": "Tablet", + "Date": "2017-03-27", + "Score": 46 + }, + { + "Product": "Tablet", + "Date": "2017-04-10", + "Score": 57 + }, + { + "Product": "Tablet", + "Date": "2017-04-24", + "Score": 12 + }, + { + "Product": "Tablet", + "Date": "2017-05-07", + "Score": 87 + }, + { + "Product": "Tablet", + "Date": "2017-05-21", + "Score": 57 + }, + { + "Product": "Tablet", + "Date": "2017-06-04", + "Score": 63 + }, + { + "Product": "Tablet", + "Date": "2017-06-17", + "Score": 6 + }, + { + "Product": "Tablet", + "Date": "2017-07-01", + "Score": 80 + }, + { + "Product": "Tablet", + "Date": "2017-07-15", + "Score": 85 + }, + { + "Product": "Tablet", + "Date": "2017-07-28", + "Score": 90 + }, + { + "Product": "Tablet", + "Date": "2017-08-11", + "Score": 40 + }, + { + "Product": "Tablet", + "Date": "2017-08-25", + "Score": 25 + }, + { + "Product": "Tablet", + "Date": "2017-09-07", + "Score": 89 + }, + { + "Product": "Tablet", + "Date": "2017-09-21", + "Score": 52 + }, + { + "Product": "Tablet", + "Date": "2017-10-05", + "Score": 0 + }, + { + "Product": "Tablet", + "Date": "2017-10-19", + "Score": 45 + }, + { + "Product": "Tablet", + "Date": "2017-11-01", + "Score": 31 + }, + { + "Product": "Tablet", + "Date": "2017-11-15", + "Score": 18 + }, + { + "Product": "Tablet", + "Date": "2017-11-29", + "Score": 46 + }, + { + "Product": "Tablet", + "Date": "2017-12-12", + "Score": 12 + }, + { + "Product": "Tablet", + "Date": "2017-12-26", + "Score": 10 + }, + { + "Product": "Tablet", + "Date": "2018-01-09", + "Score": 52 + }, + { + "Product": "Tablet", + "Date": "2018-01-22", + "Score": 90 + }, + { + "Product": "Tablet", + "Date": "2018-02-05", + "Score": 28 + }, + { + "Product": "Tablet", + "Date": "2018-02-19", + "Score": 31 + }, + { + "Product": "Tablet", + "Date": "2018-03-04", + "Score": 21 + }, + { + "Product": "Tablet", + "Date": "2018-03-18", + "Score": 57 + }, + { + "Product": "Tablet", + "Date": "2018-04-01", + "Score": 22 + }, + { + "Product": "Tablet", + "Date": "2018-04-14", + "Score": 95 + }, + { + "Product": "Tablet", + "Date": "2018-04-28", + "Score": 16 + }, + { + "Product": "Tablet", + "Date": "2018-05-12", + "Score": 46 + }, + { + "Product": "Tablet", + "Date": "2018-05-26", + "Score": 53 + }, + { + "Product": "Tablet", + "Date": "2018-06-08", + "Score": 77 + }, + { + "Product": "Tablet", + "Date": "2018-06-22", + "Score": 37 + }, + { + "Product": "Tablet", + "Date": "2018-07-06", + "Score": 20 + }, + { + "Product": "Tablet", + "Date": "2018-07-19", + "Score": 75 + }, + { + "Product": "Tablet", + "Date": "2018-08-02", + "Score": 12 + }, + { + "Product": "Tablet", + "Date": "2018-08-16", + "Score": 6 + }, + { + "Product": "Tablet", + "Date": "2018-08-29", + "Score": 5 + }, + { + "Product": "Tablet", + "Date": "2018-09-12", + "Score": 53 + }, + { + "Product": "Tablet", + "Date": "2018-09-26", + "Score": 92 + }, + { + "Product": "Tablet", + "Date": "2018-10-09", + "Score": 68 + }, + { + "Product": "Tablet", + "Date": "2018-10-23", + "Score": 43 + }, + { + "Product": "Tablet", + "Date": "2018-11-06", + "Score": 17 + }, + { + "Product": "Tablet", + "Date": "2018-11-19", + "Score": 50 + }, + { + "Product": "Tablet", + "Date": "2018-12-03", + "Score": 93 + }, + { + "Product": "Tablet", + "Date": "2018-12-17", + "Score": 64 + }, + { + "Product": "Desktop", + "Date": "2016-01-01", + "Score": 40 + }, + { + "Product": "Desktop", + "Date": "2016-01-14", + "Score": 79 + }, + { + "Product": "Desktop", + "Date": "2016-01-28", + "Score": 54 + }, + { + "Product": "Desktop", + "Date": "2016-02-11", + "Score": 82 + }, + { + "Product": "Desktop", + "Date": "2016-02-24", + "Score": 82 + }, + { + "Product": "Desktop", + "Date": "2016-03-09", + "Score": 67 + }, + { + "Product": "Desktop", + "Date": "2016-03-23", + "Score": 22 + }, + { + "Product": "Desktop", + "Date": "2016-04-05", + "Score": 32 + }, + { + "Product": "Desktop", + "Date": "2016-04-19", + "Score": 26 + }, + { + "Product": "Desktop", + "Date": "2016-05-03", + "Score": 94 + }, + { + "Product": "Desktop", + "Date": "2016-05-16", + "Score": 38 + }, + { + "Product": "Desktop", + "Date": "2016-05-30", + "Score": 23 + }, + { + "Product": "Desktop", + "Date": "2016-06-13", + "Score": 22 + }, + { + "Product": "Desktop", + "Date": "2016-06-26", + "Score": 44 + }, + { + "Product": "Desktop", + "Date": "2016-07-10", + "Score": 33 + }, + { + "Product": "Desktop", + "Date": "2016-07-24", + "Score": 6 + }, + { + "Product": "Desktop", + "Date": "2016-08-07", + "Score": 33 + }, + { + "Product": "Desktop", + "Date": "2016-08-20", + "Score": 84 + }, + { + "Product": "Desktop", + "Date": "2016-09-03", + "Score": 39 + }, + { + "Product": "Desktop", + "Date": "2016-09-17", + "Score": 83 + }, + { + "Product": "Desktop", + "Date": "2016-09-30", + "Score": 64 + }, + { + "Product": "Desktop", + "Date": "2016-10-14", + "Score": 55 + }, + { + "Product": "Desktop", + "Date": "2016-10-28", + "Score": 80 + }, + { + "Product": "Desktop", + "Date": "2016-11-10", + "Score": 67 + }, + { + "Product": "Desktop", + "Date": "2016-11-24", + "Score": 77 + }, + { + "Product": "Desktop", + "Date": "2016-12-08", + "Score": 79 + }, + { + "Product": "Desktop", + "Date": "2016-12-21", + "Score": 97 + }, + { + "Product": "Desktop", + "Date": "2017-01-04", + "Score": 71 + }, + { + "Product": "Desktop", + "Date": "2017-01-18", + "Score": 29 + }, + { + "Product": "Desktop", + "Date": "2017-01-31", + "Score": 0 + }, + { + "Product": "Desktop", + "Date": "2017-02-14", + "Score": 84 + }, + { + "Product": "Desktop", + "Date": "2017-02-28", + "Score": 53 + }, + { + "Product": "Desktop", + "Date": "2017-03-14", + "Score": 82 + }, + { + "Product": "Desktop", + "Date": "2017-03-27", + "Score": 22 + }, + { + "Product": "Desktop", + "Date": "2017-04-10", + "Score": 31 + }, + { + "Product": "Desktop", + "Date": "2017-04-24", + "Score": 5 + }, + { + "Product": "Desktop", + "Date": "2017-05-07", + "Score": 59 + }, + { + "Product": "Desktop", + "Date": "2017-05-21", + "Score": 80 + }, + { + "Product": "Desktop", + "Date": "2017-06-04", + "Score": 80 + }, + { + "Product": "Desktop", + "Date": "2017-06-17", + "Score": 92 + }, + { + "Product": "Desktop", + "Date": "2017-07-01", + "Score": 70 + }, + { + "Product": "Desktop", + "Date": "2017-07-15", + "Score": 96 + }, + { + "Product": "Desktop", + "Date": "2017-07-28", + "Score": 23 + }, + { + "Product": "Desktop", + "Date": "2017-08-11", + "Score": 54 + }, + { + "Product": "Desktop", + "Date": "2017-08-25", + "Score": 47 + }, + { + "Product": "Desktop", + "Date": "2017-09-07", + "Score": 19 + }, + { + "Product": "Desktop", + "Date": "2017-09-21", + "Score": 82 + }, + { + "Product": "Desktop", + "Date": "2017-10-05", + "Score": 31 + }, + { + "Product": "Desktop", + "Date": "2017-10-19", + "Score": 79 + }, + { + "Product": "Desktop", + "Date": "2017-11-01", + "Score": 58 + }, + { + "Product": "Desktop", + "Date": "2017-11-15", + "Score": 51 + }, + { + "Product": "Desktop", + "Date": "2017-11-29", + "Score": 65 + }, + { + "Product": "Desktop", + "Date": "2017-12-12", + "Score": 48 + }, + { + "Product": "Desktop", + "Date": "2017-12-26", + "Score": 51 + }, + { + "Product": "Desktop", + "Date": "2018-01-09", + "Score": 58 + }, + { + "Product": "Desktop", + "Date": "2018-01-22", + "Score": 65 + }, + { + "Product": "Desktop", + "Date": "2018-02-05", + "Score": 96 + }, + { + "Product": "Desktop", + "Date": "2018-02-19", + "Score": 73 + }, + { + "Product": "Desktop", + "Date": "2018-03-04", + "Score": 54 + }, + { + "Product": "Desktop", + "Date": "2018-03-18", + "Score": 2 + }, + { + "Product": "Desktop", + "Date": "2018-04-01", + "Score": 97 + }, + { + "Product": "Desktop", + "Date": "2018-04-14", + "Score": 38 + }, + { + "Product": "Desktop", + "Date": "2018-04-28", + "Score": 39 + }, + { + "Product": "Desktop", + "Date": "2018-05-12", + "Score": 92 + }, + { + "Product": "Desktop", + "Date": "2018-05-26", + "Score": 23 + }, + { + "Product": "Desktop", + "Date": "2018-06-08", + "Score": 22 + }, + { + "Product": "Desktop", + "Date": "2018-06-22", + "Score": 63 + }, + { + "Product": "Desktop", + "Date": "2018-07-06", + "Score": 43 + }, + { + "Product": "Desktop", + "Date": "2018-07-19", + "Score": 67 + }, + { + "Product": "Desktop", + "Date": "2018-08-02", + "Score": 73 + }, + { + "Product": "Desktop", + "Date": "2018-08-16", + "Score": 38 + }, + { + "Product": "Desktop", + "Date": "2018-08-29", + "Score": 23 + }, + { + "Product": "Desktop", + "Date": "2018-09-12", + "Score": 89 + }, + { + "Product": "Desktop", + "Date": "2018-09-26", + "Score": 81 + }, + { + "Product": "Desktop", + "Date": "2018-10-09", + "Score": 15 + }, + { + "Product": "Desktop", + "Date": "2018-10-23", + "Score": 88 + }, + { + "Product": "Desktop", + "Date": "2018-11-06", + "Score": 78 + }, + { + "Product": "Desktop", + "Date": "2018-11-19", + "Score": 99 + }, + { + "Product": "Desktop", + "Date": "2018-12-03", + "Score": 5 + }, + { + "Product": "Desktop", + "Date": "2018-12-17", + "Score": 74 + }, + { + "Product": "Monitor", + "Date": "2016-01-01", + "Score": 65 + }, + { + "Product": "Monitor", + "Date": "2016-01-14", + "Score": 59 + }, + { + "Product": "Monitor", + "Date": "2016-01-28", + "Score": 61 + }, + { + "Product": "Monitor", + "Date": "2016-02-11", + "Score": 63 + }, + { + "Product": "Monitor", + "Date": "2016-02-24", + "Score": 40 + }, + { + "Product": "Monitor", + "Date": "2016-03-09", + "Score": 99 + }, + { + "Product": "Monitor", + "Date": "2016-03-23", + "Score": 82 + }, + { + "Product": "Monitor", + "Date": "2016-04-05", + "Score": 6 + }, + { + "Product": "Monitor", + "Date": "2016-04-19", + "Score": 93 + }, + { + "Product": "Monitor", + "Date": "2016-05-03", + "Score": 59 + }, + { + "Product": "Monitor", + "Date": "2016-05-16", + "Score": 2 + }, + { + "Product": "Monitor", + "Date": "2016-05-30", + "Score": 7 + }, + { + "Product": "Monitor", + "Date": "2016-06-13", + "Score": 26 + }, + { + "Product": "Monitor", + "Date": "2016-06-26", + "Score": 62 + }, + { + "Product": "Monitor", + "Date": "2016-07-10", + "Score": 27 + }, + { + "Product": "Monitor", + "Date": "2016-07-24", + "Score": 14 + }, + { + "Product": "Monitor", + "Date": "2016-08-07", + "Score": 34 + }, + { + "Product": "Monitor", + "Date": "2016-08-20", + "Score": 33 + }, + { + "Product": "Monitor", + "Date": "2016-09-03", + "Score": 9 + }, + { + "Product": "Monitor", + "Date": "2016-09-17", + "Score": 19 + }, + { + "Product": "Monitor", + "Date": "2016-09-30", + "Score": 22 + }, + { + "Product": "Monitor", + "Date": "2016-10-14", + "Score": 79 + }, + { + "Product": "Monitor", + "Date": "2016-10-28", + "Score": 26 + }, + { + "Product": "Monitor", + "Date": "2016-11-10", + "Score": 7 + }, + { + "Product": "Monitor", + "Date": "2016-11-24", + "Score": 16 + }, + { + "Product": "Monitor", + "Date": "2016-12-08", + "Score": 52 + }, + { + "Product": "Monitor", + "Date": "2016-12-21", + "Score": 35 + }, + { + "Product": "Monitor", + "Date": "2017-01-04", + "Score": 50 + }, + { + "Product": "Monitor", + "Date": "2017-01-18", + "Score": 37 + }, + { + "Product": "Monitor", + "Date": "2017-01-31", + "Score": 17 + }, + { + "Product": "Monitor", + "Date": "2017-02-14", + "Score": 75 + }, + { + "Product": "Monitor", + "Date": "2017-02-28", + "Score": 58 + }, + { + "Product": "Monitor", + "Date": "2017-03-14", + "Score": 88 + }, + { + "Product": "Monitor", + "Date": "2017-03-27", + "Score": 6 + }, + { + "Product": "Monitor", + "Date": "2017-04-10", + "Score": 60 + }, + { + "Product": "Monitor", + "Date": "2017-04-24", + "Score": 85 + }, + { + "Product": "Monitor", + "Date": "2017-05-07", + "Score": 40 + }, + { + "Product": "Monitor", + "Date": "2017-05-21", + "Score": 31 + }, + { + "Product": "Monitor", + "Date": "2017-06-04", + "Score": 34 + }, + { + "Product": "Monitor", + "Date": "2017-06-17", + "Score": 54 + }, + { + "Product": "Monitor", + "Date": "2017-07-01", + "Score": 62 + }, + { + "Product": "Monitor", + "Date": "2017-07-15", + "Score": 83 + }, + { + "Product": "Monitor", + "Date": "2017-07-28", + "Score": 77 + }, + { + "Product": "Monitor", + "Date": "2017-08-11", + "Score": 81 + }, + { + "Product": "Monitor", + "Date": "2017-08-25", + "Score": 85 + }, + { + "Product": "Monitor", + "Date": "2017-09-07", + "Score": 57 + }, + { + "Product": "Monitor", + "Date": "2017-09-21", + "Score": 43 + }, + { + "Product": "Monitor", + "Date": "2017-10-05", + "Score": 80 + }, + { + "Product": "Monitor", + "Date": "2017-10-19", + "Score": 30 + }, + { + "Product": "Monitor", + "Date": "2017-11-01", + "Score": 11 + }, + { + "Product": "Monitor", + "Date": "2017-11-15", + "Score": 53 + }, + { + "Product": "Monitor", + "Date": "2017-11-29", + "Score": 35 + }, + { + "Product": "Monitor", + "Date": "2017-12-12", + "Score": 5 + }, + { + "Product": "Monitor", + "Date": "2017-12-26", + "Score": 15 + }, + { + "Product": "Monitor", + "Date": "2018-01-09", + "Score": 9 + }, + { + "Product": "Monitor", + "Date": "2018-01-22", + "Score": 46 + }, + { + "Product": "Monitor", + "Date": "2018-02-05", + "Score": 65 + }, + { + "Product": "Monitor", + "Date": "2018-02-19", + "Score": 74 + }, + { + "Product": "Monitor", + "Date": "2018-03-04", + "Score": 85 + }, + { + "Product": "Monitor", + "Date": "2018-03-18", + "Score": 96 + }, + { + "Product": "Monitor", + "Date": "2018-04-01", + "Score": 4 + }, + { + "Product": "Monitor", + "Date": "2018-04-14", + "Score": 79 + }, + { + "Product": "Monitor", + "Date": "2018-04-28", + "Score": 66 + }, + { + "Product": "Monitor", + "Date": "2018-05-12", + "Score": 36 + }, + { + "Product": "Monitor", + "Date": "2018-05-26", + "Score": 97 + }, + { + "Product": "Monitor", + "Date": "2018-06-08", + "Score": 89 + }, + { + "Product": "Monitor", + "Date": "2018-06-22", + "Score": 49 + }, + { + "Product": "Monitor", + "Date": "2018-07-06", + "Score": 100 + }, + { + "Product": "Monitor", + "Date": "2018-07-19", + "Score": 31 + }, + { + "Product": "Monitor", + "Date": "2018-08-02", + "Score": 18 + }, + { + "Product": "Monitor", + "Date": "2018-08-16", + "Score": 32 + }, + { + "Product": "Monitor", + "Date": "2018-08-29", + "Score": 86 + }, + { + "Product": "Monitor", + "Date": "2018-09-12", + "Score": 63 + }, + { + "Product": "Monitor", + "Date": "2018-09-26", + "Score": 41 + }, + { + "Product": "Monitor", + "Date": "2018-10-09", + "Score": 23 + }, + { + "Product": "Monitor", + "Date": "2018-10-23", + "Score": 76 + }, + { + "Product": "Monitor", + "Date": "2018-11-06", + "Score": 89 + }, + { + "Product": "Monitor", + "Date": "2018-11-19", + "Score": 42 + }, + { + "Product": "Monitor", + "Date": "2018-12-03", + "Score": 12 + }, + { + "Product": "Monitor", + "Date": "2018-12-17", + "Score": 16 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/06-card60.flint.json b/test-harness/excel/evaluations/inputs/heatmap/06-card60.flint.json new file mode 100644 index 00000000..a2a68837 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/06-card60.flint.json @@ -0,0 +1,12023 @@ +{ + "semantic_types": { + "StartDate": "Date", + "EndDate": "Date", + "Correlation": "Quantity" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "StartDate", + "y": "EndDate", + "color": "Correlation" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "StartDate": "2018-01-01", + "EndDate": "2020-01-01", + "Correlation": -0.29 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-01-28", + "Correlation": 0.35 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-02-24", + "Correlation": 0.55 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-03-23", + "Correlation": 0.19 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-04-19", + "Correlation": 0.3 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-05-16", + "Correlation": -0.96 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-06-13", + "Correlation": 0.53 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-07-10", + "Correlation": -0.56 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-08-07", + "Correlation": 0.03 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-09-03", + "Correlation": 0.24 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-09-30", + "Correlation": 0.97 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-10-28", + "Correlation": 0.93 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-11-24", + "Correlation": -0.59 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2020-12-21", + "Correlation": 0.19 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-01-18", + "Correlation": 0.12 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-02-14", + "Correlation": 0.78 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-03-14", + "Correlation": -0.99 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-04-10", + "Correlation": 0.75 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-05-07", + "Correlation": 0.6 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-06-04", + "Correlation": 0.92 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-07-01", + "Correlation": -0.74 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-07-28", + "Correlation": -0.87 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-08-25", + "Correlation": -0.43 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-09-21", + "Correlation": -0.27 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-10-19", + "Correlation": 0.51 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-11-15", + "Correlation": 0.64 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2021-12-12", + "Correlation": 0.66 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-01-09", + "Correlation": 0.64 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-02-05", + "Correlation": 0.56 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-03-04", + "Correlation": -0.78 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-04-01", + "Correlation": 0.2 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-04-28", + "Correlation": -0.47 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-05-26", + "Correlation": 0.33 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-06-22", + "Correlation": 0.11 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-07-19", + "Correlation": 0.48 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-08-16", + "Correlation": -0.94 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-09-12", + "Correlation": 0.69 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-10-09", + "Correlation": 0.83 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-11-06", + "Correlation": -0.4 + }, + { + "StartDate": "2018-01-01", + "EndDate": "2022-12-03", + "Correlation": -0.23 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-01-01", + "Correlation": -0.25 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-01-28", + "Correlation": -0.65 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-02-24", + "Correlation": 0.83 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-03-23", + "Correlation": -0.82 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-04-19", + "Correlation": -0.23 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-05-16", + "Correlation": 0.21 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-06-13", + "Correlation": -0.2 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-07-10", + "Correlation": 0.1 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-08-07", + "Correlation": 0.87 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-09-03", + "Correlation": 0.37 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-09-30", + "Correlation": 0.57 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-10-28", + "Correlation": 0.46 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-11-24", + "Correlation": 0.58 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2020-12-21", + "Correlation": 0.17 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-01-18", + "Correlation": 0.37 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-02-14", + "Correlation": -0.56 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-03-14", + "Correlation": -0.88 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-04-10", + "Correlation": 0.83 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-05-07", + "Correlation": -0.22 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-06-04", + "Correlation": -0.17 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-07-01", + "Correlation": 0.69 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-07-28", + "Correlation": -0.22 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-08-25", + "Correlation": 0.41 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-09-21", + "Correlation": -0.27 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-10-19", + "Correlation": -0.22 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-11-15", + "Correlation": -0.89 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2021-12-12", + "Correlation": 0.97 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-01-09", + "Correlation": 0.18 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-02-05", + "Correlation": 0.08 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-03-04", + "Correlation": -0.73 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-04-01", + "Correlation": -0.66 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-04-28", + "Correlation": 0.72 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-05-26", + "Correlation": 0.88 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-06-22", + "Correlation": 0.61 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-07-19", + "Correlation": -0.01 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-08-16", + "Correlation": 0.19 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-09-12", + "Correlation": -0.64 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-10-09", + "Correlation": -0.75 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-11-06", + "Correlation": -0.57 + }, + { + "StartDate": "2018-01-19", + "EndDate": "2022-12-03", + "Correlation": 0.01 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-01-01", + "Correlation": 0.21 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-01-28", + "Correlation": -0.86 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-02-24", + "Correlation": 0.51 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-03-23", + "Correlation": -0.48 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-04-19", + "Correlation": 0.75 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-05-16", + "Correlation": -0.54 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-06-13", + "Correlation": 0.33 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-07-10", + "Correlation": 0.51 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-08-07", + "Correlation": -0.19 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-09-03", + "Correlation": 0.68 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-09-30", + "Correlation": -0.55 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-10-28", + "Correlation": -0.04 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-11-24", + "Correlation": -0.43 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2020-12-21", + "Correlation": 0.91 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-01-18", + "Correlation": 0.72 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-02-14", + "Correlation": -0.51 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-03-14", + "Correlation": 0.65 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-04-10", + "Correlation": -0.63 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-05-07", + "Correlation": 0.78 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-06-04", + "Correlation": -0.57 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-07-01", + "Correlation": -0.08 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-07-28", + "Correlation": -0.72 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-08-25", + "Correlation": -0.01 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-09-21", + "Correlation": 0.7 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-10-19", + "Correlation": -0.31 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-11-15", + "Correlation": -0.79 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2021-12-12", + "Correlation": -0.57 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-01-09", + "Correlation": -0.77 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-02-05", + "Correlation": 0.72 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-03-04", + "Correlation": 0.93 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-04-01", + "Correlation": -0.59 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-04-28", + "Correlation": 0.84 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-05-26", + "Correlation": -0.02 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-06-22", + "Correlation": -0.97 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-07-19", + "Correlation": 0.23 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-08-16", + "Correlation": 0.73 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-09-12", + "Correlation": 0.33 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-10-09", + "Correlation": 0.53 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-11-06", + "Correlation": -0.98 + }, + { + "StartDate": "2018-02-06", + "EndDate": "2022-12-03", + "Correlation": 0.14 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-01-01", + "Correlation": 0.13 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-01-28", + "Correlation": -0.12 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-02-24", + "Correlation": -0.94 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-03-23", + "Correlation": 0.81 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-04-19", + "Correlation": 0.96 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-05-16", + "Correlation": -0.35 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-06-13", + "Correlation": 0.94 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-07-10", + "Correlation": -0.89 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-08-07", + "Correlation": -0.72 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-09-03", + "Correlation": -0.25 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-09-30", + "Correlation": 0.77 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-10-28", + "Correlation": 0.48 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-11-24", + "Correlation": -0.91 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2020-12-21", + "Correlation": 0.38 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-01-18", + "Correlation": -0.63 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-02-14", + "Correlation": -0.97 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-03-14", + "Correlation": -0.69 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-04-10", + "Correlation": -0.41 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-05-07", + "Correlation": 0.21 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-06-04", + "Correlation": -0.99 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-07-01", + "Correlation": 0.31 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-07-28", + "Correlation": -0.52 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-08-25", + "Correlation": 0.22 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-09-21", + "Correlation": -0.82 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-10-19", + "Correlation": 0.95 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-11-15", + "Correlation": -0.19 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2021-12-12", + "Correlation": -0.64 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-01-09", + "Correlation": 0.63 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-02-05", + "Correlation": -0.56 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-03-04", + "Correlation": 0.61 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-04-01", + "Correlation": 0.95 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-04-28", + "Correlation": -0.3 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-05-26", + "Correlation": 0.7 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-06-22", + "Correlation": -0.68 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-07-19", + "Correlation": 0.76 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-08-16", + "Correlation": 0.8 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-09-12", + "Correlation": -0.89 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-10-09", + "Correlation": -0.21 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-11-06", + "Correlation": 0 + }, + { + "StartDate": "2018-02-24", + "EndDate": "2022-12-03", + "Correlation": 0.15 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-01-01", + "Correlation": 0.27 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-01-28", + "Correlation": 0.62 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-02-24", + "Correlation": 0.71 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-03-23", + "Correlation": 0.47 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-04-19", + "Correlation": 0.68 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-05-16", + "Correlation": 0.63 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-06-13", + "Correlation": 0.57 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-07-10", + "Correlation": 0.56 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-08-07", + "Correlation": 0.35 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-09-03", + "Correlation": -0.36 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-09-30", + "Correlation": 0.1 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-10-28", + "Correlation": -0.18 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-11-24", + "Correlation": 0.48 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2020-12-21", + "Correlation": -0.5 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-01-18", + "Correlation": 0.84 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-02-14", + "Correlation": 0.75 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-03-14", + "Correlation": -0.43 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-04-10", + "Correlation": 0.5 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-05-07", + "Correlation": 0.06 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-06-04", + "Correlation": 0.15 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-07-01", + "Correlation": 0.24 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-07-28", + "Correlation": -0.35 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-08-25", + "Correlation": -0.65 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-09-21", + "Correlation": -0.88 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-10-19", + "Correlation": 0.94 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-11-15", + "Correlation": 0.24 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2021-12-12", + "Correlation": -0.23 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-01-09", + "Correlation": 0.12 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-02-05", + "Correlation": 0.31 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-03-04", + "Correlation": 0.87 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-04-01", + "Correlation": 0.73 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-04-28", + "Correlation": -0.37 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-05-26", + "Correlation": -0.22 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-06-22", + "Correlation": -0.56 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-07-19", + "Correlation": 0.56 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-08-16", + "Correlation": -0.11 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-09-12", + "Correlation": 0.91 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-10-09", + "Correlation": -0.01 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-11-06", + "Correlation": -0.78 + }, + { + "StartDate": "2018-03-15", + "EndDate": "2022-12-03", + "Correlation": 0.59 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-01-01", + "Correlation": -0.99 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-01-28", + "Correlation": -0.93 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-02-24", + "Correlation": -0.34 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-03-23", + "Correlation": 0.26 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-04-19", + "Correlation": -0.74 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-05-16", + "Correlation": -0.73 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-06-13", + "Correlation": -0.51 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-07-10", + "Correlation": 0.83 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-08-07", + "Correlation": 0.75 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-09-03", + "Correlation": 0.56 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-09-30", + "Correlation": -0.33 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-10-28", + "Correlation": -0.26 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-11-24", + "Correlation": -0.3 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2020-12-21", + "Correlation": 0.5 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-01-18", + "Correlation": -0.07 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-02-14", + "Correlation": 0.02 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-03-14", + "Correlation": -0.74 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-04-10", + "Correlation": -0.92 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-05-07", + "Correlation": 0.91 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-06-04", + "Correlation": -0.62 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-07-01", + "Correlation": 0.59 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-07-28", + "Correlation": -0.51 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-08-25", + "Correlation": 0.79 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-09-21", + "Correlation": -0.47 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-10-19", + "Correlation": 0.4 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-11-15", + "Correlation": -0.77 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2021-12-12", + "Correlation": 0.06 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-01-09", + "Correlation": 0.85 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-02-05", + "Correlation": 0.22 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-03-04", + "Correlation": 0.71 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-04-01", + "Correlation": -0.72 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-04-28", + "Correlation": -0.44 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-05-26", + "Correlation": 0.18 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-06-22", + "Correlation": -0.06 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-07-19", + "Correlation": -0.63 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-08-16", + "Correlation": 0.87 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-09-12", + "Correlation": -0.15 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-10-09", + "Correlation": 0.16 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-11-06", + "Correlation": 0.22 + }, + { + "StartDate": "2018-04-02", + "EndDate": "2022-12-03", + "Correlation": 0.95 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-01-01", + "Correlation": -0.7 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-01-28", + "Correlation": -0.89 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-02-24", + "Correlation": 0.67 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-03-23", + "Correlation": 0.58 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-04-19", + "Correlation": -0.99 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-05-16", + "Correlation": 0.13 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-06-13", + "Correlation": 0.46 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-07-10", + "Correlation": 0.32 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-08-07", + "Correlation": 0.06 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-09-03", + "Correlation": -0.52 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-09-30", + "Correlation": -0.61 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-10-28", + "Correlation": 0.91 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-11-24", + "Correlation": -0.74 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2020-12-21", + "Correlation": 0.55 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-01-18", + "Correlation": -0.94 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-02-14", + "Correlation": 0.03 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-03-14", + "Correlation": 0.78 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-04-10", + "Correlation": -0.62 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-05-07", + "Correlation": 0.33 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-06-04", + "Correlation": 0.24 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-07-01", + "Correlation": 0.97 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-07-28", + "Correlation": -0.88 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-08-25", + "Correlation": -0.37 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-09-21", + "Correlation": -0.85 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-10-19", + "Correlation": 0.37 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-11-15", + "Correlation": -0.56 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2021-12-12", + "Correlation": -0.94 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-01-09", + "Correlation": 0.79 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-02-05", + "Correlation": 0.35 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-03-04", + "Correlation": -1 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-04-01", + "Correlation": -0.65 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-04-28", + "Correlation": 0.68 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-05-26", + "Correlation": -0.44 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-06-22", + "Correlation": -0.35 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-07-19", + "Correlation": -0.35 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-08-16", + "Correlation": -0.86 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-09-12", + "Correlation": 0.33 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-10-09", + "Correlation": -0.91 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-11-06", + "Correlation": 0.2 + }, + { + "StartDate": "2018-04-20", + "EndDate": "2022-12-03", + "Correlation": -0.93 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-01-01", + "Correlation": 0.46 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-01-28", + "Correlation": 0.17 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-02-24", + "Correlation": -0.56 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-03-23", + "Correlation": 0.42 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-04-19", + "Correlation": 0.39 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-05-16", + "Correlation": -0.37 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-06-13", + "Correlation": -0.16 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-07-10", + "Correlation": -0.35 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-08-07", + "Correlation": -0.07 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-09-03", + "Correlation": 0.78 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-09-30", + "Correlation": -0.21 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-10-28", + "Correlation": -0.79 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-11-24", + "Correlation": -0.47 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2020-12-21", + "Correlation": -0.13 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-01-18", + "Correlation": 0.61 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-02-14", + "Correlation": 0.77 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-03-14", + "Correlation": -0.19 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-04-10", + "Correlation": -0.65 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-05-07", + "Correlation": 0.45 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-06-04", + "Correlation": -0.77 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-07-01", + "Correlation": -0.3 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-07-28", + "Correlation": -0.66 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-08-25", + "Correlation": 0.47 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-09-21", + "Correlation": -0.5 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-10-19", + "Correlation": -0.56 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-11-15", + "Correlation": -0.4 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2021-12-12", + "Correlation": 0.19 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-01-09", + "Correlation": 0.01 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-02-05", + "Correlation": -0.89 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-03-04", + "Correlation": -0.79 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-04-01", + "Correlation": -0.12 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-04-28", + "Correlation": -0.52 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-05-26", + "Correlation": -0.64 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-06-22", + "Correlation": 0.72 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-07-19", + "Correlation": 0.33 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-08-16", + "Correlation": 0.97 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-09-12", + "Correlation": 0.88 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-10-09", + "Correlation": 0.66 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-11-06", + "Correlation": 0.04 + }, + { + "StartDate": "2018-05-08", + "EndDate": "2022-12-03", + "Correlation": -0.18 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-01-01", + "Correlation": -0.11 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-01-28", + "Correlation": 0.08 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-02-24", + "Correlation": -0.64 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-03-23", + "Correlation": -0.27 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-04-19", + "Correlation": 0.32 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-05-16", + "Correlation": -0.74 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-06-13", + "Correlation": -0.1 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-07-10", + "Correlation": -0.11 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-08-07", + "Correlation": 0.99 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-09-03", + "Correlation": 0.95 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-09-30", + "Correlation": 0.89 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-10-28", + "Correlation": -0.74 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-11-24", + "Correlation": -0.86 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2020-12-21", + "Correlation": 0.31 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-01-18", + "Correlation": -0.43 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-02-14", + "Correlation": -0.56 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-03-14", + "Correlation": -0.59 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-04-10", + "Correlation": 0.95 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-05-07", + "Correlation": -0.21 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-06-04", + "Correlation": -0.96 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-07-01", + "Correlation": 0.17 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-07-28", + "Correlation": -0.33 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-08-25", + "Correlation": 0.85 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-09-21", + "Correlation": -0.07 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-10-19", + "Correlation": -0.34 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-11-15", + "Correlation": -0.17 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2021-12-12", + "Correlation": -0.22 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-01-09", + "Correlation": -0.13 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-02-05", + "Correlation": -0.06 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-03-04", + "Correlation": 0.27 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-04-01", + "Correlation": 0.11 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-04-28", + "Correlation": -0.69 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-05-26", + "Correlation": -0.8 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-06-22", + "Correlation": -0.21 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-07-19", + "Correlation": -0.14 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-08-16", + "Correlation": 0.26 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-09-12", + "Correlation": -0.28 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-10-09", + "Correlation": 0.34 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-11-06", + "Correlation": 0.12 + }, + { + "StartDate": "2018-05-27", + "EndDate": "2022-12-03", + "Correlation": 0.39 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-01-01", + "Correlation": -0.29 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-01-28", + "Correlation": -0.47 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-02-24", + "Correlation": -0.29 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-03-23", + "Correlation": -0.25 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-04-19", + "Correlation": -0.25 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-05-16", + "Correlation": 0.15 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-06-13", + "Correlation": 0.5 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-07-10", + "Correlation": -0.05 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-08-07", + "Correlation": -0.32 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-09-03", + "Correlation": 0.7 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-09-30", + "Correlation": 0.19 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-10-28", + "Correlation": 0.35 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-11-24", + "Correlation": -0.58 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2020-12-21", + "Correlation": 0.91 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-01-18", + "Correlation": 0.1 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-02-14", + "Correlation": 0.8 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-03-14", + "Correlation": -0.65 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-04-10", + "Correlation": 0.23 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-05-07", + "Correlation": 0.34 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-06-04", + "Correlation": 0.66 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-07-01", + "Correlation": 0.42 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-07-28", + "Correlation": 0.17 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-08-25", + "Correlation": 0.65 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-09-21", + "Correlation": 0.29 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-10-19", + "Correlation": -0.14 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-11-15", + "Correlation": 0.09 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2021-12-12", + "Correlation": 0.7 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-01-09", + "Correlation": 0.88 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-02-05", + "Correlation": -0.84 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-03-04", + "Correlation": -0.48 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-04-01", + "Correlation": -0.11 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-04-28", + "Correlation": 0.82 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-05-26", + "Correlation": -0.27 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-06-22", + "Correlation": 0.63 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-07-19", + "Correlation": 0.63 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-08-16", + "Correlation": -0.68 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-09-12", + "Correlation": -0.61 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-10-09", + "Correlation": -0.95 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-11-06", + "Correlation": 0.86 + }, + { + "StartDate": "2018-06-14", + "EndDate": "2022-12-03", + "Correlation": 0.9 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-01-01", + "Correlation": 0.74 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-01-28", + "Correlation": -0.8 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-02-24", + "Correlation": -0.3 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-03-23", + "Correlation": 0.28 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-04-19", + "Correlation": 0.31 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-05-16", + "Correlation": -0.37 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-06-13", + "Correlation": -0.1 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-07-10", + "Correlation": 0.74 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-08-07", + "Correlation": -0.91 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-09-03", + "Correlation": 0.49 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-09-30", + "Correlation": -0.5 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-10-28", + "Correlation": -0.65 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-11-24", + "Correlation": 0.85 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2020-12-21", + "Correlation": 0.57 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-01-18", + "Correlation": 0.79 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-02-14", + "Correlation": 0.46 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-03-14", + "Correlation": -0.5 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-04-10", + "Correlation": -0.83 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-05-07", + "Correlation": 0.31 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-06-04", + "Correlation": 0.6 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-07-01", + "Correlation": -0.69 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-07-28", + "Correlation": 0.15 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-08-25", + "Correlation": 0.56 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-09-21", + "Correlation": -0.1 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-10-19", + "Correlation": 0.95 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-11-15", + "Correlation": -0.68 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2021-12-12", + "Correlation": 0.65 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-01-09", + "Correlation": 0.5 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-02-05", + "Correlation": -0.99 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-03-04", + "Correlation": -0.76 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-04-01", + "Correlation": 0.07 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-04-28", + "Correlation": -0.25 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-05-26", + "Correlation": -0.72 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-06-22", + "Correlation": 0.43 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-07-19", + "Correlation": -0.26 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-08-16", + "Correlation": -0.44 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-09-12", + "Correlation": 0.64 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-10-09", + "Correlation": 0.87 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-11-06", + "Correlation": -0.71 + }, + { + "StartDate": "2018-07-02", + "EndDate": "2022-12-03", + "Correlation": -0.4 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-01-01", + "Correlation": 0.28 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-01-28", + "Correlation": -0.8 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-02-24", + "Correlation": 0.76 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-03-23", + "Correlation": -0.18 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-04-19", + "Correlation": 0.56 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-05-16", + "Correlation": 0.06 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-06-13", + "Correlation": 0.9 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-07-10", + "Correlation": 0.16 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-08-07", + "Correlation": -0.77 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-09-03", + "Correlation": 0.4 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-09-30", + "Correlation": 0.63 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-10-28", + "Correlation": -0.19 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-11-24", + "Correlation": 0.07 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2020-12-21", + "Correlation": -0.18 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-01-18", + "Correlation": -0.08 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-02-14", + "Correlation": 0.53 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-03-14", + "Correlation": 0.02 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-04-10", + "Correlation": 0.81 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-05-07", + "Correlation": 0.56 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-06-04", + "Correlation": -0.04 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-07-01", + "Correlation": 0.43 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-07-28", + "Correlation": -0.71 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-08-25", + "Correlation": -0.63 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-09-21", + "Correlation": -0.26 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-10-19", + "Correlation": -0.71 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-11-15", + "Correlation": 0.49 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2021-12-12", + "Correlation": -0.82 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-01-09", + "Correlation": -0.09 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-02-05", + "Correlation": -0.25 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-03-04", + "Correlation": 0.89 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-04-01", + "Correlation": -0.85 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-04-28", + "Correlation": -0.23 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-05-26", + "Correlation": -0.12 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-06-22", + "Correlation": -0.88 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-07-19", + "Correlation": 0.59 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-08-16", + "Correlation": -0.12 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-09-12", + "Correlation": 0.26 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-10-09", + "Correlation": 0.73 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-11-06", + "Correlation": -0.55 + }, + { + "StartDate": "2018-07-20", + "EndDate": "2022-12-03", + "Correlation": -0.78 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-01-01", + "Correlation": 0.54 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-01-28", + "Correlation": -0.99 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-02-24", + "Correlation": 0.82 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-03-23", + "Correlation": -0.86 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-04-19", + "Correlation": 0.79 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-05-16", + "Correlation": 0.99 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-06-13", + "Correlation": 0.38 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-07-10", + "Correlation": -0.06 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-08-07", + "Correlation": -0.43 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-09-03", + "Correlation": -0.77 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-09-30", + "Correlation": 0.4 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-10-28", + "Correlation": 0.56 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-11-24", + "Correlation": 0.57 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2020-12-21", + "Correlation": 0.86 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-01-18", + "Correlation": 0.94 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-02-14", + "Correlation": -0.82 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-03-14", + "Correlation": -0.92 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-04-10", + "Correlation": 0.07 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-05-07", + "Correlation": -0.97 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-06-04", + "Correlation": -0.41 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-07-01", + "Correlation": -0.96 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-07-28", + "Correlation": -0.15 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-08-25", + "Correlation": -0.84 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-09-21", + "Correlation": 0.89 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-10-19", + "Correlation": -0.9 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-11-15", + "Correlation": -0.09 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2021-12-12", + "Correlation": -0.15 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-01-09", + "Correlation": -0.71 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-02-05", + "Correlation": 0.21 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-03-04", + "Correlation": -0.44 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-04-01", + "Correlation": -0.55 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-04-28", + "Correlation": 0.5 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-05-26", + "Correlation": 0.52 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-06-22", + "Correlation": -0.73 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-07-19", + "Correlation": 0.35 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-08-16", + "Correlation": -0.46 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-09-12", + "Correlation": -0.3 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-10-09", + "Correlation": -0.02 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-11-06", + "Correlation": -0.45 + }, + { + "StartDate": "2018-08-08", + "EndDate": "2022-12-03", + "Correlation": 0.01 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-01-01", + "Correlation": -0.51 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-01-28", + "Correlation": -0.33 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-02-24", + "Correlation": -0.99 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-03-23", + "Correlation": 0.12 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-04-19", + "Correlation": 0.66 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-05-16", + "Correlation": -0.21 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-06-13", + "Correlation": 0.12 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-07-10", + "Correlation": 0.6 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-08-07", + "Correlation": -0.32 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-09-03", + "Correlation": -0.27 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-09-30", + "Correlation": -0.54 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-10-28", + "Correlation": -0.4 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-11-24", + "Correlation": 0.9 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2020-12-21", + "Correlation": 0.78 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-01-18", + "Correlation": -0.43 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-02-14", + "Correlation": 0.66 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-03-14", + "Correlation": -0.54 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-04-10", + "Correlation": 0.62 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-05-07", + "Correlation": 0.87 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-06-04", + "Correlation": 0.2 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-07-01", + "Correlation": 0.49 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-07-28", + "Correlation": -0.4 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-08-25", + "Correlation": 0.61 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-09-21", + "Correlation": 0.86 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-10-19", + "Correlation": -0.69 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-11-15", + "Correlation": 0.75 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2021-12-12", + "Correlation": 0.22 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-01-09", + "Correlation": -0.26 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-02-05", + "Correlation": 0.59 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-03-04", + "Correlation": 0.23 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-04-01", + "Correlation": -0.75 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-04-28", + "Correlation": -0.74 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-05-26", + "Correlation": -0.31 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-06-22", + "Correlation": 0.7 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-07-19", + "Correlation": 0.35 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-08-16", + "Correlation": 0.41 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-09-12", + "Correlation": -0.18 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-10-09", + "Correlation": 0.86 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-11-06", + "Correlation": -0.24 + }, + { + "StartDate": "2018-08-26", + "EndDate": "2022-12-03", + "Correlation": 0.51 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-01-01", + "Correlation": -0.49 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-01-28", + "Correlation": -0.11 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-02-24", + "Correlation": -0.53 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-03-23", + "Correlation": 0.07 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-04-19", + "Correlation": 0.74 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-05-16", + "Correlation": 0.99 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-06-13", + "Correlation": -0.25 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-07-10", + "Correlation": -0.2 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-08-07", + "Correlation": -0.15 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-09-03", + "Correlation": 0.8 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-09-30", + "Correlation": 0.05 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-10-28", + "Correlation": -0.8 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-11-24", + "Correlation": 0.25 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2020-12-21", + "Correlation": 0.5 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-01-18", + "Correlation": -0.79 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-02-14", + "Correlation": -0.81 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-03-14", + "Correlation": 0.89 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-04-10", + "Correlation": 0.34 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-05-07", + "Correlation": -0.75 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-06-04", + "Correlation": 0.32 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-07-01", + "Correlation": 0.37 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-07-28", + "Correlation": -0.36 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-08-25", + "Correlation": -0.93 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-09-21", + "Correlation": 0.64 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-10-19", + "Correlation": -0.88 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-11-15", + "Correlation": -0.24 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2021-12-12", + "Correlation": 0.52 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-01-09", + "Correlation": 0.12 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-02-05", + "Correlation": 0.02 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-03-04", + "Correlation": -0.01 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-04-01", + "Correlation": 0.91 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-04-28", + "Correlation": 0.99 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-05-26", + "Correlation": -0.01 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-06-22", + "Correlation": 0.44 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-07-19", + "Correlation": -0.5 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-08-16", + "Correlation": 0.66 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-09-12", + "Correlation": 0.44 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-10-09", + "Correlation": -0.03 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-11-06", + "Correlation": 0.36 + }, + { + "StartDate": "2018-09-13", + "EndDate": "2022-12-03", + "Correlation": 0.53 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-01-01", + "Correlation": -0.97 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-01-28", + "Correlation": 0.98 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-02-24", + "Correlation": -0.81 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-03-23", + "Correlation": -0.7 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-04-19", + "Correlation": 0.99 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-05-16", + "Correlation": -0.85 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-06-13", + "Correlation": -0.95 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-07-10", + "Correlation": -0.51 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-08-07", + "Correlation": 0.99 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-09-03", + "Correlation": -0.61 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-09-30", + "Correlation": 0.81 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-10-28", + "Correlation": 0.4 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-11-24", + "Correlation": -1 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2020-12-21", + "Correlation": 0.62 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-01-18", + "Correlation": -0.14 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-02-14", + "Correlation": 0.85 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-03-14", + "Correlation": 1 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-04-10", + "Correlation": 0.36 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-05-07", + "Correlation": -0.81 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-06-04", + "Correlation": 0.46 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-07-01", + "Correlation": -0.49 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-07-28", + "Correlation": -0.49 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-08-25", + "Correlation": -0.51 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-09-21", + "Correlation": 0.07 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-10-19", + "Correlation": 0.69 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-11-15", + "Correlation": 0.37 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2021-12-12", + "Correlation": -0.96 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-01-09", + "Correlation": 0.34 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-02-05", + "Correlation": 0.73 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-03-04", + "Correlation": -0.25 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-04-01", + "Correlation": -0.06 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-04-28", + "Correlation": 0.74 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-05-26", + "Correlation": 0.13 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-06-22", + "Correlation": -0.26 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-07-19", + "Correlation": 0.5 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-08-16", + "Correlation": -0.32 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-09-12", + "Correlation": 0.28 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-10-09", + "Correlation": 0.42 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-11-06", + "Correlation": 0.16 + }, + { + "StartDate": "2018-10-01", + "EndDate": "2022-12-03", + "Correlation": -0.44 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-01-01", + "Correlation": 0.92 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-01-28", + "Correlation": 0.08 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-02-24", + "Correlation": -0.11 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-03-23", + "Correlation": -0.2 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-04-19", + "Correlation": -0.94 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-05-16", + "Correlation": -0.07 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-06-13", + "Correlation": -0.51 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-07-10", + "Correlation": 0.59 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-08-07", + "Correlation": 0.04 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-09-03", + "Correlation": -0.31 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-09-30", + "Correlation": -0.25 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-10-28", + "Correlation": -0.42 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-11-24", + "Correlation": -0.69 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2020-12-21", + "Correlation": -0.91 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-01-18", + "Correlation": -0.78 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-02-14", + "Correlation": 0.46 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-03-14", + "Correlation": -0.63 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-04-10", + "Correlation": -0.27 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-05-07", + "Correlation": 0.41 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-06-04", + "Correlation": 0.73 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-07-01", + "Correlation": -0.68 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-07-28", + "Correlation": -0.03 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-08-25", + "Correlation": -0.5 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-09-21", + "Correlation": 0.94 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-10-19", + "Correlation": -0.24 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-11-15", + "Correlation": -0.13 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2021-12-12", + "Correlation": 0.76 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-01-09", + "Correlation": -0.07 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-02-05", + "Correlation": -0.71 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-03-04", + "Correlation": -0.68 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-04-01", + "Correlation": -0.35 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-04-28", + "Correlation": -0.64 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-05-26", + "Correlation": 0.99 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-06-22", + "Correlation": 0.03 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-07-19", + "Correlation": -0.58 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-08-16", + "Correlation": 0.83 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-09-12", + "Correlation": -0.43 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-10-09", + "Correlation": 0.1 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-11-06", + "Correlation": 0.98 + }, + { + "StartDate": "2018-10-20", + "EndDate": "2022-12-03", + "Correlation": 0.03 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-01-01", + "Correlation": -0.7 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-01-28", + "Correlation": 0.18 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-02-24", + "Correlation": 0.24 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-03-23", + "Correlation": -0.84 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-04-19", + "Correlation": -0.76 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-05-16", + "Correlation": -1 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-06-13", + "Correlation": -0.7 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-07-10", + "Correlation": 0.98 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-08-07", + "Correlation": -0.81 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-09-03", + "Correlation": 0.03 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-09-30", + "Correlation": -0.55 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-10-28", + "Correlation": 0.08 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-11-24", + "Correlation": -0.58 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2020-12-21", + "Correlation": -0.01 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-01-18", + "Correlation": 0.93 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-02-14", + "Correlation": 0.27 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-03-14", + "Correlation": -0.09 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-04-10", + "Correlation": -0.89 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-05-07", + "Correlation": 0.95 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-06-04", + "Correlation": 0.05 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-07-01", + "Correlation": 0.35 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-07-28", + "Correlation": -0.68 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-08-25", + "Correlation": -0.44 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-09-21", + "Correlation": 0.55 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-10-19", + "Correlation": -0.21 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-11-15", + "Correlation": -0.97 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2021-12-12", + "Correlation": -0.05 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-01-09", + "Correlation": -0.58 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-02-05", + "Correlation": -0.35 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-03-04", + "Correlation": -0.12 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-04-01", + "Correlation": -0.75 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-04-28", + "Correlation": 0.2 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-05-26", + "Correlation": -0.65 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-06-22", + "Correlation": -0.85 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-07-19", + "Correlation": -0.73 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-08-16", + "Correlation": 0.83 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-09-12", + "Correlation": -0.9 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-10-09", + "Correlation": -0.26 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-11-06", + "Correlation": -0.45 + }, + { + "StartDate": "2018-11-07", + "EndDate": "2022-12-03", + "Correlation": -0.53 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-01-01", + "Correlation": 0.39 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-01-28", + "Correlation": -0.08 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-02-24", + "Correlation": 0.45 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-03-23", + "Correlation": 0.76 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-04-19", + "Correlation": 0.38 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-05-16", + "Correlation": -0.31 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-06-13", + "Correlation": 0.73 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-07-10", + "Correlation": 0.79 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-08-07", + "Correlation": -0.18 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-09-03", + "Correlation": 0.46 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-09-30", + "Correlation": 0.55 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-10-28", + "Correlation": 0.89 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-11-24", + "Correlation": 0.39 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2020-12-21", + "Correlation": 0.11 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-01-18", + "Correlation": -0.83 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-02-14", + "Correlation": -0.73 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-03-14", + "Correlation": -0.44 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-04-10", + "Correlation": 0.78 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-05-07", + "Correlation": 0.09 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-06-04", + "Correlation": -0.39 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-07-01", + "Correlation": -0.32 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-07-28", + "Correlation": 0.42 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-08-25", + "Correlation": -0.87 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-09-21", + "Correlation": -0.14 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-10-19", + "Correlation": 0.45 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-11-15", + "Correlation": -0.93 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2021-12-12", + "Correlation": 0.57 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-01-09", + "Correlation": 0.01 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-02-05", + "Correlation": -0.35 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-03-04", + "Correlation": 0.28 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-04-01", + "Correlation": 0.96 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-04-28", + "Correlation": -0.1 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-05-26", + "Correlation": 0.58 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-06-22", + "Correlation": 0.75 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-07-19", + "Correlation": 0.03 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-08-16", + "Correlation": 0.52 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-09-12", + "Correlation": -0.21 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-10-09", + "Correlation": 1 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-11-06", + "Correlation": 0 + }, + { + "StartDate": "2018-11-25", + "EndDate": "2022-12-03", + "Correlation": 0.73 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-01-01", + "Correlation": -0.86 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-01-28", + "Correlation": -0.11 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-02-24", + "Correlation": -0.61 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-03-23", + "Correlation": 0.15 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-04-19", + "Correlation": -0.46 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-05-16", + "Correlation": 0.58 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-06-13", + "Correlation": -0.72 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-07-10", + "Correlation": -0.17 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-08-07", + "Correlation": 0.73 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-09-03", + "Correlation": 0.28 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-09-30", + "Correlation": -0.17 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-10-28", + "Correlation": -0.61 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-11-24", + "Correlation": 0.3 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2020-12-21", + "Correlation": 0.1 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-01-18", + "Correlation": 0.71 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-02-14", + "Correlation": -0.72 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-03-14", + "Correlation": 0.53 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-04-10", + "Correlation": 0.43 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-05-07", + "Correlation": 0.41 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-06-04", + "Correlation": 0.34 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-07-01", + "Correlation": -0.36 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-07-28", + "Correlation": 0.5 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-08-25", + "Correlation": 0.51 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-09-21", + "Correlation": -0.47 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-10-19", + "Correlation": -0.64 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-11-15", + "Correlation": 0.46 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2021-12-12", + "Correlation": -0.79 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-01-09", + "Correlation": -0.44 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-02-05", + "Correlation": -0.95 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-03-04", + "Correlation": 0.67 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-04-01", + "Correlation": -0.8 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-04-28", + "Correlation": 0.16 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-05-26", + "Correlation": -0.93 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-06-22", + "Correlation": 0.59 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-07-19", + "Correlation": 0.43 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-08-16", + "Correlation": 0.02 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-09-12", + "Correlation": 0.17 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-10-09", + "Correlation": -0.8 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-11-06", + "Correlation": -0.07 + }, + { + "StartDate": "2018-12-13", + "EndDate": "2022-12-03", + "Correlation": 0.04 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-01-01", + "Correlation": 0.46 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-01-28", + "Correlation": -0.2 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-02-24", + "Correlation": 0.39 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-03-23", + "Correlation": -0.77 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-04-19", + "Correlation": -0.3 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-05-16", + "Correlation": 0.42 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-06-13", + "Correlation": 0 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-07-10", + "Correlation": -0.9 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-08-07", + "Correlation": 0.99 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-09-03", + "Correlation": -0.72 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-09-30", + "Correlation": -0.05 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-10-28", + "Correlation": 0.32 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-11-24", + "Correlation": -1 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2020-12-21", + "Correlation": -0.59 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-01-18", + "Correlation": 0.12 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-02-14", + "Correlation": -0.17 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-03-14", + "Correlation": 0.59 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-04-10", + "Correlation": 0.33 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-05-07", + "Correlation": -0.71 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-06-04", + "Correlation": -0.98 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-07-01", + "Correlation": -0.58 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-07-28", + "Correlation": -0.01 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-08-25", + "Correlation": 0.21 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-09-21", + "Correlation": 0.41 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-10-19", + "Correlation": 0.09 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-11-15", + "Correlation": -0.55 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2021-12-12", + "Correlation": 0.37 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-01-09", + "Correlation": -0.9 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-02-05", + "Correlation": 0.37 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-03-04", + "Correlation": 0.75 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-04-01", + "Correlation": 0.63 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-04-28", + "Correlation": 0.65 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-05-26", + "Correlation": 0.09 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-06-22", + "Correlation": 0.95 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-07-19", + "Correlation": -0.05 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-08-16", + "Correlation": 0.69 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-09-12", + "Correlation": -0.36 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-10-09", + "Correlation": 0.26 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-11-06", + "Correlation": -0.71 + }, + { + "StartDate": "2019-01-01", + "EndDate": "2022-12-03", + "Correlation": 0.45 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-01-01", + "Correlation": -0.96 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-01-28", + "Correlation": -0.06 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-02-24", + "Correlation": -0.43 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-03-23", + "Correlation": 0.57 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-04-19", + "Correlation": 0.49 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-05-16", + "Correlation": -0.37 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-06-13", + "Correlation": -0.52 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-07-10", + "Correlation": -0.25 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-08-07", + "Correlation": 0.51 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-09-03", + "Correlation": -0.48 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-09-30", + "Correlation": -0.54 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-10-28", + "Correlation": 0.97 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-11-24", + "Correlation": -0.27 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2020-12-21", + "Correlation": -0.27 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-01-18", + "Correlation": 0.22 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-02-14", + "Correlation": 0.05 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-03-14", + "Correlation": -0.66 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-04-10", + "Correlation": -0.24 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-05-07", + "Correlation": 0.44 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-06-04", + "Correlation": 0.75 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-07-01", + "Correlation": -0.76 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-07-28", + "Correlation": 0.63 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-08-25", + "Correlation": -0.91 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-09-21", + "Correlation": 0.59 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-10-19", + "Correlation": -0.07 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-11-15", + "Correlation": -0.21 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2021-12-12", + "Correlation": 0.87 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-01-09", + "Correlation": 0.06 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-02-05", + "Correlation": -0.9 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-03-04", + "Correlation": -0.96 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-04-01", + "Correlation": -0.02 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-04-28", + "Correlation": 0.56 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-05-26", + "Correlation": 0.68 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-06-22", + "Correlation": 0.77 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-07-19", + "Correlation": 0.43 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-08-16", + "Correlation": 0.69 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-09-12", + "Correlation": -0.84 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-10-09", + "Correlation": -0.02 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-11-06", + "Correlation": -0.68 + }, + { + "StartDate": "2019-01-19", + "EndDate": "2022-12-03", + "Correlation": -0.85 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-01-01", + "Correlation": 0.43 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-01-28", + "Correlation": 0.82 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-02-24", + "Correlation": -0.55 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-03-23", + "Correlation": -0.83 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-04-19", + "Correlation": 0.31 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-05-16", + "Correlation": 0.75 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-06-13", + "Correlation": 0.93 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-07-10", + "Correlation": -0.84 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-08-07", + "Correlation": -1 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-09-03", + "Correlation": 0.6 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-09-30", + "Correlation": -0.17 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-10-28", + "Correlation": -0.98 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-11-24", + "Correlation": -0.32 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2020-12-21", + "Correlation": -0.69 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-01-18", + "Correlation": -0.2 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-02-14", + "Correlation": -0.26 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-03-14", + "Correlation": 0.29 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-04-10", + "Correlation": 0.86 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-05-07", + "Correlation": 0.32 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-06-04", + "Correlation": -0.1 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-07-01", + "Correlation": 0.7 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-07-28", + "Correlation": 0.42 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-08-25", + "Correlation": -0.89 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-09-21", + "Correlation": 0.61 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-10-19", + "Correlation": -0.18 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-11-15", + "Correlation": 0.25 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2021-12-12", + "Correlation": 0.56 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-01-09", + "Correlation": -0.93 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-02-05", + "Correlation": 0.11 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-03-04", + "Correlation": -0.63 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-04-01", + "Correlation": -0.15 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-04-28", + "Correlation": 0.33 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-05-26", + "Correlation": -0.04 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-06-22", + "Correlation": 0.39 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-07-19", + "Correlation": -0.99 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-08-16", + "Correlation": -0.09 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-09-12", + "Correlation": 0.41 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-10-09", + "Correlation": 0.06 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-11-06", + "Correlation": -0.16 + }, + { + "StartDate": "2019-02-06", + "EndDate": "2022-12-03", + "Correlation": -0.15 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-01-01", + "Correlation": -0.42 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-01-28", + "Correlation": 0.81 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-02-24", + "Correlation": 0.72 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-03-23", + "Correlation": -0.3 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-04-19", + "Correlation": -0.26 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-05-16", + "Correlation": 0.29 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-06-13", + "Correlation": 0.84 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-07-10", + "Correlation": -0.21 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-08-07", + "Correlation": -0.59 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-09-03", + "Correlation": -0.87 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-09-30", + "Correlation": -0.28 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-10-28", + "Correlation": 0.01 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-11-24", + "Correlation": -0.94 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2020-12-21", + "Correlation": 0.23 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-01-18", + "Correlation": 0.69 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-02-14", + "Correlation": -0.3 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-03-14", + "Correlation": 0.12 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-04-10", + "Correlation": -0.77 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-05-07", + "Correlation": -0.48 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-06-04", + "Correlation": 0.21 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-07-01", + "Correlation": 0.76 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-07-28", + "Correlation": -0.67 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-08-25", + "Correlation": -0.37 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-09-21", + "Correlation": -0.54 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-10-19", + "Correlation": -0.77 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-11-15", + "Correlation": -0.3 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2021-12-12", + "Correlation": -0.1 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-01-09", + "Correlation": -0.75 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-02-05", + "Correlation": -0.13 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-03-04", + "Correlation": -0.31 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-04-01", + "Correlation": -0.71 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-04-28", + "Correlation": 0.89 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-05-26", + "Correlation": 0.74 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-06-22", + "Correlation": -0.38 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-07-19", + "Correlation": 0.72 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-08-16", + "Correlation": 0.81 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-09-12", + "Correlation": 0.65 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-10-09", + "Correlation": -0.91 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-11-06", + "Correlation": 0.58 + }, + { + "StartDate": "2019-02-24", + "EndDate": "2022-12-03", + "Correlation": 0.93 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-01-01", + "Correlation": -0.57 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-01-28", + "Correlation": 0.73 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-02-24", + "Correlation": 0.43 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-03-23", + "Correlation": 0.3 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-04-19", + "Correlation": -0.86 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-05-16", + "Correlation": 0.82 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-06-13", + "Correlation": -0.39 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-07-10", + "Correlation": -0.11 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-08-07", + "Correlation": 0.6 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-09-03", + "Correlation": -0.76 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-09-30", + "Correlation": -0.32 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-10-28", + "Correlation": 0.51 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-11-24", + "Correlation": 0.35 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2020-12-21", + "Correlation": -0.42 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-01-18", + "Correlation": -0.33 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-02-14", + "Correlation": 0.75 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-03-14", + "Correlation": 0.92 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-04-10", + "Correlation": 0.93 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-05-07", + "Correlation": 0.31 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-06-04", + "Correlation": -0.8 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-07-01", + "Correlation": 0.55 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-07-28", + "Correlation": 0.59 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-08-25", + "Correlation": -0.55 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-09-21", + "Correlation": -0.67 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-10-19", + "Correlation": 0.73 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-11-15", + "Correlation": -0.83 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2021-12-12", + "Correlation": -0.24 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-01-09", + "Correlation": -0.83 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-02-05", + "Correlation": -0.87 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-03-04", + "Correlation": 0.42 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-04-01", + "Correlation": -0.7 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-04-28", + "Correlation": -0.67 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-05-26", + "Correlation": 0.24 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-06-22", + "Correlation": 0.59 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-07-19", + "Correlation": 0.09 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-08-16", + "Correlation": 0.42 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-09-12", + "Correlation": -0.14 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-10-09", + "Correlation": -0.13 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-11-06", + "Correlation": 0.37 + }, + { + "StartDate": "2019-03-15", + "EndDate": "2022-12-03", + "Correlation": 0.04 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-01-01", + "Correlation": -0.83 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-01-28", + "Correlation": 0.67 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-02-24", + "Correlation": -0.78 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-03-23", + "Correlation": -0.55 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-04-19", + "Correlation": -0.55 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-05-16", + "Correlation": 0.33 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-06-13", + "Correlation": -0.71 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-07-10", + "Correlation": 0.77 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-08-07", + "Correlation": 1 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-09-03", + "Correlation": 0.65 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-09-30", + "Correlation": -0.41 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-10-28", + "Correlation": 0.62 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-11-24", + "Correlation": 0.65 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2020-12-21", + "Correlation": -0.11 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-01-18", + "Correlation": 0.38 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-02-14", + "Correlation": 0.28 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-03-14", + "Correlation": 0.33 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-04-10", + "Correlation": 0.32 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-05-07", + "Correlation": -0.51 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-06-04", + "Correlation": 0.16 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-07-01", + "Correlation": -0.8 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-07-28", + "Correlation": -0.04 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-08-25", + "Correlation": 0.55 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-09-21", + "Correlation": 0.55 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-10-19", + "Correlation": -0.63 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-11-15", + "Correlation": -0.38 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2021-12-12", + "Correlation": -0.92 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-01-09", + "Correlation": 0.92 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-02-05", + "Correlation": -0.88 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-03-04", + "Correlation": 0.79 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-04-01", + "Correlation": -0.43 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-04-28", + "Correlation": 0.88 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-05-26", + "Correlation": 0.74 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-06-22", + "Correlation": -0.06 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-07-19", + "Correlation": 0.4 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-08-16", + "Correlation": 0.47 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-09-12", + "Correlation": -0.83 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-10-09", + "Correlation": 0.85 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-11-06", + "Correlation": -0.28 + }, + { + "StartDate": "2019-04-02", + "EndDate": "2022-12-03", + "Correlation": 0.39 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-01-01", + "Correlation": -0.75 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-01-28", + "Correlation": 0.66 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-02-24", + "Correlation": 0.24 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-03-23", + "Correlation": -0.85 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-04-19", + "Correlation": 0.35 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-05-16", + "Correlation": -0.2 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-06-13", + "Correlation": 0.16 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-07-10", + "Correlation": -0.82 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-08-07", + "Correlation": -0.12 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-09-03", + "Correlation": 0.86 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-09-30", + "Correlation": -0.22 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-10-28", + "Correlation": -0.81 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-11-24", + "Correlation": 0.56 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2020-12-21", + "Correlation": 0.49 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-01-18", + "Correlation": 0.64 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-02-14", + "Correlation": 0.79 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-03-14", + "Correlation": 0.32 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-04-10", + "Correlation": 0.45 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-05-07", + "Correlation": 0.36 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-06-04", + "Correlation": 0 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-07-01", + "Correlation": -0.11 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-07-28", + "Correlation": 0.13 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-08-25", + "Correlation": 0.59 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-09-21", + "Correlation": 0.76 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-10-19", + "Correlation": 0.68 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-11-15", + "Correlation": 0.35 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2021-12-12", + "Correlation": 0.82 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-01-09", + "Correlation": 0.49 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-02-05", + "Correlation": -0.57 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-03-04", + "Correlation": -0.55 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-04-01", + "Correlation": -0.68 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-04-28", + "Correlation": -0.97 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-05-26", + "Correlation": 0.06 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-06-22", + "Correlation": -0.15 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-07-19", + "Correlation": -0.23 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-08-16", + "Correlation": 0.72 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-09-12", + "Correlation": -0.24 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-10-09", + "Correlation": -0.03 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-11-06", + "Correlation": 0.53 + }, + { + "StartDate": "2019-04-20", + "EndDate": "2022-12-03", + "Correlation": -1 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-01-01", + "Correlation": -0.58 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-01-28", + "Correlation": 0.52 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-02-24", + "Correlation": 0.89 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-03-23", + "Correlation": -0.82 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-04-19", + "Correlation": 0.74 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-05-16", + "Correlation": -0.39 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-06-13", + "Correlation": -0.54 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-07-10", + "Correlation": 0.56 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-08-07", + "Correlation": -0.72 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-09-03", + "Correlation": 0.19 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-09-30", + "Correlation": -0.53 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-10-28", + "Correlation": -0.93 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-11-24", + "Correlation": 0 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2020-12-21", + "Correlation": -0.07 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-01-18", + "Correlation": -0.44 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-02-14", + "Correlation": -0.11 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-03-14", + "Correlation": 0.18 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-04-10", + "Correlation": -0.71 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-05-07", + "Correlation": 0.77 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-06-04", + "Correlation": -0.8 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-07-01", + "Correlation": -0.7 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-07-28", + "Correlation": 0.87 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-08-25", + "Correlation": 0.91 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-09-21", + "Correlation": -0.84 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-10-19", + "Correlation": -0.76 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-11-15", + "Correlation": 0 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2021-12-12", + "Correlation": -0.73 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-01-09", + "Correlation": 0.9 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-02-05", + "Correlation": 0.06 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-03-04", + "Correlation": -0.16 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-04-01", + "Correlation": -0.22 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-04-28", + "Correlation": -0.01 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-05-26", + "Correlation": 0.31 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-06-22", + "Correlation": -0.77 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-07-19", + "Correlation": -0.57 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-08-16", + "Correlation": 0.4 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-09-12", + "Correlation": -0.3 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-10-09", + "Correlation": 0.19 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-11-06", + "Correlation": 0.08 + }, + { + "StartDate": "2019-05-08", + "EndDate": "2022-12-03", + "Correlation": 0.1 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-01-01", + "Correlation": 0 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-01-28", + "Correlation": -0.97 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-02-24", + "Correlation": 0.87 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-03-23", + "Correlation": 0.01 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-04-19", + "Correlation": 0.45 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-05-16", + "Correlation": 0.03 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-06-13", + "Correlation": -0.81 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-07-10", + "Correlation": -0.25 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-08-07", + "Correlation": -0.98 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-09-03", + "Correlation": -0.92 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-09-30", + "Correlation": 0.58 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-10-28", + "Correlation": -0.67 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-11-24", + "Correlation": -0.29 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2020-12-21", + "Correlation": 0.4 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-01-18", + "Correlation": 0.05 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-02-14", + "Correlation": -0.57 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-03-14", + "Correlation": -0.77 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-04-10", + "Correlation": 0.17 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-05-07", + "Correlation": -0.33 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-06-04", + "Correlation": -0.28 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-07-01", + "Correlation": -0.76 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-07-28", + "Correlation": -0.25 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-08-25", + "Correlation": -0.67 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-09-21", + "Correlation": 0.91 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-10-19", + "Correlation": -0.11 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-11-15", + "Correlation": -0.38 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2021-12-12", + "Correlation": 0.56 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-01-09", + "Correlation": -0.71 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-02-05", + "Correlation": 0.61 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-03-04", + "Correlation": -0.33 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-04-01", + "Correlation": 0.58 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-04-28", + "Correlation": -0.61 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-05-26", + "Correlation": 0.2 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-06-22", + "Correlation": 0.23 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-07-19", + "Correlation": -0.1 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-08-16", + "Correlation": -0.66 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-09-12", + "Correlation": 0.27 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-10-09", + "Correlation": -0.92 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-11-06", + "Correlation": -0.33 + }, + { + "StartDate": "2019-05-27", + "EndDate": "2022-12-03", + "Correlation": -0.23 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-01-01", + "Correlation": 0.01 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-01-28", + "Correlation": -0.28 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-02-24", + "Correlation": -0.45 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-03-23", + "Correlation": 0.53 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-04-19", + "Correlation": 0.85 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-05-16", + "Correlation": 0.97 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-06-13", + "Correlation": -0.16 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-07-10", + "Correlation": 0.16 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-08-07", + "Correlation": -0.93 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-09-03", + "Correlation": -0.17 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-09-30", + "Correlation": -0.58 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-10-28", + "Correlation": -0.79 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-11-24", + "Correlation": -0.48 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2020-12-21", + "Correlation": 0.28 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-01-18", + "Correlation": -0.51 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-02-14", + "Correlation": 0.66 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-03-14", + "Correlation": 0.98 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-04-10", + "Correlation": 0.46 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-05-07", + "Correlation": -0.52 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-06-04", + "Correlation": 0.71 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-07-01", + "Correlation": 0.13 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-07-28", + "Correlation": 0.7 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-08-25", + "Correlation": 0.91 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-09-21", + "Correlation": -0.78 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-10-19", + "Correlation": 0.85 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-11-15", + "Correlation": 0.1 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2021-12-12", + "Correlation": 0.49 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-01-09", + "Correlation": 0.33 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-02-05", + "Correlation": 0.49 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-03-04", + "Correlation": 0.97 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-04-01", + "Correlation": -0.14 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-04-28", + "Correlation": -0.34 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-05-26", + "Correlation": -0.65 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-06-22", + "Correlation": -0.33 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-07-19", + "Correlation": -0.14 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-08-16", + "Correlation": -0.95 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-09-12", + "Correlation": -0.87 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-10-09", + "Correlation": 0.67 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-11-06", + "Correlation": 0.01 + }, + { + "StartDate": "2019-06-14", + "EndDate": "2022-12-03", + "Correlation": 0.04 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-01-01", + "Correlation": 0.01 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-01-28", + "Correlation": 0.75 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-02-24", + "Correlation": 0.6 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-03-23", + "Correlation": 0.99 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-04-19", + "Correlation": 0.28 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-05-16", + "Correlation": 0.78 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-06-13", + "Correlation": 0.84 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-07-10", + "Correlation": 0.78 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-08-07", + "Correlation": -0.09 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-09-03", + "Correlation": -0.32 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-09-30", + "Correlation": -0.74 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-10-28", + "Correlation": -0.05 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-11-24", + "Correlation": -0.59 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2020-12-21", + "Correlation": 0.81 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-01-18", + "Correlation": 0.97 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-02-14", + "Correlation": -0.53 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-03-14", + "Correlation": -0.15 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-04-10", + "Correlation": -0.04 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-05-07", + "Correlation": 0.61 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-06-04", + "Correlation": -0.52 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-07-01", + "Correlation": 0.04 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-07-28", + "Correlation": -0.77 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-08-25", + "Correlation": 0.75 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-09-21", + "Correlation": 0.79 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-10-19", + "Correlation": 0.81 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-11-15", + "Correlation": -0.18 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2021-12-12", + "Correlation": -0.04 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-01-09", + "Correlation": 0.02 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-02-05", + "Correlation": 0.92 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-03-04", + "Correlation": -0.92 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-04-01", + "Correlation": 0.03 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-04-28", + "Correlation": 0.7 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-05-26", + "Correlation": 0.53 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-06-22", + "Correlation": 0.87 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-07-19", + "Correlation": -0.24 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-08-16", + "Correlation": 0.2 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-09-12", + "Correlation": -0.15 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-10-09", + "Correlation": 0.01 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-11-06", + "Correlation": 0.01 + }, + { + "StartDate": "2019-07-02", + "EndDate": "2022-12-03", + "Correlation": 0.67 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-01-01", + "Correlation": -0.87 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-01-28", + "Correlation": 0.87 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-02-24", + "Correlation": -0.92 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-03-23", + "Correlation": -0.19 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-04-19", + "Correlation": -0.55 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-05-16", + "Correlation": -0.58 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-06-13", + "Correlation": 0.28 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-07-10", + "Correlation": -0.9 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-08-07", + "Correlation": -0.01 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-09-03", + "Correlation": 0.55 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-09-30", + "Correlation": -0.22 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-10-28", + "Correlation": 0.92 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-11-24", + "Correlation": 0.67 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2020-12-21", + "Correlation": -0.84 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-01-18", + "Correlation": -0.75 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-02-14", + "Correlation": 0.32 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-03-14", + "Correlation": 0.46 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-04-10", + "Correlation": 0.78 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-05-07", + "Correlation": 0.88 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-06-04", + "Correlation": 0.02 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-07-01", + "Correlation": 0.53 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-07-28", + "Correlation": -0.07 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-08-25", + "Correlation": 0.39 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-09-21", + "Correlation": -0.3 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-10-19", + "Correlation": -0.87 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-11-15", + "Correlation": 0.03 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2021-12-12", + "Correlation": 0.3 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-01-09", + "Correlation": 0.94 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-02-05", + "Correlation": 0.51 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-03-04", + "Correlation": -0.06 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-04-01", + "Correlation": 0.94 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-04-28", + "Correlation": -0.85 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-05-26", + "Correlation": 0.94 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-06-22", + "Correlation": 0.45 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-07-19", + "Correlation": 0.62 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-08-16", + "Correlation": -0.61 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-09-12", + "Correlation": 0.49 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-10-09", + "Correlation": -0.81 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-11-06", + "Correlation": -0.5 + }, + { + "StartDate": "2019-07-20", + "EndDate": "2022-12-03", + "Correlation": 0.08 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-01-01", + "Correlation": 0.33 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-01-28", + "Correlation": -0.15 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-02-24", + "Correlation": 0.19 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-03-23", + "Correlation": 0.13 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-04-19", + "Correlation": 0.54 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-05-16", + "Correlation": 0.66 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-06-13", + "Correlation": -0.54 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-07-10", + "Correlation": 0.8 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-08-07", + "Correlation": 0.65 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-09-03", + "Correlation": 0.88 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-09-30", + "Correlation": 0.07 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-10-28", + "Correlation": -0.63 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-11-24", + "Correlation": -0.23 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2020-12-21", + "Correlation": -0.32 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-01-18", + "Correlation": 0.27 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-02-14", + "Correlation": 0.28 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-03-14", + "Correlation": -0.56 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-04-10", + "Correlation": 0.95 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-05-07", + "Correlation": -0.67 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-06-04", + "Correlation": -0.22 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-07-01", + "Correlation": 0.85 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-07-28", + "Correlation": -0.67 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-08-25", + "Correlation": -0.87 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-09-21", + "Correlation": -0.72 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-10-19", + "Correlation": -0.26 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-11-15", + "Correlation": 0.75 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2021-12-12", + "Correlation": 0.4 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-01-09", + "Correlation": -0.53 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-02-05", + "Correlation": 0.36 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-03-04", + "Correlation": 0.76 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-04-01", + "Correlation": 0.65 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-04-28", + "Correlation": 0.66 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-05-26", + "Correlation": 0.55 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-06-22", + "Correlation": -0.69 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-07-19", + "Correlation": 0.98 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-08-16", + "Correlation": 0.08 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-09-12", + "Correlation": 0.56 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-10-09", + "Correlation": -0.33 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-11-06", + "Correlation": -0.44 + }, + { + "StartDate": "2019-08-08", + "EndDate": "2022-12-03", + "Correlation": -0.48 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-01-01", + "Correlation": -0.28 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-01-28", + "Correlation": 0.74 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-02-24", + "Correlation": -0.8 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-03-23", + "Correlation": -0.02 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-04-19", + "Correlation": 0.72 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-05-16", + "Correlation": -0.78 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-06-13", + "Correlation": 0.01 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-07-10", + "Correlation": 0.3 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-08-07", + "Correlation": 0.47 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-09-03", + "Correlation": -0.36 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-09-30", + "Correlation": 0.34 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-10-28", + "Correlation": -0.9 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-11-24", + "Correlation": 0.18 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2020-12-21", + "Correlation": -0.89 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-01-18", + "Correlation": -0.21 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-02-14", + "Correlation": 0.14 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-03-14", + "Correlation": -0.76 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-04-10", + "Correlation": -0.98 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-05-07", + "Correlation": 0.62 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-06-04", + "Correlation": -0.49 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-07-01", + "Correlation": -0.95 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-07-28", + "Correlation": 0.2 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-08-25", + "Correlation": -0.86 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-09-21", + "Correlation": 0.25 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-10-19", + "Correlation": 0.19 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-11-15", + "Correlation": 0.78 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2021-12-12", + "Correlation": 0.13 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-01-09", + "Correlation": 0.85 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-02-05", + "Correlation": -0.97 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-03-04", + "Correlation": -0.16 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-04-01", + "Correlation": -0.3 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-04-28", + "Correlation": 0.56 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-05-26", + "Correlation": 0.28 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-06-22", + "Correlation": -0.85 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-07-19", + "Correlation": -0.1 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-08-16", + "Correlation": -0.28 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-09-12", + "Correlation": -0.99 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-10-09", + "Correlation": 0.01 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-11-06", + "Correlation": 0.93 + }, + { + "StartDate": "2019-08-26", + "EndDate": "2022-12-03", + "Correlation": 0 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-01-01", + "Correlation": -0.38 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-01-28", + "Correlation": 0.99 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-02-24", + "Correlation": -0.38 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-03-23", + "Correlation": 0.08 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-04-19", + "Correlation": 0.97 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-05-16", + "Correlation": 0.23 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-06-13", + "Correlation": -0.6 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-07-10", + "Correlation": 0.59 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-08-07", + "Correlation": 0.22 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-09-03", + "Correlation": -0.99 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-09-30", + "Correlation": 0.85 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-10-28", + "Correlation": 0.91 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-11-24", + "Correlation": 0.96 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2020-12-21", + "Correlation": -0.25 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-01-18", + "Correlation": 0.79 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-02-14", + "Correlation": -0.05 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-03-14", + "Correlation": 0.65 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-04-10", + "Correlation": -0.96 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-05-07", + "Correlation": 0.43 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-06-04", + "Correlation": -0.55 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-07-01", + "Correlation": -0.56 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-07-28", + "Correlation": -0.08 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-08-25", + "Correlation": -0.34 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-09-21", + "Correlation": -0.53 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-10-19", + "Correlation": -0.12 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-11-15", + "Correlation": -0.12 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2021-12-12", + "Correlation": -0.6 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-01-09", + "Correlation": 0.92 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-02-05", + "Correlation": -0.27 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-03-04", + "Correlation": 0.91 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-04-01", + "Correlation": -0.34 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-04-28", + "Correlation": 0.61 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-05-26", + "Correlation": 0.78 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-06-22", + "Correlation": 0.13 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-07-19", + "Correlation": 0.75 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-08-16", + "Correlation": 0.56 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-09-12", + "Correlation": -0.32 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-10-09", + "Correlation": 0.73 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-11-06", + "Correlation": -0.59 + }, + { + "StartDate": "2019-09-13", + "EndDate": "2022-12-03", + "Correlation": 0.71 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-01-01", + "Correlation": -0.15 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-01-28", + "Correlation": -0.63 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-02-24", + "Correlation": -0.07 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-03-23", + "Correlation": 0.44 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-04-19", + "Correlation": -0.53 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-05-16", + "Correlation": -0.72 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-06-13", + "Correlation": 0.03 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-07-10", + "Correlation": -0.31 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-08-07", + "Correlation": -0.45 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-09-03", + "Correlation": 0.73 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-09-30", + "Correlation": 0.9 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-10-28", + "Correlation": 0.2 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-11-24", + "Correlation": -0.92 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2020-12-21", + "Correlation": 0.06 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-01-18", + "Correlation": -0.59 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-02-14", + "Correlation": 0.52 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-03-14", + "Correlation": 0.51 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-04-10", + "Correlation": -0.79 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-05-07", + "Correlation": 0.18 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-06-04", + "Correlation": -0.56 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-07-01", + "Correlation": -0.71 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-07-28", + "Correlation": -0.8 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-08-25", + "Correlation": 0.01 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-09-21", + "Correlation": -0.92 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-10-19", + "Correlation": 0.07 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-11-15", + "Correlation": -0.16 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2021-12-12", + "Correlation": 0.62 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-01-09", + "Correlation": 0.77 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-02-05", + "Correlation": -0.41 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-03-04", + "Correlation": 0.49 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-04-01", + "Correlation": 0.77 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-04-28", + "Correlation": 0.44 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-05-26", + "Correlation": 0.62 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-06-22", + "Correlation": 0.1 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-07-19", + "Correlation": -0.79 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-08-16", + "Correlation": -0.63 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-09-12", + "Correlation": 0.07 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-10-09", + "Correlation": -0.35 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-11-06", + "Correlation": -0.12 + }, + { + "StartDate": "2019-10-01", + "EndDate": "2022-12-03", + "Correlation": 0.25 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-01-01", + "Correlation": -0.18 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-01-28", + "Correlation": -0.47 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-02-24", + "Correlation": -0.39 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-03-23", + "Correlation": 0.04 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-04-19", + "Correlation": 0.85 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-05-16", + "Correlation": 0.3 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-06-13", + "Correlation": 0.97 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-07-10", + "Correlation": 0.53 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-08-07", + "Correlation": 0.48 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-09-03", + "Correlation": 0.97 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-09-30", + "Correlation": 0.27 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-10-28", + "Correlation": 0.85 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-11-24", + "Correlation": -0.36 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2020-12-21", + "Correlation": 0.01 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-01-18", + "Correlation": 0.68 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-02-14", + "Correlation": -0.81 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-03-14", + "Correlation": 0.9 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-04-10", + "Correlation": -0.27 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-05-07", + "Correlation": -0.1 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-06-04", + "Correlation": 0.32 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-07-01", + "Correlation": 0.5 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-07-28", + "Correlation": 0.25 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-08-25", + "Correlation": -0.5 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-09-21", + "Correlation": 0.11 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-10-19", + "Correlation": -0.03 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-11-15", + "Correlation": 0.71 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2021-12-12", + "Correlation": 0.02 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-01-09", + "Correlation": -0.01 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-02-05", + "Correlation": 0.94 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-03-04", + "Correlation": -0.6 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-04-01", + "Correlation": -0.17 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-04-28", + "Correlation": -0.59 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-05-26", + "Correlation": -0.63 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-06-22", + "Correlation": -0.93 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-07-19", + "Correlation": 0.13 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-08-16", + "Correlation": 0.27 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-09-12", + "Correlation": -0.22 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-10-09", + "Correlation": 0.88 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-11-06", + "Correlation": 0.42 + }, + { + "StartDate": "2019-10-20", + "EndDate": "2022-12-03", + "Correlation": 0.89 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-01-01", + "Correlation": 0.89 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-01-28", + "Correlation": -0.03 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-02-24", + "Correlation": -0.35 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-03-23", + "Correlation": -1 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-04-19", + "Correlation": -0.59 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-05-16", + "Correlation": -0.32 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-06-13", + "Correlation": 0.37 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-07-10", + "Correlation": 0.94 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-08-07", + "Correlation": -0.88 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-09-03", + "Correlation": 0.07 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-09-30", + "Correlation": -0.78 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-10-28", + "Correlation": 0.62 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-11-24", + "Correlation": -0.55 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2020-12-21", + "Correlation": 0.07 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-01-18", + "Correlation": -0.4 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-02-14", + "Correlation": -0.26 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-03-14", + "Correlation": -0.95 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-04-10", + "Correlation": 0.05 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-05-07", + "Correlation": 0.84 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-06-04", + "Correlation": 0.72 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-07-01", + "Correlation": -0.44 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-07-28", + "Correlation": 0.19 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-08-25", + "Correlation": -0.07 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-09-21", + "Correlation": 0.57 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-10-19", + "Correlation": -0.4 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-11-15", + "Correlation": -0.14 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2021-12-12", + "Correlation": -0.1 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-01-09", + "Correlation": -0.07 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-02-05", + "Correlation": -0.06 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-03-04", + "Correlation": -0.02 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-04-01", + "Correlation": 0.39 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-04-28", + "Correlation": -0.22 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-05-26", + "Correlation": 0.69 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-06-22", + "Correlation": 0.12 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-07-19", + "Correlation": -0.73 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-08-16", + "Correlation": 0.92 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-09-12", + "Correlation": -0.68 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-10-09", + "Correlation": 0.25 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-11-06", + "Correlation": 0.31 + }, + { + "StartDate": "2019-11-07", + "EndDate": "2022-12-03", + "Correlation": 0.29 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-01-01", + "Correlation": 0.5 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-01-28", + "Correlation": -0.43 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-02-24", + "Correlation": 0.72 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-03-23", + "Correlation": -0.74 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-04-19", + "Correlation": -0.92 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-05-16", + "Correlation": -0.83 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-06-13", + "Correlation": 0.62 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-07-10", + "Correlation": 0.99 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-08-07", + "Correlation": -0.84 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-09-03", + "Correlation": -0.79 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-09-30", + "Correlation": 0.79 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-10-28", + "Correlation": 0.3 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-11-24", + "Correlation": -0.31 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2020-12-21", + "Correlation": -0.45 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-01-18", + "Correlation": -0.81 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-02-14", + "Correlation": 0.03 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-03-14", + "Correlation": 0.19 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-04-10", + "Correlation": -0.49 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-05-07", + "Correlation": 0.27 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-06-04", + "Correlation": -0.49 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-07-01", + "Correlation": 1 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-07-28", + "Correlation": 0.03 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-08-25", + "Correlation": 0.13 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-09-21", + "Correlation": 0.41 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-10-19", + "Correlation": 0.27 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-11-15", + "Correlation": 0.49 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2021-12-12", + "Correlation": -0.25 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-01-09", + "Correlation": 0.57 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-02-05", + "Correlation": -0.08 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-03-04", + "Correlation": 0.02 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-04-01", + "Correlation": -0.87 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-04-28", + "Correlation": 0.75 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-05-26", + "Correlation": 0.18 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-06-22", + "Correlation": -0.82 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-07-19", + "Correlation": -0.76 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-08-16", + "Correlation": -0.35 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-09-12", + "Correlation": -0.62 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-10-09", + "Correlation": -0.66 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-11-06", + "Correlation": 0.01 + }, + { + "StartDate": "2019-11-25", + "EndDate": "2022-12-03", + "Correlation": -0.24 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-01-01", + "Correlation": -0.89 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-01-28", + "Correlation": 0.22 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-02-24", + "Correlation": -0.64 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-03-23", + "Correlation": 0.61 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-04-19", + "Correlation": -0.71 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-05-16", + "Correlation": -0.46 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-06-13", + "Correlation": -0.01 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-07-10", + "Correlation": 0.12 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-08-07", + "Correlation": 0.49 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-09-03", + "Correlation": -0.75 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-09-30", + "Correlation": -0.35 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-10-28", + "Correlation": 0.48 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-11-24", + "Correlation": -0.5 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2020-12-21", + "Correlation": -0.13 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-01-18", + "Correlation": -0.51 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-02-14", + "Correlation": 0.18 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-03-14", + "Correlation": -0.23 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-04-10", + "Correlation": -0.02 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-05-07", + "Correlation": -0.54 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-06-04", + "Correlation": 0.51 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-07-01", + "Correlation": 0.57 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-07-28", + "Correlation": 0.42 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-08-25", + "Correlation": 0.31 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-09-21", + "Correlation": -0.14 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-10-19", + "Correlation": -0.68 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-11-15", + "Correlation": -0.77 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2021-12-12", + "Correlation": -0.81 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-01-09", + "Correlation": 0.36 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-02-05", + "Correlation": 0.27 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-03-04", + "Correlation": -0.36 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-04-01", + "Correlation": 0.45 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-04-28", + "Correlation": 0.03 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-05-26", + "Correlation": -0.57 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-06-22", + "Correlation": -0.17 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-07-19", + "Correlation": 0.24 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-08-16", + "Correlation": 0.18 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-09-12", + "Correlation": -0.01 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-10-09", + "Correlation": -0.97 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-11-06", + "Correlation": -0.1 + }, + { + "StartDate": "2019-12-13", + "EndDate": "2022-12-03", + "Correlation": -0.45 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-01-01", + "Correlation": -0.99 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-01-28", + "Correlation": 0.94 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-02-24", + "Correlation": 0.16 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-03-23", + "Correlation": -0.03 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-04-19", + "Correlation": -0.46 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-05-16", + "Correlation": 0.02 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-06-13", + "Correlation": -0.2 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-07-10", + "Correlation": -0.9 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-08-07", + "Correlation": 0.85 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-09-03", + "Correlation": 0.54 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-09-30", + "Correlation": 0.02 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-10-28", + "Correlation": -0.17 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-11-24", + "Correlation": -0.68 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2020-12-21", + "Correlation": 0.75 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-01-18", + "Correlation": 0.58 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-02-14", + "Correlation": -0.12 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-03-14", + "Correlation": -0.87 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-04-10", + "Correlation": 0.97 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-05-07", + "Correlation": 0.05 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-06-04", + "Correlation": -0.1 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-07-01", + "Correlation": -0.94 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-07-28", + "Correlation": 0.99 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-08-25", + "Correlation": -0.91 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-09-21", + "Correlation": 0.71 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-10-19", + "Correlation": -0.03 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-11-15", + "Correlation": 0.45 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2021-12-12", + "Correlation": 0.27 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-01-09", + "Correlation": 0.45 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-02-05", + "Correlation": 0.44 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-03-04", + "Correlation": 0.5 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-04-01", + "Correlation": 0.45 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-04-28", + "Correlation": -0.38 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-05-26", + "Correlation": 0.02 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-06-22", + "Correlation": 0.87 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-07-19", + "Correlation": 0.25 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-08-16", + "Correlation": 0.15 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-09-12", + "Correlation": -0.82 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-10-09", + "Correlation": 0.82 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-11-06", + "Correlation": -0.02 + }, + { + "StartDate": "2020-01-01", + "EndDate": "2022-12-03", + "Correlation": -0.31 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-01-01", + "Correlation": 0.55 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-01-28", + "Correlation": -0.58 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-02-24", + "Correlation": -0.71 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-03-23", + "Correlation": 0.29 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-04-19", + "Correlation": 0.55 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-05-16", + "Correlation": -0.97 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-06-13", + "Correlation": -0.24 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-07-10", + "Correlation": -0.84 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-08-07", + "Correlation": -0.82 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-09-03", + "Correlation": 0.98 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-09-30", + "Correlation": 0.64 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-10-28", + "Correlation": -0.35 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-11-24", + "Correlation": -0.2 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2020-12-21", + "Correlation": 0.97 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-01-18", + "Correlation": -0.96 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-02-14", + "Correlation": 0.73 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-03-14", + "Correlation": 0.82 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-04-10", + "Correlation": -0.95 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-05-07", + "Correlation": 0.35 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-06-04", + "Correlation": 0.47 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-07-01", + "Correlation": -0.27 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-07-28", + "Correlation": 0.75 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-08-25", + "Correlation": 0.53 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-09-21", + "Correlation": -0.22 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-10-19", + "Correlation": -0.28 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-11-15", + "Correlation": -0.38 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2021-12-12", + "Correlation": -0.76 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-01-09", + "Correlation": -0.49 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-02-05", + "Correlation": -0.63 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-03-04", + "Correlation": -0.83 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-04-01", + "Correlation": 0.24 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-04-28", + "Correlation": 0.23 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-05-26", + "Correlation": -0.16 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-06-22", + "Correlation": 0.46 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-07-19", + "Correlation": -0.48 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-08-16", + "Correlation": 0.39 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-09-12", + "Correlation": -0.64 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-10-09", + "Correlation": 0.82 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-11-06", + "Correlation": 0.26 + }, + { + "StartDate": "2020-01-19", + "EndDate": "2022-12-03", + "Correlation": 0.53 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-01-01", + "Correlation": -0.04 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-01-28", + "Correlation": 0.41 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-02-24", + "Correlation": 0.06 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-03-23", + "Correlation": 0.47 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-04-19", + "Correlation": -0.09 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-05-16", + "Correlation": -0.99 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-06-13", + "Correlation": 0.71 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-07-10", + "Correlation": 0.24 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-08-07", + "Correlation": 0.37 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-09-03", + "Correlation": -0.98 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-09-30", + "Correlation": 0.25 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-10-28", + "Correlation": -0.1 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-11-24", + "Correlation": -0.87 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2020-12-21", + "Correlation": -0.45 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-01-18", + "Correlation": -0.13 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-02-14", + "Correlation": -0.64 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-03-14", + "Correlation": 0.5 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-04-10", + "Correlation": 0.17 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-05-07", + "Correlation": -0.76 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-06-04", + "Correlation": 0.64 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-07-01", + "Correlation": 0.7 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-07-28", + "Correlation": -0.43 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-08-25", + "Correlation": -0.49 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-09-21", + "Correlation": 0.44 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-10-19", + "Correlation": 0.39 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-11-15", + "Correlation": 0.4 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2021-12-12", + "Correlation": -0.36 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-01-09", + "Correlation": -0.19 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-02-05", + "Correlation": 0.72 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-03-04", + "Correlation": -0.7 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-04-01", + "Correlation": 0.22 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-04-28", + "Correlation": -0.92 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-05-26", + "Correlation": -0.4 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-06-22", + "Correlation": 0.07 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-07-19", + "Correlation": -0.9 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-08-16", + "Correlation": -0.72 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-09-12", + "Correlation": 0.05 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-10-09", + "Correlation": 0.59 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-11-06", + "Correlation": -0.3 + }, + { + "StartDate": "2020-02-06", + "EndDate": "2022-12-03", + "Correlation": 0.46 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-01-01", + "Correlation": 0.23 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-01-28", + "Correlation": -0.61 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-02-24", + "Correlation": 0.22 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-03-23", + "Correlation": 0.51 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-04-19", + "Correlation": -0.95 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-05-16", + "Correlation": -0.11 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-06-13", + "Correlation": -0.02 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-07-10", + "Correlation": -0.62 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-08-07", + "Correlation": -0.25 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-09-03", + "Correlation": -0.59 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-09-30", + "Correlation": -0.04 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-10-28", + "Correlation": 0.49 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-11-24", + "Correlation": -0.15 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2020-12-21", + "Correlation": 0.44 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-01-18", + "Correlation": -0.9 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-02-14", + "Correlation": -0.62 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-03-14", + "Correlation": 0.42 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-04-10", + "Correlation": 0.03 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-05-07", + "Correlation": 0.71 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-06-04", + "Correlation": -0.09 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-07-01", + "Correlation": -0.79 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-07-28", + "Correlation": 0.42 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-08-25", + "Correlation": -0.45 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-09-21", + "Correlation": 0.55 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-10-19", + "Correlation": 0.73 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-11-15", + "Correlation": 0.98 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2021-12-12", + "Correlation": 0.36 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-01-09", + "Correlation": 0.22 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-02-05", + "Correlation": 0.4 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-03-04", + "Correlation": -0.85 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-04-01", + "Correlation": -0.64 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-04-28", + "Correlation": 0.8 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-05-26", + "Correlation": 0.17 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-06-22", + "Correlation": -1 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-07-19", + "Correlation": -0.53 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-08-16", + "Correlation": 0.48 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-09-12", + "Correlation": 0.13 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-10-09", + "Correlation": 0.3 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-11-06", + "Correlation": 0.73 + }, + { + "StartDate": "2020-02-24", + "EndDate": "2022-12-03", + "Correlation": 0.58 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-01-01", + "Correlation": 0.52 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-01-28", + "Correlation": -0.56 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-02-24", + "Correlation": 0.91 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-03-23", + "Correlation": 0.98 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-04-19", + "Correlation": 0.13 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-05-16", + "Correlation": 0.05 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-06-13", + "Correlation": -0.03 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-07-10", + "Correlation": 0.58 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-08-07", + "Correlation": 0.77 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-09-03", + "Correlation": -0.24 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-09-30", + "Correlation": -0.34 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-10-28", + "Correlation": 0.88 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-11-24", + "Correlation": -0.57 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2020-12-21", + "Correlation": 0.01 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-01-18", + "Correlation": 0.92 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-02-14", + "Correlation": 0.94 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-03-14", + "Correlation": -0.2 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-04-10", + "Correlation": 0.18 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-05-07", + "Correlation": -0.07 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-06-04", + "Correlation": 0.29 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-07-01", + "Correlation": -0.38 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-07-28", + "Correlation": 0.1 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-08-25", + "Correlation": -0.01 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-09-21", + "Correlation": -0.6 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-10-19", + "Correlation": 0.76 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-11-15", + "Correlation": -0.94 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2021-12-12", + "Correlation": -0.98 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-01-09", + "Correlation": -0.96 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-02-05", + "Correlation": 0.21 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-03-04", + "Correlation": 0.25 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-04-01", + "Correlation": -0.41 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-04-28", + "Correlation": -0.19 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-05-26", + "Correlation": -0.52 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-06-22", + "Correlation": -0.7 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-07-19", + "Correlation": 0.62 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-08-16", + "Correlation": -0.36 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-09-12", + "Correlation": 0.48 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-10-09", + "Correlation": 0.59 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-11-06", + "Correlation": -0.56 + }, + { + "StartDate": "2020-03-14", + "EndDate": "2022-12-03", + "Correlation": 0.62 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-01-01", + "Correlation": 0.13 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-01-28", + "Correlation": -0.9 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-02-24", + "Correlation": -0.36 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-03-23", + "Correlation": 0.42 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-04-19", + "Correlation": -0.19 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-05-16", + "Correlation": -0.38 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-06-13", + "Correlation": 0.68 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-07-10", + "Correlation": 0.02 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-08-07", + "Correlation": 0.79 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-09-03", + "Correlation": -0.7 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-09-30", + "Correlation": 0.42 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-10-28", + "Correlation": 0.01 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-11-24", + "Correlation": -0.03 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2020-12-21", + "Correlation": -0.06 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-01-18", + "Correlation": -0.2 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-02-14", + "Correlation": -0.46 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-03-14", + "Correlation": -0.2 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-04-10", + "Correlation": 0.65 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-05-07", + "Correlation": -0.4 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-06-04", + "Correlation": -0.78 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-07-01", + "Correlation": -0.28 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-07-28", + "Correlation": -0.9 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-08-25", + "Correlation": -0.73 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-09-21", + "Correlation": 0.59 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-10-19", + "Correlation": -0.27 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-11-15", + "Correlation": 0.56 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2021-12-12", + "Correlation": 0.3 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-01-09", + "Correlation": -0.7 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-02-05", + "Correlation": -0.31 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-03-04", + "Correlation": -0.53 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-04-01", + "Correlation": -0.32 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-04-28", + "Correlation": 0.52 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-05-26", + "Correlation": 0.98 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-06-22", + "Correlation": -0.43 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-07-19", + "Correlation": -0.42 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-08-16", + "Correlation": -0.02 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-09-12", + "Correlation": 0.93 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-10-09", + "Correlation": 1 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-11-06", + "Correlation": -0.65 + }, + { + "StartDate": "2020-04-01", + "EndDate": "2022-12-03", + "Correlation": -0.34 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-01-01", + "Correlation": 0.79 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-01-28", + "Correlation": -0.38 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-02-24", + "Correlation": 0.97 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-03-23", + "Correlation": 0.56 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-04-19", + "Correlation": 0.13 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-05-16", + "Correlation": 0.92 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-06-13", + "Correlation": 0.97 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-07-10", + "Correlation": 0.13 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-08-07", + "Correlation": 0.92 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-09-03", + "Correlation": 0.38 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-09-30", + "Correlation": -0.76 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-10-28", + "Correlation": 0.02 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-11-24", + "Correlation": -0.71 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2020-12-21", + "Correlation": 0.18 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-01-18", + "Correlation": -0.23 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-02-14", + "Correlation": -0.79 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-03-14", + "Correlation": -0.06 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-04-10", + "Correlation": -0.78 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-05-07", + "Correlation": 0.92 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-06-04", + "Correlation": 0.31 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-07-01", + "Correlation": -0.26 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-07-28", + "Correlation": -0.24 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-08-25", + "Correlation": 0.86 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-09-21", + "Correlation": -0.92 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-10-19", + "Correlation": -0.61 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-11-15", + "Correlation": 0.57 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2021-12-12", + "Correlation": -0.25 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-01-09", + "Correlation": -0.33 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-02-05", + "Correlation": -0.73 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-03-04", + "Correlation": 0.78 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-04-01", + "Correlation": -0.39 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-04-28", + "Correlation": -0.21 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-05-26", + "Correlation": -0.75 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-06-22", + "Correlation": -0.04 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-07-19", + "Correlation": 0.66 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-08-16", + "Correlation": -0.94 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-09-12", + "Correlation": -0.29 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-10-09", + "Correlation": 0.4 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-11-06", + "Correlation": -0.28 + }, + { + "StartDate": "2020-04-19", + "EndDate": "2022-12-03", + "Correlation": 0.43 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-01-01", + "Correlation": -0.02 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-01-28", + "Correlation": -0.85 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-02-24", + "Correlation": -0.17 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-03-23", + "Correlation": 0.09 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-04-19", + "Correlation": -0.72 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-05-16", + "Correlation": 0.1 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-06-13", + "Correlation": 0.82 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-07-10", + "Correlation": 0.04 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-08-07", + "Correlation": -0.13 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-09-03", + "Correlation": 0.51 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-09-30", + "Correlation": 0.33 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-10-28", + "Correlation": 0.57 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-11-24", + "Correlation": -0.84 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2020-12-21", + "Correlation": -0.92 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-01-18", + "Correlation": 0.23 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-02-14", + "Correlation": -0.64 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-03-14", + "Correlation": -0.72 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-04-10", + "Correlation": 0.76 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-05-07", + "Correlation": 0.7 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-06-04", + "Correlation": -0.78 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-07-01", + "Correlation": -0.37 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-07-28", + "Correlation": -0.04 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-08-25", + "Correlation": 0.04 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-09-21", + "Correlation": 0.27 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-10-19", + "Correlation": 0.39 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-11-15", + "Correlation": 0.87 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2021-12-12", + "Correlation": 0.57 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-01-09", + "Correlation": 0.46 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-02-05", + "Correlation": 0.52 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-03-04", + "Correlation": -0.26 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-04-01", + "Correlation": -0.65 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-04-28", + "Correlation": -0.56 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-05-26", + "Correlation": -0.34 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-06-22", + "Correlation": 0.9 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-07-19", + "Correlation": -0.38 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-08-16", + "Correlation": 0.42 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-09-12", + "Correlation": -0.28 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-10-09", + "Correlation": 0.81 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-11-06", + "Correlation": -0.16 + }, + { + "StartDate": "2020-05-07", + "EndDate": "2022-12-03", + "Correlation": 0.31 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-01-01", + "Correlation": -0.07 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-01-28", + "Correlation": -0.59 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-02-24", + "Correlation": 0.39 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-03-23", + "Correlation": 0.44 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-04-19", + "Correlation": -0.89 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-05-16", + "Correlation": 0.84 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-06-13", + "Correlation": 0.24 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-07-10", + "Correlation": -0.95 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-08-07", + "Correlation": -0.61 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-09-03", + "Correlation": 0.97 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-09-30", + "Correlation": -0.14 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-10-28", + "Correlation": 0.34 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-11-24", + "Correlation": -0.01 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2020-12-21", + "Correlation": 0.22 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-01-18", + "Correlation": -0.86 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-02-14", + "Correlation": 0.49 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-03-14", + "Correlation": -0.28 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-04-10", + "Correlation": 0.23 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-05-07", + "Correlation": -0.57 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-06-04", + "Correlation": 0.01 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-07-01", + "Correlation": -0.05 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-07-28", + "Correlation": 0.34 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-08-25", + "Correlation": -0.79 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-09-21", + "Correlation": 0.07 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-10-19", + "Correlation": -0.87 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-11-15", + "Correlation": 0.54 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2021-12-12", + "Correlation": 0.03 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-01-09", + "Correlation": 0.35 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-02-05", + "Correlation": 0.08 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-03-04", + "Correlation": 0.58 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-04-01", + "Correlation": 0.47 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-04-28", + "Correlation": 0.16 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-05-26", + "Correlation": -0.83 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-06-22", + "Correlation": 0.27 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-07-19", + "Correlation": 0.1 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-08-16", + "Correlation": -0.27 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-09-12", + "Correlation": -0.85 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-10-09", + "Correlation": 0.15 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-11-06", + "Correlation": 0.45 + }, + { + "StartDate": "2020-05-26", + "EndDate": "2022-12-03", + "Correlation": 0.79 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-01-01", + "Correlation": -0.86 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-01-28", + "Correlation": -0.33 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-02-24", + "Correlation": -0.13 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-03-23", + "Correlation": 0.65 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-04-19", + "Correlation": 0.02 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-05-16", + "Correlation": 0.01 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-06-13", + "Correlation": -0.31 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-07-10", + "Correlation": -0.17 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-08-07", + "Correlation": 0.25 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-09-03", + "Correlation": -0.37 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-09-30", + "Correlation": 0.58 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-10-28", + "Correlation": 0 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-11-24", + "Correlation": 0.03 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2020-12-21", + "Correlation": 0.51 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-01-18", + "Correlation": 0.26 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-02-14", + "Correlation": 0.42 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-03-14", + "Correlation": 0.4 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-04-10", + "Correlation": -0.58 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-05-07", + "Correlation": -0.57 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-06-04", + "Correlation": -0.61 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-07-01", + "Correlation": -0.37 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-07-28", + "Correlation": -0.76 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-08-25", + "Correlation": -0.87 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-09-21", + "Correlation": 0.64 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-10-19", + "Correlation": 0.08 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-11-15", + "Correlation": 0.4 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2021-12-12", + "Correlation": -0.81 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-01-09", + "Correlation": -0.56 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-02-05", + "Correlation": -0.31 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-03-04", + "Correlation": -0.69 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-04-01", + "Correlation": -0.56 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-04-28", + "Correlation": -0.14 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-05-26", + "Correlation": -0.25 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-06-22", + "Correlation": -0.91 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-07-19", + "Correlation": 0.6 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-08-16", + "Correlation": 0.81 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-09-12", + "Correlation": 0.56 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-10-09", + "Correlation": -0.35 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-11-06", + "Correlation": -0.25 + }, + { + "StartDate": "2020-06-13", + "EndDate": "2022-12-03", + "Correlation": 0.66 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-01-01", + "Correlation": -0.97 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-01-28", + "Correlation": 0.76 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-02-24", + "Correlation": 0.22 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-03-23", + "Correlation": 0.32 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-04-19", + "Correlation": -0.39 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-05-16", + "Correlation": 0.72 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-06-13", + "Correlation": -0.72 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-07-10", + "Correlation": -0.16 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-08-07", + "Correlation": 0.63 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-09-03", + "Correlation": 0.68 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-09-30", + "Correlation": -0.74 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-10-28", + "Correlation": -0.1 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-11-24", + "Correlation": -0.34 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2020-12-21", + "Correlation": -0.5 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-01-18", + "Correlation": -0.4 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-02-14", + "Correlation": -0.41 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-03-14", + "Correlation": -0.58 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-04-10", + "Correlation": -0.65 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-05-07", + "Correlation": -0.05 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-06-04", + "Correlation": 0.08 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-07-01", + "Correlation": 0.35 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-07-28", + "Correlation": -0.56 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-08-25", + "Correlation": -0.27 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-09-21", + "Correlation": 0.21 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-10-19", + "Correlation": -0.17 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-11-15", + "Correlation": -0.04 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2021-12-12", + "Correlation": -0.86 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-01-09", + "Correlation": -0.45 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-02-05", + "Correlation": 0.97 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-03-04", + "Correlation": -0.93 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-04-01", + "Correlation": -0.06 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-04-28", + "Correlation": -0.28 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-05-26", + "Correlation": 0.66 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-06-22", + "Correlation": -0.88 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-07-19", + "Correlation": -0.91 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-08-16", + "Correlation": -0.77 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-09-12", + "Correlation": 0.77 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-10-09", + "Correlation": -0.2 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-11-06", + "Correlation": -0.38 + }, + { + "StartDate": "2020-07-01", + "EndDate": "2022-12-03", + "Correlation": 0.41 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-01-01", + "Correlation": 0.06 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-01-28", + "Correlation": -0.92 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-02-24", + "Correlation": 0.02 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-03-23", + "Correlation": -0.68 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-04-19", + "Correlation": -0.31 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-05-16", + "Correlation": -0.78 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-06-13", + "Correlation": -0.84 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-07-10", + "Correlation": 0.52 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-08-07", + "Correlation": 0.05 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-09-03", + "Correlation": 0.8 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-09-30", + "Correlation": 0.17 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-10-28", + "Correlation": 0.14 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-11-24", + "Correlation": -0.26 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2020-12-21", + "Correlation": 0.02 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-01-18", + "Correlation": -0.91 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-02-14", + "Correlation": 0.92 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-03-14", + "Correlation": 0.5 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-04-10", + "Correlation": 0.85 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-05-07", + "Correlation": -0.38 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-06-04", + "Correlation": -0.23 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-07-01", + "Correlation": 0.93 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-07-28", + "Correlation": 0.18 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-08-25", + "Correlation": 0.37 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-09-21", + "Correlation": -0.78 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-10-19", + "Correlation": -0.42 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-11-15", + "Correlation": -0.97 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2021-12-12", + "Correlation": 0.21 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-01-09", + "Correlation": -0.55 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-02-05", + "Correlation": -0.55 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-03-04", + "Correlation": -0.96 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-04-01", + "Correlation": -0.18 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-04-28", + "Correlation": 0.76 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-05-26", + "Correlation": -0.7 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-06-22", + "Correlation": -0.73 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-07-19", + "Correlation": 0.11 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-08-16", + "Correlation": 0.69 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-09-12", + "Correlation": -0.56 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-10-09", + "Correlation": 0.78 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-11-06", + "Correlation": 0.71 + }, + { + "StartDate": "2020-07-19", + "EndDate": "2022-12-03", + "Correlation": 0.34 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-01-01", + "Correlation": 0.2 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-01-28", + "Correlation": 0.16 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-02-24", + "Correlation": -0.09 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-03-23", + "Correlation": 0.63 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-04-19", + "Correlation": -0.96 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-05-16", + "Correlation": -0.78 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-06-13", + "Correlation": -0.04 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-07-10", + "Correlation": -0.42 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-08-07", + "Correlation": 0.88 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-09-03", + "Correlation": -0.13 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-09-30", + "Correlation": -0.34 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-10-28", + "Correlation": 0.3 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-11-24", + "Correlation": 0.76 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2020-12-21", + "Correlation": -0.04 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-01-18", + "Correlation": -0.62 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-02-14", + "Correlation": -0.84 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-03-14", + "Correlation": -0.14 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-04-10", + "Correlation": -0.84 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-05-07", + "Correlation": -0.04 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-06-04", + "Correlation": -0.55 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-07-01", + "Correlation": -0.7 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-07-28", + "Correlation": -0.38 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-08-25", + "Correlation": -0.04 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-09-21", + "Correlation": -0.92 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-10-19", + "Correlation": 0.02 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-11-15", + "Correlation": 0.81 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2021-12-12", + "Correlation": -0.93 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-01-09", + "Correlation": -0.26 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-02-05", + "Correlation": -0.13 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-03-04", + "Correlation": 0.94 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-04-01", + "Correlation": 0.58 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-04-28", + "Correlation": -0.83 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-05-26", + "Correlation": 0.53 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-06-22", + "Correlation": 0.09 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-07-19", + "Correlation": 0.66 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-08-16", + "Correlation": -0.47 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-09-12", + "Correlation": -0.17 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-10-09", + "Correlation": 0.55 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-11-06", + "Correlation": -0.4 + }, + { + "StartDate": "2020-08-07", + "EndDate": "2022-12-03", + "Correlation": 0.48 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-01-01", + "Correlation": 0.17 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-01-28", + "Correlation": -0.86 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-02-24", + "Correlation": 0.01 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-03-23", + "Correlation": 0.49 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-04-19", + "Correlation": 0.93 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-05-16", + "Correlation": 0.51 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-06-13", + "Correlation": 0.27 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-07-10", + "Correlation": 0.53 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-08-07", + "Correlation": 0.41 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-09-03", + "Correlation": -0.74 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-09-30", + "Correlation": 0.64 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-10-28", + "Correlation": 0.33 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-11-24", + "Correlation": 0.17 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2020-12-21", + "Correlation": 0.22 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-01-18", + "Correlation": 0.96 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-02-14", + "Correlation": 0.71 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-03-14", + "Correlation": 0.67 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-04-10", + "Correlation": 0.56 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-05-07", + "Correlation": -0.67 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-06-04", + "Correlation": 0.26 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-07-01", + "Correlation": -0.53 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-07-28", + "Correlation": -0.36 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-08-25", + "Correlation": -0.91 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-09-21", + "Correlation": 0.54 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-10-19", + "Correlation": -0.95 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-11-15", + "Correlation": 0.41 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2021-12-12", + "Correlation": 0.91 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-01-09", + "Correlation": 0.26 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-02-05", + "Correlation": 1 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-03-04", + "Correlation": -0.35 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-04-01", + "Correlation": -0.91 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-04-28", + "Correlation": -0.11 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-05-26", + "Correlation": -0.14 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-06-22", + "Correlation": 0.92 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-07-19", + "Correlation": 0.93 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-08-16", + "Correlation": 0.6 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-09-12", + "Correlation": -0.19 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-10-09", + "Correlation": -0.15 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-11-06", + "Correlation": 0.21 + }, + { + "StartDate": "2020-08-25", + "EndDate": "2022-12-03", + "Correlation": -0.04 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-01-01", + "Correlation": 0.51 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-01-28", + "Correlation": -0.89 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-02-24", + "Correlation": 0.03 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-03-23", + "Correlation": 0.61 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-04-19", + "Correlation": 0 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-05-16", + "Correlation": 0.94 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-06-13", + "Correlation": 0.94 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-07-10", + "Correlation": 0.01 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-08-07", + "Correlation": 0.74 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-09-03", + "Correlation": -0.15 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-09-30", + "Correlation": -0.12 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-10-28", + "Correlation": -0.83 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-11-24", + "Correlation": -0.53 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2020-12-21", + "Correlation": 0.65 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-01-18", + "Correlation": -1 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-02-14", + "Correlation": -0.32 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-03-14", + "Correlation": -0.17 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-04-10", + "Correlation": -0.17 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-05-07", + "Correlation": -0.1 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-06-04", + "Correlation": -0.8 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-07-01", + "Correlation": 0.41 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-07-28", + "Correlation": 0.91 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-08-25", + "Correlation": 0.16 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-09-21", + "Correlation": 0.12 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-10-19", + "Correlation": -0.82 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-11-15", + "Correlation": 0.65 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2021-12-12", + "Correlation": 0.41 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-01-09", + "Correlation": -0.03 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-02-05", + "Correlation": 0.9 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-03-04", + "Correlation": -0.23 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-04-01", + "Correlation": -0.94 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-04-28", + "Correlation": -0.44 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-05-26", + "Correlation": 0.17 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-06-22", + "Correlation": 0.86 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-07-19", + "Correlation": 0.74 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-08-16", + "Correlation": 0.93 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-09-12", + "Correlation": -0.32 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-10-09", + "Correlation": 0.88 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-11-06", + "Correlation": 0.75 + }, + { + "StartDate": "2020-09-12", + "EndDate": "2022-12-03", + "Correlation": 0.81 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-01-01", + "Correlation": 0.97 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-01-28", + "Correlation": 0.59 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-02-24", + "Correlation": -0.88 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-03-23", + "Correlation": -0.4 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-04-19", + "Correlation": -0.78 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-05-16", + "Correlation": -0.01 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-06-13", + "Correlation": -0.58 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-07-10", + "Correlation": -0.33 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-08-07", + "Correlation": -0.5 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-09-03", + "Correlation": -0.3 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-09-30", + "Correlation": -0.86 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-10-28", + "Correlation": -0.16 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-11-24", + "Correlation": -0.12 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2020-12-21", + "Correlation": 0.19 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-01-18", + "Correlation": -0.28 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-02-14", + "Correlation": -0.06 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-03-14", + "Correlation": 0.37 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-04-10", + "Correlation": -0.46 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-05-07", + "Correlation": -0.83 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-06-04", + "Correlation": 0.65 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-07-01", + "Correlation": -0.13 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-07-28", + "Correlation": 0.32 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-08-25", + "Correlation": 0.58 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-09-21", + "Correlation": -0.41 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-10-19", + "Correlation": -0.49 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-11-15", + "Correlation": -0.62 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2021-12-12", + "Correlation": -0.03 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-01-09", + "Correlation": -0.72 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-02-05", + "Correlation": 0.09 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-03-04", + "Correlation": 0.01 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-04-01", + "Correlation": 0.2 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-04-28", + "Correlation": -0.69 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-05-26", + "Correlation": -0.76 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-06-22", + "Correlation": -0.47 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-07-19", + "Correlation": 0.31 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-08-16", + "Correlation": 0.99 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-09-12", + "Correlation": -0.65 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-10-09", + "Correlation": 0.11 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-11-06", + "Correlation": -0.3 + }, + { + "StartDate": "2020-09-30", + "EndDate": "2022-12-03", + "Correlation": 0.93 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-01-01", + "Correlation": 0.4 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-01-28", + "Correlation": -0.51 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-02-24", + "Correlation": -0.72 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-03-23", + "Correlation": 0.41 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-04-19", + "Correlation": 0.86 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-05-16", + "Correlation": 0.88 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-06-13", + "Correlation": -0.64 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-07-10", + "Correlation": -0.94 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-08-07", + "Correlation": -0.2 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-09-03", + "Correlation": 0.79 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-09-30", + "Correlation": 0.23 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-10-28", + "Correlation": -0.81 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-11-24", + "Correlation": 0.75 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2020-12-21", + "Correlation": 0.5 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-01-18", + "Correlation": 0.09 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-02-14", + "Correlation": 0.56 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-03-14", + "Correlation": -0.43 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-04-10", + "Correlation": 0.14 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-05-07", + "Correlation": 0.21 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-06-04", + "Correlation": 0.34 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-07-01", + "Correlation": 0.51 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-07-28", + "Correlation": -0.17 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-08-25", + "Correlation": 0.21 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-09-21", + "Correlation": -0.35 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-10-19", + "Correlation": 0.82 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-11-15", + "Correlation": -0.49 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2021-12-12", + "Correlation": -0.51 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-01-09", + "Correlation": 0.05 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-02-05", + "Correlation": 0.36 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-03-04", + "Correlation": -0.08 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-04-01", + "Correlation": -0.76 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-04-28", + "Correlation": -0.79 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-05-26", + "Correlation": 0.75 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-06-22", + "Correlation": -0.7 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-07-19", + "Correlation": 0.72 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-08-16", + "Correlation": 0.74 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-09-12", + "Correlation": -0.7 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-10-09", + "Correlation": 0.1 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-11-06", + "Correlation": -0.8 + }, + { + "StartDate": "2020-10-19", + "EndDate": "2022-12-03", + "Correlation": -0.37 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-01-01", + "Correlation": -0.9 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-01-28", + "Correlation": -0.19 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-02-24", + "Correlation": -0.08 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-03-23", + "Correlation": -0.17 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-04-19", + "Correlation": -0.24 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-05-16", + "Correlation": -0.87 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-06-13", + "Correlation": -0.2 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-07-10", + "Correlation": 0.07 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-08-07", + "Correlation": 0.56 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-09-03", + "Correlation": -0.51 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-09-30", + "Correlation": -0.41 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-10-28", + "Correlation": -0.67 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-11-24", + "Correlation": 0.8 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2020-12-21", + "Correlation": 0.34 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-01-18", + "Correlation": 0.2 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-02-14", + "Correlation": 0.28 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-03-14", + "Correlation": 0.77 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-04-10", + "Correlation": -0.86 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-05-07", + "Correlation": 0.85 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-06-04", + "Correlation": -0.35 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-07-01", + "Correlation": 0.25 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-07-28", + "Correlation": -0.04 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-08-25", + "Correlation": 0.49 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-09-21", + "Correlation": -0.65 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-10-19", + "Correlation": 0.68 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-11-15", + "Correlation": 0.44 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2021-12-12", + "Correlation": 0.47 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-01-09", + "Correlation": -0.31 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-02-05", + "Correlation": 0.62 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-03-04", + "Correlation": 0.35 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-04-01", + "Correlation": -0.02 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-04-28", + "Correlation": -0.27 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-05-26", + "Correlation": -0.65 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-06-22", + "Correlation": -0.83 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-07-19", + "Correlation": 0.87 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-08-16", + "Correlation": 0.84 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-09-12", + "Correlation": 0.7 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-10-09", + "Correlation": 0.8 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-11-06", + "Correlation": -0.76 + }, + { + "StartDate": "2020-11-06", + "EndDate": "2022-12-03", + "Correlation": -0.54 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-01-01", + "Correlation": 0.14 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-01-28", + "Correlation": 0.11 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-02-24", + "Correlation": -0.52 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-03-23", + "Correlation": -0.86 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-04-19", + "Correlation": -0.55 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-05-16", + "Correlation": 0.62 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-06-13", + "Correlation": 0.74 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-07-10", + "Correlation": 0.98 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-08-07", + "Correlation": 0.16 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-09-03", + "Correlation": 0.66 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-09-30", + "Correlation": 0.29 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-10-28", + "Correlation": -0.42 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-11-24", + "Correlation": -0.1 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2020-12-21", + "Correlation": -0.42 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-01-18", + "Correlation": -0.4 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-02-14", + "Correlation": 0.56 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-03-14", + "Correlation": -0.86 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-04-10", + "Correlation": -0.62 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-05-07", + "Correlation": 0.58 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-06-04", + "Correlation": -0.4 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-07-01", + "Correlation": -0.46 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-07-28", + "Correlation": 0.4 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-08-25", + "Correlation": 0.92 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-09-21", + "Correlation": 0.59 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-10-19", + "Correlation": -0.49 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-11-15", + "Correlation": 0.77 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2021-12-12", + "Correlation": 0.66 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-01-09", + "Correlation": -0.26 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-02-05", + "Correlation": 0.07 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-03-04", + "Correlation": -0.94 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-04-01", + "Correlation": 0.13 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-04-28", + "Correlation": -0.03 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-05-26", + "Correlation": 0.3 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-06-22", + "Correlation": -0.86 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-07-19", + "Correlation": -0.84 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-08-16", + "Correlation": 0.53 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-09-12", + "Correlation": 0.44 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-10-09", + "Correlation": 0.85 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-11-06", + "Correlation": -0.15 + }, + { + "StartDate": "2020-11-24", + "EndDate": "2022-12-03", + "Correlation": 0.8 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-01-01", + "Correlation": 0.74 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-01-28", + "Correlation": 0.42 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-02-24", + "Correlation": 0.83 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-03-23", + "Correlation": 0.45 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-04-19", + "Correlation": -0.04 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-05-16", + "Correlation": 0.26 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-06-13", + "Correlation": -0.38 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-07-10", + "Correlation": 0.29 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-08-07", + "Correlation": 0.42 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-09-03", + "Correlation": -0.63 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-09-30", + "Correlation": -1 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-10-28", + "Correlation": -0.26 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-11-24", + "Correlation": -0.11 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2020-12-21", + "Correlation": 0.5 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-01-18", + "Correlation": 0.53 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-02-14", + "Correlation": 0.43 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-03-14", + "Correlation": 0.89 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-04-10", + "Correlation": -0.46 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-05-07", + "Correlation": -0.01 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-06-04", + "Correlation": 0.71 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-07-01", + "Correlation": 0.27 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-07-28", + "Correlation": 0.42 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-08-25", + "Correlation": -0.49 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-09-21", + "Correlation": -0.34 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-10-19", + "Correlation": 0.45 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-11-15", + "Correlation": -0.65 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2021-12-12", + "Correlation": -0.19 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-01-09", + "Correlation": 0.76 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-02-05", + "Correlation": 0.32 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-03-04", + "Correlation": -0.27 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-04-01", + "Correlation": 0.67 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-04-28", + "Correlation": 0.36 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-05-26", + "Correlation": 0.85 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-06-22", + "Correlation": -0.33 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-07-19", + "Correlation": -0.42 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-08-16", + "Correlation": -0.84 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-09-12", + "Correlation": 0.42 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-10-09", + "Correlation": 0.02 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-11-06", + "Correlation": 0.6 + }, + { + "StartDate": "2020-12-12", + "EndDate": "2022-12-03", + "Correlation": 0.4 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/07-card80.flint.json b/test-harness/excel/evaluations/inputs/heatmap/07-card80.flint.json new file mode 100644 index 00000000..f6a56785 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/07-card80.flint.json @@ -0,0 +1,2023 @@ +{ + "semantic_types": { + "Category": "Category", + "Group": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "Category", + "y": "Group", + "color": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "C01", + "Group": "Electronics", + "Value": 84 + }, + { + "Category": "C01", + "Group": "Clothing", + "Value": 87 + }, + { + "Category": "C01", + "Group": "Food", + "Value": 66 + }, + { + "Category": "C01", + "Group": "Books", + "Value": 17 + }, + { + "Category": "C01", + "Group": "Sports", + "Value": 3 + }, + { + "Category": "C02", + "Group": "Electronics", + "Value": 35 + }, + { + "Category": "C02", + "Group": "Clothing", + "Value": 43 + }, + { + "Category": "C02", + "Group": "Food", + "Value": 39 + }, + { + "Category": "C02", + "Group": "Books", + "Value": 8 + }, + { + "Category": "C02", + "Group": "Sports", + "Value": 20 + }, + { + "Category": "C03", + "Group": "Electronics", + "Value": 26 + }, + { + "Category": "C03", + "Group": "Clothing", + "Value": 41 + }, + { + "Category": "C03", + "Group": "Food", + "Value": 43 + }, + { + "Category": "C03", + "Group": "Books", + "Value": 42 + }, + { + "Category": "C03", + "Group": "Sports", + "Value": 86 + }, + { + "Category": "C04", + "Group": "Electronics", + "Value": 9 + }, + { + "Category": "C04", + "Group": "Clothing", + "Value": 6 + }, + { + "Category": "C04", + "Group": "Food", + "Value": 34 + }, + { + "Category": "C04", + "Group": "Books", + "Value": 52 + }, + { + "Category": "C04", + "Group": "Sports", + "Value": 46 + }, + { + "Category": "C05", + "Group": "Electronics", + "Value": 35 + }, + { + "Category": "C05", + "Group": "Clothing", + "Value": 83 + }, + { + "Category": "C05", + "Group": "Food", + "Value": 57 + }, + { + "Category": "C05", + "Group": "Books", + "Value": 94 + }, + { + "Category": "C05", + "Group": "Sports", + "Value": 53 + }, + { + "Category": "C06", + "Group": "Electronics", + "Value": 80 + }, + { + "Category": "C06", + "Group": "Clothing", + "Value": 54 + }, + { + "Category": "C06", + "Group": "Food", + "Value": 31 + }, + { + "Category": "C06", + "Group": "Books", + "Value": 2 + }, + { + "Category": "C06", + "Group": "Sports", + "Value": 20 + }, + { + "Category": "C07", + "Group": "Electronics", + "Value": 15 + }, + { + "Category": "C07", + "Group": "Clothing", + "Value": 82 + }, + { + "Category": "C07", + "Group": "Food", + "Value": 25 + }, + { + "Category": "C07", + "Group": "Books", + "Value": 26 + }, + { + "Category": "C07", + "Group": "Sports", + "Value": 38 + }, + { + "Category": "C08", + "Group": "Electronics", + "Value": 83 + }, + { + "Category": "C08", + "Group": "Clothing", + "Value": 54 + }, + { + "Category": "C08", + "Group": "Food", + "Value": 74 + }, + { + "Category": "C08", + "Group": "Books", + "Value": 77 + }, + { + "Category": "C08", + "Group": "Sports", + "Value": 59 + }, + { + "Category": "C09", + "Group": "Electronics", + "Value": 40 + }, + { + "Category": "C09", + "Group": "Clothing", + "Value": 51 + }, + { + "Category": "C09", + "Group": "Food", + "Value": 67 + }, + { + "Category": "C09", + "Group": "Books", + "Value": 76 + }, + { + "Category": "C09", + "Group": "Sports", + "Value": 81 + }, + { + "Category": "C10", + "Group": "Electronics", + "Value": 82 + }, + { + "Category": "C10", + "Group": "Clothing", + "Value": 96 + }, + { + "Category": "C10", + "Group": "Food", + "Value": 76 + }, + { + "Category": "C10", + "Group": "Books", + "Value": 6 + }, + { + "Category": "C10", + "Group": "Sports", + "Value": 12 + }, + { + "Category": "C11", + "Group": "Electronics", + "Value": 26 + }, + { + "Category": "C11", + "Group": "Clothing", + "Value": 9 + }, + { + "Category": "C11", + "Group": "Food", + "Value": 63 + }, + { + "Category": "C11", + "Group": "Books", + "Value": 94 + }, + { + "Category": "C11", + "Group": "Sports", + "Value": 41 + }, + { + "Category": "C12", + "Group": "Electronics", + "Value": 50 + }, + { + "Category": "C12", + "Group": "Clothing", + "Value": 20 + }, + { + "Category": "C12", + "Group": "Food", + "Value": 44 + }, + { + "Category": "C12", + "Group": "Books", + "Value": 98 + }, + { + "Category": "C12", + "Group": "Sports", + "Value": 76 + }, + { + "Category": "C13", + "Group": "Electronics", + "Value": 36 + }, + { + "Category": "C13", + "Group": "Clothing", + "Value": 58 + }, + { + "Category": "C13", + "Group": "Food", + "Value": 63 + }, + { + "Category": "C13", + "Group": "Books", + "Value": 22 + }, + { + "Category": "C13", + "Group": "Sports", + "Value": 65 + }, + { + "Category": "C14", + "Group": "Electronics", + "Value": 62 + }, + { + "Category": "C14", + "Group": "Clothing", + "Value": 24 + }, + { + "Category": "C14", + "Group": "Food", + "Value": 31 + }, + { + "Category": "C14", + "Group": "Books", + "Value": 29 + }, + { + "Category": "C14", + "Group": "Sports", + "Value": 10 + }, + { + "Category": "C15", + "Group": "Electronics", + "Value": 49 + }, + { + "Category": "C15", + "Group": "Clothing", + "Value": 23 + }, + { + "Category": "C15", + "Group": "Food", + "Value": 50 + }, + { + "Category": "C15", + "Group": "Books", + "Value": 17 + }, + { + "Category": "C15", + "Group": "Sports", + "Value": 41 + }, + { + "Category": "C16", + "Group": "Electronics", + "Value": 84 + }, + { + "Category": "C16", + "Group": "Clothing", + "Value": 85 + }, + { + "Category": "C16", + "Group": "Food", + "Value": 25 + }, + { + "Category": "C16", + "Group": "Books", + "Value": 91 + }, + { + "Category": "C16", + "Group": "Sports", + "Value": 21 + }, + { + "Category": "C17", + "Group": "Electronics", + "Value": 95 + }, + { + "Category": "C17", + "Group": "Clothing", + "Value": 50 + }, + { + "Category": "C17", + "Group": "Food", + "Value": 86 + }, + { + "Category": "C17", + "Group": "Books", + "Value": 56 + }, + { + "Category": "C17", + "Group": "Sports", + "Value": 71 + }, + { + "Category": "C18", + "Group": "Electronics", + "Value": 59 + }, + { + "Category": "C18", + "Group": "Clothing", + "Value": 83 + }, + { + "Category": "C18", + "Group": "Food", + "Value": 2 + }, + { + "Category": "C18", + "Group": "Books", + "Value": 44 + }, + { + "Category": "C18", + "Group": "Sports", + "Value": 45 + }, + { + "Category": "C19", + "Group": "Electronics", + "Value": 57 + }, + { + "Category": "C19", + "Group": "Clothing", + "Value": 31 + }, + { + "Category": "C19", + "Group": "Food", + "Value": 14 + }, + { + "Category": "C19", + "Group": "Books", + "Value": 42 + }, + { + "Category": "C19", + "Group": "Sports", + "Value": 9 + }, + { + "Category": "C20", + "Group": "Electronics", + "Value": 99 + }, + { + "Category": "C20", + "Group": "Clothing", + "Value": 10 + }, + { + "Category": "C20", + "Group": "Food", + "Value": 74 + }, + { + "Category": "C20", + "Group": "Books", + "Value": 76 + }, + { + "Category": "C20", + "Group": "Sports", + "Value": 71 + }, + { + "Category": "C21", + "Group": "Electronics", + "Value": 87 + }, + { + "Category": "C21", + "Group": "Clothing", + "Value": 12 + }, + { + "Category": "C21", + "Group": "Food", + "Value": 69 + }, + { + "Category": "C21", + "Group": "Books", + "Value": 81 + }, + { + "Category": "C21", + "Group": "Sports", + "Value": 22 + }, + { + "Category": "C22", + "Group": "Electronics", + "Value": 99 + }, + { + "Category": "C22", + "Group": "Clothing", + "Value": 8 + }, + { + "Category": "C22", + "Group": "Food", + "Value": 22 + }, + { + "Category": "C22", + "Group": "Books", + "Value": 18 + }, + { + "Category": "C22", + "Group": "Sports", + "Value": 41 + }, + { + "Category": "C23", + "Group": "Electronics", + "Value": 87 + }, + { + "Category": "C23", + "Group": "Clothing", + "Value": 66 + }, + { + "Category": "C23", + "Group": "Food", + "Value": 62 + }, + { + "Category": "C23", + "Group": "Books", + "Value": 13 + }, + { + "Category": "C23", + "Group": "Sports", + "Value": 63 + }, + { + "Category": "C24", + "Group": "Electronics", + "Value": 78 + }, + { + "Category": "C24", + "Group": "Clothing", + "Value": 93 + }, + { + "Category": "C24", + "Group": "Food", + "Value": 10 + }, + { + "Category": "C24", + "Group": "Books", + "Value": 94 + }, + { + "Category": "C24", + "Group": "Sports", + "Value": 21 + }, + { + "Category": "C25", + "Group": "Electronics", + "Value": 83 + }, + { + "Category": "C25", + "Group": "Clothing", + "Value": 94 + }, + { + "Category": "C25", + "Group": "Food", + "Value": 79 + }, + { + "Category": "C25", + "Group": "Books", + "Value": 24 + }, + { + "Category": "C25", + "Group": "Sports", + "Value": 18 + }, + { + "Category": "C26", + "Group": "Electronics", + "Value": 78 + }, + { + "Category": "C26", + "Group": "Clothing", + "Value": 98 + }, + { + "Category": "C26", + "Group": "Food", + "Value": 80 + }, + { + "Category": "C26", + "Group": "Books", + "Value": 54 + }, + { + "Category": "C26", + "Group": "Sports", + "Value": 64 + }, + { + "Category": "C27", + "Group": "Electronics", + "Value": 35 + }, + { + "Category": "C27", + "Group": "Clothing", + "Value": 88 + }, + { + "Category": "C27", + "Group": "Food", + "Value": 51 + }, + { + "Category": "C27", + "Group": "Books", + "Value": 25 + }, + { + "Category": "C27", + "Group": "Sports", + "Value": 29 + }, + { + "Category": "C28", + "Group": "Electronics", + "Value": 96 + }, + { + "Category": "C28", + "Group": "Clothing", + "Value": 68 + }, + { + "Category": "C28", + "Group": "Food", + "Value": 22 + }, + { + "Category": "C28", + "Group": "Books", + "Value": 91 + }, + { + "Category": "C28", + "Group": "Sports", + "Value": 76 + }, + { + "Category": "C29", + "Group": "Electronics", + "Value": 52 + }, + { + "Category": "C29", + "Group": "Clothing", + "Value": 18 + }, + { + "Category": "C29", + "Group": "Food", + "Value": 61 + }, + { + "Category": "C29", + "Group": "Books", + "Value": 41 + }, + { + "Category": "C29", + "Group": "Sports", + "Value": 67 + }, + { + "Category": "C30", + "Group": "Electronics", + "Value": 63 + }, + { + "Category": "C30", + "Group": "Clothing", + "Value": 55 + }, + { + "Category": "C30", + "Group": "Food", + "Value": 93 + }, + { + "Category": "C30", + "Group": "Books", + "Value": 41 + }, + { + "Category": "C30", + "Group": "Sports", + "Value": 33 + }, + { + "Category": "C31", + "Group": "Electronics", + "Value": 97 + }, + { + "Category": "C31", + "Group": "Clothing", + "Value": 59 + }, + { + "Category": "C31", + "Group": "Food", + "Value": 44 + }, + { + "Category": "C31", + "Group": "Books", + "Value": 32 + }, + { + "Category": "C31", + "Group": "Sports", + "Value": 84 + }, + { + "Category": "C32", + "Group": "Electronics", + "Value": 85 + }, + { + "Category": "C32", + "Group": "Clothing", + "Value": 67 + }, + { + "Category": "C32", + "Group": "Food", + "Value": 74 + }, + { + "Category": "C32", + "Group": "Books", + "Value": 25 + }, + { + "Category": "C32", + "Group": "Sports", + "Value": 72 + }, + { + "Category": "C33", + "Group": "Electronics", + "Value": 87 + }, + { + "Category": "C33", + "Group": "Clothing", + "Value": 1 + }, + { + "Category": "C33", + "Group": "Food", + "Value": 57 + }, + { + "Category": "C33", + "Group": "Books", + "Value": 87 + }, + { + "Category": "C33", + "Group": "Sports", + "Value": 74 + }, + { + "Category": "C34", + "Group": "Electronics", + "Value": 63 + }, + { + "Category": "C34", + "Group": "Clothing", + "Value": 66 + }, + { + "Category": "C34", + "Group": "Food", + "Value": 29 + }, + { + "Category": "C34", + "Group": "Books", + "Value": 89 + }, + { + "Category": "C34", + "Group": "Sports", + "Value": 10 + }, + { + "Category": "C35", + "Group": "Electronics", + "Value": 75 + }, + { + "Category": "C35", + "Group": "Clothing", + "Value": 21 + }, + { + "Category": "C35", + "Group": "Food", + "Value": 82 + }, + { + "Category": "C35", + "Group": "Books", + "Value": 54 + }, + { + "Category": "C35", + "Group": "Sports", + "Value": 65 + }, + { + "Category": "C36", + "Group": "Electronics", + "Value": 30 + }, + { + "Category": "C36", + "Group": "Clothing", + "Value": 51 + }, + { + "Category": "C36", + "Group": "Food", + "Value": 33 + }, + { + "Category": "C36", + "Group": "Books", + "Value": 58 + }, + { + "Category": "C36", + "Group": "Sports", + "Value": 32 + }, + { + "Category": "C37", + "Group": "Electronics", + "Value": 58 + }, + { + "Category": "C37", + "Group": "Clothing", + "Value": 75 + }, + { + "Category": "C37", + "Group": "Food", + "Value": 11 + }, + { + "Category": "C37", + "Group": "Books", + "Value": 63 + }, + { + "Category": "C37", + "Group": "Sports", + "Value": 85 + }, + { + "Category": "C38", + "Group": "Electronics", + "Value": 93 + }, + { + "Category": "C38", + "Group": "Clothing", + "Value": 32 + }, + { + "Category": "C38", + "Group": "Food", + "Value": 48 + }, + { + "Category": "C38", + "Group": "Books", + "Value": 11 + }, + { + "Category": "C38", + "Group": "Sports", + "Value": 95 + }, + { + "Category": "C39", + "Group": "Electronics", + "Value": 57 + }, + { + "Category": "C39", + "Group": "Clothing", + "Value": 13 + }, + { + "Category": "C39", + "Group": "Food", + "Value": 60 + }, + { + "Category": "C39", + "Group": "Books", + "Value": 86 + }, + { + "Category": "C39", + "Group": "Sports", + "Value": 21 + }, + { + "Category": "C40", + "Group": "Electronics", + "Value": 41 + }, + { + "Category": "C40", + "Group": "Clothing", + "Value": 68 + }, + { + "Category": "C40", + "Group": "Food", + "Value": 34 + }, + { + "Category": "C40", + "Group": "Books", + "Value": 33 + }, + { + "Category": "C40", + "Group": "Sports", + "Value": 40 + }, + { + "Category": "C41", + "Group": "Electronics", + "Value": 16 + }, + { + "Category": "C41", + "Group": "Clothing", + "Value": 3 + }, + { + "Category": "C41", + "Group": "Food", + "Value": 66 + }, + { + "Category": "C41", + "Group": "Books", + "Value": 14 + }, + { + "Category": "C41", + "Group": "Sports", + "Value": 76 + }, + { + "Category": "C42", + "Group": "Electronics", + "Value": 8 + }, + { + "Category": "C42", + "Group": "Clothing", + "Value": 99 + }, + { + "Category": "C42", + "Group": "Food", + "Value": 50 + }, + { + "Category": "C42", + "Group": "Books", + "Value": 71 + }, + { + "Category": "C42", + "Group": "Sports", + "Value": 3 + }, + { + "Category": "C43", + "Group": "Electronics", + "Value": 54 + }, + { + "Category": "C43", + "Group": "Clothing", + "Value": 54 + }, + { + "Category": "C43", + "Group": "Food", + "Value": 79 + }, + { + "Category": "C43", + "Group": "Books", + "Value": 66 + }, + { + "Category": "C43", + "Group": "Sports", + "Value": 66 + }, + { + "Category": "C44", + "Group": "Electronics", + "Value": 26 + }, + { + "Category": "C44", + "Group": "Clothing", + "Value": 24 + }, + { + "Category": "C44", + "Group": "Food", + "Value": 3 + }, + { + "Category": "C44", + "Group": "Books", + "Value": 84 + }, + { + "Category": "C44", + "Group": "Sports", + "Value": 23 + }, + { + "Category": "C45", + "Group": "Electronics", + "Value": 19 + }, + { + "Category": "C45", + "Group": "Clothing", + "Value": 31 + }, + { + "Category": "C45", + "Group": "Food", + "Value": 43 + }, + { + "Category": "C45", + "Group": "Books", + "Value": 3 + }, + { + "Category": "C45", + "Group": "Sports", + "Value": 13 + }, + { + "Category": "C46", + "Group": "Electronics", + "Value": 11 + }, + { + "Category": "C46", + "Group": "Clothing", + "Value": 18 + }, + { + "Category": "C46", + "Group": "Food", + "Value": 61 + }, + { + "Category": "C46", + "Group": "Books", + "Value": 93 + }, + { + "Category": "C46", + "Group": "Sports", + "Value": 52 + }, + { + "Category": "C47", + "Group": "Electronics", + "Value": 85 + }, + { + "Category": "C47", + "Group": "Clothing", + "Value": 41 + }, + { + "Category": "C47", + "Group": "Food", + "Value": 0 + }, + { + "Category": "C47", + "Group": "Books", + "Value": 59 + }, + { + "Category": "C47", + "Group": "Sports", + "Value": 38 + }, + { + "Category": "C48", + "Group": "Electronics", + "Value": 25 + }, + { + "Category": "C48", + "Group": "Clothing", + "Value": 33 + }, + { + "Category": "C48", + "Group": "Food", + "Value": 28 + }, + { + "Category": "C48", + "Group": "Books", + "Value": 73 + }, + { + "Category": "C48", + "Group": "Sports", + "Value": 52 + }, + { + "Category": "C49", + "Group": "Electronics", + "Value": 68 + }, + { + "Category": "C49", + "Group": "Clothing", + "Value": 8 + }, + { + "Category": "C49", + "Group": "Food", + "Value": 19 + }, + { + "Category": "C49", + "Group": "Books", + "Value": 29 + }, + { + "Category": "C49", + "Group": "Sports", + "Value": 65 + }, + { + "Category": "C50", + "Group": "Electronics", + "Value": 2 + }, + { + "Category": "C50", + "Group": "Clothing", + "Value": 9 + }, + { + "Category": "C50", + "Group": "Food", + "Value": 97 + }, + { + "Category": "C50", + "Group": "Books", + "Value": 86 + }, + { + "Category": "C50", + "Group": "Sports", + "Value": 96 + }, + { + "Category": "C51", + "Group": "Electronics", + "Value": 63 + }, + { + "Category": "C51", + "Group": "Clothing", + "Value": 84 + }, + { + "Category": "C51", + "Group": "Food", + "Value": 44 + }, + { + "Category": "C51", + "Group": "Books", + "Value": 11 + }, + { + "Category": "C51", + "Group": "Sports", + "Value": 38 + }, + { + "Category": "C52", + "Group": "Electronics", + "Value": 17 + }, + { + "Category": "C52", + "Group": "Clothing", + "Value": 54 + }, + { + "Category": "C52", + "Group": "Food", + "Value": 58 + }, + { + "Category": "C52", + "Group": "Books", + "Value": 72 + }, + { + "Category": "C52", + "Group": "Sports", + "Value": 54 + }, + { + "Category": "C53", + "Group": "Electronics", + "Value": 41 + }, + { + "Category": "C53", + "Group": "Clothing", + "Value": 50 + }, + { + "Category": "C53", + "Group": "Food", + "Value": 62 + }, + { + "Category": "C53", + "Group": "Books", + "Value": 76 + }, + { + "Category": "C53", + "Group": "Sports", + "Value": 17 + }, + { + "Category": "C54", + "Group": "Electronics", + "Value": 65 + }, + { + "Category": "C54", + "Group": "Clothing", + "Value": 8 + }, + { + "Category": "C54", + "Group": "Food", + "Value": 40 + }, + { + "Category": "C54", + "Group": "Books", + "Value": 41 + }, + { + "Category": "C54", + "Group": "Sports", + "Value": 9 + }, + { + "Category": "C55", + "Group": "Electronics", + "Value": 28 + }, + { + "Category": "C55", + "Group": "Clothing", + "Value": 77 + }, + { + "Category": "C55", + "Group": "Food", + "Value": 74 + }, + { + "Category": "C55", + "Group": "Books", + "Value": 22 + }, + { + "Category": "C55", + "Group": "Sports", + "Value": 47 + }, + { + "Category": "C56", + "Group": "Electronics", + "Value": 85 + }, + { + "Category": "C56", + "Group": "Clothing", + "Value": 90 + }, + { + "Category": "C56", + "Group": "Food", + "Value": 76 + }, + { + "Category": "C56", + "Group": "Books", + "Value": 78 + }, + { + "Category": "C56", + "Group": "Sports", + "Value": 5 + }, + { + "Category": "C57", + "Group": "Electronics", + "Value": 57 + }, + { + "Category": "C57", + "Group": "Clothing", + "Value": 99 + }, + { + "Category": "C57", + "Group": "Food", + "Value": 10 + }, + { + "Category": "C57", + "Group": "Books", + "Value": 20 + }, + { + "Category": "C57", + "Group": "Sports", + "Value": 41 + }, + { + "Category": "C58", + "Group": "Electronics", + "Value": 9 + }, + { + "Category": "C58", + "Group": "Clothing", + "Value": 92 + }, + { + "Category": "C58", + "Group": "Food", + "Value": 54 + }, + { + "Category": "C58", + "Group": "Books", + "Value": 89 + }, + { + "Category": "C58", + "Group": "Sports", + "Value": 95 + }, + { + "Category": "C59", + "Group": "Electronics", + "Value": 74 + }, + { + "Category": "C59", + "Group": "Clothing", + "Value": 35 + }, + { + "Category": "C59", + "Group": "Food", + "Value": 44 + }, + { + "Category": "C59", + "Group": "Books", + "Value": 69 + }, + { + "Category": "C59", + "Group": "Sports", + "Value": 80 + }, + { + "Category": "C60", + "Group": "Electronics", + "Value": 78 + }, + { + "Category": "C60", + "Group": "Clothing", + "Value": 83 + }, + { + "Category": "C60", + "Group": "Food", + "Value": 71 + }, + { + "Category": "C60", + "Group": "Books", + "Value": 39 + }, + { + "Category": "C60", + "Group": "Sports", + "Value": 48 + }, + { + "Category": "C61", + "Group": "Electronics", + "Value": 5 + }, + { + "Category": "C61", + "Group": "Clothing", + "Value": 74 + }, + { + "Category": "C61", + "Group": "Food", + "Value": 35 + }, + { + "Category": "C61", + "Group": "Books", + "Value": 53 + }, + { + "Category": "C61", + "Group": "Sports", + "Value": 45 + }, + { + "Category": "C62", + "Group": "Electronics", + "Value": 60 + }, + { + "Category": "C62", + "Group": "Clothing", + "Value": 26 + }, + { + "Category": "C62", + "Group": "Food", + "Value": 52 + }, + { + "Category": "C62", + "Group": "Books", + "Value": 52 + }, + { + "Category": "C62", + "Group": "Sports", + "Value": 20 + }, + { + "Category": "C63", + "Group": "Electronics", + "Value": 90 + }, + { + "Category": "C63", + "Group": "Clothing", + "Value": 53 + }, + { + "Category": "C63", + "Group": "Food", + "Value": 70 + }, + { + "Category": "C63", + "Group": "Books", + "Value": 1 + }, + { + "Category": "C63", + "Group": "Sports", + "Value": 55 + }, + { + "Category": "C64", + "Group": "Electronics", + "Value": 2 + }, + { + "Category": "C64", + "Group": "Clothing", + "Value": 55 + }, + { + "Category": "C64", + "Group": "Food", + "Value": 1 + }, + { + "Category": "C64", + "Group": "Books", + "Value": 93 + }, + { + "Category": "C64", + "Group": "Sports", + "Value": 26 + }, + { + "Category": "C65", + "Group": "Electronics", + "Value": 82 + }, + { + "Category": "C65", + "Group": "Clothing", + "Value": 81 + }, + { + "Category": "C65", + "Group": "Food", + "Value": 50 + }, + { + "Category": "C65", + "Group": "Books", + "Value": 43 + }, + { + "Category": "C65", + "Group": "Sports", + "Value": 63 + }, + { + "Category": "C66", + "Group": "Electronics", + "Value": 34 + }, + { + "Category": "C66", + "Group": "Clothing", + "Value": 69 + }, + { + "Category": "C66", + "Group": "Food", + "Value": 47 + }, + { + "Category": "C66", + "Group": "Books", + "Value": 92 + }, + { + "Category": "C66", + "Group": "Sports", + "Value": 49 + }, + { + "Category": "C67", + "Group": "Electronics", + "Value": 52 + }, + { + "Category": "C67", + "Group": "Clothing", + "Value": 99 + }, + { + "Category": "C67", + "Group": "Food", + "Value": 48 + }, + { + "Category": "C67", + "Group": "Books", + "Value": 14 + }, + { + "Category": "C67", + "Group": "Sports", + "Value": 52 + }, + { + "Category": "C68", + "Group": "Electronics", + "Value": 23 + }, + { + "Category": "C68", + "Group": "Clothing", + "Value": 11 + }, + { + "Category": "C68", + "Group": "Food", + "Value": 31 + }, + { + "Category": "C68", + "Group": "Books", + "Value": 13 + }, + { + "Category": "C68", + "Group": "Sports", + "Value": 56 + }, + { + "Category": "C69", + "Group": "Electronics", + "Value": 37 + }, + { + "Category": "C69", + "Group": "Clothing", + "Value": 58 + }, + { + "Category": "C69", + "Group": "Food", + "Value": 61 + }, + { + "Category": "C69", + "Group": "Books", + "Value": 21 + }, + { + "Category": "C69", + "Group": "Sports", + "Value": 23 + }, + { + "Category": "C70", + "Group": "Electronics", + "Value": 79 + }, + { + "Category": "C70", + "Group": "Clothing", + "Value": 46 + }, + { + "Category": "C70", + "Group": "Food", + "Value": 74 + }, + { + "Category": "C70", + "Group": "Books", + "Value": 15 + }, + { + "Category": "C70", + "Group": "Sports", + "Value": 70 + }, + { + "Category": "C71", + "Group": "Electronics", + "Value": 37 + }, + { + "Category": "C71", + "Group": "Clothing", + "Value": 62 + }, + { + "Category": "C71", + "Group": "Food", + "Value": 0 + }, + { + "Category": "C71", + "Group": "Books", + "Value": 52 + }, + { + "Category": "C71", + "Group": "Sports", + "Value": 44 + }, + { + "Category": "C72", + "Group": "Electronics", + "Value": 93 + }, + { + "Category": "C72", + "Group": "Clothing", + "Value": 33 + }, + { + "Category": "C72", + "Group": "Food", + "Value": 91 + }, + { + "Category": "C72", + "Group": "Books", + "Value": 47 + }, + { + "Category": "C72", + "Group": "Sports", + "Value": 95 + }, + { + "Category": "C73", + "Group": "Electronics", + "Value": 48 + }, + { + "Category": "C73", + "Group": "Clothing", + "Value": 16 + }, + { + "Category": "C73", + "Group": "Food", + "Value": 61 + }, + { + "Category": "C73", + "Group": "Books", + "Value": 97 + }, + { + "Category": "C73", + "Group": "Sports", + "Value": 59 + }, + { + "Category": "C74", + "Group": "Electronics", + "Value": 49 + }, + { + "Category": "C74", + "Group": "Clothing", + "Value": 85 + }, + { + "Category": "C74", + "Group": "Food", + "Value": 96 + }, + { + "Category": "C74", + "Group": "Books", + "Value": 70 + }, + { + "Category": "C74", + "Group": "Sports", + "Value": 85 + }, + { + "Category": "C75", + "Group": "Electronics", + "Value": 72 + }, + { + "Category": "C75", + "Group": "Clothing", + "Value": 14 + }, + { + "Category": "C75", + "Group": "Food", + "Value": 25 + }, + { + "Category": "C75", + "Group": "Books", + "Value": 73 + }, + { + "Category": "C75", + "Group": "Sports", + "Value": 35 + }, + { + "Category": "C76", + "Group": "Electronics", + "Value": 96 + }, + { + "Category": "C76", + "Group": "Clothing", + "Value": 8 + }, + { + "Category": "C76", + "Group": "Food", + "Value": 61 + }, + { + "Category": "C76", + "Group": "Books", + "Value": 50 + }, + { + "Category": "C76", + "Group": "Sports", + "Value": 73 + }, + { + "Category": "C77", + "Group": "Electronics", + "Value": 84 + }, + { + "Category": "C77", + "Group": "Clothing", + "Value": 8 + }, + { + "Category": "C77", + "Group": "Food", + "Value": 6 + }, + { + "Category": "C77", + "Group": "Books", + "Value": 69 + }, + { + "Category": "C77", + "Group": "Sports", + "Value": 86 + }, + { + "Category": "C78", + "Group": "Electronics", + "Value": 73 + }, + { + "Category": "C78", + "Group": "Clothing", + "Value": 18 + }, + { + "Category": "C78", + "Group": "Food", + "Value": 71 + }, + { + "Category": "C78", + "Group": "Books", + "Value": 19 + }, + { + "Category": "C78", + "Group": "Sports", + "Value": 43 + }, + { + "Category": "C79", + "Group": "Electronics", + "Value": 45 + }, + { + "Category": "C79", + "Group": "Clothing", + "Value": 16 + }, + { + "Category": "C79", + "Group": "Food", + "Value": 62 + }, + { + "Category": "C79", + "Group": "Books", + "Value": 47 + }, + { + "Category": "C79", + "Group": "Sports", + "Value": 91 + }, + { + "Category": "C80", + "Group": "Electronics", + "Value": 12 + }, + { + "Category": "C80", + "Group": "Clothing", + "Value": 66 + }, + { + "Category": "C80", + "Group": "Food", + "Value": 51 + }, + { + "Category": "C80", + "Group": "Books", + "Value": 56 + }, + { + "Category": "C80", + "Group": "Sports", + "Value": 2 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/heatmap/08-card5.flint.json b/test-harness/excel/evaluations/inputs/heatmap/08-card5.flint.json new file mode 100644 index 00000000..a28d63dc --- /dev/null +++ b/test-harness/excel/evaluations/inputs/heatmap/08-card5.flint.json @@ -0,0 +1,2023 @@ +{ + "semantic_types": { + "Group": "Category", + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Heatmap", + "encodings": { + "x": "Group", + "y": "Category", + "color": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "Electronics", + "Category": "C01", + "Value": 97 + }, + { + "Group": "Electronics", + "Category": "C02", + "Value": 29 + }, + { + "Group": "Electronics", + "Category": "C03", + "Value": 93 + }, + { + "Group": "Electronics", + "Category": "C04", + "Value": 93 + }, + { + "Group": "Electronics", + "Category": "C05", + "Value": 88 + }, + { + "Group": "Electronics", + "Category": "C06", + "Value": 38 + }, + { + "Group": "Electronics", + "Category": "C07", + "Value": 99 + }, + { + "Group": "Electronics", + "Category": "C08", + "Value": 16 + }, + { + "Group": "Electronics", + "Category": "C09", + "Value": 84 + }, + { + "Group": "Electronics", + "Category": "C10", + "Value": 56 + }, + { + "Group": "Electronics", + "Category": "C11", + "Value": 38 + }, + { + "Group": "Electronics", + "Category": "C12", + "Value": 24 + }, + { + "Group": "Electronics", + "Category": "C13", + "Value": 85 + }, + { + "Group": "Electronics", + "Category": "C14", + "Value": 99 + }, + { + "Group": "Electronics", + "Category": "C15", + "Value": 3 + }, + { + "Group": "Electronics", + "Category": "C16", + "Value": 33 + }, + { + "Group": "Electronics", + "Category": "C17", + "Value": 8 + }, + { + "Group": "Electronics", + "Category": "C18", + "Value": 78 + }, + { + "Group": "Electronics", + "Category": "C19", + "Value": 31 + }, + { + "Group": "Electronics", + "Category": "C20", + "Value": 24 + }, + { + "Group": "Electronics", + "Category": "C21", + "Value": 36 + }, + { + "Group": "Electronics", + "Category": "C22", + "Value": 48 + }, + { + "Group": "Electronics", + "Category": "C23", + "Value": 48 + }, + { + "Group": "Electronics", + "Category": "C24", + "Value": 24 + }, + { + "Group": "Electronics", + "Category": "C25", + "Value": 15 + }, + { + "Group": "Electronics", + "Category": "C26", + "Value": 24 + }, + { + "Group": "Electronics", + "Category": "C27", + "Value": 66 + }, + { + "Group": "Electronics", + "Category": "C28", + "Value": 62 + }, + { + "Group": "Electronics", + "Category": "C29", + "Value": 28 + }, + { + "Group": "Electronics", + "Category": "C30", + "Value": 83 + }, + { + "Group": "Electronics", + "Category": "C31", + "Value": 91 + }, + { + "Group": "Electronics", + "Category": "C32", + "Value": 16 + }, + { + "Group": "Electronics", + "Category": "C33", + "Value": 97 + }, + { + "Group": "Electronics", + "Category": "C34", + "Value": 15 + }, + { + "Group": "Electronics", + "Category": "C35", + "Value": 6 + }, + { + "Group": "Electronics", + "Category": "C36", + "Value": 37 + }, + { + "Group": "Electronics", + "Category": "C37", + "Value": 4 + }, + { + "Group": "Electronics", + "Category": "C38", + "Value": 21 + }, + { + "Group": "Electronics", + "Category": "C39", + "Value": 58 + }, + { + "Group": "Electronics", + "Category": "C40", + "Value": 81 + }, + { + "Group": "Electronics", + "Category": "C41", + "Value": 69 + }, + { + "Group": "Electronics", + "Category": "C42", + "Value": 22 + }, + { + "Group": "Electronics", + "Category": "C43", + "Value": 48 + }, + { + "Group": "Electronics", + "Category": "C44", + "Value": 8 + }, + { + "Group": "Electronics", + "Category": "C45", + "Value": 91 + }, + { + "Group": "Electronics", + "Category": "C46", + "Value": 93 + }, + { + "Group": "Electronics", + "Category": "C47", + "Value": 20 + }, + { + "Group": "Electronics", + "Category": "C48", + "Value": 23 + }, + { + "Group": "Electronics", + "Category": "C49", + "Value": 28 + }, + { + "Group": "Electronics", + "Category": "C50", + "Value": 11 + }, + { + "Group": "Electronics", + "Category": "C51", + "Value": 23 + }, + { + "Group": "Electronics", + "Category": "C52", + "Value": 19 + }, + { + "Group": "Electronics", + "Category": "C53", + "Value": 10 + }, + { + "Group": "Electronics", + "Category": "C54", + "Value": 58 + }, + { + "Group": "Electronics", + "Category": "C55", + "Value": 50 + }, + { + "Group": "Electronics", + "Category": "C56", + "Value": 62 + }, + { + "Group": "Electronics", + "Category": "C57", + "Value": 85 + }, + { + "Group": "Electronics", + "Category": "C58", + "Value": 48 + }, + { + "Group": "Electronics", + "Category": "C59", + "Value": 88 + }, + { + "Group": "Electronics", + "Category": "C60", + "Value": 54 + }, + { + "Group": "Electronics", + "Category": "C61", + "Value": 70 + }, + { + "Group": "Electronics", + "Category": "C62", + "Value": 64 + }, + { + "Group": "Electronics", + "Category": "C63", + "Value": 38 + }, + { + "Group": "Electronics", + "Category": "C64", + "Value": 64 + }, + { + "Group": "Electronics", + "Category": "C65", + "Value": 32 + }, + { + "Group": "Electronics", + "Category": "C66", + "Value": 84 + }, + { + "Group": "Electronics", + "Category": "C67", + "Value": 11 + }, + { + "Group": "Electronics", + "Category": "C68", + "Value": 69 + }, + { + "Group": "Electronics", + "Category": "C69", + "Value": 13 + }, + { + "Group": "Electronics", + "Category": "C70", + "Value": 68 + }, + { + "Group": "Electronics", + "Category": "C71", + "Value": 12 + }, + { + "Group": "Electronics", + "Category": "C72", + "Value": 86 + }, + { + "Group": "Electronics", + "Category": "C73", + "Value": 17 + }, + { + "Group": "Electronics", + "Category": "C74", + "Value": 84 + }, + { + "Group": "Electronics", + "Category": "C75", + "Value": 78 + }, + { + "Group": "Electronics", + "Category": "C76", + "Value": 28 + }, + { + "Group": "Electronics", + "Category": "C77", + "Value": 74 + }, + { + "Group": "Electronics", + "Category": "C78", + "Value": 85 + }, + { + "Group": "Electronics", + "Category": "C79", + "Value": 3 + }, + { + "Group": "Electronics", + "Category": "C80", + "Value": 73 + }, + { + "Group": "Clothing", + "Category": "C01", + "Value": 79 + }, + { + "Group": "Clothing", + "Category": "C02", + "Value": 41 + }, + { + "Group": "Clothing", + "Category": "C03", + "Value": 29 + }, + { + "Group": "Clothing", + "Category": "C04", + "Value": 26 + }, + { + "Group": "Clothing", + "Category": "C05", + "Value": 74 + }, + { + "Group": "Clothing", + "Category": "C06", + "Value": 73 + }, + { + "Group": "Clothing", + "Category": "C07", + "Value": 30 + }, + { + "Group": "Clothing", + "Category": "C08", + "Value": 12 + }, + { + "Group": "Clothing", + "Category": "C09", + "Value": 43 + }, + { + "Group": "Clothing", + "Category": "C10", + "Value": 4 + }, + { + "Group": "Clothing", + "Category": "C11", + "Value": 62 + }, + { + "Group": "Clothing", + "Category": "C12", + "Value": 96 + }, + { + "Group": "Clothing", + "Category": "C13", + "Value": 69 + }, + { + "Group": "Clothing", + "Category": "C14", + "Value": 15 + }, + { + "Group": "Clothing", + "Category": "C15", + "Value": 38 + }, + { + "Group": "Clothing", + "Category": "C16", + "Value": 25 + }, + { + "Group": "Clothing", + "Category": "C17", + "Value": 65 + }, + { + "Group": "Clothing", + "Category": "C18", + "Value": 24 + }, + { + "Group": "Clothing", + "Category": "C19", + "Value": 37 + }, + { + "Group": "Clothing", + "Category": "C20", + "Value": 56 + }, + { + "Group": "Clothing", + "Category": "C21", + "Value": 8 + }, + { + "Group": "Clothing", + "Category": "C22", + "Value": 17 + }, + { + "Group": "Clothing", + "Category": "C23", + "Value": 4 + }, + { + "Group": "Clothing", + "Category": "C24", + "Value": 5 + }, + { + "Group": "Clothing", + "Category": "C25", + "Value": 66 + }, + { + "Group": "Clothing", + "Category": "C26", + "Value": 94 + }, + { + "Group": "Clothing", + "Category": "C27", + "Value": 46 + }, + { + "Group": "Clothing", + "Category": "C28", + "Value": 81 + }, + { + "Group": "Clothing", + "Category": "C29", + "Value": 25 + }, + { + "Group": "Clothing", + "Category": "C30", + "Value": 74 + }, + { + "Group": "Clothing", + "Category": "C31", + "Value": 93 + }, + { + "Group": "Clothing", + "Category": "C32", + "Value": 15 + }, + { + "Group": "Clothing", + "Category": "C33", + "Value": 41 + }, + { + "Group": "Clothing", + "Category": "C34", + "Value": 52 + }, + { + "Group": "Clothing", + "Category": "C35", + "Value": 89 + }, + { + "Group": "Clothing", + "Category": "C36", + "Value": 39 + }, + { + "Group": "Clothing", + "Category": "C37", + "Value": 9 + }, + { + "Group": "Clothing", + "Category": "C38", + "Value": 52 + }, + { + "Group": "Clothing", + "Category": "C39", + "Value": 95 + }, + { + "Group": "Clothing", + "Category": "C40", + "Value": 78 + }, + { + "Group": "Clothing", + "Category": "C41", + "Value": 84 + }, + { + "Group": "Clothing", + "Category": "C42", + "Value": 69 + }, + { + "Group": "Clothing", + "Category": "C43", + "Value": 78 + }, + { + "Group": "Clothing", + "Category": "C44", + "Value": 57 + }, + { + "Group": "Clothing", + "Category": "C45", + "Value": 23 + }, + { + "Group": "Clothing", + "Category": "C46", + "Value": 40 + }, + { + "Group": "Clothing", + "Category": "C47", + "Value": 93 + }, + { + "Group": "Clothing", + "Category": "C48", + "Value": 41 + }, + { + "Group": "Clothing", + "Category": "C49", + "Value": 79 + }, + { + "Group": "Clothing", + "Category": "C50", + "Value": 89 + }, + { + "Group": "Clothing", + "Category": "C51", + "Value": 87 + }, + { + "Group": "Clothing", + "Category": "C52", + "Value": 63 + }, + { + "Group": "Clothing", + "Category": "C53", + "Value": 77 + }, + { + "Group": "Clothing", + "Category": "C54", + "Value": 65 + }, + { + "Group": "Clothing", + "Category": "C55", + "Value": 98 + }, + { + "Group": "Clothing", + "Category": "C56", + "Value": 86 + }, + { + "Group": "Clothing", + "Category": "C57", + "Value": 72 + }, + { + "Group": "Clothing", + "Category": "C58", + "Value": 21 + }, + { + "Group": "Clothing", + "Category": "C59", + "Value": 6 + }, + { + "Group": "Clothing", + "Category": "C60", + "Value": 25 + }, + { + "Group": "Clothing", + "Category": "C61", + "Value": 93 + }, + { + "Group": "Clothing", + "Category": "C62", + "Value": 79 + }, + { + "Group": "Clothing", + "Category": "C63", + "Value": 27 + }, + { + "Group": "Clothing", + "Category": "C64", + "Value": 95 + }, + { + "Group": "Clothing", + "Category": "C65", + "Value": 78 + }, + { + "Group": "Clothing", + "Category": "C66", + "Value": 53 + }, + { + "Group": "Clothing", + "Category": "C67", + "Value": 35 + }, + { + "Group": "Clothing", + "Category": "C68", + "Value": 70 + }, + { + "Group": "Clothing", + "Category": "C69", + "Value": 63 + }, + { + "Group": "Clothing", + "Category": "C70", + "Value": 2 + }, + { + "Group": "Clothing", + "Category": "C71", + "Value": 95 + }, + { + "Group": "Clothing", + "Category": "C72", + "Value": 11 + }, + { + "Group": "Clothing", + "Category": "C73", + "Value": 55 + }, + { + "Group": "Clothing", + "Category": "C74", + "Value": 99 + }, + { + "Group": "Clothing", + "Category": "C75", + "Value": 27 + }, + { + "Group": "Clothing", + "Category": "C76", + "Value": 26 + }, + { + "Group": "Clothing", + "Category": "C77", + "Value": 33 + }, + { + "Group": "Clothing", + "Category": "C78", + "Value": 6 + }, + { + "Group": "Clothing", + "Category": "C79", + "Value": 92 + }, + { + "Group": "Clothing", + "Category": "C80", + "Value": 64 + }, + { + "Group": "Food", + "Category": "C01", + "Value": 94 + }, + { + "Group": "Food", + "Category": "C02", + "Value": 66 + }, + { + "Group": "Food", + "Category": "C03", + "Value": 33 + }, + { + "Group": "Food", + "Category": "C04", + "Value": 80 + }, + { + "Group": "Food", + "Category": "C05", + "Value": 97 + }, + { + "Group": "Food", + "Category": "C06", + "Value": 90 + }, + { + "Group": "Food", + "Category": "C07", + "Value": 75 + }, + { + "Group": "Food", + "Category": "C08", + "Value": 22 + }, + { + "Group": "Food", + "Category": "C09", + "Value": 18 + }, + { + "Group": "Food", + "Category": "C10", + "Value": 69 + }, + { + "Group": "Food", + "Category": "C11", + "Value": 97 + }, + { + "Group": "Food", + "Category": "C12", + "Value": 44 + }, + { + "Group": "Food", + "Category": "C13", + "Value": 68 + }, + { + "Group": "Food", + "Category": "C14", + "Value": 31 + }, + { + "Group": "Food", + "Category": "C15", + "Value": 96 + }, + { + "Group": "Food", + "Category": "C16", + "Value": 3 + }, + { + "Group": "Food", + "Category": "C17", + "Value": 16 + }, + { + "Group": "Food", + "Category": "C18", + "Value": 2 + }, + { + "Group": "Food", + "Category": "C19", + "Value": 68 + }, + { + "Group": "Food", + "Category": "C20", + "Value": 62 + }, + { + "Group": "Food", + "Category": "C21", + "Value": 37 + }, + { + "Group": "Food", + "Category": "C22", + "Value": 29 + }, + { + "Group": "Food", + "Category": "C23", + "Value": 72 + }, + { + "Group": "Food", + "Category": "C24", + "Value": 3 + }, + { + "Group": "Food", + "Category": "C25", + "Value": 20 + }, + { + "Group": "Food", + "Category": "C26", + "Value": 82 + }, + { + "Group": "Food", + "Category": "C27", + "Value": 54 + }, + { + "Group": "Food", + "Category": "C28", + "Value": 39 + }, + { + "Group": "Food", + "Category": "C29", + "Value": 59 + }, + { + "Group": "Food", + "Category": "C30", + "Value": 83 + }, + { + "Group": "Food", + "Category": "C31", + "Value": 40 + }, + { + "Group": "Food", + "Category": "C32", + "Value": 51 + }, + { + "Group": "Food", + "Category": "C33", + "Value": 95 + }, + { + "Group": "Food", + "Category": "C34", + "Value": 40 + }, + { + "Group": "Food", + "Category": "C35", + "Value": 94 + }, + { + "Group": "Food", + "Category": "C36", + "Value": 15 + }, + { + "Group": "Food", + "Category": "C37", + "Value": 26 + }, + { + "Group": "Food", + "Category": "C38", + "Value": 68 + }, + { + "Group": "Food", + "Category": "C39", + "Value": 92 + }, + { + "Group": "Food", + "Category": "C40", + "Value": 53 + }, + { + "Group": "Food", + "Category": "C41", + "Value": 86 + }, + { + "Group": "Food", + "Category": "C42", + "Value": 61 + }, + { + "Group": "Food", + "Category": "C43", + "Value": 87 + }, + { + "Group": "Food", + "Category": "C44", + "Value": 35 + }, + { + "Group": "Food", + "Category": "C45", + "Value": 30 + }, + { + "Group": "Food", + "Category": "C46", + "Value": 43 + }, + { + "Group": "Food", + "Category": "C47", + "Value": 30 + }, + { + "Group": "Food", + "Category": "C48", + "Value": 75 + }, + { + "Group": "Food", + "Category": "C49", + "Value": 97 + }, + { + "Group": "Food", + "Category": "C50", + "Value": 82 + }, + { + "Group": "Food", + "Category": "C51", + "Value": 3 + }, + { + "Group": "Food", + "Category": "C52", + "Value": 46 + }, + { + "Group": "Food", + "Category": "C53", + "Value": 97 + }, + { + "Group": "Food", + "Category": "C54", + "Value": 57 + }, + { + "Group": "Food", + "Category": "C55", + "Value": 44 + }, + { + "Group": "Food", + "Category": "C56", + "Value": 51 + }, + { + "Group": "Food", + "Category": "C57", + "Value": 98 + }, + { + "Group": "Food", + "Category": "C58", + "Value": 63 + }, + { + "Group": "Food", + "Category": "C59", + "Value": 25 + }, + { + "Group": "Food", + "Category": "C60", + "Value": 23 + }, + { + "Group": "Food", + "Category": "C61", + "Value": 43 + }, + { + "Group": "Food", + "Category": "C62", + "Value": 99 + }, + { + "Group": "Food", + "Category": "C63", + "Value": 53 + }, + { + "Group": "Food", + "Category": "C64", + "Value": 33 + }, + { + "Group": "Food", + "Category": "C65", + "Value": 74 + }, + { + "Group": "Food", + "Category": "C66", + "Value": 35 + }, + { + "Group": "Food", + "Category": "C67", + "Value": 85 + }, + { + "Group": "Food", + "Category": "C68", + "Value": 83 + }, + { + "Group": "Food", + "Category": "C69", + "Value": 77 + }, + { + "Group": "Food", + "Category": "C70", + "Value": 46 + }, + { + "Group": "Food", + "Category": "C71", + "Value": 47 + }, + { + "Group": "Food", + "Category": "C72", + "Value": 74 + }, + { + "Group": "Food", + "Category": "C73", + "Value": 12 + }, + { + "Group": "Food", + "Category": "C74", + "Value": 97 + }, + { + "Group": "Food", + "Category": "C75", + "Value": 64 + }, + { + "Group": "Food", + "Category": "C76", + "Value": 87 + }, + { + "Group": "Food", + "Category": "C77", + "Value": 27 + }, + { + "Group": "Food", + "Category": "C78", + "Value": 98 + }, + { + "Group": "Food", + "Category": "C79", + "Value": 85 + }, + { + "Group": "Food", + "Category": "C80", + "Value": 59 + }, + { + "Group": "Books", + "Category": "C01", + "Value": 23 + }, + { + "Group": "Books", + "Category": "C02", + "Value": 42 + }, + { + "Group": "Books", + "Category": "C03", + "Value": 30 + }, + { + "Group": "Books", + "Category": "C04", + "Value": 59 + }, + { + "Group": "Books", + "Category": "C05", + "Value": 45 + }, + { + "Group": "Books", + "Category": "C06", + "Value": 24 + }, + { + "Group": "Books", + "Category": "C07", + "Value": 24 + }, + { + "Group": "Books", + "Category": "C08", + "Value": 50 + }, + { + "Group": "Books", + "Category": "C09", + "Value": 36 + }, + { + "Group": "Books", + "Category": "C10", + "Value": 62 + }, + { + "Group": "Books", + "Category": "C11", + "Value": 34 + }, + { + "Group": "Books", + "Category": "C12", + "Value": 8 + }, + { + "Group": "Books", + "Category": "C13", + "Value": 89 + }, + { + "Group": "Books", + "Category": "C14", + "Value": 3 + }, + { + "Group": "Books", + "Category": "C15", + "Value": 3 + }, + { + "Group": "Books", + "Category": "C16", + "Value": 75 + }, + { + "Group": "Books", + "Category": "C17", + "Value": 88 + }, + { + "Group": "Books", + "Category": "C18", + "Value": 16 + }, + { + "Group": "Books", + "Category": "C19", + "Value": 30 + }, + { + "Group": "Books", + "Category": "C20", + "Value": 63 + }, + { + "Group": "Books", + "Category": "C21", + "Value": 36 + }, + { + "Group": "Books", + "Category": "C22", + "Value": 83 + }, + { + "Group": "Books", + "Category": "C23", + "Value": 52 + }, + { + "Group": "Books", + "Category": "C24", + "Value": 13 + }, + { + "Group": "Books", + "Category": "C25", + "Value": 87 + }, + { + "Group": "Books", + "Category": "C26", + "Value": 90 + }, + { + "Group": "Books", + "Category": "C27", + "Value": 12 + }, + { + "Group": "Books", + "Category": "C28", + "Value": 27 + }, + { + "Group": "Books", + "Category": "C29", + "Value": 76 + }, + { + "Group": "Books", + "Category": "C30", + "Value": 71 + }, + { + "Group": "Books", + "Category": "C31", + "Value": 14 + }, + { + "Group": "Books", + "Category": "C32", + "Value": 94 + }, + { + "Group": "Books", + "Category": "C33", + "Value": 42 + }, + { + "Group": "Books", + "Category": "C34", + "Value": 45 + }, + { + "Group": "Books", + "Category": "C35", + "Value": 9 + }, + { + "Group": "Books", + "Category": "C36", + "Value": 22 + }, + { + "Group": "Books", + "Category": "C37", + "Value": 0 + }, + { + "Group": "Books", + "Category": "C38", + "Value": 54 + }, + { + "Group": "Books", + "Category": "C39", + "Value": 43 + }, + { + "Group": "Books", + "Category": "C40", + "Value": 25 + }, + { + "Group": "Books", + "Category": "C41", + "Value": 71 + }, + { + "Group": "Books", + "Category": "C42", + "Value": 56 + }, + { + "Group": "Books", + "Category": "C43", + "Value": 76 + }, + { + "Group": "Books", + "Category": "C44", + "Value": 25 + }, + { + "Group": "Books", + "Category": "C45", + "Value": 42 + }, + { + "Group": "Books", + "Category": "C46", + "Value": 78 + }, + { + "Group": "Books", + "Category": "C47", + "Value": 72 + }, + { + "Group": "Books", + "Category": "C48", + "Value": 44 + }, + { + "Group": "Books", + "Category": "C49", + "Value": 70 + }, + { + "Group": "Books", + "Category": "C50", + "Value": 81 + }, + { + "Group": "Books", + "Category": "C51", + "Value": 44 + }, + { + "Group": "Books", + "Category": "C52", + "Value": 29 + }, + { + "Group": "Books", + "Category": "C53", + "Value": 26 + }, + { + "Group": "Books", + "Category": "C54", + "Value": 74 + }, + { + "Group": "Books", + "Category": "C55", + "Value": 60 + }, + { + "Group": "Books", + "Category": "C56", + "Value": 7 + }, + { + "Group": "Books", + "Category": "C57", + "Value": 60 + }, + { + "Group": "Books", + "Category": "C58", + "Value": 67 + }, + { + "Group": "Books", + "Category": "C59", + "Value": 64 + }, + { + "Group": "Books", + "Category": "C60", + "Value": 98 + }, + { + "Group": "Books", + "Category": "C61", + "Value": 25 + }, + { + "Group": "Books", + "Category": "C62", + "Value": 76 + }, + { + "Group": "Books", + "Category": "C63", + "Value": 84 + }, + { + "Group": "Books", + "Category": "C64", + "Value": 100 + }, + { + "Group": "Books", + "Category": "C65", + "Value": 35 + }, + { + "Group": "Books", + "Category": "C66", + "Value": 25 + }, + { + "Group": "Books", + "Category": "C67", + "Value": 89 + }, + { + "Group": "Books", + "Category": "C68", + "Value": 9 + }, + { + "Group": "Books", + "Category": "C69", + "Value": 57 + }, + { + "Group": "Books", + "Category": "C70", + "Value": 74 + }, + { + "Group": "Books", + "Category": "C71", + "Value": 27 + }, + { + "Group": "Books", + "Category": "C72", + "Value": 56 + }, + { + "Group": "Books", + "Category": "C73", + "Value": 28 + }, + { + "Group": "Books", + "Category": "C74", + "Value": 16 + }, + { + "Group": "Books", + "Category": "C75", + "Value": 73 + }, + { + "Group": "Books", + "Category": "C76", + "Value": 82 + }, + { + "Group": "Books", + "Category": "C77", + "Value": 77 + }, + { + "Group": "Books", + "Category": "C78", + "Value": 54 + }, + { + "Group": "Books", + "Category": "C79", + "Value": 83 + }, + { + "Group": "Books", + "Category": "C80", + "Value": 98 + }, + { + "Group": "Sports", + "Category": "C01", + "Value": 80 + }, + { + "Group": "Sports", + "Category": "C02", + "Value": 49 + }, + { + "Group": "Sports", + "Category": "C03", + "Value": 37 + }, + { + "Group": "Sports", + "Category": "C04", + "Value": 70 + }, + { + "Group": "Sports", + "Category": "C05", + "Value": 61 + }, + { + "Group": "Sports", + "Category": "C06", + "Value": 87 + }, + { + "Group": "Sports", + "Category": "C07", + "Value": 88 + }, + { + "Group": "Sports", + "Category": "C08", + "Value": 86 + }, + { + "Group": "Sports", + "Category": "C09", + "Value": 52 + }, + { + "Group": "Sports", + "Category": "C10", + "Value": 18 + }, + { + "Group": "Sports", + "Category": "C11", + "Value": 29 + }, + { + "Group": "Sports", + "Category": "C12", + "Value": 31 + }, + { + "Group": "Sports", + "Category": "C13", + "Value": 13 + }, + { + "Group": "Sports", + "Category": "C14", + "Value": 40 + }, + { + "Group": "Sports", + "Category": "C15", + "Value": 2 + }, + { + "Group": "Sports", + "Category": "C16", + "Value": 94 + }, + { + "Group": "Sports", + "Category": "C17", + "Value": 63 + }, + { + "Group": "Sports", + "Category": "C18", + "Value": 69 + }, + { + "Group": "Sports", + "Category": "C19", + "Value": 45 + }, + { + "Group": "Sports", + "Category": "C20", + "Value": 70 + }, + { + "Group": "Sports", + "Category": "C21", + "Value": 85 + }, + { + "Group": "Sports", + "Category": "C22", + "Value": 65 + }, + { + "Group": "Sports", + "Category": "C23", + "Value": 60 + }, + { + "Group": "Sports", + "Category": "C24", + "Value": 10 + }, + { + "Group": "Sports", + "Category": "C25", + "Value": 91 + }, + { + "Group": "Sports", + "Category": "C26", + "Value": 47 + }, + { + "Group": "Sports", + "Category": "C27", + "Value": 37 + }, + { + "Group": "Sports", + "Category": "C28", + "Value": 78 + }, + { + "Group": "Sports", + "Category": "C29", + "Value": 7 + }, + { + "Group": "Sports", + "Category": "C30", + "Value": 80 + }, + { + "Group": "Sports", + "Category": "C31", + "Value": 45 + }, + { + "Group": "Sports", + "Category": "C32", + "Value": 96 + }, + { + "Group": "Sports", + "Category": "C33", + "Value": 23 + }, + { + "Group": "Sports", + "Category": "C34", + "Value": 50 + }, + { + "Group": "Sports", + "Category": "C35", + "Value": 80 + }, + { + "Group": "Sports", + "Category": "C36", + "Value": 30 + }, + { + "Group": "Sports", + "Category": "C37", + "Value": 42 + }, + { + "Group": "Sports", + "Category": "C38", + "Value": 59 + }, + { + "Group": "Sports", + "Category": "C39", + "Value": 22 + }, + { + "Group": "Sports", + "Category": "C40", + "Value": 38 + }, + { + "Group": "Sports", + "Category": "C41", + "Value": 79 + }, + { + "Group": "Sports", + "Category": "C42", + "Value": 6 + }, + { + "Group": "Sports", + "Category": "C43", + "Value": 79 + }, + { + "Group": "Sports", + "Category": "C44", + "Value": 97 + }, + { + "Group": "Sports", + "Category": "C45", + "Value": 52 + }, + { + "Group": "Sports", + "Category": "C46", + "Value": 37 + }, + { + "Group": "Sports", + "Category": "C47", + "Value": 90 + }, + { + "Group": "Sports", + "Category": "C48", + "Value": 59 + }, + { + "Group": "Sports", + "Category": "C49", + "Value": 45 + }, + { + "Group": "Sports", + "Category": "C50", + "Value": 50 + }, + { + "Group": "Sports", + "Category": "C51", + "Value": 97 + }, + { + "Group": "Sports", + "Category": "C52", + "Value": 92 + }, + { + "Group": "Sports", + "Category": "C53", + "Value": 81 + }, + { + "Group": "Sports", + "Category": "C54", + "Value": 3 + }, + { + "Group": "Sports", + "Category": "C55", + "Value": 46 + }, + { + "Group": "Sports", + "Category": "C56", + "Value": 40 + }, + { + "Group": "Sports", + "Category": "C57", + "Value": 18 + }, + { + "Group": "Sports", + "Category": "C58", + "Value": 45 + }, + { + "Group": "Sports", + "Category": "C59", + "Value": 2 + }, + { + "Group": "Sports", + "Category": "C60", + "Value": 37 + }, + { + "Group": "Sports", + "Category": "C61", + "Value": 56 + }, + { + "Group": "Sports", + "Category": "C62", + "Value": 87 + }, + { + "Group": "Sports", + "Category": "C63", + "Value": 21 + }, + { + "Group": "Sports", + "Category": "C64", + "Value": 64 + }, + { + "Group": "Sports", + "Category": "C65", + "Value": 50 + }, + { + "Group": "Sports", + "Category": "C66", + "Value": 87 + }, + { + "Group": "Sports", + "Category": "C67", + "Value": 25 + }, + { + "Group": "Sports", + "Category": "C68", + "Value": 67 + }, + { + "Group": "Sports", + "Category": "C69", + "Value": 60 + }, + { + "Group": "Sports", + "Category": "C70", + "Value": 12 + }, + { + "Group": "Sports", + "Category": "C71", + "Value": 14 + }, + { + "Group": "Sports", + "Category": "C72", + "Value": 39 + }, + { + "Group": "Sports", + "Category": "C73", + "Value": 14 + }, + { + "Group": "Sports", + "Category": "C74", + "Value": 94 + }, + { + "Group": "Sports", + "Category": "C75", + "Value": 69 + }, + { + "Group": "Sports", + "Category": "C76", + "Value": 87 + }, + { + "Group": "Sports", + "Category": "C77", + "Value": 39 + }, + { + "Group": "Sports", + "Category": "C78", + "Value": 55 + }, + { + "Group": "Sports", + "Category": "C79", + "Value": 95 + }, + { + "Group": "Sports", + "Category": "C80", + "Value": 45 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/histogram/00-card49.flint.json b/test-harness/excel/evaluations/inputs/histogram/00-card49.flint.json new file mode 100644 index 00000000..90f06ac9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/histogram/00-card49.flint.json @@ -0,0 +1,319 @@ +{ + "semantic_types": { + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Histogram", + "encodings": { + "x": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Value": 12 + }, + { + "Value": 26 + }, + { + "Value": 23 + }, + { + "Value": 41 + }, + { + "Value": 59 + }, + { + "Value": 52 + }, + { + "Value": 60 + }, + { + "Value": 65 + }, + { + "Value": 66 + }, + { + "Value": 48 + }, + { + "Value": 50 + }, + { + "Value": 57 + }, + { + "Value": 52 + }, + { + "Value": 41 + }, + { + "Value": 30 + }, + { + "Value": 72 + }, + { + "Value": 53 + }, + { + "Value": 45 + }, + { + "Value": 17 + }, + { + "Value": 63 + }, + { + "Value": 60 + }, + { + "Value": 31 + }, + { + "Value": 63 + }, + { + "Value": 60 + }, + { + "Value": 19 + }, + { + "Value": 63 + }, + { + "Value": 81 + }, + { + "Value": 40 + }, + { + "Value": 64 + }, + { + "Value": 52 + }, + { + "Value": 53 + }, + { + "Value": 37 + }, + { + "Value": 38 + }, + { + "Value": 45 + }, + { + "Value": 18 + }, + { + "Value": 37 + }, + { + "Value": 41 + }, + { + "Value": 51 + }, + { + "Value": 70 + }, + { + "Value": 63 + }, + { + "Value": 69 + }, + { + "Value": 34 + }, + { + "Value": 60 + }, + { + "Value": 59 + }, + { + "Value": 41 + }, + { + "Value": 26 + }, + { + "Value": 43 + }, + { + "Value": 35 + }, + { + "Value": 43 + }, + { + "Value": 57 + }, + { + "Value": 53 + }, + { + "Value": 46 + }, + { + "Value": 41 + }, + { + "Value": 51 + }, + { + "Value": 42 + }, + { + "Value": 38 + }, + { + "Value": 47 + }, + { + "Value": 52 + }, + { + "Value": 55 + }, + { + "Value": 54 + }, + { + "Value": 60 + }, + { + "Value": 45 + }, + { + "Value": 60 + }, + { + "Value": 78 + }, + { + "Value": 71 + }, + { + "Value": 55 + }, + { + "Value": 21 + }, + { + "Value": 69 + }, + { + "Value": 57 + }, + { + "Value": 51 + }, + { + "Value": 69 + }, + { + "Value": 49 + }, + { + "Value": 27 + }, + { + "Value": 62 + }, + { + "Value": 43 + }, + { + "Value": 36 + }, + { + "Value": 66 + }, + { + "Value": 47 + }, + { + "Value": 37 + }, + { + "Value": 52 + }, + { + "Value": 23 + }, + { + "Value": 46 + }, + { + "Value": 39 + }, + { + "Value": 55 + }, + { + "Value": 51 + }, + { + "Value": 49 + }, + { + "Value": 56 + }, + { + "Value": 63 + }, + { + "Value": 75 + }, + { + "Value": 68 + }, + { + "Value": 59 + }, + { + "Value": 42 + }, + { + "Value": 61 + }, + { + "Value": 42 + }, + { + "Value": 30 + }, + { + "Value": 37 + }, + { + "Value": 78 + }, + { + "Value": 68 + }, + { + "Value": 64 + }, + { + "Value": 59 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/histogram/01-card42.flint.json b/test-harness/excel/evaluations/inputs/histogram/01-card42.flint.json new file mode 100644 index 00000000..2015b206 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/histogram/01-card42.flint.json @@ -0,0 +1,821 @@ +{ + "semantic_types": { + "Height": "Quantity", + "Gender": "Category" + }, + "chart_spec": { + "chartType": "Histogram", + "encodings": { + "x": "Height", + "color": "Gender" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Height": 176, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 169, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 161, + "Gender": "Male" + }, + { + "Height": 155, + "Gender": "Female" + }, + { + "Height": 189, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 160, + "Gender": "Male" + }, + { + "Height": 155, + "Gender": "Female" + }, + { + "Height": 181, + "Gender": "Male" + }, + { + "Height": 171, + "Gender": "Female" + }, + { + "Height": 160, + "Gender": "Male" + }, + { + "Height": 168, + "Gender": "Female" + }, + { + "Height": 167, + "Gender": "Male" + }, + { + "Height": 172, + "Gender": "Female" + }, + { + "Height": 166, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 158, + "Gender": "Male" + }, + { + "Height": 168, + "Gender": "Female" + }, + { + "Height": 176, + "Gender": "Male" + }, + { + "Height": 147, + "Gender": "Female" + }, + { + "Height": 155, + "Gender": "Male" + }, + { + "Height": 153, + "Gender": "Female" + }, + { + "Height": 156, + "Gender": "Male" + }, + { + "Height": 152, + "Gender": "Female" + }, + { + "Height": 181, + "Gender": "Male" + }, + { + "Height": 166, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 145, + "Gender": "Female" + }, + { + "Height": 162, + "Gender": "Male" + }, + { + "Height": 158, + "Gender": "Female" + }, + { + "Height": 174, + "Gender": "Male" + }, + { + "Height": 152, + "Gender": "Female" + }, + { + "Height": 160, + "Gender": "Male" + }, + { + "Height": 164, + "Gender": "Female" + }, + { + "Height": 169, + "Gender": "Male" + }, + { + "Height": 157, + "Gender": "Female" + }, + { + "Height": 164, + "Gender": "Male" + }, + { + "Height": 161, + "Gender": "Female" + }, + { + "Height": 162, + "Gender": "Male" + }, + { + "Height": 158, + "Gender": "Female" + }, + { + "Height": 176, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 170, + "Gender": "Female" + }, + { + "Height": 180, + "Gender": "Male" + }, + { + "Height": 154, + "Gender": "Female" + }, + { + "Height": 174, + "Gender": "Male" + }, + { + "Height": 169, + "Gender": "Female" + }, + { + "Height": 174, + "Gender": "Male" + }, + { + "Height": 156, + "Gender": "Female" + }, + { + "Height": 168, + "Gender": "Male" + }, + { + "Height": 155, + "Gender": "Female" + }, + { + "Height": 173, + "Gender": "Male" + }, + { + "Height": 140, + "Gender": "Female" + }, + { + "Height": 173, + "Gender": "Male" + }, + { + "Height": 161, + "Gender": "Female" + }, + { + "Height": 164, + "Gender": "Male" + }, + { + "Height": 174, + "Gender": "Female" + }, + { + "Height": 169, + "Gender": "Male" + }, + { + "Height": 153, + "Gender": "Female" + }, + { + "Height": 156, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 163, + "Gender": "Male" + }, + { + "Height": 168, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 168, + "Gender": "Female" + }, + { + "Height": 168, + "Gender": "Male" + }, + { + "Height": 157, + "Gender": "Female" + }, + { + "Height": 163, + "Gender": "Male" + }, + { + "Height": 152, + "Gender": "Female" + }, + { + "Height": 180, + "Gender": "Male" + }, + { + "Height": 172, + "Gender": "Female" + }, + { + "Height": 174, + "Gender": "Male" + }, + { + "Height": 156, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 164, + "Gender": "Female" + }, + { + "Height": 150, + "Gender": "Male" + }, + { + "Height": 165, + "Gender": "Female" + }, + { + "Height": 177, + "Gender": "Male" + }, + { + "Height": 163, + "Gender": "Female" + }, + { + "Height": 176, + "Gender": "Male" + }, + { + "Height": 167, + "Gender": "Female" + }, + { + "Height": 164, + "Gender": "Male" + }, + { + "Height": 158, + "Gender": "Female" + }, + { + "Height": 172, + "Gender": "Male" + }, + { + "Height": 162, + "Gender": "Female" + }, + { + "Height": 161, + "Gender": "Male" + }, + { + "Height": 159, + "Gender": "Female" + }, + { + "Height": 169, + "Gender": "Male" + }, + { + "Height": 155, + "Gender": "Female" + }, + { + "Height": 167, + "Gender": "Male" + }, + { + "Height": 173, + "Gender": "Female" + }, + { + "Height": 164, + "Gender": "Male" + }, + { + "Height": 153, + "Gender": "Female" + }, + { + "Height": 162, + "Gender": "Male" + }, + { + "Height": 157, + "Gender": "Female" + }, + { + "Height": 165, + "Gender": "Male" + }, + { + "Height": 158, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 159, + "Gender": "Female" + }, + { + "Height": 177, + "Gender": "Male" + }, + { + "Height": 161, + "Gender": "Female" + }, + { + "Height": 179, + "Gender": "Male" + }, + { + "Height": 154, + "Gender": "Female" + }, + { + "Height": 163, + "Gender": "Male" + }, + { + "Height": 170, + "Gender": "Female" + }, + { + "Height": 180, + "Gender": "Male" + }, + { + "Height": 163, + "Gender": "Female" + }, + { + "Height": 180, + "Gender": "Male" + }, + { + "Height": 164, + "Gender": "Female" + }, + { + "Height": 176, + "Gender": "Male" + }, + { + "Height": 149, + "Gender": "Female" + }, + { + "Height": 180, + "Gender": "Male" + }, + { + "Height": 150, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 159, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 174, + "Gender": "Female" + }, + { + "Height": 161, + "Gender": "Male" + }, + { + "Height": 154, + "Gender": "Female" + }, + { + "Height": 184, + "Gender": "Male" + }, + { + "Height": 156, + "Gender": "Female" + }, + { + "Height": 165, + "Gender": "Male" + }, + { + "Height": 146, + "Gender": "Female" + }, + { + "Height": 158, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 165, + "Gender": "Male" + }, + { + "Height": 159, + "Gender": "Female" + }, + { + "Height": 177, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 163, + "Gender": "Female" + }, + { + "Height": 173, + "Gender": "Male" + }, + { + "Height": 162, + "Gender": "Female" + }, + { + "Height": 162, + "Gender": "Male" + }, + { + "Height": 161, + "Gender": "Female" + }, + { + "Height": 197, + "Gender": "Male" + }, + { + "Height": 144, + "Gender": "Female" + }, + { + "Height": 165, + "Gender": "Male" + }, + { + "Height": 163, + "Gender": "Female" + }, + { + "Height": 171, + "Gender": "Male" + }, + { + "Height": 167, + "Gender": "Female" + }, + { + "Height": 167, + "Gender": "Male" + }, + { + "Height": 160, + "Gender": "Female" + }, + { + "Height": 167, + "Gender": "Male" + }, + { + "Height": 154, + "Gender": "Female" + }, + { + "Height": 163, + "Gender": "Male" + }, + { + "Height": 179, + "Gender": "Female" + }, + { + "Height": 164, + "Gender": "Male" + }, + { + "Height": 157, + "Gender": "Female" + }, + { + "Height": 160, + "Gender": "Male" + }, + { + "Height": 166, + "Gender": "Female" + }, + { + "Height": 176, + "Gender": "Male" + }, + { + "Height": 159, + "Gender": "Female" + }, + { + "Height": 164, + "Gender": "Male" + }, + { + "Height": 163, + "Gender": "Female" + }, + { + "Height": 170, + "Gender": "Male" + }, + { + "Height": 152, + "Gender": "Female" + }, + { + "Height": 166, + "Gender": "Male" + }, + { + "Height": 164, + "Gender": "Female" + }, + { + "Height": 182, + "Gender": "Male" + }, + { + "Height": 148, + "Gender": "Female" + }, + { + "Height": 166, + "Gender": "Male" + }, + { + "Height": 145, + "Gender": "Female" + }, + { + "Height": 189, + "Gender": "Male" + }, + { + "Height": 163, + "Gender": "Female" + }, + { + "Height": 154, + "Gender": "Male" + }, + { + "Height": 169, + "Gender": "Female" + }, + { + "Height": 186, + "Gender": "Male" + }, + { + "Height": 153, + "Gender": "Female" + }, + { + "Height": 177, + "Gender": "Male" + }, + { + "Height": 157, + "Gender": "Female" + }, + { + "Height": 168, + "Gender": "Male" + }, + { + "Height": 167, + "Gender": "Female" + }, + { + "Height": 176, + "Gender": "Male" + }, + { + "Height": 167, + "Gender": "Female" + }, + { + "Height": 175, + "Gender": "Male" + }, + { + "Height": 163, + "Gender": "Female" + }, + { + "Height": 161, + "Gender": "Male" + }, + { + "Height": 162, + "Gender": "Female" + }, + { + "Height": 169, + "Gender": "Male" + }, + { + "Height": 165, + "Gender": "Female" + }, + { + "Height": 161, + "Gender": "Male" + }, + { + "Height": 153, + "Gender": "Female" + }, + { + "Height": 177, + "Gender": "Male" + }, + { + "Height": 169, + "Gender": "Female" + }, + { + "Height": 180, + "Gender": "Male" + }, + { + "Height": 158, + "Gender": "Female" + }, + { + "Height": 177, + "Gender": "Male" + }, + { + "Height": 158, + "Gender": "Female" + }, + { + "Height": 162, + "Gender": "Male" + }, + { + "Height": 150, + "Gender": "Female" + }, + { + "Height": 162, + "Gender": "Male" + }, + { + "Height": 169, + "Gender": "Female" + }, + { + "Height": 171, + "Gender": "Male" + }, + { + "Height": 159, + "Gender": "Female" + }, + { + "Height": 171, + "Gender": "Male" + }, + { + "Height": 159, + "Gender": "Female" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/histogram/02-card997.flint.json b/test-harness/excel/evaluations/inputs/histogram/02-card997.flint.json new file mode 100644 index 00000000..1f1d92d6 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/histogram/02-card997.flint.json @@ -0,0 +1,3019 @@ +{ + "semantic_types": { + "Income": "Amount" + }, + "chart_spec": { + "chartType": "Histogram", + "encodings": { + "x": "Income" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Income": 44532 + }, + { + "Income": 122272 + }, + { + "Income": 78688 + }, + { + "Income": 168681 + }, + { + "Income": 144659 + }, + { + "Income": 149832 + }, + { + "Income": 138785 + }, + { + "Income": 57118 + }, + { + "Income": 168530 + }, + { + "Income": 127472 + }, + { + "Income": 177751 + }, + { + "Income": 125212 + }, + { + "Income": 173426 + }, + { + "Income": 148053 + }, + { + "Income": 133132 + }, + { + "Income": 82366 + }, + { + "Income": 66406 + }, + { + "Income": 27748 + }, + { + "Income": 98929 + }, + { + "Income": 163892 + }, + { + "Income": 105495 + }, + { + "Income": 181159 + }, + { + "Income": 165383 + }, + { + "Income": 145503 + }, + { + "Income": 111565 + }, + { + "Income": 137993 + }, + { + "Income": 68512 + }, + { + "Income": 134350 + }, + { + "Income": 48154 + }, + { + "Income": 169679 + }, + { + "Income": 169623 + }, + { + "Income": 130035 + }, + { + "Income": 64525 + }, + { + "Income": 97838 + }, + { + "Income": 187381 + }, + { + "Income": 157495 + }, + { + "Income": 58202 + }, + { + "Income": 21024 + }, + { + "Income": 135574 + }, + { + "Income": 84109 + }, + { + "Income": 27099 + }, + { + "Income": 165677 + }, + { + "Income": 61380 + }, + { + "Income": 157860 + }, + { + "Income": 75629 + }, + { + "Income": 49287 + }, + { + "Income": 130495 + }, + { + "Income": 42070 + }, + { + "Income": 143560 + }, + { + "Income": 38020 + }, + { + "Income": 116026 + }, + { + "Income": 49799 + }, + { + "Income": 97383 + }, + { + "Income": 100163 + }, + { + "Income": 21399 + }, + { + "Income": 130756 + }, + { + "Income": 111676 + }, + { + "Income": 193163 + }, + { + "Income": 126828 + }, + { + "Income": 155080 + }, + { + "Income": 157384 + }, + { + "Income": 165781 + }, + { + "Income": 176592 + }, + { + "Income": 89144 + }, + { + "Income": 41567 + }, + { + "Income": 162830 + }, + { + "Income": 91353 + }, + { + "Income": 82765 + }, + { + "Income": 112900 + }, + { + "Income": 71155 + }, + { + "Income": 100459 + }, + { + "Income": 139265 + }, + { + "Income": 28251 + }, + { + "Income": 93137 + }, + { + "Income": 186522 + }, + { + "Income": 116457 + }, + { + "Income": 101105 + }, + { + "Income": 188760 + }, + { + "Income": 106063 + }, + { + "Income": 187351 + }, + { + "Income": 186272 + }, + { + "Income": 56219 + }, + { + "Income": 178240 + }, + { + "Income": 52112 + }, + { + "Income": 89812 + }, + { + "Income": 110430 + }, + { + "Income": 145001 + }, + { + "Income": 137910 + }, + { + "Income": 116225 + }, + { + "Income": 152238 + }, + { + "Income": 78824 + }, + { + "Income": 122198 + }, + { + "Income": 100321 + }, + { + "Income": 153940 + }, + { + "Income": 74080 + }, + { + "Income": 122765 + }, + { + "Income": 96188 + }, + { + "Income": 167549 + }, + { + "Income": 195143 + }, + { + "Income": 109013 + }, + { + "Income": 73112 + }, + { + "Income": 53512 + }, + { + "Income": 29024 + }, + { + "Income": 133948 + }, + { + "Income": 119939 + }, + { + "Income": 114552 + }, + { + "Income": 107616 + }, + { + "Income": 183780 + }, + { + "Income": 118195 + }, + { + "Income": 139272 + }, + { + "Income": 136403 + }, + { + "Income": 168569 + }, + { + "Income": 66245 + }, + { + "Income": 24285 + }, + { + "Income": 30248 + }, + { + "Income": 176997 + }, + { + "Income": 53733 + }, + { + "Income": 151719 + }, + { + "Income": 176133 + }, + { + "Income": 99961 + }, + { + "Income": 38108 + }, + { + "Income": 166181 + }, + { + "Income": 66691 + }, + { + "Income": 141043 + }, + { + "Income": 29198 + }, + { + "Income": 163694 + }, + { + "Income": 22718 + }, + { + "Income": 153165 + }, + { + "Income": 184366 + }, + { + "Income": 52404 + }, + { + "Income": 142303 + }, + { + "Income": 138581 + }, + { + "Income": 58749 + }, + { + "Income": 27468 + }, + { + "Income": 82601 + }, + { + "Income": 55249 + }, + { + "Income": 74290 + }, + { + "Income": 48996 + }, + { + "Income": 91584 + }, + { + "Income": 198289 + }, + { + "Income": 56168 + }, + { + "Income": 38170 + }, + { + "Income": 127360 + }, + { + "Income": 104768 + }, + { + "Income": 193736 + }, + { + "Income": 39422 + }, + { + "Income": 105259 + }, + { + "Income": 165520 + }, + { + "Income": 122392 + }, + { + "Income": 129047 + }, + { + "Income": 186724 + }, + { + "Income": 87388 + }, + { + "Income": 45420 + }, + { + "Income": 111147 + }, + { + "Income": 122857 + }, + { + "Income": 195028 + }, + { + "Income": 151037 + }, + { + "Income": 52382 + }, + { + "Income": 126231 + }, + { + "Income": 197939 + }, + { + "Income": 127367 + }, + { + "Income": 37194 + }, + { + "Income": 104586 + }, + { + "Income": 190324 + }, + { + "Income": 111096 + }, + { + "Income": 169507 + }, + { + "Income": 168621 + }, + { + "Income": 28722 + }, + { + "Income": 92691 + }, + { + "Income": 74601 + }, + { + "Income": 63645 + }, + { + "Income": 69170 + }, + { + "Income": 40595 + }, + { + "Income": 198702 + }, + { + "Income": 162170 + }, + { + "Income": 153046 + }, + { + "Income": 171884 + }, + { + "Income": 152534 + }, + { + "Income": 192428 + }, + { + "Income": 193691 + }, + { + "Income": 178675 + }, + { + "Income": 169746 + }, + { + "Income": 36051 + }, + { + "Income": 146100 + }, + { + "Income": 63302 + }, + { + "Income": 63798 + }, + { + "Income": 106735 + }, + { + "Income": 137614 + }, + { + "Income": 181852 + }, + { + "Income": 113211 + }, + { + "Income": 79579 + }, + { + "Income": 30258 + }, + { + "Income": 157986 + }, + { + "Income": 31297 + }, + { + "Income": 163420 + }, + { + "Income": 107692 + }, + { + "Income": 23345 + }, + { + "Income": 77329 + }, + { + "Income": 195818 + }, + { + "Income": 121072 + }, + { + "Income": 75283 + }, + { + "Income": 179455 + }, + { + "Income": 136768 + }, + { + "Income": 178268 + }, + { + "Income": 163573 + }, + { + "Income": 154062 + }, + { + "Income": 140376 + }, + { + "Income": 156467 + }, + { + "Income": 68258 + }, + { + "Income": 190747 + }, + { + "Income": 22741 + }, + { + "Income": 190100 + }, + { + "Income": 138443 + }, + { + "Income": 76454 + }, + { + "Income": 62098 + }, + { + "Income": 167498 + }, + { + "Income": 65073 + }, + { + "Income": 122200 + }, + { + "Income": 139652 + }, + { + "Income": 46572 + }, + { + "Income": 28178 + }, + { + "Income": 132311 + }, + { + "Income": 155318 + }, + { + "Income": 189423 + }, + { + "Income": 94098 + }, + { + "Income": 149338 + }, + { + "Income": 122856 + }, + { + "Income": 177885 + }, + { + "Income": 28035 + }, + { + "Income": 59372 + }, + { + "Income": 69809 + }, + { + "Income": 153927 + }, + { + "Income": 34786 + }, + { + "Income": 129726 + }, + { + "Income": 85732 + }, + { + "Income": 125890 + }, + { + "Income": 61083 + }, + { + "Income": 198887 + }, + { + "Income": 28611 + }, + { + "Income": 25609 + }, + { + "Income": 145248 + }, + { + "Income": 151167 + }, + { + "Income": 77748 + }, + { + "Income": 30136 + }, + { + "Income": 98334 + }, + { + "Income": 57392 + }, + { + "Income": 89596 + }, + { + "Income": 83418 + }, + { + "Income": 111199 + }, + { + "Income": 106316 + }, + { + "Income": 105721 + }, + { + "Income": 192810 + }, + { + "Income": 143342 + }, + { + "Income": 148010 + }, + { + "Income": 118877 + }, + { + "Income": 92789 + }, + { + "Income": 101401 + }, + { + "Income": 118844 + }, + { + "Income": 72905 + }, + { + "Income": 175328 + }, + { + "Income": 74632 + }, + { + "Income": 44730 + }, + { + "Income": 28766 + }, + { + "Income": 106086 + }, + { + "Income": 21329 + }, + { + "Income": 43187 + }, + { + "Income": 198289 + }, + { + "Income": 68776 + }, + { + "Income": 85547 + }, + { + "Income": 67534 + }, + { + "Income": 90130 + }, + { + "Income": 61755 + }, + { + "Income": 162671 + }, + { + "Income": 114136 + }, + { + "Income": 136579 + }, + { + "Income": 68902 + }, + { + "Income": 39302 + }, + { + "Income": 68571 + }, + { + "Income": 47163 + }, + { + "Income": 70592 + }, + { + "Income": 186817 + }, + { + "Income": 29551 + }, + { + "Income": 162039 + }, + { + "Income": 112694 + }, + { + "Income": 34160 + }, + { + "Income": 48844 + }, + { + "Income": 60784 + }, + { + "Income": 37272 + }, + { + "Income": 148034 + }, + { + "Income": 165957 + }, + { + "Income": 83517 + }, + { + "Income": 145957 + }, + { + "Income": 171768 + }, + { + "Income": 184060 + }, + { + "Income": 132170 + }, + { + "Income": 127655 + }, + { + "Income": 192649 + }, + { + "Income": 130503 + }, + { + "Income": 190212 + }, + { + "Income": 32368 + }, + { + "Income": 164033 + }, + { + "Income": 150086 + }, + { + "Income": 98385 + }, + { + "Income": 192617 + }, + { + "Income": 129826 + }, + { + "Income": 153656 + }, + { + "Income": 154289 + }, + { + "Income": 178320 + }, + { + "Income": 138257 + }, + { + "Income": 181956 + }, + { + "Income": 62350 + }, + { + "Income": 79726 + }, + { + "Income": 160755 + }, + { + "Income": 130266 + }, + { + "Income": 160798 + }, + { + "Income": 137609 + }, + { + "Income": 91986 + }, + { + "Income": 102667 + }, + { + "Income": 156131 + }, + { + "Income": 172599 + }, + { + "Income": 106216 + }, + { + "Income": 59302 + }, + { + "Income": 150792 + }, + { + "Income": 82849 + }, + { + "Income": 81607 + }, + { + "Income": 90070 + }, + { + "Income": 130204 + }, + { + "Income": 191415 + }, + { + "Income": 85838 + }, + { + "Income": 103121 + }, + { + "Income": 60336 + }, + { + "Income": 64016 + }, + { + "Income": 170502 + }, + { + "Income": 139177 + }, + { + "Income": 167161 + }, + { + "Income": 156465 + }, + { + "Income": 20507 + }, + { + "Income": 81871 + }, + { + "Income": 23101 + }, + { + "Income": 117224 + }, + { + "Income": 196353 + }, + { + "Income": 105150 + }, + { + "Income": 129722 + }, + { + "Income": 23779 + }, + { + "Income": 167498 + }, + { + "Income": 59128 + }, + { + "Income": 106096 + }, + { + "Income": 21849 + }, + { + "Income": 135931 + }, + { + "Income": 158185 + }, + { + "Income": 130913 + }, + { + "Income": 60228 + }, + { + "Income": 43784 + }, + { + "Income": 160548 + }, + { + "Income": 76614 + }, + { + "Income": 54678 + }, + { + "Income": 189208 + }, + { + "Income": 86758 + }, + { + "Income": 78397 + }, + { + "Income": 140351 + }, + { + "Income": 93660 + }, + { + "Income": 169714 + }, + { + "Income": 42184 + }, + { + "Income": 83204 + }, + { + "Income": 112527 + }, + { + "Income": 98737 + }, + { + "Income": 166334 + }, + { + "Income": 121953 + }, + { + "Income": 126047 + }, + { + "Income": 176878 + }, + { + "Income": 36067 + }, + { + "Income": 61217 + }, + { + "Income": 113292 + }, + { + "Income": 185222 + }, + { + "Income": 53017 + }, + { + "Income": 169893 + }, + { + "Income": 177787 + }, + { + "Income": 191905 + }, + { + "Income": 52271 + }, + { + "Income": 57921 + }, + { + "Income": 166092 + }, + { + "Income": 191086 + }, + { + "Income": 138605 + }, + { + "Income": 86879 + }, + { + "Income": 141535 + }, + { + "Income": 190663 + }, + { + "Income": 53647 + }, + { + "Income": 140065 + }, + { + "Income": 146236 + }, + { + "Income": 181123 + }, + { + "Income": 92533 + }, + { + "Income": 119034 + }, + { + "Income": 22551 + }, + { + "Income": 50839 + }, + { + "Income": 105083 + }, + { + "Income": 88856 + }, + { + "Income": 63728 + }, + { + "Income": 192087 + }, + { + "Income": 48298 + }, + { + "Income": 72452 + }, + { + "Income": 122886 + }, + { + "Income": 144067 + }, + { + "Income": 94420 + }, + { + "Income": 162105 + }, + { + "Income": 144239 + }, + { + "Income": 104813 + }, + { + "Income": 52980 + }, + { + "Income": 91788 + }, + { + "Income": 193170 + }, + { + "Income": 73468 + }, + { + "Income": 104861 + }, + { + "Income": 138672 + }, + { + "Income": 131987 + }, + { + "Income": 112436 + }, + { + "Income": 189046 + }, + { + "Income": 63675 + }, + { + "Income": 22896 + }, + { + "Income": 96698 + }, + { + "Income": 110228 + }, + { + "Income": 167396 + }, + { + "Income": 152908 + }, + { + "Income": 183395 + }, + { + "Income": 120266 + }, + { + "Income": 25937 + }, + { + "Income": 80281 + }, + { + "Income": 122628 + }, + { + "Income": 122964 + }, + { + "Income": 197106 + }, + { + "Income": 161721 + }, + { + "Income": 163512 + }, + { + "Income": 28906 + }, + { + "Income": 122244 + }, + { + "Income": 149663 + }, + { + "Income": 181622 + }, + { + "Income": 194202 + }, + { + "Income": 139460 + }, + { + "Income": 56257 + }, + { + "Income": 87074 + }, + { + "Income": 179252 + }, + { + "Income": 152473 + }, + { + "Income": 72133 + }, + { + "Income": 164202 + }, + { + "Income": 98784 + }, + { + "Income": 67398 + }, + { + "Income": 143859 + }, + { + "Income": 195886 + }, + { + "Income": 172633 + }, + { + "Income": 149614 + }, + { + "Income": 74875 + }, + { + "Income": 160522 + }, + { + "Income": 170308 + }, + { + "Income": 123402 + }, + { + "Income": 175217 + }, + { + "Income": 193508 + }, + { + "Income": 164572 + }, + { + "Income": 198170 + }, + { + "Income": 48317 + }, + { + "Income": 23947 + }, + { + "Income": 118930 + }, + { + "Income": 84814 + }, + { + "Income": 170726 + }, + { + "Income": 131091 + }, + { + "Income": 173126 + }, + { + "Income": 153470 + }, + { + "Income": 83916 + }, + { + "Income": 24247 + }, + { + "Income": 124714 + }, + { + "Income": 84604 + }, + { + "Income": 60061 + }, + { + "Income": 121123 + }, + { + "Income": 26187 + }, + { + "Income": 142934 + }, + { + "Income": 127531 + }, + { + "Income": 98966 + }, + { + "Income": 56096 + }, + { + "Income": 87989 + }, + { + "Income": 78071 + }, + { + "Income": 61420 + }, + { + "Income": 107601 + }, + { + "Income": 106064 + }, + { + "Income": 24061 + }, + { + "Income": 60496 + }, + { + "Income": 54479 + }, + { + "Income": 89655 + }, + { + "Income": 175407 + }, + { + "Income": 142708 + }, + { + "Income": 118213 + }, + { + "Income": 89790 + }, + { + "Income": 104424 + }, + { + "Income": 175109 + }, + { + "Income": 170533 + }, + { + "Income": 135885 + }, + { + "Income": 106166 + }, + { + "Income": 117308 + }, + { + "Income": 183085 + }, + { + "Income": 128745 + }, + { + "Income": 154084 + }, + { + "Income": 153047 + }, + { + "Income": 181310 + }, + { + "Income": 174015 + }, + { + "Income": 148366 + }, + { + "Income": 162737 + }, + { + "Income": 132880 + }, + { + "Income": 179811 + }, + { + "Income": 175646 + }, + { + "Income": 197188 + }, + { + "Income": 94308 + }, + { + "Income": 69228 + }, + { + "Income": 108967 + }, + { + "Income": 32304 + }, + { + "Income": 179896 + }, + { + "Income": 171170 + }, + { + "Income": 27703 + }, + { + "Income": 70576 + }, + { + "Income": 96881 + }, + { + "Income": 122838 + }, + { + "Income": 61562 + }, + { + "Income": 151146 + }, + { + "Income": 95103 + }, + { + "Income": 112649 + }, + { + "Income": 167508 + }, + { + "Income": 40177 + }, + { + "Income": 21762 + }, + { + "Income": 121936 + }, + { + "Income": 197443 + }, + { + "Income": 65187 + }, + { + "Income": 64879 + }, + { + "Income": 93990 + }, + { + "Income": 132578 + }, + { + "Income": 132542 + }, + { + "Income": 81394 + }, + { + "Income": 116058 + }, + { + "Income": 45041 + }, + { + "Income": 48838 + }, + { + "Income": 135682 + }, + { + "Income": 102115 + }, + { + "Income": 67705 + }, + { + "Income": 74087 + }, + { + "Income": 53766 + }, + { + "Income": 166114 + }, + { + "Income": 197385 + }, + { + "Income": 173272 + }, + { + "Income": 84119 + }, + { + "Income": 193735 + }, + { + "Income": 23540 + }, + { + "Income": 112995 + }, + { + "Income": 40528 + }, + { + "Income": 154507 + }, + { + "Income": 53836 + }, + { + "Income": 88468 + }, + { + "Income": 198807 + }, + { + "Income": 131673 + }, + { + "Income": 41364 + }, + { + "Income": 171869 + }, + { + "Income": 86592 + }, + { + "Income": 169004 + }, + { + "Income": 177786 + }, + { + "Income": 168355 + }, + { + "Income": 67174 + }, + { + "Income": 156171 + }, + { + "Income": 120326 + }, + { + "Income": 142502 + }, + { + "Income": 77275 + }, + { + "Income": 186807 + }, + { + "Income": 36870 + }, + { + "Income": 47020 + }, + { + "Income": 186641 + }, + { + "Income": 139303 + }, + { + "Income": 131207 + }, + { + "Income": 136539 + }, + { + "Income": 102978 + }, + { + "Income": 169766 + }, + { + "Income": 22887 + }, + { + "Income": 122073 + }, + { + "Income": 160779 + }, + { + "Income": 168158 + }, + { + "Income": 171425 + }, + { + "Income": 171741 + }, + { + "Income": 88001 + }, + { + "Income": 86395 + }, + { + "Income": 103647 + }, + { + "Income": 77123 + }, + { + "Income": 154113 + }, + { + "Income": 94231 + }, + { + "Income": 42846 + }, + { + "Income": 57788 + }, + { + "Income": 88410 + }, + { + "Income": 121789 + }, + { + "Income": 73537 + }, + { + "Income": 176663 + }, + { + "Income": 21291 + }, + { + "Income": 124116 + }, + { + "Income": 115507 + }, + { + "Income": 145027 + }, + { + "Income": 24510 + }, + { + "Income": 32720 + }, + { + "Income": 136916 + }, + { + "Income": 141869 + }, + { + "Income": 57464 + }, + { + "Income": 38891 + }, + { + "Income": 179999 + }, + { + "Income": 104912 + }, + { + "Income": 104083 + }, + { + "Income": 199172 + }, + { + "Income": 143449 + }, + { + "Income": 141975 + }, + { + "Income": 34860 + }, + { + "Income": 108330 + }, + { + "Income": 118176 + }, + { + "Income": 185975 + }, + { + "Income": 97729 + }, + { + "Income": 152365 + }, + { + "Income": 59506 + }, + { + "Income": 161625 + }, + { + "Income": 172577 + }, + { + "Income": 97729 + }, + { + "Income": 154561 + }, + { + "Income": 71640 + }, + { + "Income": 159591 + }, + { + "Income": 178977 + }, + { + "Income": 22871 + }, + { + "Income": 38888 + }, + { + "Income": 133301 + }, + { + "Income": 42607 + }, + { + "Income": 183134 + }, + { + "Income": 56392 + }, + { + "Income": 197241 + }, + { + "Income": 91923 + }, + { + "Income": 128103 + }, + { + "Income": 164760 + }, + { + "Income": 118796 + }, + { + "Income": 161709 + }, + { + "Income": 149863 + }, + { + "Income": 128368 + }, + { + "Income": 118860 + }, + { + "Income": 156065 + }, + { + "Income": 136624 + }, + { + "Income": 92022 + }, + { + "Income": 166993 + }, + { + "Income": 37949 + }, + { + "Income": 187417 + }, + { + "Income": 43377 + }, + { + "Income": 159209 + }, + { + "Income": 69733 + }, + { + "Income": 135688 + }, + { + "Income": 35522 + }, + { + "Income": 77609 + }, + { + "Income": 27223 + }, + { + "Income": 99292 + }, + { + "Income": 135180 + }, + { + "Income": 134820 + }, + { + "Income": 26697 + }, + { + "Income": 78258 + }, + { + "Income": 143202 + }, + { + "Income": 140091 + }, + { + "Income": 56158 + }, + { + "Income": 50749 + }, + { + "Income": 41519 + }, + { + "Income": 76164 + }, + { + "Income": 46806 + }, + { + "Income": 185301 + }, + { + "Income": 107862 + }, + { + "Income": 170854 + }, + { + "Income": 122678 + }, + { + "Income": 74677 + }, + { + "Income": 71069 + }, + { + "Income": 101626 + }, + { + "Income": 131942 + }, + { + "Income": 66940 + }, + { + "Income": 179034 + }, + { + "Income": 88008 + }, + { + "Income": 26877 + }, + { + "Income": 38450 + }, + { + "Income": 147247 + }, + { + "Income": 81012 + }, + { + "Income": 163569 + }, + { + "Income": 90628 + }, + { + "Income": 137665 + }, + { + "Income": 129098 + }, + { + "Income": 148036 + }, + { + "Income": 195079 + }, + { + "Income": 110365 + }, + { + "Income": 123136 + }, + { + "Income": 30563 + }, + { + "Income": 69639 + }, + { + "Income": 190544 + }, + { + "Income": 38790 + }, + { + "Income": 101106 + }, + { + "Income": 25258 + }, + { + "Income": 185090 + }, + { + "Income": 168258 + }, + { + "Income": 51577 + }, + { + "Income": 98900 + }, + { + "Income": 39825 + }, + { + "Income": 41222 + }, + { + "Income": 123058 + }, + { + "Income": 153668 + }, + { + "Income": 178932 + }, + { + "Income": 172619 + }, + { + "Income": 95549 + }, + { + "Income": 50568 + }, + { + "Income": 56142 + }, + { + "Income": 138255 + }, + { + "Income": 157734 + }, + { + "Income": 123419 + }, + { + "Income": 101703 + }, + { + "Income": 155289 + }, + { + "Income": 58288 + }, + { + "Income": 199633 + }, + { + "Income": 158285 + }, + { + "Income": 199996 + }, + { + "Income": 134634 + }, + { + "Income": 136393 + }, + { + "Income": 184349 + }, + { + "Income": 134098 + }, + { + "Income": 128033 + }, + { + "Income": 72876 + }, + { + "Income": 43365 + }, + { + "Income": 141885 + }, + { + "Income": 136418 + }, + { + "Income": 64933 + }, + { + "Income": 110649 + }, + { + "Income": 34460 + }, + { + "Income": 57429 + }, + { + "Income": 173733 + }, + { + "Income": 88424 + }, + { + "Income": 183985 + }, + { + "Income": 140344 + }, + { + "Income": 164749 + }, + { + "Income": 112485 + }, + { + "Income": 113632 + }, + { + "Income": 137141 + }, + { + "Income": 154306 + }, + { + "Income": 107079 + }, + { + "Income": 154396 + }, + { + "Income": 174130 + }, + { + "Income": 110850 + }, + { + "Income": 169232 + }, + { + "Income": 48827 + }, + { + "Income": 133372 + }, + { + "Income": 156155 + }, + { + "Income": 40424 + }, + { + "Income": 21973 + }, + { + "Income": 52597 + }, + { + "Income": 136382 + }, + { + "Income": 164100 + }, + { + "Income": 187743 + }, + { + "Income": 122681 + }, + { + "Income": 119621 + }, + { + "Income": 175756 + }, + { + "Income": 71422 + }, + { + "Income": 91227 + }, + { + "Income": 140010 + }, + { + "Income": 120333 + }, + { + "Income": 72066 + }, + { + "Income": 116864 + }, + { + "Income": 87506 + }, + { + "Income": 46834 + }, + { + "Income": 126062 + }, + { + "Income": 66358 + }, + { + "Income": 111940 + }, + { + "Income": 135615 + }, + { + "Income": 64299 + }, + { + "Income": 67930 + }, + { + "Income": 78070 + }, + { + "Income": 38893 + }, + { + "Income": 31862 + }, + { + "Income": 126817 + }, + { + "Income": 154695 + }, + { + "Income": 153935 + }, + { + "Income": 166736 + }, + { + "Income": 37373 + }, + { + "Income": 44783 + }, + { + "Income": 29520 + }, + { + "Income": 176875 + }, + { + "Income": 165080 + }, + { + "Income": 106727 + }, + { + "Income": 181076 + }, + { + "Income": 198862 + }, + { + "Income": 152984 + }, + { + "Income": 27724 + }, + { + "Income": 54344 + }, + { + "Income": 164780 + }, + { + "Income": 92804 + }, + { + "Income": 176725 + }, + { + "Income": 149768 + }, + { + "Income": 148470 + }, + { + "Income": 115426 + }, + { + "Income": 38568 + }, + { + "Income": 152882 + }, + { + "Income": 111626 + }, + { + "Income": 69908 + }, + { + "Income": 28383 + }, + { + "Income": 152959 + }, + { + "Income": 141324 + }, + { + "Income": 79956 + }, + { + "Income": 53374 + }, + { + "Income": 52856 + }, + { + "Income": 178989 + }, + { + "Income": 47795 + }, + { + "Income": 64872 + }, + { + "Income": 156375 + }, + { + "Income": 140067 + }, + { + "Income": 180648 + }, + { + "Income": 38039 + }, + { + "Income": 79359 + }, + { + "Income": 102010 + }, + { + "Income": 101404 + }, + { + "Income": 183139 + }, + { + "Income": 142142 + }, + { + "Income": 144171 + }, + { + "Income": 37196 + }, + { + "Income": 134138 + }, + { + "Income": 82273 + }, + { + "Income": 127017 + }, + { + "Income": 90751 + }, + { + "Income": 59020 + }, + { + "Income": 87368 + }, + { + "Income": 75043 + }, + { + "Income": 114927 + }, + { + "Income": 114046 + }, + { + "Income": 66933 + }, + { + "Income": 59780 + }, + { + "Income": 75699 + }, + { + "Income": 160556 + }, + { + "Income": 198719 + }, + { + "Income": 85156 + }, + { + "Income": 161652 + }, + { + "Income": 79348 + }, + { + "Income": 102350 + }, + { + "Income": 51509 + }, + { + "Income": 28708 + }, + { + "Income": 39790 + }, + { + "Income": 167333 + }, + { + "Income": 162665 + }, + { + "Income": 189219 + }, + { + "Income": 86760 + }, + { + "Income": 121756 + }, + { + "Income": 44958 + }, + { + "Income": 97370 + }, + { + "Income": 49791 + }, + { + "Income": 133990 + }, + { + "Income": 105855 + }, + { + "Income": 101582 + }, + { + "Income": 116423 + }, + { + "Income": 55595 + }, + { + "Income": 117984 + }, + { + "Income": 22897 + }, + { + "Income": 104356 + }, + { + "Income": 117323 + }, + { + "Income": 72092 + }, + { + "Income": 192889 + }, + { + "Income": 25481 + }, + { + "Income": 167450 + }, + { + "Income": 158153 + }, + { + "Income": 135829 + }, + { + "Income": 60575 + }, + { + "Income": 121269 + }, + { + "Income": 146219 + }, + { + "Income": 80253 + }, + { + "Income": 186484 + }, + { + "Income": 197025 + }, + { + "Income": 53384 + }, + { + "Income": 50708 + }, + { + "Income": 67871 + }, + { + "Income": 166724 + }, + { + "Income": 184005 + }, + { + "Income": 120049 + }, + { + "Income": 168751 + }, + { + "Income": 52616 + }, + { + "Income": 94338 + }, + { + "Income": 45635 + }, + { + "Income": 121581 + }, + { + "Income": 168055 + }, + { + "Income": 53205 + }, + { + "Income": 90485 + }, + { + "Income": 82936 + }, + { + "Income": 113606 + }, + { + "Income": 60340 + }, + { + "Income": 130413 + }, + { + "Income": 105527 + }, + { + "Income": 173385 + }, + { + "Income": 184804 + }, + { + "Income": 45843 + }, + { + "Income": 197694 + }, + { + "Income": 137104 + }, + { + "Income": 68431 + }, + { + "Income": 44900 + }, + { + "Income": 186556 + }, + { + "Income": 144735 + }, + { + "Income": 153563 + }, + { + "Income": 34343 + }, + { + "Income": 68986 + }, + { + "Income": 194809 + }, + { + "Income": 75409 + }, + { + "Income": 132148 + }, + { + "Income": 105496 + }, + { + "Income": 184546 + }, + { + "Income": 24414 + }, + { + "Income": 51038 + }, + { + "Income": 38650 + }, + { + "Income": 97032 + }, + { + "Income": 136531 + }, + { + "Income": 151497 + }, + { + "Income": 46495 + }, + { + "Income": 174819 + }, + { + "Income": 169933 + }, + { + "Income": 119054 + }, + { + "Income": 186378 + }, + { + "Income": 33163 + }, + { + "Income": 27425 + }, + { + "Income": 71414 + }, + { + "Income": 130070 + }, + { + "Income": 100786 + }, + { + "Income": 46733 + }, + { + "Income": 35730 + }, + { + "Income": 151072 + }, + { + "Income": 100208 + }, + { + "Income": 61668 + }, + { + "Income": 139833 + }, + { + "Income": 34109 + }, + { + "Income": 82624 + }, + { + "Income": 83115 + }, + { + "Income": 57117 + }, + { + "Income": 147374 + }, + { + "Income": 49261 + }, + { + "Income": 55220 + }, + { + "Income": 123829 + }, + { + "Income": 155719 + }, + { + "Income": 88823 + }, + { + "Income": 40243 + }, + { + "Income": 48109 + }, + { + "Income": 125190 + }, + { + "Income": 168524 + }, + { + "Income": 20773 + }, + { + "Income": 56778 + }, + { + "Income": 26733 + }, + { + "Income": 144447 + }, + { + "Income": 185752 + }, + { + "Income": 138753 + }, + { + "Income": 53704 + }, + { + "Income": 27948 + }, + { + "Income": 43988 + }, + { + "Income": 163740 + }, + { + "Income": 83369 + }, + { + "Income": 178212 + }, + { + "Income": 124403 + }, + { + "Income": 76885 + }, + { + "Income": 112340 + }, + { + "Income": 22890 + }, + { + "Income": 164210 + }, + { + "Income": 57599 + }, + { + "Income": 152101 + }, + { + "Income": 114562 + }, + { + "Income": 99892 + }, + { + "Income": 139881 + }, + { + "Income": 113668 + }, + { + "Income": 197705 + }, + { + "Income": 155387 + }, + { + "Income": 81971 + }, + { + "Income": 81746 + }, + { + "Income": 90205 + }, + { + "Income": 58592 + }, + { + "Income": 103961 + }, + { + "Income": 138163 + }, + { + "Income": 48784 + }, + { + "Income": 131524 + }, + { + "Income": 68172 + }, + { + "Income": 186311 + }, + { + "Income": 172777 + }, + { + "Income": 41164 + }, + { + "Income": 35057 + }, + { + "Income": 191185 + }, + { + "Income": 188395 + }, + { + "Income": 87484 + }, + { + "Income": 51464 + }, + { + "Income": 176023 + }, + { + "Income": 66614 + }, + { + "Income": 97130 + }, + { + "Income": 160219 + }, + { + "Income": 128317 + }, + { + "Income": 162450 + }, + { + "Income": 183644 + }, + { + "Income": 162852 + }, + { + "Income": 98475 + }, + { + "Income": 84685 + }, + { + "Income": 159371 + }, + { + "Income": 96657 + }, + { + "Income": 137828 + }, + { + "Income": 175603 + }, + { + "Income": 194044 + }, + { + "Income": 183667 + }, + { + "Income": 186874 + }, + { + "Income": 87310 + }, + { + "Income": 174616 + }, + { + "Income": 178931 + }, + { + "Income": 147666 + }, + { + "Income": 108357 + }, + { + "Income": 43895 + }, + { + "Income": 43580 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/00-card30.flint.json b/test-harness/excel/evaluations/inputs/line-chart/00-card30.flint.json new file mode 100644 index 00000000..d029f8ac --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/00-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 51 + }, + { + "Date": "2020-02-06", + "Value": 46 + }, + { + "Date": "2020-03-14", + "Value": 31 + }, + { + "Date": "2020-04-19", + "Value": 26 + }, + { + "Date": "2020-05-26", + "Value": 18 + }, + { + "Date": "2020-07-01", + "Value": 2 + }, + { + "Date": "2020-08-07", + "Value": 0 + }, + { + "Date": "2020-09-12", + "Value": 0 + }, + { + "Date": "2020-10-19", + "Value": 5 + }, + { + "Date": "2020-11-24", + "Value": 0 + }, + { + "Date": "2020-12-31", + "Value": 0 + }, + { + "Date": "2021-02-05", + "Value": 1 + }, + { + "Date": "2021-03-14", + "Value": 11 + }, + { + "Date": "2021-04-19", + "Value": 2 + }, + { + "Date": "2021-05-26", + "Value": 8 + }, + { + "Date": "2021-07-01", + "Value": 19 + }, + { + "Date": "2021-08-07", + "Value": 31 + }, + { + "Date": "2021-09-12", + "Value": 23 + }, + { + "Date": "2021-10-19", + "Value": 2 + }, + { + "Date": "2021-11-24", + "Value": 0 + }, + { + "Date": "2021-12-31", + "Value": 0 + }, + { + "Date": "2022-02-05", + "Value": 0 + }, + { + "Date": "2022-03-14", + "Value": 0 + }, + { + "Date": "2022-04-19", + "Value": 0 + }, + { + "Date": "2022-05-26", + "Value": 0 + }, + { + "Date": "2022-07-01", + "Value": 0 + }, + { + "Date": "2022-08-07", + "Value": 0 + }, + { + "Date": "2022-09-12", + "Value": 0 + }, + { + "Date": "2022-10-19", + "Value": 0 + }, + { + "Date": "2022-11-24", + "Value": 0 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/01-card50.flint.json b/test-harness/excel/evaluations/inputs/line-chart/01-card50.flint.json new file mode 100644 index 00000000..b88d0a4d --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/01-card50.flint.json @@ -0,0 +1,1023 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 114, + "Series": "Electronics" + }, + { + "Date": "2020-01-22", + "Value": 113, + "Series": "Electronics" + }, + { + "Date": "2020-02-13", + "Value": 116, + "Series": "Electronics" + }, + { + "Date": "2020-03-06", + "Value": 129, + "Series": "Electronics" + }, + { + "Date": "2020-03-28", + "Value": 140, + "Series": "Electronics" + }, + { + "Date": "2020-04-19", + "Value": 156, + "Series": "Electronics" + }, + { + "Date": "2020-05-11", + "Value": 170, + "Series": "Electronics" + }, + { + "Date": "2020-06-02", + "Value": 173, + "Series": "Electronics" + }, + { + "Date": "2020-06-24", + "Value": 168, + "Series": "Electronics" + }, + { + "Date": "2020-07-16", + "Value": 165, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 166, + "Series": "Electronics" + }, + { + "Date": "2020-08-28", + "Value": 155, + "Series": "Electronics" + }, + { + "Date": "2020-09-19", + "Value": 157, + "Series": "Electronics" + }, + { + "Date": "2020-10-11", + "Value": 161, + "Series": "Electronics" + }, + { + "Date": "2020-11-02", + "Value": 175, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 193, + "Series": "Electronics" + }, + { + "Date": "2020-12-16", + "Value": 209, + "Series": "Electronics" + }, + { + "Date": "2021-01-07", + "Value": 228, + "Series": "Electronics" + }, + { + "Date": "2021-01-29", + "Value": 251, + "Series": "Electronics" + }, + { + "Date": "2021-02-20", + "Value": 271, + "Series": "Electronics" + }, + { + "Date": "2021-03-14", + "Value": 289, + "Series": "Electronics" + }, + { + "Date": "2021-04-04", + "Value": 312, + "Series": "Electronics" + }, + { + "Date": "2021-04-26", + "Value": 330, + "Series": "Electronics" + }, + { + "Date": "2021-05-18", + "Value": 352, + "Series": "Electronics" + }, + { + "Date": "2021-06-09", + "Value": 377, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 397, + "Series": "Electronics" + }, + { + "Date": "2021-07-23", + "Value": 412, + "Series": "Electronics" + }, + { + "Date": "2021-08-14", + "Value": 418, + "Series": "Electronics" + }, + { + "Date": "2021-09-05", + "Value": 429, + "Series": "Electronics" + }, + { + "Date": "2021-09-27", + "Value": 442, + "Series": "Electronics" + }, + { + "Date": "2021-10-19", + "Value": 458, + "Series": "Electronics" + }, + { + "Date": "2021-11-09", + "Value": 467, + "Series": "Electronics" + }, + { + "Date": "2021-12-01", + "Value": 485, + "Series": "Electronics" + }, + { + "Date": "2021-12-23", + "Value": 495, + "Series": "Electronics" + }, + { + "Date": "2022-01-14", + "Value": 506, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 513, + "Series": "Electronics" + }, + { + "Date": "2022-02-27", + "Value": 521, + "Series": "Electronics" + }, + { + "Date": "2022-03-21", + "Value": 521, + "Series": "Electronics" + }, + { + "Date": "2022-04-12", + "Value": 519, + "Series": "Electronics" + }, + { + "Date": "2022-05-04", + "Value": 517, + "Series": "Electronics" + }, + { + "Date": "2022-05-26", + "Value": 510, + "Series": "Electronics" + }, + { + "Date": "2022-06-16", + "Value": 500, + "Series": "Electronics" + }, + { + "Date": "2022-07-08", + "Value": 501, + "Series": "Electronics" + }, + { + "Date": "2022-07-30", + "Value": 506, + "Series": "Electronics" + }, + { + "Date": "2022-08-21", + "Value": 512, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 505, + "Series": "Electronics" + }, + { + "Date": "2022-10-04", + "Value": 510, + "Series": "Electronics" + }, + { + "Date": "2022-10-26", + "Value": 504, + "Series": "Electronics" + }, + { + "Date": "2022-11-17", + "Value": 505, + "Series": "Electronics" + }, + { + "Date": "2022-12-09", + "Value": 499, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 154, + "Series": "Clothing" + }, + { + "Date": "2020-01-22", + "Value": 159, + "Series": "Clothing" + }, + { + "Date": "2020-02-13", + "Value": 166, + "Series": "Clothing" + }, + { + "Date": "2020-03-06", + "Value": 173, + "Series": "Clothing" + }, + { + "Date": "2020-03-28", + "Value": 175, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 179, + "Series": "Clothing" + }, + { + "Date": "2020-05-11", + "Value": 177, + "Series": "Clothing" + }, + { + "Date": "2020-06-02", + "Value": 181, + "Series": "Clothing" + }, + { + "Date": "2020-06-24", + "Value": 187, + "Series": "Clothing" + }, + { + "Date": "2020-07-16", + "Value": 193, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 203, + "Series": "Clothing" + }, + { + "Date": "2020-08-28", + "Value": 212, + "Series": "Clothing" + }, + { + "Date": "2020-09-19", + "Value": 219, + "Series": "Clothing" + }, + { + "Date": "2020-10-11", + "Value": 221, + "Series": "Clothing" + }, + { + "Date": "2020-11-02", + "Value": 227, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 233, + "Series": "Clothing" + }, + { + "Date": "2020-12-16", + "Value": 234, + "Series": "Clothing" + }, + { + "Date": "2021-01-07", + "Value": 233, + "Series": "Clothing" + }, + { + "Date": "2021-01-29", + "Value": 235, + "Series": "Clothing" + }, + { + "Date": "2021-02-20", + "Value": 235, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 241, + "Series": "Clothing" + }, + { + "Date": "2021-04-04", + "Value": 242, + "Series": "Clothing" + }, + { + "Date": "2021-04-26", + "Value": 249, + "Series": "Clothing" + }, + { + "Date": "2021-05-18", + "Value": 253, + "Series": "Clothing" + }, + { + "Date": "2021-06-09", + "Value": 260, + "Series": "Clothing" + }, + { + "Date": "2021-07-01", + "Value": 267, + "Series": "Clothing" + }, + { + "Date": "2021-07-23", + "Value": 267, + "Series": "Clothing" + }, + { + "Date": "2021-08-14", + "Value": 263, + "Series": "Clothing" + }, + { + "Date": "2021-09-05", + "Value": 266, + "Series": "Clothing" + }, + { + "Date": "2021-09-27", + "Value": 271, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 274, + "Series": "Clothing" + }, + { + "Date": "2021-11-09", + "Value": 281, + "Series": "Clothing" + }, + { + "Date": "2021-12-01", + "Value": 283, + "Series": "Clothing" + }, + { + "Date": "2021-12-23", + "Value": 289, + "Series": "Clothing" + }, + { + "Date": "2022-01-14", + "Value": 295, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 303, + "Series": "Clothing" + }, + { + "Date": "2022-02-27", + "Value": 306, + "Series": "Clothing" + }, + { + "Date": "2022-03-21", + "Value": 309, + "Series": "Clothing" + }, + { + "Date": "2022-04-12", + "Value": 314, + "Series": "Clothing" + }, + { + "Date": "2022-05-04", + "Value": 321, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 327, + "Series": "Clothing" + }, + { + "Date": "2022-06-16", + "Value": 327, + "Series": "Clothing" + }, + { + "Date": "2022-07-08", + "Value": 332, + "Series": "Clothing" + }, + { + "Date": "2022-07-30", + "Value": 338, + "Series": "Clothing" + }, + { + "Date": "2022-08-21", + "Value": 348, + "Series": "Clothing" + }, + { + "Date": "2022-09-12", + "Value": 355, + "Series": "Clothing" + }, + { + "Date": "2022-10-04", + "Value": 360, + "Series": "Clothing" + }, + { + "Date": "2022-10-26", + "Value": 360, + "Series": "Clothing" + }, + { + "Date": "2022-11-17", + "Value": 357, + "Series": "Clothing" + }, + { + "Date": "2022-12-09", + "Value": 351, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 212, + "Series": "Food" + }, + { + "Date": "2020-01-22", + "Value": 215, + "Series": "Food" + }, + { + "Date": "2020-02-13", + "Value": 226, + "Series": "Food" + }, + { + "Date": "2020-03-06", + "Value": 234, + "Series": "Food" + }, + { + "Date": "2020-03-28", + "Value": 235, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 232, + "Series": "Food" + }, + { + "Date": "2020-05-11", + "Value": 219, + "Series": "Food" + }, + { + "Date": "2020-06-02", + "Value": 204, + "Series": "Food" + }, + { + "Date": "2020-06-24", + "Value": 198, + "Series": "Food" + }, + { + "Date": "2020-07-16", + "Value": 203, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 219, + "Series": "Food" + }, + { + "Date": "2020-08-28", + "Value": 224, + "Series": "Food" + }, + { + "Date": "2020-09-19", + "Value": 217, + "Series": "Food" + }, + { + "Date": "2020-10-11", + "Value": 223, + "Series": "Food" + }, + { + "Date": "2020-11-02", + "Value": 222, + "Series": "Food" + }, + { + "Date": "2020-11-24", + "Value": 212, + "Series": "Food" + }, + { + "Date": "2020-12-16", + "Value": 203, + "Series": "Food" + }, + { + "Date": "2021-01-07", + "Value": 200, + "Series": "Food" + }, + { + "Date": "2021-01-29", + "Value": 201, + "Series": "Food" + }, + { + "Date": "2021-02-20", + "Value": 210, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 218, + "Series": "Food" + }, + { + "Date": "2021-04-04", + "Value": 225, + "Series": "Food" + }, + { + "Date": "2021-04-26", + "Value": 218, + "Series": "Food" + }, + { + "Date": "2021-05-18", + "Value": 220, + "Series": "Food" + }, + { + "Date": "2021-06-09", + "Value": 233, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 251, + "Series": "Food" + }, + { + "Date": "2021-07-23", + "Value": 268, + "Series": "Food" + }, + { + "Date": "2021-08-14", + "Value": 289, + "Series": "Food" + }, + { + "Date": "2021-09-05", + "Value": 306, + "Series": "Food" + }, + { + "Date": "2021-09-27", + "Value": 329, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 333, + "Series": "Food" + }, + { + "Date": "2021-11-09", + "Value": 324, + "Series": "Food" + }, + { + "Date": "2021-12-01", + "Value": 327, + "Series": "Food" + }, + { + "Date": "2021-12-23", + "Value": 322, + "Series": "Food" + }, + { + "Date": "2022-01-14", + "Value": 319, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 309, + "Series": "Food" + }, + { + "Date": "2022-02-27", + "Value": 307, + "Series": "Food" + }, + { + "Date": "2022-03-21", + "Value": 303, + "Series": "Food" + }, + { + "Date": "2022-04-12", + "Value": 295, + "Series": "Food" + }, + { + "Date": "2022-05-04", + "Value": 285, + "Series": "Food" + }, + { + "Date": "2022-05-26", + "Value": 282, + "Series": "Food" + }, + { + "Date": "2022-06-16", + "Value": 272, + "Series": "Food" + }, + { + "Date": "2022-07-08", + "Value": 273, + "Series": "Food" + }, + { + "Date": "2022-07-30", + "Value": 263, + "Series": "Food" + }, + { + "Date": "2022-08-21", + "Value": 266, + "Series": "Food" + }, + { + "Date": "2022-09-12", + "Value": 260, + "Series": "Food" + }, + { + "Date": "2022-10-04", + "Value": 261, + "Series": "Food" + }, + { + "Date": "2022-10-26", + "Value": 259, + "Series": "Food" + }, + { + "Date": "2022-11-17", + "Value": 254, + "Series": "Food" + }, + { + "Date": "2022-12-09", + "Value": 238, + "Series": "Food" + }, + { + "Date": "2020-01-01", + "Value": 248, + "Series": "Books" + }, + { + "Date": "2020-01-22", + "Value": 252, + "Series": "Books" + }, + { + "Date": "2020-02-13", + "Value": 252, + "Series": "Books" + }, + { + "Date": "2020-03-06", + "Value": 246, + "Series": "Books" + }, + { + "Date": "2020-03-28", + "Value": 242, + "Series": "Books" + }, + { + "Date": "2020-04-19", + "Value": 243, + "Series": "Books" + }, + { + "Date": "2020-05-11", + "Value": 245, + "Series": "Books" + }, + { + "Date": "2020-06-02", + "Value": 242, + "Series": "Books" + }, + { + "Date": "2020-06-24", + "Value": 241, + "Series": "Books" + }, + { + "Date": "2020-07-16", + "Value": 240, + "Series": "Books" + }, + { + "Date": "2020-08-07", + "Value": 237, + "Series": "Books" + }, + { + "Date": "2020-08-28", + "Value": 240, + "Series": "Books" + }, + { + "Date": "2020-09-19", + "Value": 244, + "Series": "Books" + }, + { + "Date": "2020-10-11", + "Value": 248, + "Series": "Books" + }, + { + "Date": "2020-11-02", + "Value": 256, + "Series": "Books" + }, + { + "Date": "2020-11-24", + "Value": 260, + "Series": "Books" + }, + { + "Date": "2020-12-16", + "Value": 260, + "Series": "Books" + }, + { + "Date": "2021-01-07", + "Value": 257, + "Series": "Books" + }, + { + "Date": "2021-01-29", + "Value": 257, + "Series": "Books" + }, + { + "Date": "2021-02-20", + "Value": 261, + "Series": "Books" + }, + { + "Date": "2021-03-14", + "Value": 265, + "Series": "Books" + }, + { + "Date": "2021-04-04", + "Value": 267, + "Series": "Books" + }, + { + "Date": "2021-04-26", + "Value": 271, + "Series": "Books" + }, + { + "Date": "2021-05-18", + "Value": 267, + "Series": "Books" + }, + { + "Date": "2021-06-09", + "Value": 263, + "Series": "Books" + }, + { + "Date": "2021-07-01", + "Value": 254, + "Series": "Books" + }, + { + "Date": "2021-07-23", + "Value": 254, + "Series": "Books" + }, + { + "Date": "2021-08-14", + "Value": 247, + "Series": "Books" + }, + { + "Date": "2021-09-05", + "Value": 247, + "Series": "Books" + }, + { + "Date": "2021-09-27", + "Value": 248, + "Series": "Books" + }, + { + "Date": "2021-10-19", + "Value": 247, + "Series": "Books" + }, + { + "Date": "2021-11-09", + "Value": 245, + "Series": "Books" + }, + { + "Date": "2021-12-01", + "Value": 250, + "Series": "Books" + }, + { + "Date": "2021-12-23", + "Value": 247, + "Series": "Books" + }, + { + "Date": "2022-01-14", + "Value": 244, + "Series": "Books" + }, + { + "Date": "2022-02-05", + "Value": 244, + "Series": "Books" + }, + { + "Date": "2022-02-27", + "Value": 251, + "Series": "Books" + }, + { + "Date": "2022-03-21", + "Value": 263, + "Series": "Books" + }, + { + "Date": "2022-04-12", + "Value": 266, + "Series": "Books" + }, + { + "Date": "2022-05-04", + "Value": 262, + "Series": "Books" + }, + { + "Date": "2022-05-26", + "Value": 257, + "Series": "Books" + }, + { + "Date": "2022-06-16", + "Value": 255, + "Series": "Books" + }, + { + "Date": "2022-07-08", + "Value": 250, + "Series": "Books" + }, + { + "Date": "2022-07-30", + "Value": 250, + "Series": "Books" + }, + { + "Date": "2022-08-21", + "Value": 257, + "Series": "Books" + }, + { + "Date": "2022-09-12", + "Value": 262, + "Series": "Books" + }, + { + "Date": "2022-10-04", + "Value": 259, + "Series": "Books" + }, + { + "Date": "2022-10-26", + "Value": 255, + "Series": "Books" + }, + { + "Date": "2022-11-17", + "Value": 252, + "Series": "Books" + }, + { + "Date": "2022-12-09", + "Value": 246, + "Series": "Books" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/02-card100.flint.json b/test-harness/excel/evaluations/inputs/line-chart/02-card100.flint.json new file mode 100644 index 00000000..59ed80e7 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/02-card100.flint.json @@ -0,0 +1,4023 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 173, + "Series": "Electronics" + }, + { + "Date": "2020-01-11", + "Value": 175, + "Series": "Electronics" + }, + { + "Date": "2020-01-22", + "Value": 175, + "Series": "Electronics" + }, + { + "Date": "2020-02-02", + "Value": 181, + "Series": "Electronics" + }, + { + "Date": "2020-02-13", + "Value": 193, + "Series": "Electronics" + }, + { + "Date": "2020-02-24", + "Value": 208, + "Series": "Electronics" + }, + { + "Date": "2020-03-06", + "Value": 219, + "Series": "Electronics" + }, + { + "Date": "2020-03-17", + "Value": 236, + "Series": "Electronics" + }, + { + "Date": "2020-03-28", + "Value": 240, + "Series": "Electronics" + }, + { + "Date": "2020-04-08", + "Value": 251, + "Series": "Electronics" + }, + { + "Date": "2020-04-19", + "Value": 258, + "Series": "Electronics" + }, + { + "Date": "2020-04-30", + "Value": 256, + "Series": "Electronics" + }, + { + "Date": "2020-05-11", + "Value": 251, + "Series": "Electronics" + }, + { + "Date": "2020-05-22", + "Value": 253, + "Series": "Electronics" + }, + { + "Date": "2020-06-02", + "Value": 252, + "Series": "Electronics" + }, + { + "Date": "2020-06-13", + "Value": 252, + "Series": "Electronics" + }, + { + "Date": "2020-06-24", + "Value": 242, + "Series": "Electronics" + }, + { + "Date": "2020-07-05", + "Value": 233, + "Series": "Electronics" + }, + { + "Date": "2020-07-16", + "Value": 227, + "Series": "Electronics" + }, + { + "Date": "2020-07-27", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 224, + "Series": "Electronics" + }, + { + "Date": "2020-08-17", + "Value": 220, + "Series": "Electronics" + }, + { + "Date": "2020-08-28", + "Value": 210, + "Series": "Electronics" + }, + { + "Date": "2020-09-08", + "Value": 210, + "Series": "Electronics" + }, + { + "Date": "2020-09-19", + "Value": 207, + "Series": "Electronics" + }, + { + "Date": "2020-09-30", + "Value": 200, + "Series": "Electronics" + }, + { + "Date": "2020-10-11", + "Value": 199, + "Series": "Electronics" + }, + { + "Date": "2020-10-22", + "Value": 190, + "Series": "Electronics" + }, + { + "Date": "2020-11-02", + "Value": 182, + "Series": "Electronics" + }, + { + "Date": "2020-11-13", + "Value": 181, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 176, + "Series": "Electronics" + }, + { + "Date": "2020-12-05", + "Value": 166, + "Series": "Electronics" + }, + { + "Date": "2020-12-16", + "Value": 161, + "Series": "Electronics" + }, + { + "Date": "2020-12-27", + "Value": 154, + "Series": "Electronics" + }, + { + "Date": "2021-01-07", + "Value": 145, + "Series": "Electronics" + }, + { + "Date": "2021-01-18", + "Value": 139, + "Series": "Electronics" + }, + { + "Date": "2021-01-29", + "Value": 143, + "Series": "Electronics" + }, + { + "Date": "2021-02-09", + "Value": 146, + "Series": "Electronics" + }, + { + "Date": "2021-02-20", + "Value": 144, + "Series": "Electronics" + }, + { + "Date": "2021-03-03", + "Value": 141, + "Series": "Electronics" + }, + { + "Date": "2021-03-14", + "Value": 132, + "Series": "Electronics" + }, + { + "Date": "2021-03-24", + "Value": 122, + "Series": "Electronics" + }, + { + "Date": "2021-04-04", + "Value": 114, + "Series": "Electronics" + }, + { + "Date": "2021-04-15", + "Value": 105, + "Series": "Electronics" + }, + { + "Date": "2021-04-26", + "Value": 96, + "Series": "Electronics" + }, + { + "Date": "2021-05-07", + "Value": 95, + "Series": "Electronics" + }, + { + "Date": "2021-05-18", + "Value": 87, + "Series": "Electronics" + }, + { + "Date": "2021-05-29", + "Value": 90, + "Series": "Electronics" + }, + { + "Date": "2021-06-09", + "Value": 91, + "Series": "Electronics" + }, + { + "Date": "2021-06-20", + "Value": 98, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 110, + "Series": "Electronics" + }, + { + "Date": "2021-07-12", + "Value": 126, + "Series": "Electronics" + }, + { + "Date": "2021-07-23", + "Value": 139, + "Series": "Electronics" + }, + { + "Date": "2021-08-03", + "Value": 141, + "Series": "Electronics" + }, + { + "Date": "2021-08-14", + "Value": 133, + "Series": "Electronics" + }, + { + "Date": "2021-08-25", + "Value": 130, + "Series": "Electronics" + }, + { + "Date": "2021-09-05", + "Value": 133, + "Series": "Electronics" + }, + { + "Date": "2021-09-16", + "Value": 131, + "Series": "Electronics" + }, + { + "Date": "2021-09-27", + "Value": 123, + "Series": "Electronics" + }, + { + "Date": "2021-10-08", + "Value": 127, + "Series": "Electronics" + }, + { + "Date": "2021-10-19", + "Value": 133, + "Series": "Electronics" + }, + { + "Date": "2021-10-29", + "Value": 143, + "Series": "Electronics" + }, + { + "Date": "2021-11-09", + "Value": 152, + "Series": "Electronics" + }, + { + "Date": "2021-11-20", + "Value": 166, + "Series": "Electronics" + }, + { + "Date": "2021-12-01", + "Value": 180, + "Series": "Electronics" + }, + { + "Date": "2021-12-12", + "Value": 195, + "Series": "Electronics" + }, + { + "Date": "2021-12-23", + "Value": 210, + "Series": "Electronics" + }, + { + "Date": "2022-01-03", + "Value": 212, + "Series": "Electronics" + }, + { + "Date": "2022-01-14", + "Value": 220, + "Series": "Electronics" + }, + { + "Date": "2022-01-25", + "Value": 234, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 238, + "Series": "Electronics" + }, + { + "Date": "2022-02-16", + "Value": 236, + "Series": "Electronics" + }, + { + "Date": "2022-02-27", + "Value": 243, + "Series": "Electronics" + }, + { + "Date": "2022-03-10", + "Value": 247, + "Series": "Electronics" + }, + { + "Date": "2022-03-21", + "Value": 251, + "Series": "Electronics" + }, + { + "Date": "2022-04-01", + "Value": 257, + "Series": "Electronics" + }, + { + "Date": "2022-04-12", + "Value": 258, + "Series": "Electronics" + }, + { + "Date": "2022-04-23", + "Value": 265, + "Series": "Electronics" + }, + { + "Date": "2022-05-04", + "Value": 275, + "Series": "Electronics" + }, + { + "Date": "2022-05-15", + "Value": 288, + "Series": "Electronics" + }, + { + "Date": "2022-05-26", + "Value": 304, + "Series": "Electronics" + }, + { + "Date": "2022-06-05", + "Value": 305, + "Series": "Electronics" + }, + { + "Date": "2022-06-16", + "Value": 300, + "Series": "Electronics" + }, + { + "Date": "2022-06-27", + "Value": 289, + "Series": "Electronics" + }, + { + "Date": "2022-07-08", + "Value": 291, + "Series": "Electronics" + }, + { + "Date": "2022-07-19", + "Value": 284, + "Series": "Electronics" + }, + { + "Date": "2022-07-30", + "Value": 277, + "Series": "Electronics" + }, + { + "Date": "2022-08-10", + "Value": 274, + "Series": "Electronics" + }, + { + "Date": "2022-08-21", + "Value": 266, + "Series": "Electronics" + }, + { + "Date": "2022-09-01", + "Value": 253, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 243, + "Series": "Electronics" + }, + { + "Date": "2022-09-23", + "Value": 243, + "Series": "Electronics" + }, + { + "Date": "2022-10-04", + "Value": 250, + "Series": "Electronics" + }, + { + "Date": "2022-10-15", + "Value": 255, + "Series": "Electronics" + }, + { + "Date": "2022-10-26", + "Value": 255, + "Series": "Electronics" + }, + { + "Date": "2022-11-06", + "Value": 248, + "Series": "Electronics" + }, + { + "Date": "2022-11-17", + "Value": 249, + "Series": "Electronics" + }, + { + "Date": "2022-11-28", + "Value": 242, + "Series": "Electronics" + }, + { + "Date": "2022-12-09", + "Value": 238, + "Series": "Electronics" + }, + { + "Date": "2022-12-20", + "Value": 239, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 165, + "Series": "Clothing" + }, + { + "Date": "2020-01-11", + "Value": 178, + "Series": "Clothing" + }, + { + "Date": "2020-01-22", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2020-02-02", + "Value": 168, + "Series": "Clothing" + }, + { + "Date": "2020-02-13", + "Value": 168, + "Series": "Clothing" + }, + { + "Date": "2020-02-24", + "Value": 162, + "Series": "Clothing" + }, + { + "Date": "2020-03-06", + "Value": 145, + "Series": "Clothing" + }, + { + "Date": "2020-03-17", + "Value": 132, + "Series": "Clothing" + }, + { + "Date": "2020-03-28", + "Value": 136, + "Series": "Clothing" + }, + { + "Date": "2020-04-08", + "Value": 136, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 120, + "Series": "Clothing" + }, + { + "Date": "2020-04-30", + "Value": 126, + "Series": "Clothing" + }, + { + "Date": "2020-05-11", + "Value": 121, + "Series": "Clothing" + }, + { + "Date": "2020-05-22", + "Value": 109, + "Series": "Clothing" + }, + { + "Date": "2020-06-02", + "Value": 113, + "Series": "Clothing" + }, + { + "Date": "2020-06-13", + "Value": 100, + "Series": "Clothing" + }, + { + "Date": "2020-06-24", + "Value": 87, + "Series": "Clothing" + }, + { + "Date": "2020-07-05", + "Value": 93, + "Series": "Clothing" + }, + { + "Date": "2020-07-16", + "Value": 87, + "Series": "Clothing" + }, + { + "Date": "2020-07-27", + "Value": 66, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 43, + "Series": "Clothing" + }, + { + "Date": "2020-08-17", + "Value": 9, + "Series": "Clothing" + }, + { + "Date": "2020-08-28", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2020-09-08", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2020-09-19", + "Value": 11, + "Series": "Clothing" + }, + { + "Date": "2020-09-30", + "Value": 20, + "Series": "Clothing" + }, + { + "Date": "2020-10-11", + "Value": 37, + "Series": "Clothing" + }, + { + "Date": "2020-10-22", + "Value": 56, + "Series": "Clothing" + }, + { + "Date": "2020-11-02", + "Value": 77, + "Series": "Clothing" + }, + { + "Date": "2020-11-13", + "Value": 110, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 116, + "Series": "Clothing" + }, + { + "Date": "2020-12-05", + "Value": 102, + "Series": "Clothing" + }, + { + "Date": "2020-12-16", + "Value": 88, + "Series": "Clothing" + }, + { + "Date": "2020-12-27", + "Value": 75, + "Series": "Clothing" + }, + { + "Date": "2021-01-07", + "Value": 64, + "Series": "Clothing" + }, + { + "Date": "2021-01-18", + "Value": 47, + "Series": "Clothing" + }, + { + "Date": "2021-01-29", + "Value": 25, + "Series": "Clothing" + }, + { + "Date": "2021-02-09", + "Value": 8, + "Series": "Clothing" + }, + { + "Date": "2021-02-20", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2021-03-03", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 12, + "Series": "Clothing" + }, + { + "Date": "2021-03-24", + "Value": 18, + "Series": "Clothing" + }, + { + "Date": "2021-04-04", + "Value": 4, + "Series": "Clothing" + }, + { + "Date": "2021-04-15", + "Value": 11, + "Series": "Clothing" + }, + { + "Date": "2021-04-26", + "Value": 12, + "Series": "Clothing" + }, + { + "Date": "2021-05-07", + "Value": 21, + "Series": "Clothing" + }, + { + "Date": "2021-05-18", + "Value": 20, + "Series": "Clothing" + }, + { + "Date": "2021-05-29", + "Value": 27, + "Series": "Clothing" + }, + { + "Date": "2021-06-09", + "Value": 34, + "Series": "Clothing" + }, + { + "Date": "2021-06-20", + "Value": 36, + "Series": "Clothing" + }, + { + "Date": "2021-07-01", + "Value": 55, + "Series": "Clothing" + }, + { + "Date": "2021-07-12", + "Value": 82, + "Series": "Clothing" + }, + { + "Date": "2021-07-23", + "Value": 119, + "Series": "Clothing" + }, + { + "Date": "2021-08-03", + "Value": 156, + "Series": "Clothing" + }, + { + "Date": "2021-08-14", + "Value": 163, + "Series": "Clothing" + }, + { + "Date": "2021-08-25", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2021-09-05", + "Value": 207, + "Series": "Clothing" + }, + { + "Date": "2021-09-16", + "Value": 239, + "Series": "Clothing" + }, + { + "Date": "2021-09-27", + "Value": 245, + "Series": "Clothing" + }, + { + "Date": "2021-10-08", + "Value": 234, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 223, + "Series": "Clothing" + }, + { + "Date": "2021-10-29", + "Value": 229, + "Series": "Clothing" + }, + { + "Date": "2021-11-09", + "Value": 233, + "Series": "Clothing" + }, + { + "Date": "2021-11-20", + "Value": 234, + "Series": "Clothing" + }, + { + "Date": "2021-12-01", + "Value": 220, + "Series": "Clothing" + }, + { + "Date": "2021-12-12", + "Value": 208, + "Series": "Clothing" + }, + { + "Date": "2021-12-23", + "Value": 203, + "Series": "Clothing" + }, + { + "Date": "2022-01-03", + "Value": 188, + "Series": "Clothing" + }, + { + "Date": "2022-01-14", + "Value": 165, + "Series": "Clothing" + }, + { + "Date": "2022-01-25", + "Value": 151, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 127, + "Series": "Clothing" + }, + { + "Date": "2022-02-16", + "Value": 117, + "Series": "Clothing" + }, + { + "Date": "2022-02-27", + "Value": 94, + "Series": "Clothing" + }, + { + "Date": "2022-03-10", + "Value": 82, + "Series": "Clothing" + }, + { + "Date": "2022-03-21", + "Value": 65, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 56, + "Series": "Clothing" + }, + { + "Date": "2022-04-12", + "Value": 51, + "Series": "Clothing" + }, + { + "Date": "2022-04-23", + "Value": 44, + "Series": "Clothing" + }, + { + "Date": "2022-05-04", + "Value": 26, + "Series": "Clothing" + }, + { + "Date": "2022-05-15", + "Value": 9, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2022-06-05", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2022-06-16", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2022-06-27", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2022-07-08", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2022-07-19", + "Value": 0, + "Series": "Clothing" + }, + { + "Date": "2022-07-30", + "Value": 8, + "Series": "Clothing" + }, + { + "Date": "2022-08-10", + "Value": 29, + "Series": "Clothing" + }, + { + "Date": "2022-08-21", + "Value": 31, + "Series": "Clothing" + }, + { + "Date": "2022-09-01", + "Value": 35, + "Series": "Clothing" + }, + { + "Date": "2022-09-12", + "Value": 27, + "Series": "Clothing" + }, + { + "Date": "2022-09-23", + "Value": 17, + "Series": "Clothing" + }, + { + "Date": "2022-10-04", + "Value": 16, + "Series": "Clothing" + }, + { + "Date": "2022-10-15", + "Value": 23, + "Series": "Clothing" + }, + { + "Date": "2022-10-26", + "Value": 36, + "Series": "Clothing" + }, + { + "Date": "2022-11-06", + "Value": 44, + "Series": "Clothing" + }, + { + "Date": "2022-11-17", + "Value": 36, + "Series": "Clothing" + }, + { + "Date": "2022-11-28", + "Value": 28, + "Series": "Clothing" + }, + { + "Date": "2022-12-09", + "Value": 41, + "Series": "Clothing" + }, + { + "Date": "2022-12-20", + "Value": 59, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 173, + "Series": "Food" + }, + { + "Date": "2020-01-11", + "Value": 181, + "Series": "Food" + }, + { + "Date": "2020-01-22", + "Value": 192, + "Series": "Food" + }, + { + "Date": "2020-02-02", + "Value": 196, + "Series": "Food" + }, + { + "Date": "2020-02-13", + "Value": 201, + "Series": "Food" + }, + { + "Date": "2020-02-24", + "Value": 212, + "Series": "Food" + }, + { + "Date": "2020-03-06", + "Value": 216, + "Series": "Food" + }, + { + "Date": "2020-03-17", + "Value": 219, + "Series": "Food" + }, + { + "Date": "2020-03-28", + "Value": 208, + "Series": "Food" + }, + { + "Date": "2020-04-08", + "Value": 213, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 224, + "Series": "Food" + }, + { + "Date": "2020-04-30", + "Value": 231, + "Series": "Food" + }, + { + "Date": "2020-05-11", + "Value": 238, + "Series": "Food" + }, + { + "Date": "2020-05-22", + "Value": 244, + "Series": "Food" + }, + { + "Date": "2020-06-02", + "Value": 254, + "Series": "Food" + }, + { + "Date": "2020-06-13", + "Value": 259, + "Series": "Food" + }, + { + "Date": "2020-06-24", + "Value": 253, + "Series": "Food" + }, + { + "Date": "2020-07-05", + "Value": 258, + "Series": "Food" + }, + { + "Date": "2020-07-16", + "Value": 263, + "Series": "Food" + }, + { + "Date": "2020-07-27", + "Value": 264, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 276, + "Series": "Food" + }, + { + "Date": "2020-08-17", + "Value": 287, + "Series": "Food" + }, + { + "Date": "2020-08-28", + "Value": 303, + "Series": "Food" + }, + { + "Date": "2020-09-08", + "Value": 321, + "Series": "Food" + }, + { + "Date": "2020-09-19", + "Value": 340, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 350, + "Series": "Food" + }, + { + "Date": "2020-10-11", + "Value": 368, + "Series": "Food" + }, + { + "Date": "2020-10-22", + "Value": 370, + "Series": "Food" + }, + { + "Date": "2020-11-02", + "Value": 363, + "Series": "Food" + }, + { + "Date": "2020-11-13", + "Value": 353, + "Series": "Food" + }, + { + "Date": "2020-11-24", + "Value": 357, + "Series": "Food" + }, + { + "Date": "2020-12-05", + "Value": 366, + "Series": "Food" + }, + { + "Date": "2020-12-16", + "Value": 365, + "Series": "Food" + }, + { + "Date": "2020-12-27", + "Value": 356, + "Series": "Food" + }, + { + "Date": "2021-01-07", + "Value": 354, + "Series": "Food" + }, + { + "Date": "2021-01-18", + "Value": 354, + "Series": "Food" + }, + { + "Date": "2021-01-29", + "Value": 357, + "Series": "Food" + }, + { + "Date": "2021-02-09", + "Value": 350, + "Series": "Food" + }, + { + "Date": "2021-02-20", + "Value": 345, + "Series": "Food" + }, + { + "Date": "2021-03-03", + "Value": 340, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 329, + "Series": "Food" + }, + { + "Date": "2021-03-24", + "Value": 327, + "Series": "Food" + }, + { + "Date": "2021-04-04", + "Value": 317, + "Series": "Food" + }, + { + "Date": "2021-04-15", + "Value": 297, + "Series": "Food" + }, + { + "Date": "2021-04-26", + "Value": 291, + "Series": "Food" + }, + { + "Date": "2021-05-07", + "Value": 279, + "Series": "Food" + }, + { + "Date": "2021-05-18", + "Value": 272, + "Series": "Food" + }, + { + "Date": "2021-05-29", + "Value": 271, + "Series": "Food" + }, + { + "Date": "2021-06-09", + "Value": 268, + "Series": "Food" + }, + { + "Date": "2021-06-20", + "Value": 256, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 255, + "Series": "Food" + }, + { + "Date": "2021-07-12", + "Value": 253, + "Series": "Food" + }, + { + "Date": "2021-07-23", + "Value": 264, + "Series": "Food" + }, + { + "Date": "2021-08-03", + "Value": 273, + "Series": "Food" + }, + { + "Date": "2021-08-14", + "Value": 270, + "Series": "Food" + }, + { + "Date": "2021-08-25", + "Value": 281, + "Series": "Food" + }, + { + "Date": "2021-09-05", + "Value": 277, + "Series": "Food" + }, + { + "Date": "2021-09-16", + "Value": 283, + "Series": "Food" + }, + { + "Date": "2021-09-27", + "Value": 283, + "Series": "Food" + }, + { + "Date": "2021-10-08", + "Value": 270, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 262, + "Series": "Food" + }, + { + "Date": "2021-10-29", + "Value": 259, + "Series": "Food" + }, + { + "Date": "2021-11-09", + "Value": 269, + "Series": "Food" + }, + { + "Date": "2021-11-20", + "Value": 286, + "Series": "Food" + }, + { + "Date": "2021-12-01", + "Value": 308, + "Series": "Food" + }, + { + "Date": "2021-12-12", + "Value": 316, + "Series": "Food" + }, + { + "Date": "2021-12-23", + "Value": 329, + "Series": "Food" + }, + { + "Date": "2022-01-03", + "Value": 340, + "Series": "Food" + }, + { + "Date": "2022-01-14", + "Value": 347, + "Series": "Food" + }, + { + "Date": "2022-01-25", + "Value": 361, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 373, + "Series": "Food" + }, + { + "Date": "2022-02-16", + "Value": 373, + "Series": "Food" + }, + { + "Date": "2022-02-27", + "Value": 385, + "Series": "Food" + }, + { + "Date": "2022-03-10", + "Value": 394, + "Series": "Food" + }, + { + "Date": "2022-03-21", + "Value": 400, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 408, + "Series": "Food" + }, + { + "Date": "2022-04-12", + "Value": 411, + "Series": "Food" + }, + { + "Date": "2022-04-23", + "Value": 420, + "Series": "Food" + }, + { + "Date": "2022-05-04", + "Value": 417, + "Series": "Food" + }, + { + "Date": "2022-05-15", + "Value": 405, + "Series": "Food" + }, + { + "Date": "2022-05-26", + "Value": 408, + "Series": "Food" + }, + { + "Date": "2022-06-05", + "Value": 403, + "Series": "Food" + }, + { + "Date": "2022-06-16", + "Value": 412, + "Series": "Food" + }, + { + "Date": "2022-06-27", + "Value": 418, + "Series": "Food" + }, + { + "Date": "2022-07-08", + "Value": 414, + "Series": "Food" + }, + { + "Date": "2022-07-19", + "Value": 404, + "Series": "Food" + }, + { + "Date": "2022-07-30", + "Value": 401, + "Series": "Food" + }, + { + "Date": "2022-08-10", + "Value": 394, + "Series": "Food" + }, + { + "Date": "2022-08-21", + "Value": 393, + "Series": "Food" + }, + { + "Date": "2022-09-01", + "Value": 391, + "Series": "Food" + }, + { + "Date": "2022-09-12", + "Value": 391, + "Series": "Food" + }, + { + "Date": "2022-09-23", + "Value": 403, + "Series": "Food" + }, + { + "Date": "2022-10-04", + "Value": 404, + "Series": "Food" + }, + { + "Date": "2022-10-15", + "Value": 413, + "Series": "Food" + }, + { + "Date": "2022-10-26", + "Value": 420, + "Series": "Food" + }, + { + "Date": "2022-11-06", + "Value": 433, + "Series": "Food" + }, + { + "Date": "2022-11-17", + "Value": 453, + "Series": "Food" + }, + { + "Date": "2022-11-28", + "Value": 479, + "Series": "Food" + }, + { + "Date": "2022-12-09", + "Value": 490, + "Series": "Food" + }, + { + "Date": "2022-12-20", + "Value": 493, + "Series": "Food" + }, + { + "Date": "2020-01-01", + "Value": 211, + "Series": "Books" + }, + { + "Date": "2020-01-11", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2020-01-22", + "Value": 209, + "Series": "Books" + }, + { + "Date": "2020-02-02", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2020-02-13", + "Value": 210, + "Series": "Books" + }, + { + "Date": "2020-02-24", + "Value": 206, + "Series": "Books" + }, + { + "Date": "2020-03-06", + "Value": 202, + "Series": "Books" + }, + { + "Date": "2020-03-17", + "Value": 195, + "Series": "Books" + }, + { + "Date": "2020-03-28", + "Value": 185, + "Series": "Books" + }, + { + "Date": "2020-04-08", + "Value": 174, + "Series": "Books" + }, + { + "Date": "2020-04-19", + "Value": 171, + "Series": "Books" + }, + { + "Date": "2020-04-30", + "Value": 174, + "Series": "Books" + }, + { + "Date": "2020-05-11", + "Value": 181, + "Series": "Books" + }, + { + "Date": "2020-05-22", + "Value": 185, + "Series": "Books" + }, + { + "Date": "2020-06-02", + "Value": 184, + "Series": "Books" + }, + { + "Date": "2020-06-13", + "Value": 181, + "Series": "Books" + }, + { + "Date": "2020-06-24", + "Value": 176, + "Series": "Books" + }, + { + "Date": "2020-07-05", + "Value": 175, + "Series": "Books" + }, + { + "Date": "2020-07-16", + "Value": 169, + "Series": "Books" + }, + { + "Date": "2020-07-27", + "Value": 159, + "Series": "Books" + }, + { + "Date": "2020-08-07", + "Value": 150, + "Series": "Books" + }, + { + "Date": "2020-08-17", + "Value": 147, + "Series": "Books" + }, + { + "Date": "2020-08-28", + "Value": 150, + "Series": "Books" + }, + { + "Date": "2020-09-08", + "Value": 151, + "Series": "Books" + }, + { + "Date": "2020-09-19", + "Value": 156, + "Series": "Books" + }, + { + "Date": "2020-09-30", + "Value": 165, + "Series": "Books" + }, + { + "Date": "2020-10-11", + "Value": 175, + "Series": "Books" + }, + { + "Date": "2020-10-22", + "Value": 179, + "Series": "Books" + }, + { + "Date": "2020-11-02", + "Value": 181, + "Series": "Books" + }, + { + "Date": "2020-11-13", + "Value": 180, + "Series": "Books" + }, + { + "Date": "2020-11-24", + "Value": 176, + "Series": "Books" + }, + { + "Date": "2020-12-05", + "Value": 170, + "Series": "Books" + }, + { + "Date": "2020-12-16", + "Value": 171, + "Series": "Books" + }, + { + "Date": "2020-12-27", + "Value": 168, + "Series": "Books" + }, + { + "Date": "2021-01-07", + "Value": 168, + "Series": "Books" + }, + { + "Date": "2021-01-18", + "Value": 169, + "Series": "Books" + }, + { + "Date": "2021-01-29", + "Value": 174, + "Series": "Books" + }, + { + "Date": "2021-02-09", + "Value": 180, + "Series": "Books" + }, + { + "Date": "2021-02-20", + "Value": 181, + "Series": "Books" + }, + { + "Date": "2021-03-03", + "Value": 185, + "Series": "Books" + }, + { + "Date": "2021-03-14", + "Value": 193, + "Series": "Books" + }, + { + "Date": "2021-03-24", + "Value": 201, + "Series": "Books" + }, + { + "Date": "2021-04-04", + "Value": 210, + "Series": "Books" + }, + { + "Date": "2021-04-15", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2021-04-26", + "Value": 209, + "Series": "Books" + }, + { + "Date": "2021-05-07", + "Value": 202, + "Series": "Books" + }, + { + "Date": "2021-05-18", + "Value": 196, + "Series": "Books" + }, + { + "Date": "2021-05-29", + "Value": 192, + "Series": "Books" + }, + { + "Date": "2021-06-09", + "Value": 191, + "Series": "Books" + }, + { + "Date": "2021-06-20", + "Value": 192, + "Series": "Books" + }, + { + "Date": "2021-07-01", + "Value": 194, + "Series": "Books" + }, + { + "Date": "2021-07-12", + "Value": 193, + "Series": "Books" + }, + { + "Date": "2021-07-23", + "Value": 192, + "Series": "Books" + }, + { + "Date": "2021-08-03", + "Value": 191, + "Series": "Books" + }, + { + "Date": "2021-08-14", + "Value": 194, + "Series": "Books" + }, + { + "Date": "2021-08-25", + "Value": 196, + "Series": "Books" + }, + { + "Date": "2021-09-05", + "Value": 199, + "Series": "Books" + }, + { + "Date": "2021-09-16", + "Value": 205, + "Series": "Books" + }, + { + "Date": "2021-09-27", + "Value": 211, + "Series": "Books" + }, + { + "Date": "2021-10-08", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2021-10-19", + "Value": 208, + "Series": "Books" + }, + { + "Date": "2021-10-29", + "Value": 202, + "Series": "Books" + }, + { + "Date": "2021-11-09", + "Value": 202, + "Series": "Books" + }, + { + "Date": "2021-11-20", + "Value": 207, + "Series": "Books" + }, + { + "Date": "2021-12-01", + "Value": 208, + "Series": "Books" + }, + { + "Date": "2021-12-12", + "Value": 203, + "Series": "Books" + }, + { + "Date": "2021-12-23", + "Value": 201, + "Series": "Books" + }, + { + "Date": "2022-01-03", + "Value": 199, + "Series": "Books" + }, + { + "Date": "2022-01-14", + "Value": 196, + "Series": "Books" + }, + { + "Date": "2022-01-25", + "Value": 196, + "Series": "Books" + }, + { + "Date": "2022-02-05", + "Value": 195, + "Series": "Books" + }, + { + "Date": "2022-02-16", + "Value": 198, + "Series": "Books" + }, + { + "Date": "2022-02-27", + "Value": 204, + "Series": "Books" + }, + { + "Date": "2022-03-10", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2022-03-21", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2022-04-01", + "Value": 217, + "Series": "Books" + }, + { + "Date": "2022-04-12", + "Value": 215, + "Series": "Books" + }, + { + "Date": "2022-04-23", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2022-05-04", + "Value": 211, + "Series": "Books" + }, + { + "Date": "2022-05-15", + "Value": 212, + "Series": "Books" + }, + { + "Date": "2022-05-26", + "Value": 215, + "Series": "Books" + }, + { + "Date": "2022-06-05", + "Value": 220, + "Series": "Books" + }, + { + "Date": "2022-06-16", + "Value": 221, + "Series": "Books" + }, + { + "Date": "2022-06-27", + "Value": 224, + "Series": "Books" + }, + { + "Date": "2022-07-08", + "Value": 227, + "Series": "Books" + }, + { + "Date": "2022-07-19", + "Value": 226, + "Series": "Books" + }, + { + "Date": "2022-07-30", + "Value": 231, + "Series": "Books" + }, + { + "Date": "2022-08-10", + "Value": 239, + "Series": "Books" + }, + { + "Date": "2022-08-21", + "Value": 250, + "Series": "Books" + }, + { + "Date": "2022-09-01", + "Value": 260, + "Series": "Books" + }, + { + "Date": "2022-09-12", + "Value": 270, + "Series": "Books" + }, + { + "Date": "2022-09-23", + "Value": 274, + "Series": "Books" + }, + { + "Date": "2022-10-04", + "Value": 282, + "Series": "Books" + }, + { + "Date": "2022-10-15", + "Value": 286, + "Series": "Books" + }, + { + "Date": "2022-10-26", + "Value": 285, + "Series": "Books" + }, + { + "Date": "2022-11-06", + "Value": 283, + "Series": "Books" + }, + { + "Date": "2022-11-17", + "Value": 277, + "Series": "Books" + }, + { + "Date": "2022-11-28", + "Value": 271, + "Series": "Books" + }, + { + "Date": "2022-12-09", + "Value": 267, + "Series": "Books" + }, + { + "Date": "2022-12-20", + "Value": 269, + "Series": "Books" + }, + { + "Date": "2020-01-01", + "Value": 57, + "Series": "Sports" + }, + { + "Date": "2020-01-11", + "Value": 63, + "Series": "Sports" + }, + { + "Date": "2020-01-22", + "Value": 76, + "Series": "Sports" + }, + { + "Date": "2020-02-02", + "Value": 76, + "Series": "Sports" + }, + { + "Date": "2020-02-13", + "Value": 75, + "Series": "Sports" + }, + { + "Date": "2020-02-24", + "Value": 67, + "Series": "Sports" + }, + { + "Date": "2020-03-06", + "Value": 73, + "Series": "Sports" + }, + { + "Date": "2020-03-17", + "Value": 82, + "Series": "Sports" + }, + { + "Date": "2020-03-28", + "Value": 89, + "Series": "Sports" + }, + { + "Date": "2020-04-08", + "Value": 85, + "Series": "Sports" + }, + { + "Date": "2020-04-19", + "Value": 90, + "Series": "Sports" + }, + { + "Date": "2020-04-30", + "Value": 87, + "Series": "Sports" + }, + { + "Date": "2020-05-11", + "Value": 89, + "Series": "Sports" + }, + { + "Date": "2020-05-22", + "Value": 81, + "Series": "Sports" + }, + { + "Date": "2020-06-02", + "Value": 62, + "Series": "Sports" + }, + { + "Date": "2020-06-13", + "Value": 60, + "Series": "Sports" + }, + { + "Date": "2020-06-24", + "Value": 53, + "Series": "Sports" + }, + { + "Date": "2020-07-05", + "Value": 46, + "Series": "Sports" + }, + { + "Date": "2020-07-16", + "Value": 52, + "Series": "Sports" + }, + { + "Date": "2020-07-27", + "Value": 46, + "Series": "Sports" + }, + { + "Date": "2020-08-07", + "Value": 32, + "Series": "Sports" + }, + { + "Date": "2020-08-17", + "Value": 28, + "Series": "Sports" + }, + { + "Date": "2020-08-28", + "Value": 20, + "Series": "Sports" + }, + { + "Date": "2020-09-08", + "Value": 3, + "Series": "Sports" + }, + { + "Date": "2020-09-19", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-09-30", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-10-11", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-10-22", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-11-02", + "Value": 4, + "Series": "Sports" + }, + { + "Date": "2020-11-13", + "Value": 5, + "Series": "Sports" + }, + { + "Date": "2020-11-24", + "Value": 10, + "Series": "Sports" + }, + { + "Date": "2020-12-05", + "Value": 27, + "Series": "Sports" + }, + { + "Date": "2020-12-16", + "Value": 27, + "Series": "Sports" + }, + { + "Date": "2020-12-27", + "Value": 30, + "Series": "Sports" + }, + { + "Date": "2021-01-07", + "Value": 29, + "Series": "Sports" + }, + { + "Date": "2021-01-18", + "Value": 37, + "Series": "Sports" + }, + { + "Date": "2021-01-29", + "Value": 47, + "Series": "Sports" + }, + { + "Date": "2021-02-09", + "Value": 52, + "Series": "Sports" + }, + { + "Date": "2021-02-20", + "Value": 48, + "Series": "Sports" + }, + { + "Date": "2021-03-03", + "Value": 42, + "Series": "Sports" + }, + { + "Date": "2021-03-14", + "Value": 48, + "Series": "Sports" + }, + { + "Date": "2021-03-24", + "Value": 47, + "Series": "Sports" + }, + { + "Date": "2021-04-04", + "Value": 55, + "Series": "Sports" + }, + { + "Date": "2021-04-15", + "Value": 54, + "Series": "Sports" + }, + { + "Date": "2021-04-26", + "Value": 56, + "Series": "Sports" + }, + { + "Date": "2021-05-07", + "Value": 64, + "Series": "Sports" + }, + { + "Date": "2021-05-18", + "Value": 71, + "Series": "Sports" + }, + { + "Date": "2021-05-29", + "Value": 89, + "Series": "Sports" + }, + { + "Date": "2021-06-09", + "Value": 96, + "Series": "Sports" + }, + { + "Date": "2021-06-20", + "Value": 104, + "Series": "Sports" + }, + { + "Date": "2021-07-01", + "Value": 109, + "Series": "Sports" + }, + { + "Date": "2021-07-12", + "Value": 122, + "Series": "Sports" + }, + { + "Date": "2021-07-23", + "Value": 136, + "Series": "Sports" + }, + { + "Date": "2021-08-03", + "Value": 149, + "Series": "Sports" + }, + { + "Date": "2021-08-14", + "Value": 170, + "Series": "Sports" + }, + { + "Date": "2021-08-25", + "Value": 194, + "Series": "Sports" + }, + { + "Date": "2021-09-05", + "Value": 201, + "Series": "Sports" + }, + { + "Date": "2021-09-16", + "Value": 199, + "Series": "Sports" + }, + { + "Date": "2021-09-27", + "Value": 196, + "Series": "Sports" + }, + { + "Date": "2021-10-08", + "Value": 187, + "Series": "Sports" + }, + { + "Date": "2021-10-19", + "Value": 179, + "Series": "Sports" + }, + { + "Date": "2021-10-29", + "Value": 181, + "Series": "Sports" + }, + { + "Date": "2021-11-09", + "Value": 171, + "Series": "Sports" + }, + { + "Date": "2021-11-20", + "Value": 176, + "Series": "Sports" + }, + { + "Date": "2021-12-01", + "Value": 175, + "Series": "Sports" + }, + { + "Date": "2021-12-12", + "Value": 182, + "Series": "Sports" + }, + { + "Date": "2021-12-23", + "Value": 193, + "Series": "Sports" + }, + { + "Date": "2022-01-03", + "Value": 197, + "Series": "Sports" + }, + { + "Date": "2022-01-14", + "Value": 208, + "Series": "Sports" + }, + { + "Date": "2022-01-25", + "Value": 229, + "Series": "Sports" + }, + { + "Date": "2022-02-05", + "Value": 256, + "Series": "Sports" + }, + { + "Date": "2022-02-16", + "Value": 268, + "Series": "Sports" + }, + { + "Date": "2022-02-27", + "Value": 273, + "Series": "Sports" + }, + { + "Date": "2022-03-10", + "Value": 264, + "Series": "Sports" + }, + { + "Date": "2022-03-21", + "Value": 247, + "Series": "Sports" + }, + { + "Date": "2022-04-01", + "Value": 230, + "Series": "Sports" + }, + { + "Date": "2022-04-12", + "Value": 226, + "Series": "Sports" + }, + { + "Date": "2022-04-23", + "Value": 212, + "Series": "Sports" + }, + { + "Date": "2022-05-04", + "Value": 197, + "Series": "Sports" + }, + { + "Date": "2022-05-15", + "Value": 191, + "Series": "Sports" + }, + { + "Date": "2022-05-26", + "Value": 177, + "Series": "Sports" + }, + { + "Date": "2022-06-05", + "Value": 160, + "Series": "Sports" + }, + { + "Date": "2022-06-16", + "Value": 158, + "Series": "Sports" + }, + { + "Date": "2022-06-27", + "Value": 144, + "Series": "Sports" + }, + { + "Date": "2022-07-08", + "Value": 123, + "Series": "Sports" + }, + { + "Date": "2022-07-19", + "Value": 100, + "Series": "Sports" + }, + { + "Date": "2022-07-30", + "Value": 85, + "Series": "Sports" + }, + { + "Date": "2022-08-10", + "Value": 64, + "Series": "Sports" + }, + { + "Date": "2022-08-21", + "Value": 59, + "Series": "Sports" + }, + { + "Date": "2022-09-01", + "Value": 49, + "Series": "Sports" + }, + { + "Date": "2022-09-12", + "Value": 43, + "Series": "Sports" + }, + { + "Date": "2022-09-23", + "Value": 52, + "Series": "Sports" + }, + { + "Date": "2022-10-04", + "Value": 53, + "Series": "Sports" + }, + { + "Date": "2022-10-15", + "Value": 42, + "Series": "Sports" + }, + { + "Date": "2022-10-26", + "Value": 22, + "Series": "Sports" + }, + { + "Date": "2022-11-06", + "Value": 2, + "Series": "Sports" + }, + { + "Date": "2022-11-17", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-11-28", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-12-09", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-12-20", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-01-01", + "Value": 210, + "Series": "Home" + }, + { + "Date": "2020-01-11", + "Value": 216, + "Series": "Home" + }, + { + "Date": "2020-01-22", + "Value": 223, + "Series": "Home" + }, + { + "Date": "2020-02-02", + "Value": 227, + "Series": "Home" + }, + { + "Date": "2020-02-13", + "Value": 225, + "Series": "Home" + }, + { + "Date": "2020-02-24", + "Value": 219, + "Series": "Home" + }, + { + "Date": "2020-03-06", + "Value": 218, + "Series": "Home" + }, + { + "Date": "2020-03-17", + "Value": 223, + "Series": "Home" + }, + { + "Date": "2020-03-28", + "Value": 232, + "Series": "Home" + }, + { + "Date": "2020-04-08", + "Value": 244, + "Series": "Home" + }, + { + "Date": "2020-04-19", + "Value": 253, + "Series": "Home" + }, + { + "Date": "2020-04-30", + "Value": 255, + "Series": "Home" + }, + { + "Date": "2020-05-11", + "Value": 253, + "Series": "Home" + }, + { + "Date": "2020-05-22", + "Value": 250, + "Series": "Home" + }, + { + "Date": "2020-06-02", + "Value": 247, + "Series": "Home" + }, + { + "Date": "2020-06-13", + "Value": 239, + "Series": "Home" + }, + { + "Date": "2020-06-24", + "Value": 237, + "Series": "Home" + }, + { + "Date": "2020-07-05", + "Value": 241, + "Series": "Home" + }, + { + "Date": "2020-07-16", + "Value": 244, + "Series": "Home" + }, + { + "Date": "2020-07-27", + "Value": 252, + "Series": "Home" + }, + { + "Date": "2020-08-07", + "Value": 259, + "Series": "Home" + }, + { + "Date": "2020-08-17", + "Value": 267, + "Series": "Home" + }, + { + "Date": "2020-08-28", + "Value": 279, + "Series": "Home" + }, + { + "Date": "2020-09-08", + "Value": 291, + "Series": "Home" + }, + { + "Date": "2020-09-19", + "Value": 303, + "Series": "Home" + }, + { + "Date": "2020-09-30", + "Value": 308, + "Series": "Home" + }, + { + "Date": "2020-10-11", + "Value": 312, + "Series": "Home" + }, + { + "Date": "2020-10-22", + "Value": 309, + "Series": "Home" + }, + { + "Date": "2020-11-02", + "Value": 306, + "Series": "Home" + }, + { + "Date": "2020-11-13", + "Value": 302, + "Series": "Home" + }, + { + "Date": "2020-11-24", + "Value": 305, + "Series": "Home" + }, + { + "Date": "2020-12-05", + "Value": 303, + "Series": "Home" + }, + { + "Date": "2020-12-16", + "Value": 301, + "Series": "Home" + }, + { + "Date": "2020-12-27", + "Value": 302, + "Series": "Home" + }, + { + "Date": "2021-01-07", + "Value": 305, + "Series": "Home" + }, + { + "Date": "2021-01-18", + "Value": 311, + "Series": "Home" + }, + { + "Date": "2021-01-29", + "Value": 309, + "Series": "Home" + }, + { + "Date": "2021-02-09", + "Value": 307, + "Series": "Home" + }, + { + "Date": "2021-02-20", + "Value": 312, + "Series": "Home" + }, + { + "Date": "2021-03-03", + "Value": 313, + "Series": "Home" + }, + { + "Date": "2021-03-14", + "Value": 317, + "Series": "Home" + }, + { + "Date": "2021-03-24", + "Value": 322, + "Series": "Home" + }, + { + "Date": "2021-04-04", + "Value": 326, + "Series": "Home" + }, + { + "Date": "2021-04-15", + "Value": 334, + "Series": "Home" + }, + { + "Date": "2021-04-26", + "Value": 338, + "Series": "Home" + }, + { + "Date": "2021-05-07", + "Value": 337, + "Series": "Home" + }, + { + "Date": "2021-05-18", + "Value": 336, + "Series": "Home" + }, + { + "Date": "2021-05-29", + "Value": 333, + "Series": "Home" + }, + { + "Date": "2021-06-09", + "Value": 335, + "Series": "Home" + }, + { + "Date": "2021-06-20", + "Value": 344, + "Series": "Home" + }, + { + "Date": "2021-07-01", + "Value": 344, + "Series": "Home" + }, + { + "Date": "2021-07-12", + "Value": 346, + "Series": "Home" + }, + { + "Date": "2021-07-23", + "Value": 349, + "Series": "Home" + }, + { + "Date": "2021-08-03", + "Value": 354, + "Series": "Home" + }, + { + "Date": "2021-08-14", + "Value": 361, + "Series": "Home" + }, + { + "Date": "2021-08-25", + "Value": 359, + "Series": "Home" + }, + { + "Date": "2021-09-05", + "Value": 357, + "Series": "Home" + }, + { + "Date": "2021-09-16", + "Value": 355, + "Series": "Home" + }, + { + "Date": "2021-09-27", + "Value": 359, + "Series": "Home" + }, + { + "Date": "2021-10-08", + "Value": 368, + "Series": "Home" + }, + { + "Date": "2021-10-19", + "Value": 372, + "Series": "Home" + }, + { + "Date": "2021-10-29", + "Value": 382, + "Series": "Home" + }, + { + "Date": "2021-11-09", + "Value": 386, + "Series": "Home" + }, + { + "Date": "2021-11-20", + "Value": 392, + "Series": "Home" + }, + { + "Date": "2021-12-01", + "Value": 390, + "Series": "Home" + }, + { + "Date": "2021-12-12", + "Value": 389, + "Series": "Home" + }, + { + "Date": "2021-12-23", + "Value": 383, + "Series": "Home" + }, + { + "Date": "2022-01-03", + "Value": 377, + "Series": "Home" + }, + { + "Date": "2022-01-14", + "Value": 379, + "Series": "Home" + }, + { + "Date": "2022-01-25", + "Value": 374, + "Series": "Home" + }, + { + "Date": "2022-02-05", + "Value": 376, + "Series": "Home" + }, + { + "Date": "2022-02-16", + "Value": 377, + "Series": "Home" + }, + { + "Date": "2022-02-27", + "Value": 378, + "Series": "Home" + }, + { + "Date": "2022-03-10", + "Value": 383, + "Series": "Home" + }, + { + "Date": "2022-03-21", + "Value": 390, + "Series": "Home" + }, + { + "Date": "2022-04-01", + "Value": 400, + "Series": "Home" + }, + { + "Date": "2022-04-12", + "Value": 405, + "Series": "Home" + }, + { + "Date": "2022-04-23", + "Value": 409, + "Series": "Home" + }, + { + "Date": "2022-05-04", + "Value": 415, + "Series": "Home" + }, + { + "Date": "2022-05-15", + "Value": 413, + "Series": "Home" + }, + { + "Date": "2022-05-26", + "Value": 410, + "Series": "Home" + }, + { + "Date": "2022-06-05", + "Value": 410, + "Series": "Home" + }, + { + "Date": "2022-06-16", + "Value": 416, + "Series": "Home" + }, + { + "Date": "2022-06-27", + "Value": 422, + "Series": "Home" + }, + { + "Date": "2022-07-08", + "Value": 420, + "Series": "Home" + }, + { + "Date": "2022-07-19", + "Value": 424, + "Series": "Home" + }, + { + "Date": "2022-07-30", + "Value": 431, + "Series": "Home" + }, + { + "Date": "2022-08-10", + "Value": 437, + "Series": "Home" + }, + { + "Date": "2022-08-21", + "Value": 446, + "Series": "Home" + }, + { + "Date": "2022-09-01", + "Value": 458, + "Series": "Home" + }, + { + "Date": "2022-09-12", + "Value": 468, + "Series": "Home" + }, + { + "Date": "2022-09-23", + "Value": 470, + "Series": "Home" + }, + { + "Date": "2022-10-04", + "Value": 477, + "Series": "Home" + }, + { + "Date": "2022-10-15", + "Value": 475, + "Series": "Home" + }, + { + "Date": "2022-10-26", + "Value": 480, + "Series": "Home" + }, + { + "Date": "2022-11-06", + "Value": 488, + "Series": "Home" + }, + { + "Date": "2022-11-17", + "Value": 494, + "Series": "Home" + }, + { + "Date": "2022-11-28", + "Value": 499, + "Series": "Home" + }, + { + "Date": "2022-12-09", + "Value": 503, + "Series": "Home" + }, + { + "Date": "2022-12-20", + "Value": 499, + "Series": "Home" + }, + { + "Date": "2020-01-01", + "Value": 69, + "Series": "Garden" + }, + { + "Date": "2020-01-11", + "Value": 72, + "Series": "Garden" + }, + { + "Date": "2020-01-22", + "Value": 61, + "Series": "Garden" + }, + { + "Date": "2020-02-02", + "Value": 65, + "Series": "Garden" + }, + { + "Date": "2020-02-13", + "Value": 71, + "Series": "Garden" + }, + { + "Date": "2020-02-24", + "Value": 76, + "Series": "Garden" + }, + { + "Date": "2020-03-06", + "Value": 70, + "Series": "Garden" + }, + { + "Date": "2020-03-17", + "Value": 75, + "Series": "Garden" + }, + { + "Date": "2020-03-28", + "Value": 67, + "Series": "Garden" + }, + { + "Date": "2020-04-08", + "Value": 59, + "Series": "Garden" + }, + { + "Date": "2020-04-19", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2020-04-30", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2020-05-11", + "Value": 48, + "Series": "Garden" + }, + { + "Date": "2020-05-22", + "Value": 27, + "Series": "Garden" + }, + { + "Date": "2020-06-02", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-06-13", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-06-24", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-07-05", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-07-16", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-07-27", + "Value": 6, + "Series": "Garden" + }, + { + "Date": "2020-08-07", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-08-17", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-08-28", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-09-08", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-09-19", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-09-30", + "Value": 3, + "Series": "Garden" + }, + { + "Date": "2020-10-11", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-10-22", + "Value": 5, + "Series": "Garden" + }, + { + "Date": "2020-11-02", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2020-11-13", + "Value": 4, + "Series": "Garden" + }, + { + "Date": "2020-11-24", + "Value": 15, + "Series": "Garden" + }, + { + "Date": "2020-12-05", + "Value": 34, + "Series": "Garden" + }, + { + "Date": "2020-12-16", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2020-12-27", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2021-01-07", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2021-01-18", + "Value": 30, + "Series": "Garden" + }, + { + "Date": "2021-01-29", + "Value": 31, + "Series": "Garden" + }, + { + "Date": "2021-02-09", + "Value": 49, + "Series": "Garden" + }, + { + "Date": "2021-02-20", + "Value": 57, + "Series": "Garden" + }, + { + "Date": "2021-03-03", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2021-03-14", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2021-03-24", + "Value": 37, + "Series": "Garden" + }, + { + "Date": "2021-04-04", + "Value": 15, + "Series": "Garden" + }, + { + "Date": "2021-04-15", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2021-04-26", + "Value": 0, + "Series": "Garden" + }, + { + "Date": "2021-05-07", + "Value": 3, + "Series": "Garden" + }, + { + "Date": "2021-05-18", + "Value": 7, + "Series": "Garden" + }, + { + "Date": "2021-05-29", + "Value": 19, + "Series": "Garden" + }, + { + "Date": "2021-06-09", + "Value": 9, + "Series": "Garden" + }, + { + "Date": "2021-06-20", + "Value": 4, + "Series": "Garden" + }, + { + "Date": "2021-07-01", + "Value": 11, + "Series": "Garden" + }, + { + "Date": "2021-07-12", + "Value": 30, + "Series": "Garden" + }, + { + "Date": "2021-07-23", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2021-08-03", + "Value": 64, + "Series": "Garden" + }, + { + "Date": "2021-08-14", + "Value": 98, + "Series": "Garden" + }, + { + "Date": "2021-08-25", + "Value": 118, + "Series": "Garden" + }, + { + "Date": "2021-09-05", + "Value": 129, + "Series": "Garden" + }, + { + "Date": "2021-09-16", + "Value": 141, + "Series": "Garden" + }, + { + "Date": "2021-09-27", + "Value": 157, + "Series": "Garden" + }, + { + "Date": "2021-10-08", + "Value": 172, + "Series": "Garden" + }, + { + "Date": "2021-10-19", + "Value": 169, + "Series": "Garden" + }, + { + "Date": "2021-10-29", + "Value": 184, + "Series": "Garden" + }, + { + "Date": "2021-11-09", + "Value": 211, + "Series": "Garden" + }, + { + "Date": "2021-11-20", + "Value": 215, + "Series": "Garden" + }, + { + "Date": "2021-12-01", + "Value": 222, + "Series": "Garden" + }, + { + "Date": "2021-12-12", + "Value": 240, + "Series": "Garden" + }, + { + "Date": "2021-12-23", + "Value": 252, + "Series": "Garden" + }, + { + "Date": "2022-01-03", + "Value": 254, + "Series": "Garden" + }, + { + "Date": "2022-01-14", + "Value": 250, + "Series": "Garden" + }, + { + "Date": "2022-01-25", + "Value": 247, + "Series": "Garden" + }, + { + "Date": "2022-02-05", + "Value": 232, + "Series": "Garden" + }, + { + "Date": "2022-02-16", + "Value": 238, + "Series": "Garden" + }, + { + "Date": "2022-02-27", + "Value": 249, + "Series": "Garden" + }, + { + "Date": "2022-03-10", + "Value": 256, + "Series": "Garden" + }, + { + "Date": "2022-03-21", + "Value": 265, + "Series": "Garden" + }, + { + "Date": "2022-04-01", + "Value": 259, + "Series": "Garden" + }, + { + "Date": "2022-04-12", + "Value": 260, + "Series": "Garden" + }, + { + "Date": "2022-04-23", + "Value": 271, + "Series": "Garden" + }, + { + "Date": "2022-05-04", + "Value": 268, + "Series": "Garden" + }, + { + "Date": "2022-05-15", + "Value": 279, + "Series": "Garden" + }, + { + "Date": "2022-05-26", + "Value": 270, + "Series": "Garden" + }, + { + "Date": "2022-06-05", + "Value": 265, + "Series": "Garden" + }, + { + "Date": "2022-06-16", + "Value": 262, + "Series": "Garden" + }, + { + "Date": "2022-06-27", + "Value": 263, + "Series": "Garden" + }, + { + "Date": "2022-07-08", + "Value": 280, + "Series": "Garden" + }, + { + "Date": "2022-07-19", + "Value": 309, + "Series": "Garden" + }, + { + "Date": "2022-07-30", + "Value": 331, + "Series": "Garden" + }, + { + "Date": "2022-08-10", + "Value": 334, + "Series": "Garden" + }, + { + "Date": "2022-08-21", + "Value": 330, + "Series": "Garden" + }, + { + "Date": "2022-09-01", + "Value": 322, + "Series": "Garden" + }, + { + "Date": "2022-09-12", + "Value": 326, + "Series": "Garden" + }, + { + "Date": "2022-09-23", + "Value": 329, + "Series": "Garden" + }, + { + "Date": "2022-10-04", + "Value": 320, + "Series": "Garden" + }, + { + "Date": "2022-10-15", + "Value": 300, + "Series": "Garden" + }, + { + "Date": "2022-10-26", + "Value": 266, + "Series": "Garden" + }, + { + "Date": "2022-11-06", + "Value": 223, + "Series": "Garden" + }, + { + "Date": "2022-11-17", + "Value": 174, + "Series": "Garden" + }, + { + "Date": "2022-11-28", + "Value": 132, + "Series": "Garden" + }, + { + "Date": "2022-12-09", + "Value": 102, + "Series": "Garden" + }, + { + "Date": "2022-12-20", + "Value": 89, + "Series": "Garden" + }, + { + "Date": "2020-01-01", + "Value": 233, + "Series": "Auto" + }, + { + "Date": "2020-01-11", + "Value": 239, + "Series": "Auto" + }, + { + "Date": "2020-01-22", + "Value": 252, + "Series": "Auto" + }, + { + "Date": "2020-02-02", + "Value": 266, + "Series": "Auto" + }, + { + "Date": "2020-02-13", + "Value": 277, + "Series": "Auto" + }, + { + "Date": "2020-02-24", + "Value": 283, + "Series": "Auto" + }, + { + "Date": "2020-03-06", + "Value": 291, + "Series": "Auto" + }, + { + "Date": "2020-03-17", + "Value": 295, + "Series": "Auto" + }, + { + "Date": "2020-03-28", + "Value": 306, + "Series": "Auto" + }, + { + "Date": "2020-04-08", + "Value": 319, + "Series": "Auto" + }, + { + "Date": "2020-04-19", + "Value": 333, + "Series": "Auto" + }, + { + "Date": "2020-04-30", + "Value": 342, + "Series": "Auto" + }, + { + "Date": "2020-05-11", + "Value": 343, + "Series": "Auto" + }, + { + "Date": "2020-05-22", + "Value": 354, + "Series": "Auto" + }, + { + "Date": "2020-06-02", + "Value": 363, + "Series": "Auto" + }, + { + "Date": "2020-06-13", + "Value": 382, + "Series": "Auto" + }, + { + "Date": "2020-06-24", + "Value": 395, + "Series": "Auto" + }, + { + "Date": "2020-07-05", + "Value": 407, + "Series": "Auto" + }, + { + "Date": "2020-07-16", + "Value": 422, + "Series": "Auto" + }, + { + "Date": "2020-07-27", + "Value": 424, + "Series": "Auto" + }, + { + "Date": "2020-08-07", + "Value": 413, + "Series": "Auto" + }, + { + "Date": "2020-08-17", + "Value": 413, + "Series": "Auto" + }, + { + "Date": "2020-08-28", + "Value": 404, + "Series": "Auto" + }, + { + "Date": "2020-09-08", + "Value": 390, + "Series": "Auto" + }, + { + "Date": "2020-09-19", + "Value": 376, + "Series": "Auto" + }, + { + "Date": "2020-09-30", + "Value": 377, + "Series": "Auto" + }, + { + "Date": "2020-10-11", + "Value": 385, + "Series": "Auto" + }, + { + "Date": "2020-10-22", + "Value": 394, + "Series": "Auto" + }, + { + "Date": "2020-11-02", + "Value": 409, + "Series": "Auto" + }, + { + "Date": "2020-11-13", + "Value": 414, + "Series": "Auto" + }, + { + "Date": "2020-11-24", + "Value": 427, + "Series": "Auto" + }, + { + "Date": "2020-12-05", + "Value": 430, + "Series": "Auto" + }, + { + "Date": "2020-12-16", + "Value": 426, + "Series": "Auto" + }, + { + "Date": "2020-12-27", + "Value": 431, + "Series": "Auto" + }, + { + "Date": "2021-01-07", + "Value": 446, + "Series": "Auto" + }, + { + "Date": "2021-01-18", + "Value": 450, + "Series": "Auto" + }, + { + "Date": "2021-01-29", + "Value": 461, + "Series": "Auto" + }, + { + "Date": "2021-02-09", + "Value": 475, + "Series": "Auto" + }, + { + "Date": "2021-02-20", + "Value": 496, + "Series": "Auto" + }, + { + "Date": "2021-03-03", + "Value": 510, + "Series": "Auto" + }, + { + "Date": "2021-03-14", + "Value": 508, + "Series": "Auto" + }, + { + "Date": "2021-03-24", + "Value": 507, + "Series": "Auto" + }, + { + "Date": "2021-04-04", + "Value": 504, + "Series": "Auto" + }, + { + "Date": "2021-04-15", + "Value": 509, + "Series": "Auto" + }, + { + "Date": "2021-04-26", + "Value": 500, + "Series": "Auto" + }, + { + "Date": "2021-05-07", + "Value": 482, + "Series": "Auto" + }, + { + "Date": "2021-05-18", + "Value": 465, + "Series": "Auto" + }, + { + "Date": "2021-05-29", + "Value": 456, + "Series": "Auto" + }, + { + "Date": "2021-06-09", + "Value": 458, + "Series": "Auto" + }, + { + "Date": "2021-06-20", + "Value": 460, + "Series": "Auto" + }, + { + "Date": "2021-07-01", + "Value": 468, + "Series": "Auto" + }, + { + "Date": "2021-07-12", + "Value": 479, + "Series": "Auto" + }, + { + "Date": "2021-07-23", + "Value": 489, + "Series": "Auto" + }, + { + "Date": "2021-08-03", + "Value": 505, + "Series": "Auto" + }, + { + "Date": "2021-08-14", + "Value": 528, + "Series": "Auto" + }, + { + "Date": "2021-08-25", + "Value": 550, + "Series": "Auto" + }, + { + "Date": "2021-09-05", + "Value": 577, + "Series": "Auto" + }, + { + "Date": "2021-09-16", + "Value": 605, + "Series": "Auto" + }, + { + "Date": "2021-09-27", + "Value": 612, + "Series": "Auto" + }, + { + "Date": "2021-10-08", + "Value": 620, + "Series": "Auto" + }, + { + "Date": "2021-10-19", + "Value": 618, + "Series": "Auto" + }, + { + "Date": "2021-10-29", + "Value": 604, + "Series": "Auto" + }, + { + "Date": "2021-11-09", + "Value": 600, + "Series": "Auto" + }, + { + "Date": "2021-11-20", + "Value": 604, + "Series": "Auto" + }, + { + "Date": "2021-12-01", + "Value": 609, + "Series": "Auto" + }, + { + "Date": "2021-12-12", + "Value": 611, + "Series": "Auto" + }, + { + "Date": "2021-12-23", + "Value": 624, + "Series": "Auto" + }, + { + "Date": "2022-01-03", + "Value": 626, + "Series": "Auto" + }, + { + "Date": "2022-01-14", + "Value": 640, + "Series": "Auto" + }, + { + "Date": "2022-01-25", + "Value": 661, + "Series": "Auto" + }, + { + "Date": "2022-02-05", + "Value": 683, + "Series": "Auto" + }, + { + "Date": "2022-02-16", + "Value": 696, + "Series": "Auto" + }, + { + "Date": "2022-02-27", + "Value": 701, + "Series": "Auto" + }, + { + "Date": "2022-03-10", + "Value": 692, + "Series": "Auto" + }, + { + "Date": "2022-03-21", + "Value": 690, + "Series": "Auto" + }, + { + "Date": "2022-04-01", + "Value": 682, + "Series": "Auto" + }, + { + "Date": "2022-04-12", + "Value": 682, + "Series": "Auto" + }, + { + "Date": "2022-04-23", + "Value": 685, + "Series": "Auto" + }, + { + "Date": "2022-05-04", + "Value": 683, + "Series": "Auto" + }, + { + "Date": "2022-05-15", + "Value": 691, + "Series": "Auto" + }, + { + "Date": "2022-05-26", + "Value": 685, + "Series": "Auto" + }, + { + "Date": "2022-06-05", + "Value": 681, + "Series": "Auto" + }, + { + "Date": "2022-06-16", + "Value": 687, + "Series": "Auto" + }, + { + "Date": "2022-06-27", + "Value": 701, + "Series": "Auto" + }, + { + "Date": "2022-07-08", + "Value": 723, + "Series": "Auto" + }, + { + "Date": "2022-07-19", + "Value": 743, + "Series": "Auto" + }, + { + "Date": "2022-07-30", + "Value": 762, + "Series": "Auto" + }, + { + "Date": "2022-08-10", + "Value": 777, + "Series": "Auto" + }, + { + "Date": "2022-08-21", + "Value": 797, + "Series": "Auto" + }, + { + "Date": "2022-09-01", + "Value": 800, + "Series": "Auto" + }, + { + "Date": "2022-09-12", + "Value": 798, + "Series": "Auto" + }, + { + "Date": "2022-09-23", + "Value": 795, + "Series": "Auto" + }, + { + "Date": "2022-10-04", + "Value": 793, + "Series": "Auto" + }, + { + "Date": "2022-10-15", + "Value": 800, + "Series": "Auto" + }, + { + "Date": "2022-10-26", + "Value": 806, + "Series": "Auto" + }, + { + "Date": "2022-11-06", + "Value": 806, + "Series": "Auto" + }, + { + "Date": "2022-11-17", + "Value": 809, + "Series": "Auto" + }, + { + "Date": "2022-11-28", + "Value": 809, + "Series": "Auto" + }, + { + "Date": "2022-12-09", + "Value": 814, + "Series": "Auto" + }, + { + "Date": "2022-12-20", + "Value": 809, + "Series": "Auto" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/03-card200.flint.json b/test-harness/excel/evaluations/inputs/line-chart/03-card200.flint.json new file mode 100644 index 00000000..ce4f874e --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/03-card200.flint.json @@ -0,0 +1,20023 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 229, + "Series": "Electronics" + }, + { + "Date": "2020-01-06", + "Value": 229, + "Series": "Electronics" + }, + { + "Date": "2020-01-11", + "Value": 226, + "Series": "Electronics" + }, + { + "Date": "2020-01-17", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-01-22", + "Value": 229, + "Series": "Electronics" + }, + { + "Date": "2020-01-28", + "Value": 228, + "Series": "Electronics" + }, + { + "Date": "2020-02-02", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-02-08", + "Value": 227, + "Series": "Electronics" + }, + { + "Date": "2020-02-13", + "Value": 226, + "Series": "Electronics" + }, + { + "Date": "2020-02-19", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-02-24", + "Value": 221, + "Series": "Electronics" + }, + { + "Date": "2020-03-01", + "Value": 218, + "Series": "Electronics" + }, + { + "Date": "2020-03-06", + "Value": 213, + "Series": "Electronics" + }, + { + "Date": "2020-03-12", + "Value": 204, + "Series": "Electronics" + }, + { + "Date": "2020-03-17", + "Value": 201, + "Series": "Electronics" + }, + { + "Date": "2020-03-23", + "Value": 194, + "Series": "Electronics" + }, + { + "Date": "2020-03-28", + "Value": 187, + "Series": "Electronics" + }, + { + "Date": "2020-04-03", + "Value": 181, + "Series": "Electronics" + }, + { + "Date": "2020-04-08", + "Value": 180, + "Series": "Electronics" + }, + { + "Date": "2020-04-14", + "Value": 175, + "Series": "Electronics" + }, + { + "Date": "2020-04-19", + "Value": 172, + "Series": "Electronics" + }, + { + "Date": "2020-04-24", + "Value": 165, + "Series": "Electronics" + }, + { + "Date": "2020-04-30", + "Value": 164, + "Series": "Electronics" + }, + { + "Date": "2020-05-05", + "Value": 158, + "Series": "Electronics" + }, + { + "Date": "2020-05-11", + "Value": 158, + "Series": "Electronics" + }, + { + "Date": "2020-05-16", + "Value": 156, + "Series": "Electronics" + }, + { + "Date": "2020-05-22", + "Value": 155, + "Series": "Electronics" + }, + { + "Date": "2020-05-27", + "Value": 149, + "Series": "Electronics" + }, + { + "Date": "2020-06-02", + "Value": 149, + "Series": "Electronics" + }, + { + "Date": "2020-06-07", + "Value": 151, + "Series": "Electronics" + }, + { + "Date": "2020-06-13", + "Value": 156, + "Series": "Electronics" + }, + { + "Date": "2020-06-18", + "Value": 155, + "Series": "Electronics" + }, + { + "Date": "2020-06-24", + "Value": 159, + "Series": "Electronics" + }, + { + "Date": "2020-06-29", + "Value": 166, + "Series": "Electronics" + }, + { + "Date": "2020-07-05", + "Value": 173, + "Series": "Electronics" + }, + { + "Date": "2020-07-10", + "Value": 175, + "Series": "Electronics" + }, + { + "Date": "2020-07-16", + "Value": 177, + "Series": "Electronics" + }, + { + "Date": "2020-07-21", + "Value": 176, + "Series": "Electronics" + }, + { + "Date": "2020-07-27", + "Value": 179, + "Series": "Electronics" + }, + { + "Date": "2020-08-01", + "Value": 182, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 187, + "Series": "Electronics" + }, + { + "Date": "2020-08-12", + "Value": 191, + "Series": "Electronics" + }, + { + "Date": "2020-08-17", + "Value": 197, + "Series": "Electronics" + }, + { + "Date": "2020-08-23", + "Value": 202, + "Series": "Electronics" + }, + { + "Date": "2020-08-28", + "Value": 208, + "Series": "Electronics" + }, + { + "Date": "2020-09-03", + "Value": 210, + "Series": "Electronics" + }, + { + "Date": "2020-09-08", + "Value": 209, + "Series": "Electronics" + }, + { + "Date": "2020-09-14", + "Value": 208, + "Series": "Electronics" + }, + { + "Date": "2020-09-19", + "Value": 204, + "Series": "Electronics" + }, + { + "Date": "2020-09-25", + "Value": 205, + "Series": "Electronics" + }, + { + "Date": "2020-09-30", + "Value": 209, + "Series": "Electronics" + }, + { + "Date": "2020-10-06", + "Value": 216, + "Series": "Electronics" + }, + { + "Date": "2020-10-11", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2020-10-17", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2020-10-22", + "Value": 221, + "Series": "Electronics" + }, + { + "Date": "2020-10-28", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2020-11-02", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-11-08", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2020-11-13", + "Value": 221, + "Series": "Electronics" + }, + { + "Date": "2020-11-19", + "Value": 218, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 219, + "Series": "Electronics" + }, + { + "Date": "2020-11-29", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-12-05", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-12-10", + "Value": 229, + "Series": "Electronics" + }, + { + "Date": "2020-12-16", + "Value": 229, + "Series": "Electronics" + }, + { + "Date": "2020-12-21", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2020-12-27", + "Value": 220, + "Series": "Electronics" + }, + { + "Date": "2021-01-01", + "Value": 220, + "Series": "Electronics" + }, + { + "Date": "2021-01-07", + "Value": 215, + "Series": "Electronics" + }, + { + "Date": "2021-01-12", + "Value": 216, + "Series": "Electronics" + }, + { + "Date": "2021-01-18", + "Value": 213, + "Series": "Electronics" + }, + { + "Date": "2021-01-23", + "Value": 209, + "Series": "Electronics" + }, + { + "Date": "2021-01-29", + "Value": 210, + "Series": "Electronics" + }, + { + "Date": "2021-02-03", + "Value": 212, + "Series": "Electronics" + }, + { + "Date": "2021-02-09", + "Value": 215, + "Series": "Electronics" + }, + { + "Date": "2021-02-14", + "Value": 220, + "Series": "Electronics" + }, + { + "Date": "2021-02-20", + "Value": 220, + "Series": "Electronics" + }, + { + "Date": "2021-02-25", + "Value": 222, + "Series": "Electronics" + }, + { + "Date": "2021-03-03", + "Value": 224, + "Series": "Electronics" + }, + { + "Date": "2021-03-08", + "Value": 224, + "Series": "Electronics" + }, + { + "Date": "2021-03-14", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2021-03-19", + "Value": 221, + "Series": "Electronics" + }, + { + "Date": "2021-03-24", + "Value": 224, + "Series": "Electronics" + }, + { + "Date": "2021-03-30", + "Value": 222, + "Series": "Electronics" + }, + { + "Date": "2021-04-04", + "Value": 220, + "Series": "Electronics" + }, + { + "Date": "2021-04-10", + "Value": 223, + "Series": "Electronics" + }, + { + "Date": "2021-04-15", + "Value": 225, + "Series": "Electronics" + }, + { + "Date": "2021-04-21", + "Value": 230, + "Series": "Electronics" + }, + { + "Date": "2021-04-26", + "Value": 236, + "Series": "Electronics" + }, + { + "Date": "2021-05-02", + "Value": 243, + "Series": "Electronics" + }, + { + "Date": "2021-05-07", + "Value": 247, + "Series": "Electronics" + }, + { + "Date": "2021-05-13", + "Value": 252, + "Series": "Electronics" + }, + { + "Date": "2021-05-18", + "Value": 260, + "Series": "Electronics" + }, + { + "Date": "2021-05-24", + "Value": 270, + "Series": "Electronics" + }, + { + "Date": "2021-05-29", + "Value": 280, + "Series": "Electronics" + }, + { + "Date": "2021-06-04", + "Value": 290, + "Series": "Electronics" + }, + { + "Date": "2021-06-09", + "Value": 302, + "Series": "Electronics" + }, + { + "Date": "2021-06-15", + "Value": 313, + "Series": "Electronics" + }, + { + "Date": "2021-06-20", + "Value": 321, + "Series": "Electronics" + }, + { + "Date": "2021-06-26", + "Value": 326, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 325, + "Series": "Electronics" + }, + { + "Date": "2021-07-06", + "Value": 327, + "Series": "Electronics" + }, + { + "Date": "2021-07-12", + "Value": 330, + "Series": "Electronics" + }, + { + "Date": "2021-07-17", + "Value": 334, + "Series": "Electronics" + }, + { + "Date": "2021-07-23", + "Value": 334, + "Series": "Electronics" + }, + { + "Date": "2021-07-28", + "Value": 329, + "Series": "Electronics" + }, + { + "Date": "2021-08-03", + "Value": 331, + "Series": "Electronics" + }, + { + "Date": "2021-08-08", + "Value": 337, + "Series": "Electronics" + }, + { + "Date": "2021-08-14", + "Value": 343, + "Series": "Electronics" + }, + { + "Date": "2021-08-19", + "Value": 350, + "Series": "Electronics" + }, + { + "Date": "2021-08-25", + "Value": 350, + "Series": "Electronics" + }, + { + "Date": "2021-08-30", + "Value": 347, + "Series": "Electronics" + }, + { + "Date": "2021-09-05", + "Value": 343, + "Series": "Electronics" + }, + { + "Date": "2021-09-10", + "Value": 337, + "Series": "Electronics" + }, + { + "Date": "2021-09-16", + "Value": 332, + "Series": "Electronics" + }, + { + "Date": "2021-09-21", + "Value": 324, + "Series": "Electronics" + }, + { + "Date": "2021-09-27", + "Value": 322, + "Series": "Electronics" + }, + { + "Date": "2021-10-02", + "Value": 321, + "Series": "Electronics" + }, + { + "Date": "2021-10-08", + "Value": 326, + "Series": "Electronics" + }, + { + "Date": "2021-10-13", + "Value": 328, + "Series": "Electronics" + }, + { + "Date": "2021-10-19", + "Value": 331, + "Series": "Electronics" + }, + { + "Date": "2021-10-24", + "Value": 330, + "Series": "Electronics" + }, + { + "Date": "2021-10-29", + "Value": 328, + "Series": "Electronics" + }, + { + "Date": "2021-11-04", + "Value": 327, + "Series": "Electronics" + }, + { + "Date": "2021-11-09", + "Value": 331, + "Series": "Electronics" + }, + { + "Date": "2021-11-15", + "Value": 333, + "Series": "Electronics" + }, + { + "Date": "2021-11-20", + "Value": 337, + "Series": "Electronics" + }, + { + "Date": "2021-11-26", + "Value": 342, + "Series": "Electronics" + }, + { + "Date": "2021-12-01", + "Value": 346, + "Series": "Electronics" + }, + { + "Date": "2021-12-07", + "Value": 353, + "Series": "Electronics" + }, + { + "Date": "2021-12-12", + "Value": 354, + "Series": "Electronics" + }, + { + "Date": "2021-12-18", + "Value": 352, + "Series": "Electronics" + }, + { + "Date": "2021-12-23", + "Value": 353, + "Series": "Electronics" + }, + { + "Date": "2021-12-29", + "Value": 357, + "Series": "Electronics" + }, + { + "Date": "2022-01-03", + "Value": 355, + "Series": "Electronics" + }, + { + "Date": "2022-01-09", + "Value": 354, + "Series": "Electronics" + }, + { + "Date": "2022-01-14", + "Value": 350, + "Series": "Electronics" + }, + { + "Date": "2022-01-20", + "Value": 352, + "Series": "Electronics" + }, + { + "Date": "2022-01-25", + "Value": 350, + "Series": "Electronics" + }, + { + "Date": "2022-01-31", + "Value": 350, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 352, + "Series": "Electronics" + }, + { + "Date": "2022-02-10", + "Value": 351, + "Series": "Electronics" + }, + { + "Date": "2022-02-16", + "Value": 351, + "Series": "Electronics" + }, + { + "Date": "2022-02-21", + "Value": 349, + "Series": "Electronics" + }, + { + "Date": "2022-02-27", + "Value": 353, + "Series": "Electronics" + }, + { + "Date": "2022-03-04", + "Value": 359, + "Series": "Electronics" + }, + { + "Date": "2022-03-10", + "Value": 363, + "Series": "Electronics" + }, + { + "Date": "2022-03-15", + "Value": 365, + "Series": "Electronics" + }, + { + "Date": "2022-03-21", + "Value": 369, + "Series": "Electronics" + }, + { + "Date": "2022-03-26", + "Value": 373, + "Series": "Electronics" + }, + { + "Date": "2022-04-01", + "Value": 376, + "Series": "Electronics" + }, + { + "Date": "2022-04-06", + "Value": 374, + "Series": "Electronics" + }, + { + "Date": "2022-04-12", + "Value": 372, + "Series": "Electronics" + }, + { + "Date": "2022-04-17", + "Value": 371, + "Series": "Electronics" + }, + { + "Date": "2022-04-23", + "Value": 368, + "Series": "Electronics" + }, + { + "Date": "2022-04-28", + "Value": 362, + "Series": "Electronics" + }, + { + "Date": "2022-05-04", + "Value": 362, + "Series": "Electronics" + }, + { + "Date": "2022-05-09", + "Value": 364, + "Series": "Electronics" + }, + { + "Date": "2022-05-15", + "Value": 368, + "Series": "Electronics" + }, + { + "Date": "2022-05-20", + "Value": 370, + "Series": "Electronics" + }, + { + "Date": "2022-05-26", + "Value": 372, + "Series": "Electronics" + }, + { + "Date": "2022-05-31", + "Value": 374, + "Series": "Electronics" + }, + { + "Date": "2022-06-05", + "Value": 371, + "Series": "Electronics" + }, + { + "Date": "2022-06-11", + "Value": 366, + "Series": "Electronics" + }, + { + "Date": "2022-06-16", + "Value": 366, + "Series": "Electronics" + }, + { + "Date": "2022-06-22", + "Value": 365, + "Series": "Electronics" + }, + { + "Date": "2022-06-27", + "Value": 360, + "Series": "Electronics" + }, + { + "Date": "2022-07-03", + "Value": 352, + "Series": "Electronics" + }, + { + "Date": "2022-07-08", + "Value": 350, + "Series": "Electronics" + }, + { + "Date": "2022-07-14", + "Value": 351, + "Series": "Electronics" + }, + { + "Date": "2022-07-19", + "Value": 349, + "Series": "Electronics" + }, + { + "Date": "2022-07-25", + "Value": 349, + "Series": "Electronics" + }, + { + "Date": "2022-07-30", + "Value": 350, + "Series": "Electronics" + }, + { + "Date": "2022-08-05", + "Value": 356, + "Series": "Electronics" + }, + { + "Date": "2022-08-10", + "Value": 356, + "Series": "Electronics" + }, + { + "Date": "2022-08-16", + "Value": 360, + "Series": "Electronics" + }, + { + "Date": "2022-08-21", + "Value": 363, + "Series": "Electronics" + }, + { + "Date": "2022-08-27", + "Value": 367, + "Series": "Electronics" + }, + { + "Date": "2022-09-01", + "Value": 375, + "Series": "Electronics" + }, + { + "Date": "2022-09-07", + "Value": 382, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 391, + "Series": "Electronics" + }, + { + "Date": "2022-09-17", + "Value": 401, + "Series": "Electronics" + }, + { + "Date": "2022-09-23", + "Value": 408, + "Series": "Electronics" + }, + { + "Date": "2022-09-28", + "Value": 408, + "Series": "Electronics" + }, + { + "Date": "2022-10-04", + "Value": 413, + "Series": "Electronics" + }, + { + "Date": "2022-10-09", + "Value": 418, + "Series": "Electronics" + }, + { + "Date": "2022-10-15", + "Value": 420, + "Series": "Electronics" + }, + { + "Date": "2022-10-20", + "Value": 423, + "Series": "Electronics" + }, + { + "Date": "2022-10-26", + "Value": 421, + "Series": "Electronics" + }, + { + "Date": "2022-10-31", + "Value": 418, + "Series": "Electronics" + }, + { + "Date": "2022-11-06", + "Value": 414, + "Series": "Electronics" + }, + { + "Date": "2022-11-11", + "Value": 413, + "Series": "Electronics" + }, + { + "Date": "2022-11-17", + "Value": 412, + "Series": "Electronics" + }, + { + "Date": "2022-11-22", + "Value": 412, + "Series": "Electronics" + }, + { + "Date": "2022-11-28", + "Value": 409, + "Series": "Electronics" + }, + { + "Date": "2022-12-03", + "Value": 409, + "Series": "Electronics" + }, + { + "Date": "2022-12-09", + "Value": 408, + "Series": "Electronics" + }, + { + "Date": "2022-12-14", + "Value": 404, + "Series": "Electronics" + }, + { + "Date": "2022-12-20", + "Value": 397, + "Series": "Electronics" + }, + { + "Date": "2022-12-25", + "Value": 391, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 143, + "Series": "Clothing" + }, + { + "Date": "2020-01-06", + "Value": 142, + "Series": "Clothing" + }, + { + "Date": "2020-01-11", + "Value": 143, + "Series": "Clothing" + }, + { + "Date": "2020-01-17", + "Value": 134, + "Series": "Clothing" + }, + { + "Date": "2020-01-22", + "Value": 141, + "Series": "Clothing" + }, + { + "Date": "2020-01-28", + "Value": 159, + "Series": "Clothing" + }, + { + "Date": "2020-02-02", + "Value": 173, + "Series": "Clothing" + }, + { + "Date": "2020-02-08", + "Value": 183, + "Series": "Clothing" + }, + { + "Date": "2020-02-13", + "Value": 190, + "Series": "Clothing" + }, + { + "Date": "2020-02-19", + "Value": 181, + "Series": "Clothing" + }, + { + "Date": "2020-02-24", + "Value": 183, + "Series": "Clothing" + }, + { + "Date": "2020-03-01", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2020-03-06", + "Value": 189, + "Series": "Clothing" + }, + { + "Date": "2020-03-12", + "Value": 200, + "Series": "Clothing" + }, + { + "Date": "2020-03-17", + "Value": 214, + "Series": "Clothing" + }, + { + "Date": "2020-03-23", + "Value": 235, + "Series": "Clothing" + }, + { + "Date": "2020-03-28", + "Value": 242, + "Series": "Clothing" + }, + { + "Date": "2020-04-03", + "Value": 240, + "Series": "Clothing" + }, + { + "Date": "2020-04-08", + "Value": 234, + "Series": "Clothing" + }, + { + "Date": "2020-04-14", + "Value": 229, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 238, + "Series": "Clothing" + }, + { + "Date": "2020-04-24", + "Value": 235, + "Series": "Clothing" + }, + { + "Date": "2020-04-30", + "Value": 245, + "Series": "Clothing" + }, + { + "Date": "2020-05-05", + "Value": 249, + "Series": "Clothing" + }, + { + "Date": "2020-05-11", + "Value": 247, + "Series": "Clothing" + }, + { + "Date": "2020-05-16", + "Value": 233, + "Series": "Clothing" + }, + { + "Date": "2020-05-22", + "Value": 225, + "Series": "Clothing" + }, + { + "Date": "2020-05-27", + "Value": 224, + "Series": "Clothing" + }, + { + "Date": "2020-06-02", + "Value": 225, + "Series": "Clothing" + }, + { + "Date": "2020-06-07", + "Value": 226, + "Series": "Clothing" + }, + { + "Date": "2020-06-13", + "Value": 218, + "Series": "Clothing" + }, + { + "Date": "2020-06-18", + "Value": 200, + "Series": "Clothing" + }, + { + "Date": "2020-06-24", + "Value": 187, + "Series": "Clothing" + }, + { + "Date": "2020-06-29", + "Value": 175, + "Series": "Clothing" + }, + { + "Date": "2020-07-05", + "Value": 169, + "Series": "Clothing" + }, + { + "Date": "2020-07-10", + "Value": 178, + "Series": "Clothing" + }, + { + "Date": "2020-07-16", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2020-07-21", + "Value": 197, + "Series": "Clothing" + }, + { + "Date": "2020-07-27", + "Value": 203, + "Series": "Clothing" + }, + { + "Date": "2020-08-01", + "Value": 219, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 243, + "Series": "Clothing" + }, + { + "Date": "2020-08-12", + "Value": 264, + "Series": "Clothing" + }, + { + "Date": "2020-08-17", + "Value": 269, + "Series": "Clothing" + }, + { + "Date": "2020-08-23", + "Value": 260, + "Series": "Clothing" + }, + { + "Date": "2020-08-28", + "Value": 250, + "Series": "Clothing" + }, + { + "Date": "2020-09-03", + "Value": 235, + "Series": "Clothing" + }, + { + "Date": "2020-09-08", + "Value": 232, + "Series": "Clothing" + }, + { + "Date": "2020-09-14", + "Value": 220, + "Series": "Clothing" + }, + { + "Date": "2020-09-19", + "Value": 202, + "Series": "Clothing" + }, + { + "Date": "2020-09-25", + "Value": 195, + "Series": "Clothing" + }, + { + "Date": "2020-09-30", + "Value": 200, + "Series": "Clothing" + }, + { + "Date": "2020-10-06", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2020-10-11", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2020-10-17", + "Value": 183, + "Series": "Clothing" + }, + { + "Date": "2020-10-22", + "Value": 173, + "Series": "Clothing" + }, + { + "Date": "2020-10-28", + "Value": 173, + "Series": "Clothing" + }, + { + "Date": "2020-11-02", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2020-11-08", + "Value": 188, + "Series": "Clothing" + }, + { + "Date": "2020-11-13", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2020-11-19", + "Value": 188, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 198, + "Series": "Clothing" + }, + { + "Date": "2020-11-29", + "Value": 194, + "Series": "Clothing" + }, + { + "Date": "2020-12-05", + "Value": 186, + "Series": "Clothing" + }, + { + "Date": "2020-12-10", + "Value": 180, + "Series": "Clothing" + }, + { + "Date": "2020-12-16", + "Value": 166, + "Series": "Clothing" + }, + { + "Date": "2020-12-21", + "Value": 171, + "Series": "Clothing" + }, + { + "Date": "2020-12-27", + "Value": 173, + "Series": "Clothing" + }, + { + "Date": "2021-01-01", + "Value": 188, + "Series": "Clothing" + }, + { + "Date": "2021-01-07", + "Value": 209, + "Series": "Clothing" + }, + { + "Date": "2021-01-12", + "Value": 237, + "Series": "Clothing" + }, + { + "Date": "2021-01-18", + "Value": 254, + "Series": "Clothing" + }, + { + "Date": "2021-01-23", + "Value": 264, + "Series": "Clothing" + }, + { + "Date": "2021-01-29", + "Value": 277, + "Series": "Clothing" + }, + { + "Date": "2021-02-03", + "Value": 272, + "Series": "Clothing" + }, + { + "Date": "2021-02-09", + "Value": 282, + "Series": "Clothing" + }, + { + "Date": "2021-02-14", + "Value": 285, + "Series": "Clothing" + }, + { + "Date": "2021-02-20", + "Value": 280, + "Series": "Clothing" + }, + { + "Date": "2021-02-25", + "Value": 280, + "Series": "Clothing" + }, + { + "Date": "2021-03-03", + "Value": 289, + "Series": "Clothing" + }, + { + "Date": "2021-03-08", + "Value": 304, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 302, + "Series": "Clothing" + }, + { + "Date": "2021-03-19", + "Value": 311, + "Series": "Clothing" + }, + { + "Date": "2021-03-24", + "Value": 303, + "Series": "Clothing" + }, + { + "Date": "2021-03-30", + "Value": 289, + "Series": "Clothing" + }, + { + "Date": "2021-04-04", + "Value": 272, + "Series": "Clothing" + }, + { + "Date": "2021-04-10", + "Value": 269, + "Series": "Clothing" + }, + { + "Date": "2021-04-15", + "Value": 280, + "Series": "Clothing" + }, + { + "Date": "2021-04-21", + "Value": 291, + "Series": "Clothing" + }, + { + "Date": "2021-04-26", + "Value": 291, + "Series": "Clothing" + }, + { + "Date": "2021-05-02", + "Value": 294, + "Series": "Clothing" + }, + { + "Date": "2021-05-07", + "Value": 305, + "Series": "Clothing" + }, + { + "Date": "2021-05-13", + "Value": 320, + "Series": "Clothing" + }, + { + "Date": "2021-05-18", + "Value": 323, + "Series": "Clothing" + }, + { + "Date": "2021-05-24", + "Value": 318, + "Series": "Clothing" + }, + { + "Date": "2021-05-29", + "Value": 313, + "Series": "Clothing" + }, + { + "Date": "2021-06-04", + "Value": 299, + "Series": "Clothing" + }, + { + "Date": "2021-06-09", + "Value": 294, + "Series": "Clothing" + }, + { + "Date": "2021-06-15", + "Value": 276, + "Series": "Clothing" + }, + { + "Date": "2021-06-20", + "Value": 257, + "Series": "Clothing" + }, + { + "Date": "2021-06-26", + "Value": 243, + "Series": "Clothing" + }, + { + "Date": "2021-07-01", + "Value": 239, + "Series": "Clothing" + }, + { + "Date": "2021-07-06", + "Value": 248, + "Series": "Clothing" + }, + { + "Date": "2021-07-12", + "Value": 250, + "Series": "Clothing" + }, + { + "Date": "2021-07-17", + "Value": 261, + "Series": "Clothing" + }, + { + "Date": "2021-07-23", + "Value": 277, + "Series": "Clothing" + }, + { + "Date": "2021-07-28", + "Value": 286, + "Series": "Clothing" + }, + { + "Date": "2021-08-03", + "Value": 281, + "Series": "Clothing" + }, + { + "Date": "2021-08-08", + "Value": 277, + "Series": "Clothing" + }, + { + "Date": "2021-08-14", + "Value": 284, + "Series": "Clothing" + }, + { + "Date": "2021-08-19", + "Value": 287, + "Series": "Clothing" + }, + { + "Date": "2021-08-25", + "Value": 284, + "Series": "Clothing" + }, + { + "Date": "2021-08-30", + "Value": 269, + "Series": "Clothing" + }, + { + "Date": "2021-09-05", + "Value": 251, + "Series": "Clothing" + }, + { + "Date": "2021-09-10", + "Value": 235, + "Series": "Clothing" + }, + { + "Date": "2021-09-16", + "Value": 220, + "Series": "Clothing" + }, + { + "Date": "2021-09-21", + "Value": 217, + "Series": "Clothing" + }, + { + "Date": "2021-09-27", + "Value": 229, + "Series": "Clothing" + }, + { + "Date": "2021-10-02", + "Value": 248, + "Series": "Clothing" + }, + { + "Date": "2021-10-08", + "Value": 273, + "Series": "Clothing" + }, + { + "Date": "2021-10-13", + "Value": 290, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 292, + "Series": "Clothing" + }, + { + "Date": "2021-10-24", + "Value": 282, + "Series": "Clothing" + }, + { + "Date": "2021-10-29", + "Value": 272, + "Series": "Clothing" + }, + { + "Date": "2021-11-04", + "Value": 254, + "Series": "Clothing" + }, + { + "Date": "2021-11-09", + "Value": 230, + "Series": "Clothing" + }, + { + "Date": "2021-11-15", + "Value": 220, + "Series": "Clothing" + }, + { + "Date": "2021-11-20", + "Value": 203, + "Series": "Clothing" + }, + { + "Date": "2021-11-26", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2021-12-01", + "Value": 155, + "Series": "Clothing" + }, + { + "Date": "2021-12-07", + "Value": 131, + "Series": "Clothing" + }, + { + "Date": "2021-12-12", + "Value": 120, + "Series": "Clothing" + }, + { + "Date": "2021-12-18", + "Value": 104, + "Series": "Clothing" + }, + { + "Date": "2021-12-23", + "Value": 88, + "Series": "Clothing" + }, + { + "Date": "2021-12-29", + "Value": 91, + "Series": "Clothing" + }, + { + "Date": "2022-01-03", + "Value": 96, + "Series": "Clothing" + }, + { + "Date": "2022-01-09", + "Value": 87, + "Series": "Clothing" + }, + { + "Date": "2022-01-14", + "Value": 89, + "Series": "Clothing" + }, + { + "Date": "2022-01-20", + "Value": 96, + "Series": "Clothing" + }, + { + "Date": "2022-01-25", + "Value": 90, + "Series": "Clothing" + }, + { + "Date": "2022-01-31", + "Value": 80, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 75, + "Series": "Clothing" + }, + { + "Date": "2022-02-10", + "Value": 74, + "Series": "Clothing" + }, + { + "Date": "2022-02-16", + "Value": 82, + "Series": "Clothing" + }, + { + "Date": "2022-02-21", + "Value": 77, + "Series": "Clothing" + }, + { + "Date": "2022-02-27", + "Value": 77, + "Series": "Clothing" + }, + { + "Date": "2022-03-04", + "Value": 85, + "Series": "Clothing" + }, + { + "Date": "2022-03-10", + "Value": 102, + "Series": "Clothing" + }, + { + "Date": "2022-03-15", + "Value": 116, + "Series": "Clothing" + }, + { + "Date": "2022-03-21", + "Value": 129, + "Series": "Clothing" + }, + { + "Date": "2022-03-26", + "Value": 138, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 159, + "Series": "Clothing" + }, + { + "Date": "2022-04-06", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2022-04-12", + "Value": 206, + "Series": "Clothing" + }, + { + "Date": "2022-04-17", + "Value": 218, + "Series": "Clothing" + }, + { + "Date": "2022-04-23", + "Value": 233, + "Series": "Clothing" + }, + { + "Date": "2022-04-28", + "Value": 240, + "Series": "Clothing" + }, + { + "Date": "2022-05-04", + "Value": 249, + "Series": "Clothing" + }, + { + "Date": "2022-05-09", + "Value": 241, + "Series": "Clothing" + }, + { + "Date": "2022-05-15", + "Value": 230, + "Series": "Clothing" + }, + { + "Date": "2022-05-20", + "Value": 213, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 201, + "Series": "Clothing" + }, + { + "Date": "2022-05-31", + "Value": 198, + "Series": "Clothing" + }, + { + "Date": "2022-06-05", + "Value": 186, + "Series": "Clothing" + }, + { + "Date": "2022-06-11", + "Value": 188, + "Series": "Clothing" + }, + { + "Date": "2022-06-16", + "Value": 190, + "Series": "Clothing" + }, + { + "Date": "2022-06-22", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2022-06-27", + "Value": 198, + "Series": "Clothing" + }, + { + "Date": "2022-07-03", + "Value": 215, + "Series": "Clothing" + }, + { + "Date": "2022-07-08", + "Value": 213, + "Series": "Clothing" + }, + { + "Date": "2022-07-14", + "Value": 209, + "Series": "Clothing" + }, + { + "Date": "2022-07-19", + "Value": 194, + "Series": "Clothing" + }, + { + "Date": "2022-07-25", + "Value": 193, + "Series": "Clothing" + }, + { + "Date": "2022-07-30", + "Value": 194, + "Series": "Clothing" + }, + { + "Date": "2022-08-05", + "Value": 194, + "Series": "Clothing" + }, + { + "Date": "2022-08-10", + "Value": 188, + "Series": "Clothing" + }, + { + "Date": "2022-08-16", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2022-08-21", + "Value": 206, + "Series": "Clothing" + }, + { + "Date": "2022-08-27", + "Value": 225, + "Series": "Clothing" + }, + { + "Date": "2022-09-01", + "Value": 252, + "Series": "Clothing" + }, + { + "Date": "2022-09-07", + "Value": 276, + "Series": "Clothing" + }, + { + "Date": "2022-09-12", + "Value": 292, + "Series": "Clothing" + }, + { + "Date": "2022-09-17", + "Value": 290, + "Series": "Clothing" + }, + { + "Date": "2022-09-23", + "Value": 280, + "Series": "Clothing" + }, + { + "Date": "2022-09-28", + "Value": 273, + "Series": "Clothing" + }, + { + "Date": "2022-10-04", + "Value": 259, + "Series": "Clothing" + }, + { + "Date": "2022-10-09", + "Value": 242, + "Series": "Clothing" + }, + { + "Date": "2022-10-15", + "Value": 218, + "Series": "Clothing" + }, + { + "Date": "2022-10-20", + "Value": 206, + "Series": "Clothing" + }, + { + "Date": "2022-10-26", + "Value": 190, + "Series": "Clothing" + }, + { + "Date": "2022-10-31", + "Value": 170, + "Series": "Clothing" + }, + { + "Date": "2022-11-06", + "Value": 153, + "Series": "Clothing" + }, + { + "Date": "2022-11-11", + "Value": 143, + "Series": "Clothing" + }, + { + "Date": "2022-11-17", + "Value": 131, + "Series": "Clothing" + }, + { + "Date": "2022-11-22", + "Value": 114, + "Series": "Clothing" + }, + { + "Date": "2022-11-28", + "Value": 107, + "Series": "Clothing" + }, + { + "Date": "2022-12-03", + "Value": 95, + "Series": "Clothing" + }, + { + "Date": "2022-12-09", + "Value": 85, + "Series": "Clothing" + }, + { + "Date": "2022-12-14", + "Value": 84, + "Series": "Clothing" + }, + { + "Date": "2022-12-20", + "Value": 89, + "Series": "Clothing" + }, + { + "Date": "2022-12-25", + "Value": 87, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 109, + "Series": "Food" + }, + { + "Date": "2020-01-06", + "Value": 100, + "Series": "Food" + }, + { + "Date": "2020-01-11", + "Value": 97, + "Series": "Food" + }, + { + "Date": "2020-01-17", + "Value": 101, + "Series": "Food" + }, + { + "Date": "2020-01-22", + "Value": 112, + "Series": "Food" + }, + { + "Date": "2020-01-28", + "Value": 119, + "Series": "Food" + }, + { + "Date": "2020-02-02", + "Value": 125, + "Series": "Food" + }, + { + "Date": "2020-02-08", + "Value": 124, + "Series": "Food" + }, + { + "Date": "2020-02-13", + "Value": 126, + "Series": "Food" + }, + { + "Date": "2020-02-19", + "Value": 136, + "Series": "Food" + }, + { + "Date": "2020-02-24", + "Value": 150, + "Series": "Food" + }, + { + "Date": "2020-03-01", + "Value": 157, + "Series": "Food" + }, + { + "Date": "2020-03-06", + "Value": 153, + "Series": "Food" + }, + { + "Date": "2020-03-12", + "Value": 140, + "Series": "Food" + }, + { + "Date": "2020-03-17", + "Value": 129, + "Series": "Food" + }, + { + "Date": "2020-03-23", + "Value": 121, + "Series": "Food" + }, + { + "Date": "2020-03-28", + "Value": 121, + "Series": "Food" + }, + { + "Date": "2020-04-03", + "Value": 116, + "Series": "Food" + }, + { + "Date": "2020-04-08", + "Value": 120, + "Series": "Food" + }, + { + "Date": "2020-04-14", + "Value": 118, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 123, + "Series": "Food" + }, + { + "Date": "2020-04-24", + "Value": 133, + "Series": "Food" + }, + { + "Date": "2020-04-30", + "Value": 145, + "Series": "Food" + }, + { + "Date": "2020-05-05", + "Value": 149, + "Series": "Food" + }, + { + "Date": "2020-05-11", + "Value": 144, + "Series": "Food" + }, + { + "Date": "2020-05-16", + "Value": 135, + "Series": "Food" + }, + { + "Date": "2020-05-22", + "Value": 126, + "Series": "Food" + }, + { + "Date": "2020-05-27", + "Value": 124, + "Series": "Food" + }, + { + "Date": "2020-06-02", + "Value": 128, + "Series": "Food" + }, + { + "Date": "2020-06-07", + "Value": 123, + "Series": "Food" + }, + { + "Date": "2020-06-13", + "Value": 120, + "Series": "Food" + }, + { + "Date": "2020-06-18", + "Value": 123, + "Series": "Food" + }, + { + "Date": "2020-06-24", + "Value": 122, + "Series": "Food" + }, + { + "Date": "2020-06-29", + "Value": 130, + "Series": "Food" + }, + { + "Date": "2020-07-05", + "Value": 130, + "Series": "Food" + }, + { + "Date": "2020-07-10", + "Value": 125, + "Series": "Food" + }, + { + "Date": "2020-07-16", + "Value": 129, + "Series": "Food" + }, + { + "Date": "2020-07-21", + "Value": 136, + "Series": "Food" + }, + { + "Date": "2020-07-27", + "Value": 150, + "Series": "Food" + }, + { + "Date": "2020-08-01", + "Value": 169, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 181, + "Series": "Food" + }, + { + "Date": "2020-08-12", + "Value": 183, + "Series": "Food" + }, + { + "Date": "2020-08-17", + "Value": 183, + "Series": "Food" + }, + { + "Date": "2020-08-23", + "Value": 183, + "Series": "Food" + }, + { + "Date": "2020-08-28", + "Value": 186, + "Series": "Food" + }, + { + "Date": "2020-09-03", + "Value": 180, + "Series": "Food" + }, + { + "Date": "2020-09-08", + "Value": 184, + "Series": "Food" + }, + { + "Date": "2020-09-14", + "Value": 186, + "Series": "Food" + }, + { + "Date": "2020-09-19", + "Value": 187, + "Series": "Food" + }, + { + "Date": "2020-09-25", + "Value": 186, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 190, + "Series": "Food" + }, + { + "Date": "2020-10-06", + "Value": 190, + "Series": "Food" + }, + { + "Date": "2020-10-11", + "Value": 181, + "Series": "Food" + }, + { + "Date": "2020-10-17", + "Value": 170, + "Series": "Food" + }, + { + "Date": "2020-10-22", + "Value": 156, + "Series": "Food" + }, + { + "Date": "2020-10-28", + "Value": 139, + "Series": "Food" + }, + { + "Date": "2020-11-02", + "Value": 126, + "Series": "Food" + }, + { + "Date": "2020-11-08", + "Value": 119, + "Series": "Food" + }, + { + "Date": "2020-11-13", + "Value": 118, + "Series": "Food" + }, + { + "Date": "2020-11-19", + "Value": 114, + "Series": "Food" + }, + { + "Date": "2020-11-24", + "Value": 116, + "Series": "Food" + }, + { + "Date": "2020-11-29", + "Value": 124, + "Series": "Food" + }, + { + "Date": "2020-12-05", + "Value": 127, + "Series": "Food" + }, + { + "Date": "2020-12-10", + "Value": 131, + "Series": "Food" + }, + { + "Date": "2020-12-16", + "Value": 125, + "Series": "Food" + }, + { + "Date": "2020-12-21", + "Value": 129, + "Series": "Food" + }, + { + "Date": "2020-12-27", + "Value": 131, + "Series": "Food" + }, + { + "Date": "2021-01-01", + "Value": 135, + "Series": "Food" + }, + { + "Date": "2021-01-07", + "Value": 142, + "Series": "Food" + }, + { + "Date": "2021-01-12", + "Value": 150, + "Series": "Food" + }, + { + "Date": "2021-01-18", + "Value": 157, + "Series": "Food" + }, + { + "Date": "2021-01-23", + "Value": 156, + "Series": "Food" + }, + { + "Date": "2021-01-29", + "Value": 152, + "Series": "Food" + }, + { + "Date": "2021-02-03", + "Value": 159, + "Series": "Food" + }, + { + "Date": "2021-02-09", + "Value": 166, + "Series": "Food" + }, + { + "Date": "2021-02-14", + "Value": 171, + "Series": "Food" + }, + { + "Date": "2021-02-20", + "Value": 166, + "Series": "Food" + }, + { + "Date": "2021-02-25", + "Value": 158, + "Series": "Food" + }, + { + "Date": "2021-03-03", + "Value": 154, + "Series": "Food" + }, + { + "Date": "2021-03-08", + "Value": 146, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 136, + "Series": "Food" + }, + { + "Date": "2021-03-19", + "Value": 136, + "Series": "Food" + }, + { + "Date": "2021-03-24", + "Value": 129, + "Series": "Food" + }, + { + "Date": "2021-03-30", + "Value": 126, + "Series": "Food" + }, + { + "Date": "2021-04-04", + "Value": 117, + "Series": "Food" + }, + { + "Date": "2021-04-10", + "Value": 106, + "Series": "Food" + }, + { + "Date": "2021-04-15", + "Value": 105, + "Series": "Food" + }, + { + "Date": "2021-04-21", + "Value": 109, + "Series": "Food" + }, + { + "Date": "2021-04-26", + "Value": 112, + "Series": "Food" + }, + { + "Date": "2021-05-02", + "Value": 120, + "Series": "Food" + }, + { + "Date": "2021-05-07", + "Value": 127, + "Series": "Food" + }, + { + "Date": "2021-05-13", + "Value": 132, + "Series": "Food" + }, + { + "Date": "2021-05-18", + "Value": 134, + "Series": "Food" + }, + { + "Date": "2021-05-24", + "Value": 145, + "Series": "Food" + }, + { + "Date": "2021-05-29", + "Value": 148, + "Series": "Food" + }, + { + "Date": "2021-06-04", + "Value": 151, + "Series": "Food" + }, + { + "Date": "2021-06-09", + "Value": 157, + "Series": "Food" + }, + { + "Date": "2021-06-15", + "Value": 156, + "Series": "Food" + }, + { + "Date": "2021-06-20", + "Value": 146, + "Series": "Food" + }, + { + "Date": "2021-06-26", + "Value": 145, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 142, + "Series": "Food" + }, + { + "Date": "2021-07-06", + "Value": 149, + "Series": "Food" + }, + { + "Date": "2021-07-12", + "Value": 159, + "Series": "Food" + }, + { + "Date": "2021-07-17", + "Value": 157, + "Series": "Food" + }, + { + "Date": "2021-07-23", + "Value": 159, + "Series": "Food" + }, + { + "Date": "2021-07-28", + "Value": 157, + "Series": "Food" + }, + { + "Date": "2021-08-03", + "Value": 148, + "Series": "Food" + }, + { + "Date": "2021-08-08", + "Value": 147, + "Series": "Food" + }, + { + "Date": "2021-08-14", + "Value": 140, + "Series": "Food" + }, + { + "Date": "2021-08-19", + "Value": 145, + "Series": "Food" + }, + { + "Date": "2021-08-25", + "Value": 144, + "Series": "Food" + }, + { + "Date": "2021-08-30", + "Value": 143, + "Series": "Food" + }, + { + "Date": "2021-09-05", + "Value": 135, + "Series": "Food" + }, + { + "Date": "2021-09-10", + "Value": 120, + "Series": "Food" + }, + { + "Date": "2021-09-16", + "Value": 100, + "Series": "Food" + }, + { + "Date": "2021-09-21", + "Value": 88, + "Series": "Food" + }, + { + "Date": "2021-09-27", + "Value": 86, + "Series": "Food" + }, + { + "Date": "2021-10-02", + "Value": 88, + "Series": "Food" + }, + { + "Date": "2021-10-08", + "Value": 89, + "Series": "Food" + }, + { + "Date": "2021-10-13", + "Value": 85, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 81, + "Series": "Food" + }, + { + "Date": "2021-10-24", + "Value": 76, + "Series": "Food" + }, + { + "Date": "2021-10-29", + "Value": 80, + "Series": "Food" + }, + { + "Date": "2021-11-04", + "Value": 88, + "Series": "Food" + }, + { + "Date": "2021-11-09", + "Value": 87, + "Series": "Food" + }, + { + "Date": "2021-11-15", + "Value": 79, + "Series": "Food" + }, + { + "Date": "2021-11-20", + "Value": 82, + "Series": "Food" + }, + { + "Date": "2021-11-26", + "Value": 82, + "Series": "Food" + }, + { + "Date": "2021-12-01", + "Value": 74, + "Series": "Food" + }, + { + "Date": "2021-12-07", + "Value": 63, + "Series": "Food" + }, + { + "Date": "2021-12-12", + "Value": 61, + "Series": "Food" + }, + { + "Date": "2021-12-18", + "Value": 68, + "Series": "Food" + }, + { + "Date": "2021-12-23", + "Value": 66, + "Series": "Food" + }, + { + "Date": "2021-12-29", + "Value": 58, + "Series": "Food" + }, + { + "Date": "2022-01-03", + "Value": 60, + "Series": "Food" + }, + { + "Date": "2022-01-09", + "Value": 65, + "Series": "Food" + }, + { + "Date": "2022-01-14", + "Value": 76, + "Series": "Food" + }, + { + "Date": "2022-01-20", + "Value": 77, + "Series": "Food" + }, + { + "Date": "2022-01-25", + "Value": 81, + "Series": "Food" + }, + { + "Date": "2022-01-31", + "Value": 75, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 64, + "Series": "Food" + }, + { + "Date": "2022-02-10", + "Value": 49, + "Series": "Food" + }, + { + "Date": "2022-02-16", + "Value": 48, + "Series": "Food" + }, + { + "Date": "2022-02-21", + "Value": 53, + "Series": "Food" + }, + { + "Date": "2022-02-27", + "Value": 65, + "Series": "Food" + }, + { + "Date": "2022-03-04", + "Value": 81, + "Series": "Food" + }, + { + "Date": "2022-03-10", + "Value": 90, + "Series": "Food" + }, + { + "Date": "2022-03-15", + "Value": 88, + "Series": "Food" + }, + { + "Date": "2022-03-21", + "Value": 92, + "Series": "Food" + }, + { + "Date": "2022-03-26", + "Value": 101, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 99, + "Series": "Food" + }, + { + "Date": "2022-04-06", + "Value": 102, + "Series": "Food" + }, + { + "Date": "2022-04-12", + "Value": 98, + "Series": "Food" + }, + { + "Date": "2022-04-17", + "Value": 99, + "Series": "Food" + }, + { + "Date": "2022-04-23", + "Value": 93, + "Series": "Food" + }, + { + "Date": "2022-04-28", + "Value": 89, + "Series": "Food" + }, + { + "Date": "2022-05-04", + "Value": 94, + "Series": "Food" + }, + { + "Date": "2022-05-09", + "Value": 99, + "Series": "Food" + }, + { + "Date": "2022-05-15", + "Value": 94, + "Series": "Food" + }, + { + "Date": "2022-05-20", + "Value": 90, + "Series": "Food" + }, + { + "Date": "2022-05-26", + "Value": 79, + "Series": "Food" + }, + { + "Date": "2022-05-31", + "Value": 62, + "Series": "Food" + }, + { + "Date": "2022-06-05", + "Value": 53, + "Series": "Food" + }, + { + "Date": "2022-06-11", + "Value": 54, + "Series": "Food" + }, + { + "Date": "2022-06-16", + "Value": 46, + "Series": "Food" + }, + { + "Date": "2022-06-22", + "Value": 40, + "Series": "Food" + }, + { + "Date": "2022-06-27", + "Value": 33, + "Series": "Food" + }, + { + "Date": "2022-07-03", + "Value": 25, + "Series": "Food" + }, + { + "Date": "2022-07-08", + "Value": 15, + "Series": "Food" + }, + { + "Date": "2022-07-14", + "Value": 13, + "Series": "Food" + }, + { + "Date": "2022-07-19", + "Value": 4, + "Series": "Food" + }, + { + "Date": "2022-07-25", + "Value": 0, + "Series": "Food" + }, + { + "Date": "2022-07-30", + "Value": 0, + "Series": "Food" + }, + { + "Date": "2022-08-05", + "Value": 0, + "Series": "Food" + }, + { + "Date": "2022-08-10", + "Value": 0, + "Series": "Food" + }, + { + "Date": "2022-08-16", + "Value": 0, + "Series": "Food" + }, + { + "Date": "2022-08-21", + "Value": 0, + "Series": "Food" + }, + { + "Date": "2022-08-27", + "Value": 2, + "Series": "Food" + }, + { + "Date": "2022-09-01", + "Value": 13, + "Series": "Food" + }, + { + "Date": "2022-09-07", + "Value": 15, + "Series": "Food" + }, + { + "Date": "2022-09-12", + "Value": 25, + "Series": "Food" + }, + { + "Date": "2022-09-17", + "Value": 23, + "Series": "Food" + }, + { + "Date": "2022-09-23", + "Value": 22, + "Series": "Food" + }, + { + "Date": "2022-09-28", + "Value": 19, + "Series": "Food" + }, + { + "Date": "2022-10-04", + "Value": 13, + "Series": "Food" + }, + { + "Date": "2022-10-09", + "Value": 13, + "Series": "Food" + }, + { + "Date": "2022-10-15", + "Value": 8, + "Series": "Food" + }, + { + "Date": "2022-10-20", + "Value": 11, + "Series": "Food" + }, + { + "Date": "2022-10-26", + "Value": 20, + "Series": "Food" + }, + { + "Date": "2022-10-31", + "Value": 34, + "Series": "Food" + }, + { + "Date": "2022-11-06", + "Value": 35, + "Series": "Food" + }, + { + "Date": "2022-11-11", + "Value": 37, + "Series": "Food" + }, + { + "Date": "2022-11-17", + "Value": 46, + "Series": "Food" + }, + { + "Date": "2022-11-22", + "Value": 50, + "Series": "Food" + }, + { + "Date": "2022-11-28", + "Value": 63, + "Series": "Food" + }, + { + "Date": "2022-12-03", + "Value": 73, + "Series": "Food" + }, + { + "Date": "2022-12-09", + "Value": 75, + "Series": "Food" + }, + { + "Date": "2022-12-14", + "Value": 86, + "Series": "Food" + }, + { + "Date": "2022-12-20", + "Value": 86, + "Series": "Food" + }, + { + "Date": "2022-12-25", + "Value": 89, + "Series": "Food" + }, + { + "Date": "2020-01-01", + "Value": 239, + "Series": "Books" + }, + { + "Date": "2020-01-06", + "Value": 245, + "Series": "Books" + }, + { + "Date": "2020-01-11", + "Value": 257, + "Series": "Books" + }, + { + "Date": "2020-01-17", + "Value": 257, + "Series": "Books" + }, + { + "Date": "2020-01-22", + "Value": 262, + "Series": "Books" + }, + { + "Date": "2020-01-28", + "Value": 272, + "Series": "Books" + }, + { + "Date": "2020-02-02", + "Value": 272, + "Series": "Books" + }, + { + "Date": "2020-02-08", + "Value": 278, + "Series": "Books" + }, + { + "Date": "2020-02-13", + "Value": 283, + "Series": "Books" + }, + { + "Date": "2020-02-19", + "Value": 282, + "Series": "Books" + }, + { + "Date": "2020-02-24", + "Value": 280, + "Series": "Books" + }, + { + "Date": "2020-03-01", + "Value": 281, + "Series": "Books" + }, + { + "Date": "2020-03-06", + "Value": 281, + "Series": "Books" + }, + { + "Date": "2020-03-12", + "Value": 285, + "Series": "Books" + }, + { + "Date": "2020-03-17", + "Value": 291, + "Series": "Books" + }, + { + "Date": "2020-03-23", + "Value": 298, + "Series": "Books" + }, + { + "Date": "2020-03-28", + "Value": 302, + "Series": "Books" + }, + { + "Date": "2020-04-03", + "Value": 304, + "Series": "Books" + }, + { + "Date": "2020-04-08", + "Value": 304, + "Series": "Books" + }, + { + "Date": "2020-04-14", + "Value": 305, + "Series": "Books" + }, + { + "Date": "2020-04-19", + "Value": 300, + "Series": "Books" + }, + { + "Date": "2020-04-24", + "Value": 294, + "Series": "Books" + }, + { + "Date": "2020-04-30", + "Value": 297, + "Series": "Books" + }, + { + "Date": "2020-05-05", + "Value": 300, + "Series": "Books" + }, + { + "Date": "2020-05-11", + "Value": 310, + "Series": "Books" + }, + { + "Date": "2020-05-16", + "Value": 316, + "Series": "Books" + }, + { + "Date": "2020-05-22", + "Value": 312, + "Series": "Books" + }, + { + "Date": "2020-05-27", + "Value": 312, + "Series": "Books" + }, + { + "Date": "2020-06-02", + "Value": 318, + "Series": "Books" + }, + { + "Date": "2020-06-07", + "Value": 327, + "Series": "Books" + }, + { + "Date": "2020-06-13", + "Value": 337, + "Series": "Books" + }, + { + "Date": "2020-06-18", + "Value": 352, + "Series": "Books" + }, + { + "Date": "2020-06-24", + "Value": 360, + "Series": "Books" + }, + { + "Date": "2020-06-29", + "Value": 363, + "Series": "Books" + }, + { + "Date": "2020-07-05", + "Value": 372, + "Series": "Books" + }, + { + "Date": "2020-07-10", + "Value": 381, + "Series": "Books" + }, + { + "Date": "2020-07-16", + "Value": 392, + "Series": "Books" + }, + { + "Date": "2020-07-21", + "Value": 407, + "Series": "Books" + }, + { + "Date": "2020-07-27", + "Value": 424, + "Series": "Books" + }, + { + "Date": "2020-08-01", + "Value": 432, + "Series": "Books" + }, + { + "Date": "2020-08-07", + "Value": 434, + "Series": "Books" + }, + { + "Date": "2020-08-12", + "Value": 443, + "Series": "Books" + }, + { + "Date": "2020-08-17", + "Value": 449, + "Series": "Books" + }, + { + "Date": "2020-08-23", + "Value": 461, + "Series": "Books" + }, + { + "Date": "2020-08-28", + "Value": 466, + "Series": "Books" + }, + { + "Date": "2020-09-03", + "Value": 473, + "Series": "Books" + }, + { + "Date": "2020-09-08", + "Value": 486, + "Series": "Books" + }, + { + "Date": "2020-09-14", + "Value": 489, + "Series": "Books" + }, + { + "Date": "2020-09-19", + "Value": 499, + "Series": "Books" + }, + { + "Date": "2020-09-25", + "Value": 513, + "Series": "Books" + }, + { + "Date": "2020-09-30", + "Value": 529, + "Series": "Books" + }, + { + "Date": "2020-10-06", + "Value": 545, + "Series": "Books" + }, + { + "Date": "2020-10-11", + "Value": 557, + "Series": "Books" + }, + { + "Date": "2020-10-17", + "Value": 561, + "Series": "Books" + }, + { + "Date": "2020-10-22", + "Value": 568, + "Series": "Books" + }, + { + "Date": "2020-10-28", + "Value": 567, + "Series": "Books" + }, + { + "Date": "2020-11-02", + "Value": 571, + "Series": "Books" + }, + { + "Date": "2020-11-08", + "Value": 575, + "Series": "Books" + }, + { + "Date": "2020-11-13", + "Value": 583, + "Series": "Books" + }, + { + "Date": "2020-11-19", + "Value": 595, + "Series": "Books" + }, + { + "Date": "2020-11-24", + "Value": 600, + "Series": "Books" + }, + { + "Date": "2020-11-29", + "Value": 595, + "Series": "Books" + }, + { + "Date": "2020-12-05", + "Value": 595, + "Series": "Books" + }, + { + "Date": "2020-12-10", + "Value": 595, + "Series": "Books" + }, + { + "Date": "2020-12-16", + "Value": 594, + "Series": "Books" + }, + { + "Date": "2020-12-21", + "Value": 593, + "Series": "Books" + }, + { + "Date": "2020-12-27", + "Value": 598, + "Series": "Books" + }, + { + "Date": "2021-01-01", + "Value": 599, + "Series": "Books" + }, + { + "Date": "2021-01-07", + "Value": 595, + "Series": "Books" + }, + { + "Date": "2021-01-12", + "Value": 598, + "Series": "Books" + }, + { + "Date": "2021-01-18", + "Value": 594, + "Series": "Books" + }, + { + "Date": "2021-01-23", + "Value": 585, + "Series": "Books" + }, + { + "Date": "2021-01-29", + "Value": 576, + "Series": "Books" + }, + { + "Date": "2021-02-03", + "Value": 565, + "Series": "Books" + }, + { + "Date": "2021-02-09", + "Value": 556, + "Series": "Books" + }, + { + "Date": "2021-02-14", + "Value": 553, + "Series": "Books" + }, + { + "Date": "2021-02-20", + "Value": 546, + "Series": "Books" + }, + { + "Date": "2021-02-25", + "Value": 545, + "Series": "Books" + }, + { + "Date": "2021-03-03", + "Value": 541, + "Series": "Books" + }, + { + "Date": "2021-03-08", + "Value": 540, + "Series": "Books" + }, + { + "Date": "2021-03-14", + "Value": 544, + "Series": "Books" + }, + { + "Date": "2021-03-19", + "Value": 554, + "Series": "Books" + }, + { + "Date": "2021-03-24", + "Value": 554, + "Series": "Books" + }, + { + "Date": "2021-03-30", + "Value": 550, + "Series": "Books" + }, + { + "Date": "2021-04-04", + "Value": 540, + "Series": "Books" + }, + { + "Date": "2021-04-10", + "Value": 538, + "Series": "Books" + }, + { + "Date": "2021-04-15", + "Value": 537, + "Series": "Books" + }, + { + "Date": "2021-04-21", + "Value": 541, + "Series": "Books" + }, + { + "Date": "2021-04-26", + "Value": 541, + "Series": "Books" + }, + { + "Date": "2021-05-02", + "Value": 538, + "Series": "Books" + }, + { + "Date": "2021-05-07", + "Value": 535, + "Series": "Books" + }, + { + "Date": "2021-05-13", + "Value": 536, + "Series": "Books" + }, + { + "Date": "2021-05-18", + "Value": 539, + "Series": "Books" + }, + { + "Date": "2021-05-24", + "Value": 546, + "Series": "Books" + }, + { + "Date": "2021-05-29", + "Value": 558, + "Series": "Books" + }, + { + "Date": "2021-06-04", + "Value": 562, + "Series": "Books" + }, + { + "Date": "2021-06-09", + "Value": 568, + "Series": "Books" + }, + { + "Date": "2021-06-15", + "Value": 580, + "Series": "Books" + }, + { + "Date": "2021-06-20", + "Value": 587, + "Series": "Books" + }, + { + "Date": "2021-06-26", + "Value": 594, + "Series": "Books" + }, + { + "Date": "2021-07-01", + "Value": 607, + "Series": "Books" + }, + { + "Date": "2021-07-06", + "Value": 622, + "Series": "Books" + }, + { + "Date": "2021-07-12", + "Value": 632, + "Series": "Books" + }, + { + "Date": "2021-07-17", + "Value": 635, + "Series": "Books" + }, + { + "Date": "2021-07-23", + "Value": 635, + "Series": "Books" + }, + { + "Date": "2021-07-28", + "Value": 634, + "Series": "Books" + }, + { + "Date": "2021-08-03", + "Value": 633, + "Series": "Books" + }, + { + "Date": "2021-08-08", + "Value": 638, + "Series": "Books" + }, + { + "Date": "2021-08-14", + "Value": 635, + "Series": "Books" + }, + { + "Date": "2021-08-19", + "Value": 633, + "Series": "Books" + }, + { + "Date": "2021-08-25", + "Value": 631, + "Series": "Books" + }, + { + "Date": "2021-08-30", + "Value": 622, + "Series": "Books" + }, + { + "Date": "2021-09-05", + "Value": 611, + "Series": "Books" + }, + { + "Date": "2021-09-10", + "Value": 609, + "Series": "Books" + }, + { + "Date": "2021-09-16", + "Value": 603, + "Series": "Books" + }, + { + "Date": "2021-09-21", + "Value": 592, + "Series": "Books" + }, + { + "Date": "2021-09-27", + "Value": 589, + "Series": "Books" + }, + { + "Date": "2021-10-02", + "Value": 589, + "Series": "Books" + }, + { + "Date": "2021-10-08", + "Value": 581, + "Series": "Books" + }, + { + "Date": "2021-10-13", + "Value": 570, + "Series": "Books" + }, + { + "Date": "2021-10-19", + "Value": 555, + "Series": "Books" + }, + { + "Date": "2021-10-24", + "Value": 546, + "Series": "Books" + }, + { + "Date": "2021-10-29", + "Value": 543, + "Series": "Books" + }, + { + "Date": "2021-11-04", + "Value": 536, + "Series": "Books" + }, + { + "Date": "2021-11-09", + "Value": 537, + "Series": "Books" + }, + { + "Date": "2021-11-15", + "Value": 532, + "Series": "Books" + }, + { + "Date": "2021-11-20", + "Value": 534, + "Series": "Books" + }, + { + "Date": "2021-11-26", + "Value": 528, + "Series": "Books" + }, + { + "Date": "2021-12-01", + "Value": 531, + "Series": "Books" + }, + { + "Date": "2021-12-07", + "Value": 528, + "Series": "Books" + }, + { + "Date": "2021-12-12", + "Value": 518, + "Series": "Books" + }, + { + "Date": "2021-12-18", + "Value": 519, + "Series": "Books" + }, + { + "Date": "2021-12-23", + "Value": 522, + "Series": "Books" + }, + { + "Date": "2021-12-29", + "Value": 523, + "Series": "Books" + }, + { + "Date": "2022-01-03", + "Value": 519, + "Series": "Books" + }, + { + "Date": "2022-01-09", + "Value": 517, + "Series": "Books" + }, + { + "Date": "2022-01-14", + "Value": 522, + "Series": "Books" + }, + { + "Date": "2022-01-20", + "Value": 520, + "Series": "Books" + }, + { + "Date": "2022-01-25", + "Value": 520, + "Series": "Books" + }, + { + "Date": "2022-01-31", + "Value": 515, + "Series": "Books" + }, + { + "Date": "2022-02-05", + "Value": 512, + "Series": "Books" + }, + { + "Date": "2022-02-10", + "Value": 517, + "Series": "Books" + }, + { + "Date": "2022-02-16", + "Value": 519, + "Series": "Books" + }, + { + "Date": "2022-02-21", + "Value": 513, + "Series": "Books" + }, + { + "Date": "2022-02-27", + "Value": 514, + "Series": "Books" + }, + { + "Date": "2022-03-04", + "Value": 509, + "Series": "Books" + }, + { + "Date": "2022-03-10", + "Value": 503, + "Series": "Books" + }, + { + "Date": "2022-03-15", + "Value": 498, + "Series": "Books" + }, + { + "Date": "2022-03-21", + "Value": 496, + "Series": "Books" + }, + { + "Date": "2022-03-26", + "Value": 489, + "Series": "Books" + }, + { + "Date": "2022-04-01", + "Value": 484, + "Series": "Books" + }, + { + "Date": "2022-04-06", + "Value": 475, + "Series": "Books" + }, + { + "Date": "2022-04-12", + "Value": 474, + "Series": "Books" + }, + { + "Date": "2022-04-17", + "Value": 476, + "Series": "Books" + }, + { + "Date": "2022-04-23", + "Value": 471, + "Series": "Books" + }, + { + "Date": "2022-04-28", + "Value": 461, + "Series": "Books" + }, + { + "Date": "2022-05-04", + "Value": 454, + "Series": "Books" + }, + { + "Date": "2022-05-09", + "Value": 442, + "Series": "Books" + }, + { + "Date": "2022-05-15", + "Value": 438, + "Series": "Books" + }, + { + "Date": "2022-05-20", + "Value": 441, + "Series": "Books" + }, + { + "Date": "2022-05-26", + "Value": 438, + "Series": "Books" + }, + { + "Date": "2022-05-31", + "Value": 443, + "Series": "Books" + }, + { + "Date": "2022-06-05", + "Value": 453, + "Series": "Books" + }, + { + "Date": "2022-06-11", + "Value": 460, + "Series": "Books" + }, + { + "Date": "2022-06-16", + "Value": 472, + "Series": "Books" + }, + { + "Date": "2022-06-22", + "Value": 488, + "Series": "Books" + }, + { + "Date": "2022-06-27", + "Value": 505, + "Series": "Books" + }, + { + "Date": "2022-07-03", + "Value": 510, + "Series": "Books" + }, + { + "Date": "2022-07-08", + "Value": 512, + "Series": "Books" + }, + { + "Date": "2022-07-14", + "Value": 512, + "Series": "Books" + }, + { + "Date": "2022-07-19", + "Value": 510, + "Series": "Books" + }, + { + "Date": "2022-07-25", + "Value": 514, + "Series": "Books" + }, + { + "Date": "2022-07-30", + "Value": 515, + "Series": "Books" + }, + { + "Date": "2022-08-05", + "Value": 511, + "Series": "Books" + }, + { + "Date": "2022-08-10", + "Value": 514, + "Series": "Books" + }, + { + "Date": "2022-08-16", + "Value": 519, + "Series": "Books" + }, + { + "Date": "2022-08-21", + "Value": 515, + "Series": "Books" + }, + { + "Date": "2022-08-27", + "Value": 508, + "Series": "Books" + }, + { + "Date": "2022-09-01", + "Value": 509, + "Series": "Books" + }, + { + "Date": "2022-09-07", + "Value": 502, + "Series": "Books" + }, + { + "Date": "2022-09-12", + "Value": 493, + "Series": "Books" + }, + { + "Date": "2022-09-17", + "Value": 490, + "Series": "Books" + }, + { + "Date": "2022-09-23", + "Value": 495, + "Series": "Books" + }, + { + "Date": "2022-09-28", + "Value": 504, + "Series": "Books" + }, + { + "Date": "2022-10-04", + "Value": 508, + "Series": "Books" + }, + { + "Date": "2022-10-09", + "Value": 510, + "Series": "Books" + }, + { + "Date": "2022-10-15", + "Value": 514, + "Series": "Books" + }, + { + "Date": "2022-10-20", + "Value": 512, + "Series": "Books" + }, + { + "Date": "2022-10-26", + "Value": 515, + "Series": "Books" + }, + { + "Date": "2022-10-31", + "Value": 514, + "Series": "Books" + }, + { + "Date": "2022-11-06", + "Value": 508, + "Series": "Books" + }, + { + "Date": "2022-11-11", + "Value": 507, + "Series": "Books" + }, + { + "Date": "2022-11-17", + "Value": 503, + "Series": "Books" + }, + { + "Date": "2022-11-22", + "Value": 494, + "Series": "Books" + }, + { + "Date": "2022-11-28", + "Value": 484, + "Series": "Books" + }, + { + "Date": "2022-12-03", + "Value": 485, + "Series": "Books" + }, + { + "Date": "2022-12-09", + "Value": 488, + "Series": "Books" + }, + { + "Date": "2022-12-14", + "Value": 484, + "Series": "Books" + }, + { + "Date": "2022-12-20", + "Value": 479, + "Series": "Books" + }, + { + "Date": "2022-12-25", + "Value": 483, + "Series": "Books" + }, + { + "Date": "2020-01-01", + "Value": 184, + "Series": "Sports" + }, + { + "Date": "2020-01-06", + "Value": 189, + "Series": "Sports" + }, + { + "Date": "2020-01-11", + "Value": 189, + "Series": "Sports" + }, + { + "Date": "2020-01-17", + "Value": 190, + "Series": "Sports" + }, + { + "Date": "2020-01-22", + "Value": 186, + "Series": "Sports" + }, + { + "Date": "2020-01-28", + "Value": 180, + "Series": "Sports" + }, + { + "Date": "2020-02-02", + "Value": 170, + "Series": "Sports" + }, + { + "Date": "2020-02-08", + "Value": 159, + "Series": "Sports" + }, + { + "Date": "2020-02-13", + "Value": 158, + "Series": "Sports" + }, + { + "Date": "2020-02-19", + "Value": 153, + "Series": "Sports" + }, + { + "Date": "2020-02-24", + "Value": 148, + "Series": "Sports" + }, + { + "Date": "2020-03-01", + "Value": 149, + "Series": "Sports" + }, + { + "Date": "2020-03-06", + "Value": 144, + "Series": "Sports" + }, + { + "Date": "2020-03-12", + "Value": 145, + "Series": "Sports" + }, + { + "Date": "2020-03-17", + "Value": 146, + "Series": "Sports" + }, + { + "Date": "2020-03-23", + "Value": 145, + "Series": "Sports" + }, + { + "Date": "2020-03-28", + "Value": 140, + "Series": "Sports" + }, + { + "Date": "2020-04-03", + "Value": 131, + "Series": "Sports" + }, + { + "Date": "2020-04-08", + "Value": 131, + "Series": "Sports" + }, + { + "Date": "2020-04-14", + "Value": 131, + "Series": "Sports" + }, + { + "Date": "2020-04-19", + "Value": 137, + "Series": "Sports" + }, + { + "Date": "2020-04-24", + "Value": 138, + "Series": "Sports" + }, + { + "Date": "2020-04-30", + "Value": 136, + "Series": "Sports" + }, + { + "Date": "2020-05-05", + "Value": 131, + "Series": "Sports" + }, + { + "Date": "2020-05-11", + "Value": 122, + "Series": "Sports" + }, + { + "Date": "2020-05-16", + "Value": 114, + "Series": "Sports" + }, + { + "Date": "2020-05-22", + "Value": 105, + "Series": "Sports" + }, + { + "Date": "2020-05-27", + "Value": 94, + "Series": "Sports" + }, + { + "Date": "2020-06-02", + "Value": 87, + "Series": "Sports" + }, + { + "Date": "2020-06-07", + "Value": 82, + "Series": "Sports" + }, + { + "Date": "2020-06-13", + "Value": 75, + "Series": "Sports" + }, + { + "Date": "2020-06-18", + "Value": 64, + "Series": "Sports" + }, + { + "Date": "2020-06-24", + "Value": 56, + "Series": "Sports" + }, + { + "Date": "2020-06-29", + "Value": 57, + "Series": "Sports" + }, + { + "Date": "2020-07-05", + "Value": 52, + "Series": "Sports" + }, + { + "Date": "2020-07-10", + "Value": 43, + "Series": "Sports" + }, + { + "Date": "2020-07-16", + "Value": 38, + "Series": "Sports" + }, + { + "Date": "2020-07-21", + "Value": 28, + "Series": "Sports" + }, + { + "Date": "2020-07-27", + "Value": 21, + "Series": "Sports" + }, + { + "Date": "2020-08-01", + "Value": 16, + "Series": "Sports" + }, + { + "Date": "2020-08-07", + "Value": 12, + "Series": "Sports" + }, + { + "Date": "2020-08-12", + "Value": 9, + "Series": "Sports" + }, + { + "Date": "2020-08-17", + "Value": 4, + "Series": "Sports" + }, + { + "Date": "2020-08-23", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-08-28", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-09-03", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-09-08", + "Value": 7, + "Series": "Sports" + }, + { + "Date": "2020-09-14", + "Value": 6, + "Series": "Sports" + }, + { + "Date": "2020-09-19", + "Value": 11, + "Series": "Sports" + }, + { + "Date": "2020-09-25", + "Value": 14, + "Series": "Sports" + }, + { + "Date": "2020-09-30", + "Value": 13, + "Series": "Sports" + }, + { + "Date": "2020-10-06", + "Value": 14, + "Series": "Sports" + }, + { + "Date": "2020-10-11", + "Value": 12, + "Series": "Sports" + }, + { + "Date": "2020-10-17", + "Value": 7, + "Series": "Sports" + }, + { + "Date": "2020-10-22", + "Value": 5, + "Series": "Sports" + }, + { + "Date": "2020-10-28", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-11-02", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-11-08", + "Value": 4, + "Series": "Sports" + }, + { + "Date": "2020-11-13", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2020-11-19", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-11-24", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-11-29", + "Value": 4, + "Series": "Sports" + }, + { + "Date": "2020-12-05", + "Value": 4, + "Series": "Sports" + }, + { + "Date": "2020-12-10", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2020-12-16", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-12-21", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2020-12-27", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-01-01", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-01-07", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-01-12", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-01-18", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-01-23", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-01-29", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-02-03", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-02-09", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-02-14", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-02-20", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-02-25", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-03-03", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2021-03-08", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-03-14", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-03-19", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2021-03-24", + "Value": 7, + "Series": "Sports" + }, + { + "Date": "2021-03-30", + "Value": 9, + "Series": "Sports" + }, + { + "Date": "2021-04-04", + "Value": 7, + "Series": "Sports" + }, + { + "Date": "2021-04-10", + "Value": 5, + "Series": "Sports" + }, + { + "Date": "2021-04-15", + "Value": 6, + "Series": "Sports" + }, + { + "Date": "2021-04-21", + "Value": 7, + "Series": "Sports" + }, + { + "Date": "2021-04-26", + "Value": 13, + "Series": "Sports" + }, + { + "Date": "2021-05-02", + "Value": 12, + "Series": "Sports" + }, + { + "Date": "2021-05-07", + "Value": 11, + "Series": "Sports" + }, + { + "Date": "2021-05-13", + "Value": 14, + "Series": "Sports" + }, + { + "Date": "2021-05-18", + "Value": 14, + "Series": "Sports" + }, + { + "Date": "2021-05-24", + "Value": 12, + "Series": "Sports" + }, + { + "Date": "2021-05-29", + "Value": 12, + "Series": "Sports" + }, + { + "Date": "2021-06-04", + "Value": 19, + "Series": "Sports" + }, + { + "Date": "2021-06-09", + "Value": 27, + "Series": "Sports" + }, + { + "Date": "2021-06-15", + "Value": 29, + "Series": "Sports" + }, + { + "Date": "2021-06-20", + "Value": 24, + "Series": "Sports" + }, + { + "Date": "2021-06-26", + "Value": 15, + "Series": "Sports" + }, + { + "Date": "2021-07-01", + "Value": 2, + "Series": "Sports" + }, + { + "Date": "2021-07-06", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-07-12", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-07-17", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-07-23", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-07-28", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-08-03", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2021-08-08", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-08-14", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-08-19", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-08-25", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-08-30", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-09-05", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2021-09-10", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-09-16", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-09-21", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-09-27", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-10-02", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-10-08", + "Value": 4, + "Series": "Sports" + }, + { + "Date": "2021-10-13", + "Value": 5, + "Series": "Sports" + }, + { + "Date": "2021-10-19", + "Value": 8, + "Series": "Sports" + }, + { + "Date": "2021-10-24", + "Value": 13, + "Series": "Sports" + }, + { + "Date": "2021-10-29", + "Value": 15, + "Series": "Sports" + }, + { + "Date": "2021-11-04", + "Value": 13, + "Series": "Sports" + }, + { + "Date": "2021-11-09", + "Value": 5, + "Series": "Sports" + }, + { + "Date": "2021-11-15", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2021-11-20", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-11-26", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-12-01", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-12-07", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-12-12", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-12-18", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-12-23", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2021-12-29", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-01-03", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-01-09", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-01-14", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-01-20", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-01-25", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-01-31", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-02-05", + "Value": 3, + "Series": "Sports" + }, + { + "Date": "2022-02-10", + "Value": 10, + "Series": "Sports" + }, + { + "Date": "2022-02-16", + "Value": 11, + "Series": "Sports" + }, + { + "Date": "2022-02-21", + "Value": 8, + "Series": "Sports" + }, + { + "Date": "2022-02-27", + "Value": 13, + "Series": "Sports" + }, + { + "Date": "2022-03-04", + "Value": 10, + "Series": "Sports" + }, + { + "Date": "2022-03-10", + "Value": 14, + "Series": "Sports" + }, + { + "Date": "2022-03-15", + "Value": 17, + "Series": "Sports" + }, + { + "Date": "2022-03-21", + "Value": 20, + "Series": "Sports" + }, + { + "Date": "2022-03-26", + "Value": 18, + "Series": "Sports" + }, + { + "Date": "2022-04-01", + "Value": 10, + "Series": "Sports" + }, + { + "Date": "2022-04-06", + "Value": 11, + "Series": "Sports" + }, + { + "Date": "2022-04-12", + "Value": 7, + "Series": "Sports" + }, + { + "Date": "2022-04-17", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-04-23", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-04-28", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-05-04", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-05-09", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-05-15", + "Value": 2, + "Series": "Sports" + }, + { + "Date": "2022-05-20", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2022-05-26", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-05-31", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2022-06-05", + "Value": 8, + "Series": "Sports" + }, + { + "Date": "2022-06-11", + "Value": 15, + "Series": "Sports" + }, + { + "Date": "2022-06-16", + "Value": 21, + "Series": "Sports" + }, + { + "Date": "2022-06-22", + "Value": 22, + "Series": "Sports" + }, + { + "Date": "2022-06-27", + "Value": 28, + "Series": "Sports" + }, + { + "Date": "2022-07-03", + "Value": 31, + "Series": "Sports" + }, + { + "Date": "2022-07-08", + "Value": 34, + "Series": "Sports" + }, + { + "Date": "2022-07-14", + "Value": 34, + "Series": "Sports" + }, + { + "Date": "2022-07-19", + "Value": 36, + "Series": "Sports" + }, + { + "Date": "2022-07-25", + "Value": 32, + "Series": "Sports" + }, + { + "Date": "2022-07-30", + "Value": 32, + "Series": "Sports" + }, + { + "Date": "2022-08-05", + "Value": 32, + "Series": "Sports" + }, + { + "Date": "2022-08-10", + "Value": 30, + "Series": "Sports" + }, + { + "Date": "2022-08-16", + "Value": 26, + "Series": "Sports" + }, + { + "Date": "2022-08-21", + "Value": 28, + "Series": "Sports" + }, + { + "Date": "2022-08-27", + "Value": 24, + "Series": "Sports" + }, + { + "Date": "2022-09-01", + "Value": 17, + "Series": "Sports" + }, + { + "Date": "2022-09-07", + "Value": 11, + "Series": "Sports" + }, + { + "Date": "2022-09-12", + "Value": 9, + "Series": "Sports" + }, + { + "Date": "2022-09-17", + "Value": 2, + "Series": "Sports" + }, + { + "Date": "2022-09-23", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-09-28", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-10-04", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2022-10-09", + "Value": 7, + "Series": "Sports" + }, + { + "Date": "2022-10-15", + "Value": 18, + "Series": "Sports" + }, + { + "Date": "2022-10-20", + "Value": 20, + "Series": "Sports" + }, + { + "Date": "2022-10-26", + "Value": 16, + "Series": "Sports" + }, + { + "Date": "2022-10-31", + "Value": 12, + "Series": "Sports" + }, + { + "Date": "2022-11-06", + "Value": 6, + "Series": "Sports" + }, + { + "Date": "2022-11-11", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-11-17", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-11-22", + "Value": 1, + "Series": "Sports" + }, + { + "Date": "2022-11-28", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-12-03", + "Value": 0, + "Series": "Sports" + }, + { + "Date": "2022-12-09", + "Value": 4, + "Series": "Sports" + }, + { + "Date": "2022-12-14", + "Value": 6, + "Series": "Sports" + }, + { + "Date": "2022-12-20", + "Value": 14, + "Series": "Sports" + }, + { + "Date": "2022-12-25", + "Value": 20, + "Series": "Sports" + }, + { + "Date": "2020-01-01", + "Value": 244, + "Series": "Home" + }, + { + "Date": "2020-01-06", + "Value": 249, + "Series": "Home" + }, + { + "Date": "2020-01-11", + "Value": 237, + "Series": "Home" + }, + { + "Date": "2020-01-17", + "Value": 226, + "Series": "Home" + }, + { + "Date": "2020-01-22", + "Value": 209, + "Series": "Home" + }, + { + "Date": "2020-01-28", + "Value": 182, + "Series": "Home" + }, + { + "Date": "2020-02-02", + "Value": 148, + "Series": "Home" + }, + { + "Date": "2020-02-08", + "Value": 115, + "Series": "Home" + }, + { + "Date": "2020-02-13", + "Value": 95, + "Series": "Home" + }, + { + "Date": "2020-02-19", + "Value": 75, + "Series": "Home" + }, + { + "Date": "2020-02-24", + "Value": 45, + "Series": "Home" + }, + { + "Date": "2020-03-01", + "Value": 27, + "Series": "Home" + }, + { + "Date": "2020-03-06", + "Value": 26, + "Series": "Home" + }, + { + "Date": "2020-03-12", + "Value": 37, + "Series": "Home" + }, + { + "Date": "2020-03-17", + "Value": 42, + "Series": "Home" + }, + { + "Date": "2020-03-23", + "Value": 59, + "Series": "Home" + }, + { + "Date": "2020-03-28", + "Value": 73, + "Series": "Home" + }, + { + "Date": "2020-04-03", + "Value": 94, + "Series": "Home" + }, + { + "Date": "2020-04-08", + "Value": 103, + "Series": "Home" + }, + { + "Date": "2020-04-14", + "Value": 116, + "Series": "Home" + }, + { + "Date": "2020-04-19", + "Value": 118, + "Series": "Home" + }, + { + "Date": "2020-04-24", + "Value": 136, + "Series": "Home" + }, + { + "Date": "2020-04-30", + "Value": 139, + "Series": "Home" + }, + { + "Date": "2020-05-05", + "Value": 137, + "Series": "Home" + }, + { + "Date": "2020-05-11", + "Value": 127, + "Series": "Home" + }, + { + "Date": "2020-05-16", + "Value": 115, + "Series": "Home" + }, + { + "Date": "2020-05-22", + "Value": 121, + "Series": "Home" + }, + { + "Date": "2020-05-27", + "Value": 125, + "Series": "Home" + }, + { + "Date": "2020-06-02", + "Value": 122, + "Series": "Home" + }, + { + "Date": "2020-06-07", + "Value": 122, + "Series": "Home" + }, + { + "Date": "2020-06-13", + "Value": 130, + "Series": "Home" + }, + { + "Date": "2020-06-18", + "Value": 126, + "Series": "Home" + }, + { + "Date": "2020-06-24", + "Value": 134, + "Series": "Home" + }, + { + "Date": "2020-06-29", + "Value": 138, + "Series": "Home" + }, + { + "Date": "2020-07-05", + "Value": 127, + "Series": "Home" + }, + { + "Date": "2020-07-10", + "Value": 111, + "Series": "Home" + }, + { + "Date": "2020-07-16", + "Value": 102, + "Series": "Home" + }, + { + "Date": "2020-07-21", + "Value": 92, + "Series": "Home" + }, + { + "Date": "2020-07-27", + "Value": 74, + "Series": "Home" + }, + { + "Date": "2020-08-01", + "Value": 75, + "Series": "Home" + }, + { + "Date": "2020-08-07", + "Value": 69, + "Series": "Home" + }, + { + "Date": "2020-08-12", + "Value": 51, + "Series": "Home" + }, + { + "Date": "2020-08-17", + "Value": 43, + "Series": "Home" + }, + { + "Date": "2020-08-23", + "Value": 28, + "Series": "Home" + }, + { + "Date": "2020-08-28", + "Value": 17, + "Series": "Home" + }, + { + "Date": "2020-09-03", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-09-08", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-09-14", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-09-19", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-09-25", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-09-30", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-10-06", + "Value": 4, + "Series": "Home" + }, + { + "Date": "2020-10-11", + "Value": 4, + "Series": "Home" + }, + { + "Date": "2020-10-17", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-10-22", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-10-28", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-11-02", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-11-08", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-11-13", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-11-19", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-11-24", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-11-29", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-12-05", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-12-10", + "Value": 5, + "Series": "Home" + }, + { + "Date": "2020-12-16", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-12-21", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-12-27", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-01-01", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-01-07", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-01-12", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-01-18", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-01-23", + "Value": 1, + "Series": "Home" + }, + { + "Date": "2021-01-29", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-02-03", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-02-09", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-02-14", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-02-20", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-02-25", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-03-03", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-03-08", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-03-14", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-03-19", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-03-24", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-03-30", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-04-04", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-04-10", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-04-15", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-04-21", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-04-26", + "Value": 2, + "Series": "Home" + }, + { + "Date": "2021-05-02", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-05-07", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2021-05-13", + "Value": 7, + "Series": "Home" + }, + { + "Date": "2021-05-18", + "Value": 24, + "Series": "Home" + }, + { + "Date": "2021-05-24", + "Value": 37, + "Series": "Home" + }, + { + "Date": "2021-05-29", + "Value": 53, + "Series": "Home" + }, + { + "Date": "2021-06-04", + "Value": 79, + "Series": "Home" + }, + { + "Date": "2021-06-09", + "Value": 96, + "Series": "Home" + }, + { + "Date": "2021-06-15", + "Value": 113, + "Series": "Home" + }, + { + "Date": "2021-06-20", + "Value": 117, + "Series": "Home" + }, + { + "Date": "2021-06-26", + "Value": 106, + "Series": "Home" + }, + { + "Date": "2021-07-01", + "Value": 104, + "Series": "Home" + }, + { + "Date": "2021-07-06", + "Value": 105, + "Series": "Home" + }, + { + "Date": "2021-07-12", + "Value": 120, + "Series": "Home" + }, + { + "Date": "2021-07-17", + "Value": 121, + "Series": "Home" + }, + { + "Date": "2021-07-23", + "Value": 111, + "Series": "Home" + }, + { + "Date": "2021-07-28", + "Value": 94, + "Series": "Home" + }, + { + "Date": "2021-08-03", + "Value": 74, + "Series": "Home" + }, + { + "Date": "2021-08-08", + "Value": 72, + "Series": "Home" + }, + { + "Date": "2021-08-14", + "Value": 78, + "Series": "Home" + }, + { + "Date": "2021-08-19", + "Value": 89, + "Series": "Home" + }, + { + "Date": "2021-08-25", + "Value": 108, + "Series": "Home" + }, + { + "Date": "2021-08-30", + "Value": 124, + "Series": "Home" + }, + { + "Date": "2021-09-05", + "Value": 123, + "Series": "Home" + }, + { + "Date": "2021-09-10", + "Value": 137, + "Series": "Home" + }, + { + "Date": "2021-09-16", + "Value": 156, + "Series": "Home" + }, + { + "Date": "2021-09-21", + "Value": 161, + "Series": "Home" + }, + { + "Date": "2021-09-27", + "Value": 162, + "Series": "Home" + }, + { + "Date": "2021-10-02", + "Value": 167, + "Series": "Home" + }, + { + "Date": "2021-10-08", + "Value": 164, + "Series": "Home" + }, + { + "Date": "2021-10-13", + "Value": 160, + "Series": "Home" + }, + { + "Date": "2021-10-19", + "Value": 170, + "Series": "Home" + }, + { + "Date": "2021-10-24", + "Value": 189, + "Series": "Home" + }, + { + "Date": "2021-10-29", + "Value": 192, + "Series": "Home" + }, + { + "Date": "2021-11-04", + "Value": 180, + "Series": "Home" + }, + { + "Date": "2021-11-09", + "Value": 172, + "Series": "Home" + }, + { + "Date": "2021-11-15", + "Value": 176, + "Series": "Home" + }, + { + "Date": "2021-11-20", + "Value": 186, + "Series": "Home" + }, + { + "Date": "2021-11-26", + "Value": 196, + "Series": "Home" + }, + { + "Date": "2021-12-01", + "Value": 208, + "Series": "Home" + }, + { + "Date": "2021-12-07", + "Value": 229, + "Series": "Home" + }, + { + "Date": "2021-12-12", + "Value": 248, + "Series": "Home" + }, + { + "Date": "2021-12-18", + "Value": 246, + "Series": "Home" + }, + { + "Date": "2021-12-23", + "Value": 235, + "Series": "Home" + }, + { + "Date": "2021-12-29", + "Value": 232, + "Series": "Home" + }, + { + "Date": "2022-01-03", + "Value": 216, + "Series": "Home" + }, + { + "Date": "2022-01-09", + "Value": 188, + "Series": "Home" + }, + { + "Date": "2022-01-14", + "Value": 161, + "Series": "Home" + }, + { + "Date": "2022-01-20", + "Value": 150, + "Series": "Home" + }, + { + "Date": "2022-01-25", + "Value": 137, + "Series": "Home" + }, + { + "Date": "2022-01-31", + "Value": 113, + "Series": "Home" + }, + { + "Date": "2022-02-05", + "Value": 104, + "Series": "Home" + }, + { + "Date": "2022-02-10", + "Value": 84, + "Series": "Home" + }, + { + "Date": "2022-02-16", + "Value": 78, + "Series": "Home" + }, + { + "Date": "2022-02-21", + "Value": 83, + "Series": "Home" + }, + { + "Date": "2022-02-27", + "Value": 93, + "Series": "Home" + }, + { + "Date": "2022-03-04", + "Value": 97, + "Series": "Home" + }, + { + "Date": "2022-03-10", + "Value": 93, + "Series": "Home" + }, + { + "Date": "2022-03-15", + "Value": 77, + "Series": "Home" + }, + { + "Date": "2022-03-21", + "Value": 69, + "Series": "Home" + }, + { + "Date": "2022-03-26", + "Value": 56, + "Series": "Home" + }, + { + "Date": "2022-04-01", + "Value": 38, + "Series": "Home" + }, + { + "Date": "2022-04-06", + "Value": 39, + "Series": "Home" + }, + { + "Date": "2022-04-12", + "Value": 43, + "Series": "Home" + }, + { + "Date": "2022-04-17", + "Value": 37, + "Series": "Home" + }, + { + "Date": "2022-04-23", + "Value": 26, + "Series": "Home" + }, + { + "Date": "2022-04-28", + "Value": 15, + "Series": "Home" + }, + { + "Date": "2022-05-04", + "Value": 10, + "Series": "Home" + }, + { + "Date": "2022-05-09", + "Value": 21, + "Series": "Home" + }, + { + "Date": "2022-05-15", + "Value": 15, + "Series": "Home" + }, + { + "Date": "2022-05-20", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-05-26", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-05-31", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-06-05", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-06-11", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-06-16", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-06-22", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-06-27", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-07-03", + "Value": 6, + "Series": "Home" + }, + { + "Date": "2022-07-08", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-07-14", + "Value": 11, + "Series": "Home" + }, + { + "Date": "2022-07-19", + "Value": 25, + "Series": "Home" + }, + { + "Date": "2022-07-25", + "Value": 33, + "Series": "Home" + }, + { + "Date": "2022-07-30", + "Value": 24, + "Series": "Home" + }, + { + "Date": "2022-08-05", + "Value": 9, + "Series": "Home" + }, + { + "Date": "2022-08-10", + "Value": 14, + "Series": "Home" + }, + { + "Date": "2022-08-16", + "Value": 14, + "Series": "Home" + }, + { + "Date": "2022-08-21", + "Value": 28, + "Series": "Home" + }, + { + "Date": "2022-08-27", + "Value": 31, + "Series": "Home" + }, + { + "Date": "2022-09-01", + "Value": 30, + "Series": "Home" + }, + { + "Date": "2022-09-07", + "Value": 15, + "Series": "Home" + }, + { + "Date": "2022-09-12", + "Value": 2, + "Series": "Home" + }, + { + "Date": "2022-09-17", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-09-23", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-09-28", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-10-04", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-10-09", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-10-15", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-10-20", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-10-26", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-10-31", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-11-06", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-11-11", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-11-17", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-11-22", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-11-28", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-12-03", + "Value": 2, + "Series": "Home" + }, + { + "Date": "2022-12-09", + "Value": 12, + "Series": "Home" + }, + { + "Date": "2022-12-14", + "Value": 5, + "Series": "Home" + }, + { + "Date": "2022-12-20", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2022-12-25", + "Value": 0, + "Series": "Home" + }, + { + "Date": "2020-01-01", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2020-01-06", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2020-01-11", + "Value": 52, + "Series": "Garden" + }, + { + "Date": "2020-01-17", + "Value": 58, + "Series": "Garden" + }, + { + "Date": "2020-01-22", + "Value": 61, + "Series": "Garden" + }, + { + "Date": "2020-01-28", + "Value": 62, + "Series": "Garden" + }, + { + "Date": "2020-02-02", + "Value": 59, + "Series": "Garden" + }, + { + "Date": "2020-02-08", + "Value": 60, + "Series": "Garden" + }, + { + "Date": "2020-02-13", + "Value": 58, + "Series": "Garden" + }, + { + "Date": "2020-02-19", + "Value": 61, + "Series": "Garden" + }, + { + "Date": "2020-02-24", + "Value": 62, + "Series": "Garden" + }, + { + "Date": "2020-03-01", + "Value": 66, + "Series": "Garden" + }, + { + "Date": "2020-03-06", + "Value": 65, + "Series": "Garden" + }, + { + "Date": "2020-03-12", + "Value": 59, + "Series": "Garden" + }, + { + "Date": "2020-03-17", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2020-03-23", + "Value": 43, + "Series": "Garden" + }, + { + "Date": "2020-03-28", + "Value": 37, + "Series": "Garden" + }, + { + "Date": "2020-04-03", + "Value": 32, + "Series": "Garden" + }, + { + "Date": "2020-04-08", + "Value": 28, + "Series": "Garden" + }, + { + "Date": "2020-04-14", + "Value": 26, + "Series": "Garden" + }, + { + "Date": "2020-04-19", + "Value": 26, + "Series": "Garden" + }, + { + "Date": "2020-04-24", + "Value": 29, + "Series": "Garden" + }, + { + "Date": "2020-04-30", + "Value": 29, + "Series": "Garden" + }, + { + "Date": "2020-05-05", + "Value": 30, + "Series": "Garden" + }, + { + "Date": "2020-05-11", + "Value": 35, + "Series": "Garden" + }, + { + "Date": "2020-05-16", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2020-05-22", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2020-05-27", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2020-06-02", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2020-06-07", + "Value": 56, + "Series": "Garden" + }, + { + "Date": "2020-06-13", + "Value": 56, + "Series": "Garden" + }, + { + "Date": "2020-06-18", + "Value": 56, + "Series": "Garden" + }, + { + "Date": "2020-06-24", + "Value": 52, + "Series": "Garden" + }, + { + "Date": "2020-06-29", + "Value": 53, + "Series": "Garden" + }, + { + "Date": "2020-07-05", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2020-07-10", + "Value": 45, + "Series": "Garden" + }, + { + "Date": "2020-07-16", + "Value": 37, + "Series": "Garden" + }, + { + "Date": "2020-07-21", + "Value": 31, + "Series": "Garden" + }, + { + "Date": "2020-07-27", + "Value": 30, + "Series": "Garden" + }, + { + "Date": "2020-08-01", + "Value": 33, + "Series": "Garden" + }, + { + "Date": "2020-08-07", + "Value": 33, + "Series": "Garden" + }, + { + "Date": "2020-08-12", + "Value": 36, + "Series": "Garden" + }, + { + "Date": "2020-08-17", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2020-08-23", + "Value": 40, + "Series": "Garden" + }, + { + "Date": "2020-08-28", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2020-09-03", + "Value": 38, + "Series": "Garden" + }, + { + "Date": "2020-09-08", + "Value": 33, + "Series": "Garden" + }, + { + "Date": "2020-09-14", + "Value": 29, + "Series": "Garden" + }, + { + "Date": "2020-09-19", + "Value": 31, + "Series": "Garden" + }, + { + "Date": "2020-09-25", + "Value": 37, + "Series": "Garden" + }, + { + "Date": "2020-09-30", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2020-10-06", + "Value": 44, + "Series": "Garden" + }, + { + "Date": "2020-10-11", + "Value": 45, + "Series": "Garden" + }, + { + "Date": "2020-10-17", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2020-10-22", + "Value": 44, + "Series": "Garden" + }, + { + "Date": "2020-10-28", + "Value": 45, + "Series": "Garden" + }, + { + "Date": "2020-11-02", + "Value": 45, + "Series": "Garden" + }, + { + "Date": "2020-11-08", + "Value": 47, + "Series": "Garden" + }, + { + "Date": "2020-11-13", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2020-11-19", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2020-11-24", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2020-11-29", + "Value": 56, + "Series": "Garden" + }, + { + "Date": "2020-12-05", + "Value": 52, + "Series": "Garden" + }, + { + "Date": "2020-12-10", + "Value": 45, + "Series": "Garden" + }, + { + "Date": "2020-12-16", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2020-12-21", + "Value": 43, + "Series": "Garden" + }, + { + "Date": "2020-12-27", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2021-01-01", + "Value": 32, + "Series": "Garden" + }, + { + "Date": "2021-01-07", + "Value": 28, + "Series": "Garden" + }, + { + "Date": "2021-01-12", + "Value": 27, + "Series": "Garden" + }, + { + "Date": "2021-01-18", + "Value": 24, + "Series": "Garden" + }, + { + "Date": "2021-01-23", + "Value": 27, + "Series": "Garden" + }, + { + "Date": "2021-01-29", + "Value": 27, + "Series": "Garden" + }, + { + "Date": "2021-02-03", + "Value": 29, + "Series": "Garden" + }, + { + "Date": "2021-02-09", + "Value": 32, + "Series": "Garden" + }, + { + "Date": "2021-02-14", + "Value": 35, + "Series": "Garden" + }, + { + "Date": "2021-02-20", + "Value": 40, + "Series": "Garden" + }, + { + "Date": "2021-02-25", + "Value": 40, + "Series": "Garden" + }, + { + "Date": "2021-03-03", + "Value": 44, + "Series": "Garden" + }, + { + "Date": "2021-03-08", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2021-03-14", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2021-03-19", + "Value": 57, + "Series": "Garden" + }, + { + "Date": "2021-03-24", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2021-03-30", + "Value": 49, + "Series": "Garden" + }, + { + "Date": "2021-04-04", + "Value": 42, + "Series": "Garden" + }, + { + "Date": "2021-04-10", + "Value": 40, + "Series": "Garden" + }, + { + "Date": "2021-04-15", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2021-04-21", + "Value": 42, + "Series": "Garden" + }, + { + "Date": "2021-04-26", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2021-05-02", + "Value": 43, + "Series": "Garden" + }, + { + "Date": "2021-05-07", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2021-05-13", + "Value": 35, + "Series": "Garden" + }, + { + "Date": "2021-05-18", + "Value": 29, + "Series": "Garden" + }, + { + "Date": "2021-05-24", + "Value": 26, + "Series": "Garden" + }, + { + "Date": "2021-05-29", + "Value": 27, + "Series": "Garden" + }, + { + "Date": "2021-06-04", + "Value": 29, + "Series": "Garden" + }, + { + "Date": "2021-06-09", + "Value": 30, + "Series": "Garden" + }, + { + "Date": "2021-06-15", + "Value": 36, + "Series": "Garden" + }, + { + "Date": "2021-06-20", + "Value": 36, + "Series": "Garden" + }, + { + "Date": "2021-06-26", + "Value": 32, + "Series": "Garden" + }, + { + "Date": "2021-07-01", + "Value": 34, + "Series": "Garden" + }, + { + "Date": "2021-07-06", + "Value": 36, + "Series": "Garden" + }, + { + "Date": "2021-07-12", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2021-07-17", + "Value": 44, + "Series": "Garden" + }, + { + "Date": "2021-07-23", + "Value": 44, + "Series": "Garden" + }, + { + "Date": "2021-07-28", + "Value": 42, + "Series": "Garden" + }, + { + "Date": "2021-08-03", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2021-08-08", + "Value": 48, + "Series": "Garden" + }, + { + "Date": "2021-08-14", + "Value": 52, + "Series": "Garden" + }, + { + "Date": "2021-08-19", + "Value": 59, + "Series": "Garden" + }, + { + "Date": "2021-08-25", + "Value": 61, + "Series": "Garden" + }, + { + "Date": "2021-08-30", + "Value": 64, + "Series": "Garden" + }, + { + "Date": "2021-09-05", + "Value": 61, + "Series": "Garden" + }, + { + "Date": "2021-09-10", + "Value": 64, + "Series": "Garden" + }, + { + "Date": "2021-09-16", + "Value": 64, + "Series": "Garden" + }, + { + "Date": "2021-09-21", + "Value": 61, + "Series": "Garden" + }, + { + "Date": "2021-09-27", + "Value": 62, + "Series": "Garden" + }, + { + "Date": "2021-10-02", + "Value": 64, + "Series": "Garden" + }, + { + "Date": "2021-10-08", + "Value": 62, + "Series": "Garden" + }, + { + "Date": "2021-10-13", + "Value": 59, + "Series": "Garden" + }, + { + "Date": "2021-10-19", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2021-10-24", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2021-10-29", + "Value": 48, + "Series": "Garden" + }, + { + "Date": "2021-11-04", + "Value": 52, + "Series": "Garden" + }, + { + "Date": "2021-11-09", + "Value": 60, + "Series": "Garden" + }, + { + "Date": "2021-11-15", + "Value": 62, + "Series": "Garden" + }, + { + "Date": "2021-11-20", + "Value": 68, + "Series": "Garden" + }, + { + "Date": "2021-11-26", + "Value": 75, + "Series": "Garden" + }, + { + "Date": "2021-12-01", + "Value": 80, + "Series": "Garden" + }, + { + "Date": "2021-12-07", + "Value": 81, + "Series": "Garden" + }, + { + "Date": "2021-12-12", + "Value": 79, + "Series": "Garden" + }, + { + "Date": "2021-12-18", + "Value": 73, + "Series": "Garden" + }, + { + "Date": "2021-12-23", + "Value": 65, + "Series": "Garden" + }, + { + "Date": "2021-12-29", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2022-01-03", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2022-01-09", + "Value": 42, + "Series": "Garden" + }, + { + "Date": "2022-01-14", + "Value": 34, + "Series": "Garden" + }, + { + "Date": "2022-01-20", + "Value": 32, + "Series": "Garden" + }, + { + "Date": "2022-01-25", + "Value": 36, + "Series": "Garden" + }, + { + "Date": "2022-01-31", + "Value": 37, + "Series": "Garden" + }, + { + "Date": "2022-02-05", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2022-02-10", + "Value": 39, + "Series": "Garden" + }, + { + "Date": "2022-02-16", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2022-02-21", + "Value": 44, + "Series": "Garden" + }, + { + "Date": "2022-02-27", + "Value": 48, + "Series": "Garden" + }, + { + "Date": "2022-03-04", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-03-10", + "Value": 57, + "Series": "Garden" + }, + { + "Date": "2022-03-15", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-03-21", + "Value": 53, + "Series": "Garden" + }, + { + "Date": "2022-03-26", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2022-04-01", + "Value": 45, + "Series": "Garden" + }, + { + "Date": "2022-04-06", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2022-04-12", + "Value": 43, + "Series": "Garden" + }, + { + "Date": "2022-04-17", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2022-04-23", + "Value": 53, + "Series": "Garden" + }, + { + "Date": "2022-04-28", + "Value": 56, + "Series": "Garden" + }, + { + "Date": "2022-05-04", + "Value": 62, + "Series": "Garden" + }, + { + "Date": "2022-05-09", + "Value": 65, + "Series": "Garden" + }, + { + "Date": "2022-05-15", + "Value": 66, + "Series": "Garden" + }, + { + "Date": "2022-05-20", + "Value": 62, + "Series": "Garden" + }, + { + "Date": "2022-05-26", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2022-05-31", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2022-06-05", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2022-06-11", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2022-06-16", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2022-06-22", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2022-06-27", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-07-03", + "Value": 52, + "Series": "Garden" + }, + { + "Date": "2022-07-08", + "Value": 50, + "Series": "Garden" + }, + { + "Date": "2022-07-14", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-07-19", + "Value": 53, + "Series": "Garden" + }, + { + "Date": "2022-07-25", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2022-07-30", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-08-05", + "Value": 56, + "Series": "Garden" + }, + { + "Date": "2022-08-10", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-08-16", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-08-21", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2022-08-27", + "Value": 59, + "Series": "Garden" + }, + { + "Date": "2022-09-01", + "Value": 59, + "Series": "Garden" + }, + { + "Date": "2022-09-07", + "Value": 58, + "Series": "Garden" + }, + { + "Date": "2022-09-12", + "Value": 57, + "Series": "Garden" + }, + { + "Date": "2022-09-17", + "Value": 55, + "Series": "Garden" + }, + { + "Date": "2022-09-23", + "Value": 54, + "Series": "Garden" + }, + { + "Date": "2022-09-28", + "Value": 51, + "Series": "Garden" + }, + { + "Date": "2022-10-04", + "Value": 48, + "Series": "Garden" + }, + { + "Date": "2022-10-09", + "Value": 46, + "Series": "Garden" + }, + { + "Date": "2022-10-15", + "Value": 43, + "Series": "Garden" + }, + { + "Date": "2022-10-20", + "Value": 42, + "Series": "Garden" + }, + { + "Date": "2022-10-26", + "Value": 41, + "Series": "Garden" + }, + { + "Date": "2022-10-31", + "Value": 37, + "Series": "Garden" + }, + { + "Date": "2022-11-06", + "Value": 31, + "Series": "Garden" + }, + { + "Date": "2022-11-11", + "Value": 28, + "Series": "Garden" + }, + { + "Date": "2022-11-17", + "Value": 22, + "Series": "Garden" + }, + { + "Date": "2022-11-22", + "Value": 21, + "Series": "Garden" + }, + { + "Date": "2022-11-28", + "Value": 16, + "Series": "Garden" + }, + { + "Date": "2022-12-03", + "Value": 9, + "Series": "Garden" + }, + { + "Date": "2022-12-09", + "Value": 6, + "Series": "Garden" + }, + { + "Date": "2022-12-14", + "Value": 8, + "Series": "Garden" + }, + { + "Date": "2022-12-20", + "Value": 11, + "Series": "Garden" + }, + { + "Date": "2022-12-25", + "Value": 12, + "Series": "Garden" + }, + { + "Date": "2020-01-01", + "Value": 201, + "Series": "Auto" + }, + { + "Date": "2020-01-06", + "Value": 210, + "Series": "Auto" + }, + { + "Date": "2020-01-11", + "Value": 204, + "Series": "Auto" + }, + { + "Date": "2020-01-17", + "Value": 188, + "Series": "Auto" + }, + { + "Date": "2020-01-22", + "Value": 179, + "Series": "Auto" + }, + { + "Date": "2020-01-28", + "Value": 162, + "Series": "Auto" + }, + { + "Date": "2020-02-02", + "Value": 142, + "Series": "Auto" + }, + { + "Date": "2020-02-08", + "Value": 140, + "Series": "Auto" + }, + { + "Date": "2020-02-13", + "Value": 133, + "Series": "Auto" + }, + { + "Date": "2020-02-19", + "Value": 136, + "Series": "Auto" + }, + { + "Date": "2020-02-24", + "Value": 129, + "Series": "Auto" + }, + { + "Date": "2020-03-01", + "Value": 113, + "Series": "Auto" + }, + { + "Date": "2020-03-06", + "Value": 98, + "Series": "Auto" + }, + { + "Date": "2020-03-12", + "Value": 79, + "Series": "Auto" + }, + { + "Date": "2020-03-17", + "Value": 69, + "Series": "Auto" + }, + { + "Date": "2020-03-23", + "Value": 74, + "Series": "Auto" + }, + { + "Date": "2020-03-28", + "Value": 77, + "Series": "Auto" + }, + { + "Date": "2020-04-03", + "Value": 81, + "Series": "Auto" + }, + { + "Date": "2020-04-08", + "Value": 81, + "Series": "Auto" + }, + { + "Date": "2020-04-14", + "Value": 78, + "Series": "Auto" + }, + { + "Date": "2020-04-19", + "Value": 63, + "Series": "Auto" + }, + { + "Date": "2020-04-24", + "Value": 55, + "Series": "Auto" + }, + { + "Date": "2020-04-30", + "Value": 53, + "Series": "Auto" + }, + { + "Date": "2020-05-05", + "Value": 58, + "Series": "Auto" + }, + { + "Date": "2020-05-11", + "Value": 66, + "Series": "Auto" + }, + { + "Date": "2020-05-16", + "Value": 82, + "Series": "Auto" + }, + { + "Date": "2020-05-22", + "Value": 104, + "Series": "Auto" + }, + { + "Date": "2020-05-27", + "Value": 124, + "Series": "Auto" + }, + { + "Date": "2020-06-02", + "Value": 138, + "Series": "Auto" + }, + { + "Date": "2020-06-07", + "Value": 144, + "Series": "Auto" + }, + { + "Date": "2020-06-13", + "Value": 155, + "Series": "Auto" + }, + { + "Date": "2020-06-18", + "Value": 156, + "Series": "Auto" + }, + { + "Date": "2020-06-24", + "Value": 149, + "Series": "Auto" + }, + { + "Date": "2020-06-29", + "Value": 140, + "Series": "Auto" + }, + { + "Date": "2020-07-05", + "Value": 144, + "Series": "Auto" + }, + { + "Date": "2020-07-10", + "Value": 154, + "Series": "Auto" + }, + { + "Date": "2020-07-16", + "Value": 164, + "Series": "Auto" + }, + { + "Date": "2020-07-21", + "Value": 167, + "Series": "Auto" + }, + { + "Date": "2020-07-27", + "Value": 163, + "Series": "Auto" + }, + { + "Date": "2020-08-01", + "Value": 168, + "Series": "Auto" + }, + { + "Date": "2020-08-07", + "Value": 162, + "Series": "Auto" + }, + { + "Date": "2020-08-12", + "Value": 165, + "Series": "Auto" + }, + { + "Date": "2020-08-17", + "Value": 164, + "Series": "Auto" + }, + { + "Date": "2020-08-23", + "Value": 156, + "Series": "Auto" + }, + { + "Date": "2020-08-28", + "Value": 161, + "Series": "Auto" + }, + { + "Date": "2020-09-03", + "Value": 164, + "Series": "Auto" + }, + { + "Date": "2020-09-08", + "Value": 176, + "Series": "Auto" + }, + { + "Date": "2020-09-14", + "Value": 187, + "Series": "Auto" + }, + { + "Date": "2020-09-19", + "Value": 188, + "Series": "Auto" + }, + { + "Date": "2020-09-25", + "Value": 190, + "Series": "Auto" + }, + { + "Date": "2020-09-30", + "Value": 198, + "Series": "Auto" + }, + { + "Date": "2020-10-06", + "Value": 200, + "Series": "Auto" + }, + { + "Date": "2020-10-11", + "Value": 206, + "Series": "Auto" + }, + { + "Date": "2020-10-17", + "Value": 201, + "Series": "Auto" + }, + { + "Date": "2020-10-22", + "Value": 201, + "Series": "Auto" + }, + { + "Date": "2020-10-28", + "Value": 206, + "Series": "Auto" + }, + { + "Date": "2020-11-02", + "Value": 222, + "Series": "Auto" + }, + { + "Date": "2020-11-08", + "Value": 225, + "Series": "Auto" + }, + { + "Date": "2020-11-13", + "Value": 235, + "Series": "Auto" + }, + { + "Date": "2020-11-19", + "Value": 248, + "Series": "Auto" + }, + { + "Date": "2020-11-24", + "Value": 253, + "Series": "Auto" + }, + { + "Date": "2020-11-29", + "Value": 267, + "Series": "Auto" + }, + { + "Date": "2020-12-05", + "Value": 283, + "Series": "Auto" + }, + { + "Date": "2020-12-10", + "Value": 302, + "Series": "Auto" + }, + { + "Date": "2020-12-16", + "Value": 319, + "Series": "Auto" + }, + { + "Date": "2020-12-21", + "Value": 321, + "Series": "Auto" + }, + { + "Date": "2020-12-27", + "Value": 326, + "Series": "Auto" + }, + { + "Date": "2021-01-01", + "Value": 332, + "Series": "Auto" + }, + { + "Date": "2021-01-07", + "Value": 326, + "Series": "Auto" + }, + { + "Date": "2021-01-12", + "Value": 323, + "Series": "Auto" + }, + { + "Date": "2021-01-18", + "Value": 330, + "Series": "Auto" + }, + { + "Date": "2021-01-23", + "Value": 323, + "Series": "Auto" + }, + { + "Date": "2021-01-29", + "Value": 326, + "Series": "Auto" + }, + { + "Date": "2021-02-03", + "Value": 318, + "Series": "Auto" + }, + { + "Date": "2021-02-09", + "Value": 313, + "Series": "Auto" + }, + { + "Date": "2021-02-14", + "Value": 319, + "Series": "Auto" + }, + { + "Date": "2021-02-20", + "Value": 334, + "Series": "Auto" + }, + { + "Date": "2021-02-25", + "Value": 334, + "Series": "Auto" + }, + { + "Date": "2021-03-03", + "Value": 322, + "Series": "Auto" + }, + { + "Date": "2021-03-08", + "Value": 309, + "Series": "Auto" + }, + { + "Date": "2021-03-14", + "Value": 293, + "Series": "Auto" + }, + { + "Date": "2021-03-19", + "Value": 288, + "Series": "Auto" + }, + { + "Date": "2021-03-24", + "Value": 284, + "Series": "Auto" + }, + { + "Date": "2021-03-30", + "Value": 272, + "Series": "Auto" + }, + { + "Date": "2021-04-04", + "Value": 259, + "Series": "Auto" + }, + { + "Date": "2021-04-10", + "Value": 258, + "Series": "Auto" + }, + { + "Date": "2021-04-15", + "Value": 262, + "Series": "Auto" + }, + { + "Date": "2021-04-21", + "Value": 264, + "Series": "Auto" + }, + { + "Date": "2021-04-26", + "Value": 265, + "Series": "Auto" + }, + { + "Date": "2021-05-02", + "Value": 255, + "Series": "Auto" + }, + { + "Date": "2021-05-07", + "Value": 248, + "Series": "Auto" + }, + { + "Date": "2021-05-13", + "Value": 230, + "Series": "Auto" + }, + { + "Date": "2021-05-18", + "Value": 217, + "Series": "Auto" + }, + { + "Date": "2021-05-24", + "Value": 201, + "Series": "Auto" + }, + { + "Date": "2021-05-29", + "Value": 188, + "Series": "Auto" + }, + { + "Date": "2021-06-04", + "Value": 178, + "Series": "Auto" + }, + { + "Date": "2021-06-09", + "Value": 165, + "Series": "Auto" + }, + { + "Date": "2021-06-15", + "Value": 153, + "Series": "Auto" + }, + { + "Date": "2021-06-20", + "Value": 155, + "Series": "Auto" + }, + { + "Date": "2021-06-26", + "Value": 160, + "Series": "Auto" + }, + { + "Date": "2021-07-01", + "Value": 155, + "Series": "Auto" + }, + { + "Date": "2021-07-06", + "Value": 149, + "Series": "Auto" + }, + { + "Date": "2021-07-12", + "Value": 143, + "Series": "Auto" + }, + { + "Date": "2021-07-17", + "Value": 150, + "Series": "Auto" + }, + { + "Date": "2021-07-23", + "Value": 146, + "Series": "Auto" + }, + { + "Date": "2021-07-28", + "Value": 156, + "Series": "Auto" + }, + { + "Date": "2021-08-03", + "Value": 158, + "Series": "Auto" + }, + { + "Date": "2021-08-08", + "Value": 147, + "Series": "Auto" + }, + { + "Date": "2021-08-14", + "Value": 136, + "Series": "Auto" + }, + { + "Date": "2021-08-19", + "Value": 132, + "Series": "Auto" + }, + { + "Date": "2021-08-25", + "Value": 117, + "Series": "Auto" + }, + { + "Date": "2021-08-30", + "Value": 107, + "Series": "Auto" + }, + { + "Date": "2021-09-05", + "Value": 105, + "Series": "Auto" + }, + { + "Date": "2021-09-10", + "Value": 114, + "Series": "Auto" + }, + { + "Date": "2021-09-16", + "Value": 131, + "Series": "Auto" + }, + { + "Date": "2021-09-21", + "Value": 131, + "Series": "Auto" + }, + { + "Date": "2021-09-27", + "Value": 125, + "Series": "Auto" + }, + { + "Date": "2021-10-02", + "Value": 113, + "Series": "Auto" + }, + { + "Date": "2021-10-08", + "Value": 110, + "Series": "Auto" + }, + { + "Date": "2021-10-13", + "Value": 97, + "Series": "Auto" + }, + { + "Date": "2021-10-19", + "Value": 81, + "Series": "Auto" + }, + { + "Date": "2021-10-24", + "Value": 58, + "Series": "Auto" + }, + { + "Date": "2021-10-29", + "Value": 34, + "Series": "Auto" + }, + { + "Date": "2021-11-04", + "Value": 23, + "Series": "Auto" + }, + { + "Date": "2021-11-09", + "Value": 6, + "Series": "Auto" + }, + { + "Date": "2021-11-15", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2021-11-20", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2021-11-26", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2021-12-01", + "Value": 1, + "Series": "Auto" + }, + { + "Date": "2021-12-07", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2021-12-12", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2021-12-18", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2021-12-23", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2021-12-29", + "Value": 1, + "Series": "Auto" + }, + { + "Date": "2022-01-03", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-01-09", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-01-14", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-01-20", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-01-25", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-01-31", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-02-05", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-02-10", + "Value": 3, + "Series": "Auto" + }, + { + "Date": "2022-02-16", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-02-21", + "Value": 5, + "Series": "Auto" + }, + { + "Date": "2022-02-27", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-03-04", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-03-10", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-03-15", + "Value": 1, + "Series": "Auto" + }, + { + "Date": "2022-03-21", + "Value": 13, + "Series": "Auto" + }, + { + "Date": "2022-03-26", + "Value": 19, + "Series": "Auto" + }, + { + "Date": "2022-04-01", + "Value": 28, + "Series": "Auto" + }, + { + "Date": "2022-04-06", + "Value": 34, + "Series": "Auto" + }, + { + "Date": "2022-04-12", + "Value": 44, + "Series": "Auto" + }, + { + "Date": "2022-04-17", + "Value": 60, + "Series": "Auto" + }, + { + "Date": "2022-04-23", + "Value": 70, + "Series": "Auto" + }, + { + "Date": "2022-04-28", + "Value": 74, + "Series": "Auto" + }, + { + "Date": "2022-05-04", + "Value": 84, + "Series": "Auto" + }, + { + "Date": "2022-05-09", + "Value": 88, + "Series": "Auto" + }, + { + "Date": "2022-05-15", + "Value": 90, + "Series": "Auto" + }, + { + "Date": "2022-05-20", + "Value": 103, + "Series": "Auto" + }, + { + "Date": "2022-05-26", + "Value": 111, + "Series": "Auto" + }, + { + "Date": "2022-05-31", + "Value": 105, + "Series": "Auto" + }, + { + "Date": "2022-06-05", + "Value": 106, + "Series": "Auto" + }, + { + "Date": "2022-06-11", + "Value": 116, + "Series": "Auto" + }, + { + "Date": "2022-06-16", + "Value": 111, + "Series": "Auto" + }, + { + "Date": "2022-06-22", + "Value": 95, + "Series": "Auto" + }, + { + "Date": "2022-06-27", + "Value": 77, + "Series": "Auto" + }, + { + "Date": "2022-07-03", + "Value": 77, + "Series": "Auto" + }, + { + "Date": "2022-07-08", + "Value": 73, + "Series": "Auto" + }, + { + "Date": "2022-07-14", + "Value": 66, + "Series": "Auto" + }, + { + "Date": "2022-07-19", + "Value": 48, + "Series": "Auto" + }, + { + "Date": "2022-07-25", + "Value": 27, + "Series": "Auto" + }, + { + "Date": "2022-07-30", + "Value": 12, + "Series": "Auto" + }, + { + "Date": "2022-08-05", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-08-10", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-08-16", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-08-21", + "Value": 7, + "Series": "Auto" + }, + { + "Date": "2022-08-27", + "Value": 10, + "Series": "Auto" + }, + { + "Date": "2022-09-01", + "Value": 4, + "Series": "Auto" + }, + { + "Date": "2022-09-07", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-09-12", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-09-17", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-09-23", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-09-28", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-10-04", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-10-09", + "Value": 6, + "Series": "Auto" + }, + { + "Date": "2022-10-15", + "Value": 10, + "Series": "Auto" + }, + { + "Date": "2022-10-20", + "Value": 17, + "Series": "Auto" + }, + { + "Date": "2022-10-26", + "Value": 11, + "Series": "Auto" + }, + { + "Date": "2022-10-31", + "Value": 9, + "Series": "Auto" + }, + { + "Date": "2022-11-06", + "Value": 7, + "Series": "Auto" + }, + { + "Date": "2022-11-11", + "Value": 13, + "Series": "Auto" + }, + { + "Date": "2022-11-17", + "Value": 9, + "Series": "Auto" + }, + { + "Date": "2022-11-22", + "Value": 14, + "Series": "Auto" + }, + { + "Date": "2022-11-28", + "Value": 7, + "Series": "Auto" + }, + { + "Date": "2022-12-03", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-12-09", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-12-14", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-12-20", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2022-12-25", + "Value": 0, + "Series": "Auto" + }, + { + "Date": "2020-01-01", + "Value": 127, + "Series": "Health" + }, + { + "Date": "2020-01-06", + "Value": 120, + "Series": "Health" + }, + { + "Date": "2020-01-11", + "Value": 115, + "Series": "Health" + }, + { + "Date": "2020-01-17", + "Value": 111, + "Series": "Health" + }, + { + "Date": "2020-01-22", + "Value": 112, + "Series": "Health" + }, + { + "Date": "2020-01-28", + "Value": 119, + "Series": "Health" + }, + { + "Date": "2020-02-02", + "Value": 128, + "Series": "Health" + }, + { + "Date": "2020-02-08", + "Value": 138, + "Series": "Health" + }, + { + "Date": "2020-02-13", + "Value": 144, + "Series": "Health" + }, + { + "Date": "2020-02-19", + "Value": 144, + "Series": "Health" + }, + { + "Date": "2020-02-24", + "Value": 138, + "Series": "Health" + }, + { + "Date": "2020-03-01", + "Value": 142, + "Series": "Health" + }, + { + "Date": "2020-03-06", + "Value": 136, + "Series": "Health" + }, + { + "Date": "2020-03-12", + "Value": 135, + "Series": "Health" + }, + { + "Date": "2020-03-17", + "Value": 132, + "Series": "Health" + }, + { + "Date": "2020-03-23", + "Value": 134, + "Series": "Health" + }, + { + "Date": "2020-03-28", + "Value": 128, + "Series": "Health" + }, + { + "Date": "2020-04-03", + "Value": 123, + "Series": "Health" + }, + { + "Date": "2020-04-08", + "Value": 114, + "Series": "Health" + }, + { + "Date": "2020-04-14", + "Value": 101, + "Series": "Health" + }, + { + "Date": "2020-04-19", + "Value": 87, + "Series": "Health" + }, + { + "Date": "2020-04-24", + "Value": 72, + "Series": "Health" + }, + { + "Date": "2020-04-30", + "Value": 64, + "Series": "Health" + }, + { + "Date": "2020-05-05", + "Value": 65, + "Series": "Health" + }, + { + "Date": "2020-05-11", + "Value": 70, + "Series": "Health" + }, + { + "Date": "2020-05-16", + "Value": 74, + "Series": "Health" + }, + { + "Date": "2020-05-22", + "Value": 81, + "Series": "Health" + }, + { + "Date": "2020-05-27", + "Value": 91, + "Series": "Health" + }, + { + "Date": "2020-06-02", + "Value": 99, + "Series": "Health" + }, + { + "Date": "2020-06-07", + "Value": 98, + "Series": "Health" + }, + { + "Date": "2020-06-13", + "Value": 92, + "Series": "Health" + }, + { + "Date": "2020-06-18", + "Value": 80, + "Series": "Health" + }, + { + "Date": "2020-06-24", + "Value": 77, + "Series": "Health" + }, + { + "Date": "2020-06-29", + "Value": 72, + "Series": "Health" + }, + { + "Date": "2020-07-05", + "Value": 73, + "Series": "Health" + }, + { + "Date": "2020-07-10", + "Value": 68, + "Series": "Health" + }, + { + "Date": "2020-07-16", + "Value": 61, + "Series": "Health" + }, + { + "Date": "2020-07-21", + "Value": 49, + "Series": "Health" + }, + { + "Date": "2020-07-27", + "Value": 40, + "Series": "Health" + }, + { + "Date": "2020-08-01", + "Value": 34, + "Series": "Health" + }, + { + "Date": "2020-08-07", + "Value": 35, + "Series": "Health" + }, + { + "Date": "2020-08-12", + "Value": 28, + "Series": "Health" + }, + { + "Date": "2020-08-17", + "Value": 25, + "Series": "Health" + }, + { + "Date": "2020-08-23", + "Value": 23, + "Series": "Health" + }, + { + "Date": "2020-08-28", + "Value": 23, + "Series": "Health" + }, + { + "Date": "2020-09-03", + "Value": 28, + "Series": "Health" + }, + { + "Date": "2020-09-08", + "Value": 36, + "Series": "Health" + }, + { + "Date": "2020-09-14", + "Value": 34, + "Series": "Health" + }, + { + "Date": "2020-09-19", + "Value": 33, + "Series": "Health" + }, + { + "Date": "2020-09-25", + "Value": 31, + "Series": "Health" + }, + { + "Date": "2020-09-30", + "Value": 34, + "Series": "Health" + }, + { + "Date": "2020-10-06", + "Value": 43, + "Series": "Health" + }, + { + "Date": "2020-10-11", + "Value": 49, + "Series": "Health" + }, + { + "Date": "2020-10-17", + "Value": 57, + "Series": "Health" + }, + { + "Date": "2020-10-22", + "Value": 55, + "Series": "Health" + }, + { + "Date": "2020-10-28", + "Value": 58, + "Series": "Health" + }, + { + "Date": "2020-11-02", + "Value": 55, + "Series": "Health" + }, + { + "Date": "2020-11-08", + "Value": 50, + "Series": "Health" + }, + { + "Date": "2020-11-13", + "Value": 40, + "Series": "Health" + }, + { + "Date": "2020-11-19", + "Value": 35, + "Series": "Health" + }, + { + "Date": "2020-11-24", + "Value": 26, + "Series": "Health" + }, + { + "Date": "2020-11-29", + "Value": 27, + "Series": "Health" + }, + { + "Date": "2020-12-05", + "Value": 31, + "Series": "Health" + }, + { + "Date": "2020-12-10", + "Value": 35, + "Series": "Health" + }, + { + "Date": "2020-12-16", + "Value": 40, + "Series": "Health" + }, + { + "Date": "2020-12-21", + "Value": 48, + "Series": "Health" + }, + { + "Date": "2020-12-27", + "Value": 50, + "Series": "Health" + }, + { + "Date": "2021-01-01", + "Value": 48, + "Series": "Health" + }, + { + "Date": "2021-01-07", + "Value": 54, + "Series": "Health" + }, + { + "Date": "2021-01-12", + "Value": 67, + "Series": "Health" + }, + { + "Date": "2021-01-18", + "Value": 74, + "Series": "Health" + }, + { + "Date": "2021-01-23", + "Value": 82, + "Series": "Health" + }, + { + "Date": "2021-01-29", + "Value": 93, + "Series": "Health" + }, + { + "Date": "2021-02-03", + "Value": 101, + "Series": "Health" + }, + { + "Date": "2021-02-09", + "Value": 109, + "Series": "Health" + }, + { + "Date": "2021-02-14", + "Value": 111, + "Series": "Health" + }, + { + "Date": "2021-02-20", + "Value": 119, + "Series": "Health" + }, + { + "Date": "2021-02-25", + "Value": 130, + "Series": "Health" + }, + { + "Date": "2021-03-03", + "Value": 133, + "Series": "Health" + }, + { + "Date": "2021-03-08", + "Value": 128, + "Series": "Health" + }, + { + "Date": "2021-03-14", + "Value": 127, + "Series": "Health" + }, + { + "Date": "2021-03-19", + "Value": 127, + "Series": "Health" + }, + { + "Date": "2021-03-24", + "Value": 121, + "Series": "Health" + }, + { + "Date": "2021-03-30", + "Value": 110, + "Series": "Health" + }, + { + "Date": "2021-04-04", + "Value": 98, + "Series": "Health" + }, + { + "Date": "2021-04-10", + "Value": 81, + "Series": "Health" + }, + { + "Date": "2021-04-15", + "Value": 61, + "Series": "Health" + }, + { + "Date": "2021-04-21", + "Value": 50, + "Series": "Health" + }, + { + "Date": "2021-04-26", + "Value": 40, + "Series": "Health" + }, + { + "Date": "2021-05-02", + "Value": 34, + "Series": "Health" + }, + { + "Date": "2021-05-07", + "Value": 31, + "Series": "Health" + }, + { + "Date": "2021-05-13", + "Value": 36, + "Series": "Health" + }, + { + "Date": "2021-05-18", + "Value": 41, + "Series": "Health" + }, + { + "Date": "2021-05-24", + "Value": 37, + "Series": "Health" + }, + { + "Date": "2021-05-29", + "Value": 33, + "Series": "Health" + }, + { + "Date": "2021-06-04", + "Value": 29, + "Series": "Health" + }, + { + "Date": "2021-06-09", + "Value": 29, + "Series": "Health" + }, + { + "Date": "2021-06-15", + "Value": 36, + "Series": "Health" + }, + { + "Date": "2021-06-20", + "Value": 35, + "Series": "Health" + }, + { + "Date": "2021-06-26", + "Value": 29, + "Series": "Health" + }, + { + "Date": "2021-07-01", + "Value": 31, + "Series": "Health" + }, + { + "Date": "2021-07-06", + "Value": 23, + "Series": "Health" + }, + { + "Date": "2021-07-12", + "Value": 11, + "Series": "Health" + }, + { + "Date": "2021-07-17", + "Value": 8, + "Series": "Health" + }, + { + "Date": "2021-07-23", + "Value": 7, + "Series": "Health" + }, + { + "Date": "2021-07-28", + "Value": 3, + "Series": "Health" + }, + { + "Date": "2021-08-03", + "Value": 0, + "Series": "Health" + }, + { + "Date": "2021-08-08", + "Value": 0, + "Series": "Health" + }, + { + "Date": "2021-08-14", + "Value": 3, + "Series": "Health" + }, + { + "Date": "2021-08-19", + "Value": 8, + "Series": "Health" + }, + { + "Date": "2021-08-25", + "Value": 18, + "Series": "Health" + }, + { + "Date": "2021-08-30", + "Value": 28, + "Series": "Health" + }, + { + "Date": "2021-09-05", + "Value": 35, + "Series": "Health" + }, + { + "Date": "2021-09-10", + "Value": 39, + "Series": "Health" + }, + { + "Date": "2021-09-16", + "Value": 33, + "Series": "Health" + }, + { + "Date": "2021-09-21", + "Value": 34, + "Series": "Health" + }, + { + "Date": "2021-09-27", + "Value": 28, + "Series": "Health" + }, + { + "Date": "2021-10-02", + "Value": 32, + "Series": "Health" + }, + { + "Date": "2021-10-08", + "Value": 40, + "Series": "Health" + }, + { + "Date": "2021-10-13", + "Value": 38, + "Series": "Health" + }, + { + "Date": "2021-10-19", + "Value": 43, + "Series": "Health" + }, + { + "Date": "2021-10-24", + "Value": 51, + "Series": "Health" + }, + { + "Date": "2021-10-29", + "Value": 53, + "Series": "Health" + }, + { + "Date": "2021-11-04", + "Value": 58, + "Series": "Health" + }, + { + "Date": "2021-11-09", + "Value": 56, + "Series": "Health" + }, + { + "Date": "2021-11-15", + "Value": 54, + "Series": "Health" + }, + { + "Date": "2021-11-20", + "Value": 49, + "Series": "Health" + }, + { + "Date": "2021-11-26", + "Value": 40, + "Series": "Health" + }, + { + "Date": "2021-12-01", + "Value": 33, + "Series": "Health" + }, + { + "Date": "2021-12-07", + "Value": 22, + "Series": "Health" + }, + { + "Date": "2021-12-12", + "Value": 9, + "Series": "Health" + }, + { + "Date": "2021-12-18", + "Value": 5, + "Series": "Health" + }, + { + "Date": "2021-12-23", + "Value": 9, + "Series": "Health" + }, + { + "Date": "2021-12-29", + "Value": 19, + "Series": "Health" + }, + { + "Date": "2022-01-03", + "Value": 33, + "Series": "Health" + }, + { + "Date": "2022-01-09", + "Value": 36, + "Series": "Health" + }, + { + "Date": "2022-01-14", + "Value": 39, + "Series": "Health" + }, + { + "Date": "2022-01-20", + "Value": 32, + "Series": "Health" + }, + { + "Date": "2022-01-25", + "Value": 23, + "Series": "Health" + }, + { + "Date": "2022-01-31", + "Value": 14, + "Series": "Health" + }, + { + "Date": "2022-02-05", + "Value": 11, + "Series": "Health" + }, + { + "Date": "2022-02-10", + "Value": 13, + "Series": "Health" + }, + { + "Date": "2022-02-16", + "Value": 6, + "Series": "Health" + }, + { + "Date": "2022-02-21", + "Value": 0, + "Series": "Health" + }, + { + "Date": "2022-02-27", + "Value": 0, + "Series": "Health" + }, + { + "Date": "2022-03-04", + "Value": 0, + "Series": "Health" + }, + { + "Date": "2022-03-10", + "Value": 3, + "Series": "Health" + }, + { + "Date": "2022-03-15", + "Value": 14, + "Series": "Health" + }, + { + "Date": "2022-03-21", + "Value": 20, + "Series": "Health" + }, + { + "Date": "2022-03-26", + "Value": 31, + "Series": "Health" + }, + { + "Date": "2022-04-01", + "Value": 32, + "Series": "Health" + }, + { + "Date": "2022-04-06", + "Value": 36, + "Series": "Health" + }, + { + "Date": "2022-04-12", + "Value": 30, + "Series": "Health" + }, + { + "Date": "2022-04-17", + "Value": 25, + "Series": "Health" + }, + { + "Date": "2022-04-23", + "Value": 23, + "Series": "Health" + }, + { + "Date": "2022-04-28", + "Value": 19, + "Series": "Health" + }, + { + "Date": "2022-05-04", + "Value": 24, + "Series": "Health" + }, + { + "Date": "2022-05-09", + "Value": 32, + "Series": "Health" + }, + { + "Date": "2022-05-15", + "Value": 46, + "Series": "Health" + }, + { + "Date": "2022-05-20", + "Value": 64, + "Series": "Health" + }, + { + "Date": "2022-05-26", + "Value": 77, + "Series": "Health" + }, + { + "Date": "2022-05-31", + "Value": 84, + "Series": "Health" + }, + { + "Date": "2022-06-05", + "Value": 96, + "Series": "Health" + }, + { + "Date": "2022-06-11", + "Value": 102, + "Series": "Health" + }, + { + "Date": "2022-06-16", + "Value": 103, + "Series": "Health" + }, + { + "Date": "2022-06-22", + "Value": 96, + "Series": "Health" + }, + { + "Date": "2022-06-27", + "Value": 87, + "Series": "Health" + }, + { + "Date": "2022-07-03", + "Value": 75, + "Series": "Health" + }, + { + "Date": "2022-07-08", + "Value": 62, + "Series": "Health" + }, + { + "Date": "2022-07-14", + "Value": 59, + "Series": "Health" + }, + { + "Date": "2022-07-19", + "Value": 53, + "Series": "Health" + }, + { + "Date": "2022-07-25", + "Value": 51, + "Series": "Health" + }, + { + "Date": "2022-07-30", + "Value": 57, + "Series": "Health" + }, + { + "Date": "2022-08-05", + "Value": 55, + "Series": "Health" + }, + { + "Date": "2022-08-10", + "Value": 59, + "Series": "Health" + }, + { + "Date": "2022-08-16", + "Value": 58, + "Series": "Health" + }, + { + "Date": "2022-08-21", + "Value": 57, + "Series": "Health" + }, + { + "Date": "2022-08-27", + "Value": 60, + "Series": "Health" + }, + { + "Date": "2022-09-01", + "Value": 56, + "Series": "Health" + }, + { + "Date": "2022-09-07", + "Value": 51, + "Series": "Health" + }, + { + "Date": "2022-09-12", + "Value": 47, + "Series": "Health" + }, + { + "Date": "2022-09-17", + "Value": 53, + "Series": "Health" + }, + { + "Date": "2022-09-23", + "Value": 50, + "Series": "Health" + }, + { + "Date": "2022-09-28", + "Value": 55, + "Series": "Health" + }, + { + "Date": "2022-10-04", + "Value": 62, + "Series": "Health" + }, + { + "Date": "2022-10-09", + "Value": 75, + "Series": "Health" + }, + { + "Date": "2022-10-15", + "Value": 86, + "Series": "Health" + }, + { + "Date": "2022-10-20", + "Value": 99, + "Series": "Health" + }, + { + "Date": "2022-10-26", + "Value": 108, + "Series": "Health" + }, + { + "Date": "2022-10-31", + "Value": 113, + "Series": "Health" + }, + { + "Date": "2022-11-06", + "Value": 122, + "Series": "Health" + }, + { + "Date": "2022-11-11", + "Value": 125, + "Series": "Health" + }, + { + "Date": "2022-11-17", + "Value": 126, + "Series": "Health" + }, + { + "Date": "2022-11-22", + "Value": 122, + "Series": "Health" + }, + { + "Date": "2022-11-28", + "Value": 118, + "Series": "Health" + }, + { + "Date": "2022-12-03", + "Value": 115, + "Series": "Health" + }, + { + "Date": "2022-12-09", + "Value": 117, + "Series": "Health" + }, + { + "Date": "2022-12-14", + "Value": 123, + "Series": "Health" + }, + { + "Date": "2022-12-20", + "Value": 122, + "Series": "Health" + }, + { + "Date": "2022-12-25", + "Value": 120, + "Series": "Health" + }, + { + "Date": "2020-01-01", + "Value": 113, + "Series": "Beauty" + }, + { + "Date": "2020-01-06", + "Value": 98, + "Series": "Beauty" + }, + { + "Date": "2020-01-11", + "Value": 96, + "Series": "Beauty" + }, + { + "Date": "2020-01-17", + "Value": 79, + "Series": "Beauty" + }, + { + "Date": "2020-01-22", + "Value": 53, + "Series": "Beauty" + }, + { + "Date": "2020-01-28", + "Value": 18, + "Series": "Beauty" + }, + { + "Date": "2020-02-02", + "Value": 2, + "Series": "Beauty" + }, + { + "Date": "2020-02-08", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-02-13", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-02-19", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-02-24", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-03-01", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-03-06", + "Value": 7, + "Series": "Beauty" + }, + { + "Date": "2020-03-12", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-03-17", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-03-23", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-03-28", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-04-03", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-04-08", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-04-14", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-04-19", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-04-24", + "Value": 1, + "Series": "Beauty" + }, + { + "Date": "2020-04-30", + "Value": 11, + "Series": "Beauty" + }, + { + "Date": "2020-05-05", + "Value": 7, + "Series": "Beauty" + }, + { + "Date": "2020-05-11", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-05-16", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-05-22", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-05-27", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-06-02", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-06-07", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-06-13", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-06-18", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-06-24", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-06-29", + "Value": 2, + "Series": "Beauty" + }, + { + "Date": "2020-07-05", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-07-10", + "Value": 9, + "Series": "Beauty" + }, + { + "Date": "2020-07-16", + "Value": 13, + "Series": "Beauty" + }, + { + "Date": "2020-07-21", + "Value": 14, + "Series": "Beauty" + }, + { + "Date": "2020-07-27", + "Value": 8, + "Series": "Beauty" + }, + { + "Date": "2020-08-01", + "Value": 0, + "Series": "Beauty" + }, + { + "Date": "2020-08-07", + "Value": 3, + "Series": "Beauty" + }, + { + "Date": "2020-08-12", + "Value": 19, + "Series": "Beauty" + }, + { + "Date": "2020-08-17", + "Value": 18, + "Series": "Beauty" + }, + { + "Date": "2020-08-23", + "Value": 16, + "Series": "Beauty" + }, + { + "Date": "2020-08-28", + "Value": 7, + "Series": "Beauty" + }, + { + "Date": "2020-09-03", + "Value": 14, + "Series": "Beauty" + }, + { + "Date": "2020-09-08", + "Value": 5, + "Series": "Beauty" + }, + { + "Date": "2020-09-14", + "Value": 2, + "Series": "Beauty" + }, + { + "Date": "2020-09-19", + "Value": 9, + "Series": "Beauty" + }, + { + "Date": "2020-09-25", + "Value": 24, + "Series": "Beauty" + }, + { + "Date": "2020-09-30", + "Value": 41, + "Series": "Beauty" + }, + { + "Date": "2020-10-06", + "Value": 68, + "Series": "Beauty" + }, + { + "Date": "2020-10-11", + "Value": 88, + "Series": "Beauty" + }, + { + "Date": "2020-10-17", + "Value": 97, + "Series": "Beauty" + }, + { + "Date": "2020-10-22", + "Value": 107, + "Series": "Beauty" + }, + { + "Date": "2020-10-28", + "Value": 117, + "Series": "Beauty" + }, + { + "Date": "2020-11-02", + "Value": 138, + "Series": "Beauty" + }, + { + "Date": "2020-11-08", + "Value": 142, + "Series": "Beauty" + }, + { + "Date": "2020-11-13", + "Value": 140, + "Series": "Beauty" + }, + { + "Date": "2020-11-19", + "Value": 143, + "Series": "Beauty" + }, + { + "Date": "2020-11-24", + "Value": 144, + "Series": "Beauty" + }, + { + "Date": "2020-11-29", + "Value": 133, + "Series": "Beauty" + }, + { + "Date": "2020-12-05", + "Value": 138, + "Series": "Beauty" + }, + { + "Date": "2020-12-10", + "Value": 139, + "Series": "Beauty" + }, + { + "Date": "2020-12-16", + "Value": 141, + "Series": "Beauty" + }, + { + "Date": "2020-12-21", + "Value": 152, + "Series": "Beauty" + }, + { + "Date": "2020-12-27", + "Value": 168, + "Series": "Beauty" + }, + { + "Date": "2021-01-01", + "Value": 181, + "Series": "Beauty" + }, + { + "Date": "2021-01-07", + "Value": 192, + "Series": "Beauty" + }, + { + "Date": "2021-01-12", + "Value": 216, + "Series": "Beauty" + }, + { + "Date": "2021-01-18", + "Value": 240, + "Series": "Beauty" + }, + { + "Date": "2021-01-23", + "Value": 269, + "Series": "Beauty" + }, + { + "Date": "2021-01-29", + "Value": 296, + "Series": "Beauty" + }, + { + "Date": "2021-02-03", + "Value": 309, + "Series": "Beauty" + }, + { + "Date": "2021-02-09", + "Value": 330, + "Series": "Beauty" + }, + { + "Date": "2021-02-14", + "Value": 346, + "Series": "Beauty" + }, + { + "Date": "2021-02-20", + "Value": 343, + "Series": "Beauty" + }, + { + "Date": "2021-02-25", + "Value": 335, + "Series": "Beauty" + }, + { + "Date": "2021-03-03", + "Value": 341, + "Series": "Beauty" + }, + { + "Date": "2021-03-08", + "Value": 362, + "Series": "Beauty" + }, + { + "Date": "2021-03-14", + "Value": 390, + "Series": "Beauty" + }, + { + "Date": "2021-03-19", + "Value": 414, + "Series": "Beauty" + }, + { + "Date": "2021-03-24", + "Value": 424, + "Series": "Beauty" + }, + { + "Date": "2021-03-30", + "Value": 433, + "Series": "Beauty" + }, + { + "Date": "2021-04-04", + "Value": 433, + "Series": "Beauty" + }, + { + "Date": "2021-04-10", + "Value": 423, + "Series": "Beauty" + }, + { + "Date": "2021-04-15", + "Value": 429, + "Series": "Beauty" + }, + { + "Date": "2021-04-21", + "Value": 428, + "Series": "Beauty" + }, + { + "Date": "2021-04-26", + "Value": 416, + "Series": "Beauty" + }, + { + "Date": "2021-05-02", + "Value": 392, + "Series": "Beauty" + }, + { + "Date": "2021-05-07", + "Value": 371, + "Series": "Beauty" + }, + { + "Date": "2021-05-13", + "Value": 340, + "Series": "Beauty" + }, + { + "Date": "2021-05-18", + "Value": 330, + "Series": "Beauty" + }, + { + "Date": "2021-05-24", + "Value": 312, + "Series": "Beauty" + }, + { + "Date": "2021-05-29", + "Value": 292, + "Series": "Beauty" + }, + { + "Date": "2021-06-04", + "Value": 272, + "Series": "Beauty" + }, + { + "Date": "2021-06-09", + "Value": 259, + "Series": "Beauty" + }, + { + "Date": "2021-06-15", + "Value": 255, + "Series": "Beauty" + }, + { + "Date": "2021-06-20", + "Value": 260, + "Series": "Beauty" + }, + { + "Date": "2021-06-26", + "Value": 277, + "Series": "Beauty" + }, + { + "Date": "2021-07-01", + "Value": 301, + "Series": "Beauty" + }, + { + "Date": "2021-07-06", + "Value": 333, + "Series": "Beauty" + }, + { + "Date": "2021-07-12", + "Value": 368, + "Series": "Beauty" + }, + { + "Date": "2021-07-17", + "Value": 401, + "Series": "Beauty" + }, + { + "Date": "2021-07-23", + "Value": 411, + "Series": "Beauty" + }, + { + "Date": "2021-07-28", + "Value": 413, + "Series": "Beauty" + }, + { + "Date": "2021-08-03", + "Value": 426, + "Series": "Beauty" + }, + { + "Date": "2021-08-08", + "Value": 421, + "Series": "Beauty" + }, + { + "Date": "2021-08-14", + "Value": 432, + "Series": "Beauty" + }, + { + "Date": "2021-08-19", + "Value": 441, + "Series": "Beauty" + }, + { + "Date": "2021-08-25", + "Value": 444, + "Series": "Beauty" + }, + { + "Date": "2021-08-30", + "Value": 453, + "Series": "Beauty" + }, + { + "Date": "2021-09-05", + "Value": 459, + "Series": "Beauty" + }, + { + "Date": "2021-09-10", + "Value": 448, + "Series": "Beauty" + }, + { + "Date": "2021-09-16", + "Value": 437, + "Series": "Beauty" + }, + { + "Date": "2021-09-21", + "Value": 413, + "Series": "Beauty" + }, + { + "Date": "2021-09-27", + "Value": 412, + "Series": "Beauty" + }, + { + "Date": "2021-10-02", + "Value": 413, + "Series": "Beauty" + }, + { + "Date": "2021-10-08", + "Value": 408, + "Series": "Beauty" + }, + { + "Date": "2021-10-13", + "Value": 402, + "Series": "Beauty" + }, + { + "Date": "2021-10-19", + "Value": 406, + "Series": "Beauty" + }, + { + "Date": "2021-10-24", + "Value": 397, + "Series": "Beauty" + }, + { + "Date": "2021-10-29", + "Value": 398, + "Series": "Beauty" + }, + { + "Date": "2021-11-04", + "Value": 415, + "Series": "Beauty" + }, + { + "Date": "2021-11-09", + "Value": 413, + "Series": "Beauty" + }, + { + "Date": "2021-11-15", + "Value": 410, + "Series": "Beauty" + }, + { + "Date": "2021-11-20", + "Value": 406, + "Series": "Beauty" + }, + { + "Date": "2021-11-26", + "Value": 393, + "Series": "Beauty" + }, + { + "Date": "2021-12-01", + "Value": 379, + "Series": "Beauty" + }, + { + "Date": "2021-12-07", + "Value": 374, + "Series": "Beauty" + }, + { + "Date": "2021-12-12", + "Value": 384, + "Series": "Beauty" + }, + { + "Date": "2021-12-18", + "Value": 398, + "Series": "Beauty" + }, + { + "Date": "2021-12-23", + "Value": 402, + "Series": "Beauty" + }, + { + "Date": "2021-12-29", + "Value": 404, + "Series": "Beauty" + }, + { + "Date": "2022-01-03", + "Value": 400, + "Series": "Beauty" + }, + { + "Date": "2022-01-09", + "Value": 390, + "Series": "Beauty" + }, + { + "Date": "2022-01-14", + "Value": 393, + "Series": "Beauty" + }, + { + "Date": "2022-01-20", + "Value": 403, + "Series": "Beauty" + }, + { + "Date": "2022-01-25", + "Value": 411, + "Series": "Beauty" + }, + { + "Date": "2022-01-31", + "Value": 415, + "Series": "Beauty" + }, + { + "Date": "2022-02-05", + "Value": 404, + "Series": "Beauty" + }, + { + "Date": "2022-02-10", + "Value": 390, + "Series": "Beauty" + }, + { + "Date": "2022-02-16", + "Value": 396, + "Series": "Beauty" + }, + { + "Date": "2022-02-21", + "Value": 397, + "Series": "Beauty" + }, + { + "Date": "2022-02-27", + "Value": 385, + "Series": "Beauty" + }, + { + "Date": "2022-03-04", + "Value": 374, + "Series": "Beauty" + }, + { + "Date": "2022-03-10", + "Value": 355, + "Series": "Beauty" + }, + { + "Date": "2022-03-15", + "Value": 329, + "Series": "Beauty" + }, + { + "Date": "2022-03-21", + "Value": 315, + "Series": "Beauty" + }, + { + "Date": "2022-03-26", + "Value": 291, + "Series": "Beauty" + }, + { + "Date": "2022-04-01", + "Value": 264, + "Series": "Beauty" + }, + { + "Date": "2022-04-06", + "Value": 228, + "Series": "Beauty" + }, + { + "Date": "2022-04-12", + "Value": 195, + "Series": "Beauty" + }, + { + "Date": "2022-04-17", + "Value": 162, + "Series": "Beauty" + }, + { + "Date": "2022-04-23", + "Value": 138, + "Series": "Beauty" + }, + { + "Date": "2022-04-28", + "Value": 120, + "Series": "Beauty" + }, + { + "Date": "2022-05-04", + "Value": 123, + "Series": "Beauty" + }, + { + "Date": "2022-05-09", + "Value": 115, + "Series": "Beauty" + }, + { + "Date": "2022-05-15", + "Value": 107, + "Series": "Beauty" + }, + { + "Date": "2022-05-20", + "Value": 94, + "Series": "Beauty" + }, + { + "Date": "2022-05-26", + "Value": 94, + "Series": "Beauty" + }, + { + "Date": "2022-05-31", + "Value": 88, + "Series": "Beauty" + }, + { + "Date": "2022-06-05", + "Value": 76, + "Series": "Beauty" + }, + { + "Date": "2022-06-11", + "Value": 83, + "Series": "Beauty" + }, + { + "Date": "2022-06-16", + "Value": 84, + "Series": "Beauty" + }, + { + "Date": "2022-06-22", + "Value": 77, + "Series": "Beauty" + }, + { + "Date": "2022-06-27", + "Value": 82, + "Series": "Beauty" + }, + { + "Date": "2022-07-03", + "Value": 86, + "Series": "Beauty" + }, + { + "Date": "2022-07-08", + "Value": 103, + "Series": "Beauty" + }, + { + "Date": "2022-07-14", + "Value": 101, + "Series": "Beauty" + }, + { + "Date": "2022-07-19", + "Value": 116, + "Series": "Beauty" + }, + { + "Date": "2022-07-25", + "Value": 142, + "Series": "Beauty" + }, + { + "Date": "2022-07-30", + "Value": 168, + "Series": "Beauty" + }, + { + "Date": "2022-08-05", + "Value": 196, + "Series": "Beauty" + }, + { + "Date": "2022-08-10", + "Value": 221, + "Series": "Beauty" + }, + { + "Date": "2022-08-16", + "Value": 253, + "Series": "Beauty" + }, + { + "Date": "2022-08-21", + "Value": 260, + "Series": "Beauty" + }, + { + "Date": "2022-08-27", + "Value": 253, + "Series": "Beauty" + }, + { + "Date": "2022-09-01", + "Value": 263, + "Series": "Beauty" + }, + { + "Date": "2022-09-07", + "Value": 258, + "Series": "Beauty" + }, + { + "Date": "2022-09-12", + "Value": 263, + "Series": "Beauty" + }, + { + "Date": "2022-09-17", + "Value": 257, + "Series": "Beauty" + }, + { + "Date": "2022-09-23", + "Value": 250, + "Series": "Beauty" + }, + { + "Date": "2022-09-28", + "Value": 249, + "Series": "Beauty" + }, + { + "Date": "2022-10-04", + "Value": 260, + "Series": "Beauty" + }, + { + "Date": "2022-10-09", + "Value": 274, + "Series": "Beauty" + }, + { + "Date": "2022-10-15", + "Value": 285, + "Series": "Beauty" + }, + { + "Date": "2022-10-20", + "Value": 305, + "Series": "Beauty" + }, + { + "Date": "2022-10-26", + "Value": 326, + "Series": "Beauty" + }, + { + "Date": "2022-10-31", + "Value": 327, + "Series": "Beauty" + }, + { + "Date": "2022-11-06", + "Value": 343, + "Series": "Beauty" + }, + { + "Date": "2022-11-11", + "Value": 347, + "Series": "Beauty" + }, + { + "Date": "2022-11-17", + "Value": 334, + "Series": "Beauty" + }, + { + "Date": "2022-11-22", + "Value": 316, + "Series": "Beauty" + }, + { + "Date": "2022-11-28", + "Value": 293, + "Series": "Beauty" + }, + { + "Date": "2022-12-03", + "Value": 275, + "Series": "Beauty" + }, + { + "Date": "2022-12-09", + "Value": 248, + "Series": "Beauty" + }, + { + "Date": "2022-12-14", + "Value": 216, + "Series": "Beauty" + }, + { + "Date": "2022-12-20", + "Value": 186, + "Series": "Beauty" + }, + { + "Date": "2022-12-25", + "Value": 163, + "Series": "Beauty" + }, + { + "Date": "2020-01-01", + "Value": 74, + "Series": "Toys" + }, + { + "Date": "2020-01-06", + "Value": 74, + "Series": "Toys" + }, + { + "Date": "2020-01-11", + "Value": 70, + "Series": "Toys" + }, + { + "Date": "2020-01-17", + "Value": 64, + "Series": "Toys" + }, + { + "Date": "2020-01-22", + "Value": 64, + "Series": "Toys" + }, + { + "Date": "2020-01-28", + "Value": 62, + "Series": "Toys" + }, + { + "Date": "2020-02-02", + "Value": 70, + "Series": "Toys" + }, + { + "Date": "2020-02-08", + "Value": 86, + "Series": "Toys" + }, + { + "Date": "2020-02-13", + "Value": 87, + "Series": "Toys" + }, + { + "Date": "2020-02-19", + "Value": 81, + "Series": "Toys" + }, + { + "Date": "2020-02-24", + "Value": 76, + "Series": "Toys" + }, + { + "Date": "2020-03-01", + "Value": 70, + "Series": "Toys" + }, + { + "Date": "2020-03-06", + "Value": 73, + "Series": "Toys" + }, + { + "Date": "2020-03-12", + "Value": 79, + "Series": "Toys" + }, + { + "Date": "2020-03-17", + "Value": 75, + "Series": "Toys" + }, + { + "Date": "2020-03-23", + "Value": 72, + "Series": "Toys" + }, + { + "Date": "2020-03-28", + "Value": 60, + "Series": "Toys" + }, + { + "Date": "2020-04-03", + "Value": 57, + "Series": "Toys" + }, + { + "Date": "2020-04-08", + "Value": 64, + "Series": "Toys" + }, + { + "Date": "2020-04-14", + "Value": 63, + "Series": "Toys" + }, + { + "Date": "2020-04-19", + "Value": 68, + "Series": "Toys" + }, + { + "Date": "2020-04-24", + "Value": 71, + "Series": "Toys" + }, + { + "Date": "2020-04-30", + "Value": 73, + "Series": "Toys" + }, + { + "Date": "2020-05-05", + "Value": 72, + "Series": "Toys" + }, + { + "Date": "2020-05-11", + "Value": 75, + "Series": "Toys" + }, + { + "Date": "2020-05-16", + "Value": 87, + "Series": "Toys" + }, + { + "Date": "2020-05-22", + "Value": 89, + "Series": "Toys" + }, + { + "Date": "2020-05-27", + "Value": 83, + "Series": "Toys" + }, + { + "Date": "2020-06-02", + "Value": 77, + "Series": "Toys" + }, + { + "Date": "2020-06-07", + "Value": 70, + "Series": "Toys" + }, + { + "Date": "2020-06-13", + "Value": 62, + "Series": "Toys" + }, + { + "Date": "2020-06-18", + "Value": 62, + "Series": "Toys" + }, + { + "Date": "2020-06-24", + "Value": 68, + "Series": "Toys" + }, + { + "Date": "2020-06-29", + "Value": 64, + "Series": "Toys" + }, + { + "Date": "2020-07-05", + "Value": 60, + "Series": "Toys" + }, + { + "Date": "2020-07-10", + "Value": 61, + "Series": "Toys" + }, + { + "Date": "2020-07-16", + "Value": 72, + "Series": "Toys" + }, + { + "Date": "2020-07-21", + "Value": 74, + "Series": "Toys" + }, + { + "Date": "2020-07-27", + "Value": 83, + "Series": "Toys" + }, + { + "Date": "2020-08-01", + "Value": 80, + "Series": "Toys" + }, + { + "Date": "2020-08-07", + "Value": 76, + "Series": "Toys" + }, + { + "Date": "2020-08-12", + "Value": 79, + "Series": "Toys" + }, + { + "Date": "2020-08-17", + "Value": 77, + "Series": "Toys" + }, + { + "Date": "2020-08-23", + "Value": 80, + "Series": "Toys" + }, + { + "Date": "2020-08-28", + "Value": 88, + "Series": "Toys" + }, + { + "Date": "2020-09-03", + "Value": 96, + "Series": "Toys" + }, + { + "Date": "2020-09-08", + "Value": 98, + "Series": "Toys" + }, + { + "Date": "2020-09-14", + "Value": 95, + "Series": "Toys" + }, + { + "Date": "2020-09-19", + "Value": 97, + "Series": "Toys" + }, + { + "Date": "2020-09-25", + "Value": 107, + "Series": "Toys" + }, + { + "Date": "2020-09-30", + "Value": 114, + "Series": "Toys" + }, + { + "Date": "2020-10-06", + "Value": 122, + "Series": "Toys" + }, + { + "Date": "2020-10-11", + "Value": 126, + "Series": "Toys" + }, + { + "Date": "2020-10-17", + "Value": 131, + "Series": "Toys" + }, + { + "Date": "2020-10-22", + "Value": 133, + "Series": "Toys" + }, + { + "Date": "2020-10-28", + "Value": 137, + "Series": "Toys" + }, + { + "Date": "2020-11-02", + "Value": 138, + "Series": "Toys" + }, + { + "Date": "2020-11-08", + "Value": 134, + "Series": "Toys" + }, + { + "Date": "2020-11-13", + "Value": 128, + "Series": "Toys" + }, + { + "Date": "2020-11-19", + "Value": 131, + "Series": "Toys" + }, + { + "Date": "2020-11-24", + "Value": 141, + "Series": "Toys" + }, + { + "Date": "2020-11-29", + "Value": 155, + "Series": "Toys" + }, + { + "Date": "2020-12-05", + "Value": 169, + "Series": "Toys" + }, + { + "Date": "2020-12-10", + "Value": 181, + "Series": "Toys" + }, + { + "Date": "2020-12-16", + "Value": 183, + "Series": "Toys" + }, + { + "Date": "2020-12-21", + "Value": 179, + "Series": "Toys" + }, + { + "Date": "2020-12-27", + "Value": 184, + "Series": "Toys" + }, + { + "Date": "2021-01-01", + "Value": 184, + "Series": "Toys" + }, + { + "Date": "2021-01-07", + "Value": 194, + "Series": "Toys" + }, + { + "Date": "2021-01-12", + "Value": 208, + "Series": "Toys" + }, + { + "Date": "2021-01-18", + "Value": 227, + "Series": "Toys" + }, + { + "Date": "2021-01-23", + "Value": 244, + "Series": "Toys" + }, + { + "Date": "2021-01-29", + "Value": 254, + "Series": "Toys" + }, + { + "Date": "2021-02-03", + "Value": 262, + "Series": "Toys" + }, + { + "Date": "2021-02-09", + "Value": 276, + "Series": "Toys" + }, + { + "Date": "2021-02-14", + "Value": 291, + "Series": "Toys" + }, + { + "Date": "2021-02-20", + "Value": 292, + "Series": "Toys" + }, + { + "Date": "2021-02-25", + "Value": 299, + "Series": "Toys" + }, + { + "Date": "2021-03-03", + "Value": 299, + "Series": "Toys" + }, + { + "Date": "2021-03-08", + "Value": 292, + "Series": "Toys" + }, + { + "Date": "2021-03-14", + "Value": 285, + "Series": "Toys" + }, + { + "Date": "2021-03-19", + "Value": 271, + "Series": "Toys" + }, + { + "Date": "2021-03-24", + "Value": 253, + "Series": "Toys" + }, + { + "Date": "2021-03-30", + "Value": 248, + "Series": "Toys" + }, + { + "Date": "2021-04-04", + "Value": 239, + "Series": "Toys" + }, + { + "Date": "2021-04-10", + "Value": 240, + "Series": "Toys" + }, + { + "Date": "2021-04-15", + "Value": 239, + "Series": "Toys" + }, + { + "Date": "2021-04-21", + "Value": 229, + "Series": "Toys" + }, + { + "Date": "2021-04-26", + "Value": 232, + "Series": "Toys" + }, + { + "Date": "2021-05-02", + "Value": 228, + "Series": "Toys" + }, + { + "Date": "2021-05-07", + "Value": 221, + "Series": "Toys" + }, + { + "Date": "2021-05-13", + "Value": 213, + "Series": "Toys" + }, + { + "Date": "2021-05-18", + "Value": 199, + "Series": "Toys" + }, + { + "Date": "2021-05-24", + "Value": 181, + "Series": "Toys" + }, + { + "Date": "2021-05-29", + "Value": 172, + "Series": "Toys" + }, + { + "Date": "2021-06-04", + "Value": 162, + "Series": "Toys" + }, + { + "Date": "2021-06-09", + "Value": 153, + "Series": "Toys" + }, + { + "Date": "2021-06-15", + "Value": 148, + "Series": "Toys" + }, + { + "Date": "2021-06-20", + "Value": 147, + "Series": "Toys" + }, + { + "Date": "2021-06-26", + "Value": 140, + "Series": "Toys" + }, + { + "Date": "2021-07-01", + "Value": 137, + "Series": "Toys" + }, + { + "Date": "2021-07-06", + "Value": 125, + "Series": "Toys" + }, + { + "Date": "2021-07-12", + "Value": 107, + "Series": "Toys" + }, + { + "Date": "2021-07-17", + "Value": 99, + "Series": "Toys" + }, + { + "Date": "2021-07-23", + "Value": 90, + "Series": "Toys" + }, + { + "Date": "2021-07-28", + "Value": 83, + "Series": "Toys" + }, + { + "Date": "2021-08-03", + "Value": 72, + "Series": "Toys" + }, + { + "Date": "2021-08-08", + "Value": 62, + "Series": "Toys" + }, + { + "Date": "2021-08-14", + "Value": 65, + "Series": "Toys" + }, + { + "Date": "2021-08-19", + "Value": 63, + "Series": "Toys" + }, + { + "Date": "2021-08-25", + "Value": 59, + "Series": "Toys" + }, + { + "Date": "2021-08-30", + "Value": 52, + "Series": "Toys" + }, + { + "Date": "2021-09-05", + "Value": 40, + "Series": "Toys" + }, + { + "Date": "2021-09-10", + "Value": 29, + "Series": "Toys" + }, + { + "Date": "2021-09-16", + "Value": 19, + "Series": "Toys" + }, + { + "Date": "2021-09-21", + "Value": 14, + "Series": "Toys" + }, + { + "Date": "2021-09-27", + "Value": 11, + "Series": "Toys" + }, + { + "Date": "2021-10-02", + "Value": 0, + "Series": "Toys" + }, + { + "Date": "2021-10-08", + "Value": 0, + "Series": "Toys" + }, + { + "Date": "2021-10-13", + "Value": 0, + "Series": "Toys" + }, + { + "Date": "2021-10-19", + "Value": 0, + "Series": "Toys" + }, + { + "Date": "2021-10-24", + "Value": 0, + "Series": "Toys" + }, + { + "Date": "2021-10-29", + "Value": 5, + "Series": "Toys" + }, + { + "Date": "2021-11-04", + "Value": 5, + "Series": "Toys" + }, + { + "Date": "2021-11-09", + "Value": 14, + "Series": "Toys" + }, + { + "Date": "2021-11-15", + "Value": 20, + "Series": "Toys" + }, + { + "Date": "2021-11-20", + "Value": 34, + "Series": "Toys" + }, + { + "Date": "2021-11-26", + "Value": 38, + "Series": "Toys" + }, + { + "Date": "2021-12-01", + "Value": 47, + "Series": "Toys" + }, + { + "Date": "2021-12-07", + "Value": 51, + "Series": "Toys" + }, + { + "Date": "2021-12-12", + "Value": 59, + "Series": "Toys" + }, + { + "Date": "2021-12-18", + "Value": 65, + "Series": "Toys" + }, + { + "Date": "2021-12-23", + "Value": 77, + "Series": "Toys" + }, + { + "Date": "2021-12-29", + "Value": 80, + "Series": "Toys" + }, + { + "Date": "2022-01-03", + "Value": 87, + "Series": "Toys" + }, + { + "Date": "2022-01-09", + "Value": 87, + "Series": "Toys" + }, + { + "Date": "2022-01-14", + "Value": 97, + "Series": "Toys" + }, + { + "Date": "2022-01-20", + "Value": 96, + "Series": "Toys" + }, + { + "Date": "2022-01-25", + "Value": 97, + "Series": "Toys" + }, + { + "Date": "2022-01-31", + "Value": 102, + "Series": "Toys" + }, + { + "Date": "2022-02-05", + "Value": 95, + "Series": "Toys" + }, + { + "Date": "2022-02-10", + "Value": 94, + "Series": "Toys" + }, + { + "Date": "2022-02-16", + "Value": 87, + "Series": "Toys" + }, + { + "Date": "2022-02-21", + "Value": 86, + "Series": "Toys" + }, + { + "Date": "2022-02-27", + "Value": 93, + "Series": "Toys" + }, + { + "Date": "2022-03-04", + "Value": 105, + "Series": "Toys" + }, + { + "Date": "2022-03-10", + "Value": 114, + "Series": "Toys" + }, + { + "Date": "2022-03-15", + "Value": 128, + "Series": "Toys" + }, + { + "Date": "2022-03-21", + "Value": 141, + "Series": "Toys" + }, + { + "Date": "2022-03-26", + "Value": 155, + "Series": "Toys" + }, + { + "Date": "2022-04-01", + "Value": 172, + "Series": "Toys" + }, + { + "Date": "2022-04-06", + "Value": 179, + "Series": "Toys" + }, + { + "Date": "2022-04-12", + "Value": 182, + "Series": "Toys" + }, + { + "Date": "2022-04-17", + "Value": 183, + "Series": "Toys" + }, + { + "Date": "2022-04-23", + "Value": 178, + "Series": "Toys" + }, + { + "Date": "2022-04-28", + "Value": 174, + "Series": "Toys" + }, + { + "Date": "2022-05-04", + "Value": 179, + "Series": "Toys" + }, + { + "Date": "2022-05-09", + "Value": 174, + "Series": "Toys" + }, + { + "Date": "2022-05-15", + "Value": 179, + "Series": "Toys" + }, + { + "Date": "2022-05-20", + "Value": 187, + "Series": "Toys" + }, + { + "Date": "2022-05-26", + "Value": 196, + "Series": "Toys" + }, + { + "Date": "2022-05-31", + "Value": 206, + "Series": "Toys" + }, + { + "Date": "2022-06-05", + "Value": 217, + "Series": "Toys" + }, + { + "Date": "2022-06-11", + "Value": 234, + "Series": "Toys" + }, + { + "Date": "2022-06-16", + "Value": 238, + "Series": "Toys" + }, + { + "Date": "2022-06-22", + "Value": 245, + "Series": "Toys" + }, + { + "Date": "2022-06-27", + "Value": 245, + "Series": "Toys" + }, + { + "Date": "2022-07-03", + "Value": 254, + "Series": "Toys" + }, + { + "Date": "2022-07-08", + "Value": 267, + "Series": "Toys" + }, + { + "Date": "2022-07-14", + "Value": 267, + "Series": "Toys" + }, + { + "Date": "2022-07-19", + "Value": 275, + "Series": "Toys" + }, + { + "Date": "2022-07-25", + "Value": 272, + "Series": "Toys" + }, + { + "Date": "2022-07-30", + "Value": 270, + "Series": "Toys" + }, + { + "Date": "2022-08-05", + "Value": 267, + "Series": "Toys" + }, + { + "Date": "2022-08-10", + "Value": 270, + "Series": "Toys" + }, + { + "Date": "2022-08-16", + "Value": 266, + "Series": "Toys" + }, + { + "Date": "2022-08-21", + "Value": 257, + "Series": "Toys" + }, + { + "Date": "2022-08-27", + "Value": 244, + "Series": "Toys" + }, + { + "Date": "2022-09-01", + "Value": 228, + "Series": "Toys" + }, + { + "Date": "2022-09-07", + "Value": 222, + "Series": "Toys" + }, + { + "Date": "2022-09-12", + "Value": 210, + "Series": "Toys" + }, + { + "Date": "2022-09-17", + "Value": 193, + "Series": "Toys" + }, + { + "Date": "2022-09-23", + "Value": 188, + "Series": "Toys" + }, + { + "Date": "2022-09-28", + "Value": 180, + "Series": "Toys" + }, + { + "Date": "2022-10-04", + "Value": 178, + "Series": "Toys" + }, + { + "Date": "2022-10-09", + "Value": 183, + "Series": "Toys" + }, + { + "Date": "2022-10-15", + "Value": 188, + "Series": "Toys" + }, + { + "Date": "2022-10-20", + "Value": 182, + "Series": "Toys" + }, + { + "Date": "2022-10-26", + "Value": 186, + "Series": "Toys" + }, + { + "Date": "2022-10-31", + "Value": 185, + "Series": "Toys" + }, + { + "Date": "2022-11-06", + "Value": 179, + "Series": "Toys" + }, + { + "Date": "2022-11-11", + "Value": 166, + "Series": "Toys" + }, + { + "Date": "2022-11-17", + "Value": 158, + "Series": "Toys" + }, + { + "Date": "2022-11-22", + "Value": 161, + "Series": "Toys" + }, + { + "Date": "2022-11-28", + "Value": 169, + "Series": "Toys" + }, + { + "Date": "2022-12-03", + "Value": 174, + "Series": "Toys" + }, + { + "Date": "2022-12-09", + "Value": 168, + "Series": "Toys" + }, + { + "Date": "2022-12-14", + "Value": 174, + "Series": "Toys" + }, + { + "Date": "2022-12-20", + "Value": 182, + "Series": "Toys" + }, + { + "Date": "2022-12-25", + "Value": 190, + "Series": "Toys" + }, + { + "Date": "2020-01-01", + "Value": 206, + "Series": "Music" + }, + { + "Date": "2020-01-06", + "Value": 197, + "Series": "Music" + }, + { + "Date": "2020-01-11", + "Value": 196, + "Series": "Music" + }, + { + "Date": "2020-01-17", + "Value": 199, + "Series": "Music" + }, + { + "Date": "2020-01-22", + "Value": 208, + "Series": "Music" + }, + { + "Date": "2020-01-28", + "Value": 217, + "Series": "Music" + }, + { + "Date": "2020-02-02", + "Value": 228, + "Series": "Music" + }, + { + "Date": "2020-02-08", + "Value": 245, + "Series": "Music" + }, + { + "Date": "2020-02-13", + "Value": 253, + "Series": "Music" + }, + { + "Date": "2020-02-19", + "Value": 252, + "Series": "Music" + }, + { + "Date": "2020-02-24", + "Value": 255, + "Series": "Music" + }, + { + "Date": "2020-03-01", + "Value": 263, + "Series": "Music" + }, + { + "Date": "2020-03-06", + "Value": 261, + "Series": "Music" + }, + { + "Date": "2020-03-12", + "Value": 253, + "Series": "Music" + }, + { + "Date": "2020-03-17", + "Value": 251, + "Series": "Music" + }, + { + "Date": "2020-03-23", + "Value": 245, + "Series": "Music" + }, + { + "Date": "2020-03-28", + "Value": 243, + "Series": "Music" + }, + { + "Date": "2020-04-03", + "Value": 245, + "Series": "Music" + }, + { + "Date": "2020-04-08", + "Value": 247, + "Series": "Music" + }, + { + "Date": "2020-04-14", + "Value": 243, + "Series": "Music" + }, + { + "Date": "2020-04-19", + "Value": 249, + "Series": "Music" + }, + { + "Date": "2020-04-24", + "Value": 259, + "Series": "Music" + }, + { + "Date": "2020-04-30", + "Value": 265, + "Series": "Music" + }, + { + "Date": "2020-05-05", + "Value": 276, + "Series": "Music" + }, + { + "Date": "2020-05-11", + "Value": 281, + "Series": "Music" + }, + { + "Date": "2020-05-16", + "Value": 292, + "Series": "Music" + }, + { + "Date": "2020-05-22", + "Value": 291, + "Series": "Music" + }, + { + "Date": "2020-05-27", + "Value": 287, + "Series": "Music" + }, + { + "Date": "2020-06-02", + "Value": 291, + "Series": "Music" + }, + { + "Date": "2020-06-07", + "Value": 289, + "Series": "Music" + }, + { + "Date": "2020-06-13", + "Value": 285, + "Series": "Music" + }, + { + "Date": "2020-06-18", + "Value": 280, + "Series": "Music" + }, + { + "Date": "2020-06-24", + "Value": 269, + "Series": "Music" + }, + { + "Date": "2020-06-29", + "Value": 252, + "Series": "Music" + }, + { + "Date": "2020-07-05", + "Value": 232, + "Series": "Music" + }, + { + "Date": "2020-07-10", + "Value": 213, + "Series": "Music" + }, + { + "Date": "2020-07-16", + "Value": 194, + "Series": "Music" + }, + { + "Date": "2020-07-21", + "Value": 175, + "Series": "Music" + }, + { + "Date": "2020-07-27", + "Value": 163, + "Series": "Music" + }, + { + "Date": "2020-08-01", + "Value": 149, + "Series": "Music" + }, + { + "Date": "2020-08-07", + "Value": 131, + "Series": "Music" + }, + { + "Date": "2020-08-12", + "Value": 122, + "Series": "Music" + }, + { + "Date": "2020-08-17", + "Value": 108, + "Series": "Music" + }, + { + "Date": "2020-08-23", + "Value": 99, + "Series": "Music" + }, + { + "Date": "2020-08-28", + "Value": 95, + "Series": "Music" + }, + { + "Date": "2020-09-03", + "Value": 93, + "Series": "Music" + }, + { + "Date": "2020-09-08", + "Value": 94, + "Series": "Music" + }, + { + "Date": "2020-09-14", + "Value": 97, + "Series": "Music" + }, + { + "Date": "2020-09-19", + "Value": 97, + "Series": "Music" + }, + { + "Date": "2020-09-25", + "Value": 105, + "Series": "Music" + }, + { + "Date": "2020-09-30", + "Value": 117, + "Series": "Music" + }, + { + "Date": "2020-10-06", + "Value": 121, + "Series": "Music" + }, + { + "Date": "2020-10-11", + "Value": 120, + "Series": "Music" + }, + { + "Date": "2020-10-17", + "Value": 125, + "Series": "Music" + }, + { + "Date": "2020-10-22", + "Value": 131, + "Series": "Music" + }, + { + "Date": "2020-10-28", + "Value": 127, + "Series": "Music" + }, + { + "Date": "2020-11-02", + "Value": 120, + "Series": "Music" + }, + { + "Date": "2020-11-08", + "Value": 109, + "Series": "Music" + }, + { + "Date": "2020-11-13", + "Value": 107, + "Series": "Music" + }, + { + "Date": "2020-11-19", + "Value": 108, + "Series": "Music" + }, + { + "Date": "2020-11-24", + "Value": 103, + "Series": "Music" + }, + { + "Date": "2020-11-29", + "Value": 94, + "Series": "Music" + }, + { + "Date": "2020-12-05", + "Value": 86, + "Series": "Music" + }, + { + "Date": "2020-12-10", + "Value": 75, + "Series": "Music" + }, + { + "Date": "2020-12-16", + "Value": 61, + "Series": "Music" + }, + { + "Date": "2020-12-21", + "Value": 49, + "Series": "Music" + }, + { + "Date": "2020-12-27", + "Value": 36, + "Series": "Music" + }, + { + "Date": "2021-01-01", + "Value": 29, + "Series": "Music" + }, + { + "Date": "2021-01-07", + "Value": 29, + "Series": "Music" + }, + { + "Date": "2021-01-12", + "Value": 37, + "Series": "Music" + }, + { + "Date": "2021-01-18", + "Value": 40, + "Series": "Music" + }, + { + "Date": "2021-01-23", + "Value": 42, + "Series": "Music" + }, + { + "Date": "2021-01-29", + "Value": 41, + "Series": "Music" + }, + { + "Date": "2021-02-03", + "Value": 44, + "Series": "Music" + }, + { + "Date": "2021-02-09", + "Value": 41, + "Series": "Music" + }, + { + "Date": "2021-02-14", + "Value": 46, + "Series": "Music" + }, + { + "Date": "2021-02-20", + "Value": 46, + "Series": "Music" + }, + { + "Date": "2021-02-25", + "Value": 50, + "Series": "Music" + }, + { + "Date": "2021-03-03", + "Value": 54, + "Series": "Music" + }, + { + "Date": "2021-03-08", + "Value": 59, + "Series": "Music" + }, + { + "Date": "2021-03-14", + "Value": 62, + "Series": "Music" + }, + { + "Date": "2021-03-19", + "Value": 57, + "Series": "Music" + }, + { + "Date": "2021-03-24", + "Value": 56, + "Series": "Music" + }, + { + "Date": "2021-03-30", + "Value": 57, + "Series": "Music" + }, + { + "Date": "2021-04-04", + "Value": 50, + "Series": "Music" + }, + { + "Date": "2021-04-10", + "Value": 48, + "Series": "Music" + }, + { + "Date": "2021-04-15", + "Value": 42, + "Series": "Music" + }, + { + "Date": "2021-04-21", + "Value": 39, + "Series": "Music" + }, + { + "Date": "2021-04-26", + "Value": 42, + "Series": "Music" + }, + { + "Date": "2021-05-02", + "Value": 47, + "Series": "Music" + }, + { + "Date": "2021-05-07", + "Value": 58, + "Series": "Music" + }, + { + "Date": "2021-05-13", + "Value": 63, + "Series": "Music" + }, + { + "Date": "2021-05-18", + "Value": 73, + "Series": "Music" + }, + { + "Date": "2021-05-24", + "Value": 84, + "Series": "Music" + }, + { + "Date": "2021-05-29", + "Value": 87, + "Series": "Music" + }, + { + "Date": "2021-06-04", + "Value": 96, + "Series": "Music" + }, + { + "Date": "2021-06-09", + "Value": 104, + "Series": "Music" + }, + { + "Date": "2021-06-15", + "Value": 104, + "Series": "Music" + }, + { + "Date": "2021-06-20", + "Value": 112, + "Series": "Music" + }, + { + "Date": "2021-06-26", + "Value": 109, + "Series": "Music" + }, + { + "Date": "2021-07-01", + "Value": 106, + "Series": "Music" + }, + { + "Date": "2021-07-06", + "Value": 107, + "Series": "Music" + }, + { + "Date": "2021-07-12", + "Value": 110, + "Series": "Music" + }, + { + "Date": "2021-07-17", + "Value": 115, + "Series": "Music" + }, + { + "Date": "2021-07-23", + "Value": 117, + "Series": "Music" + }, + { + "Date": "2021-07-28", + "Value": 127, + "Series": "Music" + }, + { + "Date": "2021-08-03", + "Value": 127, + "Series": "Music" + }, + { + "Date": "2021-08-08", + "Value": 130, + "Series": "Music" + }, + { + "Date": "2021-08-14", + "Value": 132, + "Series": "Music" + }, + { + "Date": "2021-08-19", + "Value": 136, + "Series": "Music" + }, + { + "Date": "2021-08-25", + "Value": 135, + "Series": "Music" + }, + { + "Date": "2021-08-30", + "Value": 136, + "Series": "Music" + }, + { + "Date": "2021-09-05", + "Value": 143, + "Series": "Music" + }, + { + "Date": "2021-09-10", + "Value": 145, + "Series": "Music" + }, + { + "Date": "2021-09-16", + "Value": 150, + "Series": "Music" + }, + { + "Date": "2021-09-21", + "Value": 155, + "Series": "Music" + }, + { + "Date": "2021-09-27", + "Value": 163, + "Series": "Music" + }, + { + "Date": "2021-10-02", + "Value": 165, + "Series": "Music" + }, + { + "Date": "2021-10-08", + "Value": 165, + "Series": "Music" + }, + { + "Date": "2021-10-13", + "Value": 163, + "Series": "Music" + }, + { + "Date": "2021-10-19", + "Value": 163, + "Series": "Music" + }, + { + "Date": "2021-10-24", + "Value": 167, + "Series": "Music" + }, + { + "Date": "2021-10-29", + "Value": 168, + "Series": "Music" + }, + { + "Date": "2021-11-04", + "Value": 170, + "Series": "Music" + }, + { + "Date": "2021-11-09", + "Value": 165, + "Series": "Music" + }, + { + "Date": "2021-11-15", + "Value": 170, + "Series": "Music" + }, + { + "Date": "2021-11-20", + "Value": 181, + "Series": "Music" + }, + { + "Date": "2021-11-26", + "Value": 188, + "Series": "Music" + }, + { + "Date": "2021-12-01", + "Value": 185, + "Series": "Music" + }, + { + "Date": "2021-12-07", + "Value": 189, + "Series": "Music" + }, + { + "Date": "2021-12-12", + "Value": 200, + "Series": "Music" + }, + { + "Date": "2021-12-18", + "Value": 215, + "Series": "Music" + }, + { + "Date": "2021-12-23", + "Value": 230, + "Series": "Music" + }, + { + "Date": "2021-12-29", + "Value": 238, + "Series": "Music" + }, + { + "Date": "2022-01-03", + "Value": 235, + "Series": "Music" + }, + { + "Date": "2022-01-09", + "Value": 225, + "Series": "Music" + }, + { + "Date": "2022-01-14", + "Value": 220, + "Series": "Music" + }, + { + "Date": "2022-01-20", + "Value": 210, + "Series": "Music" + }, + { + "Date": "2022-01-25", + "Value": 205, + "Series": "Music" + }, + { + "Date": "2022-01-31", + "Value": 199, + "Series": "Music" + }, + { + "Date": "2022-02-05", + "Value": 194, + "Series": "Music" + }, + { + "Date": "2022-02-10", + "Value": 181, + "Series": "Music" + }, + { + "Date": "2022-02-16", + "Value": 180, + "Series": "Music" + }, + { + "Date": "2022-02-21", + "Value": 175, + "Series": "Music" + }, + { + "Date": "2022-02-27", + "Value": 170, + "Series": "Music" + }, + { + "Date": "2022-03-04", + "Value": 174, + "Series": "Music" + }, + { + "Date": "2022-03-10", + "Value": 177, + "Series": "Music" + }, + { + "Date": "2022-03-15", + "Value": 183, + "Series": "Music" + }, + { + "Date": "2022-03-21", + "Value": 187, + "Series": "Music" + }, + { + "Date": "2022-03-26", + "Value": 196, + "Series": "Music" + }, + { + "Date": "2022-04-01", + "Value": 194, + "Series": "Music" + }, + { + "Date": "2022-04-06", + "Value": 195, + "Series": "Music" + }, + { + "Date": "2022-04-12", + "Value": 190, + "Series": "Music" + }, + { + "Date": "2022-04-17", + "Value": 194, + "Series": "Music" + }, + { + "Date": "2022-04-23", + "Value": 196, + "Series": "Music" + }, + { + "Date": "2022-04-28", + "Value": 189, + "Series": "Music" + }, + { + "Date": "2022-05-04", + "Value": 177, + "Series": "Music" + }, + { + "Date": "2022-05-09", + "Value": 174, + "Series": "Music" + }, + { + "Date": "2022-05-15", + "Value": 167, + "Series": "Music" + }, + { + "Date": "2022-05-20", + "Value": 168, + "Series": "Music" + }, + { + "Date": "2022-05-26", + "Value": 173, + "Series": "Music" + }, + { + "Date": "2022-05-31", + "Value": 171, + "Series": "Music" + }, + { + "Date": "2022-06-05", + "Value": 165, + "Series": "Music" + }, + { + "Date": "2022-06-11", + "Value": 153, + "Series": "Music" + }, + { + "Date": "2022-06-16", + "Value": 145, + "Series": "Music" + }, + { + "Date": "2022-06-22", + "Value": 133, + "Series": "Music" + }, + { + "Date": "2022-06-27", + "Value": 125, + "Series": "Music" + }, + { + "Date": "2022-07-03", + "Value": 111, + "Series": "Music" + }, + { + "Date": "2022-07-08", + "Value": 96, + "Series": "Music" + }, + { + "Date": "2022-07-14", + "Value": 87, + "Series": "Music" + }, + { + "Date": "2022-07-19", + "Value": 73, + "Series": "Music" + }, + { + "Date": "2022-07-25", + "Value": 60, + "Series": "Music" + }, + { + "Date": "2022-07-30", + "Value": 57, + "Series": "Music" + }, + { + "Date": "2022-08-05", + "Value": 48, + "Series": "Music" + }, + { + "Date": "2022-08-10", + "Value": 43, + "Series": "Music" + }, + { + "Date": "2022-08-16", + "Value": 36, + "Series": "Music" + }, + { + "Date": "2022-08-21", + "Value": 30, + "Series": "Music" + }, + { + "Date": "2022-08-27", + "Value": 23, + "Series": "Music" + }, + { + "Date": "2022-09-01", + "Value": 26, + "Series": "Music" + }, + { + "Date": "2022-09-07", + "Value": 27, + "Series": "Music" + }, + { + "Date": "2022-09-12", + "Value": 25, + "Series": "Music" + }, + { + "Date": "2022-09-17", + "Value": 26, + "Series": "Music" + }, + { + "Date": "2022-09-23", + "Value": 27, + "Series": "Music" + }, + { + "Date": "2022-09-28", + "Value": 22, + "Series": "Music" + }, + { + "Date": "2022-10-04", + "Value": 10, + "Series": "Music" + }, + { + "Date": "2022-10-09", + "Value": 10, + "Series": "Music" + }, + { + "Date": "2022-10-15", + "Value": 11, + "Series": "Music" + }, + { + "Date": "2022-10-20", + "Value": 4, + "Series": "Music" + }, + { + "Date": "2022-10-26", + "Value": 5, + "Series": "Music" + }, + { + "Date": "2022-10-31", + "Value": 8, + "Series": "Music" + }, + { + "Date": "2022-11-06", + "Value": 19, + "Series": "Music" + }, + { + "Date": "2022-11-11", + "Value": 34, + "Series": "Music" + }, + { + "Date": "2022-11-17", + "Value": 37, + "Series": "Music" + }, + { + "Date": "2022-11-22", + "Value": 40, + "Series": "Music" + }, + { + "Date": "2022-11-28", + "Value": 36, + "Series": "Music" + }, + { + "Date": "2022-12-03", + "Value": 41, + "Series": "Music" + }, + { + "Date": "2022-12-09", + "Value": 53, + "Series": "Music" + }, + { + "Date": "2022-12-14", + "Value": 56, + "Series": "Music" + }, + { + "Date": "2022-12-20", + "Value": 62, + "Series": "Music" + }, + { + "Date": "2022-12-25", + "Value": 57, + "Series": "Music" + }, + { + "Date": "2020-01-01", + "Value": 240, + "Series": "Movies" + }, + { + "Date": "2020-01-06", + "Value": 252, + "Series": "Movies" + }, + { + "Date": "2020-01-11", + "Value": 269, + "Series": "Movies" + }, + { + "Date": "2020-01-17", + "Value": 269, + "Series": "Movies" + }, + { + "Date": "2020-01-22", + "Value": 272, + "Series": "Movies" + }, + { + "Date": "2020-01-28", + "Value": 289, + "Series": "Movies" + }, + { + "Date": "2020-02-02", + "Value": 302, + "Series": "Movies" + }, + { + "Date": "2020-02-08", + "Value": 299, + "Series": "Movies" + }, + { + "Date": "2020-02-13", + "Value": 296, + "Series": "Movies" + }, + { + "Date": "2020-02-19", + "Value": 297, + "Series": "Movies" + }, + { + "Date": "2020-02-24", + "Value": 309, + "Series": "Movies" + }, + { + "Date": "2020-03-01", + "Value": 331, + "Series": "Movies" + }, + { + "Date": "2020-03-06", + "Value": 332, + "Series": "Movies" + }, + { + "Date": "2020-03-12", + "Value": 326, + "Series": "Movies" + }, + { + "Date": "2020-03-17", + "Value": 321, + "Series": "Movies" + }, + { + "Date": "2020-03-23", + "Value": 329, + "Series": "Movies" + }, + { + "Date": "2020-03-28", + "Value": 324, + "Series": "Movies" + }, + { + "Date": "2020-04-03", + "Value": 331, + "Series": "Movies" + }, + { + "Date": "2020-04-08", + "Value": 344, + "Series": "Movies" + }, + { + "Date": "2020-04-14", + "Value": 341, + "Series": "Movies" + }, + { + "Date": "2020-04-19", + "Value": 338, + "Series": "Movies" + }, + { + "Date": "2020-04-24", + "Value": 320, + "Series": "Movies" + }, + { + "Date": "2020-04-30", + "Value": 315, + "Series": "Movies" + }, + { + "Date": "2020-05-05", + "Value": 319, + "Series": "Movies" + }, + { + "Date": "2020-05-11", + "Value": 319, + "Series": "Movies" + }, + { + "Date": "2020-05-16", + "Value": 316, + "Series": "Movies" + }, + { + "Date": "2020-05-22", + "Value": 301, + "Series": "Movies" + }, + { + "Date": "2020-05-27", + "Value": 273, + "Series": "Movies" + }, + { + "Date": "2020-06-02", + "Value": 268, + "Series": "Movies" + }, + { + "Date": "2020-06-07", + "Value": 250, + "Series": "Movies" + }, + { + "Date": "2020-06-13", + "Value": 223, + "Series": "Movies" + }, + { + "Date": "2020-06-18", + "Value": 221, + "Series": "Movies" + }, + { + "Date": "2020-06-24", + "Value": 209, + "Series": "Movies" + }, + { + "Date": "2020-06-29", + "Value": 199, + "Series": "Movies" + }, + { + "Date": "2020-07-05", + "Value": 209, + "Series": "Movies" + }, + { + "Date": "2020-07-10", + "Value": 205, + "Series": "Movies" + }, + { + "Date": "2020-07-16", + "Value": 218, + "Series": "Movies" + }, + { + "Date": "2020-07-21", + "Value": 216, + "Series": "Movies" + }, + { + "Date": "2020-07-27", + "Value": 204, + "Series": "Movies" + }, + { + "Date": "2020-08-01", + "Value": 204, + "Series": "Movies" + }, + { + "Date": "2020-08-07", + "Value": 201, + "Series": "Movies" + }, + { + "Date": "2020-08-12", + "Value": 201, + "Series": "Movies" + }, + { + "Date": "2020-08-17", + "Value": 198, + "Series": "Movies" + }, + { + "Date": "2020-08-23", + "Value": 192, + "Series": "Movies" + }, + { + "Date": "2020-08-28", + "Value": 201, + "Series": "Movies" + }, + { + "Date": "2020-09-03", + "Value": 194, + "Series": "Movies" + }, + { + "Date": "2020-09-08", + "Value": 196, + "Series": "Movies" + }, + { + "Date": "2020-09-14", + "Value": 214, + "Series": "Movies" + }, + { + "Date": "2020-09-19", + "Value": 221, + "Series": "Movies" + }, + { + "Date": "2020-09-25", + "Value": 213, + "Series": "Movies" + }, + { + "Date": "2020-09-30", + "Value": 218, + "Series": "Movies" + }, + { + "Date": "2020-10-06", + "Value": 217, + "Series": "Movies" + }, + { + "Date": "2020-10-11", + "Value": 208, + "Series": "Movies" + }, + { + "Date": "2020-10-17", + "Value": 210, + "Series": "Movies" + }, + { + "Date": "2020-10-22", + "Value": 224, + "Series": "Movies" + }, + { + "Date": "2020-10-28", + "Value": 240, + "Series": "Movies" + }, + { + "Date": "2020-11-02", + "Value": 246, + "Series": "Movies" + }, + { + "Date": "2020-11-08", + "Value": 265, + "Series": "Movies" + }, + { + "Date": "2020-11-13", + "Value": 269, + "Series": "Movies" + }, + { + "Date": "2020-11-19", + "Value": 274, + "Series": "Movies" + }, + { + "Date": "2020-11-24", + "Value": 262, + "Series": "Movies" + }, + { + "Date": "2020-11-29", + "Value": 260, + "Series": "Movies" + }, + { + "Date": "2020-12-05", + "Value": 265, + "Series": "Movies" + }, + { + "Date": "2020-12-10", + "Value": 255, + "Series": "Movies" + }, + { + "Date": "2020-12-16", + "Value": 246, + "Series": "Movies" + }, + { + "Date": "2020-12-21", + "Value": 251, + "Series": "Movies" + }, + { + "Date": "2020-12-27", + "Value": 270, + "Series": "Movies" + }, + { + "Date": "2021-01-01", + "Value": 300, + "Series": "Movies" + }, + { + "Date": "2021-01-07", + "Value": 323, + "Series": "Movies" + }, + { + "Date": "2021-01-12", + "Value": 325, + "Series": "Movies" + }, + { + "Date": "2021-01-18", + "Value": 316, + "Series": "Movies" + }, + { + "Date": "2021-01-23", + "Value": 302, + "Series": "Movies" + }, + { + "Date": "2021-01-29", + "Value": 286, + "Series": "Movies" + }, + { + "Date": "2021-02-03", + "Value": 288, + "Series": "Movies" + }, + { + "Date": "2021-02-09", + "Value": 291, + "Series": "Movies" + }, + { + "Date": "2021-02-14", + "Value": 300, + "Series": "Movies" + }, + { + "Date": "2021-02-20", + "Value": 319, + "Series": "Movies" + }, + { + "Date": "2021-02-25", + "Value": 326, + "Series": "Movies" + }, + { + "Date": "2021-03-03", + "Value": 325, + "Series": "Movies" + }, + { + "Date": "2021-03-08", + "Value": 324, + "Series": "Movies" + }, + { + "Date": "2021-03-14", + "Value": 313, + "Series": "Movies" + }, + { + "Date": "2021-03-19", + "Value": 318, + "Series": "Movies" + }, + { + "Date": "2021-03-24", + "Value": 338, + "Series": "Movies" + }, + { + "Date": "2021-03-30", + "Value": 358, + "Series": "Movies" + }, + { + "Date": "2021-04-04", + "Value": 383, + "Series": "Movies" + }, + { + "Date": "2021-04-10", + "Value": 397, + "Series": "Movies" + }, + { + "Date": "2021-04-15", + "Value": 415, + "Series": "Movies" + }, + { + "Date": "2021-04-21", + "Value": 413, + "Series": "Movies" + }, + { + "Date": "2021-04-26", + "Value": 400, + "Series": "Movies" + }, + { + "Date": "2021-05-02", + "Value": 389, + "Series": "Movies" + }, + { + "Date": "2021-05-07", + "Value": 372, + "Series": "Movies" + }, + { + "Date": "2021-05-13", + "Value": 350, + "Series": "Movies" + }, + { + "Date": "2021-05-18", + "Value": 334, + "Series": "Movies" + }, + { + "Date": "2021-05-24", + "Value": 316, + "Series": "Movies" + }, + { + "Date": "2021-05-29", + "Value": 309, + "Series": "Movies" + }, + { + "Date": "2021-06-04", + "Value": 310, + "Series": "Movies" + }, + { + "Date": "2021-06-09", + "Value": 327, + "Series": "Movies" + }, + { + "Date": "2021-06-15", + "Value": 343, + "Series": "Movies" + }, + { + "Date": "2021-06-20", + "Value": 345, + "Series": "Movies" + }, + { + "Date": "2021-06-26", + "Value": 354, + "Series": "Movies" + }, + { + "Date": "2021-07-01", + "Value": 366, + "Series": "Movies" + }, + { + "Date": "2021-07-06", + "Value": 365, + "Series": "Movies" + }, + { + "Date": "2021-07-12", + "Value": 376, + "Series": "Movies" + }, + { + "Date": "2021-07-17", + "Value": 394, + "Series": "Movies" + }, + { + "Date": "2021-07-23", + "Value": 414, + "Series": "Movies" + }, + { + "Date": "2021-07-28", + "Value": 411, + "Series": "Movies" + }, + { + "Date": "2021-08-03", + "Value": 394, + "Series": "Movies" + }, + { + "Date": "2021-08-08", + "Value": 369, + "Series": "Movies" + }, + { + "Date": "2021-08-14", + "Value": 352, + "Series": "Movies" + }, + { + "Date": "2021-08-19", + "Value": 348, + "Series": "Movies" + }, + { + "Date": "2021-08-25", + "Value": 343, + "Series": "Movies" + }, + { + "Date": "2021-08-30", + "Value": 342, + "Series": "Movies" + }, + { + "Date": "2021-09-05", + "Value": 333, + "Series": "Movies" + }, + { + "Date": "2021-09-10", + "Value": 321, + "Series": "Movies" + }, + { + "Date": "2021-09-16", + "Value": 322, + "Series": "Movies" + }, + { + "Date": "2021-09-21", + "Value": 310, + "Series": "Movies" + }, + { + "Date": "2021-09-27", + "Value": 287, + "Series": "Movies" + }, + { + "Date": "2021-10-02", + "Value": 283, + "Series": "Movies" + }, + { + "Date": "2021-10-08", + "Value": 297, + "Series": "Movies" + }, + { + "Date": "2021-10-13", + "Value": 295, + "Series": "Movies" + }, + { + "Date": "2021-10-19", + "Value": 288, + "Series": "Movies" + }, + { + "Date": "2021-10-24", + "Value": 284, + "Series": "Movies" + }, + { + "Date": "2021-10-29", + "Value": 295, + "Series": "Movies" + }, + { + "Date": "2021-11-04", + "Value": 312, + "Series": "Movies" + }, + { + "Date": "2021-11-09", + "Value": 316, + "Series": "Movies" + }, + { + "Date": "2021-11-15", + "Value": 313, + "Series": "Movies" + }, + { + "Date": "2021-11-20", + "Value": 320, + "Series": "Movies" + }, + { + "Date": "2021-11-26", + "Value": 340, + "Series": "Movies" + }, + { + "Date": "2021-12-01", + "Value": 355, + "Series": "Movies" + }, + { + "Date": "2021-12-07", + "Value": 359, + "Series": "Movies" + }, + { + "Date": "2021-12-12", + "Value": 356, + "Series": "Movies" + }, + { + "Date": "2021-12-18", + "Value": 371, + "Series": "Movies" + }, + { + "Date": "2021-12-23", + "Value": 397, + "Series": "Movies" + }, + { + "Date": "2021-12-29", + "Value": 410, + "Series": "Movies" + }, + { + "Date": "2022-01-03", + "Value": 417, + "Series": "Movies" + }, + { + "Date": "2022-01-09", + "Value": 415, + "Series": "Movies" + }, + { + "Date": "2022-01-14", + "Value": 419, + "Series": "Movies" + }, + { + "Date": "2022-01-20", + "Value": 432, + "Series": "Movies" + }, + { + "Date": "2022-01-25", + "Value": 431, + "Series": "Movies" + }, + { + "Date": "2022-01-31", + "Value": 445, + "Series": "Movies" + }, + { + "Date": "2022-02-05", + "Value": 447, + "Series": "Movies" + }, + { + "Date": "2022-02-10", + "Value": 433, + "Series": "Movies" + }, + { + "Date": "2022-02-16", + "Value": 413, + "Series": "Movies" + }, + { + "Date": "2022-02-21", + "Value": 393, + "Series": "Movies" + }, + { + "Date": "2022-02-27", + "Value": 384, + "Series": "Movies" + }, + { + "Date": "2022-03-04", + "Value": 370, + "Series": "Movies" + }, + { + "Date": "2022-03-10", + "Value": 370, + "Series": "Movies" + }, + { + "Date": "2022-03-15", + "Value": 367, + "Series": "Movies" + }, + { + "Date": "2022-03-21", + "Value": 366, + "Series": "Movies" + }, + { + "Date": "2022-03-26", + "Value": 362, + "Series": "Movies" + }, + { + "Date": "2022-04-01", + "Value": 345, + "Series": "Movies" + }, + { + "Date": "2022-04-06", + "Value": 316, + "Series": "Movies" + }, + { + "Date": "2022-04-12", + "Value": 310, + "Series": "Movies" + }, + { + "Date": "2022-04-17", + "Value": 297, + "Series": "Movies" + }, + { + "Date": "2022-04-23", + "Value": 278, + "Series": "Movies" + }, + { + "Date": "2022-04-28", + "Value": 256, + "Series": "Movies" + }, + { + "Date": "2022-05-04", + "Value": 236, + "Series": "Movies" + }, + { + "Date": "2022-05-09", + "Value": 239, + "Series": "Movies" + }, + { + "Date": "2022-05-15", + "Value": 225, + "Series": "Movies" + }, + { + "Date": "2022-05-20", + "Value": 199, + "Series": "Movies" + }, + { + "Date": "2022-05-26", + "Value": 186, + "Series": "Movies" + }, + { + "Date": "2022-05-31", + "Value": 162, + "Series": "Movies" + }, + { + "Date": "2022-06-05", + "Value": 139, + "Series": "Movies" + }, + { + "Date": "2022-06-11", + "Value": 130, + "Series": "Movies" + }, + { + "Date": "2022-06-16", + "Value": 114, + "Series": "Movies" + }, + { + "Date": "2022-06-22", + "Value": 107, + "Series": "Movies" + }, + { + "Date": "2022-06-27", + "Value": 117, + "Series": "Movies" + }, + { + "Date": "2022-07-03", + "Value": 109, + "Series": "Movies" + }, + { + "Date": "2022-07-08", + "Value": 120, + "Series": "Movies" + }, + { + "Date": "2022-07-14", + "Value": 136, + "Series": "Movies" + }, + { + "Date": "2022-07-19", + "Value": 142, + "Series": "Movies" + }, + { + "Date": "2022-07-25", + "Value": 142, + "Series": "Movies" + }, + { + "Date": "2022-07-30", + "Value": 129, + "Series": "Movies" + }, + { + "Date": "2022-08-05", + "Value": 130, + "Series": "Movies" + }, + { + "Date": "2022-08-10", + "Value": 119, + "Series": "Movies" + }, + { + "Date": "2022-08-16", + "Value": 115, + "Series": "Movies" + }, + { + "Date": "2022-08-21", + "Value": 120, + "Series": "Movies" + }, + { + "Date": "2022-08-27", + "Value": 108, + "Series": "Movies" + }, + { + "Date": "2022-09-01", + "Value": 100, + "Series": "Movies" + }, + { + "Date": "2022-09-07", + "Value": 82, + "Series": "Movies" + }, + { + "Date": "2022-09-12", + "Value": 78, + "Series": "Movies" + }, + { + "Date": "2022-09-17", + "Value": 72, + "Series": "Movies" + }, + { + "Date": "2022-09-23", + "Value": 77, + "Series": "Movies" + }, + { + "Date": "2022-09-28", + "Value": 78, + "Series": "Movies" + }, + { + "Date": "2022-10-04", + "Value": 83, + "Series": "Movies" + }, + { + "Date": "2022-10-09", + "Value": 71, + "Series": "Movies" + }, + { + "Date": "2022-10-15", + "Value": 60, + "Series": "Movies" + }, + { + "Date": "2022-10-20", + "Value": 36, + "Series": "Movies" + }, + { + "Date": "2022-10-26", + "Value": 7, + "Series": "Movies" + }, + { + "Date": "2022-10-31", + "Value": 0, + "Series": "Movies" + }, + { + "Date": "2022-11-06", + "Value": 0, + "Series": "Movies" + }, + { + "Date": "2022-11-11", + "Value": 10, + "Series": "Movies" + }, + { + "Date": "2022-11-17", + "Value": 24, + "Series": "Movies" + }, + { + "Date": "2022-11-22", + "Value": 34, + "Series": "Movies" + }, + { + "Date": "2022-11-28", + "Value": 45, + "Series": "Movies" + }, + { + "Date": "2022-12-03", + "Value": 53, + "Series": "Movies" + }, + { + "Date": "2022-12-09", + "Value": 64, + "Series": "Movies" + }, + { + "Date": "2022-12-14", + "Value": 86, + "Series": "Movies" + }, + { + "Date": "2022-12-20", + "Value": 102, + "Series": "Movies" + }, + { + "Date": "2022-12-25", + "Value": 102, + "Series": "Movies" + }, + { + "Date": "2020-01-01", + "Value": 229, + "Series": "Software" + }, + { + "Date": "2020-01-06", + "Value": 231, + "Series": "Software" + }, + { + "Date": "2020-01-11", + "Value": 227, + "Series": "Software" + }, + { + "Date": "2020-01-17", + "Value": 224, + "Series": "Software" + }, + { + "Date": "2020-01-22", + "Value": 225, + "Series": "Software" + }, + { + "Date": "2020-01-28", + "Value": 234, + "Series": "Software" + }, + { + "Date": "2020-02-02", + "Value": 247, + "Series": "Software" + }, + { + "Date": "2020-02-08", + "Value": 253, + "Series": "Software" + }, + { + "Date": "2020-02-13", + "Value": 267, + "Series": "Software" + }, + { + "Date": "2020-02-19", + "Value": 281, + "Series": "Software" + }, + { + "Date": "2020-02-24", + "Value": 294, + "Series": "Software" + }, + { + "Date": "2020-03-01", + "Value": 299, + "Series": "Software" + }, + { + "Date": "2020-03-06", + "Value": 313, + "Series": "Software" + }, + { + "Date": "2020-03-12", + "Value": 318, + "Series": "Software" + }, + { + "Date": "2020-03-17", + "Value": 315, + "Series": "Software" + }, + { + "Date": "2020-03-23", + "Value": 313, + "Series": "Software" + }, + { + "Date": "2020-03-28", + "Value": 318, + "Series": "Software" + }, + { + "Date": "2020-04-03", + "Value": 311, + "Series": "Software" + }, + { + "Date": "2020-04-08", + "Value": 295, + "Series": "Software" + }, + { + "Date": "2020-04-14", + "Value": 280, + "Series": "Software" + }, + { + "Date": "2020-04-19", + "Value": 277, + "Series": "Software" + }, + { + "Date": "2020-04-24", + "Value": 270, + "Series": "Software" + }, + { + "Date": "2020-04-30", + "Value": 267, + "Series": "Software" + }, + { + "Date": "2020-05-05", + "Value": 263, + "Series": "Software" + }, + { + "Date": "2020-05-11", + "Value": 267, + "Series": "Software" + }, + { + "Date": "2020-05-16", + "Value": 268, + "Series": "Software" + }, + { + "Date": "2020-05-22", + "Value": 259, + "Series": "Software" + }, + { + "Date": "2020-05-27", + "Value": 254, + "Series": "Software" + }, + { + "Date": "2020-06-02", + "Value": 248, + "Series": "Software" + }, + { + "Date": "2020-06-07", + "Value": 237, + "Series": "Software" + }, + { + "Date": "2020-06-13", + "Value": 224, + "Series": "Software" + }, + { + "Date": "2020-06-18", + "Value": 224, + "Series": "Software" + }, + { + "Date": "2020-06-24", + "Value": 219, + "Series": "Software" + }, + { + "Date": "2020-06-29", + "Value": 208, + "Series": "Software" + }, + { + "Date": "2020-07-05", + "Value": 194, + "Series": "Software" + }, + { + "Date": "2020-07-10", + "Value": 189, + "Series": "Software" + }, + { + "Date": "2020-07-16", + "Value": 196, + "Series": "Software" + }, + { + "Date": "2020-07-21", + "Value": 209, + "Series": "Software" + }, + { + "Date": "2020-07-27", + "Value": 222, + "Series": "Software" + }, + { + "Date": "2020-08-01", + "Value": 233, + "Series": "Software" + }, + { + "Date": "2020-08-07", + "Value": 249, + "Series": "Software" + }, + { + "Date": "2020-08-12", + "Value": 265, + "Series": "Software" + }, + { + "Date": "2020-08-17", + "Value": 278, + "Series": "Software" + }, + { + "Date": "2020-08-23", + "Value": 297, + "Series": "Software" + }, + { + "Date": "2020-08-28", + "Value": 314, + "Series": "Software" + }, + { + "Date": "2020-09-03", + "Value": 324, + "Series": "Software" + }, + { + "Date": "2020-09-08", + "Value": 341, + "Series": "Software" + }, + { + "Date": "2020-09-14", + "Value": 347, + "Series": "Software" + }, + { + "Date": "2020-09-19", + "Value": 355, + "Series": "Software" + }, + { + "Date": "2020-09-25", + "Value": 356, + "Series": "Software" + }, + { + "Date": "2020-09-30", + "Value": 361, + "Series": "Software" + }, + { + "Date": "2020-10-06", + "Value": 375, + "Series": "Software" + }, + { + "Date": "2020-10-11", + "Value": 392, + "Series": "Software" + }, + { + "Date": "2020-10-17", + "Value": 409, + "Series": "Software" + }, + { + "Date": "2020-10-22", + "Value": 428, + "Series": "Software" + }, + { + "Date": "2020-10-28", + "Value": 449, + "Series": "Software" + }, + { + "Date": "2020-11-02", + "Value": 466, + "Series": "Software" + }, + { + "Date": "2020-11-08", + "Value": 470, + "Series": "Software" + }, + { + "Date": "2020-11-13", + "Value": 473, + "Series": "Software" + }, + { + "Date": "2020-11-19", + "Value": 470, + "Series": "Software" + }, + { + "Date": "2020-11-24", + "Value": 477, + "Series": "Software" + }, + { + "Date": "2020-11-29", + "Value": 478, + "Series": "Software" + }, + { + "Date": "2020-12-05", + "Value": 468, + "Series": "Software" + }, + { + "Date": "2020-12-10", + "Value": 454, + "Series": "Software" + }, + { + "Date": "2020-12-16", + "Value": 438, + "Series": "Software" + }, + { + "Date": "2020-12-21", + "Value": 418, + "Series": "Software" + }, + { + "Date": "2020-12-27", + "Value": 404, + "Series": "Software" + }, + { + "Date": "2021-01-01", + "Value": 398, + "Series": "Software" + }, + { + "Date": "2021-01-07", + "Value": 384, + "Series": "Software" + }, + { + "Date": "2021-01-12", + "Value": 365, + "Series": "Software" + }, + { + "Date": "2021-01-18", + "Value": 355, + "Series": "Software" + }, + { + "Date": "2021-01-23", + "Value": 345, + "Series": "Software" + }, + { + "Date": "2021-01-29", + "Value": 329, + "Series": "Software" + }, + { + "Date": "2021-02-03", + "Value": 311, + "Series": "Software" + }, + { + "Date": "2021-02-09", + "Value": 303, + "Series": "Software" + }, + { + "Date": "2021-02-14", + "Value": 301, + "Series": "Software" + }, + { + "Date": "2021-02-20", + "Value": 292, + "Series": "Software" + }, + { + "Date": "2021-02-25", + "Value": 292, + "Series": "Software" + }, + { + "Date": "2021-03-03", + "Value": 288, + "Series": "Software" + }, + { + "Date": "2021-03-08", + "Value": 295, + "Series": "Software" + }, + { + "Date": "2021-03-14", + "Value": 302, + "Series": "Software" + }, + { + "Date": "2021-03-19", + "Value": 306, + "Series": "Software" + }, + { + "Date": "2021-03-24", + "Value": 317, + "Series": "Software" + }, + { + "Date": "2021-03-30", + "Value": 325, + "Series": "Software" + }, + { + "Date": "2021-04-04", + "Value": 320, + "Series": "Software" + }, + { + "Date": "2021-04-10", + "Value": 317, + "Series": "Software" + }, + { + "Date": "2021-04-15", + "Value": 316, + "Series": "Software" + }, + { + "Date": "2021-04-21", + "Value": 318, + "Series": "Software" + }, + { + "Date": "2021-04-26", + "Value": 318, + "Series": "Software" + }, + { + "Date": "2021-05-02", + "Value": 313, + "Series": "Software" + }, + { + "Date": "2021-05-07", + "Value": 299, + "Series": "Software" + }, + { + "Date": "2021-05-13", + "Value": 287, + "Series": "Software" + }, + { + "Date": "2021-05-18", + "Value": 284, + "Series": "Software" + }, + { + "Date": "2021-05-24", + "Value": 286, + "Series": "Software" + }, + { + "Date": "2021-05-29", + "Value": 293, + "Series": "Software" + }, + { + "Date": "2021-06-04", + "Value": 295, + "Series": "Software" + }, + { + "Date": "2021-06-09", + "Value": 292, + "Series": "Software" + }, + { + "Date": "2021-06-15", + "Value": 300, + "Series": "Software" + }, + { + "Date": "2021-06-20", + "Value": 309, + "Series": "Software" + }, + { + "Date": "2021-06-26", + "Value": 321, + "Series": "Software" + }, + { + "Date": "2021-07-01", + "Value": 337, + "Series": "Software" + }, + { + "Date": "2021-07-06", + "Value": 344, + "Series": "Software" + }, + { + "Date": "2021-07-12", + "Value": 358, + "Series": "Software" + }, + { + "Date": "2021-07-17", + "Value": 363, + "Series": "Software" + }, + { + "Date": "2021-07-23", + "Value": 361, + "Series": "Software" + }, + { + "Date": "2021-07-28", + "Value": 366, + "Series": "Software" + }, + { + "Date": "2021-08-03", + "Value": 379, + "Series": "Software" + }, + { + "Date": "2021-08-08", + "Value": 397, + "Series": "Software" + }, + { + "Date": "2021-08-14", + "Value": 409, + "Series": "Software" + }, + { + "Date": "2021-08-19", + "Value": 427, + "Series": "Software" + }, + { + "Date": "2021-08-25", + "Value": 446, + "Series": "Software" + }, + { + "Date": "2021-08-30", + "Value": 467, + "Series": "Software" + }, + { + "Date": "2021-09-05", + "Value": 486, + "Series": "Software" + }, + { + "Date": "2021-09-10", + "Value": 493, + "Series": "Software" + }, + { + "Date": "2021-09-16", + "Value": 498, + "Series": "Software" + }, + { + "Date": "2021-09-21", + "Value": 496, + "Series": "Software" + }, + { + "Date": "2021-09-27", + "Value": 488, + "Series": "Software" + }, + { + "Date": "2021-10-02", + "Value": 486, + "Series": "Software" + }, + { + "Date": "2021-10-08", + "Value": 487, + "Series": "Software" + }, + { + "Date": "2021-10-13", + "Value": 480, + "Series": "Software" + }, + { + "Date": "2021-10-19", + "Value": 472, + "Series": "Software" + }, + { + "Date": "2021-10-24", + "Value": 457, + "Series": "Software" + }, + { + "Date": "2021-10-29", + "Value": 448, + "Series": "Software" + }, + { + "Date": "2021-11-04", + "Value": 448, + "Series": "Software" + }, + { + "Date": "2021-11-09", + "Value": 443, + "Series": "Software" + }, + { + "Date": "2021-11-15", + "Value": 449, + "Series": "Software" + }, + { + "Date": "2021-11-20", + "Value": 455, + "Series": "Software" + }, + { + "Date": "2021-11-26", + "Value": 459, + "Series": "Software" + }, + { + "Date": "2021-12-01", + "Value": 463, + "Series": "Software" + }, + { + "Date": "2021-12-07", + "Value": 469, + "Series": "Software" + }, + { + "Date": "2021-12-12", + "Value": 481, + "Series": "Software" + }, + { + "Date": "2021-12-18", + "Value": 479, + "Series": "Software" + }, + { + "Date": "2021-12-23", + "Value": 486, + "Series": "Software" + }, + { + "Date": "2021-12-29", + "Value": 480, + "Series": "Software" + }, + { + "Date": "2022-01-03", + "Value": 484, + "Series": "Software" + }, + { + "Date": "2022-01-09", + "Value": 489, + "Series": "Software" + }, + { + "Date": "2022-01-14", + "Value": 499, + "Series": "Software" + }, + { + "Date": "2022-01-20", + "Value": 511, + "Series": "Software" + }, + { + "Date": "2022-01-25", + "Value": 526, + "Series": "Software" + }, + { + "Date": "2022-01-31", + "Value": 547, + "Series": "Software" + }, + { + "Date": "2022-02-05", + "Value": 560, + "Series": "Software" + }, + { + "Date": "2022-02-10", + "Value": 575, + "Series": "Software" + }, + { + "Date": "2022-02-16", + "Value": 579, + "Series": "Software" + }, + { + "Date": "2022-02-21", + "Value": 574, + "Series": "Software" + }, + { + "Date": "2022-02-27", + "Value": 562, + "Series": "Software" + }, + { + "Date": "2022-03-04", + "Value": 556, + "Series": "Software" + }, + { + "Date": "2022-03-10", + "Value": 551, + "Series": "Software" + }, + { + "Date": "2022-03-15", + "Value": 548, + "Series": "Software" + }, + { + "Date": "2022-03-21", + "Value": 552, + "Series": "Software" + }, + { + "Date": "2022-03-26", + "Value": 562, + "Series": "Software" + }, + { + "Date": "2022-04-01", + "Value": 565, + "Series": "Software" + }, + { + "Date": "2022-04-06", + "Value": 557, + "Series": "Software" + }, + { + "Date": "2022-04-12", + "Value": 562, + "Series": "Software" + }, + { + "Date": "2022-04-17", + "Value": 560, + "Series": "Software" + }, + { + "Date": "2022-04-23", + "Value": 552, + "Series": "Software" + }, + { + "Date": "2022-04-28", + "Value": 553, + "Series": "Software" + }, + { + "Date": "2022-05-04", + "Value": 562, + "Series": "Software" + }, + { + "Date": "2022-05-09", + "Value": 568, + "Series": "Software" + }, + { + "Date": "2022-05-15", + "Value": 576, + "Series": "Software" + }, + { + "Date": "2022-05-20", + "Value": 585, + "Series": "Software" + }, + { + "Date": "2022-05-26", + "Value": 587, + "Series": "Software" + }, + { + "Date": "2022-05-31", + "Value": 581, + "Series": "Software" + }, + { + "Date": "2022-06-05", + "Value": 579, + "Series": "Software" + }, + { + "Date": "2022-06-11", + "Value": 588, + "Series": "Software" + }, + { + "Date": "2022-06-16", + "Value": 590, + "Series": "Software" + }, + { + "Date": "2022-06-22", + "Value": 586, + "Series": "Software" + }, + { + "Date": "2022-06-27", + "Value": 583, + "Series": "Software" + }, + { + "Date": "2022-07-03", + "Value": 581, + "Series": "Software" + }, + { + "Date": "2022-07-08", + "Value": 572, + "Series": "Software" + }, + { + "Date": "2022-07-14", + "Value": 570, + "Series": "Software" + }, + { + "Date": "2022-07-19", + "Value": 568, + "Series": "Software" + }, + { + "Date": "2022-07-25", + "Value": 562, + "Series": "Software" + }, + { + "Date": "2022-07-30", + "Value": 562, + "Series": "Software" + }, + { + "Date": "2022-08-05", + "Value": 569, + "Series": "Software" + }, + { + "Date": "2022-08-10", + "Value": 570, + "Series": "Software" + }, + { + "Date": "2022-08-16", + "Value": 560, + "Series": "Software" + }, + { + "Date": "2022-08-21", + "Value": 554, + "Series": "Software" + }, + { + "Date": "2022-08-27", + "Value": 560, + "Series": "Software" + }, + { + "Date": "2022-09-01", + "Value": 573, + "Series": "Software" + }, + { + "Date": "2022-09-07", + "Value": 591, + "Series": "Software" + }, + { + "Date": "2022-09-12", + "Value": 594, + "Series": "Software" + }, + { + "Date": "2022-09-17", + "Value": 603, + "Series": "Software" + }, + { + "Date": "2022-09-23", + "Value": 611, + "Series": "Software" + }, + { + "Date": "2022-09-28", + "Value": 622, + "Series": "Software" + }, + { + "Date": "2022-10-04", + "Value": 632, + "Series": "Software" + }, + { + "Date": "2022-10-09", + "Value": 649, + "Series": "Software" + }, + { + "Date": "2022-10-15", + "Value": 672, + "Series": "Software" + }, + { + "Date": "2022-10-20", + "Value": 694, + "Series": "Software" + }, + { + "Date": "2022-10-26", + "Value": 699, + "Series": "Software" + }, + { + "Date": "2022-10-31", + "Value": 709, + "Series": "Software" + }, + { + "Date": "2022-11-06", + "Value": 721, + "Series": "Software" + }, + { + "Date": "2022-11-11", + "Value": 733, + "Series": "Software" + }, + { + "Date": "2022-11-17", + "Value": 751, + "Series": "Software" + }, + { + "Date": "2022-11-22", + "Value": 773, + "Series": "Software" + }, + { + "Date": "2022-11-28", + "Value": 786, + "Series": "Software" + }, + { + "Date": "2022-12-03", + "Value": 791, + "Series": "Software" + }, + { + "Date": "2022-12-09", + "Value": 791, + "Series": "Software" + }, + { + "Date": "2022-12-14", + "Value": 802, + "Series": "Software" + }, + { + "Date": "2022-12-20", + "Value": 813, + "Series": "Software" + }, + { + "Date": "2022-12-25", + "Value": 820, + "Series": "Software" + }, + { + "Date": "2020-01-01", + "Value": 124, + "Series": "Games" + }, + { + "Date": "2020-01-06", + "Value": 114, + "Series": "Games" + }, + { + "Date": "2020-01-11", + "Value": 115, + "Series": "Games" + }, + { + "Date": "2020-01-17", + "Value": 119, + "Series": "Games" + }, + { + "Date": "2020-01-22", + "Value": 112, + "Series": "Games" + }, + { + "Date": "2020-01-28", + "Value": 104, + "Series": "Games" + }, + { + "Date": "2020-02-02", + "Value": 109, + "Series": "Games" + }, + { + "Date": "2020-02-08", + "Value": 117, + "Series": "Games" + }, + { + "Date": "2020-02-13", + "Value": 123, + "Series": "Games" + }, + { + "Date": "2020-02-19", + "Value": 128, + "Series": "Games" + }, + { + "Date": "2020-02-24", + "Value": 139, + "Series": "Games" + }, + { + "Date": "2020-03-01", + "Value": 156, + "Series": "Games" + }, + { + "Date": "2020-03-06", + "Value": 163, + "Series": "Games" + }, + { + "Date": "2020-03-12", + "Value": 169, + "Series": "Games" + }, + { + "Date": "2020-03-17", + "Value": 166, + "Series": "Games" + }, + { + "Date": "2020-03-23", + "Value": 174, + "Series": "Games" + }, + { + "Date": "2020-03-28", + "Value": 183, + "Series": "Games" + }, + { + "Date": "2020-04-03", + "Value": 181, + "Series": "Games" + }, + { + "Date": "2020-04-08", + "Value": 174, + "Series": "Games" + }, + { + "Date": "2020-04-14", + "Value": 170, + "Series": "Games" + }, + { + "Date": "2020-04-19", + "Value": 156, + "Series": "Games" + }, + { + "Date": "2020-04-24", + "Value": 137, + "Series": "Games" + }, + { + "Date": "2020-04-30", + "Value": 131, + "Series": "Games" + }, + { + "Date": "2020-05-05", + "Value": 134, + "Series": "Games" + }, + { + "Date": "2020-05-11", + "Value": 141, + "Series": "Games" + }, + { + "Date": "2020-05-16", + "Value": 140, + "Series": "Games" + }, + { + "Date": "2020-05-22", + "Value": 145, + "Series": "Games" + }, + { + "Date": "2020-05-27", + "Value": 152, + "Series": "Games" + }, + { + "Date": "2020-06-02", + "Value": 148, + "Series": "Games" + }, + { + "Date": "2020-06-07", + "Value": 146, + "Series": "Games" + }, + { + "Date": "2020-06-13", + "Value": 135, + "Series": "Games" + }, + { + "Date": "2020-06-18", + "Value": 125, + "Series": "Games" + }, + { + "Date": "2020-06-24", + "Value": 119, + "Series": "Games" + }, + { + "Date": "2020-06-29", + "Value": 105, + "Series": "Games" + }, + { + "Date": "2020-07-05", + "Value": 104, + "Series": "Games" + }, + { + "Date": "2020-07-10", + "Value": 95, + "Series": "Games" + }, + { + "Date": "2020-07-16", + "Value": 96, + "Series": "Games" + }, + { + "Date": "2020-07-21", + "Value": 100, + "Series": "Games" + }, + { + "Date": "2020-07-27", + "Value": 102, + "Series": "Games" + }, + { + "Date": "2020-08-01", + "Value": 112, + "Series": "Games" + }, + { + "Date": "2020-08-07", + "Value": 123, + "Series": "Games" + }, + { + "Date": "2020-08-12", + "Value": 123, + "Series": "Games" + }, + { + "Date": "2020-08-17", + "Value": 123, + "Series": "Games" + }, + { + "Date": "2020-08-23", + "Value": 114, + "Series": "Games" + }, + { + "Date": "2020-08-28", + "Value": 100, + "Series": "Games" + }, + { + "Date": "2020-09-03", + "Value": 100, + "Series": "Games" + }, + { + "Date": "2020-09-08", + "Value": 89, + "Series": "Games" + }, + { + "Date": "2020-09-14", + "Value": 80, + "Series": "Games" + }, + { + "Date": "2020-09-19", + "Value": 68, + "Series": "Games" + }, + { + "Date": "2020-09-25", + "Value": 64, + "Series": "Games" + }, + { + "Date": "2020-09-30", + "Value": 71, + "Series": "Games" + }, + { + "Date": "2020-10-06", + "Value": 80, + "Series": "Games" + }, + { + "Date": "2020-10-11", + "Value": 87, + "Series": "Games" + }, + { + "Date": "2020-10-17", + "Value": 83, + "Series": "Games" + }, + { + "Date": "2020-10-22", + "Value": 84, + "Series": "Games" + }, + { + "Date": "2020-10-28", + "Value": 93, + "Series": "Games" + }, + { + "Date": "2020-11-02", + "Value": 96, + "Series": "Games" + }, + { + "Date": "2020-11-08", + "Value": 89, + "Series": "Games" + }, + { + "Date": "2020-11-13", + "Value": 89, + "Series": "Games" + }, + { + "Date": "2020-11-19", + "Value": 83, + "Series": "Games" + }, + { + "Date": "2020-11-24", + "Value": 82, + "Series": "Games" + }, + { + "Date": "2020-11-29", + "Value": 83, + "Series": "Games" + }, + { + "Date": "2020-12-05", + "Value": 89, + "Series": "Games" + }, + { + "Date": "2020-12-10", + "Value": 94, + "Series": "Games" + }, + { + "Date": "2020-12-16", + "Value": 102, + "Series": "Games" + }, + { + "Date": "2020-12-21", + "Value": 112, + "Series": "Games" + }, + { + "Date": "2020-12-27", + "Value": 116, + "Series": "Games" + }, + { + "Date": "2021-01-01", + "Value": 122, + "Series": "Games" + }, + { + "Date": "2021-01-07", + "Value": 130, + "Series": "Games" + }, + { + "Date": "2021-01-12", + "Value": 138, + "Series": "Games" + }, + { + "Date": "2021-01-18", + "Value": 141, + "Series": "Games" + }, + { + "Date": "2021-01-23", + "Value": 139, + "Series": "Games" + }, + { + "Date": "2021-01-29", + "Value": 146, + "Series": "Games" + }, + { + "Date": "2021-02-03", + "Value": 148, + "Series": "Games" + }, + { + "Date": "2021-02-09", + "Value": 151, + "Series": "Games" + }, + { + "Date": "2021-02-14", + "Value": 149, + "Series": "Games" + }, + { + "Date": "2021-02-20", + "Value": 149, + "Series": "Games" + }, + { + "Date": "2021-02-25", + "Value": 139, + "Series": "Games" + }, + { + "Date": "2021-03-03", + "Value": 125, + "Series": "Games" + }, + { + "Date": "2021-03-08", + "Value": 107, + "Series": "Games" + }, + { + "Date": "2021-03-14", + "Value": 87, + "Series": "Games" + }, + { + "Date": "2021-03-19", + "Value": 63, + "Series": "Games" + }, + { + "Date": "2021-03-24", + "Value": 43, + "Series": "Games" + }, + { + "Date": "2021-03-30", + "Value": 26, + "Series": "Games" + }, + { + "Date": "2021-04-04", + "Value": 14, + "Series": "Games" + }, + { + "Date": "2021-04-10", + "Value": 11, + "Series": "Games" + }, + { + "Date": "2021-04-15", + "Value": 9, + "Series": "Games" + }, + { + "Date": "2021-04-21", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-04-26", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-05-02", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-05-07", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-05-13", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-05-18", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-05-24", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-05-29", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-06-04", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-06-09", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-06-15", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-06-20", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-06-26", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-07-01", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-07-06", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-07-12", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-07-17", + "Value": 4, + "Series": "Games" + }, + { + "Date": "2021-07-23", + "Value": 7, + "Series": "Games" + }, + { + "Date": "2021-07-28", + "Value": 2, + "Series": "Games" + }, + { + "Date": "2021-08-03", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-08-08", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-08-14", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-08-19", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-08-25", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-08-30", + "Value": 6, + "Series": "Games" + }, + { + "Date": "2021-09-05", + "Value": 18, + "Series": "Games" + }, + { + "Date": "2021-09-10", + "Value": 25, + "Series": "Games" + }, + { + "Date": "2021-09-16", + "Value": 22, + "Series": "Games" + }, + { + "Date": "2021-09-21", + "Value": 30, + "Series": "Games" + }, + { + "Date": "2021-09-27", + "Value": 26, + "Series": "Games" + }, + { + "Date": "2021-10-02", + "Value": 27, + "Series": "Games" + }, + { + "Date": "2021-10-08", + "Value": 24, + "Series": "Games" + }, + { + "Date": "2021-10-13", + "Value": 25, + "Series": "Games" + }, + { + "Date": "2021-10-19", + "Value": 29, + "Series": "Games" + }, + { + "Date": "2021-10-24", + "Value": 21, + "Series": "Games" + }, + { + "Date": "2021-10-29", + "Value": 7, + "Series": "Games" + }, + { + "Date": "2021-11-04", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-11-09", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-11-15", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-11-20", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-11-26", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-12-01", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-12-07", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-12-12", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-12-18", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2021-12-23", + "Value": 5, + "Series": "Games" + }, + { + "Date": "2021-12-29", + "Value": 10, + "Series": "Games" + }, + { + "Date": "2022-01-03", + "Value": 4, + "Series": "Games" + }, + { + "Date": "2022-01-09", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-01-14", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-01-20", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-01-25", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-01-31", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-02-05", + "Value": 8, + "Series": "Games" + }, + { + "Date": "2022-02-10", + "Value": 24, + "Series": "Games" + }, + { + "Date": "2022-02-16", + "Value": 32, + "Series": "Games" + }, + { + "Date": "2022-02-21", + "Value": 48, + "Series": "Games" + }, + { + "Date": "2022-02-27", + "Value": 51, + "Series": "Games" + }, + { + "Date": "2022-03-04", + "Value": 45, + "Series": "Games" + }, + { + "Date": "2022-03-10", + "Value": 44, + "Series": "Games" + }, + { + "Date": "2022-03-15", + "Value": 49, + "Series": "Games" + }, + { + "Date": "2022-03-21", + "Value": 42, + "Series": "Games" + }, + { + "Date": "2022-03-26", + "Value": 33, + "Series": "Games" + }, + { + "Date": "2022-04-01", + "Value": 33, + "Series": "Games" + }, + { + "Date": "2022-04-06", + "Value": 30, + "Series": "Games" + }, + { + "Date": "2022-04-12", + "Value": 19, + "Series": "Games" + }, + { + "Date": "2022-04-17", + "Value": 12, + "Series": "Games" + }, + { + "Date": "2022-04-23", + "Value": 2, + "Series": "Games" + }, + { + "Date": "2022-04-28", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-05-04", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-05-09", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-05-15", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-05-20", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-05-26", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-05-31", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-06-05", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-06-11", + "Value": 3, + "Series": "Games" + }, + { + "Date": "2022-06-16", + "Value": 7, + "Series": "Games" + }, + { + "Date": "2022-06-22", + "Value": 4, + "Series": "Games" + }, + { + "Date": "2022-06-27", + "Value": 1, + "Series": "Games" + }, + { + "Date": "2022-07-03", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-07-08", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-07-14", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-07-19", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-07-25", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-07-30", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-08-05", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-08-10", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-08-16", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-08-21", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-08-27", + "Value": 6, + "Series": "Games" + }, + { + "Date": "2022-09-01", + "Value": 3, + "Series": "Games" + }, + { + "Date": "2022-09-07", + "Value": 3, + "Series": "Games" + }, + { + "Date": "2022-09-12", + "Value": 1, + "Series": "Games" + }, + { + "Date": "2022-09-17", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-09-23", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-09-28", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-10-04", + "Value": 0, + "Series": "Games" + }, + { + "Date": "2022-10-09", + "Value": 3, + "Series": "Games" + }, + { + "Date": "2022-10-15", + "Value": 8, + "Series": "Games" + }, + { + "Date": "2022-10-20", + "Value": 17, + "Series": "Games" + }, + { + "Date": "2022-10-26", + "Value": 34, + "Series": "Games" + }, + { + "Date": "2022-10-31", + "Value": 42, + "Series": "Games" + }, + { + "Date": "2022-11-06", + "Value": 41, + "Series": "Games" + }, + { + "Date": "2022-11-11", + "Value": 48, + "Series": "Games" + }, + { + "Date": "2022-11-17", + "Value": 62, + "Series": "Games" + }, + { + "Date": "2022-11-22", + "Value": 64, + "Series": "Games" + }, + { + "Date": "2022-11-28", + "Value": 59, + "Series": "Games" + }, + { + "Date": "2022-12-03", + "Value": 55, + "Series": "Games" + }, + { + "Date": "2022-12-09", + "Value": 43, + "Series": "Games" + }, + { + "Date": "2022-12-14", + "Value": 44, + "Series": "Games" + }, + { + "Date": "2022-12-20", + "Value": 45, + "Series": "Games" + }, + { + "Date": "2022-12-25", + "Value": 37, + "Series": "Games" + }, + { + "Date": "2020-01-01", + "Value": 63, + "Series": "Office" + }, + { + "Date": "2020-01-06", + "Value": 66, + "Series": "Office" + }, + { + "Date": "2020-01-11", + "Value": 71, + "Series": "Office" + }, + { + "Date": "2020-01-17", + "Value": 75, + "Series": "Office" + }, + { + "Date": "2020-01-22", + "Value": 71, + "Series": "Office" + }, + { + "Date": "2020-01-28", + "Value": 63, + "Series": "Office" + }, + { + "Date": "2020-02-02", + "Value": 52, + "Series": "Office" + }, + { + "Date": "2020-02-08", + "Value": 39, + "Series": "Office" + }, + { + "Date": "2020-02-13", + "Value": 28, + "Series": "Office" + }, + { + "Date": "2020-02-19", + "Value": 17, + "Series": "Office" + }, + { + "Date": "2020-02-24", + "Value": 14, + "Series": "Office" + }, + { + "Date": "2020-03-01", + "Value": 7, + "Series": "Office" + }, + { + "Date": "2020-03-06", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-03-12", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-03-17", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-03-23", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-03-28", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-04-03", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-04-08", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-04-14", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-04-19", + "Value": 2, + "Series": "Office" + }, + { + "Date": "2020-04-24", + "Value": 1, + "Series": "Office" + }, + { + "Date": "2020-04-30", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-05-05", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-05-11", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-05-16", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-05-22", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2020-05-27", + "Value": 4, + "Series": "Office" + }, + { + "Date": "2020-06-02", + "Value": 8, + "Series": "Office" + }, + { + "Date": "2020-06-07", + "Value": 11, + "Series": "Office" + }, + { + "Date": "2020-06-13", + "Value": 19, + "Series": "Office" + }, + { + "Date": "2020-06-18", + "Value": 31, + "Series": "Office" + }, + { + "Date": "2020-06-24", + "Value": 36, + "Series": "Office" + }, + { + "Date": "2020-06-29", + "Value": 45, + "Series": "Office" + }, + { + "Date": "2020-07-05", + "Value": 51, + "Series": "Office" + }, + { + "Date": "2020-07-10", + "Value": 57, + "Series": "Office" + }, + { + "Date": "2020-07-16", + "Value": 66, + "Series": "Office" + }, + { + "Date": "2020-07-21", + "Value": 70, + "Series": "Office" + }, + { + "Date": "2020-07-27", + "Value": 77, + "Series": "Office" + }, + { + "Date": "2020-08-01", + "Value": 78, + "Series": "Office" + }, + { + "Date": "2020-08-07", + "Value": 77, + "Series": "Office" + }, + { + "Date": "2020-08-12", + "Value": 75, + "Series": "Office" + }, + { + "Date": "2020-08-17", + "Value": 81, + "Series": "Office" + }, + { + "Date": "2020-08-23", + "Value": 84, + "Series": "Office" + }, + { + "Date": "2020-08-28", + "Value": 87, + "Series": "Office" + }, + { + "Date": "2020-09-03", + "Value": 83, + "Series": "Office" + }, + { + "Date": "2020-09-08", + "Value": 85, + "Series": "Office" + }, + { + "Date": "2020-09-14", + "Value": 84, + "Series": "Office" + }, + { + "Date": "2020-09-19", + "Value": 80, + "Series": "Office" + }, + { + "Date": "2020-09-25", + "Value": 81, + "Series": "Office" + }, + { + "Date": "2020-09-30", + "Value": 75, + "Series": "Office" + }, + { + "Date": "2020-10-06", + "Value": 70, + "Series": "Office" + }, + { + "Date": "2020-10-11", + "Value": 73, + "Series": "Office" + }, + { + "Date": "2020-10-17", + "Value": 81, + "Series": "Office" + }, + { + "Date": "2020-10-22", + "Value": 85, + "Series": "Office" + }, + { + "Date": "2020-10-28", + "Value": 80, + "Series": "Office" + }, + { + "Date": "2020-11-02", + "Value": 83, + "Series": "Office" + }, + { + "Date": "2020-11-08", + "Value": 80, + "Series": "Office" + }, + { + "Date": "2020-11-13", + "Value": 77, + "Series": "Office" + }, + { + "Date": "2020-11-19", + "Value": 82, + "Series": "Office" + }, + { + "Date": "2020-11-24", + "Value": 79, + "Series": "Office" + }, + { + "Date": "2020-11-29", + "Value": 84, + "Series": "Office" + }, + { + "Date": "2020-12-05", + "Value": 86, + "Series": "Office" + }, + { + "Date": "2020-12-10", + "Value": 85, + "Series": "Office" + }, + { + "Date": "2020-12-16", + "Value": 90, + "Series": "Office" + }, + { + "Date": "2020-12-21", + "Value": 101, + "Series": "Office" + }, + { + "Date": "2020-12-27", + "Value": 103, + "Series": "Office" + }, + { + "Date": "2021-01-01", + "Value": 111, + "Series": "Office" + }, + { + "Date": "2021-01-07", + "Value": 116, + "Series": "Office" + }, + { + "Date": "2021-01-12", + "Value": 119, + "Series": "Office" + }, + { + "Date": "2021-01-18", + "Value": 118, + "Series": "Office" + }, + { + "Date": "2021-01-23", + "Value": 117, + "Series": "Office" + }, + { + "Date": "2021-01-29", + "Value": 124, + "Series": "Office" + }, + { + "Date": "2021-02-03", + "Value": 130, + "Series": "Office" + }, + { + "Date": "2021-02-09", + "Value": 130, + "Series": "Office" + }, + { + "Date": "2021-02-14", + "Value": 129, + "Series": "Office" + }, + { + "Date": "2021-02-20", + "Value": 133, + "Series": "Office" + }, + { + "Date": "2021-02-25", + "Value": 138, + "Series": "Office" + }, + { + "Date": "2021-03-03", + "Value": 146, + "Series": "Office" + }, + { + "Date": "2021-03-08", + "Value": 152, + "Series": "Office" + }, + { + "Date": "2021-03-14", + "Value": 149, + "Series": "Office" + }, + { + "Date": "2021-03-19", + "Value": 145, + "Series": "Office" + }, + { + "Date": "2021-03-24", + "Value": 139, + "Series": "Office" + }, + { + "Date": "2021-03-30", + "Value": 128, + "Series": "Office" + }, + { + "Date": "2021-04-04", + "Value": 116, + "Series": "Office" + }, + { + "Date": "2021-04-10", + "Value": 105, + "Series": "Office" + }, + { + "Date": "2021-04-15", + "Value": 90, + "Series": "Office" + }, + { + "Date": "2021-04-21", + "Value": 85, + "Series": "Office" + }, + { + "Date": "2021-04-26", + "Value": 76, + "Series": "Office" + }, + { + "Date": "2021-05-02", + "Value": 68, + "Series": "Office" + }, + { + "Date": "2021-05-07", + "Value": 65, + "Series": "Office" + }, + { + "Date": "2021-05-13", + "Value": 65, + "Series": "Office" + }, + { + "Date": "2021-05-18", + "Value": 62, + "Series": "Office" + }, + { + "Date": "2021-05-24", + "Value": 67, + "Series": "Office" + }, + { + "Date": "2021-05-29", + "Value": 77, + "Series": "Office" + }, + { + "Date": "2021-06-04", + "Value": 81, + "Series": "Office" + }, + { + "Date": "2021-06-09", + "Value": 83, + "Series": "Office" + }, + { + "Date": "2021-06-15", + "Value": 88, + "Series": "Office" + }, + { + "Date": "2021-06-20", + "Value": 84, + "Series": "Office" + }, + { + "Date": "2021-06-26", + "Value": 74, + "Series": "Office" + }, + { + "Date": "2021-07-01", + "Value": 70, + "Series": "Office" + }, + { + "Date": "2021-07-06", + "Value": 65, + "Series": "Office" + }, + { + "Date": "2021-07-12", + "Value": 55, + "Series": "Office" + }, + { + "Date": "2021-07-17", + "Value": 46, + "Series": "Office" + }, + { + "Date": "2021-07-23", + "Value": 36, + "Series": "Office" + }, + { + "Date": "2021-07-28", + "Value": 34, + "Series": "Office" + }, + { + "Date": "2021-08-03", + "Value": 26, + "Series": "Office" + }, + { + "Date": "2021-08-08", + "Value": 24, + "Series": "Office" + }, + { + "Date": "2021-08-14", + "Value": 28, + "Series": "Office" + }, + { + "Date": "2021-08-19", + "Value": 23, + "Series": "Office" + }, + { + "Date": "2021-08-25", + "Value": 23, + "Series": "Office" + }, + { + "Date": "2021-08-30", + "Value": 22, + "Series": "Office" + }, + { + "Date": "2021-09-05", + "Value": 14, + "Series": "Office" + }, + { + "Date": "2021-09-10", + "Value": 12, + "Series": "Office" + }, + { + "Date": "2021-09-16", + "Value": 5, + "Series": "Office" + }, + { + "Date": "2021-09-21", + "Value": 6, + "Series": "Office" + }, + { + "Date": "2021-09-27", + "Value": 7, + "Series": "Office" + }, + { + "Date": "2021-10-02", + "Value": 8, + "Series": "Office" + }, + { + "Date": "2021-10-08", + "Value": 11, + "Series": "Office" + }, + { + "Date": "2021-10-13", + "Value": 10, + "Series": "Office" + }, + { + "Date": "2021-10-19", + "Value": 12, + "Series": "Office" + }, + { + "Date": "2021-10-24", + "Value": 11, + "Series": "Office" + }, + { + "Date": "2021-10-29", + "Value": 18, + "Series": "Office" + }, + { + "Date": "2021-11-04", + "Value": 28, + "Series": "Office" + }, + { + "Date": "2021-11-09", + "Value": 32, + "Series": "Office" + }, + { + "Date": "2021-11-15", + "Value": 35, + "Series": "Office" + }, + { + "Date": "2021-11-20", + "Value": 43, + "Series": "Office" + }, + { + "Date": "2021-11-26", + "Value": 41, + "Series": "Office" + }, + { + "Date": "2021-12-01", + "Value": 42, + "Series": "Office" + }, + { + "Date": "2021-12-07", + "Value": 44, + "Series": "Office" + }, + { + "Date": "2021-12-12", + "Value": 48, + "Series": "Office" + }, + { + "Date": "2021-12-18", + "Value": 44, + "Series": "Office" + }, + { + "Date": "2021-12-23", + "Value": 39, + "Series": "Office" + }, + { + "Date": "2021-12-29", + "Value": 30, + "Series": "Office" + }, + { + "Date": "2022-01-03", + "Value": 23, + "Series": "Office" + }, + { + "Date": "2022-01-09", + "Value": 19, + "Series": "Office" + }, + { + "Date": "2022-01-14", + "Value": 18, + "Series": "Office" + }, + { + "Date": "2022-01-20", + "Value": 14, + "Series": "Office" + }, + { + "Date": "2022-01-25", + "Value": 6, + "Series": "Office" + }, + { + "Date": "2022-01-31", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-02-05", + "Value": 2, + "Series": "Office" + }, + { + "Date": "2022-02-10", + "Value": 9, + "Series": "Office" + }, + { + "Date": "2022-02-16", + "Value": 10, + "Series": "Office" + }, + { + "Date": "2022-02-21", + "Value": 18, + "Series": "Office" + }, + { + "Date": "2022-02-27", + "Value": 22, + "Series": "Office" + }, + { + "Date": "2022-03-04", + "Value": 32, + "Series": "Office" + }, + { + "Date": "2022-03-10", + "Value": 39, + "Series": "Office" + }, + { + "Date": "2022-03-15", + "Value": 46, + "Series": "Office" + }, + { + "Date": "2022-03-21", + "Value": 48, + "Series": "Office" + }, + { + "Date": "2022-03-26", + "Value": 45, + "Series": "Office" + }, + { + "Date": "2022-04-01", + "Value": 48, + "Series": "Office" + }, + { + "Date": "2022-04-06", + "Value": 49, + "Series": "Office" + }, + { + "Date": "2022-04-12", + "Value": 46, + "Series": "Office" + }, + { + "Date": "2022-04-17", + "Value": 39, + "Series": "Office" + }, + { + "Date": "2022-04-23", + "Value": 34, + "Series": "Office" + }, + { + "Date": "2022-04-28", + "Value": 24, + "Series": "Office" + }, + { + "Date": "2022-05-04", + "Value": 20, + "Series": "Office" + }, + { + "Date": "2022-05-09", + "Value": 20, + "Series": "Office" + }, + { + "Date": "2022-05-15", + "Value": 19, + "Series": "Office" + }, + { + "Date": "2022-05-20", + "Value": 20, + "Series": "Office" + }, + { + "Date": "2022-05-26", + "Value": 26, + "Series": "Office" + }, + { + "Date": "2022-05-31", + "Value": 29, + "Series": "Office" + }, + { + "Date": "2022-06-05", + "Value": 26, + "Series": "Office" + }, + { + "Date": "2022-06-11", + "Value": 18, + "Series": "Office" + }, + { + "Date": "2022-06-16", + "Value": 8, + "Series": "Office" + }, + { + "Date": "2022-06-22", + "Value": 2, + "Series": "Office" + }, + { + "Date": "2022-06-27", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-07-03", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-07-08", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-07-14", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-07-19", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-07-25", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-07-30", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-08-05", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-08-10", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-08-16", + "Value": 1, + "Series": "Office" + }, + { + "Date": "2022-08-21", + "Value": 7, + "Series": "Office" + }, + { + "Date": "2022-08-27", + "Value": 11, + "Series": "Office" + }, + { + "Date": "2022-09-01", + "Value": 10, + "Series": "Office" + }, + { + "Date": "2022-09-07", + "Value": 3, + "Series": "Office" + }, + { + "Date": "2022-09-12", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-09-17", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-09-23", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-09-28", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-10-04", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-10-09", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-10-15", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-10-20", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-10-26", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-10-31", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-11-06", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-11-11", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-11-17", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-11-22", + "Value": 1, + "Series": "Office" + }, + { + "Date": "2022-11-28", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-12-03", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-12-09", + "Value": 0, + "Series": "Office" + }, + { + "Date": "2022-12-14", + "Value": 5, + "Series": "Office" + }, + { + "Date": "2022-12-20", + "Value": 10, + "Series": "Office" + }, + { + "Date": "2022-12-25", + "Value": 16, + "Series": "Office" + }, + { + "Date": "2020-01-01", + "Value": 111, + "Series": "Pet" + }, + { + "Date": "2020-01-06", + "Value": 122, + "Series": "Pet" + }, + { + "Date": "2020-01-11", + "Value": 140, + "Series": "Pet" + }, + { + "Date": "2020-01-17", + "Value": 135, + "Series": "Pet" + }, + { + "Date": "2020-01-22", + "Value": 120, + "Series": "Pet" + }, + { + "Date": "2020-01-28", + "Value": 115, + "Series": "Pet" + }, + { + "Date": "2020-02-02", + "Value": 117, + "Series": "Pet" + }, + { + "Date": "2020-02-08", + "Value": 132, + "Series": "Pet" + }, + { + "Date": "2020-02-13", + "Value": 131, + "Series": "Pet" + }, + { + "Date": "2020-02-19", + "Value": 143, + "Series": "Pet" + }, + { + "Date": "2020-02-24", + "Value": 160, + "Series": "Pet" + }, + { + "Date": "2020-03-01", + "Value": 174, + "Series": "Pet" + }, + { + "Date": "2020-03-06", + "Value": 201, + "Series": "Pet" + }, + { + "Date": "2020-03-12", + "Value": 235, + "Series": "Pet" + }, + { + "Date": "2020-03-17", + "Value": 266, + "Series": "Pet" + }, + { + "Date": "2020-03-23", + "Value": 283, + "Series": "Pet" + }, + { + "Date": "2020-03-28", + "Value": 306, + "Series": "Pet" + }, + { + "Date": "2020-04-03", + "Value": 325, + "Series": "Pet" + }, + { + "Date": "2020-04-08", + "Value": 338, + "Series": "Pet" + }, + { + "Date": "2020-04-14", + "Value": 349, + "Series": "Pet" + }, + { + "Date": "2020-04-19", + "Value": 371, + "Series": "Pet" + }, + { + "Date": "2020-04-24", + "Value": 405, + "Series": "Pet" + }, + { + "Date": "2020-04-30", + "Value": 435, + "Series": "Pet" + }, + { + "Date": "2020-05-05", + "Value": 447, + "Series": "Pet" + }, + { + "Date": "2020-05-11", + "Value": 451, + "Series": "Pet" + }, + { + "Date": "2020-05-16", + "Value": 444, + "Series": "Pet" + }, + { + "Date": "2020-05-22", + "Value": 431, + "Series": "Pet" + }, + { + "Date": "2020-05-27", + "Value": 440, + "Series": "Pet" + }, + { + "Date": "2020-06-02", + "Value": 458, + "Series": "Pet" + }, + { + "Date": "2020-06-07", + "Value": 460, + "Series": "Pet" + }, + { + "Date": "2020-06-13", + "Value": 468, + "Series": "Pet" + }, + { + "Date": "2020-06-18", + "Value": 477, + "Series": "Pet" + }, + { + "Date": "2020-06-24", + "Value": 497, + "Series": "Pet" + }, + { + "Date": "2020-06-29", + "Value": 507, + "Series": "Pet" + }, + { + "Date": "2020-07-05", + "Value": 502, + "Series": "Pet" + }, + { + "Date": "2020-07-10", + "Value": 516, + "Series": "Pet" + }, + { + "Date": "2020-07-16", + "Value": 517, + "Series": "Pet" + }, + { + "Date": "2020-07-21", + "Value": 527, + "Series": "Pet" + }, + { + "Date": "2020-07-27", + "Value": 517, + "Series": "Pet" + }, + { + "Date": "2020-08-01", + "Value": 498, + "Series": "Pet" + }, + { + "Date": "2020-08-07", + "Value": 479, + "Series": "Pet" + }, + { + "Date": "2020-08-12", + "Value": 452, + "Series": "Pet" + }, + { + "Date": "2020-08-17", + "Value": 438, + "Series": "Pet" + }, + { + "Date": "2020-08-23", + "Value": 434, + "Series": "Pet" + }, + { + "Date": "2020-08-28", + "Value": 434, + "Series": "Pet" + }, + { + "Date": "2020-09-03", + "Value": 444, + "Series": "Pet" + }, + { + "Date": "2020-09-08", + "Value": 448, + "Series": "Pet" + }, + { + "Date": "2020-09-14", + "Value": 452, + "Series": "Pet" + }, + { + "Date": "2020-09-19", + "Value": 458, + "Series": "Pet" + }, + { + "Date": "2020-09-25", + "Value": 481, + "Series": "Pet" + }, + { + "Date": "2020-09-30", + "Value": 494, + "Series": "Pet" + }, + { + "Date": "2020-10-06", + "Value": 487, + "Series": "Pet" + }, + { + "Date": "2020-10-11", + "Value": 486, + "Series": "Pet" + }, + { + "Date": "2020-10-17", + "Value": 478, + "Series": "Pet" + }, + { + "Date": "2020-10-22", + "Value": 468, + "Series": "Pet" + }, + { + "Date": "2020-10-28", + "Value": 447, + "Series": "Pet" + }, + { + "Date": "2020-11-02", + "Value": 442, + "Series": "Pet" + }, + { + "Date": "2020-11-08", + "Value": 457, + "Series": "Pet" + }, + { + "Date": "2020-11-13", + "Value": 478, + "Series": "Pet" + }, + { + "Date": "2020-11-19", + "Value": 481, + "Series": "Pet" + }, + { + "Date": "2020-11-24", + "Value": 487, + "Series": "Pet" + }, + { + "Date": "2020-11-29", + "Value": 495, + "Series": "Pet" + }, + { + "Date": "2020-12-05", + "Value": 500, + "Series": "Pet" + }, + { + "Date": "2020-12-10", + "Value": 522, + "Series": "Pet" + }, + { + "Date": "2020-12-16", + "Value": 540, + "Series": "Pet" + }, + { + "Date": "2020-12-21", + "Value": 554, + "Series": "Pet" + }, + { + "Date": "2020-12-27", + "Value": 571, + "Series": "Pet" + }, + { + "Date": "2021-01-01", + "Value": 593, + "Series": "Pet" + }, + { + "Date": "2021-01-07", + "Value": 604, + "Series": "Pet" + }, + { + "Date": "2021-01-12", + "Value": 603, + "Series": "Pet" + }, + { + "Date": "2021-01-18", + "Value": 597, + "Series": "Pet" + }, + { + "Date": "2021-01-23", + "Value": 598, + "Series": "Pet" + }, + { + "Date": "2021-01-29", + "Value": 616, + "Series": "Pet" + }, + { + "Date": "2021-02-03", + "Value": 609, + "Series": "Pet" + }, + { + "Date": "2021-02-09", + "Value": 607, + "Series": "Pet" + }, + { + "Date": "2021-02-14", + "Value": 622, + "Series": "Pet" + }, + { + "Date": "2021-02-20", + "Value": 623, + "Series": "Pet" + }, + { + "Date": "2021-02-25", + "Value": 640, + "Series": "Pet" + }, + { + "Date": "2021-03-03", + "Value": 655, + "Series": "Pet" + }, + { + "Date": "2021-03-08", + "Value": 674, + "Series": "Pet" + }, + { + "Date": "2021-03-14", + "Value": 697, + "Series": "Pet" + }, + { + "Date": "2021-03-19", + "Value": 732, + "Series": "Pet" + }, + { + "Date": "2021-03-24", + "Value": 770, + "Series": "Pet" + }, + { + "Date": "2021-03-30", + "Value": 795, + "Series": "Pet" + }, + { + "Date": "2021-04-04", + "Value": 805, + "Series": "Pet" + }, + { + "Date": "2021-04-10", + "Value": 802, + "Series": "Pet" + }, + { + "Date": "2021-04-15", + "Value": 782, + "Series": "Pet" + }, + { + "Date": "2021-04-21", + "Value": 762, + "Series": "Pet" + }, + { + "Date": "2021-04-26", + "Value": 730, + "Series": "Pet" + }, + { + "Date": "2021-05-02", + "Value": 712, + "Series": "Pet" + }, + { + "Date": "2021-05-07", + "Value": 686, + "Series": "Pet" + }, + { + "Date": "2021-05-13", + "Value": 675, + "Series": "Pet" + }, + { + "Date": "2021-05-18", + "Value": 685, + "Series": "Pet" + }, + { + "Date": "2021-05-24", + "Value": 699, + "Series": "Pet" + }, + { + "Date": "2021-05-29", + "Value": 703, + "Series": "Pet" + }, + { + "Date": "2021-06-04", + "Value": 724, + "Series": "Pet" + }, + { + "Date": "2021-06-09", + "Value": 758, + "Series": "Pet" + }, + { + "Date": "2021-06-15", + "Value": 787, + "Series": "Pet" + }, + { + "Date": "2021-06-20", + "Value": 797, + "Series": "Pet" + }, + { + "Date": "2021-06-26", + "Value": 786, + "Series": "Pet" + }, + { + "Date": "2021-07-01", + "Value": 776, + "Series": "Pet" + }, + { + "Date": "2021-07-06", + "Value": 759, + "Series": "Pet" + }, + { + "Date": "2021-07-12", + "Value": 743, + "Series": "Pet" + }, + { + "Date": "2021-07-17", + "Value": 716, + "Series": "Pet" + }, + { + "Date": "2021-07-23", + "Value": 681, + "Series": "Pet" + }, + { + "Date": "2021-07-28", + "Value": 655, + "Series": "Pet" + }, + { + "Date": "2021-08-03", + "Value": 624, + "Series": "Pet" + }, + { + "Date": "2021-08-08", + "Value": 616, + "Series": "Pet" + }, + { + "Date": "2021-08-14", + "Value": 610, + "Series": "Pet" + }, + { + "Date": "2021-08-19", + "Value": 587, + "Series": "Pet" + }, + { + "Date": "2021-08-25", + "Value": 564, + "Series": "Pet" + }, + { + "Date": "2021-08-30", + "Value": 533, + "Series": "Pet" + }, + { + "Date": "2021-09-05", + "Value": 500, + "Series": "Pet" + }, + { + "Date": "2021-09-10", + "Value": 486, + "Series": "Pet" + }, + { + "Date": "2021-09-16", + "Value": 492, + "Series": "Pet" + }, + { + "Date": "2021-09-21", + "Value": 509, + "Series": "Pet" + }, + { + "Date": "2021-09-27", + "Value": 507, + "Series": "Pet" + }, + { + "Date": "2021-10-02", + "Value": 487, + "Series": "Pet" + }, + { + "Date": "2021-10-08", + "Value": 460, + "Series": "Pet" + }, + { + "Date": "2021-10-13", + "Value": 424, + "Series": "Pet" + }, + { + "Date": "2021-10-19", + "Value": 380, + "Series": "Pet" + }, + { + "Date": "2021-10-24", + "Value": 366, + "Series": "Pet" + }, + { + "Date": "2021-10-29", + "Value": 359, + "Series": "Pet" + }, + { + "Date": "2021-11-04", + "Value": 357, + "Series": "Pet" + }, + { + "Date": "2021-11-09", + "Value": 353, + "Series": "Pet" + }, + { + "Date": "2021-11-15", + "Value": 368, + "Series": "Pet" + }, + { + "Date": "2021-11-20", + "Value": 376, + "Series": "Pet" + }, + { + "Date": "2021-11-26", + "Value": 398, + "Series": "Pet" + }, + { + "Date": "2021-12-01", + "Value": 399, + "Series": "Pet" + }, + { + "Date": "2021-12-07", + "Value": 391, + "Series": "Pet" + }, + { + "Date": "2021-12-12", + "Value": 371, + "Series": "Pet" + }, + { + "Date": "2021-12-18", + "Value": 347, + "Series": "Pet" + }, + { + "Date": "2021-12-23", + "Value": 319, + "Series": "Pet" + }, + { + "Date": "2021-12-29", + "Value": 298, + "Series": "Pet" + }, + { + "Date": "2022-01-03", + "Value": 271, + "Series": "Pet" + }, + { + "Date": "2022-01-09", + "Value": 254, + "Series": "Pet" + }, + { + "Date": "2022-01-14", + "Value": 229, + "Series": "Pet" + }, + { + "Date": "2022-01-20", + "Value": 194, + "Series": "Pet" + }, + { + "Date": "2022-01-25", + "Value": 175, + "Series": "Pet" + }, + { + "Date": "2022-01-31", + "Value": 177, + "Series": "Pet" + }, + { + "Date": "2022-02-05", + "Value": 170, + "Series": "Pet" + }, + { + "Date": "2022-02-10", + "Value": 177, + "Series": "Pet" + }, + { + "Date": "2022-02-16", + "Value": 199, + "Series": "Pet" + }, + { + "Date": "2022-02-21", + "Value": 213, + "Series": "Pet" + }, + { + "Date": "2022-02-27", + "Value": 212, + "Series": "Pet" + }, + { + "Date": "2022-03-04", + "Value": 202, + "Series": "Pet" + }, + { + "Date": "2022-03-10", + "Value": 194, + "Series": "Pet" + }, + { + "Date": "2022-03-15", + "Value": 173, + "Series": "Pet" + }, + { + "Date": "2022-03-21", + "Value": 160, + "Series": "Pet" + }, + { + "Date": "2022-03-26", + "Value": 140, + "Series": "Pet" + }, + { + "Date": "2022-04-01", + "Value": 131, + "Series": "Pet" + }, + { + "Date": "2022-04-06", + "Value": 128, + "Series": "Pet" + }, + { + "Date": "2022-04-12", + "Value": 111, + "Series": "Pet" + }, + { + "Date": "2022-04-17", + "Value": 96, + "Series": "Pet" + }, + { + "Date": "2022-04-23", + "Value": 104, + "Series": "Pet" + }, + { + "Date": "2022-04-28", + "Value": 119, + "Series": "Pet" + }, + { + "Date": "2022-05-04", + "Value": 136, + "Series": "Pet" + }, + { + "Date": "2022-05-09", + "Value": 156, + "Series": "Pet" + }, + { + "Date": "2022-05-15", + "Value": 175, + "Series": "Pet" + }, + { + "Date": "2022-05-20", + "Value": 197, + "Series": "Pet" + }, + { + "Date": "2022-05-26", + "Value": 227, + "Series": "Pet" + }, + { + "Date": "2022-05-31", + "Value": 229, + "Series": "Pet" + }, + { + "Date": "2022-06-05", + "Value": 248, + "Series": "Pet" + }, + { + "Date": "2022-06-11", + "Value": 242, + "Series": "Pet" + }, + { + "Date": "2022-06-16", + "Value": 223, + "Series": "Pet" + }, + { + "Date": "2022-06-22", + "Value": 200, + "Series": "Pet" + }, + { + "Date": "2022-06-27", + "Value": 167, + "Series": "Pet" + }, + { + "Date": "2022-07-03", + "Value": 145, + "Series": "Pet" + }, + { + "Date": "2022-07-08", + "Value": 127, + "Series": "Pet" + }, + { + "Date": "2022-07-14", + "Value": 111, + "Series": "Pet" + }, + { + "Date": "2022-07-19", + "Value": 105, + "Series": "Pet" + }, + { + "Date": "2022-07-25", + "Value": 87, + "Series": "Pet" + }, + { + "Date": "2022-07-30", + "Value": 66, + "Series": "Pet" + }, + { + "Date": "2022-08-05", + "Value": 51, + "Series": "Pet" + }, + { + "Date": "2022-08-10", + "Value": 33, + "Series": "Pet" + }, + { + "Date": "2022-08-16", + "Value": 38, + "Series": "Pet" + }, + { + "Date": "2022-08-21", + "Value": 25, + "Series": "Pet" + }, + { + "Date": "2022-08-27", + "Value": 6, + "Series": "Pet" + }, + { + "Date": "2022-09-01", + "Value": 0, + "Series": "Pet" + }, + { + "Date": "2022-09-07", + "Value": 0, + "Series": "Pet" + }, + { + "Date": "2022-09-12", + "Value": 0, + "Series": "Pet" + }, + { + "Date": "2022-09-17", + "Value": 0, + "Series": "Pet" + }, + { + "Date": "2022-09-23", + "Value": 0, + "Series": "Pet" + }, + { + "Date": "2022-09-28", + "Value": 10, + "Series": "Pet" + }, + { + "Date": "2022-10-04", + "Value": 34, + "Series": "Pet" + }, + { + "Date": "2022-10-09", + "Value": 70, + "Series": "Pet" + }, + { + "Date": "2022-10-15", + "Value": 92, + "Series": "Pet" + }, + { + "Date": "2022-10-20", + "Value": 88, + "Series": "Pet" + }, + { + "Date": "2022-10-26", + "Value": 82, + "Series": "Pet" + }, + { + "Date": "2022-10-31", + "Value": 62, + "Series": "Pet" + }, + { + "Date": "2022-11-06", + "Value": 58, + "Series": "Pet" + }, + { + "Date": "2022-11-11", + "Value": 50, + "Series": "Pet" + }, + { + "Date": "2022-11-17", + "Value": 54, + "Series": "Pet" + }, + { + "Date": "2022-11-22", + "Value": 76, + "Series": "Pet" + }, + { + "Date": "2022-11-28", + "Value": 96, + "Series": "Pet" + }, + { + "Date": "2022-12-03", + "Value": 126, + "Series": "Pet" + }, + { + "Date": "2022-12-09", + "Value": 165, + "Series": "Pet" + }, + { + "Date": "2022-12-14", + "Value": 182, + "Series": "Pet" + }, + { + "Date": "2022-12-20", + "Value": 176, + "Series": "Pet" + }, + { + "Date": "2022-12-25", + "Value": 162, + "Series": "Pet" + }, + { + "Date": "2020-01-01", + "Value": 181, + "Series": "Baby" + }, + { + "Date": "2020-01-06", + "Value": 172, + "Series": "Baby" + }, + { + "Date": "2020-01-11", + "Value": 161, + "Series": "Baby" + }, + { + "Date": "2020-01-17", + "Value": 164, + "Series": "Baby" + }, + { + "Date": "2020-01-22", + "Value": 163, + "Series": "Baby" + }, + { + "Date": "2020-01-28", + "Value": 155, + "Series": "Baby" + }, + { + "Date": "2020-02-02", + "Value": 136, + "Series": "Baby" + }, + { + "Date": "2020-02-08", + "Value": 117, + "Series": "Baby" + }, + { + "Date": "2020-02-13", + "Value": 109, + "Series": "Baby" + }, + { + "Date": "2020-02-19", + "Value": 112, + "Series": "Baby" + }, + { + "Date": "2020-02-24", + "Value": 105, + "Series": "Baby" + }, + { + "Date": "2020-03-01", + "Value": 99, + "Series": "Baby" + }, + { + "Date": "2020-03-06", + "Value": 84, + "Series": "Baby" + }, + { + "Date": "2020-03-12", + "Value": 60, + "Series": "Baby" + }, + { + "Date": "2020-03-17", + "Value": 31, + "Series": "Baby" + }, + { + "Date": "2020-03-23", + "Value": 18, + "Series": "Baby" + }, + { + "Date": "2020-03-28", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-04-03", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-04-08", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-04-14", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-04-19", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-04-24", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-04-30", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-05-05", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-05-11", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-05-16", + "Value": 2, + "Series": "Baby" + }, + { + "Date": "2020-05-22", + "Value": 13, + "Series": "Baby" + }, + { + "Date": "2020-05-27", + "Value": 28, + "Series": "Baby" + }, + { + "Date": "2020-06-02", + "Value": 39, + "Series": "Baby" + }, + { + "Date": "2020-06-07", + "Value": 37, + "Series": "Baby" + }, + { + "Date": "2020-06-13", + "Value": 33, + "Series": "Baby" + }, + { + "Date": "2020-06-18", + "Value": 26, + "Series": "Baby" + }, + { + "Date": "2020-06-24", + "Value": 28, + "Series": "Baby" + }, + { + "Date": "2020-06-29", + "Value": 26, + "Series": "Baby" + }, + { + "Date": "2020-07-05", + "Value": 19, + "Series": "Baby" + }, + { + "Date": "2020-07-10", + "Value": 22, + "Series": "Baby" + }, + { + "Date": "2020-07-16", + "Value": 31, + "Series": "Baby" + }, + { + "Date": "2020-07-21", + "Value": 42, + "Series": "Baby" + }, + { + "Date": "2020-07-27", + "Value": 35, + "Series": "Baby" + }, + { + "Date": "2020-08-01", + "Value": 32, + "Series": "Baby" + }, + { + "Date": "2020-08-07", + "Value": 29, + "Series": "Baby" + }, + { + "Date": "2020-08-12", + "Value": 36, + "Series": "Baby" + }, + { + "Date": "2020-08-17", + "Value": 51, + "Series": "Baby" + }, + { + "Date": "2020-08-23", + "Value": 60, + "Series": "Baby" + }, + { + "Date": "2020-08-28", + "Value": 73, + "Series": "Baby" + }, + { + "Date": "2020-09-03", + "Value": 70, + "Series": "Baby" + }, + { + "Date": "2020-09-08", + "Value": 64, + "Series": "Baby" + }, + { + "Date": "2020-09-14", + "Value": 54, + "Series": "Baby" + }, + { + "Date": "2020-09-19", + "Value": 42, + "Series": "Baby" + }, + { + "Date": "2020-09-25", + "Value": 48, + "Series": "Baby" + }, + { + "Date": "2020-09-30", + "Value": 50, + "Series": "Baby" + }, + { + "Date": "2020-10-06", + "Value": 48, + "Series": "Baby" + }, + { + "Date": "2020-10-11", + "Value": 44, + "Series": "Baby" + }, + { + "Date": "2020-10-17", + "Value": 56, + "Series": "Baby" + }, + { + "Date": "2020-10-22", + "Value": 58, + "Series": "Baby" + }, + { + "Date": "2020-10-28", + "Value": 58, + "Series": "Baby" + }, + { + "Date": "2020-11-02", + "Value": 59, + "Series": "Baby" + }, + { + "Date": "2020-11-08", + "Value": 70, + "Series": "Baby" + }, + { + "Date": "2020-11-13", + "Value": 66, + "Series": "Baby" + }, + { + "Date": "2020-11-19", + "Value": 54, + "Series": "Baby" + }, + { + "Date": "2020-11-24", + "Value": 55, + "Series": "Baby" + }, + { + "Date": "2020-11-29", + "Value": 54, + "Series": "Baby" + }, + { + "Date": "2020-12-05", + "Value": 40, + "Series": "Baby" + }, + { + "Date": "2020-12-10", + "Value": 16, + "Series": "Baby" + }, + { + "Date": "2020-12-16", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-12-21", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2020-12-27", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-01-01", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-01-07", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-01-12", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-01-18", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-01-23", + "Value": 7, + "Series": "Baby" + }, + { + "Date": "2021-01-29", + "Value": 5, + "Series": "Baby" + }, + { + "Date": "2021-02-03", + "Value": 8, + "Series": "Baby" + }, + { + "Date": "2021-02-09", + "Value": 2, + "Series": "Baby" + }, + { + "Date": "2021-02-14", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-02-20", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-02-25", + "Value": 0, + "Series": "Baby" + }, + { + "Date": "2021-03-03", + "Value": 11, + "Series": "Baby" + }, + { + "Date": "2021-03-08", + "Value": 32, + "Series": "Baby" + }, + { + "Date": "2021-03-14", + "Value": 34, + "Series": "Baby" + }, + { + "Date": "2021-03-19", + "Value": 43, + "Series": "Baby" + }, + { + "Date": "2021-03-24", + "Value": 61, + "Series": "Baby" + }, + { + "Date": "2021-03-30", + "Value": 60, + "Series": "Baby" + }, + { + "Date": "2021-04-04", + "Value": 60, + "Series": "Baby" + }, + { + "Date": "2021-04-10", + "Value": 73, + "Series": "Baby" + }, + { + "Date": "2021-04-15", + "Value": 91, + "Series": "Baby" + }, + { + "Date": "2021-04-21", + "Value": 105, + "Series": "Baby" + }, + { + "Date": "2021-04-26", + "Value": 125, + "Series": "Baby" + }, + { + "Date": "2021-05-02", + "Value": 138, + "Series": "Baby" + }, + { + "Date": "2021-05-07", + "Value": 145, + "Series": "Baby" + }, + { + "Date": "2021-05-13", + "Value": 144, + "Series": "Baby" + }, + { + "Date": "2021-05-18", + "Value": 142, + "Series": "Baby" + }, + { + "Date": "2021-05-24", + "Value": 155, + "Series": "Baby" + }, + { + "Date": "2021-05-29", + "Value": 166, + "Series": "Baby" + }, + { + "Date": "2021-06-04", + "Value": 184, + "Series": "Baby" + }, + { + "Date": "2021-06-09", + "Value": 194, + "Series": "Baby" + }, + { + "Date": "2021-06-15", + "Value": 212, + "Series": "Baby" + }, + { + "Date": "2021-06-20", + "Value": 212, + "Series": "Baby" + }, + { + "Date": "2021-06-26", + "Value": 204, + "Series": "Baby" + }, + { + "Date": "2021-07-01", + "Value": 201, + "Series": "Baby" + }, + { + "Date": "2021-07-06", + "Value": 200, + "Series": "Baby" + }, + { + "Date": "2021-07-12", + "Value": 205, + "Series": "Baby" + }, + { + "Date": "2021-07-17", + "Value": 210, + "Series": "Baby" + }, + { + "Date": "2021-07-23", + "Value": 221, + "Series": "Baby" + }, + { + "Date": "2021-07-28", + "Value": 233, + "Series": "Baby" + }, + { + "Date": "2021-08-03", + "Value": 236, + "Series": "Baby" + }, + { + "Date": "2021-08-08", + "Value": 240, + "Series": "Baby" + }, + { + "Date": "2021-08-14", + "Value": 250, + "Series": "Baby" + }, + { + "Date": "2021-08-19", + "Value": 252, + "Series": "Baby" + }, + { + "Date": "2021-08-25", + "Value": 248, + "Series": "Baby" + }, + { + "Date": "2021-08-30", + "Value": 254, + "Series": "Baby" + }, + { + "Date": "2021-09-05", + "Value": 261, + "Series": "Baby" + }, + { + "Date": "2021-09-10", + "Value": 253, + "Series": "Baby" + }, + { + "Date": "2021-09-16", + "Value": 255, + "Series": "Baby" + }, + { + "Date": "2021-09-21", + "Value": 260, + "Series": "Baby" + }, + { + "Date": "2021-09-27", + "Value": 258, + "Series": "Baby" + }, + { + "Date": "2021-10-02", + "Value": 251, + "Series": "Baby" + }, + { + "Date": "2021-10-08", + "Value": 252, + "Series": "Baby" + }, + { + "Date": "2021-10-13", + "Value": 255, + "Series": "Baby" + }, + { + "Date": "2021-10-19", + "Value": 256, + "Series": "Baby" + }, + { + "Date": "2021-10-24", + "Value": 248, + "Series": "Baby" + }, + { + "Date": "2021-10-29", + "Value": 238, + "Series": "Baby" + }, + { + "Date": "2021-11-04", + "Value": 222, + "Series": "Baby" + }, + { + "Date": "2021-11-09", + "Value": 198, + "Series": "Baby" + }, + { + "Date": "2021-11-15", + "Value": 167, + "Series": "Baby" + }, + { + "Date": "2021-11-20", + "Value": 139, + "Series": "Baby" + }, + { + "Date": "2021-11-26", + "Value": 118, + "Series": "Baby" + }, + { + "Date": "2021-12-01", + "Value": 107, + "Series": "Baby" + }, + { + "Date": "2021-12-07", + "Value": 112, + "Series": "Baby" + }, + { + "Date": "2021-12-12", + "Value": 123, + "Series": "Baby" + }, + { + "Date": "2021-12-18", + "Value": 126, + "Series": "Baby" + }, + { + "Date": "2021-12-23", + "Value": 134, + "Series": "Baby" + }, + { + "Date": "2021-12-29", + "Value": 129, + "Series": "Baby" + }, + { + "Date": "2022-01-03", + "Value": 112, + "Series": "Baby" + }, + { + "Date": "2022-01-09", + "Value": 115, + "Series": "Baby" + }, + { + "Date": "2022-01-14", + "Value": 106, + "Series": "Baby" + }, + { + "Date": "2022-01-20", + "Value": 105, + "Series": "Baby" + }, + { + "Date": "2022-01-25", + "Value": 111, + "Series": "Baby" + }, + { + "Date": "2022-01-31", + "Value": 105, + "Series": "Baby" + }, + { + "Date": "2022-02-05", + "Value": 106, + "Series": "Baby" + }, + { + "Date": "2022-02-10", + "Value": 101, + "Series": "Baby" + }, + { + "Date": "2022-02-16", + "Value": 97, + "Series": "Baby" + }, + { + "Date": "2022-02-21", + "Value": 92, + "Series": "Baby" + }, + { + "Date": "2022-02-27", + "Value": 88, + "Series": "Baby" + }, + { + "Date": "2022-03-04", + "Value": 81, + "Series": "Baby" + }, + { + "Date": "2022-03-10", + "Value": 82, + "Series": "Baby" + }, + { + "Date": "2022-03-15", + "Value": 79, + "Series": "Baby" + }, + { + "Date": "2022-03-21", + "Value": 83, + "Series": "Baby" + }, + { + "Date": "2022-03-26", + "Value": 84, + "Series": "Baby" + }, + { + "Date": "2022-04-01", + "Value": 81, + "Series": "Baby" + }, + { + "Date": "2022-04-06", + "Value": 93, + "Series": "Baby" + }, + { + "Date": "2022-04-12", + "Value": 98, + "Series": "Baby" + }, + { + "Date": "2022-04-17", + "Value": 96, + "Series": "Baby" + }, + { + "Date": "2022-04-23", + "Value": 90, + "Series": "Baby" + }, + { + "Date": "2022-04-28", + "Value": 88, + "Series": "Baby" + }, + { + "Date": "2022-05-04", + "Value": 90, + "Series": "Baby" + }, + { + "Date": "2022-05-09", + "Value": 94, + "Series": "Baby" + }, + { + "Date": "2022-05-15", + "Value": 110, + "Series": "Baby" + }, + { + "Date": "2022-05-20", + "Value": 118, + "Series": "Baby" + }, + { + "Date": "2022-05-26", + "Value": 125, + "Series": "Baby" + }, + { + "Date": "2022-05-31", + "Value": 135, + "Series": "Baby" + }, + { + "Date": "2022-06-05", + "Value": 133, + "Series": "Baby" + }, + { + "Date": "2022-06-11", + "Value": 119, + "Series": "Baby" + }, + { + "Date": "2022-06-16", + "Value": 98, + "Series": "Baby" + }, + { + "Date": "2022-06-22", + "Value": 81, + "Series": "Baby" + }, + { + "Date": "2022-06-27", + "Value": 56, + "Series": "Baby" + }, + { + "Date": "2022-07-03", + "Value": 52, + "Series": "Baby" + }, + { + "Date": "2022-07-08", + "Value": 45, + "Series": "Baby" + }, + { + "Date": "2022-07-14", + "Value": 54, + "Series": "Baby" + }, + { + "Date": "2022-07-19", + "Value": 69, + "Series": "Baby" + }, + { + "Date": "2022-07-25", + "Value": 90, + "Series": "Baby" + }, + { + "Date": "2022-07-30", + "Value": 100, + "Series": "Baby" + }, + { + "Date": "2022-08-05", + "Value": 101, + "Series": "Baby" + }, + { + "Date": "2022-08-10", + "Value": 109, + "Series": "Baby" + }, + { + "Date": "2022-08-16", + "Value": 111, + "Series": "Baby" + }, + { + "Date": "2022-08-21", + "Value": 126, + "Series": "Baby" + }, + { + "Date": "2022-08-27", + "Value": 124, + "Series": "Baby" + }, + { + "Date": "2022-09-01", + "Value": 123, + "Series": "Baby" + }, + { + "Date": "2022-09-07", + "Value": 111, + "Series": "Baby" + }, + { + "Date": "2022-09-12", + "Value": 117, + "Series": "Baby" + }, + { + "Date": "2022-09-17", + "Value": 127, + "Series": "Baby" + }, + { + "Date": "2022-09-23", + "Value": 127, + "Series": "Baby" + }, + { + "Date": "2022-09-28", + "Value": 119, + "Series": "Baby" + }, + { + "Date": "2022-10-04", + "Value": 104, + "Series": "Baby" + }, + { + "Date": "2022-10-09", + "Value": 79, + "Series": "Baby" + }, + { + "Date": "2022-10-15", + "Value": 57, + "Series": "Baby" + }, + { + "Date": "2022-10-20", + "Value": 50, + "Series": "Baby" + }, + { + "Date": "2022-10-26", + "Value": 36, + "Series": "Baby" + }, + { + "Date": "2022-10-31", + "Value": 25, + "Series": "Baby" + }, + { + "Date": "2022-11-06", + "Value": 29, + "Series": "Baby" + }, + { + "Date": "2022-11-11", + "Value": 44, + "Series": "Baby" + }, + { + "Date": "2022-11-17", + "Value": 66, + "Series": "Baby" + }, + { + "Date": "2022-11-22", + "Value": 81, + "Series": "Baby" + }, + { + "Date": "2022-11-28", + "Value": 83, + "Series": "Baby" + }, + { + "Date": "2022-12-03", + "Value": 87, + "Series": "Baby" + }, + { + "Date": "2022-12-09", + "Value": 99, + "Series": "Baby" + }, + { + "Date": "2022-12-14", + "Value": 119, + "Series": "Baby" + }, + { + "Date": "2022-12-20", + "Value": 121, + "Series": "Baby" + }, + { + "Date": "2022-12-25", + "Value": 124, + "Series": "Baby" + }, + { + "Date": "2020-01-01", + "Value": 74, + "Series": "Tools" + }, + { + "Date": "2020-01-06", + "Value": 87, + "Series": "Tools" + }, + { + "Date": "2020-01-11", + "Value": 96, + "Series": "Tools" + }, + { + "Date": "2020-01-17", + "Value": 90, + "Series": "Tools" + }, + { + "Date": "2020-01-22", + "Value": 74, + "Series": "Tools" + }, + { + "Date": "2020-01-28", + "Value": 60, + "Series": "Tools" + }, + { + "Date": "2020-02-02", + "Value": 48, + "Series": "Tools" + }, + { + "Date": "2020-02-08", + "Value": 54, + "Series": "Tools" + }, + { + "Date": "2020-02-13", + "Value": 65, + "Series": "Tools" + }, + { + "Date": "2020-02-19", + "Value": 83, + "Series": "Tools" + }, + { + "Date": "2020-02-24", + "Value": 88, + "Series": "Tools" + }, + { + "Date": "2020-03-01", + "Value": 104, + "Series": "Tools" + }, + { + "Date": "2020-03-06", + "Value": 104, + "Series": "Tools" + }, + { + "Date": "2020-03-12", + "Value": 99, + "Series": "Tools" + }, + { + "Date": "2020-03-17", + "Value": 99, + "Series": "Tools" + }, + { + "Date": "2020-03-23", + "Value": 113, + "Series": "Tools" + }, + { + "Date": "2020-03-28", + "Value": 114, + "Series": "Tools" + }, + { + "Date": "2020-04-03", + "Value": 110, + "Series": "Tools" + }, + { + "Date": "2020-04-08", + "Value": 106, + "Series": "Tools" + }, + { + "Date": "2020-04-14", + "Value": 97, + "Series": "Tools" + }, + { + "Date": "2020-04-19", + "Value": 93, + "Series": "Tools" + }, + { + "Date": "2020-04-24", + "Value": 86, + "Series": "Tools" + }, + { + "Date": "2020-04-30", + "Value": 80, + "Series": "Tools" + }, + { + "Date": "2020-05-05", + "Value": 72, + "Series": "Tools" + }, + { + "Date": "2020-05-11", + "Value": 55, + "Series": "Tools" + }, + { + "Date": "2020-05-16", + "Value": 58, + "Series": "Tools" + }, + { + "Date": "2020-05-22", + "Value": 64, + "Series": "Tools" + }, + { + "Date": "2020-05-27", + "Value": 72, + "Series": "Tools" + }, + { + "Date": "2020-06-02", + "Value": 83, + "Series": "Tools" + }, + { + "Date": "2020-06-07", + "Value": 100, + "Series": "Tools" + }, + { + "Date": "2020-06-13", + "Value": 106, + "Series": "Tools" + }, + { + "Date": "2020-06-18", + "Value": 104, + "Series": "Tools" + }, + { + "Date": "2020-06-24", + "Value": 110, + "Series": "Tools" + }, + { + "Date": "2020-06-29", + "Value": 114, + "Series": "Tools" + }, + { + "Date": "2020-07-05", + "Value": 121, + "Series": "Tools" + }, + { + "Date": "2020-07-10", + "Value": 128, + "Series": "Tools" + }, + { + "Date": "2020-07-16", + "Value": 124, + "Series": "Tools" + }, + { + "Date": "2020-07-21", + "Value": 128, + "Series": "Tools" + }, + { + "Date": "2020-07-27", + "Value": 125, + "Series": "Tools" + }, + { + "Date": "2020-08-01", + "Value": 125, + "Series": "Tools" + }, + { + "Date": "2020-08-07", + "Value": 132, + "Series": "Tools" + }, + { + "Date": "2020-08-12", + "Value": 128, + "Series": "Tools" + }, + { + "Date": "2020-08-17", + "Value": 127, + "Series": "Tools" + }, + { + "Date": "2020-08-23", + "Value": 122, + "Series": "Tools" + }, + { + "Date": "2020-08-28", + "Value": 119, + "Series": "Tools" + }, + { + "Date": "2020-09-03", + "Value": 103, + "Series": "Tools" + }, + { + "Date": "2020-09-08", + "Value": 94, + "Series": "Tools" + }, + { + "Date": "2020-09-14", + "Value": 84, + "Series": "Tools" + }, + { + "Date": "2020-09-19", + "Value": 75, + "Series": "Tools" + }, + { + "Date": "2020-09-25", + "Value": 66, + "Series": "Tools" + }, + { + "Date": "2020-09-30", + "Value": 66, + "Series": "Tools" + }, + { + "Date": "2020-10-06", + "Value": 80, + "Series": "Tools" + }, + { + "Date": "2020-10-11", + "Value": 97, + "Series": "Tools" + }, + { + "Date": "2020-10-17", + "Value": 110, + "Series": "Tools" + }, + { + "Date": "2020-10-22", + "Value": 133, + "Series": "Tools" + }, + { + "Date": "2020-10-28", + "Value": 140, + "Series": "Tools" + }, + { + "Date": "2020-11-02", + "Value": 154, + "Series": "Tools" + }, + { + "Date": "2020-11-08", + "Value": 163, + "Series": "Tools" + }, + { + "Date": "2020-11-13", + "Value": 161, + "Series": "Tools" + }, + { + "Date": "2020-11-19", + "Value": 156, + "Series": "Tools" + }, + { + "Date": "2020-11-24", + "Value": 145, + "Series": "Tools" + }, + { + "Date": "2020-11-29", + "Value": 137, + "Series": "Tools" + }, + { + "Date": "2020-12-05", + "Value": 139, + "Series": "Tools" + }, + { + "Date": "2020-12-10", + "Value": 133, + "Series": "Tools" + }, + { + "Date": "2020-12-16", + "Value": 135, + "Series": "Tools" + }, + { + "Date": "2020-12-21", + "Value": 126, + "Series": "Tools" + }, + { + "Date": "2020-12-27", + "Value": 111, + "Series": "Tools" + }, + { + "Date": "2021-01-01", + "Value": 105, + "Series": "Tools" + }, + { + "Date": "2021-01-07", + "Value": 94, + "Series": "Tools" + }, + { + "Date": "2021-01-12", + "Value": 74, + "Series": "Tools" + }, + { + "Date": "2021-01-18", + "Value": 67, + "Series": "Tools" + }, + { + "Date": "2021-01-23", + "Value": 68, + "Series": "Tools" + }, + { + "Date": "2021-01-29", + "Value": 56, + "Series": "Tools" + }, + { + "Date": "2021-02-03", + "Value": 41, + "Series": "Tools" + }, + { + "Date": "2021-02-09", + "Value": 29, + "Series": "Tools" + }, + { + "Date": "2021-02-14", + "Value": 34, + "Series": "Tools" + }, + { + "Date": "2021-02-20", + "Value": 44, + "Series": "Tools" + }, + { + "Date": "2021-02-25", + "Value": 51, + "Series": "Tools" + }, + { + "Date": "2021-03-03", + "Value": 51, + "Series": "Tools" + }, + { + "Date": "2021-03-08", + "Value": 60, + "Series": "Tools" + }, + { + "Date": "2021-03-14", + "Value": 72, + "Series": "Tools" + }, + { + "Date": "2021-03-19", + "Value": 92, + "Series": "Tools" + }, + { + "Date": "2021-03-24", + "Value": 119, + "Series": "Tools" + }, + { + "Date": "2021-03-30", + "Value": 146, + "Series": "Tools" + }, + { + "Date": "2021-04-04", + "Value": 171, + "Series": "Tools" + }, + { + "Date": "2021-04-10", + "Value": 194, + "Series": "Tools" + }, + { + "Date": "2021-04-15", + "Value": 222, + "Series": "Tools" + }, + { + "Date": "2021-04-21", + "Value": 234, + "Series": "Tools" + }, + { + "Date": "2021-04-26", + "Value": 246, + "Series": "Tools" + }, + { + "Date": "2021-05-02", + "Value": 244, + "Series": "Tools" + }, + { + "Date": "2021-05-07", + "Value": 238, + "Series": "Tools" + }, + { + "Date": "2021-05-13", + "Value": 229, + "Series": "Tools" + }, + { + "Date": "2021-05-18", + "Value": 209, + "Series": "Tools" + }, + { + "Date": "2021-05-24", + "Value": 203, + "Series": "Tools" + }, + { + "Date": "2021-05-29", + "Value": 203, + "Series": "Tools" + }, + { + "Date": "2021-06-04", + "Value": 201, + "Series": "Tools" + }, + { + "Date": "2021-06-09", + "Value": 214, + "Series": "Tools" + }, + { + "Date": "2021-06-15", + "Value": 216, + "Series": "Tools" + }, + { + "Date": "2021-06-20", + "Value": 206, + "Series": "Tools" + }, + { + "Date": "2021-06-26", + "Value": 207, + "Series": "Tools" + }, + { + "Date": "2021-07-01", + "Value": 207, + "Series": "Tools" + }, + { + "Date": "2021-07-06", + "Value": 212, + "Series": "Tools" + }, + { + "Date": "2021-07-12", + "Value": 205, + "Series": "Tools" + }, + { + "Date": "2021-07-17", + "Value": 200, + "Series": "Tools" + }, + { + "Date": "2021-07-23", + "Value": 184, + "Series": "Tools" + }, + { + "Date": "2021-07-28", + "Value": 184, + "Series": "Tools" + }, + { + "Date": "2021-08-03", + "Value": 177, + "Series": "Tools" + }, + { + "Date": "2021-08-08", + "Value": 176, + "Series": "Tools" + }, + { + "Date": "2021-08-14", + "Value": 171, + "Series": "Tools" + }, + { + "Date": "2021-08-19", + "Value": 161, + "Series": "Tools" + }, + { + "Date": "2021-08-25", + "Value": 144, + "Series": "Tools" + }, + { + "Date": "2021-08-30", + "Value": 135, + "Series": "Tools" + }, + { + "Date": "2021-09-05", + "Value": 122, + "Series": "Tools" + }, + { + "Date": "2021-09-10", + "Value": 104, + "Series": "Tools" + }, + { + "Date": "2021-09-16", + "Value": 86, + "Series": "Tools" + }, + { + "Date": "2021-09-21", + "Value": 81, + "Series": "Tools" + }, + { + "Date": "2021-09-27", + "Value": 65, + "Series": "Tools" + }, + { + "Date": "2021-10-02", + "Value": 59, + "Series": "Tools" + }, + { + "Date": "2021-10-08", + "Value": 61, + "Series": "Tools" + }, + { + "Date": "2021-10-13", + "Value": 59, + "Series": "Tools" + }, + { + "Date": "2021-10-19", + "Value": 47, + "Series": "Tools" + }, + { + "Date": "2021-10-24", + "Value": 53, + "Series": "Tools" + }, + { + "Date": "2021-10-29", + "Value": 51, + "Series": "Tools" + }, + { + "Date": "2021-11-04", + "Value": 59, + "Series": "Tools" + }, + { + "Date": "2021-11-09", + "Value": 56, + "Series": "Tools" + }, + { + "Date": "2021-11-15", + "Value": 47, + "Series": "Tools" + }, + { + "Date": "2021-11-20", + "Value": 28, + "Series": "Tools" + }, + { + "Date": "2021-11-26", + "Value": 6, + "Series": "Tools" + }, + { + "Date": "2021-12-01", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2021-12-07", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2021-12-12", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2021-12-18", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2021-12-23", + "Value": 3, + "Series": "Tools" + }, + { + "Date": "2021-12-29", + "Value": 11, + "Series": "Tools" + }, + { + "Date": "2022-01-03", + "Value": 29, + "Series": "Tools" + }, + { + "Date": "2022-01-09", + "Value": 54, + "Series": "Tools" + }, + { + "Date": "2022-01-14", + "Value": 63, + "Series": "Tools" + }, + { + "Date": "2022-01-20", + "Value": 69, + "Series": "Tools" + }, + { + "Date": "2022-01-25", + "Value": 62, + "Series": "Tools" + }, + { + "Date": "2022-01-31", + "Value": 51, + "Series": "Tools" + }, + { + "Date": "2022-02-05", + "Value": 37, + "Series": "Tools" + }, + { + "Date": "2022-02-10", + "Value": 14, + "Series": "Tools" + }, + { + "Date": "2022-02-16", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2022-02-21", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2022-02-27", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2022-03-04", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2022-03-10", + "Value": 0, + "Series": "Tools" + }, + { + "Date": "2022-03-15", + "Value": 4, + "Series": "Tools" + }, + { + "Date": "2022-03-21", + "Value": 12, + "Series": "Tools" + }, + { + "Date": "2022-03-26", + "Value": 21, + "Series": "Tools" + }, + { + "Date": "2022-04-01", + "Value": 35, + "Series": "Tools" + }, + { + "Date": "2022-04-06", + "Value": 40, + "Series": "Tools" + }, + { + "Date": "2022-04-12", + "Value": 57, + "Series": "Tools" + }, + { + "Date": "2022-04-17", + "Value": 82, + "Series": "Tools" + }, + { + "Date": "2022-04-23", + "Value": 89, + "Series": "Tools" + }, + { + "Date": "2022-04-28", + "Value": 107, + "Series": "Tools" + }, + { + "Date": "2022-05-04", + "Value": 131, + "Series": "Tools" + }, + { + "Date": "2022-05-09", + "Value": 134, + "Series": "Tools" + }, + { + "Date": "2022-05-15", + "Value": 149, + "Series": "Tools" + }, + { + "Date": "2022-05-20", + "Value": 150, + "Series": "Tools" + }, + { + "Date": "2022-05-26", + "Value": 163, + "Series": "Tools" + }, + { + "Date": "2022-05-31", + "Value": 158, + "Series": "Tools" + }, + { + "Date": "2022-06-05", + "Value": 150, + "Series": "Tools" + }, + { + "Date": "2022-06-11", + "Value": 140, + "Series": "Tools" + }, + { + "Date": "2022-06-16", + "Value": 128, + "Series": "Tools" + }, + { + "Date": "2022-06-22", + "Value": 118, + "Series": "Tools" + }, + { + "Date": "2022-06-27", + "Value": 126, + "Series": "Tools" + }, + { + "Date": "2022-07-03", + "Value": 142, + "Series": "Tools" + }, + { + "Date": "2022-07-08", + "Value": 139, + "Series": "Tools" + }, + { + "Date": "2022-07-14", + "Value": 141, + "Series": "Tools" + }, + { + "Date": "2022-07-19", + "Value": 142, + "Series": "Tools" + }, + { + "Date": "2022-07-25", + "Value": 151, + "Series": "Tools" + }, + { + "Date": "2022-07-30", + "Value": 154, + "Series": "Tools" + }, + { + "Date": "2022-08-05", + "Value": 167, + "Series": "Tools" + }, + { + "Date": "2022-08-10", + "Value": 170, + "Series": "Tools" + }, + { + "Date": "2022-08-16", + "Value": 179, + "Series": "Tools" + }, + { + "Date": "2022-08-21", + "Value": 190, + "Series": "Tools" + }, + { + "Date": "2022-08-27", + "Value": 210, + "Series": "Tools" + }, + { + "Date": "2022-09-01", + "Value": 224, + "Series": "Tools" + }, + { + "Date": "2022-09-07", + "Value": 239, + "Series": "Tools" + }, + { + "Date": "2022-09-12", + "Value": 254, + "Series": "Tools" + }, + { + "Date": "2022-09-17", + "Value": 257, + "Series": "Tools" + }, + { + "Date": "2022-09-23", + "Value": 259, + "Series": "Tools" + }, + { + "Date": "2022-09-28", + "Value": 254, + "Series": "Tools" + }, + { + "Date": "2022-10-04", + "Value": 253, + "Series": "Tools" + }, + { + "Date": "2022-10-09", + "Value": 248, + "Series": "Tools" + }, + { + "Date": "2022-10-15", + "Value": 252, + "Series": "Tools" + }, + { + "Date": "2022-10-20", + "Value": 245, + "Series": "Tools" + }, + { + "Date": "2022-10-26", + "Value": 227, + "Series": "Tools" + }, + { + "Date": "2022-10-31", + "Value": 212, + "Series": "Tools" + }, + { + "Date": "2022-11-06", + "Value": 205, + "Series": "Tools" + }, + { + "Date": "2022-11-11", + "Value": 210, + "Series": "Tools" + }, + { + "Date": "2022-11-17", + "Value": 226, + "Series": "Tools" + }, + { + "Date": "2022-11-22", + "Value": 226, + "Series": "Tools" + }, + { + "Date": "2022-11-28", + "Value": 238, + "Series": "Tools" + }, + { + "Date": "2022-12-03", + "Value": 233, + "Series": "Tools" + }, + { + "Date": "2022-12-09", + "Value": 243, + "Series": "Tools" + }, + { + "Date": "2022-12-14", + "Value": 256, + "Series": "Tools" + }, + { + "Date": "2022-12-20", + "Value": 274, + "Series": "Tools" + }, + { + "Date": "2022-12-25", + "Value": 284, + "Series": "Tools" + }, + { + "Date": "2020-01-01", + "Value": 242, + "Series": "Crafts" + }, + { + "Date": "2020-01-06", + "Value": 239, + "Series": "Crafts" + }, + { + "Date": "2020-01-11", + "Value": 235, + "Series": "Crafts" + }, + { + "Date": "2020-01-17", + "Value": 235, + "Series": "Crafts" + }, + { + "Date": "2020-01-22", + "Value": 226, + "Series": "Crafts" + }, + { + "Date": "2020-01-28", + "Value": 216, + "Series": "Crafts" + }, + { + "Date": "2020-02-02", + "Value": 212, + "Series": "Crafts" + }, + { + "Date": "2020-02-08", + "Value": 204, + "Series": "Crafts" + }, + { + "Date": "2020-02-13", + "Value": 204, + "Series": "Crafts" + }, + { + "Date": "2020-02-19", + "Value": 209, + "Series": "Crafts" + }, + { + "Date": "2020-02-24", + "Value": 204, + "Series": "Crafts" + }, + { + "Date": "2020-03-01", + "Value": 194, + "Series": "Crafts" + }, + { + "Date": "2020-03-06", + "Value": 178, + "Series": "Crafts" + }, + { + "Date": "2020-03-12", + "Value": 168, + "Series": "Crafts" + }, + { + "Date": "2020-03-17", + "Value": 161, + "Series": "Crafts" + }, + { + "Date": "2020-03-23", + "Value": 155, + "Series": "Crafts" + }, + { + "Date": "2020-03-28", + "Value": 146, + "Series": "Crafts" + }, + { + "Date": "2020-04-03", + "Value": 137, + "Series": "Crafts" + }, + { + "Date": "2020-04-08", + "Value": 137, + "Series": "Crafts" + }, + { + "Date": "2020-04-14", + "Value": 139, + "Series": "Crafts" + }, + { + "Date": "2020-04-19", + "Value": 143, + "Series": "Crafts" + }, + { + "Date": "2020-04-24", + "Value": 154, + "Series": "Crafts" + }, + { + "Date": "2020-04-30", + "Value": 157, + "Series": "Crafts" + }, + { + "Date": "2020-05-05", + "Value": 161, + "Series": "Crafts" + }, + { + "Date": "2020-05-11", + "Value": 170, + "Series": "Crafts" + }, + { + "Date": "2020-05-16", + "Value": 169, + "Series": "Crafts" + }, + { + "Date": "2020-05-22", + "Value": 168, + "Series": "Crafts" + }, + { + "Date": "2020-05-27", + "Value": 160, + "Series": "Crafts" + }, + { + "Date": "2020-06-02", + "Value": 154, + "Series": "Crafts" + }, + { + "Date": "2020-06-07", + "Value": 153, + "Series": "Crafts" + }, + { + "Date": "2020-06-13", + "Value": 149, + "Series": "Crafts" + }, + { + "Date": "2020-06-18", + "Value": 153, + "Series": "Crafts" + }, + { + "Date": "2020-06-24", + "Value": 163, + "Series": "Crafts" + }, + { + "Date": "2020-06-29", + "Value": 176, + "Series": "Crafts" + }, + { + "Date": "2020-07-05", + "Value": 178, + "Series": "Crafts" + }, + { + "Date": "2020-07-10", + "Value": 172, + "Series": "Crafts" + }, + { + "Date": "2020-07-16", + "Value": 166, + "Series": "Crafts" + }, + { + "Date": "2020-07-21", + "Value": 157, + "Series": "Crafts" + }, + { + "Date": "2020-07-27", + "Value": 148, + "Series": "Crafts" + }, + { + "Date": "2020-08-01", + "Value": 147, + "Series": "Crafts" + }, + { + "Date": "2020-08-07", + "Value": 148, + "Series": "Crafts" + }, + { + "Date": "2020-08-12", + "Value": 156, + "Series": "Crafts" + }, + { + "Date": "2020-08-17", + "Value": 158, + "Series": "Crafts" + }, + { + "Date": "2020-08-23", + "Value": 151, + "Series": "Crafts" + }, + { + "Date": "2020-08-28", + "Value": 151, + "Series": "Crafts" + }, + { + "Date": "2020-09-03", + "Value": 143, + "Series": "Crafts" + }, + { + "Date": "2020-09-08", + "Value": 135, + "Series": "Crafts" + }, + { + "Date": "2020-09-14", + "Value": 132, + "Series": "Crafts" + }, + { + "Date": "2020-09-19", + "Value": 132, + "Series": "Crafts" + }, + { + "Date": "2020-09-25", + "Value": 137, + "Series": "Crafts" + }, + { + "Date": "2020-09-30", + "Value": 149, + "Series": "Crafts" + }, + { + "Date": "2020-10-06", + "Value": 157, + "Series": "Crafts" + }, + { + "Date": "2020-10-11", + "Value": 156, + "Series": "Crafts" + }, + { + "Date": "2020-10-17", + "Value": 161, + "Series": "Crafts" + }, + { + "Date": "2020-10-22", + "Value": 170, + "Series": "Crafts" + }, + { + "Date": "2020-10-28", + "Value": 172, + "Series": "Crafts" + }, + { + "Date": "2020-11-02", + "Value": 177, + "Series": "Crafts" + }, + { + "Date": "2020-11-08", + "Value": 177, + "Series": "Crafts" + }, + { + "Date": "2020-11-13", + "Value": 170, + "Series": "Crafts" + }, + { + "Date": "2020-11-19", + "Value": 162, + "Series": "Crafts" + }, + { + "Date": "2020-11-24", + "Value": 162, + "Series": "Crafts" + }, + { + "Date": "2020-11-29", + "Value": 153, + "Series": "Crafts" + }, + { + "Date": "2020-12-05", + "Value": 154, + "Series": "Crafts" + }, + { + "Date": "2020-12-10", + "Value": 152, + "Series": "Crafts" + }, + { + "Date": "2020-12-16", + "Value": 152, + "Series": "Crafts" + }, + { + "Date": "2020-12-21", + "Value": 146, + "Series": "Crafts" + }, + { + "Date": "2020-12-27", + "Value": 149, + "Series": "Crafts" + }, + { + "Date": "2021-01-01", + "Value": 151, + "Series": "Crafts" + }, + { + "Date": "2021-01-07", + "Value": 153, + "Series": "Crafts" + }, + { + "Date": "2021-01-12", + "Value": 158, + "Series": "Crafts" + }, + { + "Date": "2021-01-18", + "Value": 162, + "Series": "Crafts" + }, + { + "Date": "2021-01-23", + "Value": 162, + "Series": "Crafts" + }, + { + "Date": "2021-01-29", + "Value": 159, + "Series": "Crafts" + }, + { + "Date": "2021-02-03", + "Value": 160, + "Series": "Crafts" + }, + { + "Date": "2021-02-09", + "Value": 159, + "Series": "Crafts" + }, + { + "Date": "2021-02-14", + "Value": 150, + "Series": "Crafts" + }, + { + "Date": "2021-02-20", + "Value": 137, + "Series": "Crafts" + }, + { + "Date": "2021-02-25", + "Value": 137, + "Series": "Crafts" + }, + { + "Date": "2021-03-03", + "Value": 144, + "Series": "Crafts" + }, + { + "Date": "2021-03-08", + "Value": 148, + "Series": "Crafts" + }, + { + "Date": "2021-03-14", + "Value": 150, + "Series": "Crafts" + }, + { + "Date": "2021-03-19", + "Value": 149, + "Series": "Crafts" + }, + { + "Date": "2021-03-24", + "Value": 148, + "Series": "Crafts" + }, + { + "Date": "2021-03-30", + "Value": 156, + "Series": "Crafts" + }, + { + "Date": "2021-04-04", + "Value": 169, + "Series": "Crafts" + }, + { + "Date": "2021-04-10", + "Value": 171, + "Series": "Crafts" + }, + { + "Date": "2021-04-15", + "Value": 174, + "Series": "Crafts" + }, + { + "Date": "2021-04-21", + "Value": 184, + "Series": "Crafts" + }, + { + "Date": "2021-04-26", + "Value": 184, + "Series": "Crafts" + }, + { + "Date": "2021-05-02", + "Value": 193, + "Series": "Crafts" + }, + { + "Date": "2021-05-07", + "Value": 202, + "Series": "Crafts" + }, + { + "Date": "2021-05-13", + "Value": 210, + "Series": "Crafts" + }, + { + "Date": "2021-05-18", + "Value": 207, + "Series": "Crafts" + }, + { + "Date": "2021-05-24", + "Value": 212, + "Series": "Crafts" + }, + { + "Date": "2021-05-29", + "Value": 207, + "Series": "Crafts" + }, + { + "Date": "2021-06-04", + "Value": 199, + "Series": "Crafts" + }, + { + "Date": "2021-06-09", + "Value": 190, + "Series": "Crafts" + }, + { + "Date": "2021-06-15", + "Value": 187, + "Series": "Crafts" + }, + { + "Date": "2021-06-20", + "Value": 191, + "Series": "Crafts" + }, + { + "Date": "2021-06-26", + "Value": 191, + "Series": "Crafts" + }, + { + "Date": "2021-07-01", + "Value": 186, + "Series": "Crafts" + }, + { + "Date": "2021-07-06", + "Value": 185, + "Series": "Crafts" + }, + { + "Date": "2021-07-12", + "Value": 180, + "Series": "Crafts" + }, + { + "Date": "2021-07-17", + "Value": 176, + "Series": "Crafts" + }, + { + "Date": "2021-07-23", + "Value": 169, + "Series": "Crafts" + }, + { + "Date": "2021-07-28", + "Value": 159, + "Series": "Crafts" + }, + { + "Date": "2021-08-03", + "Value": 154, + "Series": "Crafts" + }, + { + "Date": "2021-08-08", + "Value": 144, + "Series": "Crafts" + }, + { + "Date": "2021-08-14", + "Value": 141, + "Series": "Crafts" + }, + { + "Date": "2021-08-19", + "Value": 132, + "Series": "Crafts" + }, + { + "Date": "2021-08-25", + "Value": 134, + "Series": "Crafts" + }, + { + "Date": "2021-08-30", + "Value": 136, + "Series": "Crafts" + }, + { + "Date": "2021-09-05", + "Value": 131, + "Series": "Crafts" + }, + { + "Date": "2021-09-10", + "Value": 131, + "Series": "Crafts" + }, + { + "Date": "2021-09-16", + "Value": 139, + "Series": "Crafts" + }, + { + "Date": "2021-09-21", + "Value": 142, + "Series": "Crafts" + }, + { + "Date": "2021-09-27", + "Value": 137, + "Series": "Crafts" + }, + { + "Date": "2021-10-02", + "Value": 127, + "Series": "Crafts" + }, + { + "Date": "2021-10-08", + "Value": 112, + "Series": "Crafts" + }, + { + "Date": "2021-10-13", + "Value": 94, + "Series": "Crafts" + }, + { + "Date": "2021-10-19", + "Value": 75, + "Series": "Crafts" + }, + { + "Date": "2021-10-24", + "Value": 64, + "Series": "Crafts" + }, + { + "Date": "2021-10-29", + "Value": 64, + "Series": "Crafts" + }, + { + "Date": "2021-11-04", + "Value": 71, + "Series": "Crafts" + }, + { + "Date": "2021-11-09", + "Value": 70, + "Series": "Crafts" + }, + { + "Date": "2021-11-15", + "Value": 73, + "Series": "Crafts" + }, + { + "Date": "2021-11-20", + "Value": 74, + "Series": "Crafts" + }, + { + "Date": "2021-11-26", + "Value": 70, + "Series": "Crafts" + }, + { + "Date": "2021-12-01", + "Value": 74, + "Series": "Crafts" + }, + { + "Date": "2021-12-07", + "Value": 79, + "Series": "Crafts" + }, + { + "Date": "2021-12-12", + "Value": 77, + "Series": "Crafts" + }, + { + "Date": "2021-12-18", + "Value": 73, + "Series": "Crafts" + }, + { + "Date": "2021-12-23", + "Value": 78, + "Series": "Crafts" + }, + { + "Date": "2021-12-29", + "Value": 79, + "Series": "Crafts" + }, + { + "Date": "2022-01-03", + "Value": 81, + "Series": "Crafts" + }, + { + "Date": "2022-01-09", + "Value": 75, + "Series": "Crafts" + }, + { + "Date": "2022-01-14", + "Value": 78, + "Series": "Crafts" + }, + { + "Date": "2022-01-20", + "Value": 74, + "Series": "Crafts" + }, + { + "Date": "2022-01-25", + "Value": 63, + "Series": "Crafts" + }, + { + "Date": "2022-01-31", + "Value": 50, + "Series": "Crafts" + }, + { + "Date": "2022-02-05", + "Value": 38, + "Series": "Crafts" + }, + { + "Date": "2022-02-10", + "Value": 27, + "Series": "Crafts" + }, + { + "Date": "2022-02-16", + "Value": 26, + "Series": "Crafts" + }, + { + "Date": "2022-02-21", + "Value": 27, + "Series": "Crafts" + }, + { + "Date": "2022-02-27", + "Value": 29, + "Series": "Crafts" + }, + { + "Date": "2022-03-04", + "Value": 38, + "Series": "Crafts" + }, + { + "Date": "2022-03-10", + "Value": 49, + "Series": "Crafts" + }, + { + "Date": "2022-03-15", + "Value": 56, + "Series": "Crafts" + }, + { + "Date": "2022-03-21", + "Value": 69, + "Series": "Crafts" + }, + { + "Date": "2022-03-26", + "Value": 77, + "Series": "Crafts" + }, + { + "Date": "2022-04-01", + "Value": 75, + "Series": "Crafts" + }, + { + "Date": "2022-04-06", + "Value": 65, + "Series": "Crafts" + }, + { + "Date": "2022-04-12", + "Value": 61, + "Series": "Crafts" + }, + { + "Date": "2022-04-17", + "Value": 66, + "Series": "Crafts" + }, + { + "Date": "2022-04-23", + "Value": 74, + "Series": "Crafts" + }, + { + "Date": "2022-04-28", + "Value": 71, + "Series": "Crafts" + }, + { + "Date": "2022-05-04", + "Value": 72, + "Series": "Crafts" + }, + { + "Date": "2022-05-09", + "Value": 79, + "Series": "Crafts" + }, + { + "Date": "2022-05-15", + "Value": 91, + "Series": "Crafts" + }, + { + "Date": "2022-05-20", + "Value": 105, + "Series": "Crafts" + }, + { + "Date": "2022-05-26", + "Value": 107, + "Series": "Crafts" + }, + { + "Date": "2022-05-31", + "Value": 105, + "Series": "Crafts" + }, + { + "Date": "2022-06-05", + "Value": 104, + "Series": "Crafts" + }, + { + "Date": "2022-06-11", + "Value": 105, + "Series": "Crafts" + }, + { + "Date": "2022-06-16", + "Value": 114, + "Series": "Crafts" + }, + { + "Date": "2022-06-22", + "Value": 119, + "Series": "Crafts" + }, + { + "Date": "2022-06-27", + "Value": 120, + "Series": "Crafts" + }, + { + "Date": "2022-07-03", + "Value": 117, + "Series": "Crafts" + }, + { + "Date": "2022-07-08", + "Value": 123, + "Series": "Crafts" + }, + { + "Date": "2022-07-14", + "Value": 125, + "Series": "Crafts" + }, + { + "Date": "2022-07-19", + "Value": 120, + "Series": "Crafts" + }, + { + "Date": "2022-07-25", + "Value": 113, + "Series": "Crafts" + }, + { + "Date": "2022-07-30", + "Value": 113, + "Series": "Crafts" + }, + { + "Date": "2022-08-05", + "Value": 119, + "Series": "Crafts" + }, + { + "Date": "2022-08-10", + "Value": 128, + "Series": "Crafts" + }, + { + "Date": "2022-08-16", + "Value": 133, + "Series": "Crafts" + }, + { + "Date": "2022-08-21", + "Value": 133, + "Series": "Crafts" + }, + { + "Date": "2022-08-27", + "Value": 126, + "Series": "Crafts" + }, + { + "Date": "2022-09-01", + "Value": 124, + "Series": "Crafts" + }, + { + "Date": "2022-09-07", + "Value": 115, + "Series": "Crafts" + }, + { + "Date": "2022-09-12", + "Value": 114, + "Series": "Crafts" + }, + { + "Date": "2022-09-17", + "Value": 109, + "Series": "Crafts" + }, + { + "Date": "2022-09-23", + "Value": 108, + "Series": "Crafts" + }, + { + "Date": "2022-09-28", + "Value": 111, + "Series": "Crafts" + }, + { + "Date": "2022-10-04", + "Value": 121, + "Series": "Crafts" + }, + { + "Date": "2022-10-09", + "Value": 130, + "Series": "Crafts" + }, + { + "Date": "2022-10-15", + "Value": 140, + "Series": "Crafts" + }, + { + "Date": "2022-10-20", + "Value": 147, + "Series": "Crafts" + }, + { + "Date": "2022-10-26", + "Value": 159, + "Series": "Crafts" + }, + { + "Date": "2022-10-31", + "Value": 167, + "Series": "Crafts" + }, + { + "Date": "2022-11-06", + "Value": 179, + "Series": "Crafts" + }, + { + "Date": "2022-11-11", + "Value": 196, + "Series": "Crafts" + }, + { + "Date": "2022-11-17", + "Value": 211, + "Series": "Crafts" + }, + { + "Date": "2022-11-22", + "Value": 223, + "Series": "Crafts" + }, + { + "Date": "2022-11-28", + "Value": 232, + "Series": "Crafts" + }, + { + "Date": "2022-12-03", + "Value": 233, + "Series": "Crafts" + }, + { + "Date": "2022-12-09", + "Value": 236, + "Series": "Crafts" + }, + { + "Date": "2022-12-14", + "Value": 238, + "Series": "Crafts" + }, + { + "Date": "2022-12-20", + "Value": 248, + "Series": "Crafts" + }, + { + "Date": "2022-12-25", + "Value": 255, + "Series": "Crafts" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/04-card60.flint.json b/test-harness/excel/evaluations/inputs/line-chart/04-card60.flint.json new file mode 100644 index 00000000..4b4d4c31 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/04-card60.flint.json @@ -0,0 +1,733 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 69, + "Series": "Electronics" + }, + { + "Date": "2020-01-19", + "Value": 67, + "Series": "Electronics" + }, + { + "Date": "2020-02-06", + "Value": 62, + "Series": "Electronics" + }, + { + "Date": "2020-02-24", + "Value": 56, + "Series": "Electronics" + }, + { + "Date": "2020-03-14", + "Value": 47, + "Series": "Electronics" + }, + { + "Date": "2020-05-26", + "Value": 21, + "Series": "Electronics" + }, + { + "Date": "2020-07-01", + "Value": 17, + "Series": "Electronics" + }, + { + "Date": "2020-08-07", + "Value": 17, + "Series": "Electronics" + }, + { + "Date": "2020-08-25", + "Value": 16, + "Series": "Electronics" + }, + { + "Date": "2020-09-12", + "Value": 17, + "Series": "Electronics" + }, + { + "Date": "2020-09-30", + "Value": 16, + "Series": "Electronics" + }, + { + "Date": "2020-10-19", + "Value": 20, + "Series": "Electronics" + }, + { + "Date": "2020-11-06", + "Value": 17, + "Series": "Electronics" + }, + { + "Date": "2020-11-24", + "Value": 22, + "Series": "Electronics" + }, + { + "Date": "2020-12-12", + "Value": 19, + "Series": "Electronics" + }, + { + "Date": "2020-12-31", + "Value": 15, + "Series": "Electronics" + }, + { + "Date": "2021-01-18", + "Value": 19, + "Series": "Electronics" + }, + { + "Date": "2021-02-05", + "Value": 25, + "Series": "Electronics" + }, + { + "Date": "2021-02-23", + "Value": 35, + "Series": "Electronics" + }, + { + "Date": "2021-04-01", + "Value": 50, + "Series": "Electronics" + }, + { + "Date": "2021-04-19", + "Value": 57, + "Series": "Electronics" + }, + { + "Date": "2021-05-26", + "Value": 71, + "Series": "Electronics" + }, + { + "Date": "2021-06-13", + "Value": 72, + "Series": "Electronics" + }, + { + "Date": "2021-07-01", + "Value": 74, + "Series": "Electronics" + }, + { + "Date": "2021-07-19", + "Value": 79, + "Series": "Electronics" + }, + { + "Date": "2021-08-07", + "Value": 90, + "Series": "Electronics" + }, + { + "Date": "2021-08-25", + "Value": 98, + "Series": "Electronics" + }, + { + "Date": "2021-09-12", + "Value": 98, + "Series": "Electronics" + }, + { + "Date": "2021-09-30", + "Value": 100, + "Series": "Electronics" + }, + { + "Date": "2021-10-19", + "Value": 105, + "Series": "Electronics" + }, + { + "Date": "2021-11-06", + "Value": 106, + "Series": "Electronics" + }, + { + "Date": "2021-12-12", + "Value": 97, + "Series": "Electronics" + }, + { + "Date": "2021-12-31", + "Value": 92, + "Series": "Electronics" + }, + { + "Date": "2022-01-18", + "Value": 85, + "Series": "Electronics" + }, + { + "Date": "2022-02-05", + "Value": 86, + "Series": "Electronics" + }, + { + "Date": "2022-02-23", + "Value": 85, + "Series": "Electronics" + }, + { + "Date": "2022-04-19", + "Value": 95, + "Series": "Electronics" + }, + { + "Date": "2022-05-07", + "Value": 92, + "Series": "Electronics" + }, + { + "Date": "2022-06-13", + "Value": 82, + "Series": "Electronics" + }, + { + "Date": "2022-07-01", + "Value": 80, + "Series": "Electronics" + }, + { + "Date": "2022-07-19", + "Value": 85, + "Series": "Electronics" + }, + { + "Date": "2022-08-07", + "Value": 93, + "Series": "Electronics" + }, + { + "Date": "2022-08-25", + "Value": 99, + "Series": "Electronics" + }, + { + "Date": "2022-09-12", + "Value": 104, + "Series": "Electronics" + }, + { + "Date": "2022-09-30", + "Value": 103, + "Series": "Electronics" + }, + { + "Date": "2022-10-19", + "Value": 102, + "Series": "Electronics" + }, + { + "Date": "2022-11-24", + "Value": 87, + "Series": "Electronics" + }, + { + "Date": "2022-12-12", + "Value": 82, + "Series": "Electronics" + }, + { + "Date": "2020-01-01", + "Value": 174, + "Series": "Clothing" + }, + { + "Date": "2020-01-19", + "Value": 181, + "Series": "Clothing" + }, + { + "Date": "2020-02-06", + "Value": 180, + "Series": "Clothing" + }, + { + "Date": "2020-02-24", + "Value": 179, + "Series": "Clothing" + }, + { + "Date": "2020-03-14", + "Value": 170, + "Series": "Clothing" + }, + { + "Date": "2020-04-01", + "Value": 163, + "Series": "Clothing" + }, + { + "Date": "2020-04-19", + "Value": 164, + "Series": "Clothing" + }, + { + "Date": "2020-05-07", + "Value": 161, + "Series": "Clothing" + }, + { + "Date": "2020-06-13", + "Value": 153, + "Series": "Clothing" + }, + { + "Date": "2020-07-01", + "Value": 142, + "Series": "Clothing" + }, + { + "Date": "2020-08-07", + "Value": 122, + "Series": "Clothing" + }, + { + "Date": "2020-08-25", + "Value": 125, + "Series": "Clothing" + }, + { + "Date": "2020-10-19", + "Value": 149, + "Series": "Clothing" + }, + { + "Date": "2020-11-06", + "Value": 161, + "Series": "Clothing" + }, + { + "Date": "2020-11-24", + "Value": 178, + "Series": "Clothing" + }, + { + "Date": "2020-12-31", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2021-01-18", + "Value": 195, + "Series": "Clothing" + }, + { + "Date": "2021-03-14", + "Value": 177, + "Series": "Clothing" + }, + { + "Date": "2021-04-01", + "Value": 169, + "Series": "Clothing" + }, + { + "Date": "2021-04-19", + "Value": 172, + "Series": "Clothing" + }, + { + "Date": "2021-05-07", + "Value": 176, + "Series": "Clothing" + }, + { + "Date": "2021-05-26", + "Value": 181, + "Series": "Clothing" + }, + { + "Date": "2021-06-13", + "Value": 182, + "Series": "Clothing" + }, + { + "Date": "2021-07-19", + "Value": 192, + "Series": "Clothing" + }, + { + "Date": "2021-08-07", + "Value": 189, + "Series": "Clothing" + }, + { + "Date": "2021-08-25", + "Value": 181, + "Series": "Clothing" + }, + { + "Date": "2021-09-12", + "Value": 176, + "Series": "Clothing" + }, + { + "Date": "2021-09-30", + "Value": 180, + "Series": "Clothing" + }, + { + "Date": "2021-10-19", + "Value": 183, + "Series": "Clothing" + }, + { + "Date": "2021-11-06", + "Value": 191, + "Series": "Clothing" + }, + { + "Date": "2021-11-24", + "Value": 196, + "Series": "Clothing" + }, + { + "Date": "2021-12-31", + "Value": 207, + "Series": "Clothing" + }, + { + "Date": "2022-01-18", + "Value": 200, + "Series": "Clothing" + }, + { + "Date": "2022-02-05", + "Value": 199, + "Series": "Clothing" + }, + { + "Date": "2022-03-14", + "Value": 185, + "Series": "Clothing" + }, + { + "Date": "2022-04-01", + "Value": 177, + "Series": "Clothing" + }, + { + "Date": "2022-04-19", + "Value": 167, + "Series": "Clothing" + }, + { + "Date": "2022-05-07", + "Value": 152, + "Series": "Clothing" + }, + { + "Date": "2022-05-26", + "Value": 149, + "Series": "Clothing" + }, + { + "Date": "2022-06-13", + "Value": 145, + "Series": "Clothing" + }, + { + "Date": "2022-07-01", + "Value": 141, + "Series": "Clothing" + }, + { + "Date": "2022-07-19", + "Value": 135, + "Series": "Clothing" + }, + { + "Date": "2022-09-12", + "Value": 145, + "Series": "Clothing" + }, + { + "Date": "2022-09-30", + "Value": 148, + "Series": "Clothing" + }, + { + "Date": "2022-12-12", + "Value": 168, + "Series": "Clothing" + }, + { + "Date": "2020-01-01", + "Value": 187, + "Series": "Food" + }, + { + "Date": "2020-01-19", + "Value": 182, + "Series": "Food" + }, + { + "Date": "2020-02-24", + "Value": 157, + "Series": "Food" + }, + { + "Date": "2020-03-14", + "Value": 147, + "Series": "Food" + }, + { + "Date": "2020-04-01", + "Value": 151, + "Series": "Food" + }, + { + "Date": "2020-04-19", + "Value": 158, + "Series": "Food" + }, + { + "Date": "2020-06-13", + "Value": 177, + "Series": "Food" + }, + { + "Date": "2020-07-01", + "Value": 181, + "Series": "Food" + }, + { + "Date": "2020-07-19", + "Value": 182, + "Series": "Food" + }, + { + "Date": "2020-08-07", + "Value": 190, + "Series": "Food" + }, + { + "Date": "2020-08-25", + "Value": 199, + "Series": "Food" + }, + { + "Date": "2020-09-12", + "Value": 201, + "Series": "Food" + }, + { + "Date": "2020-09-30", + "Value": 212, + "Series": "Food" + }, + { + "Date": "2020-10-19", + "Value": 227, + "Series": "Food" + }, + { + "Date": "2020-11-06", + "Value": 232, + "Series": "Food" + }, + { + "Date": "2020-12-12", + "Value": 249, + "Series": "Food" + }, + { + "Date": "2020-12-31", + "Value": 258, + "Series": "Food" + }, + { + "Date": "2021-01-18", + "Value": 260, + "Series": "Food" + }, + { + "Date": "2021-03-14", + "Value": 289, + "Series": "Food" + }, + { + "Date": "2021-04-01", + "Value": 286, + "Series": "Food" + }, + { + "Date": "2021-04-19", + "Value": 292, + "Series": "Food" + }, + { + "Date": "2021-05-07", + "Value": 299, + "Series": "Food" + }, + { + "Date": "2021-05-26", + "Value": 304, + "Series": "Food" + }, + { + "Date": "2021-06-13", + "Value": 312, + "Series": "Food" + }, + { + "Date": "2021-07-01", + "Value": 328, + "Series": "Food" + }, + { + "Date": "2021-07-19", + "Value": 349, + "Series": "Food" + }, + { + "Date": "2021-08-07", + "Value": 362, + "Series": "Food" + }, + { + "Date": "2021-08-25", + "Value": 364, + "Series": "Food" + }, + { + "Date": "2021-09-12", + "Value": 364, + "Series": "Food" + }, + { + "Date": "2021-09-30", + "Value": 355, + "Series": "Food" + }, + { + "Date": "2021-10-19", + "Value": 343, + "Series": "Food" + }, + { + "Date": "2021-11-06", + "Value": 336, + "Series": "Food" + }, + { + "Date": "2021-12-12", + "Value": 351, + "Series": "Food" + }, + { + "Date": "2022-01-18", + "Value": 351, + "Series": "Food" + }, + { + "Date": "2022-02-05", + "Value": 343, + "Series": "Food" + }, + { + "Date": "2022-02-23", + "Value": 327, + "Series": "Food" + }, + { + "Date": "2022-03-14", + "Value": 309, + "Series": "Food" + }, + { + "Date": "2022-04-01", + "Value": 294, + "Series": "Food" + }, + { + "Date": "2022-05-07", + "Value": 261, + "Series": "Food" + }, + { + "Date": "2022-05-26", + "Value": 237, + "Series": "Food" + }, + { + "Date": "2022-06-13", + "Value": 214, + "Series": "Food" + }, + { + "Date": "2022-07-01", + "Value": 194, + "Series": "Food" + }, + { + "Date": "2022-07-19", + "Value": 173, + "Series": "Food" + }, + { + "Date": "2022-08-07", + "Value": 158, + "Series": "Food" + }, + { + "Date": "2022-08-25", + "Value": 154, + "Series": "Food" + }, + { + "Date": "2022-09-30", + "Value": 160, + "Series": "Food" + }, + { + "Date": "2022-10-19", + "Value": 171, + "Series": "Food" + }, + { + "Date": "2022-11-06", + "Value": 170, + "Series": "Food" + }, + { + "Date": "2022-12-12", + "Value": 176, + "Series": "Food" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/05-card30.flint.json b/test-harness/excel/evaluations/inputs/line-chart/05-card30.flint.json new file mode 100644 index 00000000..0852761d --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/05-card30.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "ColorVal": "Quantity" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 117, + "ColorVal": 2.4 + }, + { + "Date": "2020-02-06", + "Value": 109, + "ColorVal": 1.9 + }, + { + "Date": "2020-03-14", + "Value": 113, + "ColorVal": 0.3 + }, + { + "Date": "2020-04-19", + "Value": 117, + "ColorVal": 4.2 + }, + { + "Date": "2020-05-26", + "Value": 112, + "ColorVal": 9.5 + }, + { + "Date": "2020-07-01", + "Value": 121, + "ColorVal": 2.5 + }, + { + "Date": "2020-08-07", + "Value": 134, + "ColorVal": 7.5 + }, + { + "Date": "2020-09-12", + "Value": 130, + "ColorVal": 2.7 + }, + { + "Date": "2020-10-19", + "Value": 136, + "ColorVal": 4.3 + }, + { + "Date": "2020-11-24", + "Value": 152, + "ColorVal": 6.4 + }, + { + "Date": "2020-12-31", + "Value": 158, + "ColorVal": 3.8 + }, + { + "Date": "2021-02-05", + "Value": 165, + "ColorVal": 2.5 + }, + { + "Date": "2021-03-14", + "Value": 164, + "ColorVal": 4.7 + }, + { + "Date": "2021-04-19", + "Value": 175, + "ColorVal": 9.1 + }, + { + "Date": "2021-05-26", + "Value": 173, + "ColorVal": 6 + }, + { + "Date": "2021-07-01", + "Value": 161, + "ColorVal": 4.8 + }, + { + "Date": "2021-08-07", + "Value": 167, + "ColorVal": 6.1 + }, + { + "Date": "2021-09-12", + "Value": 157, + "ColorVal": 1.4 + }, + { + "Date": "2021-10-19", + "Value": 151, + "ColorVal": 8.8 + }, + { + "Date": "2021-11-24", + "Value": 149, + "ColorVal": 7.3 + }, + { + "Date": "2021-12-31", + "Value": 159, + "ColorVal": 3.8 + }, + { + "Date": "2022-02-05", + "Value": 177, + "ColorVal": 3.1 + }, + { + "Date": "2022-03-14", + "Value": 195, + "ColorVal": 8.1 + }, + { + "Date": "2022-04-19", + "Value": 211, + "ColorVal": 5 + }, + { + "Date": "2022-05-26", + "Value": 220, + "ColorVal": 0.4 + }, + { + "Date": "2022-07-01", + "Value": 228, + "ColorVal": 6.3 + }, + { + "Date": "2022-08-07", + "Value": 229, + "ColorVal": 1.3 + }, + { + "Date": "2022-09-12", + "Value": 221, + "ColorVal": 8.4 + }, + { + "Date": "2022-10-19", + "Value": 206, + "ColorVal": 0.2 + }, + { + "Date": "2022-11-24", + "Value": 191, + "ColorVal": 7.6 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/06-card5.flint.json b/test-harness/excel/evaluations/inputs/line-chart/06-card5.flint.json new file mode 100644 index 00000000..fbf85b11 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/06-card5.flint.json @@ -0,0 +1,41 @@ +{ + "semantic_types": { + "Stage": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Stage", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Stage 1", + "Value": 113 + }, + { + "Stage": "Stage 2", + "Value": 126 + }, + { + "Stage": "Stage 3", + "Value": 131 + }, + { + "Stage": "Stage 4", + "Value": 144 + }, + { + "Stage": "Stage 5", + "Value": 138 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/07-card12.flint.json b/test-harness/excel/evaluations/inputs/line-chart/07-card12.flint.json new file mode 100644 index 00000000..042e1a85 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/07-card12.flint.json @@ -0,0 +1,263 @@ +{ + "semantic_types": { + "Stage": "Category", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Stage", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Stage 1", + "Value": 240, + "Series": "Electronics" + }, + { + "Stage": "Stage 2", + "Value": 240, + "Series": "Electronics" + }, + { + "Stage": "Stage 3", + "Value": 245, + "Series": "Electronics" + }, + { + "Stage": "Stage 4", + "Value": 242, + "Series": "Electronics" + }, + { + "Stage": "Stage 5", + "Value": 250, + "Series": "Electronics" + }, + { + "Stage": "Stage 6", + "Value": 265, + "Series": "Electronics" + }, + { + "Stage": "Stage 7", + "Value": 280, + "Series": "Electronics" + }, + { + "Stage": "Stage 8", + "Value": 285, + "Series": "Electronics" + }, + { + "Stage": "Stage 9", + "Value": 293, + "Series": "Electronics" + }, + { + "Stage": "Stage 10", + "Value": 297, + "Series": "Electronics" + }, + { + "Stage": "Stage 11", + "Value": 294, + "Series": "Electronics" + }, + { + "Stage": "Stage 12", + "Value": 286, + "Series": "Electronics" + }, + { + "Stage": "Stage 1", + "Value": 107, + "Series": "Clothing" + }, + { + "Stage": "Stage 2", + "Value": 108, + "Series": "Clothing" + }, + { + "Stage": "Stage 3", + "Value": 112, + "Series": "Clothing" + }, + { + "Stage": "Stage 4", + "Value": 113, + "Series": "Clothing" + }, + { + "Stage": "Stage 5", + "Value": 119, + "Series": "Clothing" + }, + { + "Stage": "Stage 6", + "Value": 119, + "Series": "Clothing" + }, + { + "Stage": "Stage 7", + "Value": 117, + "Series": "Clothing" + }, + { + "Stage": "Stage 8", + "Value": 114, + "Series": "Clothing" + }, + { + "Stage": "Stage 9", + "Value": 113, + "Series": "Clothing" + }, + { + "Stage": "Stage 10", + "Value": 113, + "Series": "Clothing" + }, + { + "Stage": "Stage 11", + "Value": 114, + "Series": "Clothing" + }, + { + "Stage": "Stage 12", + "Value": 111, + "Series": "Clothing" + }, + { + "Stage": "Stage 1", + "Value": 244, + "Series": "Food" + }, + { + "Stage": "Stage 2", + "Value": 258, + "Series": "Food" + }, + { + "Stage": "Stage 3", + "Value": 267, + "Series": "Food" + }, + { + "Stage": "Stage 4", + "Value": 280, + "Series": "Food" + }, + { + "Stage": "Stage 5", + "Value": 284, + "Series": "Food" + }, + { + "Stage": "Stage 6", + "Value": 274, + "Series": "Food" + }, + { + "Stage": "Stage 7", + "Value": 282, + "Series": "Food" + }, + { + "Stage": "Stage 8", + "Value": 287, + "Series": "Food" + }, + { + "Stage": "Stage 9", + "Value": 297, + "Series": "Food" + }, + { + "Stage": "Stage 10", + "Value": 294, + "Series": "Food" + }, + { + "Stage": "Stage 11", + "Value": 282, + "Series": "Food" + }, + { + "Stage": "Stage 12", + "Value": 268, + "Series": "Food" + }, + { + "Stage": "Stage 1", + "Value": 93, + "Series": "Books" + }, + { + "Stage": "Stage 2", + "Value": 80, + "Series": "Books" + }, + { + "Stage": "Stage 3", + "Value": 69, + "Series": "Books" + }, + { + "Stage": "Stage 4", + "Value": 59, + "Series": "Books" + }, + { + "Stage": "Stage 5", + "Value": 52, + "Series": "Books" + }, + { + "Stage": "Stage 6", + "Value": 52, + "Series": "Books" + }, + { + "Stage": "Stage 7", + "Value": 42, + "Series": "Books" + }, + { + "Stage": "Stage 8", + "Value": 25, + "Series": "Books" + }, + { + "Stage": "Stage 9", + "Value": 21, + "Series": "Books" + }, + { + "Stage": "Stage 10", + "Value": 16, + "Series": "Books" + }, + { + "Stage": "Stage 11", + "Value": 22, + "Series": "Books" + }, + { + "Stage": "Stage 12", + "Value": 36, + "Series": "Books" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/08-card30.flint.json b/test-harness/excel/evaluations/inputs/line-chart/08-card30.flint.json new file mode 100644 index 00000000..2dbe044e --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/08-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "Stage": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Stage", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Stage 1", + "Value": 160 + }, + { + "Stage": "Stage 2", + "Value": 158 + }, + { + "Stage": "Stage 3", + "Value": 157 + }, + { + "Stage": "Stage 4", + "Value": 159 + }, + { + "Stage": "Stage 5", + "Value": 158 + }, + { + "Stage": "Stage 6", + "Value": 159 + }, + { + "Stage": "Stage 7", + "Value": 163 + }, + { + "Stage": "Stage 8", + "Value": 168 + }, + { + "Stage": "Stage 9", + "Value": 169 + }, + { + "Stage": "Stage 10", + "Value": 168 + }, + { + "Stage": "Stage 11", + "Value": 170 + }, + { + "Stage": "Stage 12", + "Value": 171 + }, + { + "Stage": "Stage 13", + "Value": 173 + }, + { + "Stage": "Stage 14", + "Value": 174 + }, + { + "Stage": "Stage 15", + "Value": 177 + }, + { + "Stage": "Stage 16", + "Value": 181 + }, + { + "Stage": "Stage 17", + "Value": 184 + }, + { + "Stage": "Stage 18", + "Value": 188 + }, + { + "Stage": "Stage 19", + "Value": 195 + }, + { + "Stage": "Stage 20", + "Value": 205 + }, + { + "Stage": "Stage 21", + "Value": 217 + }, + { + "Stage": "Stage 22", + "Value": 228 + }, + { + "Stage": "Stage 23", + "Value": 240 + }, + { + "Stage": "Stage 24", + "Value": 253 + }, + { + "Stage": "Stage 25", + "Value": 261 + }, + { + "Stage": "Stage 26", + "Value": 268 + }, + { + "Stage": "Stage 27", + "Value": 273 + }, + { + "Stage": "Stage 28", + "Value": 279 + }, + { + "Stage": "Stage 29", + "Value": 279 + }, + { + "Stage": "Stage 30", + "Value": 281 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/09-card5.flint.json b/test-harness/excel/evaluations/inputs/line-chart/09-card5.flint.json new file mode 100644 index 00000000..a79a3388 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/09-card5.flint.json @@ -0,0 +1,48 @@ +{ + "semantic_types": { + "Stage": "Category", + "Value": "Quantity", + "ColorVal": "Quantity" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Stage", + "y": "Value", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Stage": "Stage 1", + "Value": 155, + "ColorVal": 9 + }, + { + "Stage": "Stage 2", + "Value": 150, + "ColorVal": 3.1 + }, + { + "Stage": "Stage 3", + "Value": 143, + "ColorVal": 0.1 + }, + { + "Stage": "Stage 4", + "Value": 136, + "ColorVal": 10 + }, + { + "Stage": "Stage 5", + "Value": 137, + "ColorVal": 6.2 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/10-card5.flint.json b/test-harness/excel/evaluations/inputs/line-chart/10-card5.flint.json new file mode 100644 index 00000000..d7f2fd8a --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/10-card5.flint.json @@ -0,0 +1,41 @@ +{ + "semantic_types": { + "X": "Quantity", + "Step": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "X", + "y": "Step" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Step": "Stage 1" + }, + { + "X": 25, + "Step": "Stage 2" + }, + { + "X": 50, + "Step": "Stage 3" + }, + { + "X": 75, + "Step": "Stage 4" + }, + { + "X": 100, + "Step": "Stage 5" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/11-card12.flint.json b/test-harness/excel/evaluations/inputs/line-chart/11-card12.flint.json new file mode 100644 index 00000000..325b2500 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/11-card12.flint.json @@ -0,0 +1,263 @@ +{ + "semantic_types": { + "X": "Quantity", + "Step": "Category", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "X", + "y": "Step", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Step": "Stage 1", + "Series": "Electronics" + }, + { + "X": 9.1, + "Step": "Stage 2", + "Series": "Electronics" + }, + { + "X": 18.2, + "Step": "Stage 3", + "Series": "Electronics" + }, + { + "X": 27.3, + "Step": "Stage 4", + "Series": "Electronics" + }, + { + "X": 36.4, + "Step": "Stage 5", + "Series": "Electronics" + }, + { + "X": 45.5, + "Step": "Stage 6", + "Series": "Electronics" + }, + { + "X": 54.5, + "Step": "Stage 7", + "Series": "Electronics" + }, + { + "X": 63.6, + "Step": "Stage 8", + "Series": "Electronics" + }, + { + "X": 72.7, + "Step": "Stage 9", + "Series": "Electronics" + }, + { + "X": 81.8, + "Step": "Stage 10", + "Series": "Electronics" + }, + { + "X": 90.9, + "Step": "Stage 11", + "Series": "Electronics" + }, + { + "X": 100, + "Step": "Stage 12", + "Series": "Electronics" + }, + { + "X": 0, + "Step": "Stage 1", + "Series": "Clothing" + }, + { + "X": 9.1, + "Step": "Stage 2", + "Series": "Clothing" + }, + { + "X": 18.2, + "Step": "Stage 3", + "Series": "Clothing" + }, + { + "X": 27.3, + "Step": "Stage 4", + "Series": "Clothing" + }, + { + "X": 36.4, + "Step": "Stage 5", + "Series": "Clothing" + }, + { + "X": 45.5, + "Step": "Stage 6", + "Series": "Clothing" + }, + { + "X": 54.5, + "Step": "Stage 7", + "Series": "Clothing" + }, + { + "X": 63.6, + "Step": "Stage 8", + "Series": "Clothing" + }, + { + "X": 72.7, + "Step": "Stage 9", + "Series": "Clothing" + }, + { + "X": 81.8, + "Step": "Stage 10", + "Series": "Clothing" + }, + { + "X": 90.9, + "Step": "Stage 11", + "Series": "Clothing" + }, + { + "X": 100, + "Step": "Stage 12", + "Series": "Clothing" + }, + { + "X": 0, + "Step": "Stage 1", + "Series": "Food" + }, + { + "X": 9.1, + "Step": "Stage 2", + "Series": "Food" + }, + { + "X": 18.2, + "Step": "Stage 3", + "Series": "Food" + }, + { + "X": 27.3, + "Step": "Stage 4", + "Series": "Food" + }, + { + "X": 36.4, + "Step": "Stage 5", + "Series": "Food" + }, + { + "X": 45.5, + "Step": "Stage 6", + "Series": "Food" + }, + { + "X": 54.5, + "Step": "Stage 7", + "Series": "Food" + }, + { + "X": 63.6, + "Step": "Stage 8", + "Series": "Food" + }, + { + "X": 72.7, + "Step": "Stage 9", + "Series": "Food" + }, + { + "X": 81.8, + "Step": "Stage 10", + "Series": "Food" + }, + { + "X": 90.9, + "Step": "Stage 11", + "Series": "Food" + }, + { + "X": 100, + "Step": "Stage 12", + "Series": "Food" + }, + { + "X": 0, + "Step": "Stage 1", + "Series": "Books" + }, + { + "X": 9.1, + "Step": "Stage 2", + "Series": "Books" + }, + { + "X": 18.2, + "Step": "Stage 3", + "Series": "Books" + }, + { + "X": 27.3, + "Step": "Stage 4", + "Series": "Books" + }, + { + "X": 36.4, + "Step": "Stage 5", + "Series": "Books" + }, + { + "X": 45.5, + "Step": "Stage 6", + "Series": "Books" + }, + { + "X": 54.5, + "Step": "Stage 7", + "Series": "Books" + }, + { + "X": 63.6, + "Step": "Stage 8", + "Series": "Books" + }, + { + "X": 72.7, + "Step": "Stage 9", + "Series": "Books" + }, + { + "X": 81.8, + "Step": "Stage 10", + "Series": "Books" + }, + { + "X": 90.9, + "Step": "Stage 11", + "Series": "Books" + }, + { + "X": 100, + "Step": "Stage 12", + "Series": "Books" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/12-card30.flint.json b/test-harness/excel/evaluations/inputs/line-chart/12-card30.flint.json new file mode 100644 index 00000000..242ff18d --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/12-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "X": "Quantity", + "Step": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "X", + "y": "Step" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Step": "Stage 1" + }, + { + "X": 3.4, + "Step": "Stage 2" + }, + { + "X": 6.9, + "Step": "Stage 3" + }, + { + "X": 10.3, + "Step": "Stage 4" + }, + { + "X": 13.8, + "Step": "Stage 5" + }, + { + "X": 17.2, + "Step": "Stage 6" + }, + { + "X": 20.7, + "Step": "Stage 7" + }, + { + "X": 24.1, + "Step": "Stage 8" + }, + { + "X": 27.6, + "Step": "Stage 9" + }, + { + "X": 31, + "Step": "Stage 10" + }, + { + "X": 34.5, + "Step": "Stage 11" + }, + { + "X": 37.9, + "Step": "Stage 12" + }, + { + "X": 41.4, + "Step": "Stage 13" + }, + { + "X": 44.8, + "Step": "Stage 14" + }, + { + "X": 48.3, + "Step": "Stage 15" + }, + { + "X": 51.7, + "Step": "Stage 16" + }, + { + "X": 55.2, + "Step": "Stage 17" + }, + { + "X": 58.6, + "Step": "Stage 18" + }, + { + "X": 62.1, + "Step": "Stage 19" + }, + { + "X": 65.5, + "Step": "Stage 20" + }, + { + "X": 69, + "Step": "Stage 21" + }, + { + "X": 72.4, + "Step": "Stage 22" + }, + { + "X": 75.9, + "Step": "Stage 23" + }, + { + "X": 79.3, + "Step": "Stage 24" + }, + { + "X": 82.8, + "Step": "Stage 25" + }, + { + "X": 86.2, + "Step": "Stage 26" + }, + { + "X": 89.7, + "Step": "Stage 27" + }, + { + "X": 93.1, + "Step": "Stage 28" + }, + { + "X": 96.6, + "Step": "Stage 29" + }, + { + "X": 100, + "Step": "Stage 30" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/13-card30.flint.json b/test-harness/excel/evaluations/inputs/line-chart/13-card30.flint.json new file mode 100644 index 00000000..8d2d955b --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/13-card30.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "X", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Value": 100 + }, + { + "X": 3.4, + "Value": 102 + }, + { + "X": 6.9, + "Value": 113 + }, + { + "X": 10.3, + "Value": 132 + }, + { + "X": 13.8, + "Value": 152 + }, + { + "X": 17.2, + "Value": 174 + }, + { + "X": 20.7, + "Value": 186 + }, + { + "X": 24.1, + "Value": 202 + }, + { + "X": 27.6, + "Value": 207 + }, + { + "X": 31, + "Value": 200 + }, + { + "X": 34.5, + "Value": 189 + }, + { + "X": 37.9, + "Value": 175 + }, + { + "X": 41.4, + "Value": 171 + }, + { + "X": 44.8, + "Value": 174 + }, + { + "X": 48.3, + "Value": 173 + }, + { + "X": 51.7, + "Value": 180 + }, + { + "X": 55.2, + "Value": 192 + }, + { + "X": 58.6, + "Value": 201 + }, + { + "X": 62.1, + "Value": 217 + }, + { + "X": 65.5, + "Value": 236 + }, + { + "X": 69, + "Value": 241 + }, + { + "X": 72.4, + "Value": 248 + }, + { + "X": 75.9, + "Value": 255 + }, + { + "X": 79.3, + "Value": 262 + }, + { + "X": 82.8, + "Value": 267 + }, + { + "X": 86.2, + "Value": 280 + }, + { + "X": 89.7, + "Value": 289 + }, + { + "X": 93.1, + "Value": 292 + }, + { + "X": 96.6, + "Value": 297 + }, + { + "X": 100, + "Value": 306 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/14-card50.flint.json b/test-harness/excel/evaluations/inputs/line-chart/14-card50.flint.json new file mode 100644 index 00000000..652b0e65 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/14-card50.flint.json @@ -0,0 +1,773 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity", + "Series": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "X", + "y": "Value", + "color": "Series" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Value": 226, + "Series": "Electronics" + }, + { + "X": 2, + "Value": 227, + "Series": "Electronics" + }, + { + "X": 4.1, + "Value": 233, + "Series": "Electronics" + }, + { + "X": 6.1, + "Value": 237, + "Series": "Electronics" + }, + { + "X": 8.2, + "Value": 233, + "Series": "Electronics" + }, + { + "X": 10.2, + "Value": 223, + "Series": "Electronics" + }, + { + "X": 12.2, + "Value": 209, + "Series": "Electronics" + }, + { + "X": 14.3, + "Value": 200, + "Series": "Electronics" + }, + { + "X": 16.3, + "Value": 194, + "Series": "Electronics" + }, + { + "X": 18.4, + "Value": 189, + "Series": "Electronics" + }, + { + "X": 20.4, + "Value": 193, + "Series": "Electronics" + }, + { + "X": 22.4, + "Value": 205, + "Series": "Electronics" + }, + { + "X": 24.5, + "Value": 213, + "Series": "Electronics" + }, + { + "X": 26.5, + "Value": 220, + "Series": "Electronics" + }, + { + "X": 28.6, + "Value": 218, + "Series": "Electronics" + }, + { + "X": 30.6, + "Value": 219, + "Series": "Electronics" + }, + { + "X": 32.7, + "Value": 223, + "Series": "Electronics" + }, + { + "X": 34.7, + "Value": 229, + "Series": "Electronics" + }, + { + "X": 36.7, + "Value": 238, + "Series": "Electronics" + }, + { + "X": 38.8, + "Value": 241, + "Series": "Electronics" + }, + { + "X": 40.8, + "Value": 245, + "Series": "Electronics" + }, + { + "X": 42.9, + "Value": 249, + "Series": "Electronics" + }, + { + "X": 44.9, + "Value": 260, + "Series": "Electronics" + }, + { + "X": 46.9, + "Value": 278, + "Series": "Electronics" + }, + { + "X": 49, + "Value": 285, + "Series": "Electronics" + }, + { + "X": 51, + "Value": 287, + "Series": "Electronics" + }, + { + "X": 53.1, + "Value": 280, + "Series": "Electronics" + }, + { + "X": 55.1, + "Value": 277, + "Series": "Electronics" + }, + { + "X": 57.1, + "Value": 267, + "Series": "Electronics" + }, + { + "X": 59.2, + "Value": 250, + "Series": "Electronics" + }, + { + "X": 61.2, + "Value": 233, + "Series": "Electronics" + }, + { + "X": 63.3, + "Value": 217, + "Series": "Electronics" + }, + { + "X": 65.3, + "Value": 200, + "Series": "Electronics" + }, + { + "X": 67.3, + "Value": 195, + "Series": "Electronics" + }, + { + "X": 69.4, + "Value": 193, + "Series": "Electronics" + }, + { + "X": 71.4, + "Value": 202, + "Series": "Electronics" + }, + { + "X": 73.5, + "Value": 211, + "Series": "Electronics" + }, + { + "X": 75.5, + "Value": 226, + "Series": "Electronics" + }, + { + "X": 77.6, + "Value": 238, + "Series": "Electronics" + }, + { + "X": 79.6, + "Value": 239, + "Series": "Electronics" + }, + { + "X": 81.6, + "Value": 245, + "Series": "Electronics" + }, + { + "X": 83.7, + "Value": 242, + "Series": "Electronics" + }, + { + "X": 85.7, + "Value": 235, + "Series": "Electronics" + }, + { + "X": 87.8, + "Value": 228, + "Series": "Electronics" + }, + { + "X": 89.8, + "Value": 227, + "Series": "Electronics" + }, + { + "X": 91.8, + "Value": 221, + "Series": "Electronics" + }, + { + "X": 93.9, + "Value": 220, + "Series": "Electronics" + }, + { + "X": 95.9, + "Value": 219, + "Series": "Electronics" + }, + { + "X": 98, + "Value": 209, + "Series": "Electronics" + }, + { + "X": 100, + "Value": 203, + "Series": "Electronics" + }, + { + "X": 0, + "Value": 159, + "Series": "Clothing" + }, + { + "X": 2, + "Value": 164, + "Series": "Clothing" + }, + { + "X": 4.1, + "Value": 178, + "Series": "Clothing" + }, + { + "X": 6.1, + "Value": 196, + "Series": "Clothing" + }, + { + "X": 8.2, + "Value": 213, + "Series": "Clothing" + }, + { + "X": 10.2, + "Value": 235, + "Series": "Clothing" + }, + { + "X": 12.2, + "Value": 247, + "Series": "Clothing" + }, + { + "X": 14.3, + "Value": 255, + "Series": "Clothing" + }, + { + "X": 16.3, + "Value": 262, + "Series": "Clothing" + }, + { + "X": 18.4, + "Value": 272, + "Series": "Clothing" + }, + { + "X": 20.4, + "Value": 289, + "Series": "Clothing" + }, + { + "X": 22.4, + "Value": 290, + "Series": "Clothing" + }, + { + "X": 24.5, + "Value": 283, + "Series": "Clothing" + }, + { + "X": 26.5, + "Value": 282, + "Series": "Clothing" + }, + { + "X": 28.6, + "Value": 284, + "Series": "Clothing" + }, + { + "X": 30.6, + "Value": 274, + "Series": "Clothing" + }, + { + "X": 32.7, + "Value": 272, + "Series": "Clothing" + }, + { + "X": 34.7, + "Value": 279, + "Series": "Clothing" + }, + { + "X": 36.7, + "Value": 287, + "Series": "Clothing" + }, + { + "X": 38.8, + "Value": 285, + "Series": "Clothing" + }, + { + "X": 40.8, + "Value": 294, + "Series": "Clothing" + }, + { + "X": 42.9, + "Value": 311, + "Series": "Clothing" + }, + { + "X": 44.9, + "Value": 317, + "Series": "Clothing" + }, + { + "X": 46.9, + "Value": 311, + "Series": "Clothing" + }, + { + "X": 49, + "Value": 307, + "Series": "Clothing" + }, + { + "X": 51, + "Value": 315, + "Series": "Clothing" + }, + { + "X": 53.1, + "Value": 330, + "Series": "Clothing" + }, + { + "X": 55.1, + "Value": 350, + "Series": "Clothing" + }, + { + "X": 57.1, + "Value": 353, + "Series": "Clothing" + }, + { + "X": 59.2, + "Value": 363, + "Series": "Clothing" + }, + { + "X": 61.2, + "Value": 380, + "Series": "Clothing" + }, + { + "X": 63.3, + "Value": 397, + "Series": "Clothing" + }, + { + "X": 65.3, + "Value": 407, + "Series": "Clothing" + }, + { + "X": 67.3, + "Value": 420, + "Series": "Clothing" + }, + { + "X": 69.4, + "Value": 432, + "Series": "Clothing" + }, + { + "X": 71.4, + "Value": 449, + "Series": "Clothing" + }, + { + "X": 73.5, + "Value": 470, + "Series": "Clothing" + }, + { + "X": 75.5, + "Value": 492, + "Series": "Clothing" + }, + { + "X": 77.6, + "Value": 510, + "Series": "Clothing" + }, + { + "X": 79.6, + "Value": 526, + "Series": "Clothing" + }, + { + "X": 81.6, + "Value": 532, + "Series": "Clothing" + }, + { + "X": 83.7, + "Value": 539, + "Series": "Clothing" + }, + { + "X": 85.7, + "Value": 552, + "Series": "Clothing" + }, + { + "X": 87.8, + "Value": 550, + "Series": "Clothing" + }, + { + "X": 89.8, + "Value": 542, + "Series": "Clothing" + }, + { + "X": 91.8, + "Value": 539, + "Series": "Clothing" + }, + { + "X": 93.9, + "Value": 531, + "Series": "Clothing" + }, + { + "X": 95.9, + "Value": 533, + "Series": "Clothing" + }, + { + "X": 98, + "Value": 534, + "Series": "Clothing" + }, + { + "X": 100, + "Value": 529, + "Series": "Clothing" + }, + { + "X": 0, + "Value": 84, + "Series": "Food" + }, + { + "X": 2, + "Value": 88, + "Series": "Food" + }, + { + "X": 4.1, + "Value": 90, + "Series": "Food" + }, + { + "X": 6.1, + "Value": 82, + "Series": "Food" + }, + { + "X": 8.2, + "Value": 90, + "Series": "Food" + }, + { + "X": 10.2, + "Value": 111, + "Series": "Food" + }, + { + "X": 12.2, + "Value": 118, + "Series": "Food" + }, + { + "X": 14.3, + "Value": 119, + "Series": "Food" + }, + { + "X": 16.3, + "Value": 133, + "Series": "Food" + }, + { + "X": 18.4, + "Value": 133, + "Series": "Food" + }, + { + "X": 20.4, + "Value": 131, + "Series": "Food" + }, + { + "X": 22.4, + "Value": 132, + "Series": "Food" + }, + { + "X": 24.5, + "Value": 142, + "Series": "Food" + }, + { + "X": 26.5, + "Value": 153, + "Series": "Food" + }, + { + "X": 28.6, + "Value": 146, + "Series": "Food" + }, + { + "X": 30.6, + "Value": 132, + "Series": "Food" + }, + { + "X": 32.7, + "Value": 123, + "Series": "Food" + }, + { + "X": 34.7, + "Value": 123, + "Series": "Food" + }, + { + "X": 36.7, + "Value": 122, + "Series": "Food" + }, + { + "X": 38.8, + "Value": 133, + "Series": "Food" + }, + { + "X": 40.8, + "Value": 145, + "Series": "Food" + }, + { + "X": 42.9, + "Value": 161, + "Series": "Food" + }, + { + "X": 44.9, + "Value": 158, + "Series": "Food" + }, + { + "X": 46.9, + "Value": 168, + "Series": "Food" + }, + { + "X": 49, + "Value": 187, + "Series": "Food" + }, + { + "X": 51, + "Value": 205, + "Series": "Food" + }, + { + "X": 53.1, + "Value": 223, + "Series": "Food" + }, + { + "X": 55.1, + "Value": 239, + "Series": "Food" + }, + { + "X": 57.1, + "Value": 237, + "Series": "Food" + }, + { + "X": 59.2, + "Value": 246, + "Series": "Food" + }, + { + "X": 61.2, + "Value": 243, + "Series": "Food" + }, + { + "X": 63.3, + "Value": 227, + "Series": "Food" + }, + { + "X": 65.3, + "Value": 218, + "Series": "Food" + }, + { + "X": 67.3, + "Value": 216, + "Series": "Food" + }, + { + "X": 69.4, + "Value": 212, + "Series": "Food" + }, + { + "X": 71.4, + "Value": 197, + "Series": "Food" + }, + { + "X": 73.5, + "Value": 182, + "Series": "Food" + }, + { + "X": 75.5, + "Value": 159, + "Series": "Food" + }, + { + "X": 77.6, + "Value": 128, + "Series": "Food" + }, + { + "X": 79.6, + "Value": 114, + "Series": "Food" + }, + { + "X": 81.6, + "Value": 103, + "Series": "Food" + }, + { + "X": 83.7, + "Value": 108, + "Series": "Food" + }, + { + "X": 85.7, + "Value": 125, + "Series": "Food" + }, + { + "X": 87.8, + "Value": 145, + "Series": "Food" + }, + { + "X": 89.8, + "Value": 156, + "Series": "Food" + }, + { + "X": 91.8, + "Value": 163, + "Series": "Food" + }, + { + "X": 93.9, + "Value": 168, + "Series": "Food" + }, + { + "X": 95.9, + "Value": 159, + "Series": "Food" + }, + { + "X": 98, + "Value": 160, + "Series": "Food" + }, + { + "X": 100, + "Value": 154, + "Series": "Food" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/15-card200.flint.json b/test-harness/excel/evaluations/inputs/line-chart/15-card200.flint.json new file mode 100644 index 00000000..b74db5fe --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/15-card200.flint.json @@ -0,0 +1,821 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "X", + "y": "Value" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Value": 237 + }, + { + "X": 0.5, + "Value": 246 + }, + { + "X": 1, + "Value": 251 + }, + { + "X": 1.5, + "Value": 266 + }, + { + "X": 2, + "Value": 284 + }, + { + "X": 2.5, + "Value": 292 + }, + { + "X": 3, + "Value": 301 + }, + { + "X": 3.5, + "Value": 307 + }, + { + "X": 4, + "Value": 309 + }, + { + "X": 4.5, + "Value": 308 + }, + { + "X": 5, + "Value": 319 + }, + { + "X": 5.5, + "Value": 318 + }, + { + "X": 6, + "Value": 316 + }, + { + "X": 6.5, + "Value": 322 + }, + { + "X": 7, + "Value": 324 + }, + { + "X": 7.5, + "Value": 336 + }, + { + "X": 8, + "Value": 342 + }, + { + "X": 8.5, + "Value": 339 + }, + { + "X": 9, + "Value": 341 + }, + { + "X": 9.5, + "Value": 331 + }, + { + "X": 10.1, + "Value": 321 + }, + { + "X": 10.6, + "Value": 309 + }, + { + "X": 11.1, + "Value": 310 + }, + { + "X": 11.6, + "Value": 318 + }, + { + "X": 12.1, + "Value": 322 + }, + { + "X": 12.6, + "Value": 325 + }, + { + "X": 13.1, + "Value": 329 + }, + { + "X": 13.6, + "Value": 339 + }, + { + "X": 14.1, + "Value": 358 + }, + { + "X": 14.6, + "Value": 378 + }, + { + "X": 15.1, + "Value": 402 + }, + { + "X": 15.6, + "Value": 410 + }, + { + "X": 16.1, + "Value": 424 + }, + { + "X": 16.6, + "Value": 443 + }, + { + "X": 17.1, + "Value": 459 + }, + { + "X": 17.6, + "Value": 462 + }, + { + "X": 18.1, + "Value": 466 + }, + { + "X": 18.6, + "Value": 458 + }, + { + "X": 19.1, + "Value": 455 + }, + { + "X": 19.6, + "Value": 458 + }, + { + "X": 20.1, + "Value": 462 + }, + { + "X": 20.6, + "Value": 465 + }, + { + "X": 21.1, + "Value": 465 + }, + { + "X": 21.6, + "Value": 477 + }, + { + "X": 22.1, + "Value": 487 + }, + { + "X": 22.6, + "Value": 499 + }, + { + "X": 23.1, + "Value": 516 + }, + { + "X": 23.6, + "Value": 517 + }, + { + "X": 24.1, + "Value": 508 + }, + { + "X": 24.6, + "Value": 502 + }, + { + "X": 25.1, + "Value": 492 + }, + { + "X": 25.6, + "Value": 486 + }, + { + "X": 26.1, + "Value": 483 + }, + { + "X": 26.6, + "Value": 477 + }, + { + "X": 27.1, + "Value": 472 + }, + { + "X": 27.6, + "Value": 469 + }, + { + "X": 28.1, + "Value": 463 + }, + { + "X": 28.6, + "Value": 461 + }, + { + "X": 29.1, + "Value": 447 + }, + { + "X": 29.6, + "Value": 437 + }, + { + "X": 30.2, + "Value": 439 + }, + { + "X": 30.7, + "Value": 435 + }, + { + "X": 31.2, + "Value": 435 + }, + { + "X": 31.7, + "Value": 427 + }, + { + "X": 32.2, + "Value": 425 + }, + { + "X": 32.7, + "Value": 412 + }, + { + "X": 33.2, + "Value": 398 + }, + { + "X": 33.7, + "Value": 379 + }, + { + "X": 34.2, + "Value": 365 + }, + { + "X": 34.7, + "Value": 350 + }, + { + "X": 35.2, + "Value": 337 + }, + { + "X": 35.7, + "Value": 326 + }, + { + "X": 36.2, + "Value": 316 + }, + { + "X": 36.7, + "Value": 321 + }, + { + "X": 37.2, + "Value": 331 + }, + { + "X": 37.7, + "Value": 327 + }, + { + "X": 38.2, + "Value": 332 + }, + { + "X": 38.7, + "Value": 337 + }, + { + "X": 39.2, + "Value": 331 + }, + { + "X": 39.7, + "Value": 337 + }, + { + "X": 40.2, + "Value": 331 + }, + { + "X": 40.7, + "Value": 317 + }, + { + "X": 41.2, + "Value": 308 + }, + { + "X": 41.7, + "Value": 307 + }, + { + "X": 42.2, + "Value": 313 + }, + { + "X": 42.7, + "Value": 307 + }, + { + "X": 43.2, + "Value": 300 + }, + { + "X": 43.7, + "Value": 284 + }, + { + "X": 44.2, + "Value": 284 + }, + { + "X": 44.7, + "Value": 282 + }, + { + "X": 45.2, + "Value": 293 + }, + { + "X": 45.7, + "Value": 308 + }, + { + "X": 46.2, + "Value": 328 + }, + { + "X": 46.7, + "Value": 343 + }, + { + "X": 47.2, + "Value": 357 + }, + { + "X": 47.7, + "Value": 364 + }, + { + "X": 48.2, + "Value": 380 + }, + { + "X": 48.7, + "Value": 385 + }, + { + "X": 49.2, + "Value": 390 + }, + { + "X": 49.7, + "Value": 394 + }, + { + "X": 50.3, + "Value": 406 + }, + { + "X": 50.8, + "Value": 418 + }, + { + "X": 51.3, + "Value": 430 + }, + { + "X": 51.8, + "Value": 434 + }, + { + "X": 52.3, + "Value": 434 + }, + { + "X": 52.8, + "Value": 428 + }, + { + "X": 53.3, + "Value": 423 + }, + { + "X": 53.8, + "Value": 418 + }, + { + "X": 54.3, + "Value": 409 + }, + { + "X": 54.8, + "Value": 411 + }, + { + "X": 55.3, + "Value": 417 + }, + { + "X": 55.8, + "Value": 428 + }, + { + "X": 56.3, + "Value": 435 + }, + { + "X": 56.8, + "Value": 443 + }, + { + "X": 57.3, + "Value": 457 + }, + { + "X": 57.8, + "Value": 479 + }, + { + "X": 58.3, + "Value": 497 + }, + { + "X": 58.8, + "Value": 519 + }, + { + "X": 59.3, + "Value": 536 + }, + { + "X": 59.8, + "Value": 552 + }, + { + "X": 60.3, + "Value": 570 + }, + { + "X": 60.8, + "Value": 574 + }, + { + "X": 61.3, + "Value": 586 + }, + { + "X": 61.8, + "Value": 597 + }, + { + "X": 62.3, + "Value": 594 + }, + { + "X": 62.8, + "Value": 603 + }, + { + "X": 63.3, + "Value": 604 + }, + { + "X": 63.8, + "Value": 606 + }, + { + "X": 64.3, + "Value": 608 + }, + { + "X": 64.8, + "Value": 600 + }, + { + "X": 65.3, + "Value": 602 + }, + { + "X": 65.8, + "Value": 609 + }, + { + "X": 66.3, + "Value": 624 + }, + { + "X": 66.8, + "Value": 638 + }, + { + "X": 67.3, + "Value": 643 + }, + { + "X": 67.8, + "Value": 642 + }, + { + "X": 68.3, + "Value": 644 + }, + { + "X": 68.8, + "Value": 641 + }, + { + "X": 69.3, + "Value": 638 + }, + { + "X": 69.8, + "Value": 626 + }, + { + "X": 70.4, + "Value": 617 + }, + { + "X": 70.9, + "Value": 619 + }, + { + "X": 71.4, + "Value": 621 + }, + { + "X": 71.9, + "Value": 611 + }, + { + "X": 72.4, + "Value": 608 + }, + { + "X": 72.9, + "Value": 615 + }, + { + "X": 73.4, + "Value": 618 + }, + { + "X": 73.9, + "Value": 611 + }, + { + "X": 74.4, + "Value": 609 + }, + { + "X": 74.9, + "Value": 600 + }, + { + "X": 75.4, + "Value": 593 + }, + { + "X": 75.9, + "Value": 590 + }, + { + "X": 76.4, + "Value": 584 + }, + { + "X": 76.9, + "Value": 589 + }, + { + "X": 77.4, + "Value": 603 + }, + { + "X": 77.9, + "Value": 602 + }, + { + "X": 78.4, + "Value": 610 + }, + { + "X": 78.9, + "Value": 611 + }, + { + "X": 79.4, + "Value": 602 + }, + { + "X": 79.9, + "Value": 605 + }, + { + "X": 80.4, + "Value": 608 + }, + { + "X": 80.9, + "Value": 601 + }, + { + "X": 81.4, + "Value": 595 + }, + { + "X": 81.9, + "Value": 587 + }, + { + "X": 82.4, + "Value": 584 + }, + { + "X": 82.9, + "Value": 572 + }, + { + "X": 83.4, + "Value": 574 + }, + { + "X": 83.9, + "Value": 580 + }, + { + "X": 84.4, + "Value": 584 + }, + { + "X": 84.9, + "Value": 579 + }, + { + "X": 85.4, + "Value": 567 + }, + { + "X": 85.9, + "Value": 561 + }, + { + "X": 86.4, + "Value": 558 + }, + { + "X": 86.9, + "Value": 565 + }, + { + "X": 87.4, + "Value": 580 + }, + { + "X": 87.9, + "Value": 579 + }, + { + "X": 88.4, + "Value": 588 + }, + { + "X": 88.9, + "Value": 590 + }, + { + "X": 89.4, + "Value": 587 + }, + { + "X": 89.9, + "Value": 588 + }, + { + "X": 90.5, + "Value": 579 + }, + { + "X": 91, + "Value": 581 + }, + { + "X": 91.5, + "Value": 593 + }, + { + "X": 92, + "Value": 594 + }, + { + "X": 92.5, + "Value": 606 + }, + { + "X": 93, + "Value": 604 + }, + { + "X": 93.5, + "Value": 603 + }, + { + "X": 94, + "Value": 603 + }, + { + "X": 94.5, + "Value": 597 + }, + { + "X": 95, + "Value": 582 + }, + { + "X": 95.5, + "Value": 582 + }, + { + "X": 96, + "Value": 583 + }, + { + "X": 96.5, + "Value": 587 + }, + { + "X": 97, + "Value": 596 + }, + { + "X": 97.5, + "Value": 604 + }, + { + "X": 98, + "Value": 611 + }, + { + "X": 98.5, + "Value": 627 + }, + { + "X": 99, + "Value": 637 + }, + { + "X": 99.5, + "Value": 656 + }, + { + "X": 100, + "Value": 674 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/16-card16.flint.json b/test-harness/excel/evaluations/inputs/line-chart/16-card16.flint.json new file mode 100644 index 00000000..4a960e80 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/16-card16.flint.json @@ -0,0 +1,108 @@ +{ + "semantic_types": { + "Date": "Date", + "Revenue": "Quantity", + "Type": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Revenue", + "strokeDash": "Type" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2024-01-01", + "Revenue": 94, + "Type": "actual" + }, + { + "Date": "2024-03-09", + "Revenue": 89, + "Type": "actual" + }, + { + "Date": "2024-05-16", + "Revenue": 97, + "Type": "actual" + }, + { + "Date": "2024-07-24", + "Revenue": 92, + "Type": "actual" + }, + { + "Date": "2024-09-30", + "Revenue": 100, + "Type": "actual" + }, + { + "Date": "2024-12-08", + "Revenue": 98, + "Type": "actual" + }, + { + "Date": "2025-02-14", + "Revenue": 106, + "Type": "actual" + }, + { + "Date": "2025-04-24", + "Revenue": 103, + "Type": "actual" + }, + { + "Date": "2025-07-01", + "Revenue": 105, + "Type": "actual" + }, + { + "Date": "2025-09-07", + "Revenue": 103, + "Type": "actual" + }, + { + "Date": "2025-11-15", + "Revenue": 104, + "Type": "actual" + }, + { + "Date": "2026-01-22", + "Revenue": 107, + "Type": "actual" + }, + { + "Date": "2026-01-22", + "Revenue": 107, + "Type": "forecast" + }, + { + "Date": "2026-04-01", + "Revenue": 118, + "Type": "forecast" + }, + { + "Date": "2026-06-08", + "Revenue": 123, + "Type": "forecast" + }, + { + "Date": "2026-08-16", + "Revenue": 131, + "Type": "forecast" + }, + { + "Date": "2026-10-23", + "Revenue": 143, + "Type": "forecast" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/line-chart/17-card13.flint.json b/test-harness/excel/evaluations/inputs/line-chart/17-card13.flint.json new file mode 100644 index 00000000..4ff315e8 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/line-chart/17-card13.flint.json @@ -0,0 +1,277 @@ +{ + "semantic_types": { + "Date": "Date", + "Sales": "Quantity", + "Product": "Category", + "Type": "Category" + }, + "chart_spec": { + "chartType": "Line Chart", + "encodings": { + "x": "Date", + "y": "Sales", + "color": "Product", + "strokeDash": "Type" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2024-01-01", + "Sales": 129, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2024-03-25", + "Sales": 133, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2024-06-17", + "Sales": 131, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2024-09-09", + "Sales": 134, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2024-12-02", + "Sales": 132, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2025-02-25", + "Sales": 130, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2025-05-20", + "Sales": 129, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2025-08-12", + "Sales": 133, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2025-11-04", + "Sales": 132, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2026-01-28", + "Sales": 135, + "Product": "Widget A", + "Type": "actual" + }, + { + "Date": "2026-01-28", + "Sales": 135, + "Product": "Widget A", + "Type": "forecast" + }, + { + "Date": "2026-04-22", + "Sales": 139, + "Product": "Widget A", + "Type": "forecast" + }, + { + "Date": "2026-07-15", + "Sales": 149, + "Product": "Widget A", + "Type": "forecast" + }, + { + "Date": "2026-10-07", + "Sales": 153, + "Product": "Widget A", + "Type": "forecast" + }, + { + "Date": "2024-01-01", + "Sales": 100, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2024-03-25", + "Sales": 97, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2024-06-17", + "Sales": 102, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2024-09-09", + "Sales": 108, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2024-12-02", + "Sales": 109, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2025-02-25", + "Sales": 113, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2025-05-20", + "Sales": 118, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2025-08-12", + "Sales": 126, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2025-11-04", + "Sales": 131, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2026-01-28", + "Sales": 137, + "Product": "Widget B", + "Type": "actual" + }, + { + "Date": "2026-01-28", + "Sales": 137, + "Product": "Widget B", + "Type": "forecast" + }, + { + "Date": "2026-04-22", + "Sales": 142, + "Product": "Widget B", + "Type": "forecast" + }, + { + "Date": "2026-07-15", + "Sales": 145, + "Product": "Widget B", + "Type": "forecast" + }, + { + "Date": "2026-10-07", + "Sales": 156, + "Product": "Widget B", + "Type": "forecast" + }, + { + "Date": "2024-01-01", + "Sales": 68, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2024-03-25", + "Sales": 68, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2024-06-17", + "Sales": 69, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2024-09-09", + "Sales": 69, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2024-12-02", + "Sales": 69, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2025-02-25", + "Sales": 69, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2025-05-20", + "Sales": 69, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2025-08-12", + "Sales": 70, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2025-11-04", + "Sales": 71, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2026-01-28", + "Sales": 70, + "Product": "Widget C", + "Type": "actual" + }, + { + "Date": "2026-01-28", + "Sales": 70, + "Product": "Widget C", + "Type": "forecast" + }, + { + "Date": "2026-04-22", + "Sales": 76, + "Product": "Widget C", + "Type": "forecast" + }, + { + "Date": "2026-07-15", + "Sales": 82, + "Product": "Widget C", + "Type": "forecast" + }, + { + "Date": "2026-10-07", + "Sales": 87, + "Product": "Widget C", + "Type": "forecast" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pie-chart/00-card0.flint.json b/test-harness/excel/evaluations/inputs/pie-chart/00-card0.flint.json new file mode 100644 index 00000000..e222d764 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pie-chart/00-card0.flint.json @@ -0,0 +1,37 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Pie Chart", + "encodings": { + "size": "Value", + "color": "Category" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Value": 103 + }, + { + "Category": "Clothing", + "Value": 215 + }, + { + "Category": "Food", + "Value": 342 + }, + { + "Category": "Books", + "Value": 560 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pie-chart/01-card0.flint.json b/test-harness/excel/evaluations/inputs/pie-chart/01-card0.flint.json new file mode 100644 index 00000000..ea0b281c --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pie-chart/01-card0.flint.json @@ -0,0 +1,61 @@ +{ + "semantic_types": { + "Product": "Product", + "Revenue": "Amount" + }, + "chart_spec": { + "chartType": "Pie Chart", + "encodings": { + "size": "Revenue", + "color": "Product" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Product": "Laptop", + "Revenue": 2924 + }, + { + "Product": "Phone", + "Revenue": 2506 + }, + { + "Product": "Tablet", + "Revenue": 6721 + }, + { + "Product": "Desktop", + "Revenue": 1826 + }, + { + "Product": "Monitor", + "Revenue": 4934 + }, + { + "Product": "Keyboard", + "Revenue": 7789 + }, + { + "Product": "Mouse", + "Revenue": 8215 + }, + { + "Product": "Headphones", + "Revenue": 5798 + }, + { + "Product": "Speaker", + "Revenue": 7950 + }, + { + "Product": "Camera", + "Revenue": 6919 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pie-chart/02-card0.flint.json b/test-harness/excel/evaluations/inputs/pie-chart/02-card0.flint.json new file mode 100644 index 00000000..552d5daf --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pie-chart/02-card0.flint.json @@ -0,0 +1,101 @@ +{ + "semantic_types": { + "Region": "Category", + "Sales": "Quantity" + }, + "chart_spec": { + "chartType": "Pie Chart", + "encodings": { + "size": "Sales", + "color": "Region" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Region": "Electronics", + "Sales": 4347 + }, + { + "Region": "Clothing", + "Sales": 4301 + }, + { + "Region": "Food", + "Sales": 5098 + }, + { + "Region": "Books", + "Sales": 1293 + }, + { + "Region": "Sports", + "Sales": 4163 + }, + { + "Region": "Home", + "Sales": 2869 + }, + { + "Region": "Garden", + "Sales": 5444 + }, + { + "Region": "Auto", + "Sales": 2591 + }, + { + "Region": "Health", + "Sales": 1407 + }, + { + "Region": "Beauty", + "Sales": 2246 + }, + { + "Region": "Toys", + "Sales": 5168 + }, + { + "Region": "Music", + "Sales": 3215 + }, + { + "Region": "Movies", + "Sales": 3360 + }, + { + "Region": "Software", + "Sales": 1176 + }, + { + "Region": "Games", + "Sales": 4497 + }, + { + "Region": "Office", + "Sales": 5262 + }, + { + "Region": "Pet", + "Sales": 1783 + }, + { + "Region": "Baby", + "Sales": 4292 + }, + { + "Region": "Tools", + "Sales": 5312 + }, + { + "Region": "Crafts", + "Sales": 5358 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pie-chart/03-card0.flint.json b/test-harness/excel/evaluations/inputs/pie-chart/03-card0.flint.json new file mode 100644 index 00000000..135404a9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pie-chart/03-card0.flint.json @@ -0,0 +1,45 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Pie Chart", + "encodings": { + "size": "Value", + "color": "Category" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Dominant", + "Value": 5000 + }, + { + "Category": "Small-A", + "Value": 200 + }, + { + "Category": "Small-B", + "Value": 180 + }, + { + "Category": "Small-C", + "Value": 150 + }, + { + "Category": "Tiny-1", + "Value": 30 + }, + { + "Category": "Tiny-2", + "Value": 20 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/00-card18.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/00-card18.flint.json new file mode 100644 index 00000000..0ac8cd77 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/00-card18.flint.json @@ -0,0 +1,113 @@ +{ + "semantic_types": { + "Age Group": "Category", + "Population": "Quantity", + "Gender": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Age Group", + "x": "Population", + "color": "Gender" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Age Group": "0-9", + "Gender": "Male", + "Population": 527 + }, + { + "Age Group": "0-9", + "Gender": "Female", + "Population": 1422 + }, + { + "Age Group": "10-19", + "Gender": "Male", + "Population": 974 + }, + { + "Age Group": "10-19", + "Gender": "Female", + "Population": 2170 + }, + { + "Age Group": "20-29", + "Gender": "Male", + "Population": 4821 + }, + { + "Age Group": "20-29", + "Gender": "Female", + "Population": 1091 + }, + { + "Age Group": "30-39", + "Gender": "Male", + "Population": 2992 + }, + { + "Age Group": "30-39", + "Gender": "Female", + "Population": 2650 + }, + { + "Age Group": "40-49", + "Gender": "Male", + "Population": 4160 + }, + { + "Age Group": "40-49", + "Gender": "Female", + "Population": 1654 + }, + { + "Age Group": "50-59", + "Gender": "Male", + "Population": 4915 + }, + { + "Age Group": "50-59", + "Gender": "Female", + "Population": 3139 + }, + { + "Age Group": "60-69", + "Gender": "Male", + "Population": 3470 + }, + { + "Age Group": "60-69", + "Gender": "Female", + "Population": 4381 + }, + { + "Age Group": "70-79", + "Gender": "Male", + "Population": 2929 + }, + { + "Age Group": "70-79", + "Gender": "Female", + "Population": 3097 + }, + { + "Age Group": "80+", + "Gender": "Male", + "Population": 2674 + }, + { + "Age Group": "80+", + "Gender": "Female", + "Population": 4917 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/01-card12.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/01-card12.flint.json new file mode 100644 index 00000000..f35621c1 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/01-card12.flint.json @@ -0,0 +1,83 @@ +{ + "semantic_types": { + "Grade": "Category", + "Count": "Count", + "Type": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Grade", + "x": "Count", + "color": "Type" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Grade": "Junior", + "Type": "Full-Time", + "Count": 203 + }, + { + "Grade": "Junior", + "Type": "Part-Time", + "Count": 85 + }, + { + "Grade": "Mid-level", + "Type": "Full-Time", + "Count": 97 + }, + { + "Grade": "Mid-level", + "Type": "Part-Time", + "Count": 60 + }, + { + "Grade": "Senior", + "Type": "Full-Time", + "Count": 147 + }, + { + "Grade": "Senior", + "Type": "Part-Time", + "Count": 86 + }, + { + "Grade": "Lead", + "Type": "Full-Time", + "Count": 114 + }, + { + "Grade": "Lead", + "Type": "Part-Time", + "Count": 44 + }, + { + "Grade": "Manager", + "Type": "Full-Time", + "Count": 111 + }, + { + "Grade": "Manager", + "Type": "Part-Time", + "Count": 18 + }, + { + "Grade": "Director", + "Type": "Full-Time", + "Count": 66 + }, + { + "Grade": "Director", + "Type": "Part-Time", + "Count": 76 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/02-card10.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/02-card10.flint.json new file mode 100644 index 00000000..ce03f066 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/02-card10.flint.json @@ -0,0 +1,73 @@ +{ + "semantic_types": { + "Satisfaction Level": "Category", + "Count": "Count", + "Response": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Satisfaction Level", + "x": "Count", + "color": "Response" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Satisfaction Level": "Very Low", + "Response": "Agree", + "Count": 146 + }, + { + "Satisfaction Level": "Very Low", + "Response": "Disagree", + "Count": 87 + }, + { + "Satisfaction Level": "Low", + "Response": "Agree", + "Count": 328 + }, + { + "Satisfaction Level": "Low", + "Response": "Disagree", + "Count": 250 + }, + { + "Satisfaction Level": "Medium", + "Response": "Agree", + "Count": 331 + }, + { + "Satisfaction Level": "Medium", + "Response": "Disagree", + "Count": 39 + }, + { + "Satisfaction Level": "High", + "Response": "Agree", + "Count": 218 + }, + { + "Satisfaction Level": "High", + "Response": "Disagree", + "Count": 213 + }, + { + "Satisfaction Level": "Very High", + "Response": "Agree", + "Count": 61 + }, + { + "Satisfaction Level": "Very High", + "Response": "Disagree", + "Count": 247 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/03-card24.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/03-card24.flint.json new file mode 100644 index 00000000..c8755ebe --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/03-card24.flint.json @@ -0,0 +1,143 @@ +{ + "semantic_types": { + "Income Bracket": "Category", + "Count": "Count", + "Area": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Income Bracket", + "x": "Count", + "color": "Area" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Income Bracket": "<$20K", + "Area": "Urban", + "Count": 2948 + }, + { + "Income Bracket": "<$20K", + "Area": "Rural", + "Count": 963 + }, + { + "Income Bracket": "$20-30K", + "Area": "Urban", + "Count": 1621 + }, + { + "Income Bracket": "$20-30K", + "Area": "Rural", + "Count": 795 + }, + { + "Income Bracket": "$30-40K", + "Area": "Urban", + "Count": 790 + }, + { + "Income Bracket": "$30-40K", + "Area": "Rural", + "Count": 1034 + }, + { + "Income Bracket": "$40-50K", + "Area": "Urban", + "Count": 2441 + }, + { + "Income Bracket": "$40-50K", + "Area": "Rural", + "Count": 915 + }, + { + "Income Bracket": "$50-60K", + "Area": "Urban", + "Count": 2787 + }, + { + "Income Bracket": "$50-60K", + "Area": "Rural", + "Count": 263 + }, + { + "Income Bracket": "$60-70K", + "Area": "Urban", + "Count": 1799 + }, + { + "Income Bracket": "$60-70K", + "Area": "Rural", + "Count": 475 + }, + { + "Income Bracket": "$70-80K", + "Area": "Urban", + "Count": 2352 + }, + { + "Income Bracket": "$70-80K", + "Area": "Rural", + "Count": 1285 + }, + { + "Income Bracket": "$80-90K", + "Area": "Urban", + "Count": 547 + }, + { + "Income Bracket": "$80-90K", + "Area": "Rural", + "Count": 832 + }, + { + "Income Bracket": "$90-100K", + "Area": "Urban", + "Count": 172 + }, + { + "Income Bracket": "$90-100K", + "Area": "Rural", + "Count": 1038 + }, + { + "Income Bracket": "$100-120K", + "Area": "Urban", + "Count": 1464 + }, + { + "Income Bracket": "$100-120K", + "Area": "Rural", + "Count": 197 + }, + { + "Income Bracket": "$120-150K", + "Area": "Urban", + "Count": 2846 + }, + { + "Income Bracket": "$120-150K", + "Area": "Rural", + "Count": 109 + }, + { + "Income Bracket": "$150K+", + "Area": "Urban", + "Count": 577 + }, + { + "Income Bracket": "$150K+", + "Area": "Rural", + "Count": 1857 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/04-card10.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/04-card10.flint.json new file mode 100644 index 00000000..6f67c702 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/04-card10.flint.json @@ -0,0 +1,73 @@ +{ + "semantic_types": { + "Degree Level": "Category", + "Count": "Count", + "Outcome": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Degree Level", + "x": "Count", + "color": "Outcome" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Degree Level": "High School", + "Outcome": "Admitted", + "Count": 3305 + }, + { + "Degree Level": "High School", + "Outcome": "Rejected", + "Count": 2560 + }, + { + "Degree Level": "Associate", + "Outcome": "Admitted", + "Count": 4171 + }, + { + "Degree Level": "Associate", + "Outcome": "Rejected", + "Count": 1598 + }, + { + "Degree Level": "Bachelor", + "Outcome": "Admitted", + "Count": 2264 + }, + { + "Degree Level": "Bachelor", + "Outcome": "Rejected", + "Count": 1009 + }, + { + "Degree Level": "Master", + "Outcome": "Admitted", + "Count": 447 + }, + { + "Degree Level": "Master", + "Outcome": "Rejected", + "Count": 1535 + }, + { + "Degree Level": "Doctorate", + "Outcome": "Admitted", + "Count": 1663 + }, + { + "Degree Level": "Doctorate", + "Outcome": "Rejected", + "Count": 208 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/05-card20.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/05-card20.flint.json new file mode 100644 index 00000000..33e56e8a --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/05-card20.flint.json @@ -0,0 +1,123 @@ +{ + "semantic_types": { + "Country": "Country", + "Value": "Amount", + "Direction": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Country", + "x": "Value", + "color": "Direction" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Country": "USA", + "Direction": "Import", + "Value": 31686 + }, + { + "Country": "USA", + "Direction": "Export", + "Value": 44720 + }, + { + "Country": "China", + "Direction": "Import", + "Value": 8071 + }, + { + "Country": "China", + "Direction": "Export", + "Value": 46763 + }, + { + "Country": "Japan", + "Direction": "Import", + "Value": 35829 + }, + { + "Country": "Japan", + "Direction": "Export", + "Value": 23447 + }, + { + "Country": "Germany", + "Direction": "Import", + "Value": 11702 + }, + { + "Country": "Germany", + "Direction": "Export", + "Value": 21445 + }, + { + "Country": "UK", + "Direction": "Import", + "Value": 17460 + }, + { + "Country": "UK", + "Direction": "Export", + "Value": 47488 + }, + { + "Country": "France", + "Direction": "Import", + "Value": 32401 + }, + { + "Country": "France", + "Direction": "Export", + "Value": 8762 + }, + { + "Country": "India", + "Direction": "Import", + "Value": 3322 + }, + { + "Country": "India", + "Direction": "Export", + "Value": 33256 + }, + { + "Country": "Brazil", + "Direction": "Import", + "Value": 29939 + }, + { + "Country": "Brazil", + "Direction": "Export", + "Value": 22031 + }, + { + "Country": "Canada", + "Direction": "Import", + "Value": 10621 + }, + { + "Country": "Canada", + "Direction": "Export", + "Value": 1603 + }, + { + "Country": "Australia", + "Direction": "Import", + "Value": 37942 + }, + { + "Country": "Australia", + "Direction": "Export", + "Value": 41683 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/06-card40.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/06-card40.flint.json new file mode 100644 index 00000000..cdb0f397 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/06-card40.flint.json @@ -0,0 +1,223 @@ +{ + "semantic_types": { + "Age Band": "Category", + "Population": "Quantity", + "Gender": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Age Band", + "x": "Population", + "color": "Gender" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Age Band": "0-4", + "Gender": "Male", + "Population": 2562 + }, + { + "Age Band": "0-4", + "Gender": "Female", + "Population": 2821 + }, + { + "Age Band": "5-9", + "Gender": "Male", + "Population": 1694 + }, + { + "Age Band": "5-9", + "Gender": "Female", + "Population": 7030 + }, + { + "Age Band": "10-14", + "Gender": "Male", + "Population": 2276 + }, + { + "Age Band": "10-14", + "Gender": "Female", + "Population": 6293 + }, + { + "Age Band": "15-19", + "Gender": "Male", + "Population": 4082 + }, + { + "Age Band": "15-19", + "Gender": "Female", + "Population": 4774 + }, + { + "Age Band": "20-24", + "Gender": "Male", + "Population": 1512 + }, + { + "Age Band": "20-24", + "Gender": "Female", + "Population": 4685 + }, + { + "Age Band": "25-29", + "Gender": "Male", + "Population": 3723 + }, + { + "Age Band": "25-29", + "Gender": "Female", + "Population": 1606 + }, + { + "Age Band": "30-34", + "Gender": "Male", + "Population": 3954 + }, + { + "Age Band": "30-34", + "Gender": "Female", + "Population": 5662 + }, + { + "Age Band": "35-39", + "Gender": "Male", + "Population": 2340 + }, + { + "Age Band": "35-39", + "Gender": "Female", + "Population": 2752 + }, + { + "Age Band": "40-44", + "Gender": "Male", + "Population": 2722 + }, + { + "Age Band": "40-44", + "Gender": "Female", + "Population": 3587 + }, + { + "Age Band": "45-49", + "Gender": "Male", + "Population": 7493 + }, + { + "Age Band": "45-49", + "Gender": "Female", + "Population": 1024 + }, + { + "Age Band": "50-54", + "Gender": "Male", + "Population": 4263 + }, + { + "Age Band": "50-54", + "Gender": "Female", + "Population": 2318 + }, + { + "Age Band": "55-59", + "Gender": "Male", + "Population": 1315 + }, + { + "Age Band": "55-59", + "Gender": "Female", + "Population": 2663 + }, + { + "Age Band": "60-64", + "Gender": "Male", + "Population": 2837 + }, + { + "Age Band": "60-64", + "Gender": "Female", + "Population": 2936 + }, + { + "Age Band": "65-69", + "Gender": "Male", + "Population": 5796 + }, + { + "Age Band": "65-69", + "Gender": "Female", + "Population": 3040 + }, + { + "Age Band": "70-74", + "Gender": "Male", + "Population": 2846 + }, + { + "Age Band": "70-74", + "Gender": "Female", + "Population": 7447 + }, + { + "Age Band": "75-79", + "Gender": "Male", + "Population": 7263 + }, + { + "Age Band": "75-79", + "Gender": "Female", + "Population": 4439 + }, + { + "Age Band": "80-84", + "Gender": "Male", + "Population": 6170 + }, + { + "Age Band": "80-84", + "Gender": "Female", + "Population": 3486 + }, + { + "Age Band": "85-89", + "Gender": "Male", + "Population": 4649 + }, + { + "Age Band": "85-89", + "Gender": "Female", + "Population": 6026 + }, + { + "Age Band": "90-94", + "Gender": "Male", + "Population": 1734 + }, + { + "Age Band": "90-94", + "Gender": "Female", + "Population": 5397 + }, + { + "Age Band": "95-99", + "Gender": "Male", + "Population": 6683 + }, + { + "Age Band": "95-99", + "Gender": "Female", + "Population": 3448 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/pyramid-chart/07-card12.flint.json b/test-harness/excel/evaluations/inputs/pyramid-chart/07-card12.flint.json new file mode 100644 index 00000000..68ed2b33 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/pyramid-chart/07-card12.flint.json @@ -0,0 +1,83 @@ +{ + "semantic_types": { + "Age Group": "Category", + "Population": "Quantity", + "Gender": "Category" + }, + "chart_spec": { + "chartType": "Pyramid Chart", + "encodings": { + "y": "Age Group", + "x": "Population", + "color": "Gender" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Age Group": "0-14", + "Gender": "Male", + "Population": 2612 + }, + { + "Age Group": "0-14", + "Gender": "Female", + "Population": 619 + }, + { + "Age Group": "15-29", + "Gender": "Male", + "Population": 695 + }, + { + "Age Group": "15-29", + "Gender": "Female", + "Population": 1916 + }, + { + "Age Group": "30-44", + "Gender": "Male", + "Population": 476 + }, + { + "Age Group": "30-44", + "Gender": "Female", + "Population": -257 + }, + { + "Age Group": "45-59", + "Gender": "Male", + "Population": 1558 + }, + { + "Age Group": "45-59", + "Gender": "Female", + "Population": 934 + }, + { + "Age Group": "60-74", + "Gender": "Male", + "Population": 2 + }, + { + "Age Group": "60-74", + "Gender": "Female", + "Population": 98 + }, + { + "Age Group": "75+", + "Gender": "Male", + "Population": -388 + }, + { + "Age Group": "75+", + "Gender": "Female", + "Population": 1841 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/radar-chart/00-card5.flint.json b/test-harness/excel/evaluations/inputs/radar-chart/00-card5.flint.json new file mode 100644 index 00000000..577fd9a8 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/radar-chart/00-card5.flint.json @@ -0,0 +1,48 @@ +{ + "semantic_types": { + "Player": "Category", + "Metric": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Radar Chart", + "encodings": { + "x": "Metric", + "y": "Value", + "color": "Player" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Player": "Player A", + "Metric": "Speed", + "Value": 85 + }, + { + "Player": "Player A", + "Metric": "Shooting", + "Value": 70 + }, + { + "Player": "Player A", + "Metric": "Passing", + "Value": 90 + }, + { + "Player": "Player A", + "Metric": "Dribbling", + "Value": 80 + }, + { + "Player": "Player A", + "Metric": "Defense", + "Value": 60 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/radar-chart/01-card6.flint.json b/test-harness/excel/evaluations/inputs/radar-chart/01-card6.flint.json new file mode 100644 index 00000000..20c379a0 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/radar-chart/01-card6.flint.json @@ -0,0 +1,83 @@ +{ + "semantic_types": { + "Team": "Category", + "Metric": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Radar Chart", + "encodings": { + "x": "Metric", + "y": "Value", + "color": "Team" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Team": "Team A", + "Metric": "Attack", + "Value": 85 + }, + { + "Team": "Team A", + "Metric": "Defense", + "Value": 70 + }, + { + "Team": "Team A", + "Metric": "Midfield", + "Value": 78 + }, + { + "Team": "Team A", + "Metric": "Speed", + "Value": 90 + }, + { + "Team": "Team A", + "Metric": "Stamina", + "Value": 65 + }, + { + "Team": "Team A", + "Metric": "Tactics", + "Value": 80 + }, + { + "Team": "Team B", + "Metric": "Attack", + "Value": 72 + }, + { + "Team": "Team B", + "Metric": "Defense", + "Value": 88 + }, + { + "Team": "Team B", + "Metric": "Midfield", + "Value": 82 + }, + { + "Team": "Team B", + "Metric": "Speed", + "Value": 68 + }, + { + "Team": "Team B", + "Metric": "Stamina", + "Value": 85 + }, + { + "Team": "Team B", + "Metric": "Tactics", + "Value": 75 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/radar-chart/02-card5.flint.json b/test-harness/excel/evaluations/inputs/radar-chart/02-card5.flint.json new file mode 100644 index 00000000..8cb22580 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/radar-chart/02-card5.flint.json @@ -0,0 +1,101 @@ +{ + "semantic_types": { + "Product": "Category", + "Metric": "Category", + "Value": "Quantity" + }, + "chart_spec": { + "chartType": "Radar Chart", + "encodings": { + "x": "Metric", + "y": "Value", + "color": "Product" + }, + "baseSize": { + "width": 560, + "height": 360 + }, + "chartProperties": { + "filled": false + } + }, + "data": { + "values": [ + { + "Product": "Widget", + "Metric": "Quality", + "Value": 90 + }, + { + "Product": "Widget", + "Metric": "Price", + "Value": 60 + }, + { + "Product": "Widget", + "Metric": "Durability", + "Value": 80 + }, + { + "Product": "Widget", + "Metric": "Design", + "Value": 75 + }, + { + "Product": "Widget", + "Metric": "Support", + "Value": 85 + }, + { + "Product": "Gadget", + "Metric": "Quality", + "Value": 70 + }, + { + "Product": "Gadget", + "Metric": "Price", + "Value": 85 + }, + { + "Product": "Gadget", + "Metric": "Durability", + "Value": 65 + }, + { + "Product": "Gadget", + "Metric": "Design", + "Value": 90 + }, + { + "Product": "Gadget", + "Metric": "Support", + "Value": 50 + }, + { + "Product": "Doohickey", + "Metric": "Quality", + "Value": 80 + }, + { + "Product": "Doohickey", + "Metric": "Price", + "Value": 70 + }, + { + "Product": "Doohickey", + "Metric": "Durability", + "Value": 90 + }, + { + "Product": "Doohickey", + "Metric": "Design", + "Value": 60 + }, + { + "Product": "Doohickey", + "Metric": "Support", + "Value": 70 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/radar-chart/04-card5.flint.json b/test-harness/excel/evaluations/inputs/radar-chart/04-card5.flint.json new file mode 100644 index 00000000..022dec3e --- /dev/null +++ b/test-harness/excel/evaluations/inputs/radar-chart/04-card5.flint.json @@ -0,0 +1,73 @@ +{ + "semantic_types": { + "Category": "Category", + "Assessment": "Category", + "Score": "Quantity" + }, + "chart_spec": { + "chartType": "Radar Chart", + "encodings": { + "x": "Category", + "y": "Score", + "color": "Assessment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Customer Satisfaction Score", + "Assessment": "Product A", + "Score": 82 + }, + { + "Category": "Annual Revenue Growth Rate", + "Assessment": "Product A", + "Score": 91 + }, + { + "Category": "Employee Retention", + "Assessment": "Product A", + "Score": 74 + }, + { + "Category": "Market Share Percentage", + "Assessment": "Product A", + "Score": 68 + }, + { + "Category": "Net Promoter Score", + "Assessment": "Product A", + "Score": 88 + }, + { + "Category": "Customer Satisfaction Score", + "Assessment": "Product B", + "Score": 70 + }, + { + "Category": "Annual Revenue Growth Rate", + "Assessment": "Product B", + "Score": 65 + }, + { + "Category": "Employee Retention", + "Assessment": "Product B", + "Score": 85 + }, + { + "Category": "Market Share Percentage", + "Assessment": "Product B", + "Score": 78 + }, + { + "Category": "Net Promoter Score", + "Assessment": "Product B", + "Score": 60 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/radar-chart/05-card8.flint.json b/test-harness/excel/evaluations/inputs/radar-chart/05-card8.flint.json new file mode 100644 index 00000000..0fd99b23 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/radar-chart/05-card8.flint.json @@ -0,0 +1,103 @@ +{ + "semantic_types": { + "App": "Category", + "KPI": "Category", + "Rating": "Quantity" + }, + "chart_spec": { + "chartType": "Radar Chart", + "encodings": { + "x": "KPI", + "y": "Rating", + "color": "App" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "App": "Frontend", + "KPI": "Overall User Experience", + "Rating": 56 + }, + { + "App": "Backend", + "KPI": "Overall User Experience", + "Rating": 87 + }, + { + "App": "Frontend", + "KPI": "First Contentful Paint", + "Rating": 76 + }, + { + "App": "Backend", + "KPI": "First Contentful Paint", + "Rating": 50 + }, + { + "App": "Frontend", + "KPI": "Time to Interactive", + "Rating": 72 + }, + { + "App": "Backend", + "KPI": "Time to Interactive", + "Rating": 100 + }, + { + "App": "Frontend", + "KPI": "Cumulative Layout Shift", + "Rating": 99 + }, + { + "App": "Backend", + "KPI": "Cumulative Layout Shift", + "Rating": 68 + }, + { + "App": "Frontend", + "KPI": "Server Response Time", + "Rating": 53 + }, + { + "App": "Backend", + "KPI": "Server Response Time", + "Rating": 87 + }, + { + "App": "Frontend", + "KPI": "Error Rate per Minute", + "Rating": 57 + }, + { + "App": "Backend", + "KPI": "Error Rate per Minute", + "Rating": 89 + }, + { + "App": "Frontend", + "KPI": "Database Query Latency", + "Rating": 51 + }, + { + "App": "Backend", + "KPI": "Database Query Latency", + "Rating": 76 + }, + { + "App": "Frontend", + "KPI": "API Throughput", + "Rating": 93 + }, + { + "App": "Backend", + "KPI": "API Throughput", + "Rating": 53 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/radar-chart/06-card12.flint.json b/test-harness/excel/evaluations/inputs/radar-chart/06-card12.flint.json new file mode 100644 index 00000000..75eaad1a --- /dev/null +++ b/test-harness/excel/evaluations/inputs/radar-chart/06-card12.flint.json @@ -0,0 +1,203 @@ +{ + "semantic_types": { + "Division": "Category", + "Factor": "Category", + "Score": "Quantity" + }, + "chart_spec": { + "chartType": "Radar Chart", + "encodings": { + "x": "Factor", + "y": "Score", + "color": "Division" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Division": "Americas", + "Factor": "Revenue", + "Score": 40 + }, + { + "Division": "EMEA", + "Factor": "Revenue", + "Score": 36 + }, + { + "Division": "APAC", + "Factor": "Revenue", + "Score": 38 + }, + { + "Division": "Americas", + "Factor": "Profit Margin", + "Score": 67 + }, + { + "Division": "EMEA", + "Factor": "Profit Margin", + "Score": 47 + }, + { + "Division": "APAC", + "Factor": "Profit Margin", + "Score": 38 + }, + { + "Division": "Americas", + "Factor": "Customer Retention", + "Score": 83 + }, + { + "Division": "EMEA", + "Factor": "Customer Retention", + "Score": 87 + }, + { + "Division": "APAC", + "Factor": "Customer Retention", + "Score": 92 + }, + { + "Division": "Americas", + "Factor": "Brand Awareness", + "Score": 42 + }, + { + "Division": "EMEA", + "Factor": "Brand Awareness", + "Score": 48 + }, + { + "Division": "APAC", + "Factor": "Brand Awareness", + "Score": 58 + }, + { + "Division": "Americas", + "Factor": "Market Penetration", + "Score": 56 + }, + { + "Division": "EMEA", + "Factor": "Market Penetration", + "Score": 33 + }, + { + "Division": "APAC", + "Factor": "Market Penetration", + "Score": 70 + }, + { + "Division": "Americas", + "Factor": "Product Quality", + "Score": 88 + }, + { + "Division": "EMEA", + "Factor": "Product Quality", + "Score": 84 + }, + { + "Division": "APAC", + "Factor": "Product Quality", + "Score": 45 + }, + { + "Division": "Americas", + "Factor": "Employee Engagement", + "Score": 64 + }, + { + "Division": "EMEA", + "Factor": "Employee Engagement", + "Score": 90 + }, + { + "Division": "APAC", + "Factor": "Employee Engagement", + "Score": 76 + }, + { + "Division": "Americas", + "Factor": "Innovation Index", + "Score": 73 + }, + { + "Division": "EMEA", + "Factor": "Innovation Index", + "Score": 46 + }, + { + "Division": "APAC", + "Factor": "Innovation Index", + "Score": 50 + }, + { + "Division": "Americas", + "Factor": "Supply Chain Efficiency", + "Score": 44 + }, + { + "Division": "EMEA", + "Factor": "Supply Chain Efficiency", + "Score": 80 + }, + { + "Division": "APAC", + "Factor": "Supply Chain Efficiency", + "Score": 90 + }, + { + "Division": "Americas", + "Factor": "Digital Transformation", + "Score": 44 + }, + { + "Division": "EMEA", + "Factor": "Digital Transformation", + "Score": 53 + }, + { + "Division": "APAC", + "Factor": "Digital Transformation", + "Score": 77 + }, + { + "Division": "Americas", + "Factor": "Sustainability Rating", + "Score": 100 + }, + { + "Division": "EMEA", + "Factor": "Sustainability Rating", + "Score": 77 + }, + { + "Division": "APAC", + "Factor": "Sustainability Rating", + "Score": 44 + }, + { + "Division": "Americas", + "Factor": "Compliance Score", + "Score": 89 + }, + { + "Division": "EMEA", + "Factor": "Compliance Score", + "Score": 31 + }, + { + "Division": "APAC", + "Factor": "Compliance Score", + "Score": 30 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/00-card20.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/00-card20.flint.json new file mode 100644 index 00000000..c7f41caa --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/00-card20.flint.json @@ -0,0 +1,101 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 0, + "Y": 52.5 + }, + { + "X": 73.5, + "Y": 26.3 + }, + { + "X": 37.6, + "Y": 19.6 + }, + { + "X": 97.6, + "Y": 51.2 + }, + { + "X": 53, + "Y": 25.7 + }, + { + "X": 10.7, + "Y": 81.5 + }, + { + "X": 90.1, + "Y": 45.2 + }, + { + "X": 24.5, + "Y": 24.7 + }, + { + "X": 18.8, + "Y": 32.3 + }, + { + "X": 10.3, + "Y": 80.7 + }, + { + "X": 53.4, + "Y": 84.4 + }, + { + "X": 73.7, + "Y": 7.8 + }, + { + "X": 53.9, + "Y": 13.1 + }, + { + "X": 86.3, + "Y": 46.5 + }, + { + "X": 47.2, + "Y": 45 + }, + { + "X": 23.3, + "Y": 1.2 + }, + { + "X": 2.3, + "Y": 99.4 + }, + { + "X": 91.5, + "Y": 78.6 + }, + { + "X": 57.1, + "Y": 76.9 + }, + { + "X": 62.4, + "Y": 34.4 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/01-card20.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/01-card20.flint.json new file mode 100644 index 00000000..796b4995 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/01-card20.flint.json @@ -0,0 +1,123 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 37.6, + "Y": 26.7, + "Segment": "Electronics" + }, + { + "X": 35.2, + "Y": 64.1, + "Segment": "Clothing" + }, + { + "X": 36.4, + "Y": 5.3, + "Segment": "Food" + }, + { + "X": 52.9, + "Y": 15.8, + "Segment": "Electronics" + }, + { + "X": 45.4, + "Y": 32.9, + "Segment": "Clothing" + }, + { + "X": 19.3, + "Y": 6.5, + "Segment": "Food" + }, + { + "X": 98.7, + "Y": 54.6, + "Segment": "Electronics" + }, + { + "X": 8.9, + "Y": 99.3, + "Segment": "Clothing" + }, + { + "X": 43.4, + "Y": 70.2, + "Segment": "Food" + }, + { + "X": 18.7, + "Y": 54.4, + "Segment": "Electronics" + }, + { + "X": 99.5, + "Y": 19, + "Segment": "Clothing" + }, + { + "X": 68.4, + "Y": 39.9, + "Segment": "Food" + }, + { + "X": 43.9, + "Y": 74.7, + "Segment": "Electronics" + }, + { + "X": 17.8, + "Y": 81.1, + "Segment": "Clothing" + }, + { + "X": 80.6, + "Y": 9.7, + "Segment": "Food" + }, + { + "X": 3, + "Y": 13.4, + "Segment": "Electronics" + }, + { + "X": 63.7, + "Y": 38, + "Segment": "Clothing" + }, + { + "X": 24.9, + "Y": 50.7, + "Segment": "Food" + }, + { + "X": 52.1, + "Y": 10.4, + "Segment": "Electronics" + }, + { + "X": 98.4, + "Y": 34.9, + "Segment": "Clothing" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/02-card20.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/02-card20.flint.json new file mode 100644 index 00000000..8e81c7f2 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/02-card20.flint.json @@ -0,0 +1,123 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "ColorVal": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 76.8, + "Y": 26.5, + "ColorVal": 66.6 + }, + { + "X": 91.5, + "Y": 46.6, + "ColorVal": 44.1 + }, + { + "X": 92.1, + "Y": 46.7, + "ColorVal": 97.7 + }, + { + "X": 32, + "Y": 79.4, + "ColorVal": 86.6 + }, + { + "X": 74.3, + "Y": 55.7, + "ColorVal": 82.7 + }, + { + "X": 53.1, + "Y": 30.7, + "ColorVal": 34.3 + }, + { + "X": 31.1, + "Y": 44.7, + "ColorVal": 56.7 + }, + { + "X": 65.3, + "Y": 6.3, + "ColorVal": 49 + }, + { + "X": 45.6, + "Y": 1, + "ColorVal": 70.1 + }, + { + "X": 38.8, + "Y": 44.7, + "ColorVal": 93.6 + }, + { + "X": 12.5, + "Y": 42.8, + "ColorVal": 29.3 + }, + { + "X": 41.1, + "Y": 24.4, + "ColorVal": 36.6 + }, + { + "X": 71, + "Y": 93.6, + "ColorVal": 1.8 + }, + { + "X": 47.8, + "Y": 82.2, + "ColorVal": 53.3 + }, + { + "X": 12.6, + "Y": 40, + "ColorVal": 12.9 + }, + { + "X": 81.2, + "Y": 39.2, + "ColorVal": 7.6 + }, + { + "X": 59.8, + "Y": 33.7, + "ColorVal": 25.4 + }, + { + "X": 38.6, + "Y": 31.4, + "ColorVal": 61.7 + }, + { + "X": 20.4, + "Y": 28.4, + "ColorVal": 98.9 + }, + { + "X": 19.6, + "Y": 66.2, + "ColorVal": 51.4 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/03-card30.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/03-card30.flint.json new file mode 100644 index 00000000..7513f0b4 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/03-card30.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Timestamp": "Date" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "Timestamp" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 78.5, + "Y": 12.7, + "Timestamp": "2020-01-01" + }, + { + "X": 35.8, + "Y": 22.2, + "Timestamp": "2020-02-06" + }, + { + "X": 29.9, + "Y": 16.8, + "Timestamp": "2020-03-14" + }, + { + "X": 95.6, + "Y": 72.6, + "Timestamp": "2020-04-19" + }, + { + "X": 58.9, + "Y": 51.8, + "Timestamp": "2020-05-26" + }, + { + "X": 48.9, + "Y": 36.6, + "Timestamp": "2020-07-01" + }, + { + "X": 29.3, + "Y": 39, + "Timestamp": "2020-08-07" + }, + { + "X": 40.8, + "Y": 42.9, + "Timestamp": "2020-09-12" + }, + { + "X": 32.2, + "Y": 35.3, + "Timestamp": "2020-10-19" + }, + { + "X": 10.9, + "Y": 72.9, + "Timestamp": "2020-11-24" + }, + { + "X": 40.9, + "Y": 1, + "Timestamp": "2020-12-31" + }, + { + "X": 35.1, + "Y": 53.7, + "Timestamp": "2021-02-05" + }, + { + "X": 19.2, + "Y": 87, + "Timestamp": "2021-03-14" + }, + { + "X": 91.3, + "Y": 96.5, + "Timestamp": "2021-04-19" + }, + { + "X": 79.4, + "Y": 23.3, + "Timestamp": "2021-05-26" + }, + { + "X": 51, + "Y": 19.7, + "Timestamp": "2021-07-01" + }, + { + "X": 87.1, + "Y": 81.2, + "Timestamp": "2021-08-07" + }, + { + "X": 98.5, + "Y": 34.4, + "Timestamp": "2021-09-12" + }, + { + "X": 62.8, + "Y": 67.5, + "Timestamp": "2021-10-19" + }, + { + "X": 89.2, + "Y": 12.3, + "Timestamp": "2021-11-24" + }, + { + "X": 68, + "Y": 99.7, + "Timestamp": "2021-12-31" + }, + { + "X": 97.6, + "Y": 13, + "Timestamp": "2022-02-05" + }, + { + "X": 36.9, + "Y": 4, + "Timestamp": "2022-03-14" + }, + { + "X": 54.3, + "Y": 17.5, + "Timestamp": "2022-04-19" + }, + { + "X": 50.5, + "Y": 15.6, + "Timestamp": "2022-05-26" + }, + { + "X": 79.3, + "Y": 25, + "Timestamp": "2022-07-01" + }, + { + "X": 21.7, + "Y": 33.8, + "Timestamp": "2022-08-07" + }, + { + "X": 74.5, + "Y": 41.4, + "Timestamp": "2022-09-12" + }, + { + "X": 95.7, + "Y": 57.5, + "Timestamp": "2022-10-19" + }, + { + "X": 45.2, + "Y": 63.7, + "Timestamp": "2022-11-24" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/04-card47.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/04-card47.flint.json new file mode 100644 index 00000000..fa3fa857 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/04-card47.flint.json @@ -0,0 +1,273 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 93.7, + "Y": 49.3, + "Size": 46 + }, + { + "X": 8.5, + "Y": 75.3, + "Size": 15.1 + }, + { + "X": 57.2, + "Y": 60.6, + "Size": 34.4 + }, + { + "X": 38.9, + "Y": 22.2, + "Size": 81.6 + }, + { + "X": 48.2, + "Y": 64.9, + "Size": 50.9 + }, + { + "X": 5.7, + "Y": 63, + "Size": 67.4 + }, + { + "X": 15.2, + "Y": 80.2, + "Size": 21.3 + }, + { + "X": 4.9, + "Y": 46, + "Size": 73.8 + }, + { + "X": 96.4, + "Y": 53.6, + "Size": 4.3 + }, + { + "X": 64.6, + "Y": 38.1, + "Size": 49.9 + }, + { + "X": 36.7, + "Y": 38.1, + "Size": 84.6 + }, + { + "X": 84.6, + "Y": 91.5, + "Size": 55.3 + }, + { + "X": 5.2, + "Y": 73.3, + "Size": 26.1 + }, + { + "X": 61.6, + "Y": 2.3, + "Size": 46.8 + }, + { + "X": 63.6, + "Y": 87.9, + "Size": 33.7 + }, + { + "X": 88.4, + "Y": 96.3, + "Size": 45.1 + }, + { + "X": 48.1, + "Y": 88.7, + "Size": 2.5 + }, + { + "X": 3.7, + "Y": 48.1, + "Size": 54.8 + }, + { + "X": 40.5, + "Y": 54.4, + "Size": 66.5 + }, + { + "X": 58.4, + "Y": 62.1, + "Size": 13 + }, + { + "X": 77.5, + "Y": 80.6, + "Size": 97.1 + }, + { + "X": 43.3, + "Y": 8.8, + "Size": 44.2 + }, + { + "X": 98.2, + "Y": 96.9, + "Size": 40.5 + }, + { + "X": 33.1, + "Y": 99.1, + "Size": 79.7 + }, + { + "X": 37.4, + "Y": 30.7, + "Size": 7.1 + }, + { + "X": 92.9, + "Y": 62.8, + "Size": 92.2 + }, + { + "X": 74.3, + "Y": 85.1, + "Size": 14.7 + }, + { + "X": 47.5, + "Y": 5.7, + "Size": 29.6 + }, + { + "X": 25, + "Y": 42.8, + "Size": 73.1 + }, + { + "X": 72.2, + "Y": 24.2, + "Size": 42.9 + }, + { + "X": 79.1, + "Y": 62.5, + "Size": 49.3 + }, + { + "X": 80.1, + "Y": 81.1, + "Size": 26.9 + }, + { + "X": 21.5, + "Y": 65.8, + "Size": 23.2 + }, + { + "X": 38, + "Y": 24.2, + "Size": 62.3 + }, + { + "X": 12, + "Y": 60.4, + "Size": 37.1 + }, + { + "X": 12.5, + "Y": 53.4, + "Size": 38.9 + }, + { + "X": 39.3, + "Y": 93.2, + "Size": 2.8 + }, + { + "X": 9.7, + "Y": 26.4, + "Size": 69.6 + }, + { + "X": 84.6, + "Y": 52.6, + "Size": 0.8 + }, + { + "X": 79.1, + "Y": 38.4, + "Size": 12.9 + }, + { + "X": 15.7, + "Y": 38.7, + "Size": 3.8 + }, + { + "X": 27.2, + "Y": 68.4, + "Size": 19.9 + }, + { + "X": 5.1, + "Y": 70.1, + "Size": 76 + }, + { + "X": 9.6, + "Y": 87.1, + "Size": 55 + }, + { + "X": 50.7, + "Y": 76.8, + "Size": 98.8 + }, + { + "X": 28.9, + "Y": 73, + "Size": 28.7 + }, + { + "X": 52.9, + "Y": 66.5, + "Size": 21.5 + }, + { + "X": 40.2, + "Y": 58.5, + "Size": 60.2 + }, + { + "X": 27.2, + "Y": 68, + "Size": 34.9 + }, + { + "X": 48.7, + "Y": 50.6, + "Size": 33.8 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/05-card20.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/05-card20.flint.json new file mode 100644 index 00000000..ad18f944 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/05-card20.flint.json @@ -0,0 +1,123 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Level": "Rank" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "size": "Level" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 72, + "Y": 77.7, + "Level": "Low" + }, + { + "X": 87.7, + "Y": 43.7, + "Level": "Medium" + }, + { + "X": 43.3, + "Y": 31.7, + "Level": "High" + }, + { + "X": 14.4, + "Y": 44, + "Level": "Critical" + }, + { + "X": 75.2, + "Y": 95.8, + "Level": "Low" + }, + { + "X": 82.8, + "Y": 62.8, + "Level": "Medium" + }, + { + "X": 51.7, + "Y": 0.5, + "Level": "High" + }, + { + "X": 93.8, + "Y": 55, + "Level": "Critical" + }, + { + "X": 19.8, + "Y": 74.4, + "Level": "Low" + }, + { + "X": 36.3, + "Y": 44.7, + "Level": "Medium" + }, + { + "X": 14.9, + "Y": 14.2, + "Level": "High" + }, + { + "X": 31.8, + "Y": 92.8, + "Level": "Critical" + }, + { + "X": 75.1, + "Y": 69.2, + "Level": "Low" + }, + { + "X": 72.9, + "Y": 33.9, + "Level": "Medium" + }, + { + "X": 46.2, + "Y": 57.2, + "Level": "High" + }, + { + "X": 64.4, + "Y": 21.9, + "Level": "Critical" + }, + { + "X": 73.9, + "Y": 66.2, + "Level": "Low" + }, + { + "X": 19, + "Y": 17.9, + "Level": "Medium" + }, + { + "X": 81.9, + "Y": 35.7, + "Level": "High" + }, + { + "X": 84.9, + "Y": 93.9, + "Level": "Critical" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/06-card15.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/06-card15.flint.json new file mode 100644 index 00000000..a65f0684 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/06-card15.flint.json @@ -0,0 +1,115 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Segment": "Category", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "Segment", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 88.6, + "Y": 36.1, + "Segment": "Electronics", + "Size": 33 + }, + { + "X": 26.6, + "Y": 56.1, + "Segment": "Clothing", + "Size": 77.6 + }, + { + "X": 80.8, + "Y": 84.9, + "Segment": "Food", + "Size": 36.9 + }, + { + "X": 6.5, + "Y": 20.2, + "Segment": "Electronics", + "Size": 32.8 + }, + { + "X": 68, + "Y": 79.1, + "Segment": "Clothing", + "Size": 62.4 + }, + { + "X": 77.2, + "Y": 26.9, + "Segment": "Food", + "Size": 62 + }, + { + "X": 81.6, + "Y": 2.7, + "Segment": "Electronics", + "Size": 39.3 + }, + { + "X": 35.9, + "Y": 88, + "Segment": "Clothing", + "Size": 58.7 + }, + { + "X": 26.9, + "Y": 32.2, + "Segment": "Food", + "Size": 96.7 + }, + { + "X": 73.2, + "Y": 39.8, + "Segment": "Electronics", + "Size": 47.5 + }, + { + "X": 12.5, + "Y": 6.8, + "Segment": "Clothing", + "Size": 20.1 + }, + { + "X": 84, + "Y": 75.3, + "Segment": "Food", + "Size": 31.3 + }, + { + "X": 1, + "Y": 1.5, + "Segment": "Electronics", + "Size": 21.7 + }, + { + "X": 26.7, + "Y": 60.9, + "Segment": "Clothing", + "Size": 90.9 + }, + { + "X": 41.4, + "Y": 44.9, + "Segment": "Food", + "Size": 78.1 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/07-card30.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/07-card30.flint.json new file mode 100644 index 00000000..2f840973 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/07-card30.flint.json @@ -0,0 +1,205 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "ColorVal": "Quantity", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "ColorVal", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 7, + "Y": 96, + "ColorVal": 23.3, + "Size": 85.7 + }, + { + "X": 56.5, + "Y": 19.9, + "ColorVal": 3.6, + "Size": 53.2 + }, + { + "X": 52.3, + "Y": 49.5, + "ColorVal": 14.5, + "Size": 88.1 + }, + { + "X": 90.8, + "Y": 75.5, + "ColorVal": 79.3, + "Size": 52 + }, + { + "X": 28.9, + "Y": 22, + "ColorVal": 6.9, + "Size": 99.1 + }, + { + "X": 20, + "Y": 91.9, + "ColorVal": 87.9, + "Size": 56.4 + }, + { + "X": 82.2, + "Y": 14.8, + "ColorVal": 71.2, + "Size": 27.3 + }, + { + "X": 94.6, + "Y": 18.4, + "ColorVal": 97.8, + "Size": 7.2 + }, + { + "X": 95.1, + "Y": 89.6, + "ColorVal": 80.2, + "Size": 77.4 + }, + { + "X": 97.3, + "Y": 25.5, + "ColorVal": 39.1, + "Size": 17.3 + }, + { + "X": 14, + "Y": 46.5, + "ColorVal": 87.1, + "Size": 76.3 + }, + { + "X": 12.1, + "Y": 19.3, + "ColorVal": 88.1, + "Size": 24.5 + }, + { + "X": 37.5, + "Y": 75.8, + "ColorVal": 31.6, + "Size": 22.9 + }, + { + "X": 50.7, + "Y": 10.6, + "ColorVal": 30.3, + "Size": 99.8 + }, + { + "X": 46.9, + "Y": 22, + "ColorVal": 63, + "Size": 78.4 + }, + { + "X": 52.7, + "Y": 68.4, + "ColorVal": 31, + "Size": 62.9 + }, + { + "X": 41, + "Y": 89.8, + "ColorVal": 60.2, + "Size": 44.2 + }, + { + "X": 81.5, + "Y": 42.6, + "ColorVal": 96.9, + "Size": 25.2 + }, + { + "X": 71, + "Y": 0.1, + "ColorVal": 80.4, + "Size": 24.8 + }, + { + "X": 86.5, + "Y": 33.6, + "ColorVal": 8.4, + "Size": 38.9 + }, + { + "X": 75.4, + "Y": 92.9, + "ColorVal": 31.9, + "Size": 85.6 + }, + { + "X": 25.5, + "Y": 54.9, + "ColorVal": 80.5, + "Size": 42.2 + }, + { + "X": 74.5, + "Y": 59.7, + "ColorVal": 4.2, + "Size": 64.5 + }, + { + "X": 82, + "Y": 72.9, + "ColorVal": 21.8, + "Size": 62.4 + }, + { + "X": 19.8, + "Y": 64.6, + "ColorVal": 46.8, + "Size": 52.4 + }, + { + "X": 70.8, + "Y": 95.4, + "ColorVal": 20.2, + "Size": 10.6 + }, + { + "X": 72.3, + "Y": 74.4, + "ColorVal": 41.8, + "Size": 34.6 + }, + { + "X": 48, + "Y": 80.3, + "ColorVal": 74.4, + "Size": 96.9 + }, + { + "X": 22.5, + "Y": 61.9, + "ColorVal": 84.6, + "Size": 13.7 + }, + { + "X": 39.1, + "Y": 34.1, + "ColorVal": 28, + "Size": 43.5 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/08-card20.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/08-card20.flint.json new file mode 100644 index 00000000..1be156c3 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/08-card20.flint.json @@ -0,0 +1,145 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Segment": "Category", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "Segment", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 20.8, + "Y": 65.9, + "Segment": "Electronics", + "Size": 113041463 + }, + { + "X": 87.1, + "Y": 9.9, + "Segment": "Clothing", + "Size": 489600946 + }, + { + "X": 70.6, + "Y": 84, + "Segment": "Food", + "Size": 170192509 + }, + { + "X": 40.9, + "Y": 8.8, + "Segment": "Books", + "Size": 684784271 + }, + { + "X": 15.2, + "Y": 9, + "Segment": "Sports", + "Size": 272996627 + }, + { + "X": 23.8, + "Y": 88.6, + "Segment": "Home", + "Size": 73843952 + }, + { + "X": 7.9, + "Y": 40.2, + "Segment": "Garden", + "Size": 310037319 + }, + { + "X": 78, + "Y": 40.5, + "Segment": "Auto", + "Size": 636410568 + }, + { + "X": 13.6, + "Y": 17.7, + "Segment": "Health", + "Size": 916931923 + }, + { + "X": 85.8, + "Y": 84.7, + "Segment": "Beauty", + "Size": 465975275 + }, + { + "X": 63, + "Y": 42.6, + "Segment": "Toys", + "Size": 733873108 + }, + { + "X": 18.9, + "Y": 45.2, + "Segment": "Music", + "Size": 679753166 + }, + { + "X": 59.5, + "Y": 28.4, + "Segment": "Movies", + "Size": 405646572 + }, + { + "X": 68.5, + "Y": 4.2, + "Segment": "Software", + "Size": 510611831 + }, + { + "X": 83.6, + "Y": 68.8, + "Segment": "Games", + "Size": 534058494 + }, + { + "X": 90.4, + "Y": 74, + "Segment": "Office", + "Size": 439235648 + }, + { + "X": 21.7, + "Y": 59.3, + "Segment": "Pet", + "Size": 810736068 + }, + { + "X": 2.4, + "Y": 26.2, + "Segment": "Baby", + "Size": 591643630 + }, + { + "X": 73.8, + "Y": 38.7, + "Segment": "Tools", + "Size": 671374505 + }, + { + "X": 77.4, + "Y": 99.5, + "Segment": "Crafts", + "Size": 885994418 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/09-card91.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/09-card91.flint.json new file mode 100644 index 00000000..20f806ff --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/09-card91.flint.json @@ -0,0 +1,421 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 89.1, + "Y": 42.7 + }, + { + "X": 77, + "Y": 31.6 + }, + { + "X": 71.9, + "Y": 17 + }, + { + "X": 4.4, + "Y": 67 + }, + { + "X": 43.8, + "Y": 99.8 + }, + { + "X": 32.9, + "Y": 63.3 + }, + { + "X": 84.7, + "Y": 56.1 + }, + { + "X": 84.2, + "Y": 74.7 + }, + { + "X": 53.4, + "Y": 8.6 + }, + { + "X": 95, + "Y": 46.8 + }, + { + "X": 61, + "Y": 72.2 + }, + { + "X": 43.6, + "Y": 8.7 + }, + { + "X": 23.2, + "Y": 89.9 + }, + { + "X": 86, + "Y": 65.9 + }, + { + "X": 14, + "Y": 1.2 + }, + { + "X": 24.7, + "Y": 74.4 + }, + { + "X": 5.8, + "Y": 68.7 + }, + { + "X": 70.1, + "Y": 49.6 + }, + { + "X": 52.7, + "Y": 72.5 + }, + { + "X": 43.2, + "Y": 62.1 + }, + { + "X": 5.5, + "Y": 78.8 + }, + { + "X": 94.1, + "Y": 58.2 + }, + { + "X": 98.9, + "Y": 71 + }, + { + "X": 33, + "Y": 96.1 + }, + { + "X": 33.5, + "Y": 95.8 + }, + { + "X": 6.3, + "Y": 18.2 + }, + { + "X": 52.7, + "Y": 78.4 + }, + { + "X": 91, + "Y": 68.7 + }, + { + "X": 31, + "Y": 96.5 + }, + { + "X": 61.3, + "Y": 2.7 + }, + { + "X": 10.6, + "Y": 2.7 + }, + { + "X": 1.8, + "Y": 97.5 + }, + { + "X": 24.8, + "Y": 77.2 + }, + { + "X": 87.1, + "Y": 4.7 + }, + { + "X": 7.9, + "Y": 25.1 + }, + { + "X": 91.3, + "Y": 60.8 + }, + { + "X": 26.9, + "Y": 40.1 + }, + { + "X": 81.2, + "Y": 61.4 + }, + { + "X": 78, + "Y": 99.7 + }, + { + "X": 12.3, + "Y": 47.7 + }, + { + "X": 32, + "Y": 33.9 + }, + { + "X": 1.6, + "Y": 9.2 + }, + { + "X": 4.7, + "Y": 65.1 + }, + { + "X": 5.5, + "Y": 79.5 + }, + { + "X": 0.6, + "Y": 73.3 + }, + { + "X": 53.5, + "Y": 35.1 + }, + { + "X": 9.6, + "Y": 71.7 + }, + { + "X": 33, + "Y": 16.8 + }, + { + "X": 92.7, + "Y": 46.7 + }, + { + "X": 47.2, + "Y": 29.6 + }, + { + "X": 50.2, + "Y": 8.5 + }, + { + "X": 17.7, + "Y": 8.1 + }, + { + "X": 66.7, + "Y": 28.1 + }, + { + "X": 42.5, + "Y": 55.2 + }, + { + "X": 44.1, + "Y": 30.5 + }, + { + "X": 27.4, + "Y": 11.7 + }, + { + "X": 44.8, + "Y": 15.1 + }, + { + "X": 83.9, + "Y": 43.6 + }, + { + "X": 61.9, + "Y": 43.3 + }, + { + "X": 76.4, + "Y": 54.2 + }, + { + "X": 28.1, + "Y": 40.7 + }, + { + "X": 88.7, + "Y": 36.7 + }, + { + "X": 9.4, + "Y": 88.6 + }, + { + "X": 65.1, + "Y": 62.3 + }, + { + "X": 48.9, + "Y": 15.1 + }, + { + "X": 67.1, + "Y": 3.5 + }, + { + "X": 78, + "Y": 56 + }, + { + "X": 36.4, + "Y": 20.2 + }, + { + "X": 30.9, + "Y": 56.5 + }, + { + "X": 6.8, + "Y": 71.5 + }, + { + "X": 0.2, + "Y": 28.6 + }, + { + "X": 16.4, + "Y": 49.2 + }, + { + "X": 50.4, + "Y": 33.3 + }, + { + "X": 52.5, + "Y": 17.9 + }, + { + "X": 19.4, + "Y": 53.3 + }, + { + "X": 47.2, + "Y": 47.7 + }, + { + "X": 82, + "Y": 21.7 + }, + { + "X": 89.2, + "Y": 33.5 + }, + { + "X": 7.4, + "Y": 38.2 + }, + { + "X": 50.4, + "Y": 80.8 + }, + { + "X": 92.3, + "Y": 31.4 + }, + { + "X": 65.7, + "Y": 43.1 + }, + { + "X": 80.6, + "Y": 81.3 + }, + { + "X": 70.2, + "Y": 42.4 + }, + { + "X": 26.9, + "Y": 66 + }, + { + "X": 98.6, + "Y": 11.6 + }, + { + "X": 81.4, + "Y": 31.4 + }, + { + "X": 35.4, + "Y": 95 + }, + { + "X": 52.6, + "Y": 20.5 + }, + { + "X": 70.2, + "Y": 61.9 + }, + { + "X": 85.1, + "Y": 34.2 + }, + { + "X": 17.3, + "Y": 4.3 + }, + { + "X": 31.9, + "Y": 73.7 + }, + { + "X": 93.3, + "Y": 18.8 + }, + { + "X": 64.2, + "Y": 51.9 + }, + { + "X": 64.8, + "Y": 34.5 + }, + { + "X": 10, + "Y": 7.8 + }, + { + "X": 47.5, + "Y": 64.2 + }, + { + "X": 35.4, + "Y": 46.4 + }, + { + "X": 99.3, + "Y": 20 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/10-card395.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/10-card395.flint.json new file mode 100644 index 00000000..56c4cfe0 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/10-card395.flint.json @@ -0,0 +1,2021 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 96.1, + "Y": 21.1 + }, + { + "X": 19.5, + "Y": 92.5 + }, + { + "X": 6.1, + "Y": 82.5 + }, + { + "X": 92.1, + "Y": 9.4 + }, + { + "X": 77.4, + "Y": 76.3 + }, + { + "X": 50.5, + "Y": 5 + }, + { + "X": 33.7, + "Y": 63 + }, + { + "X": 14.8, + "Y": 88.4 + }, + { + "X": 31.3, + "Y": 67.9 + }, + { + "X": 65.4, + "Y": 89.3 + }, + { + "X": 43.2, + "Y": 74.9 + }, + { + "X": 85.4, + "Y": 7 + }, + { + "X": 87.8, + "Y": 11.3 + }, + { + "X": 22.7, + "Y": 1.9 + }, + { + "X": 6.1, + "Y": 76.1 + }, + { + "X": 99.7, + "Y": 42.1 + }, + { + "X": 98.7, + "Y": 40.8 + }, + { + "X": 61, + "Y": 16.5 + }, + { + "X": 22.1, + "Y": 8.7 + }, + { + "X": 36, + "Y": 1.3 + }, + { + "X": 8.7, + "Y": 94.2 + }, + { + "X": 32.3, + "Y": 93.1 + }, + { + "X": 98.6, + "Y": 11.2 + }, + { + "X": 17.9, + "Y": 60.5 + }, + { + "X": 14, + "Y": 62.1 + }, + { + "X": 37.4, + "Y": 84.4 + }, + { + "X": 14.3, + "Y": 1.3 + }, + { + "X": 45.3, + "Y": 0.6 + }, + { + "X": 31.9, + "Y": 43.8 + }, + { + "X": 24.5, + "Y": 24.3 + }, + { + "X": 17.9, + "Y": 49.1 + }, + { + "X": 59.8, + "Y": 18.1 + }, + { + "X": 46.5, + "Y": 5.7 + }, + { + "X": 20.6, + "Y": 3.8 + }, + { + "X": 24.9, + "Y": 14.8 + }, + { + "X": 80.7, + "Y": 31.9 + }, + { + "X": 91.5, + "Y": 67 + }, + { + "X": 42, + "Y": 32.2 + }, + { + "X": 71.8, + "Y": 40.4 + }, + { + "X": 15.1, + "Y": 84 + }, + { + "X": 15.3, + "Y": 8.6 + }, + { + "X": 55.9, + "Y": 84.9 + }, + { + "X": 2.2, + "Y": 35.9 + }, + { + "X": 4.1, + "Y": 13.1 + }, + { + "X": 8.6, + "Y": 24.4 + }, + { + "X": 0.8, + "Y": 88.3 + }, + { + "X": 21.7, + "Y": 5.4 + }, + { + "X": 29.4, + "Y": 23.5 + }, + { + "X": 67.5, + "Y": 4.2 + }, + { + "X": 69.4, + "Y": 46.7 + }, + { + "X": 9.4, + "Y": 22.2 + }, + { + "X": 1.3, + "Y": 22.4 + }, + { + "X": 65.4, + "Y": 4.5 + }, + { + "X": 23.8, + "Y": 82.6 + }, + { + "X": 54.7, + "Y": 74.6 + }, + { + "X": 97.1, + "Y": 48.4 + }, + { + "X": 38.5, + "Y": 55.8 + }, + { + "X": 12.3, + "Y": 45.4 + }, + { + "X": 46.6, + "Y": 61.3 + }, + { + "X": 20.5, + "Y": 36.6 + }, + { + "X": 74, + "Y": 53 + }, + { + "X": 68.1, + "Y": 10.2 + }, + { + "X": 10.2, + "Y": 50.3 + }, + { + "X": 78, + "Y": 92.4 + }, + { + "X": 74.7, + "Y": 26.1 + }, + { + "X": 30.8, + "Y": 61 + }, + { + "X": 1.6, + "Y": 23.3 + }, + { + "X": 75.6, + "Y": 50 + }, + { + "X": 44.8, + "Y": 36.9 + }, + { + "X": 66.7, + "Y": 4.3 + }, + { + "X": 12, + "Y": 68.4 + }, + { + "X": 2.9, + "Y": 42.9 + }, + { + "X": 29.5, + "Y": 50.3 + }, + { + "X": 39.2, + "Y": 94.3 + }, + { + "X": 0.2, + "Y": 41.4 + }, + { + "X": 66.1, + "Y": 24.5 + }, + { + "X": 79.4, + "Y": 70.2 + }, + { + "X": 17.7, + "Y": 64.4 + }, + { + "X": 96.9, + "Y": 70.9 + }, + { + "X": 23.1, + "Y": 79.9 + }, + { + "X": 15.7, + "Y": 5.7 + }, + { + "X": 71.5, + "Y": 67.9 + }, + { + "X": 0.7, + "Y": 68 + }, + { + "X": 46.5, + "Y": 89.4 + }, + { + "X": 58.4, + "Y": 50.6 + }, + { + "X": 58, + "Y": 55.5 + }, + { + "X": 62, + "Y": 97.4 + }, + { + "X": 92.4, + "Y": 47.2 + }, + { + "X": 12.8, + "Y": 42.6 + }, + { + "X": 98.3, + "Y": 10 + }, + { + "X": 51, + "Y": 36.1 + }, + { + "X": 5.5, + "Y": 84.2 + }, + { + "X": 21.6, + "Y": 54 + }, + { + "X": 6.2, + "Y": 29.3 + }, + { + "X": 37.3, + "Y": 24.2 + }, + { + "X": 23.9, + "Y": 84.4 + }, + { + "X": 11.2, + "Y": 30.1 + }, + { + "X": 17.6, + "Y": 22.5 + }, + { + "X": 20.9, + "Y": 44.5 + }, + { + "X": 59.4, + "Y": 2.9 + }, + { + "X": 85.5, + "Y": 0.2 + }, + { + "X": 39.5, + "Y": 40.8 + }, + { + "X": 9.1, + "Y": 12.3 + }, + { + "X": 35.5, + "Y": 75.8 + }, + { + "X": 91.3, + "Y": 57.5 + }, + { + "X": 78, + "Y": 21 + }, + { + "X": 51.8, + "Y": 26.8 + }, + { + "X": 73.9, + "Y": 59 + }, + { + "X": 41, + "Y": 85.6 + }, + { + "X": 68.4, + "Y": 68.2 + }, + { + "X": 95.5, + "Y": 38.6 + }, + { + "X": 1.9, + "Y": 46.3 + }, + { + "X": 91.2, + "Y": 62 + }, + { + "X": 24.9, + "Y": 92.1 + }, + { + "X": 53.3, + "Y": 23.2 + }, + { + "X": 44.3, + "Y": 77.9 + }, + { + "X": 26.1, + "Y": 3.7 + }, + { + "X": 3.2, + "Y": 33.8 + }, + { + "X": 38, + "Y": 0.1 + }, + { + "X": 13.1, + "Y": 29.4 + }, + { + "X": 86.4, + "Y": 11.7 + }, + { + "X": 32.2, + "Y": 93.8 + }, + { + "X": 8.3, + "Y": 75.8 + }, + { + "X": 42, + "Y": 63.4 + }, + { + "X": 7.8, + "Y": 54.7 + }, + { + "X": 21.2, + "Y": 11.1 + }, + { + "X": 97.3, + "Y": 92.8 + }, + { + "X": 9.4, + "Y": 65.9 + }, + { + "X": 24.2, + "Y": 44.3 + }, + { + "X": 90.6, + "Y": 20.6 + }, + { + "X": 18.5, + "Y": 58.9 + }, + { + "X": 21.9, + "Y": 45.1 + }, + { + "X": 64.5, + "Y": 94.7 + }, + { + "X": 43.4, + "Y": 89.5 + }, + { + "X": 16.1, + "Y": 74.6 + }, + { + "X": 20.7, + "Y": 98.7 + }, + { + "X": 40.1, + "Y": 74.9 + }, + { + "X": 60, + "Y": 26.8 + }, + { + "X": 10.3, + "Y": 39.5 + }, + { + "X": 19.7, + "Y": 0 + }, + { + "X": 23.3, + "Y": 33.3 + }, + { + "X": 35.8, + "Y": 36.4 + }, + { + "X": 38.5, + "Y": 4 + }, + { + "X": 26.3, + "Y": 66.1 + }, + { + "X": 85.3, + "Y": 11.6 + }, + { + "X": 13.8, + "Y": 40.8 + }, + { + "X": 7.4, + "Y": 94.7 + }, + { + "X": 50.7, + "Y": 13.3 + }, + { + "X": 91.3, + "Y": 85.4 + }, + { + "X": 47.5, + "Y": 97 + }, + { + "X": 22.5, + "Y": 38.9 + }, + { + "X": 3.2, + "Y": 45.4 + }, + { + "X": 18.4, + "Y": 24.6 + }, + { + "X": 29.7, + "Y": 81.6 + }, + { + "X": 98.4, + "Y": 86.4 + }, + { + "X": 98.6, + "Y": 74.1 + }, + { + "X": 99.8, + "Y": 9.1 + }, + { + "X": 89.6, + "Y": 18.6 + }, + { + "X": 96.6, + "Y": 13 + }, + { + "X": 31.2, + "Y": 79.2 + }, + { + "X": 22.8, + "Y": 32.3 + }, + { + "X": 76.7, + "Y": 41.5 + }, + { + "X": 81, + "Y": 58.8 + }, + { + "X": 49.4, + "Y": 52.7 + }, + { + "X": 6.1, + "Y": 3.2 + }, + { + "X": 91.4, + "Y": 74.7 + }, + { + "X": 40.3, + "Y": 99 + }, + { + "X": 52.5, + "Y": 65.9 + }, + { + "X": 92.5, + "Y": 86.7 + }, + { + "X": 44.4, + "Y": 42.4 + }, + { + "X": 56.7, + "Y": 21.2 + }, + { + "X": 78.7, + "Y": 38.8 + }, + { + "X": 1.9, + "Y": 60.9 + }, + { + "X": 45.6, + "Y": 71.8 + }, + { + "X": 32.7, + "Y": 99.5 + }, + { + "X": 28.6, + "Y": 79.7 + }, + { + "X": 66.5, + "Y": 82.5 + }, + { + "X": 60.3, + "Y": 29.8 + }, + { + "X": 27.2, + "Y": 61.7 + }, + { + "X": 61, + "Y": 58.2 + }, + { + "X": 70.6, + "Y": 89.3 + }, + { + "X": 21.4, + "Y": 55.5 + }, + { + "X": 28.9, + "Y": 69.4 + }, + { + "X": 59.8, + "Y": 99.8 + }, + { + "X": 29.3, + "Y": 51.8 + }, + { + "X": 52.2, + "Y": 98 + }, + { + "X": 27.4, + "Y": 45.6 + }, + { + "X": 85.6, + "Y": 29.6 + }, + { + "X": 72.6, + "Y": 41.6 + }, + { + "X": 87.8, + "Y": 40.8 + }, + { + "X": 4.7, + "Y": 98.3 + }, + { + "X": 65.6, + "Y": 91.2 + }, + { + "X": 53.1, + "Y": 84.8 + }, + { + "X": 93, + "Y": 64.9 + }, + { + "X": 55.5, + "Y": 76.7 + }, + { + "X": 16.6, + "Y": 51.9 + }, + { + "X": 25.7, + "Y": 42.7 + }, + { + "X": 11.7, + "Y": 37 + }, + { + "X": 33.7, + "Y": 53.8 + }, + { + "X": 92.8, + "Y": 41.9 + }, + { + "X": 18.5, + "Y": 4.3 + }, + { + "X": 0.5, + "Y": 11.1 + }, + { + "X": 76.8, + "Y": 34.7 + }, + { + "X": 56.6, + "Y": 6.6 + }, + { + "X": 80.8, + "Y": 21 + }, + { + "X": 18.6, + "Y": 94.3 + }, + { + "X": 56.7, + "Y": 81.3 + }, + { + "X": 9.9, + "Y": 34.3 + }, + { + "X": 59.8, + "Y": 93.6 + }, + { + "X": 20.8, + "Y": 46.3 + }, + { + "X": 6.4, + "Y": 88.3 + }, + { + "X": 9.2, + "Y": 45.6 + }, + { + "X": 72.5, + "Y": 97.8 + }, + { + "X": 53.4, + "Y": 83.1 + }, + { + "X": 6.9, + "Y": 86.2 + }, + { + "X": 78.4, + "Y": 60.4 + }, + { + "X": 78.9, + "Y": 31.1 + }, + { + "X": 23.7, + "Y": 42.7 + }, + { + "X": 22.9, + "Y": 23.4 + }, + { + "X": 56.7, + "Y": 35 + }, + { + "X": 34.6, + "Y": 77.3 + }, + { + "X": 75.3, + "Y": 15.8 + }, + { + "X": 51.1, + "Y": 27.1 + }, + { + "X": 84.6, + "Y": 96.8 + }, + { + "X": 14.5, + "Y": 26.2 + }, + { + "X": 66.5, + "Y": 13.3 + }, + { + "X": 86.5, + "Y": 8.7 + }, + { + "X": 62.3, + "Y": 89.5 + }, + { + "X": 73.9, + "Y": 56.6 + }, + { + "X": 76.9, + "Y": 40.6 + }, + { + "X": 75.4, + "Y": 25.6 + }, + { + "X": 94.4, + "Y": 71.9 + }, + { + "X": 19, + "Y": 7.7 + }, + { + "X": 31.3, + "Y": 76.5 + }, + { + "X": 9.1, + "Y": 15.4 + }, + { + "X": 54.4, + "Y": 14.6 + }, + { + "X": 16.2, + "Y": 97.3 + }, + { + "X": 33.6, + "Y": 23.6 + }, + { + "X": 58.3, + "Y": 54.1 + }, + { + "X": 1.2, + "Y": 36.7 + }, + { + "X": 55, + "Y": 81.8 + }, + { + "X": 67.3, + "Y": 24.4 + }, + { + "X": 37.9, + "Y": 3.3 + }, + { + "X": 79.6, + "Y": 76.4 + }, + { + "X": 25, + "Y": 55 + }, + { + "X": 35.8, + "Y": 18.9 + }, + { + "X": 15.2, + "Y": 28.5 + }, + { + "X": 40.1, + "Y": 100 + }, + { + "X": 96.2, + "Y": 14.8 + }, + { + "X": 69.1, + "Y": 45.7 + }, + { + "X": 35.8, + "Y": 23.1 + }, + { + "X": 79.9, + "Y": 57.1 + }, + { + "X": 46.8, + "Y": 17.6 + }, + { + "X": 57.8, + "Y": 40.3 + }, + { + "X": 53.7, + "Y": 56.5 + }, + { + "X": 53.5, + "Y": 30.1 + }, + { + "X": 16, + "Y": 49.4 + }, + { + "X": 99.9, + "Y": 34.5 + }, + { + "X": 0.8, + "Y": 4.3 + }, + { + "X": 50.6, + "Y": 91.3 + }, + { + "X": 47.5, + "Y": 80.3 + }, + { + "X": 94.7, + "Y": 10.7 + }, + { + "X": 25.1, + "Y": 79.9 + }, + { + "X": 91.7, + "Y": 57.1 + }, + { + "X": 32.9, + "Y": 75.3 + }, + { + "X": 80.9, + "Y": 84.3 + }, + { + "X": 78.5, + "Y": 76.8 + }, + { + "X": 66.6, + "Y": 7 + }, + { + "X": 42.7, + "Y": 1.5 + }, + { + "X": 19.9, + "Y": 65 + }, + { + "X": 80.2, + "Y": 87.4 + }, + { + "X": 67.6, + "Y": 70.7 + }, + { + "X": 35.7, + "Y": 80.4 + }, + { + "X": 63.7, + "Y": 49.1 + }, + { + "X": 56.3, + "Y": 65.4 + }, + { + "X": 66.1, + "Y": 77.7 + }, + { + "X": 68.7, + "Y": 61.9 + }, + { + "X": 33.8, + "Y": 93.1 + }, + { + "X": 53, + "Y": 96.4 + }, + { + "X": 62.6, + "Y": 67.2 + }, + { + "X": 8, + "Y": 34.6 + }, + { + "X": 34.4, + "Y": 94.9 + }, + { + "X": 49.3, + "Y": 69.5 + }, + { + "X": 55.5, + "Y": 45.9 + }, + { + "X": 5.7, + "Y": 88.1 + }, + { + "X": 7.1, + "Y": 22 + }, + { + "X": 54.6, + "Y": 99.1 + }, + { + "X": 90.3, + "Y": 56.3 + }, + { + "X": 87.4, + "Y": 22 + }, + { + "X": 69.3, + "Y": 84.6 + }, + { + "X": 90, + "Y": 86.4 + }, + { + "X": 11.4, + "Y": 79.3 + }, + { + "X": 64.1, + "Y": 87.6 + }, + { + "X": 87.5, + "Y": 60 + }, + { + "X": 85.4, + "Y": 33.1 + }, + { + "X": 9.5, + "Y": 37.8 + }, + { + "X": 34.2, + "Y": 16 + }, + { + "X": 88.6, + "Y": 19.7 + }, + { + "X": 25.5, + "Y": 30.7 + }, + { + "X": 70.1, + "Y": 18.7 + }, + { + "X": 7.6, + "Y": 89.8 + }, + { + "X": 67.9, + "Y": 96.2 + }, + { + "X": 16, + "Y": 40.5 + }, + { + "X": 48.2, + "Y": 31.8 + }, + { + "X": 6.7, + "Y": 32.7 + }, + { + "X": 73.4, + "Y": 58.3 + }, + { + "X": 61.3, + "Y": 47.5 + }, + { + "X": 93.3, + "Y": 55.8 + }, + { + "X": 69.5, + "Y": 20.7 + }, + { + "X": 38.6, + "Y": 56.3 + }, + { + "X": 5.9, + "Y": 75.9 + }, + { + "X": 56.4, + "Y": 15.5 + }, + { + "X": 67.5, + "Y": 94.7 + }, + { + "X": 58.1, + "Y": 17 + }, + { + "X": 56.8, + "Y": 48.1 + }, + { + "X": 31.1, + "Y": 0.2 + }, + { + "X": 26.2, + "Y": 21.9 + }, + { + "X": 22.7, + "Y": 35.5 + }, + { + "X": 99.1, + "Y": 24.8 + }, + { + "X": 45.6, + "Y": 20.6 + }, + { + "X": 33.8, + "Y": 48.9 + }, + { + "X": 5.4, + "Y": 81.4 + }, + { + "X": 64, + "Y": 95.7 + }, + { + "X": 24.3, + "Y": 54.4 + }, + { + "X": 97.8, + "Y": 78.3 + }, + { + "X": 61.6, + "Y": 20.1 + }, + { + "X": 65.8, + "Y": 9.2 + }, + { + "X": 39.9, + "Y": 42.8 + }, + { + "X": 51.5, + "Y": 82.4 + }, + { + "X": 26.1, + "Y": 76.4 + }, + { + "X": 75.6, + "Y": 4.7 + }, + { + "X": 10.5, + "Y": 7.4 + }, + { + "X": 84.4, + "Y": 95.5 + }, + { + "X": 84.9, + "Y": 12.1 + }, + { + "X": 93, + "Y": 76.9 + }, + { + "X": 77.8, + "Y": 6.8 + }, + { + "X": 10.5, + "Y": 74.7 + }, + { + "X": 47.8, + "Y": 74.3 + }, + { + "X": 11.8, + "Y": 39.4 + }, + { + "X": 82.2, + "Y": 88.2 + }, + { + "X": 18, + "Y": 31 + }, + { + "X": 2.6, + "Y": 73.3 + }, + { + "X": 38.8, + "Y": 89.1 + }, + { + "X": 1, + "Y": 98.3 + }, + { + "X": 88.2, + "Y": 84 + }, + { + "X": 53, + "Y": 94.2 + }, + { + "X": 93.8, + "Y": 29.7 + }, + { + "X": 58.3, + "Y": 7.4 + }, + { + "X": 28.5, + "Y": 84.9 + }, + { + "X": 62.7, + "Y": 9.1 + }, + { + "X": 61.4, + "Y": 45.1 + }, + { + "X": 66.2, + "Y": 67.4 + }, + { + "X": 7, + "Y": 85.3 + }, + { + "X": 23.7, + "Y": 37.2 + }, + { + "X": 13.2, + "Y": 66.9 + }, + { + "X": 94.7, + "Y": 39.1 + }, + { + "X": 89.1, + "Y": 75.9 + }, + { + "X": 36, + "Y": 98.2 + }, + { + "X": 25.6, + "Y": 26.1 + }, + { + "X": 69.2, + "Y": 37.5 + }, + { + "X": 20.6, + "Y": 86.9 + }, + { + "X": 6.8, + "Y": 5.7 + }, + { + "X": 76.9, + "Y": 16 + }, + { + "X": 42, + "Y": 82.9 + }, + { + "X": 88.4, + "Y": 84.2 + }, + { + "X": 90.7, + "Y": 82.6 + }, + { + "X": 92.8, + "Y": 97.4 + }, + { + "X": 75.2, + "Y": 57.9 + }, + { + "X": 31.2, + "Y": 65.7 + }, + { + "X": 18.5, + "Y": 0.2 + }, + { + "X": 95, + "Y": 48 + }, + { + "X": 30.4, + "Y": 63.9 + }, + { + "X": 26.1, + "Y": 14.1 + }, + { + "X": 10.1, + "Y": 71.8 + }, + { + "X": 22.9, + "Y": 42.4 + }, + { + "X": 96.7, + "Y": 85 + }, + { + "X": 88.8, + "Y": 30.2 + }, + { + "X": 96.4, + "Y": 96.2 + }, + { + "X": 13.9, + "Y": 53.5 + }, + { + "X": 35.8, + "Y": 77.4 + }, + { + "X": 76.8, + "Y": 72.6 + }, + { + "X": 11.2, + "Y": 60 + }, + { + "X": 7.2, + "Y": 65.3 + }, + { + "X": 7.8, + "Y": 56 + }, + { + "X": 63.3, + "Y": 38.6 + }, + { + "X": 75.3, + "Y": 18.1 + }, + { + "X": 11, + "Y": 0.9 + }, + { + "X": 77.6, + "Y": 33.7 + }, + { + "X": 99, + "Y": 86.7 + }, + { + "X": 43.4, + "Y": 67.5 + }, + { + "X": 96.8, + "Y": 29.4 + }, + { + "X": 19.2, + "Y": 24.4 + }, + { + "X": 87.9, + "Y": 23.9 + }, + { + "X": 25.6, + "Y": 53.4 + }, + { + "X": 77.1, + "Y": 7.4 + }, + { + "X": 90.5, + "Y": 82.3 + }, + { + "X": 3.1, + "Y": 65.7 + }, + { + "X": 5.2, + "Y": 88.1 + }, + { + "X": 90.5, + "Y": 67.4 + }, + { + "X": 9.5, + "Y": 92.9 + }, + { + "X": 2.1, + "Y": 48.9 + }, + { + "X": 1.8, + "Y": 91.4 + }, + { + "X": 40.7, + "Y": 84.7 + }, + { + "X": 75.5, + "Y": 72.7 + }, + { + "X": 34.4, + "Y": 31.8 + }, + { + "X": 86.5, + "Y": 3.6 + }, + { + "X": 8.3, + "Y": 25.7 + }, + { + "X": 49.6, + "Y": 98 + }, + { + "X": 76.9, + "Y": 9.6 + }, + { + "X": 60.9, + "Y": 41.2 + }, + { + "X": 66.1, + "Y": 91.3 + }, + { + "X": 8, + "Y": 68.4 + }, + { + "X": 89.7, + "Y": 91 + }, + { + "X": 91.8, + "Y": 25.8 + }, + { + "X": 21.8, + "Y": 86.9 + }, + { + "X": 43.4, + "Y": 48.6 + }, + { + "X": 28.4, + "Y": 70.2 + }, + { + "X": 61.7, + "Y": 89.1 + }, + { + "X": 6.8, + "Y": 37.4 + }, + { + "X": 10.2, + "Y": 22 + }, + { + "X": 41.9, + "Y": 16.4 + }, + { + "X": 48.3, + "Y": 52.5 + }, + { + "X": 35.9, + "Y": 76.5 + }, + { + "X": 46.8, + "Y": 87.6 + }, + { + "X": 27, + "Y": 32.3 + }, + { + "X": 75.9, + "Y": 28.1 + }, + { + "X": 28.1, + "Y": 92.1 + }, + { + "X": 78.8, + "Y": 88.1 + }, + { + "X": 94.9, + "Y": 16.1 + }, + { + "X": 5, + "Y": 40.7 + }, + { + "X": 22.2, + "Y": 24.6 + }, + { + "X": 6, + "Y": 73.8 + }, + { + "X": 91.6, + "Y": 15.2 + }, + { + "X": 71.7, + "Y": 57.8 + }, + { + "X": 8.2, + "Y": 40.8 + }, + { + "X": 83.1, + "Y": 74 + }, + { + "X": 47, + "Y": 69.7 + }, + { + "X": 44.4, + "Y": 66.8 + }, + { + "X": 25.1, + "Y": 65.1 + }, + { + "X": 21.9, + "Y": 18.1 + }, + { + "X": 1.6, + "Y": 27.5 + }, + { + "X": 99.3, + "Y": 64.5 + }, + { + "X": 46.9, + "Y": 11.7 + }, + { + "X": 26.3, + "Y": 17.9 + }, + { + "X": 73.4, + "Y": 10.3 + }, + { + "X": 91.7, + "Y": 97.3 + }, + { + "X": 30.8, + "Y": 52.1 + }, + { + "X": 22.9, + "Y": 49.6 + }, + { + "X": 53.1, + "Y": 93.1 + }, + { + "X": 9.2, + "Y": 19.4 + }, + { + "X": 64.2, + "Y": 43.2 + }, + { + "X": 77.8, + "Y": 5.6 + }, + { + "X": 31.3, + "Y": 85.7 + }, + { + "X": 45.9, + "Y": 30 + }, + { + "X": 88.3, + "Y": 91.1 + }, + { + "X": 82.2, + "Y": 68.2 + }, + { + "X": 86.7, + "Y": 14.5 + }, + { + "X": 82.3, + "Y": 90.8 + }, + { + "X": 46.4, + "Y": 13.7 + }, + { + "X": 70.7, + "Y": 61.6 + }, + { + "X": 70.3, + "Y": 68.2 + }, + { + "X": 88.9, + "Y": 30.1 + }, + { + "X": 85.5, + "Y": 7.5 + }, + { + "X": 36.7, + "Y": 51.6 + }, + { + "X": 98, + "Y": 90.6 + }, + { + "X": 46.1, + "Y": 92.5 + }, + { + "X": 63, + "Y": 98 + }, + { + "X": 57.4, + "Y": 41.7 + }, + { + "X": 88.5, + "Y": 79.3 + }, + { + "X": 29.4, + "Y": 30.8 + }, + { + "X": 61.7, + "Y": 14.6 + }, + { + "X": 81.1, + "Y": 72 + }, + { + "X": 37.5, + "Y": 98 + }, + { + "X": 71.7, + "Y": 45.5 + }, + { + "X": 45.6, + "Y": 97.3 + }, + { + "X": 6.2, + "Y": 76.9 + }, + { + "X": 44.3, + "Y": 8.3 + }, + { + "X": 55.8, + "Y": 63.6 + }, + { + "X": 83, + "Y": 36.2 + }, + { + "X": 37.6, + "Y": 27.3 + }, + { + "X": 66, + "Y": 58.1 + }, + { + "X": 64.2, + "Y": 66.7 + }, + { + "X": 6.6, + "Y": 1.2 + }, + { + "X": 17.2, + "Y": 13.9 + }, + { + "X": 38.1, + "Y": 65.3 + }, + { + "X": 92.1, + "Y": 74.3 + }, + { + "X": 2.8, + "Y": 91.7 + }, + { + "X": 48.9, + "Y": 0.2 + }, + { + "X": 63.9, + "Y": 85.7 + }, + { + "X": 61.7, + "Y": 52 + }, + { + "X": 4, + "Y": 30.1 + }, + { + "X": 40.4, + "Y": 24.4 + }, + { + "X": 74.7, + "Y": 87.6 + }, + { + "X": 21.8, + "Y": 64.6 + }, + { + "X": 48.6, + "Y": 92.4 + }, + { + "X": 1.6, + "Y": 81.7 + }, + { + "X": 65.4, + "Y": 3.7 + }, + { + "X": 0.3, + "Y": 42.6 + }, + { + "X": 87.4, + "Y": 21.9 + }, + { + "X": 76.9, + "Y": 45.5 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/11-card182.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/11-card182.flint.json new file mode 100644 index 00000000..539c4519 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/11-card182.flint.json @@ -0,0 +1,1023 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 52.7, + "Y": 60.1, + "Segment": "Electronics" + }, + { + "X": 72.4, + "Y": 66, + "Segment": "Clothing" + }, + { + "X": 90.5, + "Y": 76.8, + "Segment": "Food" + }, + { + "X": 26.8, + "Y": 70.6, + "Segment": "Books" + }, + { + "X": 7.3, + "Y": 26.6, + "Segment": "Sports" + }, + { + "X": 87, + "Y": 57.4, + "Segment": "Home" + }, + { + "X": 24.6, + "Y": 4.1, + "Segment": "Garden" + }, + { + "X": 65.2, + "Y": 40.1, + "Segment": "Auto" + }, + { + "X": 36.6, + "Y": 58, + "Segment": "Health" + }, + { + "X": 8.8, + "Y": 58.4, + "Segment": "Beauty" + }, + { + "X": 72.5, + "Y": 17.8, + "Segment": "Toys" + }, + { + "X": 16.4, + "Y": 83.9, + "Segment": "Music" + }, + { + "X": 43, + "Y": 76.9, + "Segment": "Movies" + }, + { + "X": 57.7, + "Y": 4, + "Segment": "Software" + }, + { + "X": 8.4, + "Y": 65.8, + "Segment": "Games" + }, + { + "X": 24.5, + "Y": 84.7, + "Segment": "Office" + }, + { + "X": 32.7, + "Y": 60.9, + "Segment": "Pet" + }, + { + "X": 68.2, + "Y": 7.5, + "Segment": "Baby" + }, + { + "X": 73, + "Y": 53.9, + "Segment": "Tools" + }, + { + "X": 84.2, + "Y": 36.5, + "Segment": "Crafts" + }, + { + "X": 80.6, + "Y": 74.7, + "Segment": "Electronics" + }, + { + "X": 60.1, + "Y": 94.8, + "Segment": "Clothing" + }, + { + "X": 18, + "Y": 82.7, + "Segment": "Food" + }, + { + "X": 9.5, + "Y": 61.8, + "Segment": "Books" + }, + { + "X": 49.9, + "Y": 50.3, + "Segment": "Sports" + }, + { + "X": 50.4, + "Y": 92.9, + "Segment": "Home" + }, + { + "X": 53.3, + "Y": 88.7, + "Segment": "Garden" + }, + { + "X": 95.6, + "Y": 57.4, + "Segment": "Auto" + }, + { + "X": 20.6, + "Y": 6.9, + "Segment": "Health" + }, + { + "X": 56.5, + "Y": 25.8, + "Segment": "Beauty" + }, + { + "X": 59, + "Y": 76.7, + "Segment": "Toys" + }, + { + "X": 56.5, + "Y": 31.7, + "Segment": "Music" + }, + { + "X": 50.7, + "Y": 33.3, + "Segment": "Movies" + }, + { + "X": 44.8, + "Y": 25.8, + "Segment": "Software" + }, + { + "X": 43.4, + "Y": 89.4, + "Segment": "Games" + }, + { + "X": 34.1, + "Y": 3.6, + "Segment": "Office" + }, + { + "X": 47.2, + "Y": 4.2, + "Segment": "Pet" + }, + { + "X": 17.6, + "Y": 26.9, + "Segment": "Baby" + }, + { + "X": 46.7, + "Y": 63.6, + "Segment": "Tools" + }, + { + "X": 46.9, + "Y": 79, + "Segment": "Crafts" + }, + { + "X": 94.7, + "Y": 96.1, + "Segment": "Electronics" + }, + { + "X": 59.1, + "Y": 87.1, + "Segment": "Clothing" + }, + { + "X": 13.2, + "Y": 56.2, + "Segment": "Food" + }, + { + "X": 14.9, + "Y": 2.1, + "Segment": "Books" + }, + { + "X": 9.6, + "Y": 94.5, + "Segment": "Sports" + }, + { + "X": 52.4, + "Y": 10.3, + "Segment": "Home" + }, + { + "X": 76.9, + "Y": 99.6, + "Segment": "Garden" + }, + { + "X": 24.5, + "Y": 4.9, + "Segment": "Auto" + }, + { + "X": 10, + "Y": 20, + "Segment": "Health" + }, + { + "X": 4.9, + "Y": 85.9, + "Segment": "Beauty" + }, + { + "X": 24.5, + "Y": 95.5, + "Segment": "Toys" + }, + { + "X": 18.2, + "Y": 64.8, + "Segment": "Music" + }, + { + "X": 36.9, + "Y": 42.8, + "Segment": "Movies" + }, + { + "X": 10.5, + "Y": 12.1, + "Segment": "Software" + }, + { + "X": 15.8, + "Y": 61.5, + "Segment": "Games" + }, + { + "X": 22.5, + "Y": 60, + "Segment": "Office" + }, + { + "X": 46, + "Y": 73.6, + "Segment": "Pet" + }, + { + "X": 33.9, + "Y": 60.3, + "Segment": "Baby" + }, + { + "X": 29.5, + "Y": 89.5, + "Segment": "Tools" + }, + { + "X": 30.2, + "Y": 16.8, + "Segment": "Crafts" + }, + { + "X": 18.4, + "Y": 85.6, + "Segment": "Electronics" + }, + { + "X": 53.7, + "Y": 78.2, + "Segment": "Clothing" + }, + { + "X": 87.5, + "Y": 29.2, + "Segment": "Food" + }, + { + "X": 31.6, + "Y": 3.4, + "Segment": "Books" + }, + { + "X": 2.7, + "Y": 75.3, + "Segment": "Sports" + }, + { + "X": 75.4, + "Y": 21.6, + "Segment": "Home" + }, + { + "X": 21.5, + "Y": 47.1, + "Segment": "Garden" + }, + { + "X": 86, + "Y": 4.2, + "Segment": "Auto" + }, + { + "X": 70, + "Y": 24.2, + "Segment": "Health" + }, + { + "X": 54, + "Y": 71.1, + "Segment": "Beauty" + }, + { + "X": 55.6, + "Y": 33.8, + "Segment": "Toys" + }, + { + "X": 64.3, + "Y": 28.7, + "Segment": "Music" + }, + { + "X": 29.9, + "Y": 74.1, + "Segment": "Movies" + }, + { + "X": 46.2, + "Y": 82.4, + "Segment": "Software" + }, + { + "X": 88.4, + "Y": 91.6, + "Segment": "Games" + }, + { + "X": 98.5, + "Y": 66.6, + "Segment": "Office" + }, + { + "X": 53.7, + "Y": 84.3, + "Segment": "Pet" + }, + { + "X": 45.1, + "Y": 30, + "Segment": "Baby" + }, + { + "X": 62.4, + "Y": 71.6, + "Segment": "Tools" + }, + { + "X": 48.4, + "Y": 10.1, + "Segment": "Crafts" + }, + { + "X": 92.1, + "Y": 65.5, + "Segment": "Electronics" + }, + { + "X": 93.2, + "Y": 91.3, + "Segment": "Clothing" + }, + { + "X": 3.4, + "Y": 45.9, + "Segment": "Food" + }, + { + "X": 31.6, + "Y": 9, + "Segment": "Books" + }, + { + "X": 8.2, + "Y": 93.1, + "Segment": "Sports" + }, + { + "X": 85.2, + "Y": 67.3, + "Segment": "Home" + }, + { + "X": 83.2, + "Y": 86.1, + "Segment": "Garden" + }, + { + "X": 87.6, + "Y": 27.6, + "Segment": "Auto" + }, + { + "X": 44.9, + "Y": 94.9, + "Segment": "Health" + }, + { + "X": 51.2, + "Y": 86.7, + "Segment": "Beauty" + }, + { + "X": 91.6, + "Y": 12.1, + "Segment": "Toys" + }, + { + "X": 48.2, + "Y": 82.1, + "Segment": "Music" + }, + { + "X": 46.9, + "Y": 79.2, + "Segment": "Movies" + }, + { + "X": 74, + "Y": 56.5, + "Segment": "Software" + }, + { + "X": 36.5, + "Y": 71.7, + "Segment": "Games" + }, + { + "X": 72.1, + "Y": 88.6, + "Segment": "Office" + }, + { + "X": 62.5, + "Y": 13.6, + "Segment": "Pet" + }, + { + "X": 30.9, + "Y": 55.7, + "Segment": "Baby" + }, + { + "X": 48.6, + "Y": 67.2, + "Segment": "Tools" + }, + { + "X": 74.9, + "Y": 25, + "Segment": "Crafts" + }, + { + "X": 93.7, + "Y": 92.2, + "Segment": "Electronics" + }, + { + "X": 27.1, + "Y": 91.8, + "Segment": "Clothing" + }, + { + "X": 79.5, + "Y": 76.9, + "Segment": "Food" + }, + { + "X": 52.3, + "Y": 50.7, + "Segment": "Books" + }, + { + "X": 83.1, + "Y": 19, + "Segment": "Sports" + }, + { + "X": 66.7, + "Y": 81.7, + "Segment": "Home" + }, + { + "X": 17.7, + "Y": 48.7, + "Segment": "Garden" + }, + { + "X": 59.5, + "Y": 66.9, + "Segment": "Auto" + }, + { + "X": 45.5, + "Y": 66.8, + "Segment": "Health" + }, + { + "X": 94.1, + "Y": 88.9, + "Segment": "Beauty" + }, + { + "X": 57.8, + "Y": 23.7, + "Segment": "Toys" + }, + { + "X": 47.6, + "Y": 6.9, + "Segment": "Music" + }, + { + "X": 49.8, + "Y": 68.7, + "Segment": "Movies" + }, + { + "X": 38.4, + "Y": 17.6, + "Segment": "Software" + }, + { + "X": 81.8, + "Y": 33.5, + "Segment": "Games" + }, + { + "X": 18.4, + "Y": 45.5, + "Segment": "Office" + }, + { + "X": 82.6, + "Y": 11.8, + "Segment": "Pet" + }, + { + "X": 45.6, + "Y": 9.6, + "Segment": "Baby" + }, + { + "X": 21.3, + "Y": 53, + "Segment": "Tools" + }, + { + "X": 77.5, + "Y": 22.4, + "Segment": "Crafts" + }, + { + "X": 44.4, + "Y": 12.6, + "Segment": "Electronics" + }, + { + "X": 97.1, + "Y": 53.3, + "Segment": "Clothing" + }, + { + "X": 7.1, + "Y": 82.1, + "Segment": "Food" + }, + { + "X": 53.8, + "Y": 12, + "Segment": "Books" + }, + { + "X": 48, + "Y": 9.2, + "Segment": "Sports" + }, + { + "X": 6, + "Y": 75.6, + "Segment": "Home" + }, + { + "X": 77.3, + "Y": 98.9, + "Segment": "Garden" + }, + { + "X": 93.2, + "Y": 55.9, + "Segment": "Auto" + }, + { + "X": 41.5, + "Y": 9.7, + "Segment": "Health" + }, + { + "X": 19.6, + "Y": 45.5, + "Segment": "Beauty" + }, + { + "X": 15.6, + "Y": 22.3, + "Segment": "Toys" + }, + { + "X": 70.3, + "Y": 87, + "Segment": "Music" + }, + { + "X": 78.1, + "Y": 54.5, + "Segment": "Movies" + }, + { + "X": 8.7, + "Y": 45.3, + "Segment": "Software" + }, + { + "X": 68.6, + "Y": 50.8, + "Segment": "Games" + }, + { + "X": 28, + "Y": 97.7, + "Segment": "Office" + }, + { + "X": 62.3, + "Y": 75.2, + "Segment": "Pet" + }, + { + "X": 5.2, + "Y": 46.7, + "Segment": "Baby" + }, + { + "X": 74.3, + "Y": 52.7, + "Segment": "Tools" + }, + { + "X": 77.4, + "Y": 84.7, + "Segment": "Crafts" + }, + { + "X": 41, + "Y": 67.6, + "Segment": "Electronics" + }, + { + "X": 59.1, + "Y": 62.1, + "Segment": "Clothing" + }, + { + "X": 52.8, + "Y": 89.3, + "Segment": "Food" + }, + { + "X": 82.8, + "Y": 98.6, + "Segment": "Books" + }, + { + "X": 16.3, + "Y": 61.6, + "Segment": "Sports" + }, + { + "X": 23.5, + "Y": 26.6, + "Segment": "Home" + }, + { + "X": 33.4, + "Y": 88.1, + "Segment": "Garden" + }, + { + "X": 6.3, + "Y": 0.1, + "Segment": "Auto" + }, + { + "X": 47.9, + "Y": 77, + "Segment": "Health" + }, + { + "X": 17.9, + "Y": 49.1, + "Segment": "Beauty" + }, + { + "X": 82.5, + "Y": 80.8, + "Segment": "Toys" + }, + { + "X": 95.5, + "Y": 44.6, + "Segment": "Music" + }, + { + "X": 93.5, + "Y": 94.6, + "Segment": "Movies" + }, + { + "X": 57.5, + "Y": 91, + "Segment": "Software" + }, + { + "X": 16.5, + "Y": 82, + "Segment": "Games" + }, + { + "X": 85.1, + "Y": 51.9, + "Segment": "Office" + }, + { + "X": 49, + "Y": 42.4, + "Segment": "Pet" + }, + { + "X": 72.4, + "Y": 98.2, + "Segment": "Baby" + }, + { + "X": 32.7, + "Y": 22, + "Segment": "Tools" + }, + { + "X": 10.3, + "Y": 23.6, + "Segment": "Crafts" + }, + { + "X": 46.6, + "Y": 36.8, + "Segment": "Electronics" + }, + { + "X": 20, + "Y": 89.6, + "Segment": "Clothing" + }, + { + "X": 95.6, + "Y": 83.6, + "Segment": "Food" + }, + { + "X": 45, + "Y": 67.8, + "Segment": "Books" + }, + { + "X": 27.9, + "Y": 13.5, + "Segment": "Sports" + }, + { + "X": 37.2, + "Y": 91.5, + "Segment": "Home" + }, + { + "X": 12, + "Y": 89.5, + "Segment": "Garden" + }, + { + "X": 87.7, + "Y": 12, + "Segment": "Auto" + }, + { + "X": 88.5, + "Y": 72.4, + "Segment": "Health" + }, + { + "X": 83.2, + "Y": 93.4, + "Segment": "Beauty" + }, + { + "X": 75.9, + "Y": 37, + "Segment": "Toys" + }, + { + "X": 21.1, + "Y": 50.9, + "Segment": "Music" + }, + { + "X": 64.9, + "Y": 19.9, + "Segment": "Movies" + }, + { + "X": 86, + "Y": 38.7, + "Segment": "Software" + }, + { + "X": 91.4, + "Y": 27.8, + "Segment": "Games" + }, + { + "X": 52.9, + "Y": 85.5, + "Segment": "Office" + }, + { + "X": 67.2, + "Y": 57.2, + "Segment": "Pet" + }, + { + "X": 2, + "Y": 66.9, + "Segment": "Baby" + }, + { + "X": 2.3, + "Y": 18.7, + "Segment": "Tools" + }, + { + "X": 80.7, + "Y": 73.5, + "Segment": "Crafts" + }, + { + "X": 99, + "Y": 67.1, + "Segment": "Electronics" + }, + { + "X": 9.6, + "Y": 35.9, + "Segment": "Clothing" + }, + { + "X": 46.5, + "Y": 48.4, + "Segment": "Food" + }, + { + "X": 31.5, + "Y": 95.5, + "Segment": "Books" + }, + { + "X": 16.6, + "Y": 59, + "Segment": "Sports" + }, + { + "X": 81.1, + "Y": 29.1, + "Segment": "Home" + }, + { + "X": 1.4, + "Y": 59.3, + "Segment": "Garden" + }, + { + "X": 2.2, + "Y": 11.7, + "Segment": "Auto" + }, + { + "X": 35.2, + "Y": 15.4, + "Segment": "Health" + }, + { + "X": 60.9, + "Y": 10.8, + "Segment": "Beauty" + }, + { + "X": 80.2, + "Y": 40.8, + "Segment": "Toys" + }, + { + "X": 2, + "Y": 85.1, + "Segment": "Music" + }, + { + "X": 31.6, + "Y": 26.4, + "Segment": "Movies" + }, + { + "X": 64.2, + "Y": 65.7, + "Segment": "Software" + }, + { + "X": 19, + "Y": 51.9, + "Segment": "Games" + }, + { + "X": 51, + "Y": 27.5, + "Segment": "Office" + }, + { + "X": 5.7, + "Y": 10.3, + "Segment": "Pet" + }, + { + "X": 48.2, + "Y": 42.3, + "Segment": "Baby" + }, + { + "X": 35.4, + "Y": 25.8, + "Segment": "Tools" + }, + { + "X": 83.6, + "Y": 6, + "Segment": "Crafts" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/12-card96.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/12-card96.flint.json new file mode 100644 index 00000000..0cd56cb6 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/12-card96.flint.json @@ -0,0 +1,523 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 68.8, + "Y": 7.6, + "Segment": "James Walker" + }, + { + "X": 53.3, + "Y": 78.7, + "Segment": "Paul Wilson" + }, + { + "X": 73.8, + "Y": 84.1, + "Segment": "Jessica Martin" + }, + { + "X": 77.4, + "Y": 71.9, + "Segment": "Christopher Moore" + }, + { + "X": 11.6, + "Y": 45.9, + "Segment": "Betty Wilson" + }, + { + "X": 81.3, + "Y": 14.2, + "Segment": "Steven Lewis" + }, + { + "X": 24.9, + "Y": 46.6, + "Segment": "Karen Lopez" + }, + { + "X": 96.8, + "Y": 13.4, + "Segment": "Sandra Wright" + }, + { + "X": 74.6, + "Y": 40.1, + "Segment": "Daniel King" + }, + { + "X": 15, + "Y": 58.7, + "Segment": "Mark Taylor" + }, + { + "X": 47.1, + "Y": 37.9, + "Segment": "Sandra Thomas" + }, + { + "X": 82.3, + "Y": 34.1, + "Segment": "Karen Rodriguez" + }, + { + "X": 22.5, + "Y": 67.5, + "Segment": "Patricia Jackson" + }, + { + "X": 39.1, + "Y": 98.2, + "Segment": "Donna Hill" + }, + { + "X": 91.6, + "Y": 27.6, + "Segment": "Donna White" + }, + { + "X": 56.2, + "Y": 20.6, + "Segment": "Michael Brown" + }, + { + "X": 48.6, + "Y": 99.3, + "Segment": "Elizabeth Robinson" + }, + { + "X": 19, + "Y": 20.1, + "Segment": "Mary Jones" + }, + { + "X": 66.7, + "Y": 55.8, + "Segment": "Richard Rodriguez" + }, + { + "X": 81.5, + "Y": 32.4, + "Segment": "Christopher Clark" + }, + { + "X": 71.9, + "Y": 29.2, + "Segment": "Christopher Lopez" + }, + { + "X": 21.4, + "Y": 13.5, + "Segment": "Susan Ramirez" + }, + { + "X": 1.5, + "Y": 34.9, + "Segment": "Steven Wilson" + }, + { + "X": 3.5, + "Y": 97.8, + "Segment": "Paul Anderson" + }, + { + "X": 21.1, + "Y": 63, + "Segment": "Joseph Rodriguez" + }, + { + "X": 0.9, + "Y": 5.3, + "Segment": "Elizabeth Wright" + }, + { + "X": 69, + "Y": 64.3, + "Segment": "Kimberly Jackson" + }, + { + "X": 22.8, + "Y": 75.6, + "Segment": "Betty Hernandez" + }, + { + "X": 65.6, + "Y": 48.9, + "Segment": "David King" + }, + { + "X": 61.9, + "Y": 78.3, + "Segment": "Matthew Lopez" + }, + { + "X": 97.9, + "Y": 33.2, + "Segment": "Susan Hernandez" + }, + { + "X": 53.8, + "Y": 84.1, + "Segment": "Jennifer Lee" + }, + { + "X": 58.4, + "Y": 52.5, + "Segment": "Richard Flores" + }, + { + "X": 25.3, + "Y": 59.1, + "Segment": "John Anderson" + }, + { + "X": 70.7, + "Y": 16, + "Segment": "Kimberly Wright" + }, + { + "X": 28.6, + "Y": 73.7, + "Segment": "Joseph Williams" + }, + { + "X": 38.3, + "Y": 2.8, + "Segment": "Lisa Torres" + }, + { + "X": 25.6, + "Y": 17.4, + "Segment": "Andrew Rodriguez" + }, + { + "X": 9.4, + "Y": 8.3, + "Segment": "Karen Johnson" + }, + { + "X": 27.4, + "Y": 25.4, + "Segment": "Steven Jones" + }, + { + "X": 31.6, + "Y": 77.2, + "Segment": "Joshua Ramirez" + }, + { + "X": 66.3, + "Y": 7.6, + "Segment": "Emily Martinez" + }, + { + "X": 5.8, + "Y": 81.7, + "Segment": "Robert Walker" + }, + { + "X": 21.2, + "Y": 17.9, + "Segment": "Robert Lewis" + }, + { + "X": 52.7, + "Y": 97.3, + "Segment": "Sandra Lopez" + }, + { + "X": 44.3, + "Y": 82.1, + "Segment": "Nancy Miller" + }, + { + "X": 18.1, + "Y": 57.5, + "Segment": "Christopher Sanchez" + }, + { + "X": 38.5, + "Y": 99.1, + "Segment": "Daniel Flores" + }, + { + "X": 35.8, + "Y": 76.5, + "Segment": "Mary Walker" + }, + { + "X": 96.4, + "Y": 74.4, + "Segment": "Anthony Ramirez" + }, + { + "X": 87.3, + "Y": 22.1, + "Segment": "James Walker" + }, + { + "X": 6.8, + "Y": 2.2, + "Segment": "Paul Wilson" + }, + { + "X": 8.2, + "Y": 56.2, + "Segment": "Jessica Martin" + }, + { + "X": 95.8, + "Y": 73, + "Segment": "Christopher Moore" + }, + { + "X": 34.2, + "Y": 10.5, + "Segment": "Betty Wilson" + }, + { + "X": 68.1, + "Y": 76.5, + "Segment": "Steven Lewis" + }, + { + "X": 80.4, + "Y": 21, + "Segment": "Karen Lopez" + }, + { + "X": 71.5, + "Y": 44.6, + "Segment": "Sandra Wright" + }, + { + "X": 78.7, + "Y": 78.4, + "Segment": "Daniel King" + }, + { + "X": 1.5, + "Y": 3.8, + "Segment": "Mark Taylor" + }, + { + "X": 28.1, + "Y": 53.6, + "Segment": "Sandra Thomas" + }, + { + "X": 63.3, + "Y": 87.6, + "Segment": "Karen Rodriguez" + }, + { + "X": 95, + "Y": 30.9, + "Segment": "Patricia Jackson" + }, + { + "X": 53.7, + "Y": 48.2, + "Segment": "Donna Hill" + }, + { + "X": 74.6, + "Y": 62.4, + "Segment": "Donna White" + }, + { + "X": 93.2, + "Y": 25.7, + "Segment": "Michael Brown" + }, + { + "X": 20.7, + "Y": 78.1, + "Segment": "Elizabeth Robinson" + }, + { + "X": 30.4, + "Y": 17.6, + "Segment": "Mary Jones" + }, + { + "X": 3.2, + "Y": 10.2, + "Segment": "Richard Rodriguez" + }, + { + "X": 16.9, + "Y": 21.3, + "Segment": "Christopher Clark" + }, + { + "X": 5.9, + "Y": 65.8, + "Segment": "Christopher Lopez" + }, + { + "X": 63.2, + "Y": 76.9, + "Segment": "Susan Ramirez" + }, + { + "X": 70.7, + "Y": 29.1, + "Segment": "Steven Wilson" + }, + { + "X": 82.9, + "Y": 88.3, + "Segment": "Paul Anderson" + }, + { + "X": 93.7, + "Y": 77.9, + "Segment": "Joseph Rodriguez" + }, + { + "X": 85.7, + "Y": 78.4, + "Segment": "Elizabeth Wright" + }, + { + "X": 48.4, + "Y": 61.3, + "Segment": "Kimberly Jackson" + }, + { + "X": 22.6, + "Y": 39.4, + "Segment": "Betty Hernandez" + }, + { + "X": 8.1, + "Y": 30.3, + "Segment": "David King" + }, + { + "X": 41.8, + "Y": 96.9, + "Segment": "Matthew Lopez" + }, + { + "X": 51.5, + "Y": 35.3, + "Segment": "Susan Hernandez" + }, + { + "X": 11.4, + "Y": 16.8, + "Segment": "Jennifer Lee" + }, + { + "X": 30.9, + "Y": 9.7, + "Segment": "Richard Flores" + }, + { + "X": 60.1, + "Y": 96.1, + "Segment": "John Anderson" + }, + { + "X": 64.4, + "Y": 89.7, + "Segment": "Kimberly Wright" + }, + { + "X": 9.7, + "Y": 57.9, + "Segment": "Joseph Williams" + }, + { + "X": 69.1, + "Y": 57.7, + "Segment": "Lisa Torres" + }, + { + "X": 67.2, + "Y": 15.6, + "Segment": "Andrew Rodriguez" + }, + { + "X": 10.5, + "Y": 70, + "Segment": "Karen Johnson" + }, + { + "X": 16.7, + "Y": 36.7, + "Segment": "Steven Jones" + }, + { + "X": 50.4, + "Y": 3.7, + "Segment": "Joshua Ramirez" + }, + { + "X": 47.4, + "Y": 51.8, + "Segment": "Emily Martinez" + }, + { + "X": 8.7, + "Y": 34.4, + "Segment": "Robert Walker" + }, + { + "X": 93.4, + "Y": 9.8, + "Segment": "Robert Lewis" + }, + { + "X": 14.9, + "Y": 17.5, + "Segment": "Sandra Lopez" + }, + { + "X": 98.5, + "Y": 92.2, + "Segment": "Nancy Miller" + }, + { + "X": 34.7, + "Y": 51.7, + "Segment": "Christopher Sanchez" + }, + { + "X": 76.5, + "Y": 35.8, + "Segment": "Daniel Flores" + }, + { + "X": 37.4, + "Y": 46.1, + "Segment": "Mary Walker" + }, + { + "X": 34.2, + "Y": 2.6, + "Segment": "Anthony Ramirez" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/13-card10.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/13-card10.flint.json new file mode 100644 index 00000000..c4102d5e --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/13-card10.flint.json @@ -0,0 +1,73 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 56.8, + "Y": 95, + "Size": 63.2 + }, + { + "X": 44.9, + "Y": 16, + "Size": 16.7 + }, + { + "X": 54, + "Y": 7.1, + "Size": 87.9 + }, + { + "X": 95.8, + "Y": 49.8, + "Size": 90.1 + }, + { + "X": 84.8, + "Y": 34.6, + "Size": 35.8 + }, + { + "X": 65.1, + "Y": 45.9, + "Size": 57.5 + }, + { + "X": 34.1, + "Y": 80.2, + "Size": 83.3 + }, + { + "X": 58.2, + "Y": 2.3, + "Size": 21.3 + }, + { + "X": 48.2, + "Y": 10.5, + "Size": 44.6 + }, + { + "X": 94, + "Y": 96.6, + "Size": 82.9 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/14-card187.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/14-card187.flint.json new file mode 100644 index 00000000..ace73d8a --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/14-card187.flint.json @@ -0,0 +1,1023 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 7.2, + "Y": 56.4, + "Size": 55.2 + }, + { + "X": 8, + "Y": 89.5, + "Size": 1.3 + }, + { + "X": 73.7, + "Y": 64.9, + "Size": 82.1 + }, + { + "X": 88.4, + "Y": 28, + "Size": 94.7 + }, + { + "X": 35.1, + "Y": 19.8, + "Size": 19 + }, + { + "X": 10.7, + "Y": 52.1, + "Size": 68.3 + }, + { + "X": 37.4, + "Y": 54.4, + "Size": 83.4 + }, + { + "X": 23.7, + "Y": 40.3, + "Size": 76.1 + }, + { + "X": 4.8, + "Y": 74.6, + "Size": 41.1 + }, + { + "X": 5.1, + "Y": 66.4, + "Size": 3.3 + }, + { + "X": 59.8, + "Y": 85.2, + "Size": 52.4 + }, + { + "X": 90.7, + "Y": 31.5, + "Size": 5.4 + }, + { + "X": 38.5, + "Y": 40.6, + "Size": 46.5 + }, + { + "X": 29.3, + "Y": 47.4, + "Size": 5.5 + }, + { + "X": 37.4, + "Y": 23.2, + "Size": 65.9 + }, + { + "X": 50.7, + "Y": 52, + "Size": 59.5 + }, + { + "X": 20.5, + "Y": 97.7, + "Size": 87.4 + }, + { + "X": 44.3, + "Y": 33.1, + "Size": 17.2 + }, + { + "X": 7.7, + "Y": 65.9, + "Size": 69.3 + }, + { + "X": 81.5, + "Y": 77.7, + "Size": 16 + }, + { + "X": 71.5, + "Y": 49.9, + "Size": 94.9 + }, + { + "X": 89.4, + "Y": 22.5, + "Size": 40.2 + }, + { + "X": 59.3, + "Y": 17.4, + "Size": 71 + }, + { + "X": 67.6, + "Y": 2.7, + "Size": 72.6 + }, + { + "X": 83.4, + "Y": 24.3, + "Size": 43.7 + }, + { + "X": 44.9, + "Y": 4, + "Size": 88.3 + }, + { + "X": 58.7, + "Y": 39.7, + "Size": 39.6 + }, + { + "X": 50, + "Y": 95.5, + "Size": 40.6 + }, + { + "X": 7.4, + "Y": 94.3, + "Size": 78.6 + }, + { + "X": 34.2, + "Y": 33.3, + "Size": 25 + }, + { + "X": 62.1, + "Y": 39.7, + "Size": 56.7 + }, + { + "X": 23.3, + "Y": 68.5, + "Size": 46.5 + }, + { + "X": 25.5, + "Y": 67.1, + "Size": 45.3 + }, + { + "X": 84.7, + "Y": 33, + "Size": 53.3 + }, + { + "X": 56.8, + "Y": 32.7, + "Size": 13.3 + }, + { + "X": 84.5, + "Y": 59.1, + "Size": 9.8 + }, + { + "X": 58, + "Y": 99.5, + "Size": 95.2 + }, + { + "X": 5, + "Y": 98.2, + "Size": 45.1 + }, + { + "X": 89.5, + "Y": 48.6, + "Size": 47 + }, + { + "X": 44.7, + "Y": 85.8, + "Size": 24.3 + }, + { + "X": 39.4, + "Y": 85.3, + "Size": 33.9 + }, + { + "X": 70.4, + "Y": 70, + "Size": 76.6 + }, + { + "X": 51.5, + "Y": 83.5, + "Size": 71.2 + }, + { + "X": 19.2, + "Y": 62, + "Size": 88.4 + }, + { + "X": 61.7, + "Y": 62.5, + "Size": 86.4 + }, + { + "X": 75.9, + "Y": 21.8, + "Size": 27.5 + }, + { + "X": 37.2, + "Y": 77, + "Size": 95.2 + }, + { + "X": 56.5, + "Y": 28.1, + "Size": 53.8 + }, + { + "X": 63.8, + "Y": 99.6, + "Size": 5.3 + }, + { + "X": 72.5, + "Y": 24.1, + "Size": 42.5 + }, + { + "X": 14.1, + "Y": 84, + "Size": 6.9 + }, + { + "X": 17.2, + "Y": 12.4, + "Size": 98.9 + }, + { + "X": 56.8, + "Y": 32.3, + "Size": 24.1 + }, + { + "X": 65.8, + "Y": 38.4, + "Size": 18.6 + }, + { + "X": 11.5, + "Y": 96.6, + "Size": 69.3 + }, + { + "X": 2.8, + "Y": 19.2, + "Size": 65.4 + }, + { + "X": 37.8, + "Y": 96, + "Size": 16.2 + }, + { + "X": 51.1, + "Y": 8.5, + "Size": 32.9 + }, + { + "X": 96.5, + "Y": 52.3, + "Size": 0 + }, + { + "X": 42.3, + "Y": 84.4, + "Size": 85.9 + }, + { + "X": 3.9, + "Y": 47, + "Size": 22.2 + }, + { + "X": 35.9, + "Y": 75.2, + "Size": 72.2 + }, + { + "X": 56, + "Y": 96.6, + "Size": 20.2 + }, + { + "X": 72.7, + "Y": 49.7, + "Size": 95 + }, + { + "X": 12.4, + "Y": 41.7, + "Size": 64.5 + }, + { + "X": 12.2, + "Y": 2.4, + "Size": 3.3 + }, + { + "X": 97.2, + "Y": 32.8, + "Size": 4.6 + }, + { + "X": 91.1, + "Y": 85.3, + "Size": 14.2 + }, + { + "X": 60.9, + "Y": 86.9, + "Size": 26.7 + }, + { + "X": 63.8, + "Y": 74.7, + "Size": 83.4 + }, + { + "X": 66.5, + "Y": 14.9, + "Size": 22.9 + }, + { + "X": 95.2, + "Y": 89.9, + "Size": 76.1 + }, + { + "X": 88, + "Y": 52, + "Size": 25.9 + }, + { + "X": 97.1, + "Y": 55.7, + "Size": 2.6 + }, + { + "X": 57.2, + "Y": 62.4, + "Size": 0.3 + }, + { + "X": 58.3, + "Y": 77.9, + "Size": 5.7 + }, + { + "X": 6.2, + "Y": 69.7, + "Size": 15.1 + }, + { + "X": 32.2, + "Y": 87.7, + "Size": 27.2 + }, + { + "X": 24.6, + "Y": 77.7, + "Size": 5.1 + }, + { + "X": 50.4, + "Y": 12.3, + "Size": 43.6 + }, + { + "X": 10.5, + "Y": 76.3, + "Size": 91.1 + }, + { + "X": 10.1, + "Y": 87.7, + "Size": 86.1 + }, + { + "X": 43.7, + "Y": 61.6, + "Size": 70.3 + }, + { + "X": 33.4, + "Y": 75.5, + "Size": 79.9 + }, + { + "X": 48.7, + "Y": 70.3, + "Size": 6.4 + }, + { + "X": 30.8, + "Y": 64, + "Size": 60.3 + }, + { + "X": 49.3, + "Y": 66.3, + "Size": 89 + }, + { + "X": 60.3, + "Y": 72.2, + "Size": 75.7 + }, + { + "X": 4.2, + "Y": 61.9, + "Size": 36.4 + }, + { + "X": 55.2, + "Y": 39.5, + "Size": 96.9 + }, + { + "X": 65.9, + "Y": 2.3, + "Size": 17.1 + }, + { + "X": 27.2, + "Y": 42.1, + "Size": 19.5 + }, + { + "X": 9.8, + "Y": 41.6, + "Size": 43.7 + }, + { + "X": 64.6, + "Y": 25.9, + "Size": 15.2 + }, + { + "X": 86, + "Y": 20.1, + "Size": 39.5 + }, + { + "X": 39.7, + "Y": 3.6, + "Size": 4.4 + }, + { + "X": 8.8, + "Y": 17.1, + "Size": 6.9 + }, + { + "X": 82.7, + "Y": 37.1, + "Size": 93.5 + }, + { + "X": 94.4, + "Y": 76.8, + "Size": 22.8 + }, + { + "X": 37.1, + "Y": 4.1, + "Size": 23 + }, + { + "X": 66.6, + "Y": 19, + "Size": 96.3 + }, + { + "X": 53.5, + "Y": 7.1, + "Size": 68.5 + }, + { + "X": 10.4, + "Y": 54.7, + "Size": 27 + }, + { + "X": 16, + "Y": 17.5, + "Size": 95.1 + }, + { + "X": 75, + "Y": 64.4, + "Size": 57.2 + }, + { + "X": 69.4, + "Y": 77.5, + "Size": 6.1 + }, + { + "X": 20.9, + "Y": 10.3, + "Size": 15.2 + }, + { + "X": 84.2, + "Y": 31.4, + "Size": 72.7 + }, + { + "X": 61.9, + "Y": 74.3, + "Size": 97.5 + }, + { + "X": 78.1, + "Y": 84.1, + "Size": 56.2 + }, + { + "X": 18.1, + "Y": 59.2, + "Size": 72.2 + }, + { + "X": 63, + "Y": 35.5, + "Size": 71.3 + }, + { + "X": 31, + "Y": 26.5, + "Size": 38.6 + }, + { + "X": 68.2, + "Y": 33.3, + "Size": 29.1 + }, + { + "X": 58.1, + "Y": 86.6, + "Size": 47 + }, + { + "X": 4.9, + "Y": 23.3, + "Size": 46.1 + }, + { + "X": 94.8, + "Y": 11.1, + "Size": 83.6 + }, + { + "X": 71.6, + "Y": 8.3, + "Size": 87.5 + }, + { + "X": 33, + "Y": 58, + "Size": 82.2 + }, + { + "X": 26.9, + "Y": 34.5, + "Size": 65.1 + }, + { + "X": 65.1, + "Y": 7.1, + "Size": 5.5 + }, + { + "X": 98.6, + "Y": 2.1, + "Size": 98 + }, + { + "X": 65.8, + "Y": 84.8, + "Size": 97.5 + }, + { + "X": 72.2, + "Y": 50.7, + "Size": 48.4 + }, + { + "X": 67.5, + "Y": 21.7, + "Size": 54.2 + }, + { + "X": 40.9, + "Y": 37.8, + "Size": 94.1 + }, + { + "X": 49.2, + "Y": 25.3, + "Size": 49.1 + }, + { + "X": 75.6, + "Y": 63.1, + "Size": 23.3 + }, + { + "X": 78, + "Y": 89.1, + "Size": 2.5 + }, + { + "X": 56.2, + "Y": 86.9, + "Size": 72.8 + }, + { + "X": 36.1, + "Y": 14, + "Size": 69.7 + }, + { + "X": 69.4, + "Y": 93.6, + "Size": 22.3 + }, + { + "X": 11, + "Y": 25.8, + "Size": 68.2 + }, + { + "X": 77, + "Y": 44.8, + "Size": 5.1 + }, + { + "X": 20.4, + "Y": 15.9, + "Size": 42.4 + }, + { + "X": 76.4, + "Y": 47.9, + "Size": 32.2 + }, + { + "X": 83.7, + "Y": 47.4, + "Size": 33.2 + }, + { + "X": 75.4, + "Y": 19.5, + "Size": 33.1 + }, + { + "X": 3.2, + "Y": 80.4, + "Size": 82.2 + }, + { + "X": 81.6, + "Y": 78.1, + "Size": 52.1 + }, + { + "X": 81.4, + "Y": 80.8, + "Size": 36.2 + }, + { + "X": 77.5, + "Y": 87.9, + "Size": 70.7 + }, + { + "X": 64.2, + "Y": 28.9, + "Size": 76.9 + }, + { + "X": 43.9, + "Y": 82.4, + "Size": 85.2 + }, + { + "X": 39.4, + "Y": 98, + "Size": 96.6 + }, + { + "X": 16.2, + "Y": 36.8, + "Size": 90.1 + }, + { + "X": 95.6, + "Y": 44.5, + "Size": 17.4 + }, + { + "X": 87.1, + "Y": 78.2, + "Size": 98.6 + }, + { + "X": 40.1, + "Y": 67.2, + "Size": 23.1 + }, + { + "X": 94.1, + "Y": 98.7, + "Size": 53.4 + }, + { + "X": 25, + "Y": 68.3, + "Size": 96.9 + }, + { + "X": 27.3, + "Y": 98.7, + "Size": 1.1 + }, + { + "X": 96.3, + "Y": 10.5, + "Size": 38.8 + }, + { + "X": 62.5, + "Y": 67.8, + "Size": 74.6 + }, + { + "X": 84.1, + "Y": 78.1, + "Size": 70.3 + }, + { + "X": 6.4, + "Y": 29.4, + "Size": 32.5 + }, + { + "X": 9.2, + "Y": 57.2, + "Size": 38 + }, + { + "X": 5.1, + "Y": 56.7, + "Size": 36.5 + }, + { + "X": 83, + "Y": 92, + "Size": 74.9 + }, + { + "X": 1.8, + "Y": 78, + "Size": 93 + }, + { + "X": 17.9, + "Y": 55.3, + "Size": 32.8 + }, + { + "X": 86.8, + "Y": 95.7, + "Size": 83.4 + }, + { + "X": 71.9, + "Y": 36.9, + "Size": 62.2 + }, + { + "X": 10.5, + "Y": 11, + "Size": 61.9 + }, + { + "X": 87.2, + "Y": 31.5, + "Size": 13.2 + }, + { + "X": 49.4, + "Y": 27.2, + "Size": 74.4 + }, + { + "X": 85.6, + "Y": 41.2, + "Size": 17.9 + }, + { + "X": 27.2, + "Y": 11.1, + "Size": 69.2 + }, + { + "X": 69.8, + "Y": 97.5, + "Size": 49.1 + }, + { + "X": 50.2, + "Y": 12, + "Size": 68.5 + }, + { + "X": 18.1, + "Y": 70.3, + "Size": 58.9 + }, + { + "X": 2.5, + "Y": 60.9, + "Size": 43.5 + }, + { + "X": 68.5, + "Y": 15.7, + "Size": 64.9 + }, + { + "X": 16.9, + "Y": 47.4, + "Size": 37.5 + }, + { + "X": 94.7, + "Y": 2.2, + "Size": 6.8 + }, + { + "X": 32.8, + "Y": 29.4, + "Size": 71.1 + }, + { + "X": 38.2, + "Y": 67, + "Size": 49 + }, + { + "X": 95.8, + "Y": 40.7, + "Size": 45.1 + }, + { + "X": 18.1, + "Y": 58.5, + "Size": 82.5 + }, + { + "X": 91.4, + "Y": 34.4, + "Size": 17.9 + }, + { + "X": 80.3, + "Y": 19.2, + "Size": 47.4 + }, + { + "X": 5.2, + "Y": 42.4, + "Size": 73.1 + }, + { + "X": 36.8, + "Y": 86.3, + "Size": 92.7 + }, + { + "X": 45.2, + "Y": 64.7, + "Size": 56.9 + }, + { + "X": 17.9, + "Y": 45, + "Size": 9.3 + }, + { + "X": 45.9, + "Y": 46.2, + "Size": 87.6 + }, + { + "X": 46.4, + "Y": 62.1, + "Size": 3.9 + }, + { + "X": 11.4, + "Y": 11.3, + "Size": 80.3 + }, + { + "X": 18.7, + "Y": 58.5, + "Size": 47 + }, + { + "X": 49.9, + "Y": 21.3, + "Size": 84.4 + }, + { + "X": 1.9, + "Y": 65.6, + "Size": 11.8 + }, + { + "X": 27.9, + "Y": 52.4, + "Size": 48.6 + }, + { + "X": 43.5, + "Y": 36.7, + "Size": 95.7 + }, + { + "X": 30.8, + "Y": 53, + "Size": 50.5 + }, + { + "X": 84.6, + "Y": 69.5, + "Size": 50.3 + }, + { + "X": 71.1, + "Y": 59.6, + "Size": 77.1 + }, + { + "X": 24.3, + "Y": 62.5, + "Size": 32 + }, + { + "X": 65.3, + "Y": 91.9, + "Size": 43.9 + }, + { + "X": 12.6, + "Y": 52, + "Size": 64 + }, + { + "X": 15.7, + "Y": 6.6, + "Size": 96 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/15-card5.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/15-card5.flint.json new file mode 100644 index 00000000..c9a43959 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/15-card5.flint.json @@ -0,0 +1,148 @@ +{ + "semantic_types": { + "Category": "Category", + "Y": "Quantity", + "ColorVal": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "Category", + "y": "Y", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Y": 53.3, + "ColorVal": 47.7 + }, + { + "Category": "Clothing", + "Y": 86.4, + "ColorVal": 91.1 + }, + { + "Category": "Food", + "Y": 12.6, + "ColorVal": 86.8 + }, + { + "Category": "Books", + "Y": 26, + "ColorVal": 46 + }, + { + "Category": "Sports", + "Y": 18.8, + "ColorVal": 26.4 + }, + { + "Category": "Electronics", + "Y": 89.5, + "ColorVal": 57.3 + }, + { + "Category": "Clothing", + "Y": 69.2, + "ColorVal": 97.1 + }, + { + "Category": "Food", + "Y": 30.8, + "ColorVal": 36.6 + }, + { + "Category": "Books", + "Y": 63.9, + "ColorVal": 30.1 + }, + { + "Category": "Sports", + "Y": 0.3, + "ColorVal": 95.1 + }, + { + "Category": "Electronics", + "Y": 23.7, + "ColorVal": 46.1 + }, + { + "Category": "Clothing", + "Y": 1.6, + "ColorVal": 88.8 + }, + { + "Category": "Food", + "Y": 44.3, + "ColorVal": 49.1 + }, + { + "Category": "Books", + "Y": 26.6, + "ColorVal": 83.6 + }, + { + "Category": "Sports", + "Y": 18.4, + "ColorVal": 14.6 + }, + { + "Category": "Electronics", + "Y": 11.2, + "ColorVal": 86.5 + }, + { + "Category": "Clothing", + "Y": 81.8, + "ColorVal": 65.6 + }, + { + "Category": "Food", + "Y": 38.9, + "ColorVal": 32.5 + }, + { + "Category": "Books", + "Y": 26.8, + "ColorVal": 70.9 + }, + { + "Category": "Sports", + "Y": 2.7, + "ColorVal": 39.2 + }, + { + "Category": "Electronics", + "Y": 38.5, + "ColorVal": 49.5 + }, + { + "Category": "Clothing", + "Y": 62.6, + "ColorVal": 51 + }, + { + "Category": "Food", + "Y": 60.9, + "ColorVal": 36 + }, + { + "Category": "Books", + "Y": 55.6, + "ColorVal": 3.2 + }, + { + "Category": "Sports", + "Y": 92.3, + "ColorVal": 76.8 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/16-card5.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/16-card5.flint.json new file mode 100644 index 00000000..5bef9c8d --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/16-card5.flint.json @@ -0,0 +1,148 @@ +{ + "semantic_types": { + "Category": "Category", + "Y": "Quantity", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "Category", + "y": "Y", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Y": 20.4, + "Size": 11.2 + }, + { + "Category": "Clothing", + "Y": 83, + "Size": 73.6 + }, + { + "Category": "Food", + "Y": 67.3, + "Size": 23.2 + }, + { + "Category": "Books", + "Y": 80.9, + "Size": 90.9 + }, + { + "Category": "Sports", + "Y": 55.3, + "Size": 44.5 + }, + { + "Category": "Electronics", + "Y": 70.5, + "Size": 33.9 + }, + { + "Category": "Clothing", + "Y": 7.4, + "Size": 19 + }, + { + "Category": "Food", + "Y": 75.2, + "Size": 34.1 + }, + { + "Category": "Books", + "Y": 34.8, + "Size": 75.5 + }, + { + "Category": "Sports", + "Y": 4.9, + "Size": 59.1 + }, + { + "Category": "Electronics", + "Y": 77.9, + "Size": 17.9 + }, + { + "Category": "Clothing", + "Y": 23.3, + "Size": 16.2 + }, + { + "Category": "Food", + "Y": 72.8, + "Size": 67.3 + }, + { + "Category": "Books", + "Y": 58.3, + "Size": 61.7 + }, + { + "Category": "Sports", + "Y": 61, + "Size": 84.5 + }, + { + "Category": "Electronics", + "Y": 21.8, + "Size": 81.1 + }, + { + "Category": "Clothing", + "Y": 27.9, + "Size": 99.3 + }, + { + "Category": "Food", + "Y": 38.3, + "Size": 5.2 + }, + { + "Category": "Books", + "Y": 95.7, + "Size": 86.8 + }, + { + "Category": "Sports", + "Y": 6, + "Size": 55.7 + }, + { + "Category": "Electronics", + "Y": 18.4, + "Size": 4.9 + }, + { + "Category": "Clothing", + "Y": 38.1, + "Size": 51.6 + }, + { + "Category": "Food", + "Y": 19.9, + "Size": 31.1 + }, + { + "Category": "Books", + "Y": 49.3, + "Size": 54.9 + }, + { + "Category": "Sports", + "Y": 71.3, + "Size": 78.1 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/17-card2.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/17-card2.flint.json new file mode 100644 index 00000000..1343e4ca --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/17-card2.flint.json @@ -0,0 +1,141 @@ +{ + "semantic_types": { + "Category": "Category", + "Y": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "Category", + "y": "Y" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Y": 22.5 + }, + { + "Category": "Clothing", + "Y": 84.4 + }, + { + "Category": "Electronics", + "Y": 34.8 + }, + { + "Category": "Clothing", + "Y": 96.6 + }, + { + "Category": "Electronics", + "Y": 71.5 + }, + { + "Category": "Clothing", + "Y": 15.6 + }, + { + "Category": "Electronics", + "Y": 76.2 + }, + { + "Category": "Clothing", + "Y": 5.1 + }, + { + "Category": "Electronics", + "Y": 37.5 + }, + { + "Category": "Clothing", + "Y": 29.1 + }, + { + "Category": "Electronics", + "Y": 69.1 + }, + { + "Category": "Clothing", + "Y": 61.4 + }, + { + "Category": "Electronics", + "Y": 72.9 + }, + { + "Category": "Clothing", + "Y": 8.4 + }, + { + "Category": "Electronics", + "Y": 38.2 + }, + { + "Category": "Clothing", + "Y": 88.3 + }, + { + "Category": "Electronics", + "Y": 31.9 + }, + { + "Category": "Clothing", + "Y": 26.9 + }, + { + "Category": "Electronics", + "Y": 42.2 + }, + { + "Category": "Clothing", + "Y": 38.4 + }, + { + "Category": "Electronics", + "Y": 63.1 + }, + { + "Category": "Clothing", + "Y": 55 + }, + { + "Category": "Electronics", + "Y": 30.8 + }, + { + "Category": "Clothing", + "Y": 25.7 + }, + { + "Category": "Electronics", + "Y": 3.1 + }, + { + "Category": "Clothing", + "Y": 11.6 + }, + { + "Category": "Electronics", + "Y": 11.1 + }, + { + "Category": "Clothing", + "Y": 93.9 + }, + { + "Category": "Electronics", + "Y": 34.1 + }, + { + "Category": "Clothing", + "Y": 16.6 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/18-card60.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/18-card60.flint.json new file mode 100644 index 00000000..c00c3545 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/18-card60.flint.json @@ -0,0 +1,261 @@ +{ + "semantic_types": { + "Category": "Category", + "Y": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "Category", + "y": "Y" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "James Walker", + "Y": 66.2 + }, + { + "Category": "Paul Wilson", + "Y": 49.3 + }, + { + "Category": "Jessica Martin", + "Y": 28.5 + }, + { + "Category": "Christopher Moore", + "Y": 14.6 + }, + { + "Category": "Betty Wilson", + "Y": 7.2 + }, + { + "Category": "Steven Lewis", + "Y": 13.8 + }, + { + "Category": "Karen Lopez", + "Y": 41.6 + }, + { + "Category": "Sandra Wright", + "Y": 5.7 + }, + { + "Category": "Daniel King", + "Y": 1.8 + }, + { + "Category": "Mark Taylor", + "Y": 47.2 + }, + { + "Category": "Sandra Thomas", + "Y": 9.7 + }, + { + "Category": "Karen Rodriguez", + "Y": 52.1 + }, + { + "Category": "Patricia Jackson", + "Y": 6.5 + }, + { + "Category": "Donna Hill", + "Y": 44.4 + }, + { + "Category": "Donna White", + "Y": 25.8 + }, + { + "Category": "Michael Brown", + "Y": 15.9 + }, + { + "Category": "Elizabeth Robinson", + "Y": 42.9 + }, + { + "Category": "Mary Jones", + "Y": 97.9 + }, + { + "Category": "Richard Rodriguez", + "Y": 7 + }, + { + "Category": "Christopher Clark", + "Y": 63.1 + }, + { + "Category": "Christopher Lopez", + "Y": 33.8 + }, + { + "Category": "Susan Ramirez", + "Y": 43.1 + }, + { + "Category": "Steven Wilson", + "Y": 84.9 + }, + { + "Category": "Paul Anderson", + "Y": 24 + }, + { + "Category": "Joseph Rodriguez", + "Y": 11.9 + }, + { + "Category": "Elizabeth Wright", + "Y": 52.7 + }, + { + "Category": "Kimberly Jackson", + "Y": 75.2 + }, + { + "Category": "Betty Hernandez", + "Y": 77.4 + }, + { + "Category": "David King", + "Y": 22.3 + }, + { + "Category": "Matthew Lopez", + "Y": 60.1 + }, + { + "Category": "Susan Hernandez", + "Y": 37.8 + }, + { + "Category": "Jennifer Lee", + "Y": 15 + }, + { + "Category": "Richard Flores", + "Y": 48.9 + }, + { + "Category": "John Anderson", + "Y": 41.7 + }, + { + "Category": "Kimberly Wright", + "Y": 98.3 + }, + { + "Category": "Joseph Williams", + "Y": 72.2 + }, + { + "Category": "Lisa Torres", + "Y": 84.5 + }, + { + "Category": "Andrew Rodriguez", + "Y": 74.5 + }, + { + "Category": "Karen Johnson", + "Y": 61.1 + }, + { + "Category": "Steven Jones", + "Y": 87.5 + }, + { + "Category": "Joshua Ramirez", + "Y": 36.7 + }, + { + "Category": "Emily Martinez", + "Y": 15.9 + }, + { + "Category": "Robert Walker", + "Y": 4.8 + }, + { + "Category": "Robert Lewis", + "Y": 77.9 + }, + { + "Category": "Sandra Lopez", + "Y": 44.7 + }, + { + "Category": "Nancy Miller", + "Y": 57.8 + }, + { + "Category": "Christopher Sanchez", + "Y": 27.8 + }, + { + "Category": "Daniel Flores", + "Y": 39.7 + }, + { + "Category": "Mary Walker", + "Y": 84.4 + }, + { + "Category": "Anthony Ramirez", + "Y": 34.1 + }, + { + "Category": "Anthony Hill", + "Y": 32.8 + }, + { + "Category": "Matthew Miller", + "Y": 61.3 + }, + { + "Category": "Andrew King", + "Y": 25.1 + }, + { + "Category": "William Perez", + "Y": 86.2 + }, + { + "Category": "William Martinez", + "Y": 79.4 + }, + { + "Category": "Margaret Garcia", + "Y": 14.3 + }, + { + "Category": "Barbara Anderson", + "Y": 38.2 + }, + { + "Category": "Thomas Smith", + "Y": 76.2 + }, + { + "Category": "Kimberly Thomas", + "Y": 0.2 + }, + { + "Category": "Karen Garcia", + "Y": 65.1 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/19-card24.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/19-card24.flint.json new file mode 100644 index 00000000..a85cf9f4 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/19-card24.flint.json @@ -0,0 +1,148 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category", + "ColorVal": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Group", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 65.4, + "Group": "Electronics", + "ColorVal": 92.7 + }, + { + "X": 41.2, + "Group": "Clothing", + "ColorVal": 65.7 + }, + { + "X": 65.6, + "Group": "Food", + "ColorVal": 66.2 + }, + { + "X": 1.3, + "Group": "Books", + "ColorVal": 80.2 + }, + { + "X": 19.4, + "Group": "Sports", + "ColorVal": 91.7 + }, + { + "X": 55.6, + "Group": "Electronics", + "ColorVal": 64.7 + }, + { + "X": 72.6, + "Group": "Clothing", + "ColorVal": 66.4 + }, + { + "X": 25.5, + "Group": "Food", + "ColorVal": 51.3 + }, + { + "X": 15.8, + "Group": "Books", + "ColorVal": 39.9 + }, + { + "X": 2.4, + "Group": "Sports", + "ColorVal": 85.4 + }, + { + "X": 65.8, + "Group": "Electronics", + "ColorVal": 55.2 + }, + { + "X": 92.4, + "Group": "Clothing", + "ColorVal": 6 + }, + { + "X": 40, + "Group": "Food", + "ColorVal": 29.5 + }, + { + "X": 13.6, + "Group": "Books", + "ColorVal": 83.9 + }, + { + "X": 87.1, + "Group": "Sports", + "ColorVal": 36.7 + }, + { + "X": 47, + "Group": "Electronics", + "ColorVal": 52.7 + }, + { + "X": 76.5, + "Group": "Clothing", + "ColorVal": 38.9 + }, + { + "X": 75.2, + "Group": "Food", + "ColorVal": 30.6 + }, + { + "X": 8.2, + "Group": "Books", + "ColorVal": 38 + }, + { + "X": 46.5, + "Group": "Sports", + "ColorVal": 48.7 + }, + { + "X": 78.7, + "Group": "Electronics", + "ColorVal": 70 + }, + { + "X": 79.9, + "Group": "Clothing", + "ColorVal": 75.3 + }, + { + "X": 25.2, + "Group": "Food", + "ColorVal": 64.7 + }, + { + "X": 25.2, + "Group": "Books", + "ColorVal": 64.9 + }, + { + "X": 0.1, + "Group": "Sports", + "ColorVal": 86.6 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/20-card23.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/20-card23.flint.json new file mode 100644 index 00000000..6005dc74 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/20-card23.flint.json @@ -0,0 +1,148 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Group", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 25.4, + "Group": "Electronics", + "Size": 20.9 + }, + { + "X": 0.4, + "Group": "Clothing", + "Size": 91 + }, + { + "X": 10.4, + "Group": "Food", + "Size": 8.3 + }, + { + "X": 81.2, + "Group": "Books", + "Size": 39.2 + }, + { + "X": 59.1, + "Group": "Sports", + "Size": 52.4 + }, + { + "X": 99.3, + "Group": "Electronics", + "Size": 16.7 + }, + { + "X": 92.7, + "Group": "Clothing", + "Size": 49.9 + }, + { + "X": 17.2, + "Group": "Food", + "Size": 34 + }, + { + "X": 99.3, + "Group": "Books", + "Size": 92.6 + }, + { + "X": 89.8, + "Group": "Sports", + "Size": 55.5 + }, + { + "X": 41.9, + "Group": "Electronics", + "Size": 73.8 + }, + { + "X": 97.9, + "Group": "Clothing", + "Size": 13.7 + }, + { + "X": 71.6, + "Group": "Food", + "Size": 62.1 + }, + { + "X": 13.8, + "Group": "Books", + "Size": 21.3 + }, + { + "X": 50.5, + "Group": "Sports", + "Size": 66.6 + }, + { + "X": 86.2, + "Group": "Electronics", + "Size": 41.2 + }, + { + "X": 19.9, + "Group": "Clothing", + "Size": 54.3 + }, + { + "X": 24.1, + "Group": "Food", + "Size": 19.6 + }, + { + "X": 40.9, + "Group": "Books", + "Size": 61.4 + }, + { + "X": 0.4, + "Group": "Sports", + "Size": 7.6 + }, + { + "X": 5.4, + "Group": "Electronics", + "Size": 25.4 + }, + { + "X": 4.7, + "Group": "Clothing", + "Size": 52.8 + }, + { + "X": 56.7, + "Group": "Food", + "Size": 72.3 + }, + { + "X": 76.2, + "Group": "Books", + "Size": 28.8 + }, + { + "X": 21.1, + "Group": "Sports", + "Size": 63.5 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/21-card59.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/21-card59.flint.json new file mode 100644 index 00000000..3257df90 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/21-card59.flint.json @@ -0,0 +1,261 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Group" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 95.1, + "Group": "James Walker" + }, + { + "X": 67.9, + "Group": "Paul Wilson" + }, + { + "X": 28.4, + "Group": "Jessica Martin" + }, + { + "X": 42.2, + "Group": "Christopher Moore" + }, + { + "X": 50.4, + "Group": "Betty Wilson" + }, + { + "X": 97.7, + "Group": "Steven Lewis" + }, + { + "X": 35.8, + "Group": "Karen Lopez" + }, + { + "X": 25.8, + "Group": "Sandra Wright" + }, + { + "X": 46.5, + "Group": "Daniel King" + }, + { + "X": 89.6, + "Group": "Mark Taylor" + }, + { + "X": 82.7, + "Group": "Sandra Thomas" + }, + { + "X": 99.5, + "Group": "Karen Rodriguez" + }, + { + "X": 54.1, + "Group": "Patricia Jackson" + }, + { + "X": 77.1, + "Group": "Donna Hill" + }, + { + "X": 97.7, + "Group": "Donna White" + }, + { + "X": 24, + "Group": "Michael Brown" + }, + { + "X": 27.4, + "Group": "Elizabeth Robinson" + }, + { + "X": 43.3, + "Group": "Mary Jones" + }, + { + "X": 58.5, + "Group": "Richard Rodriguez" + }, + { + "X": 11.1, + "Group": "Christopher Clark" + }, + { + "X": 18.3, + "Group": "Christopher Lopez" + }, + { + "X": 65.6, + "Group": "Susan Ramirez" + }, + { + "X": 24.3, + "Group": "Steven Wilson" + }, + { + "X": 13.9, + "Group": "Paul Anderson" + }, + { + "X": 31.7, + "Group": "Joseph Rodriguez" + }, + { + "X": 8.9, + "Group": "Elizabeth Wright" + }, + { + "X": 88.6, + "Group": "Kimberly Jackson" + }, + { + "X": 33.6, + "Group": "Betty Hernandez" + }, + { + "X": 46.4, + "Group": "David King" + }, + { + "X": 6.7, + "Group": "Matthew Lopez" + }, + { + "X": 1.1, + "Group": "Susan Hernandez" + }, + { + "X": 51.1, + "Group": "Jennifer Lee" + }, + { + "X": 41, + "Group": "Richard Flores" + }, + { + "X": 38.5, + "Group": "John Anderson" + }, + { + "X": 15.9, + "Group": "Kimberly Wright" + }, + { + "X": 71.2, + "Group": "Joseph Williams" + }, + { + "X": 74.3, + "Group": "Lisa Torres" + }, + { + "X": 55.1, + "Group": "Andrew Rodriguez" + }, + { + "X": 6.9, + "Group": "Karen Johnson" + }, + { + "X": 32.9, + "Group": "Steven Jones" + }, + { + "X": 28.1, + "Group": "Joshua Ramirez" + }, + { + "X": 3.8, + "Group": "Emily Martinez" + }, + { + "X": 25.1, + "Group": "Robert Walker" + }, + { + "X": 31, + "Group": "Robert Lewis" + }, + { + "X": 29.8, + "Group": "Sandra Lopez" + }, + { + "X": 92, + "Group": "Nancy Miller" + }, + { + "X": 10.6, + "Group": "Christopher Sanchez" + }, + { + "X": 87.9, + "Group": "Daniel Flores" + }, + { + "X": 80.4, + "Group": "Mary Walker" + }, + { + "X": 22.1, + "Group": "Anthony Ramirez" + }, + { + "X": 24.8, + "Group": "Anthony Hill" + }, + { + "X": 92.2, + "Group": "Matthew Miller" + }, + { + "X": 9.2, + "Group": "Andrew King" + }, + { + "X": 41.4, + "Group": "William Perez" + }, + { + "X": 10.3, + "Group": "William Martinez" + }, + { + "X": 37.4, + "Group": "Margaret Garcia" + }, + { + "X": 74.4, + "Group": "Barbara Anderson" + }, + { + "X": 94.8, + "Group": "Thomas Smith" + }, + { + "X": 47.2, + "Group": "Kimberly Thomas" + }, + { + "X": 37.6, + "Group": "Karen Garcia" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/22-card5.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/22-card5.flint.json new file mode 100644 index 00000000..001853dc --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/22-card5.flint.json @@ -0,0 +1,123 @@ +{ + "semantic_types": { + "Category": "Category", + "Group": "Category", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "Category", + "y": "Group", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Group": "China", + "Size": 681 + }, + { + "Category": "Electronics", + "Group": "Japan", + "Size": 802 + }, + { + "Category": "Electronics", + "Group": "Germany", + "Size": 852 + }, + { + "Category": "Electronics", + "Group": "UK", + "Size": 860 + }, + { + "Category": "Clothing", + "Group": "USA", + "Size": 510 + }, + { + "Category": "Clothing", + "Group": "China", + "Size": 508 + }, + { + "Category": "Clothing", + "Group": "Japan", + "Size": 778 + }, + { + "Category": "Clothing", + "Group": "Germany", + "Size": 908 + }, + { + "Category": "Clothing", + "Group": "UK", + "Size": 189 + }, + { + "Category": "Clothing", + "Group": "France", + "Size": 744 + }, + { + "Category": "Food", + "Group": "Japan", + "Size": 728 + }, + { + "Category": "Food", + "Group": "Germany", + "Size": 472 + }, + { + "Category": "Food", + "Group": "UK", + "Size": 343 + }, + { + "Category": "Books", + "Group": "USA", + "Size": 296 + }, + { + "Category": "Books", + "Group": "Germany", + "Size": 324 + }, + { + "Category": "Books", + "Group": "UK", + "Size": 510 + }, + { + "Category": "Books", + "Group": "France", + "Size": 898 + }, + { + "Category": "Sports", + "Group": "China", + "Size": 238 + }, + { + "Category": "Sports", + "Group": "Japan", + "Size": 160 + }, + { + "Category": "Sports", + "Group": "France", + "Size": 996 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/23-card4.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/23-card4.flint.json new file mode 100644 index 00000000..ffc4e3e8 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/23-card4.flint.json @@ -0,0 +1,78 @@ +{ + "semantic_types": { + "Category": "Category", + "Group": "Category", + "ColorVal": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "Category", + "y": "Group", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Group": "USA", + "ColorVal": 948 + }, + { + "Category": "Electronics", + "Group": "Japan", + "ColorVal": 109 + }, + { + "Category": "Clothing", + "Group": "China", + "ColorVal": 459 + }, + { + "Category": "Clothing", + "Group": "Japan", + "ColorVal": 385 + }, + { + "Category": "Clothing", + "Group": "Germany", + "ColorVal": 901 + }, + { + "Category": "Books", + "Group": "USA", + "ColorVal": 974 + }, + { + "Category": "Books", + "Group": "China", + "ColorVal": 678 + }, + { + "Category": "Books", + "Group": "Japan", + "ColorVal": 193 + }, + { + "Category": "Books", + "Group": "Germany", + "ColorVal": 992 + }, + { + "Category": "Sports", + "Group": "USA", + "ColorVal": 892 + }, + { + "Category": "Sports", + "Group": "Germany", + "ColorVal": 776 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/24-card15.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/24-card15.flint.json new file mode 100644 index 00000000..f36b61a9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/24-card15.flint.json @@ -0,0 +1,688 @@ +{ + "semantic_types": { + "Category": "Category", + "Group": "Category", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "Category", + "y": "Group", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Electronics", + "Group": "USA", + "Size": 877 + }, + { + "Category": "Electronics", + "Group": "Japan", + "Size": 702 + }, + { + "Category": "Electronics", + "Group": "Germany", + "Size": 376 + }, + { + "Category": "Electronics", + "Group": "UK", + "Size": 465 + }, + { + "Category": "Electronics", + "Group": "France", + "Size": 239 + }, + { + "Category": "Electronics", + "Group": "Brazil", + "Size": 372 + }, + { + "Category": "Electronics", + "Group": "Australia", + "Size": 565 + }, + { + "Category": "Electronics", + "Group": "Mexico", + "Size": 587 + }, + { + "Category": "Clothing", + "Group": "USA", + "Size": 325 + }, + { + "Category": "Clothing", + "Group": "China", + "Size": 251 + }, + { + "Category": "Clothing", + "Group": "Japan", + "Size": 529 + }, + { + "Category": "Clothing", + "Group": "France", + "Size": 558 + }, + { + "Category": "Clothing", + "Group": "India", + "Size": 681 + }, + { + "Category": "Clothing", + "Group": "Brazil", + "Size": 327 + }, + { + "Category": "Clothing", + "Group": "Canada", + "Size": 484 + }, + { + "Category": "Clothing", + "Group": "Australia", + "Size": 815 + }, + { + "Category": "Clothing", + "Group": "South Korea", + "Size": 856 + }, + { + "Category": "Clothing", + "Group": "Mexico", + "Size": 152 + }, + { + "Category": "Food", + "Group": "USA", + "Size": 188 + }, + { + "Category": "Food", + "Group": "Japan", + "Size": 970 + }, + { + "Category": "Food", + "Group": "Australia", + "Size": 457 + }, + { + "Category": "Food", + "Group": "South Korea", + "Size": 263 + }, + { + "Category": "Food", + "Group": "Mexico", + "Size": 634 + }, + { + "Category": "Books", + "Group": "USA", + "Size": 760 + }, + { + "Category": "Books", + "Group": "China", + "Size": 207 + }, + { + "Category": "Books", + "Group": "Japan", + "Size": 691 + }, + { + "Category": "Books", + "Group": "Germany", + "Size": 515 + }, + { + "Category": "Books", + "Group": "UK", + "Size": 668 + }, + { + "Category": "Books", + "Group": "France", + "Size": 401 + }, + { + "Category": "Books", + "Group": "Brazil", + "Size": 506 + }, + { + "Category": "Books", + "Group": "Canada", + "Size": 682 + }, + { + "Category": "Books", + "Group": "Australia", + "Size": 220 + }, + { + "Category": "Books", + "Group": "South Korea", + "Size": 118 + }, + { + "Category": "Books", + "Group": "Mexico", + "Size": 205 + }, + { + "Category": "Sports", + "Group": "USA", + "Size": 788 + }, + { + "Category": "Sports", + "Group": "China", + "Size": 694 + }, + { + "Category": "Sports", + "Group": "Japan", + "Size": 323 + }, + { + "Category": "Sports", + "Group": "Germany", + "Size": 442 + }, + { + "Category": "Sports", + "Group": "UK", + "Size": 181 + }, + { + "Category": "Sports", + "Group": "India", + "Size": 301 + }, + { + "Category": "Sports", + "Group": "Brazil", + "Size": 960 + }, + { + "Category": "Sports", + "Group": "Canada", + "Size": 613 + }, + { + "Category": "Sports", + "Group": "Australia", + "Size": 949 + }, + { + "Category": "Sports", + "Group": "South Korea", + "Size": 940 + }, + { + "Category": "Sports", + "Group": "Mexico", + "Size": 549 + }, + { + "Category": "Home", + "Group": "China", + "Size": 311 + }, + { + "Category": "Home", + "Group": "UK", + "Size": 523 + }, + { + "Category": "Home", + "Group": "France", + "Size": 482 + }, + { + "Category": "Home", + "Group": "Canada", + "Size": 501 + }, + { + "Category": "Home", + "Group": "Australia", + "Size": 501 + }, + { + "Category": "Home", + "Group": "South Korea", + "Size": 535 + }, + { + "Category": "Home", + "Group": "Mexico", + "Size": 804 + }, + { + "Category": "Garden", + "Group": "China", + "Size": 142 + }, + { + "Category": "Garden", + "Group": "Japan", + "Size": 250 + }, + { + "Category": "Garden", + "Group": "Germany", + "Size": 392 + }, + { + "Category": "Garden", + "Group": "UK", + "Size": 158 + }, + { + "Category": "Garden", + "Group": "Canada", + "Size": 343 + }, + { + "Category": "Garden", + "Group": "Australia", + "Size": 193 + }, + { + "Category": "Garden", + "Group": "South Korea", + "Size": 815 + }, + { + "Category": "Garden", + "Group": "Mexico", + "Size": 324 + }, + { + "Category": "Auto", + "Group": "USA", + "Size": 167 + }, + { + "Category": "Auto", + "Group": "China", + "Size": 355 + }, + { + "Category": "Auto", + "Group": "Germany", + "Size": 742 + }, + { + "Category": "Auto", + "Group": "UK", + "Size": 163 + }, + { + "Category": "Auto", + "Group": "France", + "Size": 524 + }, + { + "Category": "Auto", + "Group": "India", + "Size": 912 + }, + { + "Category": "Auto", + "Group": "Brazil", + "Size": 376 + }, + { + "Category": "Auto", + "Group": "Canada", + "Size": 984 + }, + { + "Category": "Auto", + "Group": "South Korea", + "Size": 668 + }, + { + "Category": "Health", + "Group": "China", + "Size": 192 + }, + { + "Category": "Health", + "Group": "Germany", + "Size": 465 + }, + { + "Category": "Health", + "Group": "UK", + "Size": 639 + }, + { + "Category": "Health", + "Group": "France", + "Size": 797 + }, + { + "Category": "Health", + "Group": "Brazil", + "Size": 230 + }, + { + "Category": "Health", + "Group": "Canada", + "Size": 696 + }, + { + "Category": "Health", + "Group": "Australia", + "Size": 314 + }, + { + "Category": "Health", + "Group": "Mexico", + "Size": 770 + }, + { + "Category": "Beauty", + "Group": "USA", + "Size": 326 + }, + { + "Category": "Beauty", + "Group": "Japan", + "Size": 393 + }, + { + "Category": "Beauty", + "Group": "UK", + "Size": 739 + }, + { + "Category": "Beauty", + "Group": "France", + "Size": 109 + }, + { + "Category": "Beauty", + "Group": "Brazil", + "Size": 600 + }, + { + "Category": "Beauty", + "Group": "Canada", + "Size": 640 + }, + { + "Category": "Beauty", + "Group": "Australia", + "Size": 170 + }, + { + "Category": "Beauty", + "Group": "South Korea", + "Size": 912 + }, + { + "Category": "Beauty", + "Group": "Mexico", + "Size": 341 + }, + { + "Category": "Toys", + "Group": "USA", + "Size": 886 + }, + { + "Category": "Toys", + "Group": "China", + "Size": 683 + }, + { + "Category": "Toys", + "Group": "UK", + "Size": 513 + }, + { + "Category": "Toys", + "Group": "India", + "Size": 319 + }, + { + "Category": "Toys", + "Group": "Brazil", + "Size": 396 + }, + { + "Category": "Toys", + "Group": "Canada", + "Size": 722 + }, + { + "Category": "Toys", + "Group": "Australia", + "Size": 910 + }, + { + "Category": "Music", + "Group": "USA", + "Size": 820 + }, + { + "Category": "Music", + "Group": "China", + "Size": 674 + }, + { + "Category": "Music", + "Group": "Japan", + "Size": 568 + }, + { + "Category": "Music", + "Group": "Germany", + "Size": 990 + }, + { + "Category": "Music", + "Group": "UK", + "Size": 885 + }, + { + "Category": "Music", + "Group": "India", + "Size": 625 + }, + { + "Category": "Music", + "Group": "Brazil", + "Size": 682 + }, + { + "Category": "Music", + "Group": "Canada", + "Size": 185 + }, + { + "Category": "Music", + "Group": "Australia", + "Size": 109 + }, + { + "Category": "Music", + "Group": "Mexico", + "Size": 663 + }, + { + "Category": "Movies", + "Group": "USA", + "Size": 420 + }, + { + "Category": "Movies", + "Group": "China", + "Size": 203 + }, + { + "Category": "Movies", + "Group": "Japan", + "Size": 735 + }, + { + "Category": "Movies", + "Group": "Germany", + "Size": 508 + }, + { + "Category": "Movies", + "Group": "UK", + "Size": 385 + }, + { + "Category": "Movies", + "Group": "France", + "Size": 160 + }, + { + "Category": "Movies", + "Group": "India", + "Size": 340 + }, + { + "Category": "Movies", + "Group": "Brazil", + "Size": 706 + }, + { + "Category": "Movies", + "Group": "Canada", + "Size": 520 + }, + { + "Category": "Movies", + "Group": "Australia", + "Size": 817 + }, + { + "Category": "Movies", + "Group": "South Korea", + "Size": 527 + }, + { + "Category": "Movies", + "Group": "Mexico", + "Size": 433 + }, + { + "Category": "Software", + "Group": "USA", + "Size": 376 + }, + { + "Category": "Software", + "Group": "Germany", + "Size": 375 + }, + { + "Category": "Software", + "Group": "UK", + "Size": 998 + }, + { + "Category": "Software", + "Group": "France", + "Size": 662 + }, + { + "Category": "Software", + "Group": "India", + "Size": 974 + }, + { + "Category": "Software", + "Group": "Brazil", + "Size": 245 + }, + { + "Category": "Software", + "Group": "Canada", + "Size": 564 + }, + { + "Category": "Software", + "Group": "Australia", + "Size": 761 + }, + { + "Category": "Software", + "Group": "South Korea", + "Size": 518 + }, + { + "Category": "Games", + "Group": "China", + "Size": 922 + }, + { + "Category": "Games", + "Group": "Japan", + "Size": 637 + }, + { + "Category": "Games", + "Group": "Germany", + "Size": 619 + }, + { + "Category": "Games", + "Group": "UK", + "Size": 335 + }, + { + "Category": "Games", + "Group": "France", + "Size": 311 + }, + { + "Category": "Games", + "Group": "India", + "Size": 501 + }, + { + "Category": "Games", + "Group": "Brazil", + "Size": 364 + }, + { + "Category": "Games", + "Group": "Australia", + "Size": 280 + }, + { + "Category": "Games", + "Group": "South Korea", + "Size": 289 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/scatter-plot/25-card40.flint.json b/test-harness/excel/evaluations/inputs/scatter-plot/25-card40.flint.json new file mode 100644 index 00000000..0e40a8ea --- /dev/null +++ b/test-harness/excel/evaluations/inputs/scatter-plot/25-card40.flint.json @@ -0,0 +1,223 @@ +{ + "semantic_types": { + "X": "Quantity", + "Y": "Quantity", + "Group": "Category" + }, + "chart_spec": { + "chartType": "Scatter Plot", + "encodings": { + "x": "X", + "y": "Y", + "shape": "Group" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 77.2, + "Y": 46.1, + "Group": "Electronics" + }, + { + "X": 71, + "Y": 32.1, + "Group": "Clothing" + }, + { + "X": 92.6, + "Y": 10.1, + "Group": "Food" + }, + { + "X": 0.5, + "Y": 1.9, + "Group": "Books" + }, + { + "X": 66.1, + "Y": 66.1, + "Group": "Electronics" + }, + { + "X": 6.4, + "Y": 60, + "Group": "Clothing" + }, + { + "X": 15.8, + "Y": 69.4, + "Group": "Food" + }, + { + "X": 2.1, + "Y": 21.6, + "Group": "Books" + }, + { + "X": 66.5, + "Y": 60.8, + "Group": "Electronics" + }, + { + "X": 61.3, + "Y": 61.1, + "Group": "Clothing" + }, + { + "X": 1.9, + "Y": 3, + "Group": "Food" + }, + { + "X": 54.3, + "Y": 65.6, + "Group": "Books" + }, + { + "X": 48, + "Y": 82.6, + "Group": "Electronics" + }, + { + "X": 45.7, + "Y": 7.7, + "Group": "Clothing" + }, + { + "X": 8, + "Y": 95, + "Group": "Food" + }, + { + "X": 35.3, + "Y": 90.8, + "Group": "Books" + }, + { + "X": 40.1, + "Y": 16.6, + "Group": "Electronics" + }, + { + "X": 78.6, + "Y": 59.4, + "Group": "Clothing" + }, + { + "X": 58.1, + "Y": 91, + "Group": "Food" + }, + { + "X": 74.3, + "Y": 19.9, + "Group": "Books" + }, + { + "X": 81, + "Y": 33.7, + "Group": "Electronics" + }, + { + "X": 91.1, + "Y": 32.1, + "Group": "Clothing" + }, + { + "X": 53.7, + "Y": 93.8, + "Group": "Food" + }, + { + "X": 98.2, + "Y": 10.6, + "Group": "Books" + }, + { + "X": 96.2, + "Y": 25.6, + "Group": "Electronics" + }, + { + "X": 94.2, + "Y": 37.3, + "Group": "Clothing" + }, + { + "X": 66.2, + "Y": 85.8, + "Group": "Food" + }, + { + "X": 33.9, + "Y": 33.4, + "Group": "Books" + }, + { + "X": 97.3, + "Y": 93.5, + "Group": "Electronics" + }, + { + "X": 89.1, + "Y": 26.5, + "Group": "Clothing" + }, + { + "X": 94.7, + "Y": 53.5, + "Group": "Food" + }, + { + "X": 10.8, + "Y": 44.1, + "Group": "Books" + }, + { + "X": 16.4, + "Y": 49.8, + "Group": "Electronics" + }, + { + "X": 73.6, + "Y": 66.3, + "Group": "Clothing" + }, + { + "X": 17.6, + "Y": 5.7, + "Group": "Food" + }, + { + "X": 12.2, + "Y": 52, + "Group": "Books" + }, + { + "X": 92.7, + "Y": 39.5, + "Group": "Electronics" + }, + { + "X": 61.5, + "Y": 70, + "Group": "Clothing" + }, + { + "X": 60.8, + "Y": 59.7, + "Group": "Food" + }, + { + "X": 23.7, + "Y": 10.9, + "Group": "Books" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/00-card4.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/00-card4.flint.json new file mode 100644 index 00000000..a89a6522 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/00-card4.flint.json @@ -0,0 +1,83 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 12, + "Segment": "USA" + }, + { + "Category": "Laptop", + "Value": 314, + "Segment": "China" + }, + { + "Category": "Laptop", + "Value": 130, + "Segment": "Japan" + }, + { + "Category": "Phone", + "Value": 733, + "Segment": "USA" + }, + { + "Category": "Phone", + "Value": 558, + "Segment": "China" + }, + { + "Category": "Phone", + "Value": 794, + "Segment": "Japan" + }, + { + "Category": "Tablet", + "Value": 415, + "Segment": "USA" + }, + { + "Category": "Tablet", + "Value": 775, + "Segment": "China" + }, + { + "Category": "Tablet", + "Value": 861, + "Segment": "Japan" + }, + { + "Category": "Desktop", + "Value": 939, + "Segment": "USA" + }, + { + "Category": "Desktop", + "Value": 703, + "Segment": "China" + }, + { + "Category": "Desktop", + "Value": 884, + "Segment": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/01-card15.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/01-card15.flint.json new file mode 100644 index 00000000..2fce7d56 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/01-card15.flint.json @@ -0,0 +1,398 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 201, + "Segment": "USA" + }, + { + "Category": "Laptop", + "Value": 915, + "Segment": "China" + }, + { + "Category": "Laptop", + "Value": 695, + "Segment": "Japan" + }, + { + "Category": "Laptop", + "Value": 941, + "Segment": "Germany" + }, + { + "Category": "Laptop", + "Value": 238, + "Segment": "UK" + }, + { + "Category": "Phone", + "Value": 544, + "Segment": "USA" + }, + { + "Category": "Phone", + "Value": 686, + "Segment": "China" + }, + { + "Category": "Phone", + "Value": 375, + "Segment": "Japan" + }, + { + "Category": "Phone", + "Value": 502, + "Segment": "Germany" + }, + { + "Category": "Phone", + "Value": 361, + "Segment": "UK" + }, + { + "Category": "Tablet", + "Value": 797, + "Segment": "USA" + }, + { + "Category": "Tablet", + "Value": 96, + "Segment": "China" + }, + { + "Category": "Tablet", + "Value": 241, + "Segment": "Japan" + }, + { + "Category": "Tablet", + "Value": 392, + "Segment": "Germany" + }, + { + "Category": "Tablet", + "Value": 399, + "Segment": "UK" + }, + { + "Category": "Desktop", + "Value": 786, + "Segment": "USA" + }, + { + "Category": "Desktop", + "Value": 208, + "Segment": "China" + }, + { + "Category": "Desktop", + "Value": 246, + "Segment": "Japan" + }, + { + "Category": "Desktop", + "Value": 74, + "Segment": "Germany" + }, + { + "Category": "Desktop", + "Value": 445, + "Segment": "UK" + }, + { + "Category": "Monitor", + "Value": 496, + "Segment": "USA" + }, + { + "Category": "Monitor", + "Value": 498, + "Segment": "China" + }, + { + "Category": "Monitor", + "Value": 224, + "Segment": "Japan" + }, + { + "Category": "Monitor", + "Value": 650, + "Segment": "Germany" + }, + { + "Category": "Monitor", + "Value": 532, + "Segment": "UK" + }, + { + "Category": "Keyboard", + "Value": 289, + "Segment": "USA" + }, + { + "Category": "Keyboard", + "Value": 215, + "Segment": "China" + }, + { + "Category": "Keyboard", + "Value": 77, + "Segment": "Japan" + }, + { + "Category": "Keyboard", + "Value": 414, + "Segment": "Germany" + }, + { + "Category": "Keyboard", + "Value": 515, + "Segment": "UK" + }, + { + "Category": "Mouse", + "Value": 537, + "Segment": "USA" + }, + { + "Category": "Mouse", + "Value": 674, + "Segment": "China" + }, + { + "Category": "Mouse", + "Value": 311, + "Segment": "Japan" + }, + { + "Category": "Mouse", + "Value": 542, + "Segment": "Germany" + }, + { + "Category": "Mouse", + "Value": 334, + "Segment": "UK" + }, + { + "Category": "Headphones", + "Value": 942, + "Segment": "USA" + }, + { + "Category": "Headphones", + "Value": 547, + "Segment": "China" + }, + { + "Category": "Headphones", + "Value": 289, + "Segment": "Japan" + }, + { + "Category": "Headphones", + "Value": 306, + "Segment": "Germany" + }, + { + "Category": "Headphones", + "Value": 551, + "Segment": "UK" + }, + { + "Category": "Speaker", + "Value": 559, + "Segment": "USA" + }, + { + "Category": "Speaker", + "Value": 982, + "Segment": "China" + }, + { + "Category": "Speaker", + "Value": 854, + "Segment": "Japan" + }, + { + "Category": "Speaker", + "Value": 308, + "Segment": "Germany" + }, + { + "Category": "Speaker", + "Value": 310, + "Segment": "UK" + }, + { + "Category": "Camera", + "Value": 536, + "Segment": "USA" + }, + { + "Category": "Camera", + "Value": 843, + "Segment": "China" + }, + { + "Category": "Camera", + "Value": 122, + "Segment": "Japan" + }, + { + "Category": "Camera", + "Value": 931, + "Segment": "Germany" + }, + { + "Category": "Camera", + "Value": 906, + "Segment": "UK" + }, + { + "Category": "TV", + "Value": 266, + "Segment": "USA" + }, + { + "Category": "TV", + "Value": 809, + "Segment": "China" + }, + { + "Category": "TV", + "Value": 335, + "Segment": "Japan" + }, + { + "Category": "TV", + "Value": 797, + "Segment": "Germany" + }, + { + "Category": "TV", + "Value": 237, + "Segment": "UK" + }, + { + "Category": "Router", + "Value": 155, + "Segment": "USA" + }, + { + "Category": "Router", + "Value": 557, + "Segment": "China" + }, + { + "Category": "Router", + "Value": 752, + "Segment": "Japan" + }, + { + "Category": "Router", + "Value": 150, + "Segment": "Germany" + }, + { + "Category": "Router", + "Value": 830, + "Segment": "UK" + }, + { + "Category": "Printer", + "Value": 422, + "Segment": "USA" + }, + { + "Category": "Printer", + "Value": 766, + "Segment": "China" + }, + { + "Category": "Printer", + "Value": 950, + "Segment": "Japan" + }, + { + "Category": "Printer", + "Value": 890, + "Segment": "Germany" + }, + { + "Category": "Printer", + "Value": 204, + "Segment": "UK" + }, + { + "Category": "Scanner", + "Value": 27, + "Segment": "USA" + }, + { + "Category": "Scanner", + "Value": 310, + "Segment": "China" + }, + { + "Category": "Scanner", + "Value": 51, + "Segment": "Japan" + }, + { + "Category": "Scanner", + "Value": 568, + "Segment": "Germany" + }, + { + "Category": "Scanner", + "Value": 82, + "Segment": "UK" + }, + { + "Category": "SSD", + "Value": 182, + "Segment": "USA" + }, + { + "Category": "SSD", + "Value": 694, + "Segment": "China" + }, + { + "Category": "SSD", + "Value": 653, + "Segment": "Japan" + }, + { + "Category": "SSD", + "Value": 910, + "Segment": "Germany" + }, + { + "Category": "SSD", + "Value": 252, + "Segment": "UK" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/02-card80.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/02-card80.flint.json new file mode 100644 index 00000000..dc732429 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/02-card80.flint.json @@ -0,0 +1,1223 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "James Walker", + "Value": 92, + "Segment": "USA" + }, + { + "Category": "James Walker", + "Value": 893, + "Segment": "China" + }, + { + "Category": "James Walker", + "Value": 717, + "Segment": "Japan" + }, + { + "Category": "Paul Wilson", + "Value": 643, + "Segment": "USA" + }, + { + "Category": "Paul Wilson", + "Value": 272, + "Segment": "China" + }, + { + "Category": "Paul Wilson", + "Value": 211, + "Segment": "Japan" + }, + { + "Category": "Jessica Martin", + "Value": 658, + "Segment": "USA" + }, + { + "Category": "Jessica Martin", + "Value": 230, + "Segment": "China" + }, + { + "Category": "Jessica Martin", + "Value": 204, + "Segment": "Japan" + }, + { + "Category": "Christopher Moore", + "Value": 422, + "Segment": "USA" + }, + { + "Category": "Christopher Moore", + "Value": 309, + "Segment": "China" + }, + { + "Category": "Christopher Moore", + "Value": 865, + "Segment": "Japan" + }, + { + "Category": "Betty Wilson", + "Value": 88, + "Segment": "USA" + }, + { + "Category": "Betty Wilson", + "Value": 466, + "Segment": "China" + }, + { + "Category": "Betty Wilson", + "Value": 588, + "Segment": "Japan" + }, + { + "Category": "Steven Lewis", + "Value": 448, + "Segment": "USA" + }, + { + "Category": "Steven Lewis", + "Value": 669, + "Segment": "China" + }, + { + "Category": "Steven Lewis", + "Value": 747, + "Segment": "Japan" + }, + { + "Category": "Karen Lopez", + "Value": 338, + "Segment": "USA" + }, + { + "Category": "Karen Lopez", + "Value": 486, + "Segment": "China" + }, + { + "Category": "Karen Lopez", + "Value": 615, + "Segment": "Japan" + }, + { + "Category": "Sandra Wright", + "Value": 891, + "Segment": "USA" + }, + { + "Category": "Sandra Wright", + "Value": 699, + "Segment": "China" + }, + { + "Category": "Sandra Wright", + "Value": 81, + "Segment": "Japan" + }, + { + "Category": "Daniel King", + "Value": 662, + "Segment": "USA" + }, + { + "Category": "Daniel King", + "Value": 918, + "Segment": "China" + }, + { + "Category": "Daniel King", + "Value": 156, + "Segment": "Japan" + }, + { + "Category": "Mark Taylor", + "Value": 970, + "Segment": "USA" + }, + { + "Category": "Mark Taylor", + "Value": 414, + "Segment": "China" + }, + { + "Category": "Mark Taylor", + "Value": 954, + "Segment": "Japan" + }, + { + "Category": "Sandra Thomas", + "Value": 555, + "Segment": "USA" + }, + { + "Category": "Sandra Thomas", + "Value": 943, + "Segment": "China" + }, + { + "Category": "Sandra Thomas", + "Value": 95, + "Segment": "Japan" + }, + { + "Category": "Karen Rodriguez", + "Value": 206, + "Segment": "USA" + }, + { + "Category": "Karen Rodriguez", + "Value": 918, + "Segment": "China" + }, + { + "Category": "Karen Rodriguez", + "Value": 604, + "Segment": "Japan" + }, + { + "Category": "Patricia Jackson", + "Value": 860, + "Segment": "USA" + }, + { + "Category": "Patricia Jackson", + "Value": 382, + "Segment": "China" + }, + { + "Category": "Patricia Jackson", + "Value": 964, + "Segment": "Japan" + }, + { + "Category": "Donna Hill", + "Value": 584, + "Segment": "USA" + }, + { + "Category": "Donna Hill", + "Value": 982, + "Segment": "China" + }, + { + "Category": "Donna Hill", + "Value": 187, + "Segment": "Japan" + }, + { + "Category": "Donna White", + "Value": 513, + "Segment": "USA" + }, + { + "Category": "Donna White", + "Value": 404, + "Segment": "China" + }, + { + "Category": "Donna White", + "Value": 418, + "Segment": "Japan" + }, + { + "Category": "Michael Brown", + "Value": 76, + "Segment": "USA" + }, + { + "Category": "Michael Brown", + "Value": 277, + "Segment": "China" + }, + { + "Category": "Michael Brown", + "Value": 171, + "Segment": "Japan" + }, + { + "Category": "Elizabeth Robinson", + "Value": 550, + "Segment": "USA" + }, + { + "Category": "Elizabeth Robinson", + "Value": 949, + "Segment": "China" + }, + { + "Category": "Elizabeth Robinson", + "Value": 512, + "Segment": "Japan" + }, + { + "Category": "Mary Jones", + "Value": 443, + "Segment": "USA" + }, + { + "Category": "Mary Jones", + "Value": 124, + "Segment": "China" + }, + { + "Category": "Mary Jones", + "Value": 32, + "Segment": "Japan" + }, + { + "Category": "Richard Rodriguez", + "Value": 91, + "Segment": "USA" + }, + { + "Category": "Richard Rodriguez", + "Value": 237, + "Segment": "China" + }, + { + "Category": "Richard Rodriguez", + "Value": 634, + "Segment": "Japan" + }, + { + "Category": "Christopher Clark", + "Value": 664, + "Segment": "USA" + }, + { + "Category": "Christopher Clark", + "Value": 756, + "Segment": "China" + }, + { + "Category": "Christopher Clark", + "Value": 370, + "Segment": "Japan" + }, + { + "Category": "Christopher Lopez", + "Value": 980, + "Segment": "USA" + }, + { + "Category": "Christopher Lopez", + "Value": 431, + "Segment": "China" + }, + { + "Category": "Christopher Lopez", + "Value": 706, + "Segment": "Japan" + }, + { + "Category": "Susan Ramirez", + "Value": 808, + "Segment": "USA" + }, + { + "Category": "Susan Ramirez", + "Value": 227, + "Segment": "China" + }, + { + "Category": "Susan Ramirez", + "Value": 214, + "Segment": "Japan" + }, + { + "Category": "Steven Wilson", + "Value": 952, + "Segment": "USA" + }, + { + "Category": "Steven Wilson", + "Value": 851, + "Segment": "China" + }, + { + "Category": "Steven Wilson", + "Value": 855, + "Segment": "Japan" + }, + { + "Category": "Paul Anderson", + "Value": 349, + "Segment": "USA" + }, + { + "Category": "Paul Anderson", + "Value": 258, + "Segment": "China" + }, + { + "Category": "Paul Anderson", + "Value": 334, + "Segment": "Japan" + }, + { + "Category": "Joseph Rodriguez", + "Value": 618, + "Segment": "USA" + }, + { + "Category": "Joseph Rodriguez", + "Value": 573, + "Segment": "China" + }, + { + "Category": "Joseph Rodriguez", + "Value": 293, + "Segment": "Japan" + }, + { + "Category": "Elizabeth Wright", + "Value": 864, + "Segment": "USA" + }, + { + "Category": "Elizabeth Wright", + "Value": 654, + "Segment": "China" + }, + { + "Category": "Elizabeth Wright", + "Value": 678, + "Segment": "Japan" + }, + { + "Category": "Kimberly Jackson", + "Value": 341, + "Segment": "USA" + }, + { + "Category": "Kimberly Jackson", + "Value": 306, + "Segment": "China" + }, + { + "Category": "Kimberly Jackson", + "Value": 410, + "Segment": "Japan" + }, + { + "Category": "Betty Hernandez", + "Value": 502, + "Segment": "USA" + }, + { + "Category": "Betty Hernandez", + "Value": 72, + "Segment": "China" + }, + { + "Category": "Betty Hernandez", + "Value": 245, + "Segment": "Japan" + }, + { + "Category": "David King", + "Value": 138, + "Segment": "USA" + }, + { + "Category": "David King", + "Value": 440, + "Segment": "China" + }, + { + "Category": "David King", + "Value": 445, + "Segment": "Japan" + }, + { + "Category": "Matthew Lopez", + "Value": 221, + "Segment": "USA" + }, + { + "Category": "Matthew Lopez", + "Value": 77, + "Segment": "China" + }, + { + "Category": "Matthew Lopez", + "Value": 615, + "Segment": "Japan" + }, + { + "Category": "Susan Hernandez", + "Value": 32, + "Segment": "USA" + }, + { + "Category": "Susan Hernandez", + "Value": 634, + "Segment": "China" + }, + { + "Category": "Susan Hernandez", + "Value": 71, + "Segment": "Japan" + }, + { + "Category": "Jennifer Lee", + "Value": 906, + "Segment": "USA" + }, + { + "Category": "Jennifer Lee", + "Value": 465, + "Segment": "China" + }, + { + "Category": "Jennifer Lee", + "Value": 791, + "Segment": "Japan" + }, + { + "Category": "Richard Flores", + "Value": 342, + "Segment": "USA" + }, + { + "Category": "Richard Flores", + "Value": 336, + "Segment": "China" + }, + { + "Category": "Richard Flores", + "Value": 59, + "Segment": "Japan" + }, + { + "Category": "John Anderson", + "Value": 919, + "Segment": "USA" + }, + { + "Category": "John Anderson", + "Value": 787, + "Segment": "China" + }, + { + "Category": "John Anderson", + "Value": 35, + "Segment": "Japan" + }, + { + "Category": "Kimberly Wright", + "Value": 180, + "Segment": "USA" + }, + { + "Category": "Kimberly Wright", + "Value": 260, + "Segment": "China" + }, + { + "Category": "Kimberly Wright", + "Value": 199, + "Segment": "Japan" + }, + { + "Category": "Joseph Williams", + "Value": 88, + "Segment": "USA" + }, + { + "Category": "Joseph Williams", + "Value": 517, + "Segment": "China" + }, + { + "Category": "Joseph Williams", + "Value": 177, + "Segment": "Japan" + }, + { + "Category": "Lisa Torres", + "Value": 455, + "Segment": "USA" + }, + { + "Category": "Lisa Torres", + "Value": 281, + "Segment": "China" + }, + { + "Category": "Lisa Torres", + "Value": 552, + "Segment": "Japan" + }, + { + "Category": "Andrew Rodriguez", + "Value": 867, + "Segment": "USA" + }, + { + "Category": "Andrew Rodriguez", + "Value": 940, + "Segment": "China" + }, + { + "Category": "Andrew Rodriguez", + "Value": 798, + "Segment": "Japan" + }, + { + "Category": "Karen Johnson", + "Value": 447, + "Segment": "USA" + }, + { + "Category": "Karen Johnson", + "Value": 435, + "Segment": "China" + }, + { + "Category": "Karen Johnson", + "Value": 884, + "Segment": "Japan" + }, + { + "Category": "Steven Jones", + "Value": 261, + "Segment": "USA" + }, + { + "Category": "Steven Jones", + "Value": 865, + "Segment": "China" + }, + { + "Category": "Steven Jones", + "Value": 490, + "Segment": "Japan" + }, + { + "Category": "Joshua Ramirez", + "Value": 888, + "Segment": "USA" + }, + { + "Category": "Joshua Ramirez", + "Value": 690, + "Segment": "China" + }, + { + "Category": "Joshua Ramirez", + "Value": 808, + "Segment": "Japan" + }, + { + "Category": "Emily Martinez", + "Value": 350, + "Segment": "USA" + }, + { + "Category": "Emily Martinez", + "Value": 320, + "Segment": "China" + }, + { + "Category": "Emily Martinez", + "Value": 18, + "Segment": "Japan" + }, + { + "Category": "Robert Walker", + "Value": 950, + "Segment": "USA" + }, + { + "Category": "Robert Walker", + "Value": 854, + "Segment": "China" + }, + { + "Category": "Robert Walker", + "Value": 137, + "Segment": "Japan" + }, + { + "Category": "Robert Lewis", + "Value": 153, + "Segment": "USA" + }, + { + "Category": "Robert Lewis", + "Value": 314, + "Segment": "China" + }, + { + "Category": "Robert Lewis", + "Value": 350, + "Segment": "Japan" + }, + { + "Category": "Sandra Lopez", + "Value": 820, + "Segment": "USA" + }, + { + "Category": "Sandra Lopez", + "Value": 214, + "Segment": "China" + }, + { + "Category": "Sandra Lopez", + "Value": 998, + "Segment": "Japan" + }, + { + "Category": "Nancy Miller", + "Value": 668, + "Segment": "USA" + }, + { + "Category": "Nancy Miller", + "Value": 48, + "Segment": "China" + }, + { + "Category": "Nancy Miller", + "Value": 688, + "Segment": "Japan" + }, + { + "Category": "Christopher Sanchez", + "Value": 791, + "Segment": "USA" + }, + { + "Category": "Christopher Sanchez", + "Value": 540, + "Segment": "China" + }, + { + "Category": "Christopher Sanchez", + "Value": 416, + "Segment": "Japan" + }, + { + "Category": "Daniel Flores", + "Value": 912, + "Segment": "USA" + }, + { + "Category": "Daniel Flores", + "Value": 334, + "Segment": "China" + }, + { + "Category": "Daniel Flores", + "Value": 185, + "Segment": "Japan" + }, + { + "Category": "Mary Walker", + "Value": 14, + "Segment": "USA" + }, + { + "Category": "Mary Walker", + "Value": 792, + "Segment": "China" + }, + { + "Category": "Mary Walker", + "Value": 841, + "Segment": "Japan" + }, + { + "Category": "Anthony Ramirez", + "Value": 79, + "Segment": "USA" + }, + { + "Category": "Anthony Ramirez", + "Value": 874, + "Segment": "China" + }, + { + "Category": "Anthony Ramirez", + "Value": 115, + "Segment": "Japan" + }, + { + "Category": "Anthony Hill", + "Value": 213, + "Segment": "USA" + }, + { + "Category": "Anthony Hill", + "Value": 155, + "Segment": "China" + }, + { + "Category": "Anthony Hill", + "Value": 933, + "Segment": "Japan" + }, + { + "Category": "Matthew Miller", + "Value": 308, + "Segment": "USA" + }, + { + "Category": "Matthew Miller", + "Value": 946, + "Segment": "China" + }, + { + "Category": "Matthew Miller", + "Value": 511, + "Segment": "Japan" + }, + { + "Category": "Andrew King", + "Value": 337, + "Segment": "USA" + }, + { + "Category": "Andrew King", + "Value": 41, + "Segment": "China" + }, + { + "Category": "Andrew King", + "Value": 311, + "Segment": "Japan" + }, + { + "Category": "William Perez", + "Value": 825, + "Segment": "USA" + }, + { + "Category": "William Perez", + "Value": 724, + "Segment": "China" + }, + { + "Category": "William Perez", + "Value": 107, + "Segment": "Japan" + }, + { + "Category": "William Martinez", + "Value": 277, + "Segment": "USA" + }, + { + "Category": "William Martinez", + "Value": 128, + "Segment": "China" + }, + { + "Category": "William Martinez", + "Value": 184, + "Segment": "Japan" + }, + { + "Category": "Margaret Garcia", + "Value": 674, + "Segment": "USA" + }, + { + "Category": "Margaret Garcia", + "Value": 472, + "Segment": "China" + }, + { + "Category": "Margaret Garcia", + "Value": 837, + "Segment": "Japan" + }, + { + "Category": "Barbara Anderson", + "Value": 549, + "Segment": "USA" + }, + { + "Category": "Barbara Anderson", + "Value": 504, + "Segment": "China" + }, + { + "Category": "Barbara Anderson", + "Value": 121, + "Segment": "Japan" + }, + { + "Category": "Thomas Smith", + "Value": 62, + "Segment": "USA" + }, + { + "Category": "Thomas Smith", + "Value": 291, + "Segment": "China" + }, + { + "Category": "Thomas Smith", + "Value": 786, + "Segment": "Japan" + }, + { + "Category": "Kimberly Thomas", + "Value": 744, + "Segment": "USA" + }, + { + "Category": "Kimberly Thomas", + "Value": 911, + "Segment": "China" + }, + { + "Category": "Kimberly Thomas", + "Value": 354, + "Segment": "Japan" + }, + { + "Category": "Karen Garcia", + "Value": 803, + "Segment": "USA" + }, + { + "Category": "Karen Garcia", + "Value": 915, + "Segment": "China" + }, + { + "Category": "Karen Garcia", + "Value": 773, + "Segment": "Japan" + }, + { + "Category": "Sarah Torres", + "Value": 712, + "Segment": "USA" + }, + { + "Category": "Sarah Torres", + "Value": 220, + "Segment": "China" + }, + { + "Category": "Sarah Torres", + "Value": 767, + "Segment": "Japan" + }, + { + "Category": "Emily Hill", + "Value": 438, + "Segment": "USA" + }, + { + "Category": "Emily Hill", + "Value": 514, + "Segment": "China" + }, + { + "Category": "Emily Hill", + "Value": 971, + "Segment": "Japan" + }, + { + "Category": "Sarah Walker", + "Value": 845, + "Segment": "USA" + }, + { + "Category": "Sarah Walker", + "Value": 439, + "Segment": "China" + }, + { + "Category": "Sarah Walker", + "Value": 809, + "Segment": "Japan" + }, + { + "Category": "Michael Clark", + "Value": 379, + "Segment": "USA" + }, + { + "Category": "Michael Clark", + "Value": 775, + "Segment": "China" + }, + { + "Category": "Michael Clark", + "Value": 497, + "Segment": "Japan" + }, + { + "Category": "Joshua Wright", + "Value": 437, + "Segment": "USA" + }, + { + "Category": "Joshua Wright", + "Value": 796, + "Segment": "China" + }, + { + "Category": "Joshua Wright", + "Value": 271, + "Segment": "Japan" + }, + { + "Category": "Andrew Walker", + "Value": 371, + "Segment": "USA" + }, + { + "Category": "Andrew Walker", + "Value": 651, + "Segment": "China" + }, + { + "Category": "Andrew Walker", + "Value": 813, + "Segment": "Japan" + }, + { + "Category": "Nancy Young", + "Value": 946, + "Segment": "USA" + }, + { + "Category": "Nancy Young", + "Value": 298, + "Segment": "China" + }, + { + "Category": "Nancy Young", + "Value": 632, + "Segment": "Japan" + }, + { + "Category": "John Lewis", + "Value": 210, + "Segment": "USA" + }, + { + "Category": "John Lewis", + "Value": 382, + "Segment": "China" + }, + { + "Category": "John Lewis", + "Value": 674, + "Segment": "Japan" + }, + { + "Category": "John Brown", + "Value": 551, + "Segment": "USA" + }, + { + "Category": "John Brown", + "Value": 592, + "Segment": "China" + }, + { + "Category": "John Brown", + "Value": 439, + "Segment": "Japan" + }, + { + "Category": "Anthony Thomas", + "Value": 723, + "Segment": "USA" + }, + { + "Category": "Anthony Thomas", + "Value": 334, + "Segment": "China" + }, + { + "Category": "Anthony Thomas", + "Value": 883, + "Segment": "Japan" + }, + { + "Category": "Joshua Moore", + "Value": 944, + "Segment": "USA" + }, + { + "Category": "Joshua Moore", + "Value": 209, + "Segment": "China" + }, + { + "Category": "Joshua Moore", + "Value": 954, + "Segment": "Japan" + }, + { + "Category": "John Hernandez", + "Value": 256, + "Segment": "USA" + }, + { + "Category": "John Hernandez", + "Value": 592, + "Segment": "China" + }, + { + "Category": "John Hernandez", + "Value": 905, + "Segment": "Japan" + }, + { + "Category": "James Perez", + "Value": 689, + "Segment": "USA" + }, + { + "Category": "James Perez", + "Value": 295, + "Segment": "China" + }, + { + "Category": "James Perez", + "Value": 647, + "Segment": "Japan" + }, + { + "Category": "James Scott", + "Value": 408, + "Segment": "USA" + }, + { + "Category": "James Scott", + "Value": 758, + "Segment": "China" + }, + { + "Category": "James Scott", + "Value": 967, + "Segment": "Japan" + }, + { + "Category": "Matthew Sanchez", + "Value": 493, + "Segment": "USA" + }, + { + "Category": "Matthew Sanchez", + "Value": 519, + "Segment": "China" + }, + { + "Category": "Matthew Sanchez", + "Value": 232, + "Segment": "Japan" + }, + { + "Category": "Joseph Sanchez", + "Value": 784, + "Segment": "USA" + }, + { + "Category": "Joseph Sanchez", + "Value": 602, + "Segment": "China" + }, + { + "Category": "Joseph Sanchez", + "Value": 934, + "Segment": "Japan" + }, + { + "Category": "Paul Perez", + "Value": 602, + "Segment": "USA" + }, + { + "Category": "Paul Perez", + "Value": 613, + "Segment": "China" + }, + { + "Category": "Paul Perez", + "Value": 344, + "Segment": "Japan" + }, + { + "Category": "Joshua Rodriguez", + "Value": 74, + "Segment": "USA" + }, + { + "Category": "Joshua Rodriguez", + "Value": 55, + "Segment": "China" + }, + { + "Category": "Joshua Rodriguez", + "Value": 657, + "Segment": "Japan" + }, + { + "Category": "Anthony Sanchez", + "Value": 373, + "Segment": "USA" + }, + { + "Category": "Anthony Sanchez", + "Value": 801, + "Segment": "China" + }, + { + "Category": "Anthony Sanchez", + "Value": 209, + "Segment": "Japan" + }, + { + "Category": "Linda King", + "Value": 76, + "Segment": "USA" + }, + { + "Category": "Linda King", + "Value": 713, + "Segment": "China" + }, + { + "Category": "Linda King", + "Value": 156, + "Segment": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/03-card6.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/03-card6.flint.json new file mode 100644 index 00000000..43493965 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/03-card6.flint.json @@ -0,0 +1,143 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "ColorVal": "Rank" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 628, + "ColorVal": 1 + }, + { + "Category": "Laptop", + "Value": 621, + "ColorVal": 2 + }, + { + "Category": "Laptop", + "Value": 178, + "ColorVal": 3 + }, + { + "Category": "Laptop", + "Value": 771, + "ColorVal": 4 + }, + { + "Category": "Phone", + "Value": 55, + "ColorVal": 1 + }, + { + "Category": "Phone", + "Value": 607, + "ColorVal": 2 + }, + { + "Category": "Phone", + "Value": 379, + "ColorVal": 3 + }, + { + "Category": "Phone", + "Value": 187, + "ColorVal": 4 + }, + { + "Category": "Tablet", + "Value": 571, + "ColorVal": 1 + }, + { + "Category": "Tablet", + "Value": 860, + "ColorVal": 2 + }, + { + "Category": "Tablet", + "Value": 656, + "ColorVal": 3 + }, + { + "Category": "Tablet", + "Value": 949, + "ColorVal": 4 + }, + { + "Category": "Desktop", + "Value": 787, + "ColorVal": 1 + }, + { + "Category": "Desktop", + "Value": 363, + "ColorVal": 2 + }, + { + "Category": "Desktop", + "Value": 255, + "ColorVal": 3 + }, + { + "Category": "Desktop", + "Value": 789, + "ColorVal": 4 + }, + { + "Category": "Monitor", + "Value": 724, + "ColorVal": 1 + }, + { + "Category": "Monitor", + "Value": 162, + "ColorVal": 2 + }, + { + "Category": "Monitor", + "Value": 951, + "ColorVal": 3 + }, + { + "Category": "Monitor", + "Value": 148, + "ColorVal": 4 + }, + { + "Category": "Keyboard", + "Value": 42, + "ColorVal": 1 + }, + { + "Category": "Keyboard", + "Value": 319, + "ColorVal": 2 + }, + { + "Category": "Keyboard", + "Value": 96, + "ColorVal": 3 + }, + { + "Category": "Keyboard", + "Value": 435, + "ColorVal": 4 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/04-card5.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/04-card5.flint.json new file mode 100644 index 00000000..f54c635d --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/04-card5.flint.json @@ -0,0 +1,773 @@ +{ + "semantic_types": { + "Category": "Category", + "Value": "Quantity", + "ColorVal": "Rank" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Category", + "y": "Value", + "color": "ColorVal" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Value": 278, + "ColorVal": 1 + }, + { + "Category": "Laptop", + "Value": 373, + "ColorVal": 2 + }, + { + "Category": "Laptop", + "Value": 137, + "ColorVal": 3 + }, + { + "Category": "Laptop", + "Value": 308, + "ColorVal": 4 + }, + { + "Category": "Laptop", + "Value": 88, + "ColorVal": 5 + }, + { + "Category": "Laptop", + "Value": 29, + "ColorVal": 6 + }, + { + "Category": "Laptop", + "Value": 766, + "ColorVal": 7 + }, + { + "Category": "Laptop", + "Value": 349, + "ColorVal": 8 + }, + { + "Category": "Laptop", + "Value": 566, + "ColorVal": 9 + }, + { + "Category": "Laptop", + "Value": 849, + "ColorVal": 10 + }, + { + "Category": "Laptop", + "Value": 990, + "ColorVal": 11 + }, + { + "Category": "Laptop", + "Value": 844, + "ColorVal": 12 + }, + { + "Category": "Laptop", + "Value": 600, + "ColorVal": 13 + }, + { + "Category": "Laptop", + "Value": 235, + "ColorVal": 14 + }, + { + "Category": "Laptop", + "Value": 574, + "ColorVal": 15 + }, + { + "Category": "Laptop", + "Value": 329, + "ColorVal": 16 + }, + { + "Category": "Laptop", + "Value": 27, + "ColorVal": 17 + }, + { + "Category": "Laptop", + "Value": 353, + "ColorVal": 18 + }, + { + "Category": "Laptop", + "Value": 797, + "ColorVal": 19 + }, + { + "Category": "Laptop", + "Value": 807, + "ColorVal": 20 + }, + { + "Category": "Laptop", + "Value": 159, + "ColorVal": 21 + }, + { + "Category": "Laptop", + "Value": 426, + "ColorVal": 22 + }, + { + "Category": "Laptop", + "Value": 423, + "ColorVal": 23 + }, + { + "Category": "Laptop", + "Value": 158, + "ColorVal": 24 + }, + { + "Category": "Laptop", + "Value": 396, + "ColorVal": 25 + }, + { + "Category": "Laptop", + "Value": 570, + "ColorVal": 26 + }, + { + "Category": "Laptop", + "Value": 334, + "ColorVal": 27 + }, + { + "Category": "Laptop", + "Value": 489, + "ColorVal": 28 + }, + { + "Category": "Laptop", + "Value": 349, + "ColorVal": 29 + }, + { + "Category": "Laptop", + "Value": 314, + "ColorVal": 30 + }, + { + "Category": "Phone", + "Value": 144, + "ColorVal": 1 + }, + { + "Category": "Phone", + "Value": 903, + "ColorVal": 2 + }, + { + "Category": "Phone", + "Value": 775, + "ColorVal": 3 + }, + { + "Category": "Phone", + "Value": 243, + "ColorVal": 4 + }, + { + "Category": "Phone", + "Value": 852, + "ColorVal": 5 + }, + { + "Category": "Phone", + "Value": 147, + "ColorVal": 6 + }, + { + "Category": "Phone", + "Value": 984, + "ColorVal": 7 + }, + { + "Category": "Phone", + "Value": 620, + "ColorVal": 8 + }, + { + "Category": "Phone", + "Value": 664, + "ColorVal": 9 + }, + { + "Category": "Phone", + "Value": 602, + "ColorVal": 10 + }, + { + "Category": "Phone", + "Value": 342, + "ColorVal": 11 + }, + { + "Category": "Phone", + "Value": 292, + "ColorVal": 12 + }, + { + "Category": "Phone", + "Value": 276, + "ColorVal": 13 + }, + { + "Category": "Phone", + "Value": 958, + "ColorVal": 14 + }, + { + "Category": "Phone", + "Value": 699, + "ColorVal": 15 + }, + { + "Category": "Phone", + "Value": 376, + "ColorVal": 16 + }, + { + "Category": "Phone", + "Value": 806, + "ColorVal": 17 + }, + { + "Category": "Phone", + "Value": 947, + "ColorVal": 18 + }, + { + "Category": "Phone", + "Value": 174, + "ColorVal": 19 + }, + { + "Category": "Phone", + "Value": 162, + "ColorVal": 20 + }, + { + "Category": "Phone", + "Value": 379, + "ColorVal": 21 + }, + { + "Category": "Phone", + "Value": 813, + "ColorVal": 22 + }, + { + "Category": "Phone", + "Value": 865, + "ColorVal": 23 + }, + { + "Category": "Phone", + "Value": 735, + "ColorVal": 24 + }, + { + "Category": "Phone", + "Value": 67, + "ColorVal": 25 + }, + { + "Category": "Phone", + "Value": 195, + "ColorVal": 26 + }, + { + "Category": "Phone", + "Value": 388, + "ColorVal": 27 + }, + { + "Category": "Phone", + "Value": 228, + "ColorVal": 28 + }, + { + "Category": "Phone", + "Value": 43, + "ColorVal": 29 + }, + { + "Category": "Phone", + "Value": 871, + "ColorVal": 30 + }, + { + "Category": "Tablet", + "Value": 762, + "ColorVal": 1 + }, + { + "Category": "Tablet", + "Value": 200, + "ColorVal": 2 + }, + { + "Category": "Tablet", + "Value": 184, + "ColorVal": 3 + }, + { + "Category": "Tablet", + "Value": 146, + "ColorVal": 4 + }, + { + "Category": "Tablet", + "Value": 65, + "ColorVal": 5 + }, + { + "Category": "Tablet", + "Value": 136, + "ColorVal": 6 + }, + { + "Category": "Tablet", + "Value": 64, + "ColorVal": 7 + }, + { + "Category": "Tablet", + "Value": 755, + "ColorVal": 8 + }, + { + "Category": "Tablet", + "Value": 410, + "ColorVal": 9 + }, + { + "Category": "Tablet", + "Value": 129, + "ColorVal": 10 + }, + { + "Category": "Tablet", + "Value": 565, + "ColorVal": 11 + }, + { + "Category": "Tablet", + "Value": 438, + "ColorVal": 12 + }, + { + "Category": "Tablet", + "Value": 998, + "ColorVal": 13 + }, + { + "Category": "Tablet", + "Value": 305, + "ColorVal": 14 + }, + { + "Category": "Tablet", + "Value": 72, + "ColorVal": 15 + }, + { + "Category": "Tablet", + "Value": 197, + "ColorVal": 16 + }, + { + "Category": "Tablet", + "Value": 739, + "ColorVal": 17 + }, + { + "Category": "Tablet", + "Value": 136, + "ColorVal": 18 + }, + { + "Category": "Tablet", + "Value": 560, + "ColorVal": 19 + }, + { + "Category": "Tablet", + "Value": 241, + "ColorVal": 20 + }, + { + "Category": "Tablet", + "Value": 243, + "ColorVal": 21 + }, + { + "Category": "Tablet", + "Value": 500, + "ColorVal": 22 + }, + { + "Category": "Tablet", + "Value": 383, + "ColorVal": 23 + }, + { + "Category": "Tablet", + "Value": 484, + "ColorVal": 24 + }, + { + "Category": "Tablet", + "Value": 338, + "ColorVal": 25 + }, + { + "Category": "Tablet", + "Value": 246, + "ColorVal": 26 + }, + { + "Category": "Tablet", + "Value": 872, + "ColorVal": 27 + }, + { + "Category": "Tablet", + "Value": 515, + "ColorVal": 28 + }, + { + "Category": "Tablet", + "Value": 931, + "ColorVal": 29 + }, + { + "Category": "Tablet", + "Value": 242, + "ColorVal": 30 + }, + { + "Category": "Desktop", + "Value": 794, + "ColorVal": 1 + }, + { + "Category": "Desktop", + "Value": 868, + "ColorVal": 2 + }, + { + "Category": "Desktop", + "Value": 261, + "ColorVal": 3 + }, + { + "Category": "Desktop", + "Value": 126, + "ColorVal": 4 + }, + { + "Category": "Desktop", + "Value": 506, + "ColorVal": 5 + }, + { + "Category": "Desktop", + "Value": 674, + "ColorVal": 6 + }, + { + "Category": "Desktop", + "Value": 659, + "ColorVal": 7 + }, + { + "Category": "Desktop", + "Value": 271, + "ColorVal": 8 + }, + { + "Category": "Desktop", + "Value": 827, + "ColorVal": 9 + }, + { + "Category": "Desktop", + "Value": 527, + "ColorVal": 10 + }, + { + "Category": "Desktop", + "Value": 195, + "ColorVal": 11 + }, + { + "Category": "Desktop", + "Value": 577, + "ColorVal": 12 + }, + { + "Category": "Desktop", + "Value": 808, + "ColorVal": 13 + }, + { + "Category": "Desktop", + "Value": 391, + "ColorVal": 14 + }, + { + "Category": "Desktop", + "Value": 624, + "ColorVal": 15 + }, + { + "Category": "Desktop", + "Value": 852, + "ColorVal": 16 + }, + { + "Category": "Desktop", + "Value": 805, + "ColorVal": 17 + }, + { + "Category": "Desktop", + "Value": 312, + "ColorVal": 18 + }, + { + "Category": "Desktop", + "Value": 869, + "ColorVal": 19 + }, + { + "Category": "Desktop", + "Value": 614, + "ColorVal": 20 + }, + { + "Category": "Desktop", + "Value": 587, + "ColorVal": 21 + }, + { + "Category": "Desktop", + "Value": 918, + "ColorVal": 22 + }, + { + "Category": "Desktop", + "Value": 132, + "ColorVal": 23 + }, + { + "Category": "Desktop", + "Value": 972, + "ColorVal": 24 + }, + { + "Category": "Desktop", + "Value": 377, + "ColorVal": 25 + }, + { + "Category": "Desktop", + "Value": 727, + "ColorVal": 26 + }, + { + "Category": "Desktop", + "Value": 110, + "ColorVal": 27 + }, + { + "Category": "Desktop", + "Value": 321, + "ColorVal": 28 + }, + { + "Category": "Desktop", + "Value": 913, + "ColorVal": 29 + }, + { + "Category": "Desktop", + "Value": 738, + "ColorVal": 30 + }, + { + "Category": "Monitor", + "Value": 401, + "ColorVal": 1 + }, + { + "Category": "Monitor", + "Value": 224, + "ColorVal": 2 + }, + { + "Category": "Monitor", + "Value": 203, + "ColorVal": 3 + }, + { + "Category": "Monitor", + "Value": 873, + "ColorVal": 4 + }, + { + "Category": "Monitor", + "Value": 388, + "ColorVal": 5 + }, + { + "Category": "Monitor", + "Value": 506, + "ColorVal": 6 + }, + { + "Category": "Monitor", + "Value": 488, + "ColorVal": 7 + }, + { + "Category": "Monitor", + "Value": 71, + "ColorVal": 8 + }, + { + "Category": "Monitor", + "Value": 249, + "ColorVal": 9 + }, + { + "Category": "Monitor", + "Value": 730, + "ColorVal": 10 + }, + { + "Category": "Monitor", + "Value": 673, + "ColorVal": 11 + }, + { + "Category": "Monitor", + "Value": 928, + "ColorVal": 12 + }, + { + "Category": "Monitor", + "Value": 80, + "ColorVal": 13 + }, + { + "Category": "Monitor", + "Value": 850, + "ColorVal": 14 + }, + { + "Category": "Monitor", + "Value": 889, + "ColorVal": 15 + }, + { + "Category": "Monitor", + "Value": 808, + "ColorVal": 16 + }, + { + "Category": "Monitor", + "Value": 41, + "ColorVal": 17 + }, + { + "Category": "Monitor", + "Value": 932, + "ColorVal": 18 + }, + { + "Category": "Monitor", + "Value": 825, + "ColorVal": 19 + }, + { + "Category": "Monitor", + "Value": 991, + "ColorVal": 20 + }, + { + "Category": "Monitor", + "Value": 852, + "ColorVal": 21 + }, + { + "Category": "Monitor", + "Value": 387, + "ColorVal": 22 + }, + { + "Category": "Monitor", + "Value": 340, + "ColorVal": 23 + }, + { + "Category": "Monitor", + "Value": 360, + "ColorVal": 24 + }, + { + "Category": "Monitor", + "Value": 281, + "ColorVal": 25 + }, + { + "Category": "Monitor", + "Value": 123, + "ColorVal": 26 + }, + { + "Category": "Monitor", + "Value": 340, + "ColorVal": 27 + }, + { + "Category": "Monitor", + "Value": 525, + "ColorVal": 28 + }, + { + "Category": "Monitor", + "Value": 529, + "ColorVal": 29 + }, + { + "Category": "Monitor", + "Value": 329, + "ColorVal": 30 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/05-card10.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/05-card10.flint.json new file mode 100644 index 00000000..41ae8c30 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/05-card10.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 300, + "Segment": "Laptop" + }, + { + "Date": "2020-01-01", + "Value": 961, + "Segment": "Phone" + }, + { + "Date": "2020-01-01", + "Value": 741, + "Segment": "Tablet" + }, + { + "Date": "2020-04-19", + "Value": 606, + "Segment": "Laptop" + }, + { + "Date": "2020-04-19", + "Value": 194, + "Segment": "Phone" + }, + { + "Date": "2020-04-19", + "Value": 823, + "Segment": "Tablet" + }, + { + "Date": "2020-08-07", + "Value": 952, + "Segment": "Laptop" + }, + { + "Date": "2020-08-07", + "Value": 532, + "Segment": "Phone" + }, + { + "Date": "2020-08-07", + "Value": 405, + "Segment": "Tablet" + }, + { + "Date": "2020-11-24", + "Value": 989, + "Segment": "Laptop" + }, + { + "Date": "2020-11-24", + "Value": 833, + "Segment": "Phone" + }, + { + "Date": "2020-11-24", + "Value": 838, + "Segment": "Tablet" + }, + { + "Date": "2021-03-14", + "Value": 217, + "Segment": "Laptop" + }, + { + "Date": "2021-03-14", + "Value": 807, + "Segment": "Phone" + }, + { + "Date": "2021-03-14", + "Value": 593, + "Segment": "Tablet" + }, + { + "Date": "2021-07-01", + "Value": 712, + "Segment": "Laptop" + }, + { + "Date": "2021-07-01", + "Value": 381, + "Segment": "Phone" + }, + { + "Date": "2021-07-01", + "Value": 323, + "Segment": "Tablet" + }, + { + "Date": "2021-10-19", + "Value": 741, + "Segment": "Laptop" + }, + { + "Date": "2021-10-19", + "Value": 333, + "Segment": "Phone" + }, + { + "Date": "2021-10-19", + "Value": 837, + "Segment": "Tablet" + }, + { + "Date": "2022-02-05", + "Value": 395, + "Segment": "Laptop" + }, + { + "Date": "2022-02-05", + "Value": 81, + "Segment": "Phone" + }, + { + "Date": "2022-02-05", + "Value": 562, + "Segment": "Tablet" + }, + { + "Date": "2022-05-26", + "Value": 442, + "Segment": "Laptop" + }, + { + "Date": "2022-05-26", + "Value": 553, + "Segment": "Phone" + }, + { + "Date": "2022-05-26", + "Value": 813, + "Segment": "Tablet" + }, + { + "Date": "2022-09-12", + "Value": 194, + "Segment": "Laptop" + }, + { + "Date": "2022-09-12", + "Value": 658, + "Segment": "Phone" + }, + { + "Date": "2022-09-12", + "Value": 78, + "Segment": "Tablet" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/06-card20.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/06-card20.flint.json new file mode 100644 index 00000000..b2d887f9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/06-card20.flint.json @@ -0,0 +1,423 @@ +{ + "semantic_types": { + "Date": "Date", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Date", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Date": "2020-01-01", + "Value": 283, + "Segment": "Laptop" + }, + { + "Date": "2020-01-01", + "Value": 509, + "Segment": "Phone" + }, + { + "Date": "2020-01-01", + "Value": 946, + "Segment": "Tablet" + }, + { + "Date": "2020-01-01", + "Value": 971, + "Segment": "Desktop" + }, + { + "Date": "2020-02-24", + "Value": 992, + "Segment": "Laptop" + }, + { + "Date": "2020-02-24", + "Value": 76, + "Segment": "Phone" + }, + { + "Date": "2020-02-24", + "Value": 772, + "Segment": "Tablet" + }, + { + "Date": "2020-02-24", + "Value": 275, + "Segment": "Desktop" + }, + { + "Date": "2020-04-19", + "Value": 26, + "Segment": "Laptop" + }, + { + "Date": "2020-04-19", + "Value": 546, + "Segment": "Phone" + }, + { + "Date": "2020-04-19", + "Value": 47, + "Segment": "Tablet" + }, + { + "Date": "2020-04-19", + "Value": 322, + "Segment": "Desktop" + }, + { + "Date": "2020-06-13", + "Value": 715, + "Segment": "Laptop" + }, + { + "Date": "2020-06-13", + "Value": 780, + "Segment": "Phone" + }, + { + "Date": "2020-06-13", + "Value": 451, + "Segment": "Tablet" + }, + { + "Date": "2020-06-13", + "Value": 712, + "Segment": "Desktop" + }, + { + "Date": "2020-08-07", + "Value": 362, + "Segment": "Laptop" + }, + { + "Date": "2020-08-07", + "Value": 383, + "Segment": "Phone" + }, + { + "Date": "2020-08-07", + "Value": 653, + "Segment": "Tablet" + }, + { + "Date": "2020-08-07", + "Value": 326, + "Segment": "Desktop" + }, + { + "Date": "2020-09-30", + "Value": 959, + "Segment": "Laptop" + }, + { + "Date": "2020-09-30", + "Value": 814, + "Segment": "Phone" + }, + { + "Date": "2020-09-30", + "Value": 58, + "Segment": "Tablet" + }, + { + "Date": "2020-09-30", + "Value": 129, + "Segment": "Desktop" + }, + { + "Date": "2020-11-24", + "Value": 423, + "Segment": "Laptop" + }, + { + "Date": "2020-11-24", + "Value": 902, + "Segment": "Phone" + }, + { + "Date": "2020-11-24", + "Value": 24, + "Segment": "Tablet" + }, + { + "Date": "2020-11-24", + "Value": 345, + "Segment": "Desktop" + }, + { + "Date": "2021-01-18", + "Value": 97, + "Segment": "Laptop" + }, + { + "Date": "2021-01-18", + "Value": 621, + "Segment": "Phone" + }, + { + "Date": "2021-01-18", + "Value": 323, + "Segment": "Tablet" + }, + { + "Date": "2021-01-18", + "Value": 481, + "Segment": "Desktop" + }, + { + "Date": "2021-03-14", + "Value": 954, + "Segment": "Laptop" + }, + { + "Date": "2021-03-14", + "Value": 994, + "Segment": "Phone" + }, + { + "Date": "2021-03-14", + "Value": 284, + "Segment": "Tablet" + }, + { + "Date": "2021-03-14", + "Value": 410, + "Segment": "Desktop" + }, + { + "Date": "2021-05-07", + "Value": 493, + "Segment": "Laptop" + }, + { + "Date": "2021-05-07", + "Value": 766, + "Segment": "Phone" + }, + { + "Date": "2021-05-07", + "Value": 731, + "Segment": "Tablet" + }, + { + "Date": "2021-05-07", + "Value": 753, + "Segment": "Desktop" + }, + { + "Date": "2021-07-01", + "Value": 320, + "Segment": "Laptop" + }, + { + "Date": "2021-07-01", + "Value": 735, + "Segment": "Phone" + }, + { + "Date": "2021-07-01", + "Value": 569, + "Segment": "Tablet" + }, + { + "Date": "2021-07-01", + "Value": 209, + "Segment": "Desktop" + }, + { + "Date": "2021-08-25", + "Value": 953, + "Segment": "Laptop" + }, + { + "Date": "2021-08-25", + "Value": 578, + "Segment": "Phone" + }, + { + "Date": "2021-08-25", + "Value": 80, + "Segment": "Tablet" + }, + { + "Date": "2021-08-25", + "Value": 276, + "Segment": "Desktop" + }, + { + "Date": "2021-10-19", + "Value": 649, + "Segment": "Laptop" + }, + { + "Date": "2021-10-19", + "Value": 232, + "Segment": "Phone" + }, + { + "Date": "2021-10-19", + "Value": 938, + "Segment": "Tablet" + }, + { + "Date": "2021-10-19", + "Value": 48, + "Segment": "Desktop" + }, + { + "Date": "2021-12-12", + "Value": 371, + "Segment": "Laptop" + }, + { + "Date": "2021-12-12", + "Value": 698, + "Segment": "Phone" + }, + { + "Date": "2021-12-12", + "Value": 810, + "Segment": "Tablet" + }, + { + "Date": "2021-12-12", + "Value": 179, + "Segment": "Desktop" + }, + { + "Date": "2022-02-05", + "Value": 217, + "Segment": "Laptop" + }, + { + "Date": "2022-02-05", + "Value": 239, + "Segment": "Phone" + }, + { + "Date": "2022-02-05", + "Value": 208, + "Segment": "Tablet" + }, + { + "Date": "2022-02-05", + "Value": 763, + "Segment": "Desktop" + }, + { + "Date": "2022-04-01", + "Value": 503, + "Segment": "Laptop" + }, + { + "Date": "2022-04-01", + "Value": 499, + "Segment": "Phone" + }, + { + "Date": "2022-04-01", + "Value": 932, + "Segment": "Tablet" + }, + { + "Date": "2022-04-01", + "Value": 176, + "Segment": "Desktop" + }, + { + "Date": "2022-05-26", + "Value": 869, + "Segment": "Laptop" + }, + { + "Date": "2022-05-26", + "Value": 296, + "Segment": "Phone" + }, + { + "Date": "2022-05-26", + "Value": 888, + "Segment": "Tablet" + }, + { + "Date": "2022-05-26", + "Value": 423, + "Segment": "Desktop" + }, + { + "Date": "2022-07-19", + "Value": 359, + "Segment": "Laptop" + }, + { + "Date": "2022-07-19", + "Value": 77, + "Segment": "Phone" + }, + { + "Date": "2022-07-19", + "Value": 291, + "Segment": "Tablet" + }, + { + "Date": "2022-07-19", + "Value": 666, + "Segment": "Desktop" + }, + { + "Date": "2022-09-12", + "Value": 419, + "Segment": "Laptop" + }, + { + "Date": "2022-09-12", + "Value": 353, + "Segment": "Phone" + }, + { + "Date": "2022-09-12", + "Value": 862, + "Segment": "Tablet" + }, + { + "Date": "2022-09-12", + "Value": 832, + "Segment": "Desktop" + }, + { + "Date": "2022-11-06", + "Value": 112, + "Segment": "Laptop" + }, + { + "Date": "2022-11-06", + "Value": 913, + "Segment": "Phone" + }, + { + "Date": "2022-11-06", + "Value": 801, + "Segment": "Tablet" + }, + { + "Date": "2022-11-06", + "Value": 939, + "Segment": "Desktop" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/07-card10.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/07-card10.flint.json new file mode 100644 index 00000000..87e89390 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/07-card10.flint.json @@ -0,0 +1,173 @@ +{ + "semantic_types": { + "X": "Quantity", + "Value": "Quantity", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "X", + "y": "Value", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "X": 1, + "Value": 299, + "Segment": "Laptop" + }, + { + "X": 1, + "Value": 927, + "Segment": "Phone" + }, + { + "X": 1, + "Value": 362, + "Segment": "Tablet" + }, + { + "X": 2, + "Value": 321, + "Segment": "Laptop" + }, + { + "X": 2, + "Value": 677, + "Segment": "Phone" + }, + { + "X": 2, + "Value": 138, + "Segment": "Tablet" + }, + { + "X": 3, + "Value": 526, + "Segment": "Laptop" + }, + { + "X": 3, + "Value": 227, + "Segment": "Phone" + }, + { + "X": 3, + "Value": 901, + "Segment": "Tablet" + }, + { + "X": 4, + "Value": 245, + "Segment": "Laptop" + }, + { + "X": 4, + "Value": 453, + "Segment": "Phone" + }, + { + "X": 4, + "Value": 905, + "Segment": "Tablet" + }, + { + "X": 5, + "Value": 850, + "Segment": "Laptop" + }, + { + "X": 5, + "Value": 757, + "Segment": "Phone" + }, + { + "X": 5, + "Value": 334, + "Segment": "Tablet" + }, + { + "X": 6, + "Value": 638, + "Segment": "Laptop" + }, + { + "X": 6, + "Value": 324, + "Segment": "Phone" + }, + { + "X": 6, + "Value": 582, + "Segment": "Tablet" + }, + { + "X": 7, + "Value": 917, + "Segment": "Laptop" + }, + { + "X": 7, + "Value": 421, + "Segment": "Phone" + }, + { + "X": 7, + "Value": 313, + "Segment": "Tablet" + }, + { + "X": 8, + "Value": 132, + "Segment": "Laptop" + }, + { + "X": 8, + "Value": 719, + "Segment": "Phone" + }, + { + "X": 8, + "Value": 470, + "Segment": "Tablet" + }, + { + "X": 9, + "Value": 388, + "Segment": "Laptop" + }, + { + "X": 9, + "Value": 115, + "Segment": "Phone" + }, + { + "X": 9, + "Value": 508, + "Segment": "Tablet" + }, + { + "X": 10, + "Value": 328, + "Segment": "Laptop" + }, + { + "X": 10, + "Value": 681, + "Segment": "Phone" + }, + { + "X": 10, + "Value": 525, + "Segment": "Tablet" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/08-card23.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/08-card23.flint.json new file mode 100644 index 00000000..15ddd710 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/08-card23.flint.json @@ -0,0 +1,143 @@ +{ + "semantic_types": { + "X": "Quantity", + "Group": "Category", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "X", + "y": "Group", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Group": "Laptop", + "X": 906, + "Segment": "USA" + }, + { + "Group": "Laptop", + "X": 619, + "Segment": "China" + }, + { + "Group": "Laptop", + "X": 389, + "Segment": "Japan" + }, + { + "Group": "Phone", + "X": 163, + "Segment": "USA" + }, + { + "Group": "Phone", + "X": 91, + "Segment": "China" + }, + { + "Group": "Phone", + "X": 314, + "Segment": "Japan" + }, + { + "Group": "Tablet", + "X": 566, + "Segment": "USA" + }, + { + "Group": "Tablet", + "X": 845, + "Segment": "China" + }, + { + "Group": "Tablet", + "X": 60, + "Segment": "Japan" + }, + { + "Group": "Desktop", + "X": 274, + "Segment": "USA" + }, + { + "Group": "Desktop", + "X": 92, + "Segment": "China" + }, + { + "Group": "Desktop", + "X": 223, + "Segment": "Japan" + }, + { + "Group": "Monitor", + "X": 725, + "Segment": "USA" + }, + { + "Group": "Monitor", + "X": 14, + "Segment": "China" + }, + { + "Group": "Monitor", + "X": 315, + "Segment": "Japan" + }, + { + "Group": "Keyboard", + "X": 757, + "Segment": "USA" + }, + { + "Group": "Keyboard", + "X": 486, + "Segment": "China" + }, + { + "Group": "Keyboard", + "X": 304, + "Segment": "Japan" + }, + { + "Group": "Mouse", + "X": 381, + "Segment": "USA" + }, + { + "Group": "Mouse", + "X": 388, + "Segment": "China" + }, + { + "Group": "Mouse", + "X": 906, + "Segment": "Japan" + }, + { + "Group": "Headphones", + "X": 441, + "Segment": "USA" + }, + { + "Group": "Headphones", + "X": 695, + "Segment": "China" + }, + { + "Group": "Headphones", + "X": 564, + "Segment": "Japan" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/09-card43.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/09-card43.flint.json new file mode 100644 index 00000000..71a562a5 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/09-card43.flint.json @@ -0,0 +1,248 @@ +{ + "semantic_types": { + "X": "Quantity", + "EndDate": "Date", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "X", + "y": "EndDate", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "EndDate": "2020-01-01", + "X": 403, + "Segment": "Laptop" + }, + { + "EndDate": "2020-01-01", + "X": 206, + "Segment": "Phone" + }, + { + "EndDate": "2020-01-01", + "X": 183, + "Segment": "Tablet" + }, + { + "EndDate": "2020-03-14", + "X": 265, + "Segment": "Laptop" + }, + { + "EndDate": "2020-03-14", + "X": 151, + "Segment": "Phone" + }, + { + "EndDate": "2020-03-14", + "X": 231, + "Segment": "Tablet" + }, + { + "EndDate": "2020-05-26", + "X": 338, + "Segment": "Laptop" + }, + { + "EndDate": "2020-05-26", + "X": 33, + "Segment": "Phone" + }, + { + "EndDate": "2020-05-26", + "X": 211, + "Segment": "Tablet" + }, + { + "EndDate": "2020-08-07", + "X": 468, + "Segment": "Laptop" + }, + { + "EndDate": "2020-08-07", + "X": 275, + "Segment": "Phone" + }, + { + "EndDate": "2020-08-07", + "X": 233, + "Segment": "Tablet" + }, + { + "EndDate": "2020-10-19", + "X": 474, + "Segment": "Laptop" + }, + { + "EndDate": "2020-10-19", + "X": 742, + "Segment": "Phone" + }, + { + "EndDate": "2020-10-19", + "X": 470, + "Segment": "Tablet" + }, + { + "EndDate": "2020-12-31", + "X": 962, + "Segment": "Laptop" + }, + { + "EndDate": "2020-12-31", + "X": 110, + "Segment": "Phone" + }, + { + "EndDate": "2020-12-31", + "X": 940, + "Segment": "Tablet" + }, + { + "EndDate": "2021-03-14", + "X": 98, + "Segment": "Laptop" + }, + { + "EndDate": "2021-03-14", + "X": 202, + "Segment": "Phone" + }, + { + "EndDate": "2021-03-14", + "X": 259, + "Segment": "Tablet" + }, + { + "EndDate": "2021-05-26", + "X": 849, + "Segment": "Laptop" + }, + { + "EndDate": "2021-05-26", + "X": 334, + "Segment": "Phone" + }, + { + "EndDate": "2021-05-26", + "X": 770, + "Segment": "Tablet" + }, + { + "EndDate": "2021-08-07", + "X": 869, + "Segment": "Laptop" + }, + { + "EndDate": "2021-08-07", + "X": 172, + "Segment": "Phone" + }, + { + "EndDate": "2021-08-07", + "X": 291, + "Segment": "Tablet" + }, + { + "EndDate": "2021-10-19", + "X": 231, + "Segment": "Laptop" + }, + { + "EndDate": "2021-10-19", + "X": 873, + "Segment": "Phone" + }, + { + "EndDate": "2021-10-19", + "X": 654, + "Segment": "Tablet" + }, + { + "EndDate": "2021-12-31", + "X": 293, + "Segment": "Laptop" + }, + { + "EndDate": "2021-12-31", + "X": 715, + "Segment": "Phone" + }, + { + "EndDate": "2021-12-31", + "X": 416, + "Segment": "Tablet" + }, + { + "EndDate": "2022-03-14", + "X": 492, + "Segment": "Laptop" + }, + { + "EndDate": "2022-03-14", + "X": 750, + "Segment": "Phone" + }, + { + "EndDate": "2022-03-14", + "X": 156, + "Segment": "Tablet" + }, + { + "EndDate": "2022-05-26", + "X": 597, + "Segment": "Laptop" + }, + { + "EndDate": "2022-05-26", + "X": 35, + "Segment": "Phone" + }, + { + "EndDate": "2022-05-26", + "X": 323, + "Segment": "Tablet" + }, + { + "EndDate": "2022-08-07", + "X": 780, + "Segment": "Laptop" + }, + { + "EndDate": "2022-08-07", + "X": 270, + "Segment": "Phone" + }, + { + "EndDate": "2022-08-07", + "X": 251, + "Segment": "Tablet" + }, + { + "EndDate": "2022-10-19", + "X": 460, + "Segment": "Laptop" + }, + { + "EndDate": "2022-10-19", + "X": 280, + "Segment": "Phone" + }, + { + "EndDate": "2022-10-19", + "X": 338, + "Segment": "Tablet" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/stacked-bar-chart/10-card5.flint.json b/test-harness/excel/evaluations/inputs/stacked-bar-chart/10-card5.flint.json new file mode 100644 index 00000000..95e39781 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/stacked-bar-chart/10-card5.flint.json @@ -0,0 +1,93 @@ +{ + "semantic_types": { + "Category": "Category", + "Group": "Category", + "Segment": "Category" + }, + "chart_spec": { + "chartType": "Stacked Bar Chart", + "encodings": { + "x": "Category", + "y": "Group", + "color": "Segment" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Laptop", + "Group": "USA", + "Segment": "Sales" + }, + { + "Category": "Laptop", + "Group": "UK", + "Segment": "Sales" + }, + { + "Category": "Phone", + "Group": "USA", + "Segment": "Sales" + }, + { + "Category": "Phone", + "Group": "Germany", + "Segment": "Sales" + }, + { + "Category": "Phone", + "Group": "UK", + "Segment": "Engineering" + }, + { + "Category": "Tablet", + "Group": "USA", + "Segment": "Sales" + }, + { + "Category": "Tablet", + "Group": "China", + "Segment": "Marketing" + }, + { + "Category": "Tablet", + "Group": "Germany", + "Segment": "Engineering" + }, + { + "Category": "Desktop", + "Group": "China", + "Segment": "Engineering" + }, + { + "Category": "Desktop", + "Group": "Japan", + "Segment": "Engineering" + }, + { + "Category": "Desktop", + "Group": "Germany", + "Segment": "Sales" + }, + { + "Category": "Desktop", + "Group": "UK", + "Segment": "Engineering" + }, + { + "Category": "Monitor", + "Group": "Japan", + "Segment": "Engineering" + }, + { + "Category": "Monitor", + "Group": "Germany", + "Segment": "Marketing" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/sunburst-chart/00-card0.flint.json b/test-harness/excel/evaluations/inputs/sunburst-chart/00-card0.flint.json new file mode 100644 index 00000000..e6485227 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/sunburst-chart/00-card0.flint.json @@ -0,0 +1,45 @@ +{ + "semantic_types": { + "Category": "Category", + "Amount": "Quantity" + }, + "chart_spec": { + "chartType": "Sunburst Chart", + "encodings": { + "color": "Category", + "size": "Amount" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Housing", + "Amount": 228 + }, + { + "Category": "Food", + "Amount": 1736 + }, + { + "Category": "Transport", + "Amount": 379 + }, + { + "Category": "Entertainment", + "Amount": 1340 + }, + { + "Category": "Savings", + "Amount": 2162 + }, + { + "Category": "Healthcare", + "Amount": 453 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/sunburst-chart/01-card0.flint.json b/test-harness/excel/evaluations/inputs/sunburst-chart/01-card0.flint.json new file mode 100644 index 00000000..bb63ebc1 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/sunburst-chart/01-card0.flint.json @@ -0,0 +1,73 @@ +{ + "semantic_types": { + "Department": "Category", + "Team": "Category", + "Headcount": "Quantity" + }, + "chart_spec": { + "chartType": "Sunburst Chart", + "encodings": { + "color": "Department", + "group": "Team", + "size": "Headcount" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Department": "Engineering", + "Team": "Frontend", + "Headcount": 39 + }, + { + "Department": "Engineering", + "Team": "Backend", + "Headcount": 53 + }, + { + "Department": "Engineering", + "Team": "Infra", + "Headcount": 42 + }, + { + "Department": "Engineering", + "Team": "QA", + "Headcount": 27 + }, + { + "Department": "Product", + "Team": "Design", + "Headcount": 20 + }, + { + "Department": "Product", + "Team": "PM", + "Headcount": 52 + }, + { + "Department": "Product", + "Team": "Research", + "Headcount": 42 + }, + { + "Department": "Operations", + "Team": "HR", + "Headcount": 16 + }, + { + "Department": "Operations", + "Team": "Finance", + "Headcount": 17 + }, + { + "Department": "Operations", + "Team": "Legal", + "Headcount": 28 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/sunburst-chart/02-card0.flint.json b/test-harness/excel/evaluations/inputs/sunburst-chart/02-card0.flint.json new file mode 100644 index 00000000..35a388d3 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/sunburst-chart/02-card0.flint.json @@ -0,0 +1,103 @@ +{ + "semantic_types": { + "Continent": "Category", + "Country": "Country", + "Population": "Quantity" + }, + "chart_spec": { + "chartType": "Sunburst Chart", + "encodings": { + "color": "Continent", + "group": "Country", + "size": "Population" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Continent": "North America", + "Country": "USA", + "Population": 106 + }, + { + "Continent": "North America", + "Country": "Canada", + "Population": 1209 + }, + { + "Continent": "North America", + "Country": "Mexico", + "Population": 217 + }, + { + "Continent": "Europe", + "Country": "UK", + "Population": 452 + }, + { + "Continent": "Europe", + "Country": "France", + "Population": 675 + }, + { + "Continent": "Europe", + "Country": "Germany", + "Population": 277 + }, + { + "Continent": "Europe", + "Country": "Spain", + "Population": 231 + }, + { + "Continent": "Europe", + "Country": "Italy", + "Population": 1110 + }, + { + "Continent": "Asia", + "Country": "China", + "Population": 151 + }, + { + "Continent": "Asia", + "Country": "Japan", + "Population": 671 + }, + { + "Continent": "Asia", + "Country": "India", + "Population": 762 + }, + { + "Continent": "Asia", + "Country": "Korea", + "Population": 86 + }, + { + "Continent": "Asia", + "Country": "Thailand", + "Population": 1128 + }, + { + "Continent": "South America", + "Country": "Brazil", + "Population": 210 + }, + { + "Continent": "South America", + "Country": "Argentina", + "Population": 818 + }, + { + "Continent": "South America", + "Country": "Chile", + "Population": 1349 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/treemap/00-card0.flint.json b/test-harness/excel/evaluations/inputs/treemap/00-card0.flint.json new file mode 100644 index 00000000..23cb1729 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/treemap/00-card0.flint.json @@ -0,0 +1,45 @@ +{ + "semantic_types": { + "Sector": "Category", + "MarketCap": "Quantity" + }, + "chart_spec": { + "chartType": "Treemap", + "encodings": { + "color": "Sector", + "size": "MarketCap" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Sector": "Technology", + "MarketCap": 560 + }, + { + "Sector": "Healthcare", + "MarketCap": 3264 + }, + { + "Sector": "Finance", + "MarketCap": 2881 + }, + { + "Sector": "Energy", + "MarketCap": 3674 + }, + { + "Sector": "Consumer", + "MarketCap": 3669 + }, + { + "Sector": "Industrials", + "MarketCap": 1538 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/treemap/01-card0.flint.json b/test-harness/excel/evaluations/inputs/treemap/01-card0.flint.json new file mode 100644 index 00000000..5fad82a9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/treemap/01-card0.flint.json @@ -0,0 +1,83 @@ +{ + "semantic_types": { + "Region": "Category", + "Country": "Country", + "Revenue": "Amount" + }, + "chart_spec": { + "chartType": "Treemap", + "encodings": { + "color": "Region", + "detail": "Country", + "size": "Revenue" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Region": "Americas", + "Country": "USA", + "Revenue": 2052 + }, + { + "Region": "Americas", + "Country": "Canada", + "Revenue": 240 + }, + { + "Region": "Americas", + "Country": "Brazil", + "Revenue": 1708 + }, + { + "Region": "Americas", + "Country": "Mexico", + "Revenue": 2056 + }, + { + "Region": "Europe", + "Country": "UK", + "Revenue": 2007 + }, + { + "Region": "Europe", + "Country": "Germany", + "Revenue": 116 + }, + { + "Region": "Europe", + "Country": "France", + "Revenue": 1382 + }, + { + "Region": "Europe", + "Country": "Italy", + "Revenue": 1645 + }, + { + "Region": "Asia", + "Country": "China", + "Revenue": 1870 + }, + { + "Region": "Asia", + "Country": "Japan", + "Revenue": 1081 + }, + { + "Region": "Asia", + "Country": "India", + "Revenue": 2008 + }, + { + "Region": "Asia", + "Country": "Korea", + "Revenue": 274 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/treemap/02-card0.flint.json b/test-harness/excel/evaluations/inputs/treemap/02-card0.flint.json new file mode 100644 index 00000000..56db1fa9 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/treemap/02-card0.flint.json @@ -0,0 +1,81 @@ +{ + "semantic_types": { + "Item": "Category", + "Size": "Quantity" + }, + "chart_spec": { + "chartType": "Treemap", + "encodings": { + "color": "Item", + "size": "Size" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Item": "Electronics", + "Size": 453 + }, + { + "Item": "Clothing", + "Size": 366 + }, + { + "Item": "Food", + "Size": 413 + }, + { + "Item": "Books", + "Size": 307 + }, + { + "Item": "Sports", + "Size": 180 + }, + { + "Item": "Home", + "Size": 421 + }, + { + "Item": "Garden", + "Size": 292 + }, + { + "Item": "Auto", + "Size": 439 + }, + { + "Item": "Health", + "Size": 220 + }, + { + "Item": "Beauty", + "Size": 381 + }, + { + "Item": "Toys", + "Size": 149 + }, + { + "Item": "Music", + "Size": 62 + }, + { + "Item": "Movies", + "Size": 323 + }, + { + "Item": "Software", + "Size": 418 + }, + { + "Item": "Games", + "Size": 135 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/waterfall-chart/00-card6.flint.json b/test-harness/excel/evaluations/inputs/waterfall-chart/00-card6.flint.json new file mode 100644 index 00000000..5039168c --- /dev/null +++ b/test-harness/excel/evaluations/inputs/waterfall-chart/00-card6.flint.json @@ -0,0 +1,45 @@ +{ + "semantic_types": { + "Category": "Category", + "Amount": "Quantity" + }, + "chart_spec": { + "chartType": "Waterfall Chart", + "encodings": { + "x": "Category", + "y": "Amount" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Category": "Revenue", + "Amount": 1000 + }, + { + "Category": "COGS", + "Amount": -400 + }, + { + "Category": "Gross Profit", + "Amount": -150 + }, + { + "Category": "Operating Exp", + "Amount": -200 + }, + { + "Category": "Tax", + "Amount": -80 + }, + { + "Category": "Net Income", + "Amount": 170 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/waterfall-chart/01-card7.flint.json b/test-harness/excel/evaluations/inputs/waterfall-chart/01-card7.flint.json new file mode 100644 index 00000000..e09f3162 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/waterfall-chart/01-card7.flint.json @@ -0,0 +1,58 @@ +{ + "semantic_types": { + "Step": "Category", + "Value": "Quantity", + "Type": "Category" + }, + "chart_spec": { + "chartType": "Waterfall Chart", + "encodings": { + "x": "Step", + "y": "Value", + "color": "Type" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Step": "Starting Balance", + "Value": 5000, + "Type": "start" + }, + { + "Step": "Sales", + "Value": 2200, + "Type": "delta" + }, + { + "Step": "Returns", + "Value": -350, + "Type": "delta" + }, + { + "Step": "Payroll", + "Value": -1800, + "Type": "delta" + }, + { + "Step": "Rent", + "Value": -600, + "Type": "delta" + }, + { + "Step": "Marketing", + "Value": -400, + "Type": "delta" + }, + { + "Step": "Ending Balance", + "Value": 4050, + "Type": "end" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/waterfall-chart/02-card7.flint.json b/test-harness/excel/evaluations/inputs/waterfall-chart/02-card7.flint.json new file mode 100644 index 00000000..4d3d8122 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/waterfall-chart/02-card7.flint.json @@ -0,0 +1,49 @@ +{ + "semantic_types": { + "Department": "Category", + "Variance": "Quantity" + }, + "chart_spec": { + "chartType": "Waterfall Chart", + "encodings": { + "x": "Department", + "y": "Variance" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Department": "Engineering", + "Variance": 120 + }, + { + "Department": "Sales", + "Variance": -45 + }, + { + "Department": "Marketing", + "Variance": -80 + }, + { + "Department": "Operations", + "Variance": 35 + }, + { + "Department": "HR", + "Variance": -20 + }, + { + "Department": "Finance", + "Variance": 15 + }, + { + "Department": "Support", + "Variance": -30 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/waterfall-chart/03-card14.flint.json b/test-harness/excel/evaluations/inputs/waterfall-chart/03-card14.flint.json new file mode 100644 index 00000000..0e5e8802 --- /dev/null +++ b/test-harness/excel/evaluations/inputs/waterfall-chart/03-card14.flint.json @@ -0,0 +1,93 @@ +{ + "semantic_types": { + "Month": "Category", + "Amount": "Quantity", + "Type": "Category" + }, + "chart_spec": { + "chartType": "Waterfall Chart", + "encodings": { + "x": "Month", + "y": "Amount", + "color": "Type" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Month": "Opening", + "Amount": 10000, + "Type": "start" + }, + { + "Month": "Jan", + "Amount": 500, + "Type": "delta" + }, + { + "Month": "Feb", + "Amount": 200, + "Type": "delta" + }, + { + "Month": "Mar", + "Amount": -150, + "Type": "delta" + }, + { + "Month": "Apr", + "Amount": 300, + "Type": "delta" + }, + { + "Month": "May", + "Amount": -100, + "Type": "delta" + }, + { + "Month": "Jun", + "Amount": -250, + "Type": "delta" + }, + { + "Month": "Jul", + "Amount": 400, + "Type": "delta" + }, + { + "Month": "Aug", + "Amount": 150, + "Type": "delta" + }, + { + "Month": "Sep", + "Amount": -300, + "Type": "delta" + }, + { + "Month": "Oct", + "Amount": 200, + "Type": "delta" + }, + { + "Month": "Nov", + "Amount": -50, + "Type": "delta" + }, + { + "Month": "Dec", + "Amount": 100, + "Type": "delta" + }, + { + "Month": "Closing", + "Amount": 11000, + "Type": "end" + } + ] + } +} diff --git a/test-harness/excel/evaluations/inputs/waterfall-chart/04-card4.flint.json b/test-harness/excel/evaluations/inputs/waterfall-chart/04-card4.flint.json new file mode 100644 index 00000000..cc157a7c --- /dev/null +++ b/test-harness/excel/evaluations/inputs/waterfall-chart/04-card4.flint.json @@ -0,0 +1,37 @@ +{ + "semantic_types": { + "Quarter": "Category", + "Change": "Quantity" + }, + "chart_spec": { + "chartType": "Waterfall Chart", + "encodings": { + "x": "Quarter", + "y": "Change" + }, + "baseSize": { + "width": 560, + "height": 360 + } + }, + "data": { + "values": [ + { + "Quarter": "Q1", + "Change": 300 + }, + { + "Quarter": "Q2", + "Change": 150 + }, + { + "Quarter": "Q3", + "Change": -100 + }, + { + "Quarter": "Q4", + "Change": 200 + } + ] + } +} diff --git a/test-harness/excel/evaluations/inspection-list.md b/test-harness/excel/evaluations/inspection-list.md new file mode 100644 index 00000000..3decc3f5 --- /dev/null +++ b/test-harness/excel/evaluations/inspection-list.md @@ -0,0 +1,332 @@ +# Excel backend inspection list + +This is the case-by-case visual audit for the native Excel backend. Each row compares the Office.js PNG with Flint's canonical rendering: Vega-Lite where available, otherwise the chart's ECharts implementation. + +Status: + +- `PENDING`: not yet visually inspected. +- `PASS`: rendered and visually acceptable in Excel's native design language. +- `FIXED`: a mismatch was repaired and the output passed a second visual inspection. +- `FAIL`: defect reproduced; repair is in progress. +- `SKIP`: unsupported by native Office.js charts, or still unresolved after 10 focused repair attempts; the blocker is recorded. + +A transport success alone is not a pass. Inspection covers field roles, orientation, grouping/stacking, aggregation, category order, labels, axes, legend, cardinality, and whether the Excel-native construction preserves the same reading as the Vega-Lite reference. + +## Progress + +| Chart type | Cases | Inspected | Passed/fixed | Failed | Skipped | +| --- | ---: | ---: | ---: | ---: | ---: | +| Bar Chart | 19 | 19 | 16 | 0 | 3 | +| Grouped Bar Chart | 15 | 15 | 12 | 0 | 3 | +| Stacked Bar Chart | 11 | 11 | 9 | 0 | 2 | +| Line Chart | 18 | 18 | 13 | 0 | 5 | +| Area Chart | 12 | 12 | 12 | 0 | 0 | +| Scatter Plot | 26 | 26 | 12 | 0 | 14 | +| Pie Chart | 4 | 4 | 4 | 0 | 0 | +| Donut Chart | 4 | 4 | 4 | 0 | 0 | +| Histogram | 3 | 3 | 3 | 0 | 0 | +| Boxplot | 10 | 10 | 3 | 0 | 7 | +| Heatmap | 9 | 9 | 0 | 0 | 9 | +| Radar Chart | 6 | 6 | 6 | 0 | 0 | +| Waterfall Chart | 5 | 5 | 2 | 0 | 3 | +| Funnel Chart | 3 | 3 | 3 | 0 | 0 | +| Treemap | 3 | 3 | 3 | 0 | 0 | +| Sunburst Chart | 3 | 3 | 3 | 0 | 0 | +| Connected Scatter Plot | 8 | 8 | 7 | 0 | 1 | +| **Total** | **159** | **159** | **112** | **0** | **47** | + +## Candlestick Chart (dedicated audit) + +These cases were rendered after the main catalog audit and do not change the +progress totals above. Both use native `StockOHLC` through `sheet.charts.add`. +Configured VLM review was skipped because no workspace `.env` provided a VLM +endpoint and credential; the generated side-by-side images were inspected +directly. + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| basic-30-day | FIXED | 2 | Native `A1:E31` Date/Open/High/Low/Close range preserves all bodies, wicks, chronology, and the price trajectory. Excel serial dates render as a true date axis. A focused Low-to-High value scale removed native zero anchoring. | +| advanced-90-day-dense | FIXED | 3 | Native `A1:E91` preserves all 90 OHLC rows and the canonical trend. UTC fixture generation removed a DST duplicate; native tick spacing keeps the dense date axis readable, and the focused price scale prevents vertical compression. | + +Artifacts and the reproducible runner are under +`test-harness/excel/evaluations/out/candlestick-audit` and +`test-harness/excel/evaluations/candlestick-audit.mjs`. + +## Bar Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card5 | PASS | 1 | Five-category vertical bar preserves category order and values. | +| 01-card20 | PASS | 1 | Twenty nominal categories remain readable in the expanded native layout. | +| 02-card20 | PASS | 1 | Alternate 20-category value sequence preserves all bars and labels. | +| 03-card100 | PASS | 1 | Dense 100-category column chart preserves cardinality and value pattern with native sparse labeling. | +| 04-card5 | PASS | 1 | Three-series stacked columns preserve category totals and segment composition. | +| 05-card5 | PASS | 1 | Twenty-series stack preserves every segment and exposes a complete wrapped legend. | +| 06-card10 | PASS | 1 | Horizontal bars retain source category order, values, and zero baseline. | +| 07-card96 | FIXED | 4 | Reused Flint overflow ranking, retained its kept-value order, and emitted a density-aware 5 pt category-axis font; all 81 retained labels are visible. | +| 08-card29 | PASS | 1 | Horizontal three-segment stacks preserve category totals and composition. | +| 09-card24 | PASS | 1 | Temporal bars retain chronological order and all 24 values. | +| 10-card100 | PASS | 1 | Dense temporal bars preserve chronological progression and value pattern. | +| 11-card24 | PASS | 1 | Temporal three-series stacks preserve dates, totals, and segment identities. | +| 12-card18 | PASS | 1 | Horizontal temporal bars preserve the continuous-time ordering in native category form. | +| 13-card53 | PASS | 1 | Horizontal temporal stacks preserve date order, totals, and three segment identities. | +| 14-card20 | PASS | 1 | Quantitative X treated as ordered categories preserves all 20 positions and values. | +| 15-card30 | PASS | 1 | Transposed quantitative categories preserve the 30-position sequence and values. | +| 16-card5 | SKIP | 1 | No quantitative measure axis; the former occupancy matrix required a worksheet heatmap rather than a native chart. | +| 17-card25 | SKIP | 1 | No quantitative measure axis; the former date/group occupancy matrix required worksheet rendering. | +| 18-card5 | SKIP | 1 | No quantitative measure axis; native Excel bars cannot encode category-by-end-date occupancy. | + +## Grouped Bar Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card4 | PASS | 1 | Three native semantic series preserve all category/group/value tuples. | +| 01-card8 | PASS | 1 | Group-equals-category degenerates cleanly to one value per category. | +| 02-card90 | PASS | 1 | Dense three-series grouping preserves the retained categories, values, and complete legend. | +| 03-card6 | PASS | 1 | Ordered groups retain five light-to-dark native series and all values. | +| 04-card12 | FIXED | 3 | Temporal categories remain chronological; a balanced native gap clearly separates adjacent three-bar groups without isolating them. | +| 05-card5 | FIXED | 3 | Quantitative categories remain ordered; four bars stay adjacent within each group while a moderate gap separates groups. | +| 06-card24 | PASS | 1 | Horizontal grouped bars preserve category order, four series, and values. | +| 07-card30 | PASS | 1 | Horizontal temporal grouping preserves chronology, series identities, and values. | +| 08-card8 | SKIP | 0 | Continuous grouping is not a native clustered-bar series role. | +| 09-card5 | SKIP | 0 | Continuous grouping is not a native clustered-bar series role. | +| 10-card5 | SKIP | 0 | No quantitative measure axis for a native clustered bar chart. | +| 11-card5 | PASS | 1 | Group-equals-category degenerates to one semantic-colored bar per category; order and values match the reference. | +| 12-card6 | FIXED | 5 | Native clustered chart preserves all 14 region/channel values as four semantic series with null gaps and a complete Excel legend. | +| 13-card6 | FIXED | 3 | Native semantic series with null gaps preserve sparse channel identities, order, and values. | +| 14-card6 | FIXED | 3 | Alternate sparse ordering preserves all semantic series and values with the complete native legend. | + +## Stacked Bar Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card4 | PASS | 1 | Three native series preserve segment values and category totals. | +| 01-card15 | PASS | 1 | Five-series stacks preserve all segment identities, values, and totals. | +| 02-card80 | PASS | 1 | Dense three-series stacks retain the kept categories and complete legend. | +| 03-card6 | PASS | 1 | Ordered stack groups preserve sequential colors, values, and totals. | +| 04-card5 | SKIP | 0 | Continuous color cannot be represented as native stacked-bar series. | +| 05-card10 | PASS | 1 | Temporal stacks remain chronological with three semantic series. | +| 06-card20 | PASS | 1 | Dense temporal four-series stacks preserve chronology and totals. | +| 07-card10 | PASS | 1 | Quantitative category stacks preserve ordered positions and three series. | +| 08-card23 | PASS | 1 | Horizontal three-series stacks preserve category order and totals. | +| 09-card43 | PASS | 1 | Horizontal temporal stacks preserve chronological order and segment composition. | +| 10-card5 | SKIP | 0 | No quantitative measure axis for a native stacked bar chart. | + +## Line Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card30 | PASS | 1 | Native temporal line preserves the trajectory and chronological order. | +| 01-card50 | PASS | 1 | Four temporal series preserve their trajectories, identities, and legend. | +| 02-card100 | PASS | 1 | Eight temporal series preserve all trajectories and legend identities. | +| 03-card200 | PASS | 1 | Dense twenty-series temporal chart remains semantically complete in native Excel. | +| 04-card60 | PASS | 1 | Three temporal series preserve values, chronology, and identities. | +| 05-card30 | SKIP | 3 | Continuous color required a worksheet overlay; native Excel line series cannot encode it. | +| 06-card5 | PASS | 1 | Five ordinal stages preserve order and values in a native line. | +| 07-card12 | PASS | 1 | Four ordinal-stage series preserve trajectories and legend identities. | +| 08-card30 | PASS | 1 | Dense ordinal stages preserve order and the full trajectory. | +| 09-card5 | SKIP | 2 | Continuous color required worksheet markers; native Excel line series cannot encode it. | +| 10-card5 | SKIP | 2 | Categorical Y requires worksheet band geometry; native Excel line charts require quantitative Y. | +| 11-card12 | SKIP | 2 | Categorical Y cannot be represented by a native Excel line value axis. | +| 12-card30 | SKIP | 2 | Quantitative X with ordinal Y cannot be represented by a native Excel XY line chart. | +| 13-card30 | PASS | 1 | Native XY line preserves quantitative-X spacing, values, and trajectory. | +| 14-card50 | PASS | 1 | Three native XY series preserve quantitative-X trajectories and identities. | +| 15-card200 | PASS | 1 | Dense native XY series preserves all points and trajectory. | +| 16-card16 | PASS | 1 | Actual-to-forecast handoff remains continuous with solid and dashed native series. | +| 17-card13 | PASS | 1 | Three product trajectories preserve distinct actual/forecast dash handoffs. | + +## Area Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card30 | PASS | 1 | Native temporal area preserves the trajectory, chronology, and zero baseline. | +| 01-card24 | PASS | 1 | Four stacked temporal areas preserve series composition and totals. | +| 02-card60 | PASS | 1 | Eight stacked temporal areas preserve composition, chronology, and legend identities. | +| 03-card120 | PASS | 1 | Dense fifteen-series area preserves all stacked contributions and total progression. | +| 04-card40 | PASS | 1 | Three stacked temporal series preserve shape, composition, and totals. | +| 05-card60 | PASS | 1 | Alternate three-series temporal stack preserves all trajectories and totals. | +| 06-card5 | PASS | 1 | Five ordinal stages preserve order and area values. | +| 07-card12 | PASS | 1 | Four ordinal-stage areas preserve stack composition and totals. | +| 08-card30 | PASS | 1 | Dense ordinal stages preserve order and full area trajectory. | +| 09-card30 | FIXED | 2 | Resampled quantitative X onto a uniform native-Area grid and reduced the category axis to exact domain quartiles. | +| 10-card50 | FIXED | 3 | Uniform numeric resampling preserves three stacked series while replacing dense inferred labels with `0, 25, 50, 75, 100`. | +| 11-card200 | FIXED | 2 | Dense 200-point Area now preserves continuous-X spacing and readable quartile labels through bounded interpolation. | + +## Scatter Plot + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card20 | PASS | 1 | Native Scatter preserves all quantitative X/Y positions. | +| 01-card20 | PASS | 1 | Three discrete segment series preserve positions and identities. | +| 02-card20 | SKIP | 1 | Quantitative color was dropped by the native chart; Office.js Scatter has no continuous color scale. | +| 03-card30 | SKIP | 1 | Temporal color became one series per timestamp; Office.js Scatter has no continuous color scale. | +| 04-card47 | PASS | 4 | Native Bubble preserves all positions and quantitative size ordering. | +| 05-card20 | PASS | 4 | Native Bubble preserves positions and four ordinal size levels. | +| 06-card15 | FIXED | 4 | Native Bubble preserves all 15 X/Y positions, three segment series, and quantitative size ordering without worksheet shapes. | +| 07-card30 | SKIP | 1 | Native Bubble preserves size but cannot also encode the continuous color scale. | +| 08-card20 | PASS | 5 | Twenty discrete Bubble series preserve positions, relative sizes, identities, and native legend entries. | +| 09-card91 | PASS | 1 | Native Scatter preserves the full 91-point distribution. | +| 10-card395 | PASS | 1 | Dense native Scatter preserves the full distribution without visible loss. | +| 11-card182 | PASS | 1 | Twenty discrete series preserve positions, colors, and legend identities. | +| 12-card96 | PASS | 1 | High-cardinality discrete series preserve positions and identity assignment in the expanded native legend. | +| 13-card10 | FIXED | 5 | Current native rerender applies focused X `20–100` and Y `0–100` bounds, removing the stale automatic `-20–120` margins while preserving positions and size ordering. | +| 14-card187 | FIXED | 5 | Current native rerender applies focused `0–100` bounds on both axes and preserves all positions and relative bubble sizes without worksheet shapes. | +| 15-card5 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 16-card5 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 17-card2 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 18-card60 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 19-card24 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 20-card23 | SKIP | 3 | Categorical Y required worksheet geometry; native Excel Bubble requires quantitative X and Y. | +| 21-card59 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 22-card5 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 23-card4 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 24-card15 | SKIP | 0 | Native Excel Scatter requires quantitative X and Y axes. | +| 25-card40 | SKIP | 0 | Office.js native charts do not expose Flint's shape encoding. | + +## Pie Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card0 | PASS | 1 | Native Pie preserves all four category proportions and identities. | +| 01-card0 | PASS | 1 | Ten-category Pie preserves proportions and legend identities. | +| 02-card0 | PASS | 1 | Twenty-category Pie remains complete with readable native legend entries. | +| 03-card0 | PASS | 1 | Dominant and tiny slices preserve their strong proportional contrast. | + +## Donut Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card0 | PASS | 1 | Native Doughnut preserves all four category proportions, identities, and the annular reading. | +| 01-card0 | PASS | 1 | Ten-category Doughnut preserves proportions and complete native legend identities. | +| 02-card0 | PASS | 1 | Twenty-category Doughnut remains complete with readable native legend entries. | +| 03-card0 | PASS | 1 | Dominant and tiny slices preserve their strong proportional contrast in the native ring. | + +## Histogram + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card49 | PASS | 1 | Native columns preserve all bin boundaries and record counts. | +| 01-card42 | PASS | 1 | Stacked native columns preserve gender contributions and total counts per bin. | +| 02-card997 | PASS | 1 | Dense histogram preserves all ten bins and their count distribution. | + +## Boxplot + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card5 | PASS | 1 | Five native boxes preserve all 150 raw observations, category order, medians, inclusive quartiles, and whiskers. | +| 01-card5 | PASS | 1 | Quantitative rank values are retained as five category labels with their complete score distributions. | +| 02-card12 | PASS | 1 | Twelve native boxes preserve all 600 salary observations and remain readable at the expanded width. | +| 03-card4 | SKIP | 1 | Flattened pair labels emit all eight boxes and separator gaps, but lose subgroup legend/color identity and native hierarchy; indexed point fills leave boxes uniform. | +| 04-card6 | SKIP | 1 | Four-subgroup distributions have the same native pooling/inversion blocker; multi-level headers become concatenated series names, not grouped category labels. | +| 05-card8 | SKIP | 1 | Five-subgroup distributions have the same native blocker; no one-chart range preserves both category boundaries and subgroup identity. | +| 06-card6 | SKIP | 1 | Redundant color still cannot be mapped to reliable native per-category coloring without changing the BoxWhisker range reading. | +| 07-card6 | SKIP | 1 | Nested color groups remain rejected: pair-per-column ranges create series of single-value ticks instead of one distribution per occupied pair. | +| 08-card6 | SKIP | 1 | Sparse 6x5: flattened labels emit exactly fourteen occupied boxes with gaps but no subgroup identity/hierarchy; point fills have no visible effect and full null padding exposes thirty identities. | +| 09-card6 | SKIP | 1 | Alternate nested groups share the proven native limitation and remain rejected rather than flattened or pooled. | + +The seven production gallery cases remain skipped, so the 159-case audit totals +are unchanged. + +## Heatmap + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card5 | SKIP | 2 | Office.js has no native Heatmap chart type; worksheet conditional formatting is outside the backend contract. | +| 01-card10 | SKIP | 1 | Office.js has no native Heatmap chart type. | +| 02-card50 | SKIP | 1 | Office.js has no native Heatmap chart type. | +| 03-card12 | SKIP | 1 | Office.js has no native Heatmap chart type. | +| 04-card80 | SKIP | 2 | Office.js has no native Heatmap chart type. | +| 05-card5 | SKIP | 1 | Office.js has no native Heatmap chart type. | +| 06-card60 | SKIP | 2 | Office.js has no native Heatmap chart type. | +| 07-card80 | SKIP | 1 | Office.js has no native Heatmap chart type. | +| 08-card5 | SKIP | 1 | Office.js has no native Heatmap chart type. | + +## Radar Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card5 | FIXED | 2 | Replaced opaque `RadarFilled` with native `RadarMarkers`; the single-series profile and vertices remain clear. | +| 01-card6 | FIXED | 2 | Native outline series preserve both team profiles without the later series hiding the earlier polygon. | +| 02-card5 | PASS | 1 | Three native marker series preserve all product profiles, intersections, and legend identities. | +| 04-card5 | FIXED | 2 | Native outline series preserve both product profiles and keep all long metric labels visible. | +| 05-card8 | FIXED | 2 | Eight-axis outlines preserve both contrasting KPI profiles without solid-fill occlusion. | +| 06-card12 | FIXED | 2 | Twelve-axis outlines keep all three dense series distinguishable and retain complete labels and legend identities. | + +## Waterfall Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card6 | SKIP | 1 | The income-statement sequence requires a final total; Office.js does not expose Waterfall total-point semantics. | +| 01-card7 | SKIP | 1 | Explicit start/delta/end roles require a non-initial total point, which Office.js cannot mark. | +| 02-card7 | PASS | 1 | Native Waterfall preserves department order, positive and negative variances, cumulative levels, value labels, and connector lines. | +| 03-card14 | SKIP | 1 | The opening-to-closing monthly flow requires a closing total point, which Office.js cannot mark. | +| 04-card4 | PASS | 1 | Native Waterfall preserves quarterly order, signed changes, cumulative levels, value labels, and connector lines. | + +## Funnel Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card5 | PASS | 1 | Native Funnel preserves the descending sales-pipeline stage order, values, labels, and relative widths. | +| 01-card5 | PASS | 1 | Pre-sorted ascending values produce the intended inverted recruitment funnel with all stages and values preserved. | +| 02-card8 | PASS | 1 | Eight native stages remain legible and preserve the full marketing sequence and relative widths. | + +Funnel now explicitly emits centered white 11-point value labels over a single +Office blue series fill. The existing real-Excel cases already demonstrate that +this placement remains readable on both wide and narrow stages; a refreshed +render is pending taskpane availability to verify the explicit font properties. + +## Pyramid Chart (audit pending) + +The compiler emits Flint's two-group population pyramid as a native 2D +`BarStacked` chart with one mirrored series, one positive series, symmetric +numeric bounds, absolute-value tick labels, and stable blue/red group colors. +Seven valid gallery fixtures and one intentional negative-value rejection case +are generated under `evaluations/inputs/pyramid-chart`. Compiler, type, build, and +Office.js generator tests pass. Real-Excel visual qualification remains pending +because the macOS add-in taskpane did not resume polling during this audit run. + +## Treemap + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card0 | PASS | 1 | Flat native Treemap preserves all sector labels and market-cap area relationships with Excel-native packing. | +| 01-card0 | FIXED | 2 | Hierarchy columns now count as category levels rather than series; Region parents, Country leaves, and revenue areas all render natively. | +| 02-card0 | PASS | 1 | Fifteen native leaves preserve labels and relative areas without crowding failures. | + +## Sunburst Chart + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card0 | PASS | 1 | Flat native Sunburst preserves every budget category and proportional allocation. | +| 01-card0 | PASS | 1 | Department parents and Team leaves occupy the correct two native rings with preserved values and labels. | +| 02-card0 | PASS | 1 | Four continent parents and sixteen country leaves retain hierarchy, values, and readable ring geometry. | + +## Connected Scatter Plot + +| Case | Status | Attempts | Finding / fix | +| --- | --- | ---: | --- | +| 00-card9 | PASS | 1 | Native XY lines preserve the ten-year non-monotonic unemployment/inflation trajectory in explicit Year order. | +| 01-card21 | PASS | 1 | Three native color series preserve country identities, all points, and independent ordered trajectories. | +| 02-card12 | PASS | 1 | ISO-date ordering preserves the complete monthly price/volume trajectory instead of sorting by X. | +| 03-card12 | PASS | 1 | The defining self-crossing figure-eight follows Step order and retains its central crossing. | +| 04-card15 | PASS | 1 | Two experiment series preserve numeric Step order, values, markers, and legend identities. | +| 05-card4 | PASS | 1 | The minimal four-point trajectory preserves its explicit non-monotonic sequence. | +| 06-card35 | PASS | 1 | The dense 35-point spiral preserves every marker and the complete inward path. | +| 07-card24 | SKIP | 0 | Native Excel can render multiple color series, but Flint's unlegended detail trajectory role is intentionally rejected rather than promoted to a visible legend. | + +## Audit notes + +- Excel-native styling is allowed to differ from Vega-Lite palettes, but semantic roles and the visual reading must agree. +- Every successful output must be created by `sheet.charts.add(...)` and captured by `chart.getImage()`; ranges, shapes, and composite images are not backend output. +- Native Bubble charts replace the former worksheet point composites. The current Scatter rerender confirms explicit focused axis bounds are applied in real Excel. +- Native BoxWhisker consumes Flint's raw category/value observations and computes inclusive quartiles in Excel. Color-grouped subgroup boxes remain explicitly unsupported pending a faithful native range mapping. +- Native Waterfall is supported for delta sequences and an initial total. Office.js does not expose Excel's “Set as Total” point command, so later/final totals are rejected. +- Native Doughnut preserves part-to-whole semantics and applies Flint's inner radius through `ChartSeries.doughnutHoleSize`. +- Native Radar normalizes each metric by its Flint-compatible nice maximum because Excel exposes one shared radial scale. The category labels retain those maxima so the resulting polygon preserves Flint's per-metric geometry without hiding the original scale. Excel's UI and OOXML can store transparent series fills, but the direct Office.js `ChartFill` API exposes only solid-color operations. Flint therefore renders filled Radar requests as `RadarMarkers` to prevent series occlusion. A proof workbook with DrawingML `` confirmed the native capability; importing generated OOXML worksheets is deferred because it would be a separate rendering path from the current `charts.add()` architecture. +- Native Funnel, Treemap, and Sunburst use Flint's ECharts implementations as audit references because those chart identities have no Vega-Lite template. Native geometry, packing, and palette may differ while order, hierarchy, labels, and value/area readings must agree. +- Native Connected Scatter sorts each trajectory by its explicit order field before binding `XYScatterLines`; sorting by X would corrupt loops and backtracking paths. Discrete color is supported as native series, while unlegended detail remains an explicit gap. +- Native Pareto is not supported. The first bounded `Pareto` probe caused Excel for Mac to exit before Office.js returned a PNG or catchable error. Its executable probe and renderer aliases were removed; the server and taskpane retain only a pre-render quarantine for stale or external jobs. +- Bullet remains deferred after a bounded Office.js probe: a faithful target tick needs a mixed bar/scatter chart with secondary-axis alignment and custom marker geometry, which is not a modest extension of the current one-family native renderer. +- Dynamic-layout audit: six real Excel charts confirm that the host applies Flint's optimized dimensions within a 320×220 to 1600×900 render envelope. All tested rows survive; Bar sizing changes regime between 24 and 80 categories rather than growing monotonically, while the tested Line date/series matrix grows steadily. +- Facet audit: production `assembleExcel` rejects `column` and `row` centrally. An experimental 20-chart Office.js composition successfully reproduced column, row, 2×2, and wrapped 5×2 grids after imposing shared global numeric scales. Faceting therefore remains a future worksheet-level multi-chart artifact, not one native chart. +- Any row still failing after 10 focused repair attempts becomes `SKIP` with its blocker recorded here. diff --git a/test-harness/excel/evaluations/layout-facet-audit.mjs b/test-harness/excel/evaluations/layout-facet-audit.mjs new file mode 100644 index 00000000..5cda460b --- /dev/null +++ b/test-harness/excel/evaluations/layout-facet-audit.mjs @@ -0,0 +1,337 @@ +#!/usr/bin/env node +// @ts-nocheck + +import { execFileSync } from 'node:child_process'; +import { mkdirSync, rmSync, writeFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { renderChart } from 'flint-chart-mcp/render'; +import { assembleExcel } from 'flint-chart/excel'; +import { renderExcelArtifact } from './render-client.mjs'; + +const here = dirname(fileURLToPath(import.meta.url)); +const outDir = join(here, 'out', 'layout-facet-audit'); +const tempDir = join(outDir, 'temp'); +const scale = 3; +const clamp = (value, minimum, maximum) => Math.max(minimum, Math.min(maximum, Math.round(value))); + +rmSync(outDir, { recursive: true, force: true }); +mkdirSync(tempDir, { recursive: true }); + +function runMagick(args) { + execFileSync('magick', args, { stdio: 'pipe' }); +} + +function barInput(count) { + return { + data: { + values: Array.from({ length: count }, (_value, index) => ({ + Category: `Category ${index + 1}`, + Value: 40 + ((index * 37) % 180), + })), + }, + semantic_types: { Category: 'Category', Value: 'Quantity' }, + chart_spec: { + chartType: 'Bar Chart', + encodings: { x: 'Category', y: 'Value' }, + baseSize: { width: 400, height: 300 }, + }, + }; +} + +function lineInput(dateCount, seriesCount) { + const values = []; + for (let seriesIndex = 0; seriesIndex < seriesCount; seriesIndex += 1) { + for (let dateIndex = 0; dateIndex < dateCount; dateIndex += 1) { + const date = new Date(Date.UTC(2020, 0, 1 + dateIndex)); + values.push({ + Date: date.toISOString().slice(0, 10), + Series: `Series ${seriesIndex + 1}`, + Value: Math.round(100 + seriesIndex * 18 + dateIndex * 1.7 + Math.sin((dateIndex + seriesIndex) / 4) * 24), + }); + } + } + return { + data: { values }, + semantic_types: { Date: 'Date', Series: 'Category', Value: 'Quantity' }, + chart_spec: { + chartType: 'Line Chart', + encodings: { x: 'Date', y: 'Value', color: 'Series' }, + baseSize: { width: 400, height: 300 }, + }, + }; +} + +const dynamicCases = [ + { name: 'bar-04', label: 'Bar · 4 categories', family: 'bar', input: barInput(4) }, + { name: 'bar-24', label: 'Bar · 24 categories', family: 'bar', input: barInput(24) }, + { name: 'bar-80', label: 'Bar · 80 categories', family: 'bar', input: barInput(80) }, + { name: 'line-12x1', label: 'Line · 12 dates × 1 series', family: 'line', input: lineInput(12, 1) }, + { name: 'line-60x8', label: 'Line · 60 dates × 8 series', family: 'line', input: lineInput(60, 8) }, + { name: 'line-120x20', label: 'Line · 120 dates × 20 series', family: 'line', input: lineInput(120, 20) }, +]; + +async function runDynamicAudit() { + const results = []; + for (const item of dynamicCases) { + const reference = await renderChart(item.input, 'vegalite', { format: 'png', scale }); + const spec = assembleExcel(item.input); + const authoredSize = { width: spec.width, height: spec.height }; + spec.width = clamp(reference.width, 320, 1600); + spec.height = clamp(reference.height, 220, 900); + const excel = await renderExcelArtifact(spec, { scale }); + const referencePath = join(outDir, `${item.name}.reference.png`); + const excelPath = join(outDir, `${item.name}.excel.png`); + writeFileSync(referencePath, reference.buffer); + writeFileSync(excelPath, excel); + results.push({ + name: item.name, + label: item.label, + family: item.family, + authoredSize, + optimizedSize: { width: reference.width, height: reference.height }, + appliedExcelSize: { width: spec.width, height: spec.height }, + excelType: spec.chartType, + retainedRows: spec.data.length - 1, + }); + console.log(` ✓ ${item.label}: ${reference.width}×${reference.height} → Excel ${spec.width}×${spec.height}`); + } + + const barCases = results.filter((result) => result.family === 'bar'); + if (barCases[1].optimizedSize.width <= barCases[0].optimizedSize.width) { + throw new Error('bar layout did not stretch for the moderate-cardinality case'); + } + if (barCases.some((result, index) => result.retainedRows !== [4, 24, 80][index])) { + throw new Error('bar layout dropped data while changing cardinality regimes'); + } + for (const result of results) { + if (result.appliedExcelSize.width < 320 || result.appliedExcelSize.width > 1600 + || result.appliedExcelSize.height < 220 || result.appliedExcelSize.height > 900) { + throw new Error(`${result.name} escaped the Excel audit size bounds`); + } + } + const lineCases = results.filter((result) => result.family === 'line'); + for (let index = 1; index < lineCases.length; index += 1) { + const previous = lineCases[index - 1].optimizedSize; + const current = lineCases[index].optimizedSize; + if (current.width * current.height < previous.width * previous.height) { + throw new Error(`line optimized area decreased from ${lineCases[index - 1].name} to ${lineCases[index].name}`); + } + } + + for (let page = 0; page < 2; page += 1) { + const pageCases = results.slice(page * 3, page * 3 + 3); + const rows = []; + const header = join(tempDir, `dynamic-header-${page}.png`); + runMagick(['-size', '2000x100', '-background', 'white', '-fill', 'black', '-font', 'Helvetica-Bold', '-pointsize', '26', '-gravity', 'center', `label:Dynamic layout audit · page ${page + 1}`, header]); + rows.push(header); + for (const result of pageCases) { + const label = join(tempDir, `dynamic-${result.name}-label.png`); + const reference = join(tempDir, `dynamic-${result.name}-reference.png`); + const excel = join(tempDir, `dynamic-${result.name}-excel.png`); + const row = join(tempDir, `dynamic-${result.name}-row.png`); + const sizeLabel = `${result.label}\nFlint ${result.optimizedSize.width}×${result.optimizedSize.height}\nExcel ${result.appliedExcelSize.width}×${result.appliedExcelSize.height}`; + runMagick(['-size', '300x600', '-background', 'white', '-fill', 'black', '-font', 'Helvetica', '-pointsize', '20', '-gravity', 'center', `label:${sizeLabel}`, label]); + runMagick([join(outDir, `${result.name}.reference.png`), '-resize', '850x580', '-background', 'white', '-gravity', 'center', '-extent', '850x600', reference]); + runMagick([join(outDir, `${result.name}.excel.png`), '-resize', '850x580', '-background', 'white', '-gravity', 'center', '-extent', '850x600', excel]); + runMagick([label, reference, excel, '+append', row]); + rows.push(row); + } + runMagick([...rows, '-append', join(outDir, `dynamic-layout-${page + 1}.png`)]); + } + return results; +} + +function facetInput(name) { + if (name === 'column-bar') { + const values = []; + for (const region of ['North', 'Central', 'South']) { + for (const category of ['Consumer', 'Corporate', 'Home Office', 'Reseller']) { + values.push({ Region: region, Category: category, Value: 60 + ((values.length * 47) % 320) }); + } + } + return { + data: { values }, + semantic_types: { Region: 'Category', Category: 'Category', Value: 'Amount' }, + chart_spec: { chartType: 'Bar Chart', encodings: { x: 'Category', y: 'Value', column: 'Region' }, baseSize: { width: 400, height: 300 } }, + }; + } + if (name === 'row-scatter') { + const values = []; + for (const group of ['Group A', 'Group B', 'Group C']) { + for (let index = 0; index < 18; index += 1) { + values.push({ Group: group, X: 20 + index * 4 + group.length, Y: 30 + ((index * 17 + group.charCodeAt(6)) % 70) }); + } + } + return { + data: { values }, + semantic_types: { Group: 'Category', X: 'Quantity', Y: 'Quantity' }, + chart_spec: { chartType: 'Scatter Plot', encodings: { x: 'X', y: 'Y', row: 'Group' }, baseSize: { width: 400, height: 300 } }, + }; + } + if (name === 'grid-bar') { + const values = []; + for (const region of ['North', 'South']) { + for (const channel of ['Online', 'Retail']) { + for (const category of ['A', 'B', 'C', 'D']) { + values.push({ Region: region, Channel: channel, Category: category, Value: 50 + ((values.length * 31) % 240) }); + } + } + } + return { + data: { values }, + semantic_types: { Region: 'Category', Channel: 'Category', Category: 'Category', Value: 'Amount' }, + chart_spec: { chartType: 'Bar Chart', encodings: { x: 'Category', y: 'Value', column: 'Region', row: 'Channel' }, baseSize: { width: 400, height: 300 } }, + }; + } + + const values = []; + for (const region of ['North', 'South', 'East', 'West', 'Central', 'Pacific', 'Mountain', 'Atlantic', 'Gulf', 'Midwest']) { + for (let month = 0; month < 12; month += 1) { + values.push({ Region: region, Month: `M${month + 1}`, Value: 80 + ((month * 23 + region.length * 17) % 170) }); + } + } + return { + data: { values }, + semantic_types: { Region: 'Category', Month: 'Month', Value: 'Quantity' }, + chart_spec: { chartType: 'Line Chart', encodings: { x: 'Month', y: 'Value', column: 'Region' }, baseSize: { width: 400, height: 300 } }, + options: { minSubplotSize: 180 }, + }; +} + +const facetCases = [ + { name: 'column-bar', label: 'Column facet · 3 bar panels' }, + { name: 'row-scatter', label: 'Row facet · 3 scatter panels' }, + { name: 'grid-bar', label: 'Column × row facet · 2×2 bar panels' }, + { name: 'wrapped-line', label: 'Wrapped column facet · 10 line panels' }, +]; + +function distinct(values, field) { + return [...new Set(values.map((row) => String(row[field])))]; +} + +function sharedNumericAxis(values, zero = false) { + const finite = values.map(Number).filter(Number.isFinite); + if (finite.length === 0) return {}; + const minimum = zero ? 0 : Math.min(...finite); + const maximum = Math.max(...finite); + const span = Math.max(1, maximum - minimum); + const rough = span / 5; + const power = 10 ** Math.floor(Math.log10(rough)); + const fraction = rough / power; + const step = (fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10) * power; + const lower = zero ? 0 : Math.floor(minimum / step) * step; + const upperTick = Math.ceil(maximum / step) * step; + return { + minimumScale: lower, + maximumScale: Math.abs(upperTick - maximum) < 1e-9 ? maximum + step * 0.25 : upperTick, + majorUnit: step, + }; +} + +async function runFacetAudit() { + const results = []; + for (const item of facetCases) { + const input = facetInput(item.name); + const reference = await renderChart(input, 'vegalite', { format: 'png', scale }); + const referencePath = join(outDir, `${item.name}.reference.png`); + writeFileSync(referencePath, reference.buffer); + + let rejection; + try { + assembleExcel(input); + throw new Error('faceted input unexpectedly assembled as one native chart'); + } catch (error) { + rejection = String(error.message || error); + if (!rejection.includes('does not support faceting')) throw error; + } + + const columnField = typeof input.chart_spec.encodings.column === 'string' ? input.chart_spec.encodings.column : input.chart_spec.encodings.column?.field; + const rowField = typeof input.chart_spec.encodings.row === 'string' ? input.chart_spec.encodings.row : input.chart_spec.encodings.row?.field; + const xField = typeof input.chart_spec.encodings.x === 'string' ? input.chart_spec.encodings.x : input.chart_spec.encodings.x?.field; + const yField = typeof input.chart_spec.encodings.y === 'string' ? input.chart_spec.encodings.y : input.chart_spec.encodings.y?.field; + const sharedCategoryAxis = input.chart_spec.chartType === 'Scatter Plot' + ? sharedNumericAxis(input.data.values.map((row) => row[xField])) + : undefined; + const sharedValueAxis = sharedNumericAxis( + input.data.values.map((row) => row[yField]), + input.chart_spec.chartType === 'Bar Chart', + ); + const columns = columnField ? distinct(input.data.values, columnField) : [null]; + const rows = rowField ? distinct(input.data.values, rowField) : [null]; + const panels = []; + for (const rowValue of rows) { + for (const columnValue of columns) { + const panelRows = input.data.values.filter((record) => + (!columnField || String(record[columnField]) === columnValue) + && (!rowField || String(record[rowField]) === rowValue), + ); + const encodings = { ...input.chart_spec.encodings }; + delete encodings.column; + delete encodings.row; + const child = { + ...input, + data: { values: panelRows }, + chart_spec: { ...input.chart_spec, encodings, baseSize: { width: 300, height: 220 } }, + }; + const childReference = await renderChart(child, 'vegalite', { format: 'png', scale: 1 }); + const spec = assembleExcel(child); + if (sharedCategoryAxis) spec.categoryAxis = { ...spec.categoryAxis, ...sharedCategoryAxis }; + spec.valueAxis = { ...spec.valueAxis, ...sharedValueAxis }; + spec.width = clamp(childReference.width, 280, 420); + spec.height = clamp(childReference.height, 200, 300); + const facetLabel = [rowValue, columnValue].filter(Boolean).join(' · '); + spec.title = `${facetLabel} — ${spec.title}`; + const path = join(tempDir, `${item.name}-panel-${panels.length}.png`); + writeFileSync(path, await renderExcelArtifact(spec, { scale })); + panels.push(path); + } + } + + const gridColumns = item.name === 'row-scatter' ? 1 : item.name === 'wrapped-line' ? 5 : columns.length; + const gridRows = Math.ceil(panels.length / gridColumns); + const compositionPath = join(outDir, `${item.name}.excel-composition.png`); + runMagick(['montage', ...panels, '-tile', `${gridColumns}x${gridRows}`, '-geometry', '900x650+16+16', '-background', 'white', compositionPath]); + results.push({ + name: item.name, + label: item.label, + referenceSize: { width: reference.width, height: reference.height }, + panelCount: panels.length, + grid: `${gridColumns}x${gridRows}`, + productionResult: 'rejected', + rejection, + sharedCategoryAxis, + sharedValueAxis, + }); + console.log(` ✓ ${item.label}: production rejected; experimental ${gridColumns}×${gridRows} composition rendered`); + } + + for (let page = 0; page < 2; page += 1) { + const pageCases = results.slice(page * 2, page * 2 + 2); + const rows = []; + const header = join(tempDir, `facet-header-${page}.png`); + runMagick(['-size', '2000x100', '-background', 'white', '-fill', 'black', '-font', 'Helvetica-Bold', '-pointsize', '26', '-gravity', 'center', `label:Facet audit · canonical Flint vs experimental native-chart composition · page ${page + 1}`, header]); + rows.push(header); + for (const result of pageCases) { + const label = join(tempDir, `facet-${result.name}-label.png`); + const reference = join(tempDir, `facet-${result.name}-reference.png`); + const excel = join(tempDir, `facet-${result.name}-excel.png`); + const row = join(tempDir, `facet-${result.name}-row.png`); + runMagick(['-size', '300x700', '-background', 'white', '-fill', 'black', '-font', 'Helvetica', '-pointsize', '19', '-gravity', 'center', `label:${result.label}\n${result.panelCount} native charts · ${result.grid}\nProduction: explicit rejection`, label]); + runMagick([join(outDir, `${result.name}.reference.png`), '-resize', '850x680', '-background', 'white', '-gravity', 'center', '-extent', '850x700', reference]); + runMagick([join(outDir, `${result.name}.excel-composition.png`), '-resize', '850x680', '-background', 'white', '-gravity', 'center', '-extent', '850x700', excel]); + runMagick([label, reference, excel, '+append', row]); + rows.push(row); + } + runMagick([...rows, '-append', join(outDir, `facet-layout-${page + 1}.png`)]); + } + return results; +} + +console.log('Dynamic layout audit'); +const dynamic = await runDynamicAudit(); +console.log('Facet audit'); +const facets = await runFacetAudit(); +writeFileSync(join(outDir, 'summary.json'), JSON.stringify({ dynamic, facets }, null, 2) + '\n'); +rmSync(tempDir, { recursive: true, force: true }); +console.log(`\nWrote ${dynamic.length} dynamic cases and ${facets.length} facet cases to ${outDir}`); \ No newline at end of file diff --git a/test-harness/excel/evaluations/make-audit-sheets.mjs b/test-harness/excel/evaluations/make-audit-sheets.mjs new file mode 100644 index 00000000..fc89004f --- /dev/null +++ b/test-harness/excel/evaluations/make-audit-sheets.mjs @@ -0,0 +1,185 @@ +import fs from 'fs'; +import path, { dirname } from 'path'; +import { execFileSync } from 'child_process'; +import { fileURLToPath } from 'url'; + +/** @typedef {{ type: string, name: string, ok: boolean, skipped?: boolean, referenceBackend?: string }} GalleryResult */ + +const here = dirname(fileURLToPath(import.meta.url)); +const summaryPath = path.join(here, 'out', 'gallery', 'summary.json'); +const outDir = path.join(here, 'out', 'audit-sheets'); +const familyFilter = process.argv[2]; + +if (!familyFilter) fs.rmSync(outDir, { recursive: true, force: true }); +fs.mkdirSync(outDir, { recursive: true }); + +const summary = /** @type {GalleryResult[]} */ (JSON.parse(fs.readFileSync(summaryPath, 'utf8'))); +const allOkEntries = summary.filter(e => e.ok === true && !e.skipped); +const okEntries = familyFilter + ? allOkEntries.filter(e => e.type === familyFilter) + : allOkEntries; +if (familyFilter && okEntries.length === 0) { + throw new Error(`No successful gallery entries for family "${familyFilter}".`); +} + +console.log(`Total OK entries loaded from summary: ${okEntries.length}`); + +// Group by family (type) +/** @type {Record} */ +const groups = {}; +for (const entry of okEntries) { + if (!groups[entry.type]) { + groups[entry.type] = []; + } + groups[entry.type].push(entry); +} + +// Print and track verification +let totalPairsProcessed = 0; +const allSeenCases = new Set(); +/** @type {Array<{ name: string, cases: string[] }>} */ +const allSheets = []; + +// Helper function to run magick with arguments array +/** @param {string[]} args */ +function runMagick(args) { + try { + execFileSync('magick', args, { stdio: 'pipe' }); + } catch (error) { + const err = /** @type {Error & { stderr?: Buffer }} */ (error); + console.error(`Error running magick with args: ${args.join(' ')}`); + console.error(err.stderr ? err.stderr.toString() : err.message); + throw err; + } +} + +// Ensure temp directory exists +const tempDir = path.join(here, 'out', 'temp-sheets'); +fs.rmSync(tempDir, { recursive: true, force: true }); +fs.mkdirSync(tempDir, { recursive: true }); + +// Process each family +for (const [family, cases] of Object.entries(groups)) { + console.log(`\nFamily: ${family} (${cases.length} cases)`); + + // Sort cases to have standard ordering + cases.sort((a, b) => a.name.localeCompare(b.name)); + + // Chunk cases into groups of at most 4 + const chunkSize = 4; + const chunks = []; + for (let i = 0; i < cases.length; i += chunkSize) { + chunks.push(cases.slice(i, i + chunkSize)); + } + + for (let chunkIdx = 0; chunkIdx < chunks.length; chunkIdx++) { + const chunk = chunks[chunkIdx]; + const sheetNum = String(chunkIdx + 1).padStart(2, '0'); + const sheetName = `${family}-${sheetNum}.png`; + const sheetPath = path.join(outDir, sheetName); + allSheets.push({ name: sheetName, cases: chunk.map(c => c.name) }); + + console.log(` Generating sheet ${sheetName} with ${chunk.length} cases:`); + const rowPaths = []; + + // Generate Column Headers + const col0HeaderPath = path.join(tempDir, `header_col0.png`); + const col1HeaderPath = path.join(tempDir, `header_col1.png`); + const col2HeaderPath = path.join(tempDir, `header_col2.png`); + const headerRowPath = path.join(tempDir, `header_row.png`); + + runMagick(['-size', '200x100', '-background', 'white', '-fill', 'black', '-font', 'Helvetica-Bold', '-pointsize', '24', '-gravity', 'center', 'label:Case', col0HeaderPath]); + const referenceLabel = cases[0]?.referenceBackend === 'echarts' ? 'ECharts' : 'Vega-Lite'; + runMagick(['-size', '900x100', '-background', 'white', '-fill', 'black', '-font', 'Helvetica-Bold', '-pointsize', '28', '-gravity', 'center', `label:${referenceLabel}`, col1HeaderPath]); + runMagick(['-size', '900x100', '-background', 'white', '-fill', 'black', '-font', 'Helvetica-Bold', '-pointsize', '28', '-gravity', 'center', 'label:Excel', col2HeaderPath]); + + runMagick([col0HeaderPath, col1HeaderPath, col2HeaderPath, '+append', headerRowPath]); + rowPaths.push(headerRowPath); + + for (let i = 0; i < chunk.length; i++) { + const entry = chunk[i]; + const caseName = entry.name; + + if (allSeenCases.has(`${family}/${caseName}`)) { + console.error(`Duplicate case detected: ${family}/${caseName}`); + process.exit(1); + } + allSeenCases.add(`${family}/${caseName}`); + totalPairsProcessed++; + + console.log(` - ${caseName}`); + + const vlSrc = path.join(here, 'out', 'gallery', family, `${caseName}.vl.png`); + const excelSrc = path.join(here, 'out', 'gallery', family, `${caseName}.excel.png`); + + const labelDest = path.join(tempDir, `label_${i}.png`); + const vlDest = path.join(tempDir, `vl_${i}.png`); + const excelDest = path.join(tempDir, `excel_${i}.png`); + const rowDest = path.join(tempDir, `row_${i}.png`); + + // 1. Create label + runMagick(['-size', '200x600', '-background', 'white', '-fill', 'black', '-font', 'Helvetica-Bold', '-pointsize', '18', '-gravity', 'center', `label:${caseName}`, labelDest]); + + // 2. Normalize Vega-Lite + runMagick([vlSrc, '-resize', '900x600', '-background', 'white', '-gravity', 'center', '-extent', '900x600', vlDest]); + + // 3. Normalize Excel + runMagick([excelSrc, '-resize', '900x600', '-background', 'white', '-gravity', 'center', '-extent', '900x600', excelDest]); + + // 4. Combine into single row + runMagick([labelDest, vlDest, excelDest, '+append', rowDest]); + rowPaths.push(rowDest); + } + + // Combine header and rows vertically + runMagick([...rowPaths, '-append', sheetPath]); + } +} + +// Clean up temp dir +try { + fs.rmSync(tempDir, { recursive: true, force: true }); +} catch (e) { + // Ignore cleanup errors +} + +console.log('\n--- VERIFICATION REPORT ---'); +console.log(`Total sheets generated: ${allSheets.length}`); +console.log(`Total cases processed and verified: ${totalPairsProcessed}`); +if (totalPairsProcessed === okEntries.length) { + console.log(`SUCCESS: Exactly ${okEntries.length} supported case pairs were included!`); +} else { + console.error(`ERROR: Found ${totalPairsProcessed} cases instead of ${okEntries.length}.`); + process.exit(1); +} + +// Double check to make sure no omissions or duplicates relative to summary ok:true cases +const okCaseKeys = new Set(okEntries.map(e => `${e.type}/${e.name}`)); +let mismatchFound = false; + +for (const key of okCaseKeys) { + if (!allSeenCases.has(key)) { + console.error(`MISSING: ${key} was not included in any sheet.`); + mismatchFound = true; + } +} + +for (const key of allSeenCases) { + if (!okCaseKeys.has(key)) { + console.error(`EXTRA: ${key} was included but not marked as OK in summary.`); + mismatchFound = true; + } +} + +if (!mismatchFound) { + console.log('SUCCESS: Perfect 1-to-1 matching with ok=true entries in summary.json with zero duplicates/omissions!'); +} else { + console.error('ERROR: Mismatch found in included cases.'); + process.exit(1); +} + +// Print full detailed list of sheets and cases for easy auditing +console.log('\n--- FULL SHEETS AND CASES LIST ---'); +for (const s of allSheets) { + console.log(`Sheet: ${s.name} (${s.cases.length} cases): [${s.cases.join(', ')}]`); +} diff --git a/test-harness/excel/evaluations/render-client.mjs b/test-harness/excel/evaluations/render-client.mjs new file mode 100644 index 00000000..30e45dcd --- /dev/null +++ b/test-harness/excel/evaluations/render-client.mjs @@ -0,0 +1,80 @@ +// @ts-check + +process.env.NODE_TLS_REJECT_UNAUTHORIZED = process.env.NODE_TLS_REJECT_UNAUTHORIZED ?? '0'; + +const DEFAULT_SERVER = 'https://localhost:3000'; + +/** @param {number} milliseconds */ +function wait(milliseconds) { + return new Promise((resolve) => setTimeout(resolve, milliseconds)); +} + +/** + * Render one versioned Excel artifact through the running Office add-in worker. + * + * @param {unknown} artifact + * @param {{ server?: string, scale?: number, timeoutMs?: number, retries?: number, inspectNativeChart?: boolean }} [options] + * @returns {Promise} + */ +export async function renderExcelArtifact(artifact, options = {}) { + const server = options.server ?? DEFAULT_SERVER; + const timeoutMs = options.timeoutMs ?? 60_000; + const retries = options.retries ?? 3; + let enqueue; + + for (let attempt = 1; attempt <= retries; attempt += 1) { + try { + enqueue = await fetch(`${server}/enqueue`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + artifact, + renderOptions: { + scale: options.scale ?? 3, + inspectNativeChart: options.inspectNativeChart ?? false, + }, + }), + }); + break; + } catch (error) { + if (attempt === retries) throw error; + await wait(500 * attempt); + } + } + + if (!enqueue) throw new Error(`Excel worker is unreachable at ${server}.`); + if (!enqueue.ok) { + const message = await enqueue.text(); + throw new Error(`Excel worker rejected the artifact (${enqueue.status}): ${message}`); + } + const payload = /** @type {{ id?: unknown }} */ (await enqueue.json()); + if (!Number.isInteger(payload.id)) throw new Error('Excel worker returned an invalid job id.'); + const id = /** @type {number} */ (payload.id); + const deadline = Date.now() + timeoutMs; + + while (Date.now() < deadline) { + let response; + try { + response = await fetch(`${server}/result?id=${id}`); + } catch (error) { + if (Date.now() + 500 >= deadline) throw error; + await wait(300); + continue; + } + if (response.status === 200) { + const result = /** @type {{ pngBase64?: unknown, error?: unknown }} */ (await response.json()); + if (result.error) throw new Error(String(result.error)); + if (typeof result.pngBase64 !== 'string' || result.pngBase64.length === 0) { + throw new Error('Excel worker returned no PNG payload.'); + } + return Buffer.from(result.pngBase64, 'base64'); + } + if (response.status !== 204) { + throw new Error(`Excel worker result polling failed with HTTP ${response.status}.`); + } + await wait(300); + } + + await fetch(`${server}/cancel?id=${id}`, { method: 'POST' }).catch(() => {}); + throw new Error('Timed out waiting for the Excel Office.js worker.'); +} diff --git a/test-harness/excel/evaluations/update-examples.mjs b/test-harness/excel/evaluations/update-examples.mjs new file mode 100644 index 00000000..7902812b --- /dev/null +++ b/test-harness/excel/evaluations/update-examples.mjs @@ -0,0 +1,30 @@ +// @ts-check + +import { copyFileSync, existsSync, mkdirSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const here = dirname(fileURLToPath(import.meta.url)); +const examplesDir = join(here, 'examples'); + +const snapshots = [ + ['out/gallery/funnel-chart/00-card5.excel.png', 'funnel.png'], + ['out/gallery/pyramid-chart/00-card18.excel.png', 'pyramid.png'], + ['out/gallery/grouped-bar-chart/14-card6.excel.png', 'grouped-bar.png'], + ['out/gallery/line-chart/14-card50.excel.png', 'multi-series-line.png'], + ['out/gallery/area-chart/01-card24.excel.png', 'stacked-area.png'], + ['out/gallery/radar-chart/05-card8.excel.png', 'radar.png'], + ['out/gallery/treemap/01-card0.excel.png', 'treemap.png'], + ['out/gallery/sunburst-chart/02-card0.excel.png', 'sunburst.png'], + ['out/candlestick-audit/advanced-90-day-dense.excel.png', 'candlestick.png'], +]; + +mkdirSync(examplesDir, { recursive: true }); +for (const [sourceRelative, destinationName] of snapshots) { + const source = join(here, sourceRelative); + if (!existsSync(source)) { + throw new Error(`Missing evaluation output: ${sourceRelative}`); + } + copyFileSync(source, join(examplesDir, destinationName)); + console.log(`updated examples/${destinationName}`); +} diff --git a/test-harness/excel/office-runner/officejs/icon-16.png b/test-harness/excel/office-runner/officejs/icon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..8665db7691e81764e96847913d67a721cf80d14f GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C8_B-+h;aCIPyAsiCpr*ofYi-YdK3!1m%@9DSV$8{)AtoAldc9 wAI`#Nz8#uO=>jKCTUGqvXY6X)_(0cM^k15w=(7*EfDU8uboFyt=akR{06lt3ivR!s literal 0 HcmV?d00001 diff --git a/test-harness/excel/office-runner/officejs/icon-32.png b/test-harness/excel/office-runner/officejs/icon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..776dfe27c804ee2b5246070acd58ee01f90f3f44 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJrJgR1Ar*7pPBG+jGmvQe|6fVT zOh>4*_vRr{nFFt!);*95Gj=zStmF+c>6OaRzHe-^$aBA)^X32khQC;E#92K4EKz%1 z?wrk^H5tMeo|~TWFqTi_dCYR!IMlFbr$|E10m0=qN_kMw*c?7*4sXeA`5&QbnbIkNIzxd&i-&l UQM;vL6VSm7p00i_>zopr061n*asU7T literal 0 HcmV?d00001 diff --git a/test-harness/excel/office-runner/officejs/icon-80.png b/test-harness/excel/office-runner/officejs/icon-80.png new file mode 100644 index 0000000000000000000000000000000000000000..c38979c4a5acc1dceabb2b98564162c140000307 GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdoh8VC?mDaSW-L^Y*5pS9YL;YvSAv z7VE8oEY@ptOSt$BT;sH4eV&*t+nz8r=)7(#Z}~|zbH&K`!nor48|%V5m#eRm*pPBy z5~DYp&clY)r)SUqc>ZEUecb}H7mGU?jlWzx(jfUOBk2H7t%+emo87D>4X>AP|9Gyt zVvp4OJ?r0}t(d;OaZsKOXa_wswJy*K~(Zh5!_pPIs7$1>J_ z3k_Lw#^UQcy$ady~1#?=(97bcCa}APm=?8eg(r>jM2+jJhQj>9jM_$U{a63@h zLPq179WDpDe}Dd%7yg-j2@A3WnmQQQo8?RRPO$eRHR7qG6{$+}}{x9K-mdAf!{4jXB`njxgN@xNA_2s&B literal 0 HcmV?d00001 diff --git a/test-harness/excel/office-runner/officejs/icon.svg b/test-harness/excel/office-runner/officejs/icon.svg new file mode 100644 index 00000000..49fe1007 --- /dev/null +++ b/test-harness/excel/office-runner/officejs/icon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/test-harness/excel/office-runner/officejs/manifest.xml b/test-harness/excel/office-runner/officejs/manifest.xml new file mode 100644 index 00000000..c933cb0e --- /dev/null +++ b/test-harness/excel/office-runner/officejs/manifest.xml @@ -0,0 +1,93 @@ + + + + 2e3cb77a-afbe-499c-9c60-9b0dca994868 + 1.0.0.0 + Flint + en-US + + + + + + + https://localhost:3000 + + + + + + + + + + + + + ReadWriteDocument + + + + + + + + 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μdbV^D1ciA|9W?|=nF(ILl9gAgc~t(7u`U(c*yL}ER zCRqinKnk(tYv^uhSXIvA0zFDJ%#HPp>TSC3f>!_3!-dGc)#J$7a>zR7(aKrTR1M2F zM3ve}ukqJJG2hl@wh(feRiP35BUZC&bGY+U^P1nG?($q8kY;u>deG~B(bD7P1qOdK z7GU)YKGkn=%A_+x)NqcBXni7ag1vD|=0(nN0BtpI=L43&hfcF%A1%J$rDkuet^z9L zY94vjLWTC^?wikQFY2VJ-NyldDhH=H1S%xO-Uqc?RkNJOax(=a&bX|(6Qa0BCG8(= zAJ=JXE?j25R-=*xbYN#GLvAvU>{{NMY`UbLJO^hgyD^nFUwVJIL!!aqP?Q#!?8z+^|r@1W(Mq`Zi{iVA5u`rVVjdecX`(zMP)-x zCOQ)dn_s?WhC6g@lBOkCDA!#SW9uAk_wyo#h!?~*rB>(_;lDHalpz@1-Er9ZIl5 zz|_D=BKWOvj0&#sRO=JI98HEiIzcgrRkNW z5`gfwu=@R|yjrgl#}6gbZ6UGi+#|V|&;cg-!IwI;y!cseqrD?x$vsK&qJJ@bCiw=< zi>M8REeB)(i3oroCK`5|u?2mM*{j<$E$rZ^@Bu-R-!y%UqtH}L;a+ImhUFvW8}PC? zr3o#ygd_i3xmf(_u=+BKkjkC#X#37nN~vTYTqF(@Wq3~izE6+Q!L3TDS3YWinCv^1 z*IVKzXgqB+Kh`0^(_-w%U+1C03XYIw?pJO#pA+=3>tXi4$$pE@Vei}!qj~;?N7a?% zFXsAFL}_pN7_^3#%_ii)L14ib{5aJ9j3{$bR0oesUq(%uGxFiQYJ}0uwuiOHKC*wfR%PRCRdsk$xeE8)Dl(CY zlOEq%*$4BEhM+$t;vECZheal_1*MOI?V^VlnHrv*Qm8)qVc3s&rYclBrN4hs_gpsy zH}pz2J+_`TTFZd$r*aI^hRz=(Y+~EPB0l1TcT(B!2>6=7Nmw%SPW)<$BfigN?tQlQ zwd{pPKvl6F9Ujw+L_U0!&BTKj89?8sEgzkyH<(J&s7+{({Mh5p>&%jSeVNBeQobQh zMP8d&kZ`gTtKIVFX+r8_G>&ItL}%E9bXiMOT331)q^#W-o)PW;J=hxQ)Z?9pEcg8HFnx~c>w+J+%Teu8|cMBseAQS&G5*_a&*Y$50A5hc4kkfolS2!SG z;cGOfaiiYKE;bAUpGtHqciis|o;D|AohmLxvI{n8XJQcM)n*uZ1Jfg0Mc)OTpYp22 z&=Nn!3P0DJ;-)-2W0JaXHEGi^dzJGT-dTz!jq>--(8t^Cb)@JaS+yZ+1W0v+)@$;_&Qb&cz8m#Wi?F7=^ zP3vz?E}I|3zdrWo7u=^9#k*f-lx=ya|MBCIO%Z!YmlT!ZU&HQ^s=~>~qhxho}vhu+EA1mfOGCP4DVo7y9d^{rtRsy|m41{MSy~6o-E8v`sNk{8xDV zdDHyLY5&SE|M=opPWw5V|GyU^HN$n_GB6=*^7kq`&kAD7YhI4`VpJY(A;4^kZ$Izu e=T9r}yUK#>vnFky9oPZ?yCNZbG2^_>o&N(#PtOAY diff --git a/test-harness/excel/evaluations/examples/waterfall.png b/test-harness/excel/evaluations/examples/waterfall.png new file mode 100644 index 0000000000000000000000000000000000000000..84deec8063665a9ef1f4392682954b455c8c4226 GIT binary patch literal 105693 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�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 literal 0 HcmV?d00001 diff --git a/test-harness/excel/evaluations/update-examples.mjs b/test-harness/excel/evaluations/update-examples.mjs index 7902812b..c645f647 100644 --- a/test-harness/excel/evaluations/update-examples.mjs +++ b/test-harness/excel/evaluations/update-examples.mjs @@ -8,9 +8,9 @@ const here = dirname(fileURLToPath(import.meta.url)); const examplesDir = join(here, 'examples'); const snapshots = [ - ['out/gallery/funnel-chart/00-card5.excel.png', 'funnel.png'], + ['out/gallery/waterfall-chart/02-card7.excel.png', 'waterfall.png'], ['out/gallery/pyramid-chart/00-card18.excel.png', 'pyramid.png'], - ['out/gallery/grouped-bar-chart/14-card6.excel.png', 'grouped-bar.png'], + ['out/gallery/grouped-bar-chart/00-card4.excel.png', 'grouped-bar.png'], ['out/gallery/line-chart/14-card50.excel.png', 'multi-series-line.png'], ['out/gallery/area-chart/01-card24.excel.png', 'stacked-area.png'], ['out/gallery/radar-chart/05-card8.excel.png', 'radar.png'],