From be38e932ec8e0ac350a6f21d2d8e6fabf4f8cfed Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Sat, 1 Sep 2018 00:27:40 -0400 Subject: [PATCH] stacked area charts! --- src/components/errorbars/calc.js | 23 ++- src/plots/plots.js | 18 +- src/traces/bar/layout_attributes.js | 6 +- src/traces/scatter/attributes.js | 69 +++++++- src/traces/scatter/calc.js | 179 +++++++++++++++++--- src/traces/scatter/cross_trace_calc.js | 185 +++++++++++++++++++++ src/traces/scatter/defaults.js | 20 ++- src/traces/scatter/hover.js | 18 +- src/traces/scatter/index.js | 6 +- src/traces/scatter/plot.js | 30 +++- src/traces/scatter/select.js | 4 +- src/traces/scatter/stack_defaults.js | 101 +++++++++++ src/traces/scattercarpet/attributes.js | 1 + src/traces/scattergl/attributes.js | 2 +- src/traces/scattergl/index.js | 8 +- src/traces/scatterpolar/attributes.js | 1 + src/traces/scatterternary/attributes.js | 1 + test/image/baselines/stacked_area.png | Bin 0 -> 89877 bytes test/image/baselines/stacked_area_horz.png | Bin 0 -> 74532 bytes test/image/baselines/stacked_area_log.png | Bin 0 -> 79962 bytes test/image/mocks/stacked_area.json | 83 +++++++++ test/image/mocks/stacked_area_horz.json | 83 +++++++++ test/image/mocks/stacked_area_log.json | 86 ++++++++++ test/jasmine/tests/scatter_test.js | 129 ++++++++++++++ 24 files changed, 997 insertions(+), 56 deletions(-) create mode 100644 src/traces/scatter/cross_trace_calc.js create mode 100644 src/traces/scatter/stack_defaults.js create mode 100644 test/image/baselines/stacked_area.png create mode 100644 test/image/baselines/stacked_area_horz.png create mode 100644 test/image/baselines/stacked_area_log.png create mode 100644 test/image/mocks/stacked_area.json create mode 100644 test/image/mocks/stacked_area_horz.json create mode 100644 test/image/mocks/stacked_area_log.json diff --git a/src/components/errorbars/calc.js b/src/components/errorbars/calc.js index 5340cdc6b27..56742248010 100644 --- a/src/components/errorbars/calc.js +++ b/src/components/errorbars/calc.js @@ -43,12 +43,29 @@ function calcOneAxis(calcTrace, trace, axis, coord) { var computeError = makeComputeError(opts); for(var i = 0; i < calcTrace.length; i++) { - var calcPt = calcTrace[i], - calcCoord = calcPt[coord]; + var calcPt = calcTrace[i]; + + var iIn = calcPt.i; + + // for types that don't include `i` in each calcdata point + if(iIn === undefined) iIn = i; + + // for stacked area inserted points + // TODO: errorbars have been tested cursorily with stacked area, + // but not thoroughly. It's not even really clear what you want to do: + // Should it just be calculated based on that trace's size data? + // Should you add errors from below in quadrature? + // And what about normalization, where in principle the errors shrink + // again when you get up to the top end? + // One option would be to forbid errorbars with stacking until we + // decide how to handle these questions. + else if(iIn === null) continue; + + var calcCoord = calcPt[coord]; if(!isNumeric(axis.c2l(calcCoord))) continue; - var errors = computeError(calcCoord, i); + var errors = computeError(calcCoord, iIn); if(isNumeric(errors[0]) && isNumeric(errors[1])) { var shoe = calcPt[coord + 's'] = calcCoord - errors[0], hat = calcPt[coord + 'h'] = calcCoord + errors[1]; diff --git a/src/plots/plots.js b/src/plots/plots.js index 908289fa72c..2063f505e48 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -391,6 +391,11 @@ plots.supplyDefaults = function(gd, opts) { // initialize splom grid defaults newFullLayout._splomGridDflt = {}; + // for stacked area traces to share config across traces + newFullLayout._scatterStackOpts = {}; + // for the first scatter trace on each subplot (so it knows tonext->tozero) + newFullLayout._firstScatter = {}; + // for traces to request a default rangeslider on their x axes // eg set `_requestRangeslider.x2 = true` for xaxis2 newFullLayout._requestRangeslider = {}; @@ -938,8 +943,6 @@ plots.supplyDataDefaults = function(dataIn, dataOut, layout, fullLayout) { fullTrace.uid = fullLayout._traceUids[i]; plots.supplyTraceDefaults(trace, fullTrace, colorCnt, fullLayout, i); - fullTrace.uid = fullLayout._traceUids[i]; - fullTrace.index = i; fullTrace._input = trace; fullTrace._expandedIndex = cnt; @@ -1178,6 +1181,14 @@ plots.supplyTraceDefaults = function(traceIn, traceOut, colorIndex, layout, trac plots.supplyTransformDefaults(traceIn, traceOut, layout); } + else if(_module && Registry.traceIs(traceOut, 'alwaysSupplyDefaults')) { + // Some types need *something* from supplyDefaults always, even if + // visible: false. Looking at you scatter: stack options even from + // hidden traces can control other traces in the stack. + // These types should bail out ASAP if visible is false. + // But we don't need any other cross-module attrs ^^ in this case. + _module.supplyDefaults(traceIn, traceOut, defaultColor, layout); + } return traceOut; }; @@ -1556,7 +1567,6 @@ plots.purge = function(gd) { // (and to have a record of them...) delete gd._promises; delete gd._redrawTimer; - delete gd.firstscatter; delete gd._hmlumcount; delete gd._hmpixcount; delete gd._transitionData; @@ -2421,8 +2431,6 @@ plots.doCalcdata = function(gd, traces) { gd.calcdata = calcdata; // extra helper variables - // firstscatter: fill-to-next on the first trace goes to zero - gd.firstscatter = true; // how many box/violins plots do we have (in case they're grouped) fullLayout._numBoxes = 0; diff --git a/src/traces/bar/layout_attributes.js b/src/traces/bar/layout_attributes.js index aa84ce21d55..a78a2107ca7 100644 --- a/src/traces/bar/layout_attributes.js +++ b/src/traces/bar/layout_attributes.js @@ -36,9 +36,9 @@ module.exports = { editType: 'calc', description: [ 'Sets the normalization for bar traces on the graph.', - 'With *fraction*, the value of each bar is divide by the sum of the', - 'values at the location coordinate.', - 'With *percent*, the results form *fraction* are presented in percents.' + 'With *fraction*, the value of each bar is divided by the sum of all', + 'values at that location coordinate.', + '*percent* is the same but multiplied by 100 to show percentages.' ].join(' ') }, bargap: { diff --git a/src/traces/scatter/attributes.js b/src/traces/scatter/attributes.js index d8a17c934e8..c2856da6def 100644 --- a/src/traces/scatter/attributes.js +++ b/src/traces/scatter/attributes.js @@ -72,6 +72,69 @@ module.exports = { 'See `y0` for more info.' ].join(' ') }, + + stackgroup: { + valType: 'string', + role: 'info', + dflt: '', + editType: 'calc', + description: [ + 'Set several scatter traces (on the same subplot) to the same', + 'stackgroup in order to add their y values (or their x values if', + '`orientation` is *h*). If blank or omitted this trace will not be', + 'stacked. Stacking also turns `fill` on by default, using *tonexty*', + '(*tonextx*) if `orientation` is *h* (*v*) and sets the default', + '`mode` to *lines* irrespective of point count.', + 'You can only stack on a numeric (linear or log) axis.' + ].join(' ') + }, + orientation: { + valType: 'enumerated', + role: 'info', + values: ['v', 'h'], + editType: 'calc', + description: [ + 'Only relevant when `stackgroup` is used, and only the first', + '`orientation` found in the `stackgroup` will be used. Sets the', + 'stacking direction. With *v* (*h*), the y (x) values of subsequent', + 'traces are added. Also affects the default value of `fill`.' + ].join(' ') + }, + groupnorm: { + valType: 'enumerated', + values: ['', 'fraction', 'percent'], + dflt: '', + role: 'info', + editType: 'calc', + description: [ + 'Only relevant when `stackgroup` is used, and only the first', + '`groupnorm` found in the `stackgroup` will be used.', + 'Sets the normalization for the sum of this `stackgroup`.', + 'With *fraction*, the value of each trace at each location is', + 'divided by the sum of all trace values at that location.', + '*percent* is the same but multiplied by 100 to show percentages.' + ].join(' ') + }, + stackgaps: { + valType: 'enumerated', + values: ['infer zero', 'interpolate'], + dflt: 'infer zero', + role: 'info', + editType: 'calc', + description: [ + 'Only relevant when `stackgroup` is used, and only the first', + '`stackgaps` found in the `stackgroup` will be used.', + 'Determines how we handle locations at which other traces in this', + 'group have data but this one does not.', + 'With *infer zero* we insert a zero at these locations.', + 'With *interpolate* we linearly interpolate between existing', + 'values, and extrapolate a constant beyond the existing values.' + // TODO - implement interrupt mode + // '*interrupt* omits this trace from the stack at this location by', + // 'dropping abruptly, midway between the existing and missing locations.' + ].join(' ') + }, + text: { valType: 'string', role: 'info', @@ -114,7 +177,8 @@ module.exports = { 'If the provided `mode` includes *text* then the `text` elements', 'appear at the coordinates. Otherwise, the `text` elements', 'appear on hover.', - 'If there are less than ' + constants.PTS_LINESONLY + ' points,', + 'If there are less than ' + constants.PTS_LINESONLY + ' points', + 'and the trace is not stacked', 'then the default is *lines+markers*. Otherwise, *lines*.' ].join(' ') }, @@ -212,11 +276,12 @@ module.exports = { fill: { valType: 'enumerated', values: ['none', 'tozeroy', 'tozerox', 'tonexty', 'tonextx', 'toself', 'tonext'], - dflt: 'none', role: 'style', editType: 'calc', description: [ 'Sets the area to fill with a solid color.', + 'Defaults to *none* unless this trace is stacked, then it gets', + '*tonexty* (*tonextx*) if `orientation` is *v* (*h*)', 'Use with `fillcolor` if not *none*.', '*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.', '*tonextx* and *tonexty* fill between the endpoints of this', diff --git a/src/traces/scatter/calc.js b/src/traces/scatter/calc.js index 37a9068c8e9..2ff8728073c 100644 --- a/src/traces/scatter/calc.js +++ b/src/traces/scatter/calc.js @@ -9,7 +9,7 @@ 'use strict'; var isNumeric = require('fast-isnumeric'); -var isArrayOrTypedArray = require('../../lib').isArrayOrTypedArray; +var Lib = require('../../lib'); var Axes = require('../../plots/cartesian/axes'); var BADNUM = require('../../constants/numerical').BADNUM; @@ -20,23 +20,69 @@ var arraysToCalcdata = require('./arrays_to_calcdata'); var calcSelection = require('./calc_selection'); function calc(gd, trace) { + var fullLayout = gd._fullLayout; var xa = Axes.getFromId(gd, trace.xaxis || 'x'); var ya = Axes.getFromId(gd, trace.yaxis || 'y'); var x = xa.makeCalcdata(trace, 'x'); var y = ya.makeCalcdata(trace, 'y'); var serieslen = trace._length; var cd = new Array(serieslen); + var ids = trace.ids; + var stackGroupOpts = getStackOpts(trace, fullLayout, xa, ya); + var interpolateGaps = false; + var isV, i, j, k, interpolate, vali; - var ppad = calcMarkerSize(trace, serieslen); - calcAxisExpansion(gd, trace, xa, ya, x, y, ppad); + setFirstScatter(fullLayout, trace); - for(var i = 0; i < serieslen; i++) { - cd[i] = (isNumeric(x[i]) && isNumeric(y[i])) ? - {x: x[i], y: y[i]} : - {x: BADNUM, y: BADNUM}; + var xAttr = 'x'; + var yAttr = 'y'; + var posAttr; + if(stackGroupOpts) { + stackGroupOpts.traceIndices.push(trace.index); + isV = stackGroupOpts.orientation === 'v'; + // size, like we use for bar + if(isV) { + yAttr = 's'; + posAttr = 'x'; + } + else { + xAttr = 's'; + posAttr = 'y'; + } + interpolate = stackGroupOpts.stackgaps === 'interpolate'; + } + else { + var ppad = calcMarkerSize(trace, serieslen); + calcAxisExpansion(gd, trace, xa, ya, x, y, ppad); + } + + for(i = 0; i < serieslen; i++) { + var cdi = cd[i] = {}; + var xValid = isNumeric(x[i]); + var yValid = isNumeric(y[i]); + if(xValid && yValid) { + cdi[xAttr] = x[i]; + cdi[yAttr] = y[i]; + } + // if we're stacking we need to hold on to all valid positions + // even with invalid sizes + else if(stackGroupOpts && (isV ? xValid : yValid)) { + cdi[posAttr] = isV ? x[i] : y[i]; + cdi.gap = true; + if(interpolate) { + cdi.s = BADNUM; + interpolateGaps = true; + } + else { + cdi.s = 0; + } + } + else { + cdi[xAttr] = cdi[yAttr] = BADNUM; + } - if(trace.ids) { - cd[i].id = String(trace.ids[i]); + if(ids) { + cdi.id = String(ids[i]); } } @@ -44,12 +90,72 @@ function calc(gd, trace) { calcColorscale(trace); calcSelection(cd, trace); - gd.firstscatter = false; + if(stackGroupOpts) { + // remove bad positions and sort + // note that original indices get added to cd in arraysToCalcdata + i = 0; + while(i < cd.length) { + if(cd[i][posAttr] === BADNUM) { + cd.splice(i, 1); + } + else i++; + } + + Lib.sort(cd, function(a, b) { + return (a[posAttr] - b[posAttr]) || (a.i - b.i); + }); + + if(interpolateGaps) { + // first fill the beginning with constant from the first point + i = 0; + while(i < cd.length - 1 && cd[i].gap) { + i++; + } + vali = cd[i].s; + if(!vali) vali = cd[i].s = 0; // in case of no data AT ALL in this trace - use 0 + for(j = 0; j < i; j++) { + cd[j].s = vali; + } + // then fill the end with constant from the last point + k = cd.length - 1; + while(k > i && cd[k].gap) { + k--; + } + vali = cd[k].s; + for(j = cd.length - 1; j > k; j--) { + cd[j].s = vali; + } + // now interpolate internal gaps linearly + while(i < k) { + i++; + if(cd[i].gap) { + j = i + 1; + while(cd[j].gap) { + j++; + } + var pos0 = cd[i - 1][posAttr]; + var size0 = cd[i - 1].s; + var m = (cd[j].s - size0) / (cd[j][posAttr] - pos0); + while(i < j) { + cd[i].s = size0 + (cd[i][posAttr] - pos0) * m; + i++; + } + } + } + } + } + return cd; } function calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) { var serieslen = trace._length; + var fullLayout = gd._fullLayout; + var xId = xa._id; + var yId = ya._id; + var firstScatter = fullLayout._firstScatter[xId + yId + trace.type] === trace.uid; + var stackOrientation = (getStackOpts(trace, fullLayout, xa, ya) || {}).orientation; + var fill = trace.fill; // cancel minimum tick spacings (only applies to bars and boxes) xa._minDtick = 0; @@ -66,17 +172,20 @@ function calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) { // TODO: text size + var openEnded = serieslen < 2 || (x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]); + // include zero (tight) and extremes (padded) if fill to zero // (unless the shape is closed, then it's just filling the shape regardless) - if(((trace.fill === 'tozerox') || - ((trace.fill === 'tonextx') && gd.firstscatter)) && - ((x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]))) { + if(openEnded && ( + (fill === 'tozerox') || + ((fill === 'tonextx') && (firstScatter || stackOrientation === 'h')) + )) { xOptions.tozero = true; } // if no error bars, markers or text, or fill to y=0 remove x padding else if(!(trace.error_y || {}).visible && ( - ['tonexty', 'tozeroy'].indexOf(trace.fill) !== -1 || + (fill === 'tonexty' || fill === 'tozeroy') || (!subTypes.hasMarkers(trace) && !subTypes.hasText(trace)) )) { xOptions.padded = false; @@ -86,19 +195,21 @@ function calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) { // now check for y - rather different logic, though still mostly padded both ends // include zero (tight) and extremes (padded) if fill to zero // (unless the shape is closed, then it's just filling the shape regardless) - if(((trace.fill === 'tozeroy') || ((trace.fill === 'tonexty') && gd.firstscatter)) && - ((x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]))) { + if(openEnded && ( + (fill === 'tozeroy') || + ((fill === 'tonexty') && (firstScatter || stackOrientation === 'v')) + )) { yOptions.tozero = true; } // tight y: any x fill - else if(['tonextx', 'tozerox'].indexOf(trace.fill) !== -1) { + else if(fill === 'tonextx' || fill === 'tozerox') { yOptions.padded = false; } // N.B. asymmetric splom traces call this with blank {} xa or ya - if(xa._id) trace._extremes[xa._id] = Axes.findExtremes(xa, x, xOptions); - if(ya._id) trace._extremes[ya._id] = Axes.findExtremes(ya, y, yOptions); + if(xId) trace._extremes[xId] = Axes.findExtremes(xa, x, xOptions); + if(yId) trace._extremes[yId] = Axes.findExtremes(ya, y, yOptions); } function calcMarkerSize(trace, serieslen) { @@ -120,7 +231,7 @@ function calcMarkerSize(trace, serieslen) { }; } - if(isArrayOrTypedArray(marker.size)) { + if(Lib.isArrayOrTypedArray(marker.size)) { // I tried auto-type but category and dates dont make much sense. var ax = {type: 'linear'}; Axes.setConvert(ax); @@ -138,8 +249,34 @@ function calcMarkerSize(trace, serieslen) { } } +/** + * mark the first scatter trace for each subplot + * note that scatter and scattergl each get their own first trace + * note also that I'm doing this during calc rather than supplyDefaults + * so I don't need to worry about transforms, but if we ever do + * per-trace calc this will get confused. + */ +function setFirstScatter(fullLayout, trace) { + var subplotAndType = trace.xaxis + trace.yaxis + trace.type; + var firstScatter = fullLayout._firstScatter; + if(!firstScatter[subplotAndType]) firstScatter[subplotAndType] = trace.uid; +} + +function getStackOpts(trace, fullLayout, xa, ya) { + var stackGroup = trace.stackgroup; + if(!stackGroup) return; + var stackOpts = fullLayout._scatterStackOpts[xa._id + ya._id][stackGroup]; + var stackAx = stackOpts.orientation === 'v' ? ya : xa; + // Allow stacking only on numeric axes + // calc is a little late to be figuring this out, but during supplyDefaults + // we don't know the axis type yet + if(stackAx.type === 'linear' || stackAx.type === 'log') return stackOpts; +} + module.exports = { calc: calc, calcMarkerSize: calcMarkerSize, - calcAxisExpansion: calcAxisExpansion + calcAxisExpansion: calcAxisExpansion, + setFirstScatter: setFirstScatter, + getStackOpts: getStackOpts }; diff --git a/src/traces/scatter/cross_trace_calc.js b/src/traces/scatter/cross_trace_calc.js new file mode 100644 index 00000000000..4bff13e0e5f --- /dev/null +++ b/src/traces/scatter/cross_trace_calc.js @@ -0,0 +1,185 @@ +/** +* Copyright 2012-2018, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + + +'use strict'; + +var calc = require('./calc'); + +/* + * Scatter stacking & normalization calculations + * runs per subplot, and can handle multiple stacking groups + */ + +module.exports = function crossTraceCalc(gd, plotinfo) { + var xa = plotinfo.xaxis; + var ya = plotinfo.yaxis; + var subplot = xa._id + ya._id; + + var subplotStackOpts = gd._fullLayout._scatterStackOpts[subplot]; + if(!subplotStackOpts) return; + + var calcTraces = gd.calcdata; + + var i, j, k, i2, cd, cd0, posj, sumj, norm; + var groupOpts, interpolate, groupnorm, posAttr, valAttr; + var hasAnyBlanks; + + function insertBlank(calcTrace, index, position, traceIndex) { + hasAnyBlanks[traceIndex] = true; + var newEntry = { + i: null, + gap: true, + s: 0 + }; + newEntry[posAttr] = position; + calcTrace.splice(index, 0, newEntry); + // Even if we're not interpolating, if one trace has multiple + // values at the same position and this trace only has one value there, + // we just duplicate that one value rather than insert a zero. + // We also make it look like a real point - because it's ambiguous which + // one really is the real one! + if(index && position === calcTrace[index - 1][posAttr]) { + var prevEntry = calcTrace[index - 1]; + newEntry.s = prevEntry.s; + // TODO is it going to cause any problems to have multiple + // calcdata points with the same index? + newEntry.i = prevEntry.i; + newEntry.gap = prevEntry.gap; + } + else if(interpolate) { + newEntry.s = getInterp(calcTrace, index, position); + } + if(!index) { + // t and trace need to stay on the first cd entry + cd[0].t = cd[1].t; + cd[0].trace = cd[1].trace; + delete cd[1].t; + delete cd[1].trace; + } + } + + function getInterp(calcTrace, index, position) { + var pt0 = calcTrace[index - 1]; + var pt1 = calcTrace[index + 1]; + if(!pt1) return pt0.s; + if(!pt0) return pt1.s; + return pt0.s + (pt1.s - pt0.s) * (position - pt0[posAttr]) / (pt1[posAttr] - pt0[posAttr]); + } + + for(var stackGroup in subplotStackOpts) { + groupOpts = subplotStackOpts[stackGroup]; + var indices = groupOpts.traceIndices; + + // can get here with no indices if the stack axis is non-numeric + if(!indices.length) continue; + + interpolate = groupOpts.stackgaps === 'interpolate'; + groupnorm = groupOpts.groupnorm; + if(groupOpts.orientation === 'v') { + posAttr = 'x'; + valAttr = 'y'; + } + else { + posAttr = 'y'; + valAttr = 'x'; + } + hasAnyBlanks = new Array(indices.length); + for(i = 0; i < hasAnyBlanks.length; i++) { + hasAnyBlanks[i] = false; + } + + // Collect the complete set of all positions across ALL traces. + // Start with the first trace, then interleave items from later traces + // as needed. + // Fill in mising items as we go. + cd0 = calcTraces[indices[0]]; + var allPositions = new Array(cd0.length); + for(i = 0; i < cd0.length; i++) { + allPositions[i] = cd0[i][posAttr]; + } + + for(i = 1; i < indices.length; i++) { + cd = calcTraces[indices[i]]; + + for(j = k = 0; j < cd.length; j++) { + posj = cd[j][posAttr]; + for(; posj > allPositions[k] && k < allPositions.length; k++) { + // the current trace is missing a position from some previous trace(s) + insertBlank(cd, j, allPositions[k], i); + j++; + } + if(posj !== allPositions[k]) { + // previous trace(s) are missing a position from the current trace + for(i2 = 0; i2 < i; i2++) { + insertBlank(calcTraces[indices[i2]], k, posj, i2); + } + allPositions.splice(k, 0, posj); + } + k++; + } + for(; k < allPositions.length; k++) { + insertBlank(cd, j, allPositions[k], i); + j++; + } + } + + var serieslen = allPositions.length; + + // stack (and normalize)! + for(j = 0; j < cd0.length; j++) { + sumj = cd0[j][valAttr] = cd0[j].s; + for(i = 1; i < indices.length; i++) { + cd = calcTraces[indices[i]]; + if(cd.length !== serieslen) { + // TODO: verify this never happens and remove + throw new Error('length mismatch!'); + } + cd[0].trace._rawLength = cd[0].trace._length; + cd[0].trace._length = serieslen; + sumj += cd[j].s; + cd[j][valAttr] = sumj; + } + + if(groupnorm) { + norm = ((groupnorm === 'fraction') ? sumj : (sumj / 100)) || 1; + for(i = 0; i < indices.length; i++) { + var cdj = calcTraces[indices[i]][j]; + cdj[valAttr] /= norm; + cdj.sNorm = cdj.s / norm; + } + } + } + + // autorange + for(i = 0; i < indices.length; i++) { + cd = calcTraces[indices[i]]; + var trace = cd[0].trace; + var ppad = calc.calcMarkerSize(trace, trace._rawLength); + var arrayPad = Array.isArray(ppad); + if((ppad && hasAnyBlanks[i]) || arrayPad) { + var ppadRaw = ppad; + ppad = new Array(serieslen); + for(j = 0; j < serieslen; j++) { + ppad[j] = cd[j].gap ? 0 : (arrayPad ? ppadRaw[cd[j].i] : ppadRaw); + } + } + var x = new Array(serieslen); + var y = new Array(serieslen); + for(j = 0; j < serieslen; j++) { + x[j] = cd[j].x; + y[j] = cd[j].y; + } + calc.calcAxisExpansion(gd, trace, xa, ya, x, y, ppad); + + // while we're here (in a loop over all traces in the stack) + // record the orientation, so hover can find it easily + cd[0].t.orientation = groupOpts.orientation; + } + } +}; diff --git a/src/traces/scatter/defaults.js b/src/traces/scatter/defaults.js index ba9fa7c5c2c..955a2a82d5f 100644 --- a/src/traces/scatter/defaults.js +++ b/src/traces/scatter/defaults.js @@ -15,6 +15,7 @@ var attributes = require('./attributes'); var constants = require('./constants'); var subTypes = require('./subtypes'); var handleXYDefaults = require('./xy_defaults'); +var handleStackDefaults = require('./stack_defaults'); var handleMarkerDefaults = require('./marker_defaults'); var handleLineDefaults = require('./line_defaults'); var handleLineShapeDefaults = require('./line_shape_defaults'); @@ -26,14 +27,15 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout return Lib.coerce(traceIn, traceOut, attributes, attr, dflt); } - var len = handleXYDefaults(traceIn, traceOut, layout, coerce), - // TODO: default mode by orphan points... - defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines'; - if(!len) { - traceOut.visible = false; - return; - } + var stackGroupOpts = handleStackDefaults(traceIn, traceOut, layout, coerce); + + var len = handleXYDefaults(traceIn, traceOut, layout, coerce); + if(!len) traceOut.visible = false; + + if(!traceOut.visible) return; + var defaultMode = !stackGroupOpts && (len < constants.PTS_LINESONLY) ? + 'lines+markers' : 'lines'; coerce('text'); coerce('hovertext'); coerce('mode', defaultMode); @@ -61,7 +63,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout dfltHoverOn.push('points'); } - coerce('fill'); + // It's possible for this default to be changed by a later trace. + // We handle that case in some hacky code inside handleStackDefaults. + coerce('fill', stackGroupOpts ? stackGroupOpts.fillDflt : 'none'); if(traceOut.fill !== 'none') { handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce); if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce); diff --git a/src/traces/scatter/hover.js b/src/traces/scatter/hover.js index f85a1a77094..6efe4ca9053 100644 --- a/src/traces/scatter/hover.js +++ b/src/traces/scatter/hover.js @@ -68,16 +68,30 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) { var yc = ya.c2p(di.y, true); var rad = di.mrc || 1; + // now we're done using the whole `calcdata` array, replace the + // index with the original index (in case of inserted point from + // stacked area) + pointData.index = di.i; + + var orientation = cd[0].t.orientation; + // TODO: for scatter and bar, option to show (sub)totals and + // raw data? Currently stacked and/or normalized bars just show + // the normalized individual sizes, so that's what I'm doing here + // for now. + var sizeVal = orientation && (di.sNorm || di.s); + var xLabelVal = (orientation === 'h') ? sizeVal : di.x; + var yLabelVal = (orientation === 'v') ? sizeVal : di.y; + Lib.extendFlat(pointData, { color: getTraceColor(trace, di), x0: xc - rad, x1: xc + rad, - xLabelVal: di.x, + xLabelVal: xLabelVal, y0: yc - rad, y1: yc + rad, - yLabelVal: di.y, + yLabelVal: yLabelVal, spikeDistance: dxy(di) }); diff --git a/src/traces/scatter/index.js b/src/traces/scatter/index.js index 020bc06a511..6df0d85ed7a 100644 --- a/src/traces/scatter/index.js +++ b/src/traces/scatter/index.js @@ -21,6 +21,7 @@ Scatter.attributes = require('./attributes'); Scatter.supplyDefaults = require('./defaults'); Scatter.cleanData = require('./clean_data'); Scatter.calc = require('./calc').calc; +Scatter.crossTraceCalc = require('./cross_trace_calc'); Scatter.arraysToCalcdata = require('./arrays_to_calcdata'); Scatter.plot = require('./plot'); Scatter.colorbar = require('./marker_colorbar'); @@ -33,7 +34,10 @@ Scatter.animatable = true; Scatter.moduleType = 'trace'; Scatter.name = 'scatter'; Scatter.basePlotModule = require('../../plots/cartesian'); -Scatter.categories = ['cartesian', 'svg', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like', 'zoomScale']; +Scatter.categories = [ + 'cartesian', 'svg', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like', + 'zoomScale', 'alwaysSupplyDefaults' +]; Scatter.meta = { description: [ 'The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts.', diff --git a/src/traces/scatter/plot.js b/src/traces/scatter/plot.js index b0e14b2964a..56980cdcf22 100644 --- a/src/traces/scatter/plot.js +++ b/src/traces/scatter/plot.js @@ -386,9 +386,17 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition function visFilter(d) { + return d.filter(function(v) { return !v.gap && v.vis; }); + } + + function visFilterWithGaps(d) { return d.filter(function(v) { return v.vis; }); } + function gapFilter(d) { + return d.filter(function(v) { return !v.gap; }); + } + function keyFunc(d) { return d.id; } @@ -416,12 +424,24 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition var markerFilter = hideFilter; var textFilter = hideFilter; - if(showMarkers) { - markerFilter = (trace.marker.maxdisplayed || trace._needsCull) ? visFilter : Lib.identity; - } + if(showMarkers || showText) { + var showFilter = Lib.identity; + // if we're stacking, "infer zero" gap mode gets markers in the + // gap points - because we've inferred a zero there - but other + // modes (currently "interpolate", later "interrupt" hopefully) + // we don't draw generated markers + var stackGroup = trace.stackgroup; + var isInferZero = stackGroup && ( + gd._fullLayout._scatterStackOpts[xa._id + ya._id][stackGroup].stackgaps === 'infer zero'); + if(trace.marker.maxdisplayed || trace._needsCull) { + showFilter = isInferZero ? visFilterWithGaps : visFilter; + } + else if(stackGroup && !isInferZero) { + showFilter = gapFilter; + } - if(showText) { - textFilter = (trace.marker.maxdisplayed || trace._needsCull) ? visFilter : Lib.identity; + if(showMarkers) markerFilter = showFilter; + if(showText) textFilter = showFilter; } // marker points diff --git a/src/traces/scatter/select.js b/src/traces/scatter/select.js index 5d10050b494..e980a6d7400 100644 --- a/src/traces/scatter/select.js +++ b/src/traces/scatter/select.js @@ -36,9 +36,9 @@ module.exports = function selectPoints(searchInfo, polygon) { x = xa.c2p(di.x); y = ya.c2p(di.y); - if(polygon.contains([x, y])) { + if((di.i !== null) && polygon.contains([x, y])) { selection.push({ - pointNumber: i, + pointNumber: di.i, x: xa.c2d(di.x), y: ya.c2d(di.y) }); diff --git a/src/traces/scatter/stack_defaults.js b/src/traces/scatter/stack_defaults.js new file mode 100644 index 00000000000..75cdd99a5dc --- /dev/null +++ b/src/traces/scatter/stack_defaults.js @@ -0,0 +1,101 @@ +/** +* Copyright 2012-2018, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +var perStackAttrs = ['orientation', 'groupnorm', 'stackgaps']; + +module.exports = function handleStackDefaults(traceIn, traceOut, layout, coerce) { + var stackOpts = layout._scatterStackOpts; + + var stackGroup = coerce('stackgroup'); + if(stackGroup) { + // use independent stacking options per subplot + var subplot = traceOut.xaxis + traceOut.yaxis; + var subplotStackOpts = stackOpts[subplot]; + if(!subplotStackOpts) subplotStackOpts = stackOpts[subplot] = {}; + + var groupOpts = subplotStackOpts[stackGroup]; + var firstTrace = false; + if(groupOpts) { + groupOpts.traces.push(traceOut); + } + else { + groupOpts = subplotStackOpts[stackGroup] = { + // keep track of trace indices for use during stacking calculations + // this will be filled in during `calc` and used during `crossTraceCalc` + // so it's OK if we don't recreate it during a non-calc edit + traceIndices: [], + // Hold on to the whole set of prior traces + // First one is most important, so we can clear defaults + // there if we find explicit values only in later traces. + // We're only going to *use* the values stored in groupOpts, + // but for the editor and validate we want things self-consistent + // The full set of traces is used only to fix `fill` default if + // we find `orientation: 'h'` beyond the first trace + traces: [traceOut] + }; + firstTrace = true; + } + // TODO: how is this going to work with groupby transforms? + // in principle it should be OK I guess, as long as explicit group styles + // don't override explicit base-trace styles? + + var dflts = { + orientation: (traceOut.x && !traceOut.y) ? 'h' : 'v' + }; + + for(var i = 0; i < perStackAttrs.length; i++) { + var attr = perStackAttrs[i]; + var attrFound = attr + 'Found'; + if(!groupOpts[attrFound]) { + var traceHasAttr = traceIn[attr] !== undefined; + var isOrientation = attr === 'orientation'; + if(traceHasAttr || firstTrace) { + groupOpts[attr] = coerce(attr, dflts[attr]); + + if(isOrientation) { + groupOpts.fillDflt = groupOpts[attr] === 'h' ? + 'tonextx' : 'tonexty'; + } + + if(traceHasAttr) { + // TODO: this will show a value here even if it's invalid + // in which case it will revert to default. Is that what we + // want, or should we only take the first *valid* value? + groupOpts[attrFound] = true; + + // TODO: should we copy the new value to the first trace instead? + // if we did that, the editor could show controls in the + // first trace always; otherwise it would only show controls + // in a later trace, if that trace happens to already have a value... + // I think it's probably better to ignore the editor for this + // purpose though, as it's probably going to have to use some + // special logic anyway, it will likely want to just + // take the value out of layout._scatterStackOpts, set the + // new value into the first trace, and clear all later traces. + if(!firstTrace) { + delete groupOpts.traces[0][attr]; + + // orientation can affect default fill of previous traces + if(isOrientation) { + for(var j = 0; j < groupOpts.traces.length - 1; j++) { + var trace2 = groupOpts.traces[j]; + if(trace2._input.fill !== trace2.fill) { + trace2.fill = groupOpts.fillDflt; + } + } + } + } + } + } + } + } + return groupOpts; + } +}; diff --git a/src/traces/scattercarpet/attributes.js b/src/traces/scattercarpet/attributes.js index 6b6564d6565..60ca8852fee 100644 --- a/src/traces/scattercarpet/attributes.js +++ b/src/traces/scattercarpet/attributes.js @@ -74,6 +74,7 @@ module.exports = { connectgaps: scatterAttrs.connectgaps, fill: extendFlat({}, scatterAttrs.fill, { values: ['none', 'toself', 'tonext'], + dflt: 'none', description: [ 'Sets the area to fill with a solid color.', 'Use with `fillcolor` if not *none*.', diff --git a/src/traces/scattergl/attributes.js b/src/traces/scattergl/attributes.js index 3d8798115bd..385fb765742 100644 --- a/src/traces/scattergl/attributes.js +++ b/src/traces/scattergl/attributes.js @@ -75,7 +75,7 @@ var attrs = module.exports = overrideAll({ }) }), connectgaps: scatterAttrs.connectgaps, - fill: scatterAttrs.fill, + fill: extendFlat({}, scatterAttrs.fill, {dflt: 'none'}), fillcolor: scatterAttrs.fillcolor, // no hoveron diff --git a/src/traces/scattergl/index.js b/src/traces/scattergl/index.js index befc5e468f5..0bb6dabe015 100644 --- a/src/traces/scattergl/index.js +++ b/src/traces/scattergl/index.js @@ -23,8 +23,10 @@ var findExtremes = require('../../plots/cartesian/autorange').findExtremes; var Color = require('../../components/color'); var subTypes = require('../scatter/subtypes'); -var calcMarkerSize = require('../scatter/calc').calcMarkerSize; -var calcAxisExpansion = require('../scatter/calc').calcAxisExpansion; +var scatterCalc = require('../scatter/calc'); +var calcMarkerSize = scatterCalc.calcMarkerSize; +var calcAxisExpansion = scatterCalc.calcAxisExpansion; +var setFirstScatter = scatterCalc.setFirstScatter; var calcColorscales = require('../scatter/colorscale_calc'); var linkTraces = require('../scatter/link_traces'); var getTraceColor = require('../scatter/get_trace_color'); @@ -89,6 +91,7 @@ function calc(gd, trace) { // Reuse SVG scatter axis expansion routine. // For graphs with very large number of points and array marker.size, // use average marker size instead to speed things up. + setFirstScatter(fullLayout, trace); var ppad; if(count < TOO_MANY_POINTS) { ppad = calcMarkerSize(trace, count); @@ -134,7 +137,6 @@ function calc(gd, trace) { scene.count++; - gd.firstscatter = false; return [{x: false, y: false, t: stash, trace: trace}]; } diff --git a/src/traces/scatterpolar/attributes.js b/src/traces/scatterpolar/attributes.js index e05c8f31da3..fa04df7f593 100644 --- a/src/traces/scatterpolar/attributes.js +++ b/src/traces/scatterpolar/attributes.js @@ -106,6 +106,7 @@ module.exports = { fill: extendFlat({}, scatterAttrs.fill, { values: ['none', 'toself', 'tonext'], + dflt: 'none', description: [ 'Sets the area to fill with a solid color.', 'Use with `fillcolor` if not *none*.', diff --git a/src/traces/scatterternary/attributes.js b/src/traces/scatterternary/attributes.js index e41377fd74e..1dee1c0d70d 100644 --- a/src/traces/scatterternary/attributes.js +++ b/src/traces/scatterternary/attributes.js @@ -103,6 +103,7 @@ module.exports = { cliponaxis: scatterAttrs.cliponaxis, fill: extendFlat({}, scatterAttrs.fill, { values: ['none', 'toself', 'tonext'], + dflt: 'none', description: [ 'Sets the area to fill with a solid color.', 'Use with `fillcolor` if not *none*.', diff --git a/test/image/baselines/stacked_area.png b/test/image/baselines/stacked_area.png new file mode 100644 index 0000000000000000000000000000000000000000..2f508049fbc6fe8bc297ada23b3a84b399e94901 GIT binary patch literal 89877 zcmeFZ^;gty*FElxpoG$h2*NOcbW7I|(%p!F;2;PJ64Eh}Lk}Pzpfu7A(x7xHB@zp(cMD?;hT@Yu9coD#&VGyLKIR z^@DQ*yz}ez4XbO{VAm97rF2|P)<5FAk_{hUHld`eZ^{NM@r1-zSO>>ivzz$-Ol18D zW6mA1%Efwwd*_z{JH^*K`NOHq{qDGWj2CSr1@SpKY5OFPUX@g~Q{9ja$9tHTx_vYD zayNOBQb4&(v|QA2aed=Zj4)E+`BJav_pxu@i}g!hb?Xx~j!dHpD6Ic@A+EpWBqO^0 zZVVe2bM4<=C^!N#BMXC&{QIk44h2oW%`Xc7&$m-iuL=I+kFVic(IX%OfrJ*BKDde}9eRXdo)mp3DFHd*F96qVNAX92n#k z7Bg&Iqn!Rf1`mVa;Vk{>xGl1o!{`a*6zyEhR|GS+37rOtA&VN7H|2^#g&7J?3SpS`*`Gp1ME~LywM&wm6ri}&{>9k5JYS~N`GSHIHunsUuSIHPa z7JR?Sh{Qjzz)pn9vyH)JfAah~wk)9y9-8L+I-?)<{9L4DyPfwgRTz!)H-9nuxty zRNzA`@z4_Aqr|=ThxMzs+o^_?zO0Xx|Do-=L;GtZAwCm-#>=dZ8jR6lW=fwwCU;_2N2WCJw4u8aGeVmQHa}47t{9HZeM<1$LG%iDj!93#Y=?eF*5yQmM|{ZyUW%$D!~h6(oOVZSB3E zTrGy>&(m^p6khSZV{+eJ>eELpj5_v-Q|RjIveZN+L8JRmTlYhmVMS4lXV49Z;$35D zuCtvUu5GZ;dB{6EhzAbX$dkR5)$+aNj7YtuxD=m@*2f_($81Z9-9rUz1?_UqqAKX78a^6FHT?ax=g-_?|xb_V&aiY9%)ll z(|$1)t8WtA6~i=F(n6qIQzHw)1bOv2SrlLke@2OSEzO3IvyJ1T3t-C3Yrntx4X5Sn z7t5)thCjw#S?ANES=vS2W5`RB)dKJ9|jo_-C7Q&gKx zmyLK|%f>5S488t}O#zdXr0qRhnf#Tj&$ap8qB&t+8Be?AM37{9{p^NlAjDups0v@hvP9aJKJmbo8Yi@>3Z%O7*FQHrzGd! z@l6vlExML+6f1j%-F=$kjsl6h@usUQf@3Dma-Mrk9-NIPT#zEvwb6lfYMpXb zO}&E&?s6k=JM)VhLqbCEPAy{|s5ZZ2(Zf4O~Yj9$K zm6>i-HJx)D{IZjLW5?BW#!KU|&hrF>{YUTi2wF)RQl^bBw3iAH#TDGIp-gYD0Wc0l zZD_`mVYV70N}qMiHlA+Cq)2#?Jr1^zINuv8?UOkD{nN;h$WNBM*zeDpQ$AuZmZ6~d+cCF^E6*JC|! zP6|D{Jv8q1jYgpq0>AQo7rOqlG2-&@@*-tChm-J?$Z6PpVF!j}w;KkPN^@;YW3gf! z7bk1QQL(YH^9e^gu2}x%41O!)l{WP<$GZ$T3a+2YJX9)uBOR9>*bjNWNCip9?5t|S zA@uP!hRHP=Te%sV!70_UFZpP!&pWV(t7+o9@BW}N*UYCRTfBxcWr~NiAN<-}VzEUq zYN8Zxqb0TeRODvizM=h@mRrff4j*Gi2;*^M8$Jy%%~lZ=iGW7mYA`N-C3k(5hxT?( z*(Fb%yZ{~{yX;h|81he4RvAa|a+Y+pk+UQIr*}HgfPgQ%eID0YQp>?kf`w;Kc3))? z#g8i>Q$8AwlBWs&F7eD`e>I?11Wy6cV&z!{&V|goJSeZ@CmIP654S&+BR?#k*GhiL zMEP3||12~bUhJxxa#t?&?MxNq;4kTq zx}@-qhVSE|pF}fk5#bWky&E>SiE%6FGr&{$;`ie9AsC=vOc#{bCXS|kpdpOrcG%s4 z3sZ|Xx{W?cEI5jB@4j=;W48`L&JU{Iw#yadFw4nkHfCoZ%pt*fVkhpB&wWhXC3ni@ z<^9A+2-+89gJBEs?z2@V&@1G%l1}V?S;=^TPQ_-@7tXcqvo?L zoX?pOO>+^VFhy|&GR@{Eg*QdDB&2!Yd+iO#W5Vo7q?tT64klepBa45Y4rwByEl%cW zuUA$YXupe044FmtEuOAD!&S&c|M1a?Y*!6G*hizu%pW{zox#yWQ2Rpr{Y4mQqRjM! z8ytUF%X_PN=BhJ75)AKp|M=`Ftnu<GIzd#r7}6B%Oj0=t~mb&gQqs{ zMwbMUz#~vb2lrEg3Ol(b3XFT8B*p7fkRy`I!U9o^)T;ZQfjwVP{=NA+q1aOx^)dweD#s;GFXXu*=W^Nm2)fgVN{)yhPQo%zfePWAJX16!|>K&QQ4pVsmd>5 zCnho^ubGclUQbcx%@TH8{B1OS5_gg0F!1a*6t4Ve5E&~I7Y|SJ4E8wR9~l@Q&wENW zCX2APd3)ks&s%h@GA1;vUS%zvgcxH0j}Db4Ph`Bb_yrbe&|9F>I>_IEKfV1z%J%Y! zkyvzsXl@x4K32?te`mgQ{IK- z4VMbFg>{;9aV4zGT-=;IrC_J}E}W})wabxj$-ZrMYMOLn8KQ9dLJk5!2DFUp(AFo7NBj&nK` ziqm=U=a)S=9VbI?BQ0->VfEAs2Ajp)=HF~QEh=kRK4>LXKSI+5Ya2la`>*}@@%v+x zTTWvdLon&dsg@)bLmXP+93$N;Ex~zk*nUgY;}Z_L;I%>TiUPaEjHYiS+HnkpHS5w_Y)k&ux0xUv=Mu+4{9lhi74wrIcq!D zv`@Vyo?#&YUJ_bP^?MC4D!sC|lzipH6Pa>lL+IeoJ9sU;^{lliP!eHebZyl}i%5m% zeOBi97x3r}D4e{TW4ol?xXh58#vn&ew4R_mWM9#$7BxEDx4>6W@z9Blj0g|C*)%nj zaUE=#eI{yoX8jGQBM8yS0B5rH*?03RBj%eK6Pz6RXcCQl+vm>lg%ty%I3cA)Jlc;K zjImomI6%!S>l=1--p3}5-|y<3SsqE`gthHjbJu@{FtbAOnr9NO9usfp`%r=c%<}gG zR+y?mY(IAQCXr2KY7(hz(?&}|U!9w9BtII(!v>44I-2s>)J?M1%6o*T;MK6LJMab{ zTu)KraFWDWY)8RAOd=FRiU@{^ZW6*Zia>uu#XkgH&tnz-M99`S?}-dy%QhD?+`^AW z(u<0Xu)xSbRARmGn`brr-hZ!~AhO#Jvp|eFpBNKIcC!0iEy1Fo#&VA(n*+C4mV^zTF=9f& zUkn!V)}-ShH9oqWBWB|J5J}`%228MzO~cZ&)Xh< zDk*ARHm3+c6*ckfS`h&!ofcxgV} z)2CVwO9;w|jO%1F>2tu1vPmC<-CE?$nWj(TYrzk)N^7<$!A}Z3Hx$fNZs9Vc>D^-5 z-84x{N-lbk(4`dp*Ly;rq(xi|(jL1_y|NTsAF-3%zt0{!-W&7$)8N9+WBRLA+b3xx z%OE!>9r|?Jv;yTnv|Yr?A#0rLHvCnU7~@0{r9(!P`%BYLd3<;S!_7tE18nfM8zpG87uCd$hA9sk1r% zV^_-lW~m-LItqtE+qz1I1=iI+XG2Q&^d0IUKmUxK&ncCF?F1SW8jmLkIHdzA%}-IDkzzq8Kvta4hBq1fA5#`2`fr!?be-N18o=8ZBaovpjaeDkLQaq4Q z@{CB|#BITr;&MQqb_O8+j+Bc%rhUHLqN2K~WFF|w6=rXzvTH>X)5CmxK%OEeJ3cM5 z=y~14QT1N<1fa_|{QaY7a`HASW?swkqH7P05d~7VFKncYwT(rIS*FWwjGZ^yEQ+CP z^K?itH*|8h*c5Y(95QPH9*W-c)W*(4y7LowloB&@-q^{IxLFMyv}NW~MM$6Wjt8l? zjf=78M~{iS6h1d#qcZWno5)K400$iwt`LMHzbB+hkxox8mg5Zx!AYV zo8VX8CqV^n#v@w_1&F=SbIHr&KKtW^__>^n2y098B!O1|>XDXs9yxb3GaTr;NO@FtlWjU0q5%mMd?QFY)RJ^jOcufKE__2-vJMISFlt(L@;>EwS*z*0*V!-7I&!8Ao2Gqvjj>(c2@s*M)@*U5h1!!?F@A|oOGE3n54?r3<=g}Uix-n zNU}B5!QPGBfhrMW45@eyv7pk2TlR0*84NATvEnL-vucLsvQT;oD2&q@E z3dfT;ig#-%>0y^=OOiYu2QSZl-<13^q%Ii_=m+TwRTZ^^Kx*evGn45$!KF2of5+4G zJC`0qHqDlbjF8fD90+qmwPYOiXo&A8bFzhd_aZ2GSaTU*xztxHqHw^L&}6+YqbJ1- z^nZ8b9GgtcNnaIHlhO@7mE%t&mZ8|) zUlB|EIxvKfM!Tzyp?Pm@h*!%%KyHz1@;?93Co3`Uu~pT$&#`|Q!=&C0xFbwb(l0f{ zcd=a+cH>$yuaiB^4nU~QG+mw-lMv-rGMV!^%q#4d`<%_uR_}fnbs@zNN*o~y)7hhg zmS?a4R2I+1{VWpMcz?z6Kd@^6^o(8y|{! z^8gm8_Xt#u!M*SwTP^gjf23NlkOs!GLZeq_^dI0UWDobzOS*!TwDD~8AtYF(_+GLkcZS9h(jE^^4BSX^70g~(`iP5mlCVq0%6aDfM)+S8dNnOY#5&wIy7?g& zVU1ByN3HjCrtDq4JRF6*Akze9*k>W-MYb-~ux1A8E)$F-;@KYvdWxBoDzcDiZs$>@ zd=(95TGi0-d6r@1;c@ZYl1YyO9BLk(g*;qiwu!BLD@H1v{~-N*w;_0M z-z&9X?gEh0+0OFj(b4a`pjP7#_N?qbp;|AO@y)RrrdWggbqv)zGMaLfK0L%`xTtog zqgTUbaJcR!pQiiM;Q3=K-7`(R`v7=&L84;uaeGM2qIB^M8KZj3K!r)C131C5ymLA> zHj+U`e(7{<*~YrgDeLTf8Ve0Jjk$lp z5{umfr&a5yvvuXnTZ|W>B%F>^1jAouacF7x$x^wi$BKg{_hwXgVN>H~GfGMl^i_mL zS61F`x+l)%bUfpmNrpMf$W=y|zY>YK)e$9rt#mM73o#q{VvjhuTfq`)9-wE44WXCG zFCb^jhdr&$?0%y@dCbOZh{#+tAo}ym!>4XY92Q)F>I~dZvTHPa^$b&>3nz*mP{KlX zMBKMF4MKih{Z+-)9!Xn#5bC6Z-ilF|&}4&wq@)XV05?$n7DsUs50uw-Lg;M6rKyE3 zh}t&~zBl6LBFAdQYwGUn z(%+ZVs!U*jMGKq&DvTBRx@vVP3PtHVY+HNG2rF&O?8fe74I+QM@PIl98aTLmFe8q{mKu1;q@Nbw-oeCkpO3TD`pmvuR=N_YlW8;Ot+{Vgmq{%64OHB9tp@Vh#PM91k(@KgX!dQ>csU&y= zjP*nWpIp3=*FmZCQ35Ayg~Zz;@h|;imR3)V#$$RVXvhLf##KNA)+yOVUu+(F3wC+ z_sP`}xAH@h@u21-8aS3sAvEJ>;f|%x`w8B?G(gqU>0|Nl@SO4+BL*4Ix)~r*z6n}F z~eJ z_z{d1`-+k>9;#OXWZ7oXZm}I2FLY!dTg;0f{ z1)QEima7?->Tf71znu_Lw`PIaV>9TrS=+Rf#x5uva@_{v$}FJ63a*s9@_1vcFk&Lb zuWaO0jB~N;=L!knlkZWzUA3+}q05I!2@GMkUXbYP-NCb1$xNULv?xPmY9Gb2KuOr_ zrGvEJL(7s-1qQ?Z3M*(a7+N>NAY}+>flY19F!#Td!gH=0c%3^7J#=o7j2Yj6v}CLA zP{H}8`yI>k2tY(eu?c3f)^?jmKK4GXDJ;vpFYj^PZnj6&^0}df%F(-<1D4 zPbzSD|F|>}n!Y*0^S=^e8v|Bz+N`bSnjW+NPT({0cWg1=0#yoqPgOk9*E_8$$_6NuKwD(Pp=K|q@1OaX#uW$=7 z$i`TQ8%tzFn+EM7q*n~xfq5z_b3Ijv90QQKi`-(`N#Jk1WpKXLT8ay5%md8Gi&MhS z()hv>r9a^*)CQO)z+iv!Qj}-06jO)d0xeLiamFf#H`!TK0wp$nEzQa=fTi- zDd+r&r0aztws|PB zzWlFS++?joVCT)IpwEbB}M_+#~H#^yvY(ru-C*w6J4fEGacZe=Q z-5^LH^!wT^T8St3O|`ZC(qw|t?WP;6j~A1+7vfE4L5=YR+?K&b#&xq{eBU*u>$1As zuH^sp++19v&oAG4M%FB+hi-M!N9N!#2FpcD+_-&j9+&MImh81qB+|m7k`(jvryf5M z;6gK*1lNxhCvX%T%O7LE=;~@eTOBn_7Hj&xg{w+NBn!4dgf@}JT`%2d6=T}rkjVIPBi4Sp)kB?ms#w>@gpHSIWO9kk100n=iVWXR^ zxRoizGd(@vVlP{AZ0T%8-6!Nx=$$b(*plHRnx=a_ETzl-@sYOaA`uDFqx>wMy=^d3<+i~Mf7FvAX~eI#!XQ0I6b#5bK`fBW{$I%`g_>G(Df ze%HNd%FM3_;k;M^paJ|ev}B1|9?FgsImG9xM_B^(v)r;z4+{4vVNy>n@P1%KH|08a zn~`PE#A{!7-;PiAgBX|zy0s42H&oufvw*+d?(?}I)uKhN{>VM}sMuSNl0S1CdMQGI^G4Xc_J#)=18|6%4^>Y?_|YM zQbN^>Es=&or6KkbM!Y8qfVrK?M!jc*MM|9HeDqwYSxRmJQffhSimWu!NZO=zlL|K@ znmhMfl3>RZNE9HRt3oDB2S-P9^h6lgm9b=}>?lkcCC@9AZdnY^7&W+8x)*v% z9;Soj5@(DnJBHyj{SDaA=Hdv66DzKb;S|T}`)E{tdeQ?}7f5i|tpm&!Uf%O9YmnHn z{9v3s{1BozvXu|}OEFT+IFr&}@o77Jj6Y|h@!Yp=ep|(?s~f=_wa**eMy4OVTM){X zsm!a;2!Liw12X|7BOcli>M-qfIOf4IKXbN};!`v)!yqeNQJ|u~t%m^q6EX5njC49> zEXH~W8qck-YWfHyO=n|d7%7ps9bcq}Jsa%RtF*l3Yqp*R&{tm6KW=SpMXQn$)uED- zZb@s3G2CLKh_(6#?XD`2a&FpmS70yI2KY_yNY^>?dMW)Tlv4LXD4%G*LV zCaP8oGJ1%KhgbT`cTZxo<QJ@~O|UX91i$ z66JN*tBJs=27E4dQ}V@OB-l=E5S&7*NLr7D0Y6TbIQZ$_`k1yV z7RxNhsZ4~>EYALA+09Hq^7kWogk#Sx0@+f7^VVOqD=#2(A=V0(AN;hlk0CS`Sw|uq zr8+mbQM<-jscBr+9a4REzUiYM4fG%iE|Y??r~e2-Nuw70kDALET6Ej-I*sfa0)T&p zPE^z=>sHL3`DVjm^7tfI(h#BOdI{{4{FwwPG3La5Y|@Ya(Q!_0e-gnkz+5S?I+ou* zyU;&g8U*vmn4nn93?ATuB1u;u{g$v-v#Hi>-}*aYI5R}idXog3fdh-dMJCiIpA1e0 zzcV<`H)#EHnm()LPn|9=uTo**r+(`YG`bQ#d!XY@s}9*tdcAx`$pLdGDvxJ|wy#52 z*w|WtkLdOIi|ny@X4Bb?nkAY_{Atz#^9h^>a2TNFchb1b3`CMZUG{@?o*>nt>KpHa zTRmhD#ltPO{e|2@Rq?JUCZXELgC6mKPGWV}f5|}!sdzlAKd{U17r$pIr9dBGVfpH<64yS8wqVJ zhRK#2br@qWWrrtU79}g-%7mC-F0+zrJR>(T_)^V z`HP1Opd4=rpQl6N>L2p*`aNG0+?ie|I&tAWd>Mjrz3*+oQ`%h8El?!;JykneD)xts zDiKBnrwLCQvA()QqD7zY68sPh4hN0=5UpaV_t>bCA|nS!^d_O+@eU)t>SKYiY-Tvz zkP5;G)2dVQHeIm=`_=jv>QeyR)csvqVosq8&99+VGk}iEL3Oq%i%fkM=q=_PiHn)U zg1pd|{F<@FX2WS}F-mZEk66V&GGKjIXd9o~5@koKk|u(vJMQkEDdt-*wUsij9QX(-|q^%Jfn!XS8+=!$P6In1R`&8f7Cm*+-8VP;soHbKh%*C z(PPU>7szrl%IfeN&S1nPu(AIX3DRS=);?2~g=@vGk`d#fX-%IvOEUfQPyo~!06Sx6 zr0w??s^5qY=q15=?u%0SP{OQ(P)?@l(MCoZZN#mW7EKG{@ZMsxf^@yxVw;4{8t!1> zq3xj#TDte=XV49OGMO^-8GhXPVI)L0nMhNGYy7gnadPRqKJNq;`okDLc59t5=I^w` ztstc>#nHhjk$mn8s-fJHRg_YJX4o9C1QPEoBZOGKu?&Pq4iPvakkhMoAVFxD5c@j+ zE>$m|76M8F=HOzgZ~ieDnjXaGk%n>=ycrFsLI876i_gU#R$+yAEV;QDfBe8=1=(is zmLOmxZ7%V>gHge48sxZ=Kw+i^!xTSqN~rbifMN}745y;V;g+c-I+iyUPv}E0-tgvt zWO64a=N?>ZB+uC)YUyewMG}T267QkW+#-$KQqXqfSEa2JKOe&~XnGB+d;e9L7W;0L zO62^mEZeR83O5!9$36e5M^o|`Xtd&tel0dbE~u$V{h=i9QJqRbX!$xX8aNGSvlI)A zxMj(aM+WRn6P?SycBYw}Xmb%!1|6Iz(38sCib1yQ)M2y0M4F4)y}=>9IMHOLIr%Vc z;3DdSfol0_J$#Cb7f6=6{2Tt~u&7SP7?cKkbtH+}$@3nu&~%{cNc)0i#JwJ?%YHn^ z`;ikn)6d22*|VHR-ReMe=6dXphOVDPX{hC6*{r{(^%fb%^n6tx)2mnh{F}9)1mE*s z6tc5+EQG?%9C^JDZa5nL!Q5WNy+e|T zYJGo3L&28`>>pBdXO(0`O9if(f>>d=U!#5fJl0EZa#sKLb#^%bD3uwKz-{LHH>=eX zVP1=v z^V;r(tt6W&@u<-mzpSi?1KiendOY+UNYwfLXgz(4$(RSHqOxMt>$_-vZ!)5roBCbv z$u(tU^`!N5$m)vR9zpECjQh!4IjrVco?NB6C&rbEH$CWJWlqM%g;}ib;5Jv>w~C)L z8Pf^RtqI40-(q8ibX9DzC6I_d^`78fLHZ2phfK1KHbEXuJdZ$v{ZpJ0xt}h16 zY&9tAx&o8oU8|}-nS<5piKiR$8Ntw5f32Gx3>v-Q^uTQ5xiV1ISnVw_55R?XRSErd zDL3OXrOHRrC{DlsOzO%An{lf5)_+7OjS%}rGw<-!5AXk;*UNs3sUs(6YZ0FVyOrpkO42Z`Jm6aM}j-d1rW`mBT=-e{tYv^%*QI`i zS4aW7cs`fZ6(6i?q7kuP@UrO>#(rtvgAncc^}dhs8>u3NL zV+QbSMN{>Dyv2pxipzMjLnwz10J|>({}Eu_-QB=NO}!4pv?5#BmR|!2Q4R5J-2p!$ zOlmVATFm~JXsJ-4oCKV*>B8Q3sj)-xljwo~ot=+I99L&>O#b(<2^3GE`ETq|#v@sW z>OO#&i~llvpGF4EeEYZCt|J~=klO9e(iI;zcHIF8AT#okCsEND+sWF>x=?L3;kIMr z6|q5ONEGABiF@TOV^QHQk?SA1`#E3-L(jNEsu+ceK-!uLBxa^86Zu+R?U7&$DQzy! z+)5>b^=2+sfq3jEBN~C08PQ1z`!Ui;fP=PAla4yt!yS^k9TmG2*(xtjC^J%I?6vwX zn;dYC->*+z1tjn-W_F<}E3HknWmPPCWJ} zC+_o|Tb+42mql#1l&erk>!aAP+!W~SuM1GwutB1veapU1Of5ylQ?TAhcuMybOHye) z9{3v>?=J0Y!r}7DQ6{*WpD%tz$Argul@Evr{d)6?IHg#EQC%IP*kz`?5-K2v_%6Ie zt@}qzU*@bRn|?71)fwPwVyx*}sa>$jxOfKv0*>(bc=NNuU(Sat#4_nrEs z-b?y4o*avA*85$l2U$3AK1~PXHaxF?f9bbrxC3ZAr>;m&L#cXO5$x9ZZ*{oP+{c&9 zoRlXwoC3^N$S^7dO*=+cpo@_aCHCepFDn;SzyH(dsEy0}EwH}~JhB1n^rMdu zf)kMd7!sG- zxl8O$ckByp}z}`_pf&mnbWtA69 z`;*Fc?C;xx6R4E4c_t-kc#>G5QT6MzhI{ZP*YDzoPXLn6&2~@5M~jU`akC?`=Jroy z)B*nhbcOJ2@<83a?T2LRJ~73+it$%in$d$si{r^xE=X7Lt1pJT*3xXWWzbm*Wo?KX z&|mup2ce4jG-LCQyX)nBfdzpEZ<3#XOAJU)hm(;&RJ>PS?w=+vXB&ib_r4>W2^1lfzmFL~n^Uc=O_=D(jM$*xt`u z3X`APrU~@Awt6w&V~<4p(>`T%N}m@bg!tWjmaSh&8eOk}+fuuS@_|_n5vfpDOLUdD zdDn1Hl|GXX!X>X?uf7rgR5hMa=+)>8Maw3VW9E;wSfLjW2jb7=O{QGtYv%Do7>bq$ zvqH0t-#yU}ucw&)`h7@k*Av@rDVQmJt&7RSz2U(J6&kqsPA9#!SXo&axBH&e{!`1j z_Hbq{E<63Tm7=;0=_`r+`o~Bv_V$azVw}ll$jztO1&KR)l3Q`$XA(PgU>vLh9|p z_f9_;_BID3IsFW7o}I-L&ZY{E%uP!Qk@+OsJ8LZs9-B7_^-=5RdUtt=zaViwP>*=^ zF!J)gkC=N(RO03zgJ*2B9Hw_4Nk|;ellFcP)(&`b-}U#~tDYddnzF?8&la2L1hWcK(IU4& zb4XBu=HqB25qnpylf7GP6|gUC3aZMKqzCP7chKseip%mMhh0|&vkvG&?{GAuAlJFQ z&s-7Ku!fxwdA{b$q1S}y%dkQkG5oKC_FV%W8t)YS4?h_+{bD5RwJ1Nx%+dBABJPKre6ZhAOc(V}}BbgaB_6b5`B1F$GT=FT{SFsZsljFG4HBBK&`i4v=z z6m>2*nOFymaJsP9iPHz~la;i-vs#g-!$s@{CUXZTo@7MD!Oq@|??{LQ4GOk6ZR|qo z1+?_wmm9P7f214X$VXZvMjlF{-6z8dsLsuRueAOPGegEZL@Xpxbef!;{ClVEB*C3c zMhkc6Ew`n4EWbMqGZG2}0oip2Y|tE`&(U=?@qL{u{efdfUO@Cuq5Asj+S)eY)TRl( zMu%~faXs=jyjZuCYyonFt>sq$WaD+dkqn;!?r`@+huk>mA7mW3`at0vtL3rtFLq#g zS}^(vtDAQ5su8&loz*>HJMH<*7-n|7&qiJ`^5vX}sP3c&r-HUJcu)tya6N84d~Gs2r3cD1Wg76t2izAMt`Q&en@{|2o&3#?IbgSQd|x8^RzCWbZ89}#(W#ft_k6aFW=AYm zp84kIX{q;Q!aj{8jMjV8dvL%6NE7Oa)8dm&ToUon$eO&U$8xC0ba7jGv=>`JtCv8J z&y$c}aMYt&?`*8ih?EfVk7a`;s}(zmP-3?(SUKO>Ax~K8G5g6?x8w>Zu5q8)afp%l z0F8dwoT>)ujH|=VLkY-VK4!Vn(|sFkS@-=k*4k<4tj(%c|0YT(n#P79q4!Lr`8g+r+aQPuQ#y=;mqBvT(L2zGbpL%fJ-qVBj6lzfrN{>wvVhU~)Ql&T@AfsgZZDbI5oo#vfi_~i&k$%fn=>k|piQxl*`pHIxNlf)PZ}~1F_BLYPJ*eL z_NF2f-y;J3Q`yp`3==DW!W=6UO4S$K>~aGm`bXNmVTYG?%mT|L0yv`v;EaBqu=I(A zWR-xyQU-p2fV1zvs!-sH@ia{ zXvu0zN`bVXyOIwAly0H&D|(c5LG7am`LX63`YT-x^!>sd^%2dw16kFWOj*^>V3Ln{ zZ!&u9Y8Km#9&u6gTO|O3-TN=a|3N?OjQTJbcO7r~{wuM~FgsU*?#Kqtu$4B9J0q;j zohjdyRlY%?A|)KCXWNe6SpzkImAw)3m*3;jK+yP{+3UVj$_t|fn$jvBXrUEn2O^&C zfcOI0CLg&QFY%cPBr5b)_T2t#Pm1aPP;u90PFRw+_Kz971I&);U{N#rO;*pL$~vR)N)PpYVK1dVmH7J#DMRI0sJC({(LlWS(7tT zuZOJftsQ@a z2@Q8yVJyPjB3KOd#IBQDPjtSivu{kBuLYqp&5vT+TK-|$%qd!&_$1GXFv#X&S&{|( z&*RfXc5`l)g7?($Ic890_binHoVc(uC)>{qr;r~)g-wB-pGc6FnbH$PdEf7=?w04E zyJT|_MF5G)?js4r{talP=#$wca95j&1KY8MD)j%@vzVHhN)!W?w}qvPlE5PeSDBN% zLFpf{cifv<$6{RRVE}8 z(UXeOB_yv@RZ$8!snPIGYlZ%A_>ciD&?Z0z(hA8Q71N`Wt9C5rzi9>7U=jpgC64dX zVc#sD?|G@y6Wjdsfq*eo%ariPPjgjG32RpBOtnA$u_I8eiqtzDocS)vgTr5VUXGX1 z+&rkeX%cAW#&IR9j(Jew0h@8mOZ-hmUJIF8iYtdq?7DszPNMebt8+Y56Ft)bl8DN+ zf1WISdA7R^n99tl(PfgW@;bOKp1VLcY2+$YkBtTC2B@5mYX3!)xsnGiWT6;Hy)8ET z6p>&f*Wm)0T)FH4Xax+1;Z;My(!Bqw&$89kvm)H$Zg^>cga!X6VZDosn+1J3kK#Fv zwQM|{aM2o3?6Mpj3X94q@zC^2Ti?F&<~441E^LN@Ew-`OoW3~%$sP@oO!e?3U9UuB zpdfgJ{&xLiItK^7t0%;`H9vbFs6RvvzS;=-&GseK*m+~3W(bSsZ!ZpK?J|6Cd7#B# z*}?g?2sXo$P`ZSWA0~L{^EOraNi55Zs4dMXGlKm$1Xm$_ zM*m>--IHX~(|gUkn$1uPi5r!4;*=0v_FyOon&=-)DvR~+!FM$coKf{x4G`?IjLnaR;!v(;_O&)`jYN;U{a}h zryc`U;6ebZA{94Qh?_z7Z;qWD(v~;%0f)4$Ep4yUyQ)?swTPh0|HcEy;9xv-Nwga^ z^vO(d&ZBAA)uQ)i_N89+cis~CXDQIYC>80`%98!T_d0>lHPF-f<%+DjGTm2$1_k@o z+-z_Qf}y3eo&X$BlmODs+f0r(UfID7sn+Ki)yQQk1%X>V_>f$AMr$5&H;;w1c?HX| z7fd&{Y`}>!XrUY@F-}l^Ss`7lqys#M@X3Pt^eame@`2Zl1`u_YCI71nuA-j!obLnm z&7f}E4Sdam{Z*5~#p$M?laTzp;y;VkYiz2M0L- z#onxGCFeKy|FQR$VNrGM`|u1UAjnYCFmx%BlETm((jW*ZEeg^o;7GT0hag=_iG+ZJ zq%_hX9RkuF?;5=C=lT8P^LrfcalBuQVc2`^wbxo#o#%ON7XcnqoU5L|G^Z9J)u6?j zXgihB5hBt^#0n3Xgsk8A(eoFmjST;H5)@9S&$jC9tIMK>>z}qqw1IbHv-|~<90t5;m|Y)cAywgqS!hJ7V!22lHTG3nvkufV z(suxk0~BLHc?a|6?O(vB`v$ZlCd2!lef*l+y7+nW1)tND5A2#)7p*|}1?s$$AFd@I}kVjh9jQE77i_ec>xxNQ}oaF<^x&uEsF$Jw^#v zEdT4y3=R+b0pCe&jp@?x~d%)dE94a`z@Ft9I*V-Cu7KDlDA&l}_@$Vl@19tfAqj ztSoYT*-NWAB^iXwm^rD8PEdmCYAqG&1;6giu?BR*2k5}9LK$~}DiCFp#8G(4sA0S* za$v)Y_QVRGcP_NFk2u$|MJbG87mWzNMadEq07If{=`^nxb)Qx5h~?iK8XzN2Pbnuf zZVzy-Mti~+!!4lLNG0EtK#RZAwKfVh0*7o5hf=hi;v4VqNFz7y^<<70lr%pLEh zx3nBZr(R&TVn?AC@s!#=-UF1d&aZ#>rumO#fz9u-Gk6)^r|h=2wkY+IU%*Aa4;C>9 zQA8dK>I@K*f?dhck@r2>3c+ip56+*IZO(#|%=_snhVODd-_HLSI7>A+joZ=F>;P4t z23ePtd#LwyvUf+P4uyIW{@04H*=eBYfdKm=Ik-6Ne38>E^Wp>@wM#>z;eYiND2{i(nfPe(d9jUALGSNjPTDItlX zlrrVlBs{r5owt9H2jE`iuA7EE=?|!s@vu8XkF<#4 zL}>Yy_2rcF7ET=SwXNog7x9>@A_C=%gdN~ZuIJKBiO7Zz^w7&kk75h z=QfO<&pth*!fkh{w**;Plw@j{%dA?FRc}MMymG%ql|23t^d+UYMYm}`z08a8z?)X5 zW%Sbp$T3b2mh3y%E3qMvcOQVr(%=5Ywt(X_mWG5FgXw%}tDsXhpH2@(obw3Ev#$II z5tD7U(1;=@IS>ad=>h_p$@o*V-S2z7-`So>*A87MsRd4gYwxmDNiccd?LdX07{XVY z`SvL23nihW&|$lTKa zZUK&JYR_v_J|OXLOn`;kaf8ki2}E~1e?OXS&J3h2EZqj+P=LX*pAn;W?4SogbsPZK zNnpn7meg?;izZckxjw|sO}6$W?v{risg{xQdvku&4}f;+BDo1785D-q=-RPbr1o=<8He=Ryf zZ*cb&c%{L}F&8@(_6Y?rh}H{|Ij9r}`K)Mx6$WP~7AmLo>Ub{D?Pm2vtqUir$RY;7 zvfz;c!vB`N!L{1SbYrXG_7vD)<@`F*-eT!IV54*fV0KVB%Jx*$5k@LeV;f+y3uj?? z_`1%fH~`0x=`61B5uy1e?nifBJ#@fU786$|WmEYKUWZ9|IvK7BpX@Ib-`bqjJD?tQ z+P(jGHJgJB>laXG)4|p?f7IyxptNS0Qf$9p`tOL;+NnNr)M^2wU9FV`l!6unZS@AK zI*DnMe&+`tG{p9W)iJUu@FOqi45rI9UN&!;y>MNP43n-kr+;PxWg;mm!GCP0@QxMk zy8fi#jJ_aL^*X@7+2h76eG7&W`EMq`e6HEw9aLHA1te~XADdR;TwEN@w)$HU;v!TC1+HtEEmr$f8!&s5xha<{bH^cDs5jI;mnGE)7_gpHxWq^J$cy*$x2rQLoq+d~1`^2x`U{@57KOf6qu}=*Z@O6bhCXd%b-PYpGOSJ>w z!GxRXC#Ge;ix9w{#|e6nV6oTmi9ZwNDzo&okbD7aAzkvHy+{K49qqa?_7=c$Np@vD z02)?@=!r9*;x#j5JyAU_4Lj%|=?8qO^R8T5l^@T;z&?~g0JAzy(Xn{RY^Ts1I9MVJ z9G=R004GuiWrlyZbVM0%qNELqV@lMW{<95$+=}V$VkbGbDZ)1Vogx~;;=H!38v|S} zpqQMOGc~{rEE;_f(tLM{X%09i_jNe@?A}RCWDMoGAA@o_=G)KM@%t2k50?M055{ZR zLyqF*k@K1>fNR>I5%qFcUb`(Pb!E;BaJT@sf)()IH7g?mNlu$FMk`x+Xas!-SAdmBR3!~^YIwb@r zyf48<{s0uMHox2a<=21*-;wcfoi3hEYy$w~dDq&&OD3L_V(vS_va*wT9bFS%Z{+Gp zQ4~a=trT)=CN8Pqug~Xy=$RPJdml$P;_<}K+e+P&gFd~wTTjyR_(0$stuocB4i>A> zE2nKZc$dOJ;P0=u7fN<7LYRw~RgK?iN`)Af$z-yeoT3vY$bNWx9IQFxPj`(4#b5J> zhWteYWL0n%yQ2+0yv}v7SlI0b8T1VK5wms3IagB+iW0*f<*FJfW`U=6uKzgro&dFO zP(mTszCFqqVKPw?IY$wKid zd(~84b#NE(Vo6NA4oKC6<}gr&cPyiq$3!aE3F7!vy9565HE=ccupbmJU6}7aze^rT zIw3awkX-i;bdBx2tMq3Y4ppBhRrhv%99=s{F2%)egf1d%7BF5ik>rO-mg`I4I1aXxY(V zVr@b&2x2;ikG^!D0WBDe_+N7*kr>~0EO3aql@My8oBZdi@)A-Y%d!m&6{DyqRf3Tt zj@&!i5{~Sn^^u$5;o#fGF>>quKY8b$B zRSOg32-{bSKC(i+?zjt!q)dC{_4)ApIn9>Yx^;&L5v-Gmr3j8v%$fM(tK>NL)k7Gy zy?>}EomHTMMxMVx<1gF}U@^<=#(A0P1{Xuii#?}2_kNHIzMw`GXwC|im6SB@9&o8x z1KyRp)}PwBn*8KO&MF%#wB~KjqZoExyduwTO7o+$Qm^P<3?`9trTgjK2^NYJp(>N^ zGZecH95y)gv846xq=O$Yv!^XD4eG3XoFoRt>wQp}TQkF)1$JPq}$RN#>KdZV?@Nwf>Mr3_uN&i>Z}KxSp6zn(tuku zA%J~CSFY|on5`(ZmL0PV1T{Vs7Akdy5dP4H1|JiV89d4ai=*)qaKR5^3&%eZJq@Tw zrm9M7d>)nOK@F;K`n!|j>mDz`x?@2BewigxHQ9P5UOG4d^@I^3>uhnG>p%oU8sM3D02|A0x>kpjBURXmrQzu7pCq0L zmYWJ*4>TTyUc>9zbnC(LIJ=n=d_dGgzLcmJHGThPi2=f#Tvwi6e*hQS_w4P07XFxq-mt(_ZrAJ1Dq3 zku=EW1Bp97<4&^sBODwMMfC3F5X3)GoJ@e33ll2E-d3e5^jz|}^@y~tM2DB#@-4w^ zd0d4qCaw42pfd96GT-_JOu|$3>q9a7J(671n&oB?A|^}}ELX+|ni`S{HVr>C~@ELw?ydOIS8HcyS8WFtxL=C_q~uS*w% zsj6A2pd5u=TE24;l%o)Iy$-Jt!YX8u4#t>8wa%5uY?=Ccw+~B`Nm(tQvM{r;a;%$( zNbuO3vMip1iVS3NIe^!stc~T9HDUi$SnqxC1VP5?vbu5R>M;eVd^V5E3rbgGR45P1 zW#DiJ0GJf?+?xvSeD-_aggJ6-vXR{9U3E65|3+!TS(xUuSnu)gCW^aLFRK~eUQeWG zPsK;L-%@7F1jM4Bx=TpFHhEVV?&ECsCtWQP%G7%+Mz6GSX!#3F$f3y-2XbisA>QLFsP5aQ?zB@yzDu84zwn?I}-#> z2EWIXKtVCUZb4~-&w&KxfzdvA)r8w9;?&M9CUWH4PyEW@;@5YlU#=cp|6&1F>X|cr z{GL=*jh`hIlRZLnR6HR95@4NE01@q`j53!Q7ZhGh;QrhHtwx~k|D}9ilyPsn>0pHo zI&QU>V9Qu(+vB~|>B(kq=yy`{Ba*wA4&STwHZarcac8v)iB(r*uSC@6ociiZZ{-(h z(d(Bdld;1us{hEeB?;#CdR|9wjp)3)q~QIvsQvf-0pT=4odGMcGb&~{tN5whx?hpI zpkYIL!9UR(xKq)oXC}sC3$1$LhF+lO$jv`9$IOE1tfFXh#V^W}^(0CWX{x%22(QcM zB(q-_T#m0vnGIyTiwCH+@>llvdaZzaIabf9NGX4mAiLraBG-HDP2f0VuNLk=`bVz& zh;Qjd4ejq!FW+FQjBia1tiL*GiFFQ(9zA=z`^wMOJ25q_(@jdz6;?)XtSf2$v=+PL z_)&(;rPec~HhZojm`$b=-HzAf(M&quR+~AZpPFElw`e^5MAY$v6WdGDQaJ*lL)t&=_s>xSG&YTxnTj5D zncqgOn&{VL<~>E=7z+TL<7+7Xmt=GxmU8Pw!-=KcOg+U78fRGP*F!@*Y9Vgt2yMc@ zf?Yd%_in#yq6pQ^mHQ0WV> zx2-9hlP9TdGDHpUK*`^&wGjO}m*bB%?|w_+LEzw^rjg5t4mr;gjQD#d5rQ-B=uXQ$ zig%$=MfmM~%3~p~40|}HB39l4f-ZOQrOBVrpR^eP%^!gu;?tjwd7l8=Pj5fF;l~Ym zyl)-Jqf(w)7XIw$nC3I}9w5Q_t&PkC&m*4?@N1{Mj;1-Zs4-i8k7Sb5eZb*w`ZuTp zv{_-e`tRFZMnNZgE0gLC|3LXN0l%!E0#xozw9pmg?${J)6#v*^OLBQn8em~O5=gKS zKDGCe`!|Eug)LK=&&IRp5m=F;jzjU#Uhy+KK$H#iLvJcJsL;^X_Cq6- zFGXfI7vnEdf_s1Zcb~O8{TjE*(BY&VHF65SNCpxmL?}5Ivp|}7LzGUJf-3AkcQ+l1 zKM?vf`(Qmw`&j1@t{2b!n-&{I!Kr<_IRHMYwX)8qf({_cQ&Z1H9x{R|HQbDE**c<+7I^Bs*xee?4J&W&d1O`S7v(rsyosTr{) zbu$Ebwb}Dac|8Jo94p?gjXC4!=vP=K-BkTfR%n=jFopIg}ppY=hSWI#_xnN=bZ_8ODRe=5i6lX-adIY5a zhw2~RvB_wa3?R~R&-`P&m{Ht_(tV=s6bNRkeRDwS6-W<$2bG+U90c7rPD%BQ-p*cZ zxvi72r5s^=em)ssa=DwZ9=a1QIHLgFq2-Cc`zS!**-u3IprXZd)Mc8047&+)eOp@_ zhqKBcZnt#W?D?{ww_94-N(RbZJKt5VG6_PPzu=EFv_dIhq10(9Z_v8GKcd+VW9r9& z;wl8F;h$(+4ZQPi#eXjz-st)M&7aq^TK=Ol`+x_%s->RfVW>F!YCx8(U=gON>=TaR z1K$Q}H2I&(0rLIEfY-!PjpLHiIk>PC@E3OgHZcWlz9mRmQX{JFX@v0iz>2+CrhZ{? zC#>FEIE;}~XFwGik7nEKocXyEN{GswlU~vYJYKn&OS}wBp2mfQX;`%xmsw>Yh%sWj zfiFD@Lxg@C$ec?tp_tO{3h5fNn)=%*ij`wK<=p<3h*4M2Z zGWzBpva@9@@?u~ufYwflI>ic|zJuQ-dXGF-9Bp#?s9z>Us#^~Pu?^Zr19zhGb}=zA zh35Q-hsW9B;s`8w3JY_+YO_f(OC$fiult&$h2K!WZTGamyAaLqK0VGutm5;~ccc*@-DNTZw1Z4K4tQTCP|7 zt7c;(IqgfSFTYcuMCLbBqJG3YczxIkB+OCLp?U49ln!JWp1Z*u=B%8wx}5j!>6z%G zGHd9ikqMEd7))u~RilqXfnpXxJB^!B?TqF7BWBJN`^JmU7dgj(m9IZcn_Z!1*!uq+x=*O)fAo<69ghBAZ6)#lH;MXdJy3uC|4pL)zua@{QsT808jWn+=Q%+P zg$jS9q|f($HYquhW;`WovfJ`kUx;D{^7AESeX}rzdHA^Qpv?yn!ALO$kjkJ;eAAMI zCoJS;%X@|>*%TOjgWd;2ayR3TYvJ0Kb6!zl(F>it#@A{QQBx%|uj^{lYiFBrKcN*v zIGg_a*C2^0B#K3Vp!L5W{qqGpc>N81s4kM!6!X7-A(GMX;Dg!AZ~yzzzh8j*9sMs? zzP^lt77{9xJS+zLpZC1}2{&?^_J3aa?`3RoxseJn$v2+-k9+?82^MSy{eK-g_#a#q ziUqUL+(Y~yKWTzAzy5b*|9ygN_9h5}sx58Me?R)?LC6vA1poWo6eIaD$r0I#KhVqm zw^=KOpew{~zMXw@MH5IsCkIqfvo^Yx9&gdTIe$CreTEObwHQ$cl88fKAF=>SJ196f zxVdOW`Lop9+FFr~*~ScsS)$gwJ~tpzL`X%&X;!&PGY^`@SPx`j8h*B;_{y*yr>p~} zu5jun!FLFQ6+Sj%HGr0m?w(Z>8*L8gq5{|`R*>NN2k^5&90btn4)pWG7?+lxb{7y3 znD?hZ52{h_gFGp1n0hS@o*~Olj~m%x;D7}a78zp0gYQ-@M@@mL?wG{EgF9AQLZUwK zy>nE7Vnwn|;)73ar$S{SdcpUcm!l$3b7n6HzC4hO`cw=TU14|&%)2nS1B1L37R*Cr zPXQ0EyMg+wkPmz>N!|<+Jn;bhp4A!!VsW(x!k}(N8w_m?L479gf*Qsi7{awm!|cHGT9zM(1TKQtWZNl4-!lBV8ViN9)i!PN3JjZ zfg5Q(gO1Wk&s9qc0pdGEC?TrlLsuKr?U})~{@$KZ4yF1?`)ZXQr33$Ew~I4;bue0d z497Tq=RYMsJp0emP4P*Hw`oN_~Le;K_pFRvvPIjiSh4i^=t)0Z9y4;ALOwkkE$bo> zgQ%nzXO+q7xckL(NV>>gGTpS^io zVsdyCHdA_blyC4RK(^wc;D(LO)whWeJ;s{$y0P;ii*-tYC_}CUWv19ipa)F{yq6We zd;2~gv3~jDnEOilP2jE7?;M2jJ2HLk5dO(4Fyi%Yy1 z@leKM7+o(|Xmk1P&kxv|AX$=CQ&UD$ATEYNWuyhu3#}}@3-Xdm?^|4n5(XZnt`6PL zmA$+5P6JQ{|!)p~D8hW#cjv}0s1L-znBQ*Hy+o2bCE}5{u zKmN*8qeTD547`!bcMl)k1O(F-*Sw4^?i3m%jI%)$af7A!$haoqiFCW|%RmPf< zu+SpUwu;*J*Y0~2nf|JB(gVkU6a6)5`@p zY7u8_00|}Nm6#Q(+x`y8_6WpZbsc}rJE}IMU;6IGyhBb#pL|MM6EavqPDHJ(&Dwu~ z|G>s|Y1i@BN`{wwa5yGcJ zt&NIJi!BFOT^a44r=q$G+cR8ED+`n=B6Azn{RL;1HWM}!tJ|gV4qqjd_-!)w*$b=F zigG++3aGFFmYw=NabE|!i$mkNt=Sp-pXr;PmmV!Phnvq#uKZ@bZ`RYPiQ+qmY_gvW zd}s=!Lwj>RC)yaJj@9AWvjv2h_@CYOO(ak8uE8SQesCu4I_}kZH^ZbAy#v&~wgFi) zWGDipwZy^6CLG_@`WmdJtZim;lY1UYV&kVU(T(vRP46@6=lSS z*Xw^~c;pAzU-P@Vdi~_nrYw&NNcq)@_z*ZcGW*T9so5VQoW;2`s64GU=*q>v5>EB* zN93=TE&1)m4aHllO7vQRq4z!qc3C98<0WbGf2y9}d#JWyEJk>C>Gr`Ydh_h-yRxCB zB!TsZR-F=)3zL0LQBw!1cCN-bd7(k}#MlUI@eW;aP28^=SqVnB>Lz?naTFs4W^ywZ zgS_K@RMTzZ*t6yQig6`~kfeL<#&dtr2R>~8q! zd5viCXdRaqXAgCBFv}n8bAhU}9AJ*?l-%}ry2HUiWU24r;Q@;35Uz&fC$Jv`6ucOy zt`ddb!`iqQ@DEz0?TIE5%|)_Xf+?(L|5XM9Ng0&nMt=M+dlUFHO}$xMg&y~DZp7Vm?!P#WA-42vXc zy?c8#9$z97&=x~wOlfe`3SA9_M3&gvRAN7L@Rj&|!NA+N z4=V^RaNxIJWkt-DDXx$+Go__*b=Y$y4TbdQeZh0ze+a+V_nl9`-WCtOY%@vnIyWX4 zbQZ(DVZ*fyJc1|bpQoHmG4DVlK`?C!3c`uvULtC^d_BD&zl4;h^}yI~I(ql!9Np^Y zyHs!7fcYm?DggS2EG+ z<-MOwo`izu^@%n%g9?#|u=dq)_W~t*4cNXuxMwho?6?*Z8CSVDjyT}=Oo4^UN8ve8EK;{@|`;f z!@wFVvZ=Y>MqW5RXy_IiEGL^bfuqT{r?@g+0U8-L-nQD9PokjimSW0-bdLu<+V9eL z>8HS_`T5sh3u%K$wP-DJlt<;kYC(ZeVk$cLMzk3AF3w*g&KJDt!{#mHgS#;wl9wOyuId7R>CG%h@I#{P80{sNbLTZ>RvHLh#xT`=E~pxV*=Vpnn@{Y9@Ld z5Gg>VL^P_@NM2Qc`UC^eZaOuw0l}f_!duNHG7u>oPTZSqYd6w-#%lb~;ax5@g~szT zGEl-(H{3bps0wnKDGnaw7Z(jR(R1llBKOEQfrQLN5T?vR%BSVKP~1tS-W8IBBz1&X zH*khqSu<@8zX7Mv_^;y#2D9%VCm3hypJkjMPAijZ6zlGAcDSjaqGAV2xB&G7ez&ir ztVcM+twM`8q%PsEcjX{Kf+CHWdf!Y*n1UPGjqQU+B z=b6kEAG37vhIv#x`(7W80kiOqid1gJyG!+(k5V168Y|s7ooOwtwzS5Y6FPLON^Qw- zlmk5O@3&I>=f%_=Js5+7g9VW*&&*`ES{3yBCMqTS{qc4hwvafScJH9k3N_5uqFhhMN@W7=ntU5=K}f#o;=vN z1t)P$X#Nu-wXA0z(8dZEM}-^z`wWjk5FIzNfj9`9)e-F-Xg@FysPNxF(@PW^=eY)cRG64sk?F%^2OdB(u5ex6jTsXqzHhS?7#7U@!s(9aZ9b?> z&EsC?!F?}8EUY$`TjM2%p494~jl2+;4hccm8SX`2mVSm1q>P(4uk z&4)~E-0qGH6mYR`A{=^r>~z>Zy-Z-+kG;@NHB9KnXbe?u-hKhfW+)#9s8)_(8T5yS zgdo(`ZJqoymYsaw(Mtyebr_-wCa@?XlHOEdVyBf}K$7|+6X>)&CeB%VJ!Q;wwQsnh za?^)D6{I8CaL~U>uZm2H`X|Mu!)oO`g*I=&(>GQqD7IkrcyRpqG<8JSF%$m}adJeD z@o4o+PTe`o3`wrcfioE|ryOcv#b!KtiZkX(3OvP@B zgM^ui9Sm!sk)L;W#c{R;e+PL@?M`P<`k4bl{=^g`_ds44Gz8GDWF)?KN@XDBR3)`)EqM2 z_m18F2FZGpX{ayaz(9%_dI)o0j2C za~K7mwtVX=P(F|)Y6hyY-_YTWm#3VxUi%LR0u8mern`UP!-s=^RAfEEhlliD*2rMX zXhw~jI|j=TAvapzxl?}i6i4H+4iKR}IHx*s$!5*_eOW$maiTfU-wT}&Cx^fPz0eCt@ zEP9ilpGyO<=qH;YmQ=?sc2JG0cW@T0I!0G`$)jNya_t*bj-m$^#AwXc7(-gAWZ3Fn zoowwsC8+aO#IN2wg*DR5gv7RHS`RQhzGySl=Zl6czDe|1a{u(!u;fwY_Y>njK>@!~ zLS=I+Namt%te=KZ#_Np3U7Vo4K|ZAQ71ObAz}4i-E84igfx-)&bT)tO!07hDZo1uW zM((ml!6cAzpL;xH7x-~~SAO)FIzH-1f~z6O)s-G!QnIvwyVbO)e&g$}`IiY?Z@w)( zxTiNXeA|T_VONG%%VNfkTupu%DfjGWG2t&s0&n9w*ER~PR5SCVZ)dwVU@2Cz)l^8f zW~?q|DU*;hw+m!fD}Gk;LL_>^pG2R>tl=>gpUuLE6d~nkG21+p4YHJjPS~feYg7Ta zj>!|G2ugE_qj+DaA5>BhTIR;GL2l@L}eytZFvRT6-Z<{dy71%_;(k zCt5~(Le4frZ50#FxO2~?WS(V{ENM$E{p7AR{9!NPQ0e^M!s*~150%dqdPzKx&p9D0|&J?a`r zSO>+1-uQ+k8CWfWRibWWM}6z!WrtNk>8c0j<rMKgK2?6^7OnKhak4i@D08Td@}tp<0|hjg=JH*< zb~m1n*zGOE6KP1vUP+;YFIr0>xla6bXbOjkXwJr)XyxU|VQs8Pxu1f`5GJF3Sbyfw zj^MC-SWg9;2KHBorc|C573Yu2Vl0>so`}DunsB{zQ*^MlZJu^NJC;Aa#P%7K#Qx6h zWtIKi<>JK(KZ<8eBv_FO`Z>7*@&yp7!G{=kLiA;UN0S3sGC`rCS~>fm?VCkw@^QE2c=T9ZZ|;yTi1Z!vwHmk~ zkiXw^<(?X$%>5{F$z47J_p=oaKQ`AYz3xum_96PG1+Tm0VQd38fA|qnK&0|0yFhCv zXZH-p{#U?ZUl(5Mf4XehE^v@RjIO{`tT~kYff*vTEt&fe1WXR-0>BnLL&7in?!`MqNo8;$Xn}-6f&F9L=ts!wq5srf7(tIW_wNjD5?jUU*BZ9d}ctbmV2TmC{R$>a*a0hZ!$@2)ov_KbPPsIU1}_cEk`e zLR-&bTV~&;Hj{Ano5jBie^{F`K!6@ZQRtWv&JHIiB)QPGq`M+RYQB2R9kYu{= z&EHyo#2H+|fQeY03ptlq4X2a+8q)ei5TbZdNj)m2kIlpkIErtXmxy6>#v2&$nPs66 z1D*W7HX5s$w+oZhbcKd7m!kffc|nG6O$O@4-~HOMcz+qOMMJ6AeV(jj zj1`$%9v$UGqY0IXvH(bw=AMu&Gg(hCug+!%1_LWARxNR^cYapKjZ!N@<`w7V2wo~G zDohGc6cN9Z@uSeqh6FwFmNn?*tDU^}GB>#|WE#R`edzQj)C^KaigeF#I2NTjlNT|p z@nF8JUVHQ8@<%@&nQJ4=iZ!FevPe!f&6HaT?aPJi)U6F$QyETV{!4gX%#5{gj%M8& zIbxWj?I29Ei3pO}`37{5M?sFBJbmg_np0m-y|c4ZxaWpPbsrDaOIpNb-8`0M;?xEY zVV6kyKojzhkA{#!i~Q})m+^Ad8>ygI|-D|JxPq$RI7X)@@ z1vv_04R$2|ZNoU0+g;QvO_}Iph83jjG@6Lu|cf3udzQhqpE<~>( zJbMRi#U`yGxQp`AKw~WUP(G@?+K-g8fWi+kQ9uU)6FC0w3V)M}dkUe-1Ss8c9j_Kn z0W3IIf`i;gH6@rL&ZY)<*SvY8nd&boBGb2A7cqYo7Qig^wRdf+zs)I>`({H|U^tLL zlAezWo}$p8cKgnosT2sQH!45wf77JZ^kt6Jk}Bdjp_cmbrLQuY{UD3bscd?XaY3vs@H%k$^9sxB6?SbZB9N|!Ge2a?f!=09O=G7jj#RxBF-c!Y0 zZ*yH08AGKOHe0NZrCVDJP((;%IB$b3=1IeqS!jzZYue#MpS1UUdqjeK@u7L_KD7AOPw6($yz`|gYf z^PyXU%eiqHkSC}ofWX6rcW!IfhZC|F+1Uq>;y`%uX=Lip6z(^cQz12m?~7pKBwnOK znO2{VVM8AF6vk@Zx-zoQ%=IZlIM8`q@| zkaOPWv{2oA;uEK#gTH$PvuO7FUQL~WJYM}khG1)sa%`Tv(oJOmor5LqzlVD&SU`CG zL{Q?%k?;w-!Ug4DW5Jx9mmd3ano=OCg&i?szj=7*GF6Mj9a*ER6JmG zV|O@fr=hK7jknFcmsrA#s)=h&9`=0VHL6i?>;1H(TPBKRTh=2v2~qjPP&0;!kg}9G zLM0E#ko@s6(mX}ca}J<#w-O=AUGBZ|Ds}8q#@TNAVek8gBA^5q%T@260MeP{9zQ@4 z)3ZJ_Mtv@Y{DeN^%(YGE6!-+Z`H#>I1h`(!x>~ z?x)l>h`g@89!AYt4Iv%HcP_|$r+0c1PIit!gA+MI8yXbdE-AdUtxhX%-$p8NE6Gd; ztiBm?7yg^1n9A}AQ%p!um#DvM&S}by><{-ZPZ(-Rb_)&-Z2@hzl-FgvnNX2tWO6bt z$Qb25inX}_W!5kAA)MDuIExA>Aq9OQmqWq@Y^l)}Tb@$;FWevx&tM4}qR=zyLxGlZ zKGYoTZ^t`XM#^}^Z)raFoy0_ZCny%I!*z6AaniwqOG0HjbyfQbdy18UbuF?D;^K|l zAz88|+v~hYzr2izpLlTFxcOId?BIm~;U0ugrWP%Xw>?Wr@Bk!%=7FYVE2`txI^{G~~Sj5c2S z_oj&!8M5-0ae!3*1sg;P|LD)`z3=ab2(>~fA(=QmN$A=-a|fLUY!ZSa!|Vb-Yd|DU z+{`a9LL-|Wm6d45JnSs<;`~K75S;jA4E3Yk>NpQk(&BC`zX?usA^KmmW{{nzrC!1B z3rTdW!Ec6=V_HH8BtYpGRqwU_aa|W~djg@?DggXEYzX}g=Pq;cvP;QJAdGy^`+P?} zj7C&%$EF>Q|GxZnDowoH0a32iVN;?~wVuGS1`A5apkD z2|cJQmlwGg_NWTgu_85aDURH*U<;LY#o)X~)wpk?V=qBFfBYb2(RX&D5U?eQ^`rr& zCP!!>QN*RN(8aL9Qy3UUKfYcebU>qQ0=co5ptnl!5J^a(Y#w{=?J9_-4zrqMaqo4E z<;Trj!O7dG`OwkWiF?Sv-&v1^H#JnJGE%Rt6rvfVqOm&IGpv%$?C%g8&#I@-Xz<)8 zN95Xta^ZRzXWEuaYPN}<6b>e`05y@%{xeAYE0C*~W};$pKVFfzV!wQSx|VnI7+CTQ z?u066!H2fMl+jZr@u}(2rN=vb_e(bkRIyCD$0*U6SBflVvLyL6^ zavaTP_e7ijK!hHYtV)~)0_w$LQ4}=5gM?J6vM$UEst0a5htsV>C zWJ(k`*&Qe&Mn=MBq=lAF-g{GrFNR^OXTeIU(1O|w1~#$b$&A=1cNHf}JN47tF_K7$ zqvCfz6?B(;cB+Fauv;*3(4~nrKbJKg37J2LDP4h911A+w^cYs2&*_YUthM zS@D0E|NJ-idpD;#QwWcqNea^woV7x{bBdF7So95vtay?9mlRJ~ofozwjrHop(u5mbGKX^0 zRu6WPvC!+^9JL+qc3pnQx6@R|gR|iL9=-dYH>dKcLy$4D4@1!? z43CXL`j~+tb3cm|v0jliB*q&5>)VugY$`jW<9SB zT|xMD-bMHuG2^i=Mcq9WGZ$e2JoEAl(KLkX=g-~0Km_rX9N}Y6w;L5Is=>*@RPqt+ z?Z;y;>0h%WFIru!j+&mmdz|;V*5UvxFNJGl4s9D6B=ZJuLbpE{6~(^jw6;$i&=IER z;sTRcVo)K+bT?Zo<`#{}acZ{44HP7FF?1J=Bn0?|vKwElyo%(DKI0Ofw%+<}Om>m(Ss3QQHBlT@ltrWTQ|h-MNE3nwgCoYYH!7LrIy zpM$+ViJR?vK-2k2cl_OBpzG`aB8xyT`dFOlHRt*Iz22LvermmIxwjucG!1e8&1Nr( z!zOSLV)l`1H~CoW^Gz{H?VrkYaR?P@Mx|B$9A?%Vs!4;$@HBRbJh)j9eCXA$@!{Ef z5nZT){&o*!&>Z6T_`UOtK67cHcb*pRoA=uRH-DT>QLzo5(^@0rINuUTV63lCz1bW< zA1jky%*mQpa(V*lWjiKyq+soGHecJOr9?DMs5xLH00%uC`Hoo`a90Cc+{jtzqJekb z+S;mLQThtf+6)#fTI8o0_*sdo%X0w{q20E|<)6iJQl9qD4y7;hU7?Y=FT7d?_Fz`tZricjVRy@8`zBUL`#VSfej zW3hdx>s$v3dWUYGxUAPzYo*uId>;Ft!(oYGTDT>8^F5v|8H8PqONobAb>zH@1A@cq zTsg*w2PedVql4}_nF*v4crOXfw`5p}!!Ne*DdT67(D2kurSf+7r5h(VWI+0|HvrVe z0P5@s6xko?%y^nM*v*)Z89SV$)+ly%i{$ekOR^AjZ(fvb+HER&(N#(ZbShF z!gXl~WXz22yf`L#_Z5_qx8|zuSKdTslO~vTR5BpI&?7^+3XK9XJ2Mz;+;|-$CX00_ zrGEqGjqL~&6!~@bIEx^y#3IS5eKrKo?t-yn!o5PeTZ04VKfWzB-Z}gA&3e45=x1ED z{RJE@CC(5lHd=^!!yf+_O=uAB2GHZ(20h>M#h0w@zM*uD%zOxoJr!I(THgK&dGdD> zx6X0sfAVI!q8$ns3$~P_BQ?g1cdrzJlo4Cwr&81@Cj&f%_Tw!2wG|n!O}Nn&WFXi{ z69WY|F7!x5);c;6#-pY4{>c_6d10s980)N%pjeA+96CbI=oMaMV$E3l>0k8T6CNaa z4dk2D3CGh)+mWu0Im*KvGDLo!%}{Gpbq`o>zeaT;xin%RWF zLr!#FIg0Ssc8glX+^w~P?3hcaE2HzeU`3fi$^^iw8^kHOA=cq%`wM~mNxj%@Jn9UU zF`&Q%rQz%beJBGkpj-KWYn;h2BwGRsiuCLp(F~0|EnanQH5R#J+|^Ktj&!H}rK$C{ z_>T0)y6i#{-{_DijUmFCojUx@N6J>N5ODr+{D3@BhGZr%UJ2Hbn=^3Wp15g5Fq}S=nv}bVWaE^HD#w=UFq=k$nL!3T-3CSg zdNRRoiVY7lTlO37(}=?4$3PrIAK=LfYXfv~Zy@e;guJ)`sk!(m%n+=rPv8)KC#%Ae z=zbfWY;UQBf)d__mH8?yc7M_cgy`U%AMd)pc; zG^DKX%cCj?ThY4cS6?TD`?vlb33jO>--7b(75u@Zqu@aumxS3Q|luv0&=keh%t?fa8D;Uo=&F z_(LqJ#QHfOFQsZ2WgH}{IFSzE1YkiL2vR+%qX3N|K76PjT9q%S zCD<5^4^RJvvyW7=?>M-P1?z_Tor`w#wGfYoWF-v*2ZrQZKEwxj3#kEW_V>7HGRYWV z^}Mp@otWT3S`URj3;c+RKU{w65<-82P!iQdOiT~7WWR+%DxhQGfwHk!|LO=~zJ{es z4$33_(M=0FNM5=fujjAP8$qH{NvCZgJAU_=X9->nS!;r5x17U@QQ$-^Mh<7DBo3k( z!9eoFI_8~sPX4_i49;R;x+eXht-KH$*mzgpH=`dve4wq$%n99_j8azuP;ib8Z**+` z=0^H`q(6GE3I!+*+FleB3B|fyJNO*@V!b=zp1hJ0E=qe^RgWl29PaGz{Qt1`mjP9+ zUH3S=H{Bf);-*uPE`?2_q%&W71V=f!z0`HwBj;_>|D9Mw*gYQQjt%JA4N6z;*2>mhrWFI;=B1qMpdKE(8C_uMPx-q z3_o=?LmK@eay|h(rmV_9ND`5ry2GCN&9~2?R5XX}?N2HQ*O{Pf&9^Y|!l@Q=N41l7 zwBgjl!}b{9xZ<#q85g?&M&HoM&wCCB78%C#tum(5R$_{P=0(Cof<9PrwW?qEfmP%-8%lr0I=srDyVY$xGe_ncLdKiWGiauPp^HC5#u zXSE2Ksy?Y7_@vP-KxEU7sxa|{S)jsGX1(F?5Vhaw+lK}*r@i@rC zl<&Q@VE%^-a6WP&;&rn5Q3 zP37ex7eGpuH;xEVA(};6L?FNvix-{>y?_XVg?-wreV$0~=weHyrZjH1;WXd;=1KjA zt#Tvp4v}8{v0D^oC*EdBYhl zqXsE4v)US*iHj3lWW18R-x7RXZBV4nJ2EcpD76KJ1UD zef(5@hCK8=+$nJVg#vGsir&|)mzu$tv$-zI#)wT0cLd2qWFm@-Qy2+$V2Jz%!mT{` z0{;^%x~v8luUSds)XMf4yRS*(;*OcSdfW40fj&S)v$2LzqR#FzWiTAMMC>6YLqbF& zCA3&fk5V(WddH@ewZqRI;~M_8h$p(B@j{##;NQNwwVkgRA+f!1BJE^qo|d@=!;dKd z)tEr-+)BuN0aM3wjE1a3yNR=qi5m@G|DIzg+n$e?kCNZ}jYQ%^Bt$Y$hLp@mj*o0W z4iI4c(x$+aqIoXa3FA@c>*afX(uV?mRN+I?Am*eyBzqb}0t`40`xFn3rA$wY1t$-t(NFJ8PO^yxaKS zK-)VFGL~1n>od2$A3{578*nBWt#-UaGV&8?;hRD**o;UBatfl)UQYy$)YN-RS1&UO zI&5*XoCmH{s6kPV{L6e{#6#VjSK{cf31h7C>o4;VhKTtf2T#Y!DJS!TA%vXDq| zbOFPjz$kH^a@gk$F;DaAF z>z_LihZ_#R*+imk*ZQy0v^KGGV>w4CF?^2dX{4A3pGfWUb*HtDi}0E}Jd$D@7k2M< zSN!C)A3An;UF=)xj6D?5!Nb8n6<3zoFJ<4aO#g-Mm2450{8_uhE6s^QY_+2lwb057 z5Bp}jlh*-Gmh4*J0yX*!blH9h%^xN&JysG9Ab$P5!rkN5uk%|MjfLn){bTSr=-7LQ zSJaTX%VNZzLtlr-_)oj)XU{Q~ zy)juShCt2G$cTHxlRy}1e26H;c+m?q?&Mu=vh0c|71u9af`~O8^(b{?MF6x>I_)~O zKpu{X&}k!yX&{&DHF9smjSa^W(bW0%Wn4aQ>Y0JE^<5<}QQ-3Bb$r9)5~CE8Y4tiG zWkGsaqO9vb@Q7cX=zMR-McbF5hc}yKcODGTzIHttcZ?{zvR)~J@(r9W-#y%~^Bq!i zYty4?>RiD*K9y@KGRgR^jEpc$itAwEOpk zb;?o@%gF(4oMw6&Xiy4U@Z^hE4%5oh`G7=wp!PAO3^^D-^ zTFCPISakc_Ao{*3*u=9G2gDk8((X>g`T{lhG0?pd0~7Y;1o*qaD@s(S^wsU7%Qw#M ztYzyw1*ru_rz%Bd?m~)!+Mc2DuLBUNt3o^Vc4o(O=V%r8zo{asjL-eeO5bo3CB)Z8 z_OpBjR(`InTlY;?ZJfRAdSR>MjFLm7WW%Lt{v!?F=-E%tP_WnTySGWb9h&wD2yV|f zqwdD;e(6H5;%TcZPO3Dv&-z4bWXV5XHoa`VbaHE9RCQ=Sr6=V6p%R7vmm#8S%y$|I zE?#sw42#&R-IAVu$E$+V$k%MdonU)D19}nJ531SETISrh8aAg+vO2}pxltY<>)8{vwF5@V9R~ppeH)&Q)3-eU=pN|#lDjq)4c-nUSe*T6&e@tnB!gFRN z<7ZiK$LI&0KX!Loa*W4%@(JI;-Q{pP@h(UH=(9D|R_~pi>fOfD^ZR-`pG}FWq9^Nv zo|76-0aKO2&^lNK-j8~5-QL`NW!Lt7eYP#FZ_rlf^Bb8-0=WX=Y2WVsCDD*Q?SWPB zcA;|8?E7{$cVz`kK$L~{L?jIn^UQ?P5{(@{XQm^!b!rEt#gq=h91i#H$R7C4)h0%K z*Z(naXKb+LmDOR&iyQ2XKb+p}WeKqOE3+yne0j-W6XCTzXR+YddX&|&?2%rA&ukYh zZSzDq(2?~!yfuLr_G^74WPxL@p*8h|+o~qzhvxN{27$-W4(6Upxd$$@%=}-iKD0%} zwjDbhcyz5wy+q+KQ1bBOr01gyE7sMCM$1grp{vz~prz+dYIz&<)RVV*u^u zu$hg|fp+%gMFIw5e|dY(OSy(0`TE>mlPsk*Jz5CQU=e+jSvEeU@zC;MZFX7Rq0*Q{ zBxO>HybG0QAzm*Dal?Y{k&H`&f~`=!R98`1lS$wD@+E}KrsfjT6$7ZH-@q|Gs&et# zdk`X3U24Gtq`Y!)x|m}xrsmqm_w4i{tc{9l>i|5k{BTfm-`{zEV|OR%=QmCAp9bV8LG(Cz_LA z37gf`+oJ|~9%Ttx;$eE)LQZmm3k2s%%rMiBDT8;y;;9>=A>fXU=dF4X1D>|zt1o7# z^cl)ih0S8Fm;p1S^<7Nh=>^JT2LqYKlyVIrzzWKHAmFfzGic_sS5HG@QXZz~ji%cw zJn}XoD48!U!9L$*4rej79=9G+!GDdS={Zm?!dMhJa!Q>G>2lDoB=3>@RLbZ!g)``< zI96~nP4tq71gd>&UrHAW9m)c^B8`$<*;Fy1>UR)#T}I8{Jo;vo5|Y1IZG^s&3!f2w6M zCp)?3-NC#MiXiQ20tfN?CM0K}OemP=kyvt<|6&xJETri%G2ea{+HEh8ShApO&o3C> zlGgig48XR5^r-HT3o5s&o*`I<^8~uqu`JRngmh6mJTH}0!E)maCeqoT-pY`xseEqU zk*%Q4ZyXN4g6@MfT@U@ya(JR7Sb;;jaZN!px~$NIi&?h6&eo<1tehZZ&s{J#j_joa z{z)9Dst(d?g}>G^Hu+(DKZ;H7^rGmRBAf!E1W@M!&S?y9M$q2UH)GApyJtk^x^QyI zAAfsDt5QZH@=H^j*-Ljo)1QL5NX)?V9@?h6uUX~X3w$@3mR?-c&c3&Fj}QZ>%heO~ z+Hu`S^n)@05PQDp5O!j?=46You!H&Uauj>ho9j7=y+jGNvv~{>i4QVw$F2V0mh|H~ zJ(#Ahcl)Q|!ZkMD_VUVCA)1akp6RZ#Cb#akR9%lFq8WMuDDe$?JQ`J|By>9s%Y9pZ z3Jg)D6L*oYm*$-qyF0CEeZ@v(_(dEw!bCJILifcZ>`^MUSb+=N>M30F{6hShZlNb* z$x@1iMu&~w332CLT{ImLfx>-80^_&~O6<5t%_^bOXcfrpjTqYxT9Uva3LN2c74CM^@8d_0!2#ggEXg(#iDb13lC10XOgg- zwpjw^m6-_JRZn;&>?(15-J=}g2QgXfsNNf~f(~hHYgK3qCHKOIz}ZC&2wXgn#wVqZ3HLsQN_r3V*-N1b(I^w_wQ%^T&6 zV;giLLR6s>XMHo!Nup8D@$;uc!v}LAB|RR>2GvrnBLRx{K)%*xaqZs%J^GcA{%PJM zgFWULwQWer5X-C5_luwuBtDHJ5Vrel?*!j}<@4TNE7N3glo~t$e)oioLSdrgh0j?` zf76hh9}m?(S}Vd_k9UsNxlw{Yjap z>6Dm`4(wGyQ#)$4Gv8lUiFSyf)}z_&JT`^Z+gD;N(zBlsvs7LvP;d;ZsPG|nKx@gx z7)0gTs5ft%vKw*~eK#+H$Nm=7Px=HhA=yV%eTaYJBomT@uyGSMx`j&cM6|pAl(lS8 zxzo(Y&+{aio!b%;&*DmeJS&yt;#pF>ZMF6%b~bN_68s%6$UP+T+r zTfGC5B6{5<4c*>5&NLVVlo<=fKQBlcMRTtep|64WYvScwwryYr#l~#qnb`H5w$uPm z*xmRL5;C?5d57L~1FP^IADFogGS}{r#Gf6E68Lyk7M_vV=^K`^%;Q=g!#Q7&|Mij6<|HXccKHZSSzIXyKrx`T)U-Y8DX zBYHd1KYF`S0&J^A6oiso$B$FaO1w4CwKFSZVnG>ZGmb}PQaGTZ^kvPe>7HlQM8&X} z)(O+I^mV`$f%Nwmge~+Aq39PhxqN%Rg#i=kNk(pEDV#+Ap__AD0M*T5gsUvGT8+9C zzt?f(u{J_*h#S>BH$V)+NA5Su`mTHi@ zjR97oN9xxf=pcG#&fG$7_Zc6yXY;+N1h?KtU7C^mY-&+ba2jauE0O&`9(LD10>A&!!pbl5yji{h7;4$|P0094E6d9A zC{Vf4EGdlRS5S#dFUp*6s>t+sy=l>LWPB?`#3^C#w?HK11P7YE0G3t*duK28MCazE zkp*`&At7FV#DF{CuM2T1B5J0Uq)Nx4KDB#u))7~ofNcOH+=Tqg? zA2{QQ{u>gNd^$w4?Wyp9nC;;Nf64wQ;|9gCA5o5fUIYcEW#_nN%iFDt+l4(a0@M5d za%uQ62+|FLX0DLqc4*+uIQehtIGFp#4g$&VK27eNSG0l4*Zp`X?t@mfoOX>R<;S)#5ZNYMwz~PhCSuIsrz#O?3nLgaJ|6vyQ=Ainax+t zeAFL6?}}9OMwkYNEKSa_>a*u)4NQrIkG^d~)0B+$vtUElRKBCdmg!m750FC-%^Do$YZZs zZV|78D_q&Cwwd}E%JA@Ik&JNNIn-ydHL;&)vyr?7XJaeNc&gihgR+mjEzKRwHPC+` zHc9nn@s9OV=>;kI5ju~ZoYmDt@My<)*-?*0A}N8Id!3$$X6)GgD3&{L8XAiIa~du! zEhQu;-=fz)MVn^j&4Mub@QJCWzzR>r#)gw4@SAdG(DyM=x#r|xdBoWj17GL|o%Pg0 zxdSEfH-!NPnavnvbc~LI#4>?uhvr8 zg(HZYkMEV^X{3c@Lh=tlbh%+$#Mer<7>q~J=)b>`VWZ9al?WIDe;E@2#<1P}0~_gz zjjx{?B~DdL*+Jh~ zCPEH_bRL|t*p@#B#*LGQU>|dW)++X_x_bDo>)Eq0OTnHdDU=w=?jLGy+8g5M?&cmB z%%VjlZDTq8gH5UI>`)H;{_ma&{9uE+D*YaEL^_*tb2dG%?2G$N9$4NIDd3BczP2Iz zAX!z4kmzI^JSSE-IJV}2IAS7iQhkvY?T;=h4XhD}8ZYdCr|5Jyf3`8g zoiasf9kCc}BcwT2%~+i$yl72vnbqOH$up{EMbp3s+!VfwoTw!``tA?q#FQ@9`{kU- zRbJ(P%H{On@TybsFA*tjI|xrnpDORIsUW^eY&ZYiRx<|7%FUtU8haN#9bFi;mY<*8 z_qEA8;KM)4uOqq_17Zu2sk(S}IXa(DH;8|H{~D`(qLu(i?2Ox8kF)lbm_)5zR{arP zk)1m1XChLTVm`d58<|Z`v<=Ma)81w=eStCzB^781{pZN99Wk0@v- zm-L}KflJtw%L*+PYd%|CN|Y5mu*mSF8h!TE6_dv=IjyL1<{TZrL)Oy%D`D}kVfMHD zJNq?GyevMK?=}-J6H{z4f!Y9soW#+4NTSq|5F=lm7m1JA%F(vSSMPp}-!+mGjW9?N zf=tnOqZ(jrw5}!{YN}kobMNn?Ecqry%@jJZz%9kt)k9`6xkW}uhY;;Wu}tWyh%sC>#Hs zMzX}~y*GrgL85H({+1)zYs=x&f;Ce%?*_;a-MQ(#G9+#adpw_CA_!sH@W14ta_dG` zcrUImy>c=+fNFu|XtXi20B13NoeC&@5cq#vhNdnj$DAgc8hbceiyato11ZbZdCq=a znF4Ls0KH`0q=*$%M-s5LD^{qf$4d<6nxAUUZz-6FRJ?o%#ql zh%AJ~>))ax6CX$2bj(=3cPpb$=&zPcH!Y7DTa$iqtQD5OkTtxUR&{4uOJUq7UI8*` zYg{%2Dv=qo{>KJllm?q3IJiiXVF5u1sz`>axg zaf-1gXW{~4w@6C`PHY(DitkYw*_RXDlef;=w zPNdV}+j0vDnm`Z@y!^EN?B9DgI#!l1l2Lz;(qI3N#0&G6@qD_@8kG@2Rje+hl5x?G zz5gp!7;JwRDYP}$7hWA$7{@M~og>GM^2JFa2gL;CG5fE`=`Q=v=^jQ$^%nnL$R1>P z;iRTenskFkL&R46u2besfwfwST5?JP%W``O2uv;7w42w(?+!K%_v$B1@kp#PUX?Gv zGGNlHpR2STnAo%mKe8+`;u7(Y7~69$Oof7y<)A0IEwp!9U_LS{Kk*FA13b)Kkep1| zBRplM@gc5j=Ez z?(c1yZ0FY}4WkTQ=Qe)hOLX!CWgMt=h~J9vS>_r#-d8ktQ(8$eE-)Q(bwS6ERc2ZC zB`*0zbOM)MKEOOBSgIG{wL_zNzt9_vJZyj2mIAk zIE|FgW?EQLO0d5j#*6v_`puCT2myKM6ziqaxsgN*G7yAD`J4X7AQtN$^vV0k>-Y~BAiX}6GeGn&Xz}#Pu_sB* zWER;%R|pYWUWqQ9dmjY_lVUW6`werE;-yd)szoP6y#0xaUlVzIrK>y_5TJnL?`ZH* zoJuqslL9AByaKZ6K%p)hnhvU1N0THQ?285(Q=+O03pHjB!56V*?#+Gm5W5~PFyp;n zKLIqwB)Xgef-;G>1}P)H*7y}D+pR#AYrpv}ZjQMAvT;Z?v_Xa_)?6p}9F^jG z(v~}M7~a@e(fPaQLD{jy^E(@U&3ET>9USaT*?$gCO4Ka4R=1X#l%2HeqM2?+1YRI? zkwF5?lg{r&5SmcwNHoXyri1U6XmJARcNalyshn7)BMSUPN{c~Yz|ZH#XJ#!j@SN3l z_~I#YX5vn7JT=$X6it=V9H5piG4dWOI3$v2juC)8c=wzkwRNJHv65VFVt74MAweMfHLizmwrh`pY%5m887SSW%CyFoZCJ z6AakyAD;N_$3y$?MhiX#EdVvgL;1h3t^1!F~9xh*rIn`+_;z?^+TOw=gwdsI%u_xDbw34WThgPvQ8-_Ol{yf>^B zwKjew?L4Z0CPSc;&aTjb>$qTrax?9sFNe-i(a0@?2)zf3%HqoAH zSIGfzmtB7NVH?5?6B(_J14B1ZLSmfy`h_q&(x>#G8~)9NZNL-@If28QMDqsr5|7=f zkvb&`Pc3Rf%-ChJ0k5azRYTSYlsfn$Bl<03JH_z9D z6)?>;M@XY$$`_na?VT%~OL2o5*BEa7=>7|XSY>p%ouDGe!o|4gUx-=ktr8@7`@2bN zX%5CKQ!U1$qpsuce7Id z2b78=#60ZM6nn*$u$Rj3lsrV5Fym=-e0%Vt3Zed$l?^t0nts8gaZe;_zgn7o_0}V( zV_#Cf<=OeqSuxfWRR8UxFNC3p`+C*L3F(c<$<&owG^MZ#{jd5fHMu8tkt3NPC}4W zNJqaWWMCjMFQj?f5}3Ay7j=#PsyIv&wU6;e^V{OM1qQv#5=1odp*Oax7^6z^Up!@E zkbjDyVL9zz({-NXamV#Pf(l{~?8EG55$kfeuPWAd_77zh?Z`}qEuE(8CO-O@YBnov zen>Of>lF2~+uKdr!14LK-F@?>o+xfqI*|_vG2W~?duLI>l1cqT_6Lhu#0O1CV0sG5 z+$izvg?A;%{b#iLADq5%c(7Au&2L)_Nk8qG*Ubi|;EFYlDo_-bZ#>5*A#z9uI76Y* ztdVLH@dZ`^kX<8Xw`ti~to4Pq)0&hj=qQl5`zZ+=MjGC$nenS?R0GJ+-ORE~Sk?a| zy$DEy2t2ATbLk>SdDHV!L*R#}>e!gsqDU=ORzv7;AzSwlx;mE49p!!NNAs|dBX}h4*tk?fG>_P*sdaY zf%3wI)8wjt*vk4<`AnY)KXCOJ8dCSYwnFj;Wd}9a?azZOiX$UOaK3@S_QqYfMtyTS z`iNh}p9oCzq(u2E6i@n|$vfEx#Fp2ys1{pL?f669TlqFHSECy~KH!yrEP(s3)Giin z2M!^=Q1leD?_mIw6nr4JX3=K-dgi-sTXTJ!)y&F^u@V%tInL67yKaf+#-G?~qDp*L zDwZDbum?11Uq;z3%e=aK+->S6qlCy0XX~%hvg~IR8QJg?=yb58e61h%doG_)Yoyty zCD5=OTuk5~!Jay)D`zZ_QZxP=!5IHupgRxJ6-Us_AxIwBh#^qQ^p3I&vpg*nl}~~m zND&%yF(L_Wq3(UYm4)sGAyH9k0DH+^TxZZ-h8A?R!8~^v6!1t$X?cYGFQY!+7=1d! zc3GS0`MNT(scu_L!TH}Jc!<3~gV(>v&<^9G_j3V}LvY^H1vf2f0?adNUL<6vtH{0) zKk^2ZckW~sh)_MrI^TE-Uy3GW%EIZ~lO%<>olq__d2<&zMxjb$f>Q(V2ZUCxR4jC_HlI7Jlp?VDslVIp4b@N6Y+f?PolGt4+DPDQD6;~ zj(0+ySvT2Gy_Z@_ZLHk!@krtmvcEbuA*4DwdpLdcpl7p6=L7xzpykgi$5UPdY$YjM zK#WK8F)|6+j-%iAzj(C_8b5*bz9kBbeE5t*9YR19_%WQstNjg_^uByeV2cP+Dg`Zl zeddq=q;@+gP%;JPRqcYBIV#;0V1Jg7loSewnso8TJ0tx?CQTF7`Ukjoj_Q-YMem(- zV}$rLALq0Uo|3#bF0HK4Al7U;@@bMnIGxl~%>7(UhL*mbrp8X(f;VguF59^U-JDrE zB>24VwyrNxW1fN0!0F$ywexjLS{V>cWb*!(VWJ%nQM*7pTf`BwM!Xjk2<$RhAa$-o zB|5tK9FRWawZvtE_jhs2-*=!>4M>D!GfmZ9o(SUzx?^Bg1?GvWmmS{ht5^9Os{J9K zo@yk(|5t3n*McAH{rX*n5p~8mdzOXTrPQ_XZHa@2tP z=U>rgM3E7tyX4yY3bx>bZ8L)_)}hgen?y=IH`wBql$7{_sor3b{;|ZdQwFtg@>aP` zt1Q2NSBX-IVPHU=V7`mcWVxZoE6jar7w_J*OXEGItQN4({t?E@kRjQ?AJ~CV;eia- zjYd`Z;hd_5czdlK;)HTyvcb)2cOMS69>>d_tuRMzJA|_J3RoZg zCPozj3bai6T3hZkpZAm4gw-#f@15RDMdAd@YF5(q#tuRPdGxwWvu)=ljkDES=j>UJ7=rMY7$w;E zft5)38ylaf=u2XO5?Nx_pJ+fA)gBe@3nD%cb-I$End5qc)%ap@XX~1MiOjcF22(_O7Z3%5%1|k2j=>$U-^JY%3Aoc zzrC298NT5$PRe!w9&)~+f};nLNCv>OqM+~Ti5P)r{YmyEIZ>SaTd#V+-sSqL|3?<= zLeKKG#YIZ-#xviE6QZipWPAwQRvU}mSt9sCV*W5OkN?;tPH<<)rBPL$GxKwt#U;(s z?%#N|N3&7prnN&vb4NdZybW#@!q%Yq=-X5{zlXa3TGml?EIuuWD5fDqbfib201ZE z&(`P}2Eify->M_{F@HtZ<7=6u$`W$&Tf5I~6D5R|I<50rGxRVWeY3~k`iZu-QZ9Y5 zT;)$`j}ifM?{O$m?8I5lzQ3pQC{Jvr*0f@I=cE)lKzk^ywD^z8*rT+yE=XmmCYUO( zMiJIz_@8(eCfO&BDh1p?>U&4^qD(T&IxjjJmD`8U`kAhM63Un`8ml}uAaf(Jlj8M9 z0&M{5oRY(y>c0zpsc)xnXD)93yjj679?=BVIy}s+xkoQ?p>#g8!t#UF9={ja=C7K; zPsk!8`m@MDM*khlgNiaU-Rh5cu!yGl=ol+~J+)wK_CIlu;q7Kt@ZV<|{0LCfU_jkW zi3J?x+lvZEYd_qlbPu9;{y&qRDAh)*Cpma@A203y6r1GE{ zd2t$iTMVtK7?|=(1Lz+3T`xc-q{N)Q?!hQd2!e_eHo`gSHV;iGS{b`v6X4!;93_BE zZ^7(Ke`oIed({=+O0&f$;yJ}yYF^w%BD|{dXs!81;>3WjIzIjMd<#dFtrd{K!>|5$ zo+g4f2mZmEp~&(PA5256Ee4BD)KU|lfBKTKUsUr@{b8a_rR^uDj1S3Wg?QjL6b6E; z!z(wisICt$MhwDewGO1HoU>)yZ_iIxVuRe@{58~Fh({G1b~-2SjV5&srXeffQ@=_| z4ZOhWf&aat=hN_Tte+gy;S5>e!SkUTlkxp8f@lF#EgF(No!3xQW0m|^ex0PUB#?~X zhc&w6#z+pk_R0JsUB@qXZdN^yOjDKLlN>DJKzHfh5z$z3R2ox&wcqi3864O|{r56} z9SPoL0VwAcVUhaVj(zhG^M6Oa5_{>>iEmpee@uUV7*n)P^*yrDxRA8_apEer727B2 z8Z{eCwMc-uty_yjj~)9tkQx!f1%av zWj|+Qp}oYXlZ(e+t^(ll=oA^+4sd{7IAr3Xxmu0uBnRRV>c748#q?nTf%#*u{YK7` zNa*Y^aO?3c)wKJSfT%6f#iC)55WWD*Wdff;PYRmU0>CH(c}OHQk3w7_ePCFe3^2d#j@@y`kn zc8m)Azyw@4(i&6n&?dW1WGns+QsjUtK^~teR7&l znJ$Rc;92gts;-UBKdv{)D%y}*KA%_B*{mWn$NGW6cSUS!s^#)EI{KRmYXr8oHQSff zzY5_0rC$q(hpBnr;z+hhl&+(X? zQDJd>!3`G|msuTF?8nYycZ&Bm>{zhIYc~<849JvQ3A6-W}{ZyXtx9oRS9pI8z2 za5zEtW`OMYy{tIyH+RT~GY=~bZx-BR_54^(OiE0hH=KK(J^9_1GSGDnfmNKEXg5HH1f_0Pp;Y=0JUQ$SX4xxdSn-r zuMyu03e5zk9hcYMOn2vBK_`K8`7c+;>pM!;ovo?Kp`D|0B-K&3H&P>N@l=7if4j6? zhmIsFD`DHqBS=#~Uoaw6)9v9>MC4l_g@fKHGeLjb(a@-%{rjOuq*?S&2XGBl{|epP zP)MieJ{u*;38mlPrkNO$800_MVImF+VwK1aNcF*RL+4mJaiULw8> zdZz?RG3qT`$s%NPgWx@TkmauZr@zh3C}T(mJDwm-y10T5VB>(em#g=&K&BlJqkMM; zbP@xHcV^o9UyutbAlZ*rU0BrpWr+E>zxRMTCRoH(r`;;NkzdE=F#^3z)112W5(RkG z+X?#HpU1vVHedXtIZ|%Ht*6}eXcZwws|mUTXZd$|8@^LmuPsZjsLSzfiBVBh-EFOV zB3~x!zztBj;reAvN365O&(lfYo2Vs}wUrJCyLb`u* ztuv1gKnqYk#75{dc}na$8N2Ma!<8&jPm|&C?}s*L4Z<+RgN82zT;n~8jmnE#-rp;& zP%cq>N4LKsd_Kj%Ii5S$kgfb~&a+FFyvE^IzG}KT)$|Oc1-}|Gy`>tT$E)^E)+SUy zIU;a*OlE%W(|v`^8S_qclN)B{7?yoHjib@GoX5-$2O#yBQCcV z&B2WrK?1UmkI$i-8F%4PGk&|9k|OY$@`=BV(L7|@-|LqZ0}jB}rwgW7$){}+%!DX@ z3M@_OsxaHO0h^@NnrOL zwIQH6=D@z~i}FEelGJANyd_v$LJ~}no7c;DREcO=S=pleRNFqc^ZB5l#*G`1+BC;8 z6R~ktj_o$kO51vBiRih?i>vIQ^_lQ_C2V+;fb7)w(aU%w8K(oJr8dmbFYw2~U&YCX zWAXmF%Mjk@$6Z`Pa_w+%rCM@2-OTjplUs_6C)=$+q1#=<@qL2=)A3cnS6~Bm`$Tml z!HDn+0w5?0KF8oiDQ)fntElHwt%ph6n=n#(0x><5;;tCJ#%M8ak}MEpneJc$T|!Cp z3g`Ps`qPJR?s5K>$oT_S&(W!|CokpK)EM(d;$o-uLw*>U_-5D>1=3`u#TnvIZ#$XV z!A#o3D*596XJ!_&bxHa{vigni@NjVJEh?U-!|rED5$LuyQm%?>w581Q*wwG#ET6eF{~YxVZqh=0$^lv zl+^rGoT;^SrL{Sd&ERO=Ng7SicAIt3aL^w5CAz;o!@vFhqt0?r%ac7wJk+dXd{#zt zrF&_fN3C3SnGnQz1@@obQTxoWo)Pmx-aPyFUC?0njb*SS){Xv85p(S@>Ng%LN)g++t8ZYLDDe5@p*VXv*rv$`MBh$~G zNi+5n>>&O6^gXQQ%2DWoJLO@5MulA;^yFZvhX_boXIXbx+_y+}!~PQ8!Wt&KfVr)6>P z_j`wto2HKx;Thw|4A4SY!eSI-4xTY44}}hkz4_liLjL_484b4P%$wVPe(67-z~I~{ z|LfDg{{gh`cu~?NW37Vbw zNyGa3P~f2XKi>*}p~1c&`oAL^C`6&v?!Q}!`oFh=M>6vJPXGB<Ft{tp_l}Hj_Ce;?`pd&vKp9sh48|7QvQ|FK zY$My~O|jd=D(jX*!75oiGQsUCVh)>7sMN8hI}xbQ_0YZ?m|Izc+V1@-tTk+ttMVJ&!Y zBR1>eP>HSuwi%C-(&T%oQ1_E)wSFBM?AC$~YOtt!_`x&R$rFe*muV=NVQJ{ydi@r# zs}s7qx;^%*_na#exo^w1F4^OIvBPyd;d57X!PZS8fD>nKjSmctB=AwIU9PO3&ACOD z^y-yH?fip)S@8PH|Kd!rh=sw9A!Exxr90X?|HB12MeRz=^6~M*ybPy$=v2>mSa!@LCZBVwrexD2psfDs;3bh2Q zwWLIejU(N4duVRbS777#$sBwpxxav013bw&+=?X{3VKLx}vzAn*o7+9IjbAbPR;G++F9FC}`puT4|`^}}z0Ge3of zq>t1@&DikoHif=Y9;|)%FdHx4Ynh1TSHMu=w~)?feR|aDQx9u|u&6VfJ4?f5U$PJP zix4-7L~b+>Vu-=+-o<&I|8;ENLg<(9n36|{S5KIany@N7``Kh#P9rFI23D+Ws24W$ zB>CXwC_)<49*En2OZifsl6{5XE~UCpUK=q@nHtB&&<+x6Po}_s?z~@gZ*g*_w`jI5 zczljvQgxSdStIXmGIvrM^RJr^e?1Br&ZiDow?^Y>k?G2SjJWy7@FTnF*6^NBzkpy= zww3tpVxQy=>n9xolhFCDyGHL}Ri3To7H zE+bJKMe`}U5+qE$F*t=%?j=~lAuYFi$nbs**+_Wej>prKggPplg5i` z@`GhKD9?gx4~;+{jn-fyXC?C7y}?gFqhvhn0kJYi7XA=y#{I^2WVrNO{lY?ZKKYk4 zE;g7K+Dx7V6!qx6GYh( zWaBHMI3H8uLPd)S$y?Vsm0buDFnwp&IOt&u--qOC@B@l^MuMY}-3?nraqIzO>YTJd zPNEheBz?=OohGChd1ESrWAJ^+iKHmJ+DPnkUr`uv{8kEZu^iYG%em~2);w`bIxdVLedL!4*7AqZoyX7)t2 zoEZH!ZF79;d}{BLo0r!ghBLL}JmE}|dShM3h{3(MNZD0x_mU{MQ&=mKc?OvD$6XtT zFM6+#>_msOIWl2+qL?gpdVE6&T_kf0=|w(7L=gENX{5zAjAWVVRQ^7XX^``nS{}zk zu6U;?fi}U~0JE|2+F!Ef139|A)bLcFFr**fQ`%!iarmZ``0}=oQ0dr)o9B+T7Aw_& z@z_{nKu*K9sgf6DIU3_!IIRI^#xbMU_4ySzVsyJgqaSYo1PLpPsq30>jOo}6pm|Kb z`IVp5>V!A3yK(Ue&k7lBiUx|bM`tVR1`Rf;-%G^hh{D=jHO1&j9CxA=K1$qe3cENW z%8rlcGY}E6Iv%*srg(>j97{tg%udcRz~uGdGcPMAZY!(5B4=C>&2vTK^QJEeMv?rJ z*B%BxDs^hpS7XE`!ZOp|9(xBq^%eAMuhP4)-M)EZDqo;`w_i?XxMF<`ZGuD54MeXyn-kD9 zr^Gj12fHg0Ma^N4m6)-sBr2WEhvgRIH#oifc4o}+qK=hr-0Nmoc#R5W4z3R8PV{PX znRcTuOC-U@?V(XET%k8w3}cC2D)*{hBsKTJ=ZLtiOqgJLHAQ-iXZPr@HHYnwSF$|h z_iR#g;em>Ke$J%2kNRvZ7cfuAi2Y_yxg)%<#~8@5cKZ!_F^cfGgV-kJBl|Dgl1S>x<7rUGiCf5s&cP!QIWklf=|htB>c+c~ z$mRu`51OXso-%k^b&fe}+mn{?x`i(EN?OmpSv3x3F0CfR%$ZyvsK1Z@o|5MA%rC}w zsb6`07l>$zauT2GKbWN?RV5B)yViHrBUE0O-HZ&umRzDCpwaO)K-=x_R+XuoITN@{ z*!xi~sVtaIYDJPOmMNH+6O#oyvu<_TbwYn~pbxTXIFzcDxV?Ef{m`qe=bk$r=9Skp zM?`=`eKgBcHE}V$cIt26$g$t7@J31;Eb>1Ue!F$3_s+fAgYiOGMC3cy?aA8Q6zwon zl40IU4lIgv<=w7Cl@0+7_hlm*YwwD_vovUeDR^n*YU=9!3MI+nS5qD)@e_)xCe457 zc)GOIs*vl}akeM`AKkuGI(x%fFrfrqyE%V}TjSd|-CmziQG>@`3P~S`q6n@R&pTi# zBwpR-3XLFVS9Gl)O0yjPbd@6N1nj!7iIqvPH_VV=TJF0f%HC&2 zdztmMiRy!gT}RlOG;llib?8=Pw{14Mp5Ta8lytjB1|pT>fv-c&y5>35s~er z$A(HUpVvsbio!F?O%<+x*v%lUHGo1Ea`L+~6*_e3Eg!wZI0;aAG-uwOw`_Z=Jb;Q= z+^FEgUD;c>#Lq_vC+4>m{mdiJ0$=`!Uh(lY9olaAV5Mb^7d0p|)rLwOZH-VSF~37d z-ODDzk*?5u4~Ude!Ql~}k4b{5&Q5uho}pyL6_6>)e0mhq$yg?OyRJ~4k=T&0 zELGbykBFSHscT416dqq$V#v<uKkz=+n3n~n_csazIzk4mmSeIJa9@{7|ro;WI- z=*b`*N6dkv+TUdfxHTGg_}uYk&DPI=OUm4XbzC^#gZ9OG4kYurxgeN~BDmRC?HGCM z;d+OK38VCV?oGo1e3Dy4nC{U2$JK;8!ZjPM?oVS0|39wYGAhcb>mR-b7`hu27y(5> zN{R_p_eo|9)|~Tzt{{D4)vRr#f z7)85+jp`62fa|^q9l5Xf=<>QvktUCSeYM@Ru{;)Oa|C?D8$-cmU1m@L zeECs}zs5A;E-x$o@&}AHes}hW55hu(-p1o$!flFrfoGpcUzo5N)UtIyI*Y9F^JgCJ z&>wsvEa$b53{^n^a=?J-tP_?~V^PE$sdn5T!r z@vn)o%I1d=R?(D-%L;DYL5Mr746sem+XXEAo{WRjAql;d?Vjny-1lL0#|(d;q(03n zWHt|x3B$HGu}Jj9D>h$YAKbn4eSbc;U!R|a4lTK|(qKVZjXBB2Bth|DjnOAI-5d!LIPtBPFB<93%$;P zpg*)iTszOo?sp_XyLQcg*M4hbI@2E8NngqFlY=G?ecjn z<1QK}m+Z!HX_m%}-5hT=b*7NmhQ$tjB?V`%hp1zo5`i%o{?)87jG$=7f=S@uE0TFx`=s0xU~>Yh9rFPz8%I~8A5cZZ|6xNwB>!4N{ER2%tGf)dnyBMsytD# znNvo!>u2b!Y^gz(BSkav7f0n;`sCCl&!I6fL@SU2(j8)RxFd)%%T- z#ecg_2Yw4zi6yZwre?b@i z@hpxe{E{pa=o&$N=`d9I>^X|Z(6fH{{ds#t>%QQSBbHP+rgWSPC1=#rp1Ggl z(JyitNEt)^3)v@*S}M@>~T6#Zy7j^ z9p1G%?B0rwW@ld+F==zQr1W9*s0 zLzwvUAJBWE58iYm%(%BquTqBb<>m9vhrYA+`TYPCvNSgKn|%_CZbV#k$i(!GpnFhU zw!Sp@IC2Lf)T*+wm-v0EbLC$M$fP$55*O-nRMtLo#NC#dEClZ-(@!86aHo?uj)Io6 z>RMd=;bSnwSxK;UL#ssk5mlk*6`>vRz#IkgQD>;>qBLlUmG=Es5GcL3zvP)-Xib)z z@ z?GE80S@AVQKiT`36X{oEH-BiI+5)7bPU4hu9?BUy{Lq0gG23n?m+x@Jqfu&jvW)Zh z&C7=b{q}{o} z2b_x0iMkhPW?;IRsQqh%&F}2&%-DxgS@n}UmKl1M?f#wy(@R_r?Yo}hvF*vLff7Ya z$DD716NN8j#KRBCEpGibZ7(2IBIcI6*&-$HN>Dm@o3xh zuR%`?6VKoCsdiR2HhJ#m9e$CcK9-5pGvPJu~@t;l{+ro?^{c6#twlzV=R%-)X z$5mHZf3Ykj$KVKDNvZu7uE6(YE#hs|wfu?;Ukunc7=6puc69qE9~9-bA1n|!(0J%< zy!54HFDdMgS4rcouXyDxC6$Vg(AU>b{r$DG@*U+U9AQF9E6^1dcSt;`+@N0PQB%lt z>9xI4x<#D!J?-8|Z5+Iut;8FL{RJL!3>-@<3M3bgA0ya57zm3EWAs(1s;;&^TJ2Y_ zKj~wMDQJj9+gfuB>%3BFO#Ri@hch^-sHphOKVi*OmD6g^g@<2?DLoO zdu<+8m&B!Ci)aY7Jw6Iu)o**`W=Q+!gPFA-O^H8QC>7^DvfR~yw+(c^Ey`zTAl8gU z^PehEWz{>Ms1$rGY-9jPt>S?GOq2&udAt;!a|w3(UZ(=g@Z3E6-;Zidd^c|wmX;=g zbR!AZVSqPr0<}OPn$%7%r%1#Mwu32B`!AgJGiV4O8QeC#USG*|{}%Z??-dnR^IuU; z7q+xH#kH3FBu23J`_j1AV;pay7rTnyy++9D>v-yYPmhe2!kePnsw;?!>l7nS48+7y0w8b+ zF{foT0S2h_{5Flhn*y=1kwHZuhp(MSc)>fT%A2;drNzi*IGuf^=MBMD1w}Nc9c0lW zV3|TfXJS#^r1jDVRkM2xj)&ot^4@69%0iZU;P?HSa-BO83{cQTmV_Zd(v9A7nYg80 zam=(@=DQzC(G)+l2p&^sr(NlKR&MD5t_B^}m_rR%JJd~Z2Dx|a;QIa6h zt1HTL-JP9Wo3+-{k`!)y*@#MX9vtA4n3F7x<}vPt0=04VzjY}mXa_|-VGg&ay0DZsmm7Q zRg7YSf;KQeKdfXA=9pDrHWwb^&c;k85#L6UG#IZD_C5D&Zp+Lf)JVLT+9OuJ>K*wB zK1dKI`R`*VdhYD7{6jG`xUk!DbCZLKzX z>5~s|e_8`Kti&DrKSyi!X%FpBXk0{M+X8b7}MEe#r@;$d$9@roy z{9LRiAq?7yS*qjWTb$HLEFP@BC^#+OJ0=f9TtvVSYk8Uito+|W3qMAF!CA!QsrBv& zCT7ynp|wD^O<#pLT{$>D&|9b|@VALjuf${DRFJxKvmtDiM{tZ!Mz_kJ>JFYC*3i=j?~Vfx71otRpg7%o&)6?rkXU2}dW7PMY?8eD9a* z{!1cWYK!gp#^~LE6lczGXNYf%mQ8uQQLl%yo{)ti+LQ!lLJqpIIP_3qs+6mx^Qg(; zDbWMMDXJI>cywrRSBt8nAIQ&*0Z2HJ#Y+>jP!?UYz&@3aPwYb9kzd z3YO`?rkyCPTj`*Y8{G7heX*M3w3(2ev>B1~{fEmDROXP!H~`(htu(4q9$+9zFTi>b z0XDeabCVW&Ce=N*z720YgwEbLin4w)>`hw`F=NjI@DDmT;MEW8fci|Yk7(?joIn)p z$G(7z-6@te#_Kmjtr*gIVmlk7EGy(J{YnIKoHOdl0ZK`5N%t}pEl!!=4(lZW#h^f){0e3;w~ zp!)uDx43rfw|&Auc*qw$IWAuJb^ zd%~f~yY1Y^i(+D>>bcn5V$XvfM4A1rnp`6vh|C&dpVuJ;^C4Cio7<8?*hP|0?YrQy zKtusq5Vo**Lm$x%>S(+`!EQws)C2W58x86mc&Nqucv*ffWU{d$ne)?MUKaM`7I&Bx zJ^y(r2B^Q;f7Bm;A9@;&UNAEYVIG+FLb z2aQEq2U03c|CxWwQi9hV{JJ&gSzoxcgks_}_ zbEx$6X=%}ew!haGrv?0yWFm$$Mx3$EP+hZ2=_76g+P#`Q*STc()d|^`k5$bcl$9IM+z1=!e`S zKZ-IQd-^FFsX6qn$JhJ!b)8tBb%>K8=gM>(fhw?Mvpc6n6T!=^2NJui$C}UQ_X9TO zjZc?2^KKxcqEx0Ug)c745d=0eav(fzxqN{$tKEMcqxkh zId)SiA^_xZ`4gME>cx}SA{tCTM-!Fl4ebtb++|3u9F46doFrvKVjC)j zh6Pk%TLvyBE?&Erp8y9S=;n$I>wfJZ-unjhqNKvYoo=O^pi@_*^k=LKh@!eQF=o-w zB9%H5KjC&0|%176CoDU8y?lO%};_=zA^UXFtK z_h_Lc8UpD}XJi~?@l@sL?mndg9Kpr=GXpT#`!$a}Z==a9G+hH~JJ=PVjc$Ls-oy{5 z-!`QLkUsjoFJa0Tj4UY}!qW^2DgAV`{<(_x+q)Wm(MJL%&KXT-4^nYKE9P+EGYY0N zQSffT5K!E#LEOhXWX**McnDRUyCctYko?dghUAuY-QpivPDWj>ketUeqH~1em?MDk zNfr3dQ$Vo!JSmm`(E?bF^wH1IQa+~p8#V0hk9mr`{BYHiTSa~^5;c7DgX>Djv;Djpofk0x;JIm0PqYbd~1 zd+54$WS~Q-fQ6{G^|GB)rcO&LiD^@tpNr_};X{w)B2vlFvXNNk=HtK)J+!&{&b@p0 zTz6}yl>S~{Wy}+eD1rGN!h%pd8vy;|srgEuCr33QdY;3j|F>B+j_$tG?Oq;-()d~* zhIkHI20jWG*tj+PkOCPS(|N!Xqj^VG@rKrE@iZJCf`wzrpz zk8*N&nzC!U8-Mxr%bBfpK(O~?@qhCq7t`6}N0XwtGb*~XI|zF~xBW-SfClJ6MFN`~ zWAih8l|)5FSHoGNV}T7_erTMF(#_1R6g)4$nsEFfnW)fdk`^wWLJD@rAp*?sH#UN_ z3@P92;fG*vhcdbNw|Ji-_{n1WO8AqjqwBv-GSu87<_wYsr~)V=|`vg$PpUM;oV)CK4|-D2jD5PoGDl?e{UZin@% zY|OrxjnV{pCVJ+lDsVEzHm^B4dB}su&eiDmS|Oy zFrzw#igwOZtmiFPtfrF78tT$LMb3UwRn^#+J$~!`*n2Sj9t#zO0!r--{-?8Qa3++s zo}`-HsOt7MK(p**p~?^O7na~L1y`wd*hwEiVBhRD3pz8wzaxfG!T{(}ZTF+S-8J9< z#W6{K(`_@|D$D^157HOLy^cTCuJd>K9{tVmTyd}HFk#B-vQHk~`IBnqd%{Ay`fp+c z7Vcs3A8;)kh?uy76Jd=mD=#VUK6)>Mm6!G7gv6)d+~wG|JBT&Hqw_~F7Gk3I&Cz!$ zCrxJ^x$TsTGD;&ow*1US+4V04$#Xh4uB`*^shLbAVequi6>>4{?&{-Tk4rgqF@Q=e2DB&jA*8V`%IBkA1f9KO_WP zl^;e2sNOL;c*34O`u_Ufw`s2N0mo02Z5FaMBBQ~!X(^*Q9dnJ$Nl8m>>7Q`so{+gj zPse~3JIO)V7WES8vYbPtp;ayCS{E|KY%u=H|Cqv^7F?0~Q~zlxAdJ4J_49WCq!DEH ztMz17`OU!~PkSP8rCSrhUR5;eB85@i1n7e7*N^lmcgSB|Uu`NQwZqB@Gx(Lqwf`np zX0sy5n+Ty3JW^R4@w>V2gXVLkc=FA?lz1Lpq&O}|9?RXUc2VwluVN;xinm-ZT$>=P zdCs)8b@;Qv*|1*ajgvB>_;gP^s;U0X1OuzzZza^}VL&nfmfZnKHx{X>PV7sXkYcK! zp~D-y4J)35A{)~q({|l$OZ2Fi_)GF1*hIy>joKbd9$}$`2wvs-I=SN+JtKrl{_0>F zTN?kXGa(K?nmefJ@xjfnK=v?jD4vgx)q{b~@)-ad8+cgc9_4?$1VZbzF=d`4kc%za zDxYbqf&8DF=>88nb}y*|#j}u-QRDZebiCT$+AtHctbOD$=oh#SJQBYKwB z(mwybi0wQhdaL*QJVH7GF2028fc{FM z3`jr(d+r(5^#LV59)hvdAOqd22H)$TwTojo4_KOxG4jUJ(wg?lj?R(SA2hCV|4m&< z9%W+6Gd610zEwA2e?Sk4wnh;@d+H7-HFcW_cM4yW>Rf4>4B3v&rgOTjyEnJJjhTQU za5=J0dv)_{qzl9fj2@jxY(5uR+IcBIS3+JI6Mo#)*X=S3y3Aq{P5PL~THnQLLd~}s z^X%Syb(n}Ie8QeuUr3U?Q=`Ki=zun0|FnDP)($A-sQitXuvpp zFwMFc(7+j?DK?ivI9XGQsR9EU?2ZKe@mn^!og0-A(|B^d4WtA?>tR&gU^uM;NvXac z`J!9@KK23_chC_24colG!rP5c)F-wtS&3WHv8So*&s5@DI&<2vC0DQ9F86Xe>pZxSo(Wh+0i z*C(ISc@%5a&uqeTD>qeL1h8&{*Qa+LO|VN3EXI| z2c0;BAiAJ1Xndwc9Z3VW4lxBZ_IhQ<$xKuPq$dmNOn#Yp>#O{u^B!os{-nhujH&b7 zX$_jeKbo2PPE6 z@UTT7C$*Gmq*UyY>dTW1aNQBFBB5Ug=?4U+MP}|dE%l_yKhr#*4HEs#2}w6S!Ro+R z{=zd~xxznJuBO;{nakZymLE(q?Nj>QK-;Dy`sEkWLep$Qn*t(>SCNhI|Luh~{^Wd^ zD`|T^tf?X1I1!(w&D_sC88eN?io$Y8`fMPfK}V_q!_Dk9NX?ZzJvtfIoEXxslOi!B zDaK(W)OuJ$NBhiA0oR~6Ogsok>WoY8@#w-UFy#z-XG;3sT9IOre!su^6AL4pWyU+6 z0Nv}I#TFJ9C)6+aD(C%p^AxQeG@85fM38b62DrizqSI`OPzG+EFV|k)4+`skGpMG4 zPURo`*Z-pUU>SDG+46;%n)MD&P#2ju4!GuhIGzYT{P9UWr065^nd6(%H$n8bs%Z87 zqF>`Hc;O=o<_~{9eCXSt&){_}`e#`GyOHwS(epq~3Z&8Y_5|GQ82Y(lJnJz1h#&f@ zZdMUCfm!x~`#zrNm?mZvDe~q})NTSUqVDzz9yhw9`jRDOO2sG+_RX)@P)olv5jw>` zBSJs-QUr90xV(P)y?%9I>o3iTdXIAk$x{`_;KyHzQ|3x9l>Ur9(L8}b*X#`%)=wA~ zf@e2{?HWvn9yo`t5*<39^5uEclOU6RhkA%G3l>}dtWeee@iwpImM8k)Sx>cdZ8P4W zS+hwJes40|v|7qoD>gUBh~NJH$ld4{6|DPBO=f!J2nVYduZ4t$zQmV|I~cKd3MsJC zSE{+u%;Qa+W&6O+1|5>Oa;>u>&vQzi@XA2X@3T*WNk(rfLf$tA;3!tW0EDIofJFIZ zeb_sx;lCelN+Ay@3drfH<5M>3@jOGR{AootU%V~;{~>;geg}YagroF`B=?8*bSo)v zbW7Irl9=C&Co0n~OP4^n4qlfhB;QwewJDfW9tjl(5p1u1yI=2peH}_8+Z}MX{nEP; z%wCe>$CEsG4f5HI48`&s&|z~2!lD0hV_}`xB#W^Q2`9fFF1juRHA?}RxyeJ5&P;S? z4l+9*O~CM6AF9L;ayLINYue&Seem2OHtd~?Qvjxd(?R3RxjJ92Uchm+uW8VT<+FyS zMje~5cil?7qQinEh<*;|@2M{J0OH75>gtmCc%-$xyQgb2PnOuWSk7tH`^=PdllD%r zZdb?X$EwxO$~rLN;;?}BET@;JqkYz)H?PtkH!NncJ9!7u3-r2nQc zumdRj_dZh@V>BxZ!P4K{%B4mOZwNWMqbCs$3#XH8@eIc5{uHlsX7|t=S5H&A(pN84 zECu{TmCRNDr&p$h3X6*3KYUi3g4vTJcVJLv38l|%CibJGv@0j0E zUur9JcsDir+lLcRlIj~#(cS~Ivj<*c7SeM<;4{+SuC_J&rL|44r@Q_Ksdm0BcJyfS zOI#ez(*&aO{Rj-wZ+i_so!_fYmJZ{xUHk1*)ShRgOBR0C6fXAOW*s<>yX&1#g3-2+zPCjlna$?rV(g1`=f70szYMcprK<~qt)23yAZy&0%IwF zB1z_mwcZm6W0eY1)AXfL9Kkzx*5$xVsQ7wd`KC)?EVxbp|aoCOAR=9X6H+V@<4d@3LO6gD-u+dgxP zsm0qOHvxvz$}OMOJm9%YES%G=Dj3np{!TDrvD>5qe0;Pm^-m{BKsMr$E$BVG&5^ty ze`y0h@EEg{wY|FCxQe20Wlc=3jNhc&M0N$6nnQZnjWMeROSsOf+|p=1n0+`O5) zRdP3XA&m~HFcg%n=Y4jo>{~&1y4@jQq(V|M?bigWYMQuM5UZWNLWAGi{{;WO(V~5| zGt1AxJl@78!OfO_^~`j>gnS6kLh4(zN7XlLa9j`Q&OusG5#CW_}QzsYs6|ARfnr0JotpSovTjqTI;Y7!Ac#&)|D4BJ-M&y!o!S2&JA;<}gT1DCAX$1iv6oHE41{MzySFVz zbXNKQL8S7Ur<^NJ628f25;P{BzJPRBu9h;M3<&={DH8WO#PT^=-ZOiuOLKf^)g8>$ zwD)-C(D%VEZ_t2z#(7Eli?7&pLM7w9nG~ky)9tMs3H$yUqG3b{47x^f2OaYicls7= zvoezTJ{D{4Sg~AVN};!v&Ve{Nw8>xwtX1jW9#I$XnljB|IWv;EA>kY2o7t*IgNkOu zxvoEV8r;jer%95vbv|={eKp-LD)Fj)cDtK&5!G6t+%g) zoJcQ|8J70RYePPzt*UFM&W^cy_f3;xYFSa7WWwT&(IL?;}#J(FWA_o~H z6Mo&DVfju5xXdLO zlKSS>=~Kl#6K;<4t1Go#8x0h9;a9m@C#QQFDPS#P?#{SB#HGL@ z_iD*yvSc`S28_EN&nAVFde%brB1kNzw1?Dni%lep!+7dSZ+vxk8T=TaAy%$;)IOd) z0s79}B+~{peJRm6A@TmbfQ`a@rS|bBQ@I+v&5gTt-&eaSo+N_$^?iA5<1SbD-;KY& zH4AIWVnS_aB1dIdzv-nN6G$7~n7#Jf7ynWTv zJ!9z?Iry}7t720)#uXMD4Ail})?z#naP$GTurW;3>-v6a9*a-QB(cvfS+J-Lha-(s zlGg2Ay8EKyb4Q(-RvN1YnaP^IY(K-2Fk@+p=$LL)2Q!B5y&dvYdb3<}*Z25lBd^W` z!RB+%CT%GCOdeRs73YXP48Z@HGPwyk(mIAM^A^c%h(#LBY+j0~?=$ zS;bOSH5wSL+i_oYR8q$x2?u%*mp}ry=;p6K)%QqxNB*<={if|(cKDJpNjX-(7^+;q z39&nKr+gX>N^~&Cp#mCbWO%|lC9(uN%knW`k0Y>DR=OCT6GYN*;!1NVxJmc*?>b7b z-G#^lAG9DpMm+r)42_MBB6^u#`gg+#Qc1`z>VfO1!Gy=#B+g`Nn(&z42}3YSZ4md~ zvwd-GBhtNSZ@wO{gmLUeoC>)TM*HdP=c1k&8^=Hdz85QE(=9;jl)f0oYwnxJ z(Iaq%v1Ir$6h`dBiT**P5i+tG3yC)ts8o~5`ZiKazh9O-rmr1#wRZP!H>a6+L)DFk zGP5M{&;qiBv|HtutQ&i}>g<+p5)Bm+^i9i+ZctB(w%3h}(>MA9mddmYcd=f;ht`J) zD|TQ&$>-{L%6hRQ(6s}GgG(N{+RPiAj+~mlUCNko8NjDQ{}rD z*qePw*FX6%Fjv0{?Xd}T2q5QDB zE<>MaCVCYy|8 zd}?3b8BJkuzkz(ey*4aZCe4~;v3#h;^=;B3n`QGFCxt%uwhP;99yQJ74G zf2Wbag)q*bS9hyZsoGm5aS@(b@3nd{rw?aV>L)Oh=K!*rVAqai=hC&Yv(0YO1UW#z~tJVstK)YvN6_eDclE;At4 zU{l$s+u;bobW4n8jF|?VuI|n!@wh0fo0i?($mr2|ZT4HOni4_#;&)LZOQ#o|h4iS} z+tI!CTw|zHm3yxI;Cn>AK@uSi*5_d`Evz8)S_ljONJs8cKJyS19LPUkkQ&By&$exX zv07a5>MlO61?)^ArP8@qx35-c>xaaYP*WWeNV0@c1oMM&X*!U9F;y~h6eR1A4E}mX zhy0?;8l^Wm^#J4@ojKEs5t2>pNF*uB2!3jFMJLU}+AM8!<}{~to=@?xjFf<0POTwt!Cy2S zT283AHWdO#5t0=v9gS>>@D$y--Rp~om=5e#%~k(12Sj##oUvo-pY2H`V>0+zXj^lw z%P6DTZm&gsqBpntR_TcTNa0r<%1KmD1bM(mp-YS3oqdQR#8r60hFV-B55Y-FBGF+j zE)&3tO&l@Zf!P#?rC?)O)nNdg1>@@y#`QxzcE~Q(qtmqJM1@0>xKu3-W?L@olC%0MG?s z9t#@RhvwTj^bQ)7rS__RKqUL^TaEagart&upRDM3I+lf60XNlBgeMvYsoyGGpS5vpQX=}xjtJqr;SoWT3c>C`GFZ_HR+!!cY_xC1Jrr%w7U0S?EBGiy2fJfQK7oAv(ieL3a-pKZx_l1 zy8b_OV*budMbM%fy$)%yAbbZ3&scN=-~D1(G?#etWox#YF7kZ*ex!EWRd%gAOriVy zeL?fw`Eti07OC=J-;-h-exqCV*zc%{!?dAI^JB=n;me7&Vu^`w>@z67lXn?g;KSJ5 zJAn%FSB!nPfiY>dMvqPlhz@|6_%%HbV<-q_RRhLpEi+Mkj4JS=b3%MLSu~V&c%Ew$ zetPDOuV%Yb4I?hTEBl1}hlX?zp=F@i!4FY8j*jY>(qhnulQws5VE;_j4EjhP`Db69 zXXw7oD;94}!5#9+Ne*Fn?i!InWw|>n+;STS#ySz9nObUgjDo4cg2K!xY>IJ~CrG#B zq{cG8tBBKZ=~3s;X?3#5Crjxy}7@spBeFs@c zvobChqGxAsuMmlW)9r&+`z_s>P&2f^c97$ zc(A83#*^+0l^q8|@$U27Mzq|{a|?S!8H5AV#Fmj}g<2~l0Zn6|2d_>%;&d2F^Kr?-fk*ZbN3LvmUGq_b<=_ivpOyb>Ql z!4~S}qZwjhMi_cQRm3;)U?D&p+a$i?p`(}?eMTDd5g9?y+t}vo`E(jNq$zyE78-fvtLz=tPdbS*CJyT_!{+I-<&jIz5)!lxG#8676O9m~0 zWS&V{oW+Fj%-qPMoPn%oCX|X*yBY%+H~JkgZg*W3c^g$8>DPacEmhRc|7@6%z~yQT z+Z=-5(l;=+srUO4Jw=32m%hYZd>%g$4w2U~0>%|UJ{1#P%9t2JasUcz;gobSKMse- zKGbRFkh&bwoYx`Ao%A>|`g3CSJDLCo8~MeR*^Xg`Y%$XzD6X!>C`pB&aIm`lXY3qF z6K3axnS2*{2v)TF+I6(tk{La7OOF10NVn!WgcVGQXqQeoIgmlJQ_5;=1*`Z z+R>ZGz+I58bR_Z0rCXCIWg??t;xs(B*XnoX6%BRJlTPL$>-4j&vVkKP8!^2oiqn3g z?+CFI=MK`(t+C1Vr7Ai)i3*m_rRi-enjL{aNGx0`Qwb~fuC|)(N!vw>AOaGFm{6qo zm5hfUiFxAGbx2wsEdLsI2#r9B3#Q%=2c~{Fts)-19?!bo8-XWyFxDZ8QJiKHLR7~9 z*>`Lb#*zq9^wSqTxRvGyp96yBO1!iejk1DU1Pc`)TkiGZb)A!GC$1ci6L;Klk9Yz1 z|7Zb5@s&3$y9j35OY{Kx)pxM8G<2Uc(*Zm`FHfJ+N6#PWd($`YJzkUMqTDl}<=4lU z2IR;OnIaum<4^n&xHtfqGLjFv5Qfjb-2uFBErEHz`Zhr`UyZNc`K7zB+9HgVEQ*%h z855iS^?D$*>>hH2W~Q)_=?l`KoYZI{Vv6RIF4e+RhCfB69GIq^Ixwzm>i-&?x+BjUP1PcJ*ah zOa9{8D+3~b&R3&RB{`Epf&B0-(As0y;8gkcf!w5-5+=3XH;tCCpUDP{4j-5=tx)3jtLgwR9{~DdR#phcIM8EIGnMWGJQ9 zQhb@~Dma=AsOlp9gMM*+Dc6)zGxuVhSS`qc?d;}?=T<;S;v1Jp&FEv^TJNPh7=LXW zEM6DXv>f=U+5$={?g4#0cPQA22xHBhz@#fnw~B}~9`p`fbj@4NKe$OnrMU5$4c{cn zP2l`z{x3RZ+aCaW0xEcP6hjjl>4hGE1@vTSeel!ob%kVmfU`a7V!Br2ZaI+IoGNG9 z7{Y`D+n&f-i=>p(6>`=%_s1J6y-x((Us&iyfsjkhu`O|})!e5W$lZ?}j=9O}Z)2j% zJo@nRe4(}b&}q=-HXe9<%uGZ?{tD%843Sp`cvtp-{q`{22)xOGT!oUbX8^C|jPqd; z)_odFhD`T&nU)HJEKKjS*^(mD3wqq2r02!~6vYIjtl?9g2A)hBKI{J=8;Krp zwVorK_NZKd$8z!4hoj8Nn6VpM-)+0yoe^?HnA_Vfm+@d0-9*ea3Z=l^P zD9V<)Jm^Am;NUp{YrlNYFp>@5lYwYkUd!XDR>=sW{#8|Sv(@I$dlqc8^S}2>A=XUu zTXZPeWLD13jkm6Bd%Br$Wi~@M<7+#YPMN2%?%E1dFhr)|87`s>!pf3zfrU^})0O$x z`gY6{Pm*Y|pu7*Ptq#etNF!w$#ew-k1DWY;h*mhBww+37AN!ZLoYhcj{ni2kJH**do}n{|#ujPDAqmA7n=B`o+OLd(TyEu&2$9@A$LqLJ{CHestgPc0 z>$V(TKJeRUd$>M+VfmnxbWZNlAslZ1G^y5Fw(28Spwv6l7hcA?I4JK-lXuWEF4Cfu z@$LX#vHSw*X$YTsJ`C@MRtb&)dA%$~_y|eu<`Foa|4j<{cRY0_CZ{k-PT>kDnxgPWK^+etKm8?RppatM6nL(D&eUgNKZWt!-L@3Ico?R2c> zZ+1@TdNh|dA|1-$AYj{%%(G4L5P0a*ArAU#}EU(`2QLV>Nh0qq7uTyxpRjSGsEADQGZIrRwzb)BX zH%Mi0h`$`_RopC~xfjz>5%f5Xnp@*7KKgpRY5Q4|sJYdpUE`*@p0h{}i9>*yu<#6V z*;-nSE8>gjn>QT9ScizFv>*RoF1kMOd|=x!zZm)UQZ2eFeESt-^E?_4ah~Z4Xzu@} zm(2fT8FRsW{}^O^DB9cG#~C+!_IKhim6R|)?%ke`uO&c0BoMC9i(i}rx$4PsyW%z$ zK&|l(SB@!@g4n8-B8oUgpxZp>=^QP$nq7@Ib?ksrT%%iQ%8Fg0ONEq4gUwB;t}*8D zfp4!66g-~Wn#WH3IQL4qHB&3yg@7!LW*es)EYFt`QdyalF%um}Cj zAeP1N6UbDk0e|_gPVraP-#!riX$>Mz(wUg3DhR-f^ylnT>5=OpuV7UK9u>z4X5eta z71?#~7c?j`4K6E(%saC0Y2D=F|NNZ2Owr?15J$t~rM^WIO0Na_mDm||oeJL?Xf28? zOOpP5U+j^G{SYbY5d70A07HQ_xo3H}VeR4$Di@2?s=kZK@%{h#XlDBdkDv{gazhVZjR+u0b1J6+pk5d1Otp5H~j;=|BS5uX!I(2 z$J7@PLaq2~%PYG&)ZS=(7D4fA>$cZ+n}+0X%|VGfRYBbt;q!}b;DwJ<`t4loZrFD5 z7PA>Y_b0K!DFM=dXipAO#6?ue6+9G5A<}7mYe~l3xzXhH{pnnJ#>0n( zFK?xV?!}D_ohn=xWa&vxR0M%#_ZY&QHG1em={$9XFS!$bh5ICa1iV3soA?Uyq9(a( z6WX`td7#&NQnBU`#ZPM%R5zTodV)n*OxL;rf33-D6Z0|iBqp~y7?p@Ku<_*bh4+KxxvKnk#;3&!*#agd5v?=# zJOzkqYnfG4s@fWmTO8s6_D^^bQV`&HmT*SNkRNQS>)P~f+IiW@w_#w?kXYQ>tjjpF z3kFjkjqI_@Z1}OlH{p8-XWP%`f3Qfm4H`w_p=CLV%1bX$DWP$g*Ki`Y7kbF5VIZV4VzM#~><8n@s+4z9|3QQb3Xvv#C;y zQsyMJ8*GYGTbxL&xe~5uRJe4oT6Wo8x^k4rnfznO5!BH2Q^yyeSxWwV`L|JXYr*#$ zQ!x$-b0joOk32+edY?F|Dqyk4&k#TqR`i`etxE@QC)&1FWSYZa1T9ydw8*kH-vTaUhsL(lxAWyu z?!B+64YkrS90Ia~+|&#-6BM47A`lGrK8N4S*Kea9=}VQYD|@QA?8+=8 z{LwF2I+y$D1}SpR(QXYN5Xl^eXvYgBDvCi&M^$8vvVUMegE|Im#nFw3j9ddtiQ=sX zll#GLFl(^rqsn1|qY(s9wtl;{RBQG^`UlunQG?G#93tZiQhU+9i2S^li0R5O znjw?hQv)e*FYqkPGs(W{;0NmYe@rGEhMJ?bhdihA_42?LML;Lv%jD6f{e)2r)VK~e zsVae)rfn=7uhdtUpvI9SYxJZLG_dab5X=Sb_AL5ib&NoHAHFyHOOHi*@lHe}_`m5r z=$B7qBOUDGJPJo=DQyMRInQ$dE1-t9_H8uhCjRToef-A|41@!}4#HsA1!!dofVYj5 zl$5?rqqm35G(69l1IxZdn@(F|K-Ud^q%VJzJd>FaJ}j;uid^J_+{QDW_Pbd(@l3bW z%JvYqnqEDWMLSX~=c`ZyhYEuPoPBF4UVX&%xQR0*zqoIOx|)`U4i zG5@wu0UvFzSeE}qj%1#ckSYa8Gvi=KAwjZgF)$m)`a`TQ;*druoT6-Q7g(xJ zr$f5JTHLweiSF75`nE7>2_3fa6`pb97MAD*096ocyb58NlZ*YY>aQ5&d1c1`5Trwv zNz7z@qBnd9`bT?PK|l}c_1QotB<`SMXZniY1>XBNn(A0-U1c+vSt6Bu+3NDzlr)*j&b@MPx!XKZm&20&zvJ;ywlCYf4;(>OFdnA@dR|&2plu@}Y92m-b@wN1 z?cBr&zdyf|3Dmj8w7@incGaL|oM?w>CpP1&!YUgCnjQR-(mL54uQFrcC@) z^dBvf=QaP!z60sG{b0Eu3m*d0O}PIpi%{Rt)IQq=4Z{aNg}RIH)wVH3wL!?g(*TJ!{~%60IpG2;G3H%+=$h|kT>M1!AL+FB`u%j4^f?RL4f5$AJ}8Ui zj+e0P(QEP)CD}S1;N)L?&8CGoFaPVFw*lL98H}pW+@1R+oaG}s+`fXhc~j`I=k+R^ zr>ckh&K@3x)xl}o#?QG0?|3Q#g{D$Qn|aVC>fHL@D*aEmUU+8>opXn_+Ja>69F4;* z=iS|1d`Ymj{ucbB0fD~$JPV!pmP+dRN{rRl<4%v)(rOX`7Mw#X+{04s?c&$oQgO>O z{5v(bU61i}<(-K;H*`&|apHEIX0Co^Z6{0JyPBUpV*4M)G~htcFND|7P`2&NqTYYk z@#>y66ml_9ei5T}>a(jjb*BV+v2-t{&-|~qrf7_a+{xu4j{VoqiuqU9zuEd{YZNo3 z_ObqKKN)s+ef?^q!`Kb5Ib~&k#v}K1YPGW2YmS>eGJT5(&xXA&_wHDhW#J=b-VAY! z8cj4y&uP+^Fk;32=3)a!8GIM$oIg5X>`bo#^Kn0La`J$+K1m6xqU;WLx7$3TjgGJB zs@iHFi+T}iz8s{V}P`z_gf+OSM{#P$%8ZJP3XQ=TRMZ|C=eo~)DOwa&b z&SzK9J}Xn0L{(Q;-y3SD0)nqsw|*u0!X8Ei-FfMyEF8N9mTwtVKGHH+s1x7!Kb~(g zlXb6M;YryF(7ejv)>Fp^V~w7KYOy{`fkf`Rb-kEJ;|c@{Mex1(A9#ob`_vt!e=-x0 zgSaLLO;y}@)}nsrNhTLtmcQ%Buk~T7P1o~wC-+qG=|jz#!>{UbD?J%)ssTqUw=_() zTKAjR(s&u(;sOP!`ZL)__{mDcf9`AT$Pc4jc0=2M^`+Qe-7%?TXgfAOxlx1noO&?+ zJDikrrkt4%fBNe4laICMzHy=0hoXr2d#FcablZeK*+3VK#{8ovMWom>?|~#Y5~lwh zM?g32xCr(oCxY$J10eU}!!QWT3!vZ*Em)Y9#k%tfm{y{R8;|?;2S2s)Bs?+w=@~~? zv2VkkHqRw&?3ozVPhhAt_LUsgH(j}87+dvvYrgL8x2vFHK`}MaM~Y*%Dub5%FMcb> zpKjhw(kU$+qJl_=)PU06(n=Y03DVt&ARr(T z(n@#p?(v-S_&wM4{sHfMT@OFbe3-pIJJwoz?RDRG!Y%j;A0k*3q%WlEQ+Pq)5^Lgb zkfbeTTS9l>iW3lki*BpVEnpyDE7qmG#*()$!l`aLJ)_=Ri$ou-TydNFdgLy`US~&6 zcDvs+IW)gZnwtS>(VNK5Wc!u9?-To-{nKo9~i5yrlj1ikG4< zJ{Ih6K$KqSsx}R#To9k?Jl7o#Vw(Qo`k-DY71P}acOfWv8g8bmQ}pd?y(~c$@*V(V8I!}9xZ^J050<`ktT{vE%_@RypF=dJD#}?S1#^3nPgL} zbYt1Yc^YZ{ViqY2poF`?4SH@@YdUrL%rP|a*M%1ZT59--gqNVIz{%wWSuA&q35INr z(AqY}bKkHT-^;Td*q@6%z&kG9*7Q-NxM*zkJT5kbgyYNb z@o^>2WNtwge){}cmWLsk_YG)t7#p$}_&(nb8gcblQu1ECrUX?pjMIgSe zXH*Ga%J9+WLAJ7)kLwPabD}RNKcSqRDV2Pyg8rtcSQTxr%|r63$8arelp{Gp=aac* zD1+o-+K$dc)vvsWP^8W3=ItCVUR3n7vIaS~mZg!nr z8k)@zO?)_MN82j89-DMAqo4GNl!yNYEbjq;?}93Tz}12R=CJFvrzHb&VMw<+EAgiu zXsnwPgfkpytk3IrEn$$pI8dZ_Tl=4>D6mgV@%14vzfRa&>ukOv7W$rR_2h}(=p9pSPFN-+AmL2s7V@9q^1fUDCai5$nvK`~lWI!L zEOYP>n+~0Eyc+?yUk9V5w1JOP1~h%2J>5Zbuy-YobEHHNtwsIxcpPodj3h!l|1Gq+ z>qm@`q7ZIdMv>N{*k`vVka`dSIIMYFUHwCVp&SuyLa|8kK)ib_-OcZ2>l)WM$Hje= zPZRIV2)7;iQ9*!I>a3uz*U5qQ?HuM*zjI0LZy=we`Iz>NH2 zhP-d35noQ`Li&RD4hFZXYr`=xj*H(ioP<=Da>vx!y(#Q{eBUhPfn97BU9}^m*EI61 z5C0p1e%q?8o;yi@^if-^?vL&*Nsoo8B*^c+c8Ax!Y@%)LL0rzBs$UGT>A6l1Vaa_wSM$c!i z&jdDr^zVQiDX9;Iz4K))oRpWxJuY8u6}#|3J^J7WJ)b3?xdCl3a3aZI!57?~=znwl z2xq(5nlk%VF5-b=#>;$Ty?cCf^=2-i4D<$Bx)74#OB}vlrH058T0K{E>hv>}yF`2G zB3!&UrG_5qdJsaE>GpFyvXcTKG2^@#>3TVrkZEIEba`X5 zq6q{yghcN?8?p*{#}-*^ z?C%C%{z*g>=Oo8=v4jFf)Me;Q_0klB1nf!bWP{P(h06P&kwi2lDPRTWz3Xuny-VXd zaC6NxT&qfuZlGnOZ?eu$S->);lVSGT1b~Wc>OVx{O@Ed#z^vRGU&f8SmUogUW^$zY z>67DSlYg=Lo>6|B>~w|PbAYhWA-rDr#c&C?=?@d`Do{Ayaw^72e`pm;O8TeSuq{8% z9jW*+!*ZuC6733j_><*VnwseFz$$->9q`6shp`zzCkgDIgMZx|0sWN{z`P+Jub79W zbLim)D#?@>vJIY0(X&lOOP`Msovxa*EA{xC>HrSmKB3zfISl;J?js_x)(a{ zR+r~y+Z)8z+3)D|f%bcoPc0ChS3LUu%wp_KZ>!r6alM6r-NXxr3G$}Jkzab4>Ag@vcTj6yr9!FQp40ZT_%ob&;jgzW4seF zFvIL&e^>koI-H7WMmw(Xn?gwOBrQ5}-tNn5S?z#`e2$@EO3qt{8aZaZ1tKN*f&yh` zF11_S%XjanW5X-946vknwxs4Y3xaLidK~c^ek~bdD`{fD<0sQ|nTao81;hxzaBLKb z#s~<^hhboS|KUmp!+Zw~me=XXAM`bzNvU%*#;Gzx6$U514R6JSzZ^<{zA0&mQ@?wx zw7%lQ8Zf5GyxLiX?5sC`Gs*Jvj&2hnOtDIV`wMwoj18Vrf80AZXdLj=Um_$(Ky$vc zw*aZ>e+RJRQ&Urq_vsiM^;@4o1kMC)d*z~GV=7LgKhczy6rz)dpQ@&FP)Rc&bq5Rs z$@33-bvS1;zi!e137SX46eW-uqJ;>y+|j*{%U$0%h>`ME=|K-KTk%nE_kU>)w9aW5 z+u@FeC9&nAs{L)TxOX~D8>MfO*qv8?o0HaB{ z7A-49oi!TkhY!A5LiMQe^T-aA@#O)lW9jcE3j3q zGRF@&LG{X?)S>~`Lx@0wxyS{}osF$-2kWDkiadZDy!aM(f{5+NRIwEr>kbHi#8GB` z8+)w^kmnw#N&gu!K$87~MhQ?|dRpLUC>FwP@Kh!SAwfSKly1=0(O}OG#eC$}6BUYB zdVE5;0Y!e*YDozrMY)hpr|Urv7+AKt9oy<)#n=QW zEk^u{9LC?>AEe>{w($xj0}t>#6djjO`ld}dAN=UH2zblo*(S>47ltX2PK{s=rhh?m zZi$x;_O|mG-9g1ZYHw%$oh%p{g3Mbu0&cCP7}`(ulCs*XZ5;!Nclji?zcW8#-ud=y z;-S{x#MuCL-nK4e&*+Gj>wMfl%coD#wFM6|n`M)?QmA6;ek)mAOx?|5SK%87jDU(f zA9c*8a+JrndUkj`m4{j<+5c!79pR*ir4gE;Vi3ZEP;%IW-9Ts<9zGMV{lIJDN6TmL zP)g2^nP)D&WQ`6lsw%rbRrc_zsAcBzWXmbpo8q}!sr%g*(5J=rV;BNAdOHj3mjPTm zt)dVc4kKFCl+BSq@weCiE17``8&T9ip5qe~pX0{KGZ`|N1|V@orH$r9H*&e0I!uFy zNYTN~{$oa-#1}`>niRIHML%Eg@lkO0GHrM>3xdsEqW~Sn$5rY&UbWNk5I}k5#Lzd# z<^XzX2W}bvM;Za(9+D)t>h6AYm}16c^es0DxIC-`@)jXw#KI8lXV{Ug=AifypICq? z3}5yJa^rg9To9zjsC*sm$qgmJ<=ve^+g!Q~1GZyA3GMFcaA5>rR*W201>=+ktI`*z^Az-7+w_`N(nDA+4%)?@(p zIYOI%Q#i;U^$L*`eeJ=x{V`hC-lF}>k@b9a<*3a^p^SC0zRd@)S$wQ0ej3Wc6<;Xz6yat#~{K-yMU zyjQbs*3{Hk&J)FhQfN+I-V`~9mtUYim%ok_l`4Q9W&Q2Z&W!6YXJijZyVHuVekdwU z0D=(xZ$cSpd?9V`7Ak}27h?#Lsa0*8`v-9CtgZG<0@G7^Y|hqF$J~?8^@J83q$sH= zg$r`@zYXVm70O`1ft*PAf222zZ~`tC8Ex0Tym@jr6!LR`bd;M{1+*XikM;o^s}IoH zm6()A9aZIAs_}w+Atwh%+~I1L-Kp`ql#`QB!%G?(n=h&6A1oVvHYzG@57yiW-WweI zO~2vJmsVWrKYX#=5-g&Bk-pK9?QdMNUIvi;vts*dE%mz>^^7a41D?+shW3AB90q~3 zdNzt!uz$J#5uwx$l4}w>wb%|Qe-Nxi7~%es?u@YqP+dWbR-_uWV|NUx#4#Y)tpv!T zBL+dsd8gr!Zji?xc)4(|+iURpvV~g2j35PK<&9r#T%&Sz9B^&G#l^+EYU12QE(o+b z`i6%oeZwpNXjE-*IrXunPD-;`$6f>Uee$>$pk0giF>Lgzz+;p#DO5{qA0COyG9t*t z$u|gWJ`hhgE4U8uv4hr(j~(r97I4`1_LIen3$p5P?NgB?lL+b-YEkDZ({NaaL@^1) zzu^#yR9InR&KD$1V^$FK{axGQp1pmwb?m>j%6aVfJY>#nV6QpWHK%EKJJZ$lJizqZ z?Ax6tzGK3!Pak!#0a!*Tia}b!#C1qymns)VFX@3-`@`eGy9c$UORR7-Y^B$D(7H4N zdI|XkqqiDaUI(p#H|_#Kle^V)=Mlh7ft=66jvbuq{Xk#ot7)9RgyQ8xA&w#UC%Cy zF_3b%Uz@73OK#HVbC@EvkUcQ<{6P+gRCf(y8i3SyHz60GG7Xp_ERBdk5<-sGMp(+v zmjDLMOrgwW%8WwNFNXFuZ@GTtJlB*;1}s7yfu`foPQG-ZDYYyA2!xpzd;Azp24!ZJ zOTF(<)OyiEtA{9yfl0h~VVp7Ydf zS~zIvN+N#3{J+4ha4aq&((PJc4Qx2Siya!dG9ZJe@az5a?3B$14eq}wZimi4AQ8pp z!G(gW(Fj}HZ(y`5*P8o}Pr)_~UI%RX=_2+afc1nM5#iKx3g`G)>b<|BAlC3U39$|% zgOBg5zm7sS9ivERR52r*uBSepf{LHWNC!@A!5cbWz4BR8Shk8D^kiomyP0)s81r%RqI<;eyJGmwMC?%O`lL$WExaDy{Ji6Ee9wt*QR1%XsnTKBJkk1>PEDQ)-oqPK$nygH5n;bETZ*p z>m;6U^E!9H#w7&e>iQR-)6}6|tgj)Q>_2e4w!%qob`x?F(2DZ-n@;E(LgkkqR6imH zg1w}g#Sl)Oxg`gl^!&!?z0~{#;aK2I4L?{WA_TB6fJ&yeFG||eImm&V2W^7K|6oLM zcQIKQUCHv4-HwH*@1bzwO-%DifB5-=aDz$qQS*AZ%9{S&69DQCZA&hU@{fQ>w0mV$bqVs-bEZeb!`6O`q!Hp zhN4q8i8%anp;~&_+>PIp7Pz4!H9z(PSln4>G`6`Ei;6p+ zh3-Qr$~=cn=&^~k5GP=Rj^In__(BGeWQ3xOHIi|5MCT7W-xJ4OTYe!I_ zyBxt?8pg(z7QM}WvO&I$tqq>MHN_^H|E4(k&{dJnS$3bg=m;;cxIE=b~#us=ow zSeZBkHX3>u;fuc?fbZgHKu?~$+f)MI|9w;od4h*BOn*Om4{T6=$aKvA{Mes|(Zh!S z{uAoq|NS{&>i_>7I~?`-v)^Tez$qw-0R>T9zh5}+%{c*A;wEk*3JY1Dv)G{a0vAPb z3lzEnxW=gHqhPFB;#er{@;9ofyq2k^9`EUHltS}fdIMkDj&dL9rQND=2umyu1Ww0D zRZ?OrTdE0(gvSPz=!{c`%T?|{2Ui}%2v~Ztt-8f_k#8oXUGm=30BcAkb9wNUAGnqs zVAF%g^&gZ--PxxC{yKt4Y&q#ZO2Zk)MI>1p*$4_j7Jv>ffq|*J-Y06Z1fx%qx0YMk z$l>IVH?EJSFPmU0EUzKEQ%cdT;AN=mfji)>n-6-zjkp3@Tuy)|F0_L{lBc-59cS6< zj@Qn7`Q_2~(7OcU`6fL+ao`Qzv3$XkZ!~jc7J#-EU$27RJ+wV=rWN{v|vttICYvnx4GgtU33==0Nyj=&HF@6I|9v1)=8wWM2$_(hZErgtW2fz?< zx6Nr0jqWNTINd(zP>)Li%6Xw!(NGG?fh2{1hO=k?Y4hodKtk^vkR-3)0r{s;RDj`7 z*~jiIh0=bOA_yHRGjHLy?N3@e0kT_VPC(Z^1iU%l)iI<02@@*TtKh-W9s&N=shira zb8ZeCGo0xt0aP|X;O2|AL!ccj^AJ%N0_5=oK#j`n1z-_z1FkPUCmkC$+aJHpqDV3K zKXn3vc)=(HZ3KDgI;i8pxn*1()??;(I4&Sm33#A^c2Gl4%U7{ga2TSdxMfUsF53vV z68sLTW=K>&C3M$u^ogxzy8g@o*TZzdB$*#4ts=#;)kKq;)HB5dP+IYC?1r-!K+Oih zT)?#-9qFQ}%STg#xtgU%1KsS(rh4y~-xP`+2 z)Z?tK4Wb-1(1@oDzAGr+&41rN$tWne>h3%K@M{1Wl$&ez>j1)&bfVuKs&)XhI5;m> zMuNummmM*Q+F%-<9ZsBbB6~168uLd4>FFD>p{j^S;u9)+n6%D^y%z-4HGgR8DGmIoO(ABolzNALqjYrJ*a~04W?B*f3iop#z&==2~dUw8q+OZC>5GjUZ z`Q;s)2xFy>CdI@p=`v~cLCF2u4GJ@V_0AkXN=80{wP>*WW9ms!NqZEvkkzTJ2L^1n z1rWn2I?EDa`t%4)Dh9EKAp!he$l=p+$^w`$JWxO#^^u<#K4~|rKCAb6*e1<0v-$M8 z<@(BJu#vw)Q;-m#r!7q;KL7^td$g@fG~YuwTK%0J<+0J=?B6HluL5M|ke6)?_j5DA zFcA6P@V9C@oWPy)KYw~44m9c`thgwv3TiTT`d4vxoO|e8)j(~rB9PXT{%J^sc`aG7 zFhw2bd(8W7a-g!W`2oqhC=f6v@0RNA2rNeRdJr`YIDUdD9SMNQ#UpcOt7=$gAx3g5 zOj`)=xrcR7R$#bzTmq+=4C zx))(GkHe@lMZSspp6rx&)7W<|rsOY^z=5H#tlOv@P|>(cb^z87SD&#BZX7T;-1jcS zsMw=-9m?AsBX{J${ysBnheQ{^w6Q;7Y4iY})@%`zdh)|kxB^%v~Fw|u=#&^|GU3FR>%oNzvqza*&D-xz&+240kCgzCQ;NpPh3oP%I5P|C5F5 zai(p)fSxUj2Z>PvnAsrg6rgH*nGw=tBNrXlH(ss~Mti2}K>IODO?9-q&88X~zPyir znjLKdeTm22_CB8}cy&#lWae~D;aF@THr((IF~AMn z0sdRhMWd2OZR3+@x0p?D9EVb`+6FMQ0__I+18fLX;JDVBc<(VO0i~?`00sPl{$ZM= z6MkulNx*QaOr)H+? zAwlJhU_|tw2hbkx+Qat@;QZaU(_-KWO_E}s$DXn9AsNZGmx~z6bvOjd=@Dr-G;C!_ zit(~cdm4|)+0>_^k5kpw?`ukvtETtDS@C_QiVVsU<^()NS@8LzOF9cW4YDg~8U#M*1%a(kyCzQ--qBs@?yWm-`O!@+dx78ijB#tqnIzRmE| z*!I+U$^@P7YG^tW|C$OH_W;kvtA1s03>Dvg5X>k-dS;jH&91TM>?Fp-J~#!1VfMpb zjozHF`|@fHc$rddB#|C-k#;&nwvPW(S4BnP3l}&|&4`$_AWKnc{gXj|tq}S2?C#E2 zg3w&QVoBN8{M~A3a@SF}A1A3SU=hQG>G(-c@;|5V6|41R{ALGhUk%>-fwhDO4NCf? znfUQ18Yt^|=BJnrWfuaKw+STTF?acicICxZo_xynj!HWRgp3YO?7x)7gVdoUy_(2Y zG`3jz&)$T6x=ZPCR=;~Kv~(hd+9)=Gqi2J@oFft8Q%A;$v)`9nNmTM1?cF2EREDA3 zX7`;5Ud7ONo9)P04-<3PJQGC6lFbGu%B0Lh1b#c*=$k?MvtC8^R7l_K#77>q%4!c% zpVVQ>FMKk*UlrM)u0rB_idLS+yA|wlOGL=(NeHib_W{U;GKdf!-(WZo^FKk zD(ej-OP6-VmrQG;FVT5JH8F5kd@PXxENnWvIPaZ>R{YsOtWID;w$Ad=)1eJ$@LOqIfGTY(dR#^>5YzcjHZ~D#kpWs z{zy1=Eicvt%4&{H0Zml6LRo2FnBh`%7E_hdM4+cI=jsApk_vIMrXVCqwt^rq3WJ(R z@J$j6n>~@BkNO1Cg0$jUc*!!AgR|AX;o`lN#02)~vG?~E&zkbpl3U{S;F9T_2&^Sm zH2e*5+hUl6A$P)5rQcm9bSxQ`jH%ISb+6@p^vqPX=Y_GkFx;HuFLw#M2KuYhY=1PE zSo00Ar*6OBXS$)FP6e@!pge-z#lWkM3Pd#V7?WF7;+6a8A2quC@ zB~IJvTqMa6hhKmw=w~O3QKq>*2CNM+5kAVzPLmdGTI`g~gD9Y&TY1)e`jBVW%2b^f z4SJtBFUgoS^2>X>o4FY_Q6D-xHWid!V}Uryp|ve0aFWx3gW4d7c~aB?S2Up&QV_4U zSCMMN;nmY?q7@OL-icw6Q?94hZj>~nVOV4TE#`>Jm6AtvxYeU#9rn9E+y896?sXO( zhevRwS|zKn$D>>++y{LRN%=q;^n%_fMGY;;FW;Q`ItgBJpWI%V>Y2U0~yG%}+1JNyF(6AOgPWn5(<{lk+3_eJ6&CEcDl6+Bz%Boe^2@#BNF&3n;%e z@27h-CeD&sM3t6bIe82?5T9tR=Z(E(?5w`moJ8#AG+*=SH#^TW* zcz={bIWH4=&reKbeZ#AxGdP@>l>ChAsVrN27&i8C!aZzC#<5)3XW;abG?2$pkRD)? zNeG$i+I&)M2-14@3FUG~7*yU79c_G8w7`52s?MyF?U1V8{nE6eJdo}M2mDpSB|VXf zp0}O1=Ty{-#mTAI5G+e|oZnx(j{OfOfoaUqhe_H7P? zU>Ic#M&BW^QsqLNn2HK*T#Zit*$oH5O+DK?&-#(Oq$e+IvdjvHE`@ryRX6k6py{qlg;EeVkIv0=Q@!-&*B@q-%kpwj$;AZyh=v zpsPlIW>kTLL`xW%8F0xo&=bSX&-Hj8OKkm= zjcj3k=v)Y{p%RbRAjcAjRsQhhHho1ndgO58wrBZCQ*j}LGcxYl6j*+cTif;in^ZyN zS9HMXR2jd99`xZK=@uNKoIly;|M>_m0+#rg*7x}T%HDvVqyFEY`+s8WcJ7R^j#o=$ SlJ`TvpR$66e5ss8(EkAl3Pz;> literal 0 HcmV?d00001 diff --git a/test/image/baselines/stacked_area_horz.png b/test/image/baselines/stacked_area_horz.png new file mode 100644 index 0000000000000000000000000000000000000000..3c18529b36df4a387b45a40ae2a87091e70d2bb3 GIT binary patch literal 74532 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 literal 0 HcmV?d00001 diff --git a/test/image/baselines/stacked_area_log.png b/test/image/baselines/stacked_area_log.png new file mode 100644 index 0000000000000000000000000000000000000000..737318747aa917605895f820f9878d7549a0424c GIT binary patch literal 79962 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

1G{}L&*f$B9MV# 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: lines+markers"}, + "yaxis5": {"title": "groupnorm: percent"}, + "legend": {"traceorder": "reversed"}, + "grid": {"columns": 2, "rows": 3, "pattern": "independent", "roworder": "bottom to top"} + } +} diff --git a/test/image/mocks/stacked_area_horz.json b/test/image/mocks/stacked_area_horz.json new file mode 100644 index 00000000000..4d0342996c8 --- /dev/null +++ b/test/image/mocks/stacked_area_horz.json @@ -0,0 +1,83 @@ +{ + "data": [ + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "orientation": "h", "name": "bottom", "legendgroup": "b" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x2", "yaxis": "y2", + "stackgaps": "interpolate" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "orientation": "h", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "b", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers", + "groupnorm": "fraction" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "b", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "b", "orientation": "h", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "orientation": "h", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers", + "stackgaps": "interpolate", "groupnorm": "fraction" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "orientation": "h", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x5", "yaxis": "y5", + "groupnorm": "percent" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "groupnorm": "percent" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x6", "yaxis": "y6" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "orientation": "h", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "stackgaps": "interpolate" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": {"title": "stackgaps: infer zero"}, + "xaxis2": {"title": "stackgaps: interpolate"}, + "yaxis": {"title": "groupnorm: -"}, + "yaxis3": {"title": "groupnorm: fraction
mode: lines+markers"}, + "yaxis5": {"title": "groupnorm: percent"}, + "legend": {"traceorder": "reversed"}, + "grid": {"columns": 2, "rows": 3, "pattern": "independent", "roworder": "bottom to top"} + } +} diff --git a/test/image/mocks/stacked_area_log.json b/test/image/mocks/stacked_area_log.json new file mode 100644 index 00000000000..ec0965a01d3 --- /dev/null +++ b/test/image/mocks/stacked_area_log.json @@ -0,0 +1,86 @@ +{ + "data": [ + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x2", "yaxis": "y2", + "stackgaps": "interpolate" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "b", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers", + "groupnorm": "fraction" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "b", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "b", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers", + "stackgaps": "interpolate", "groupnorm": "fraction" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x5", "yaxis": "y5", + "groupnorm": "percent" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "groupnorm": "percent" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x6", "yaxis": "y6" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "stackgaps": "interpolate" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": {"title": "stackgaps: infer zero"}, + "xaxis2": {"title": "stackgaps: interpolate"}, + "yaxis": {"title": "groupnorm: -", "type": "log"}, + "yaxis2": {"type": "log"}, + "yaxis3": {"title": "groupnorm: fraction
mode: lines+markers", "type": "log"}, + "yaxis4": {"type": "log"}, + "yaxis5": {"title": "groupnorm: percent", "type": "log"}, + "yaxis6": {"type": "log"}, + "legend": {"traceorder": "reversed"}, + "grid": {"columns": 2, "rows": 3, "pattern": "independent", "roworder": "bottom to top"} + } +} diff --git a/test/jasmine/tests/scatter_test.js b/test/jasmine/tests/scatter_test.js index dffed81956d..e1711b395d9 100644 --- a/test/jasmine/tests/scatter_test.js +++ b/test/jasmine/tests/scatter_test.js @@ -832,6 +832,32 @@ describe('end-to-end scatter tests', function() { .then(done); }); + it('correctly autoranges fill tonext traces across multiple subplots', function(done) { + Plotly.newPlot(gd, [ + {y: [3, 4, 5], fill: 'tonexty'}, + {y: [4, 5, 6], fill: 'tonexty'}, + {y: [3, 4, 5], fill: 'tonexty', yaxis: 'y2'}, + {y: [4, 5, 6], fill: 'tonexty', yaxis: 'y2'} + ], {}) + .then(function() { + expect(gd._fullLayout.yaxis.range[0]).toBe(0); + // when we had a single `gd.firstscatter` this one was ~2.73 + // even though the fill was correctly drawn down to zero + expect(gd._fullLayout.yaxis2.range[0]).toBe(0); + }) + .catch(failTest) + .then(done); + }); + + it('correctly autoranges fill tonext traces with only one point', function(done) { + Plotly.newPlot(gd, [{y: [3], fill: 'tonexty'}]) + .then(function() { + expect(gd._fullLayout.yaxis.range[0]).toBe(0); + }) + .catch(failTest) + .then(done); + }); + it('should work with typed arrays', function(done) { function _assert(colors, sizes) { var pts = d3.selectAll('.point'); @@ -978,6 +1004,109 @@ describe('end-to-end scatter tests', function() { }); }); +describe('stacked area', function() { + var gd; + + beforeEach(function() { gd = createGraphDiv(); }); + afterEach(destroyGraphDiv); + var mock = require('@mocks/stacked_area'); + + it('updates ranges correctly when traces are toggled', function(done) { + function checkRanges(ranges, msg) { + for(var axId in ranges) { + var axName = axId.charAt(0) + 'axis' + axId.slice(1); + expect(gd._fullLayout[axName].range) + .toBeCloseToArray(ranges[axId], 0.1, msg + ' - ' + axId); + } + } + Plotly.newPlot(gd, Lib.extendDeep({}, mock)) + .then(function() { + // initial ranges, as in the baseline image + var xr = [1, 7]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 8.42], y2: [0, 10.53], + // TODO: for normalized data, perhaps we want to + // remove padding from the top (like we do from the zero) + // when data stay within the normalization limit? + // (y3&4 are more padded because they have markers) + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'base case'); + + return Plotly.restyle(gd, 'visible', 'legendonly', [0, 3, 6, 9, 12, 15]); + }) + .then(function() { + var xr = [2, 6]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 4.21], y2: [0, 5.26], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'bottom trace legendonly'); + + return Plotly.restyle(gd, 'visible', false, [0, 3, 6, 9, 12, 15]); + }) + .then(function() { + var xr = [2, 6]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 4.21], y2: [0, 5.26], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'bottom trace visible: false'); + + return Plotly.restyle(gd, 'visible', false, [1, 4, 7, 10, 13, 16]); + }) + .then(function() { + var xr = [3, 5]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 2.11], y2: [0, 2.11], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'only top trace showing'); + + return Plotly.restyle(gd, 'visible', true, [0, 3, 6, 9, 12, 15]); + }) + .then(function() { + var xr = [1, 7]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 7.37], y2: [0, 7.37], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'top and bottom showing'); + }) + .catch(failTest) + .then(done); + }); + + it('does not stack on date axes', function(done) { + Plotly.newPlot(gd, [ + {y: ['2016-01-01', '2017-01-01'], stackgroup: 'a'}, + {y: ['2016-01-01', '2017-01-01'], stackgroup: 'a'} + ]) + .then(function() { + expect(gd.layout.yaxis.range.map(function(v) { return v.slice(0, 4); })) + // if we had stacked, this would go into the 2060s since we'd be + // adding milliseconds since 1970 + .toEqual(['2015', '2017']); + }) + .catch(failTest) + .then(done); + }); + + it('does not stack on category axes', function(done) { + Plotly.newPlot(gd, [ + {y: ['a', 'b'], stackgroup: 'a'}, + {y: ['b', 'c'], stackgroup: 'a'} + ]) + .then(function() { + // if we had stacked, we'd calculate a new category 3 + // and autorange to ~[-0.2, 3.2] + expect(gd.layout.yaxis.range).toBeCloseToArray([-0.1, 2.1], 1); + }) + .catch(failTest) + .then(done); + }); +}); + describe('scatter hoverPoints', function() { afterEach(destroyGraphDiv);