@gpa-gemstone/react-graph 1.0.24 → 1.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Plot.js CHANGED
@@ -61,6 +61,8 @@ var Line_1 = require("./Line");
61
61
  var Button_1 = require("./Button");
62
62
  var HorizontalMarker_1 = require("./HorizontalMarker");
63
63
  var VerticalMarker_1 = require("./VerticalMarker");
64
+ var Circle_1 = require("./Circle");
65
+ var AggregatingCircles_1 = require("./AggregatingCircles");
64
66
  var SvgStyle = {
65
67
  fill: 'none',
66
68
  userSelect: 'none',
@@ -76,33 +78,64 @@ var Plot = function (props) {
76
78
  Actual plot that will handle Axis etc.
77
79
  */
78
80
  var SVGref = React.useRef(null);
81
+ var handlers = React.useRef(new Map());
79
82
  var guid = React.useMemo(function () { return (0, helper_functions_1.CreateGuid)(); }, []);
80
83
  var _a = __read(React.useState(new Map()), 2), data = _a[0], setData = _a[1];
81
- var _b = __read(React.useState(new Map()), 2), handlers = _b[0], setHandlers = _b[1];
82
- var _c = __read(React.useState(props.defaultTdomain), 2), tDomain = _c[0], setTdomain = _c[1];
83
- var _d = __read(React.useState(0), 2), tOffset = _d[0], setToffset = _d[1];
84
- var _e = __read(React.useState(1), 2), tScale = _e[0], setTscale = _e[1];
85
- var _f = __read(React.useState([0, 0]), 2), yDomain = _f[0], setYdomain = _f[1];
86
- var _g = __read(React.useState(0), 2), yOffset = _g[0], setYoffset = _g[1];
87
- var _h = __read(React.useState(1), 2), yScale = _h[0], setYscale = _h[1];
88
- var _j = __read(React.useState('none'), 2), mouseMode = _j[0], setMouseMode = _j[1];
89
- var _k = __read(React.useState('zoom'), 2), selectedMode = _k[0], setSelectedMode = _k[1];
90
- var _l = __read(React.useState(false), 2), mouseIn = _l[0], setMouseIn = _l[1];
91
- var _m = __read(React.useState([0, 0]), 2), mousePosition = _m[0], setMousePosition = _m[1];
92
- var _o = __read(React.useState([0, 0]), 2), mouseClick = _o[0], setMouseClick = _o[1];
93
- var _p = __read(React.useState(10), 2), offsetTop = _p[0], setOffsetTop = _p[1];
94
- var _q = __read(React.useState(10), 2), offsetBottom = _q[0], setOffsetBottom = _q[1];
95
- var _r = __read(React.useState(5), 2), offsetLeft = _r[0], setOffsetLeft = _r[1];
96
- var _s = __read(React.useState(5), 2), offsetRight = _s[0], setOffsetRight = _s[1];
97
- var _t = __read(React.useState(0), 2), heightYFactor = _t[0], setHeightYFactor = _t[1];
98
- var _u = __read(React.useState(0), 2), heightXLabel = _u[0], setHeightXLabel = _u[1];
99
- var _v = __read(React.useState(0), 2), heightYLabel = _v[0], setHeightYLabel = _v[1];
84
+ var _b = __read(React.useState(props.defaultTdomain), 2), tDomain = _b[0], setTdomain = _b[1];
85
+ var _c = __read(React.useState(0), 2), tOffset = _c[0], setToffset = _c[1];
86
+ var _d = __read(React.useState(1), 2), tScale = _d[0], setTscale = _d[1];
87
+ var _e = __read(React.useState([0, 0]), 2), yDomain = _e[0], setYdomain = _e[1];
88
+ var _f = __read(React.useState(0), 2), yOffset = _f[0], setYoffset = _f[1];
89
+ var _g = __read(React.useState(1), 2), yScale = _g[0], setYscale = _g[1];
90
+ var _h = __read(React.useState('none'), 2), mouseMode = _h[0], setMouseMode = _h[1];
91
+ var _j = __read(React.useState('zoom'), 2), selectedMode = _j[0], setSelectedMode = _j[1];
92
+ var _k = __read(React.useState(false), 2), mouseIn = _k[0], setMouseIn = _k[1];
93
+ var _l = __read(React.useState([0, 0]), 2), mousePosition = _l[0], setMousePosition = _l[1];
94
+ var _m = __read(React.useState([0, 0]), 2), mouseClick = _m[0], setMouseClick = _m[1];
95
+ var _o = __read(React.useState(10), 2), offsetTop = _o[0], setOffsetTop = _o[1];
96
+ var _p = __read(React.useState(10), 2), offsetBottom = _p[0], setOffsetBottom = _p[1];
97
+ var _q = __read(React.useState(5), 2), offsetLeft = _q[0], setOffsetLeft = _q[1];
98
+ var _r = __read(React.useState(5), 2), offsetRight = _r[0], setOffsetRight = _r[1];
99
+ var _s = __read(React.useState(0), 2), heightYFactor = _s[0], setHeightYFactor = _s[1];
100
+ var _t = __read(React.useState(0), 2), heightXLabel = _t[0], setHeightXLabel = _t[1];
101
+ var _u = __read(React.useState(0), 2), heightYLabel = _u[0], setHeightYLabel = _u[1];
102
+ // States for Props to avoid change notification on ref change
103
+ var _v = __read(React.useState(props.defaultTdomain), 2), defaultTdomain = _v[0], setDefaultTdomain = _v[1];
104
+ var _w = __read(React.useState(props.defaultYdomain), 2), defaultYdomain = _w[0], setDefaultYdomain = _w[1];
105
+ var _x = __read(React.useState(0), 2), updateFlag = _x[0], setUpdateFlag = _x[1];
100
106
  // Constants
101
107
  var SVGHeight = props.height - (props.legend === 'bottom' ? (props.legendHeight !== undefined ? props.legendHeight : 50) : 0);
102
108
  var SVGWidth = props.width - (props.legend === 'right' ? (props.legendWidth !== undefined ? props.legendWidth : 100) : 0);
109
+ var zoomMode = props.zoomMode === undefined ? 'AutoValue' : props.zoomMode;
110
+ // enforce T limits
103
111
  React.useEffect(function () {
104
- setTdomain(props.defaultTdomain);
112
+ if (props.Tmin !== undefined && tDomain[0] < props.Tmin)
113
+ setTdomain(function (t) { var _a; return ([(_a = props.Tmin) !== null && _a !== void 0 ? _a : 0, t[1]]); });
114
+ if (props.Tmax !== undefined && tDomain[1] > props.Tmax)
115
+ setTdomain(function (t) { var _a; return ([t[0], (_a = props.Tmax) !== null && _a !== void 0 ? _a : 0]); });
116
+ }, [tDomain]);
117
+ // enforce Y limits
118
+ React.useEffect(function () {
119
+ if (props.Ymin !== undefined && yDomain[0] < props.Ymin)
120
+ setYdomain(function (y) { var _a; return ([(_a = props.Ymin) !== null && _a !== void 0 ? _a : 0, y[1]]); });
121
+ if (props.Ymax !== undefined && yDomain[1] > props.Ymax)
122
+ setYdomain(function (y) { var _a; return ([y[0], (_a = props.Ymax) !== null && _a !== void 0 ? _a : 0]); });
123
+ }, [yDomain]);
124
+ React.useEffect(function () {
125
+ if (!(0, lodash_1.isEqual)(defaultTdomain, props.defaultTdomain))
126
+ setDefaultTdomain(props.defaultTdomain);
105
127
  }, [props.defaultTdomain]);
128
+ React.useEffect(function () {
129
+ if (!(0, lodash_1.isEqual)(defaultYdomain, props.defaultYdomain))
130
+ setDefaultYdomain(props.defaultYdomain);
131
+ }, [props.defaultYdomain]);
132
+ React.useEffect(function () {
133
+ setTdomain(defaultTdomain);
134
+ }, [defaultTdomain]);
135
+ React.useEffect(function () {
136
+ if (defaultYdomain !== undefined && zoomMode !== 'AutoValue')
137
+ setYdomain(defaultYdomain);
138
+ }, [defaultYdomain]);
106
139
  // Adjust top and bottom Offset
107
140
  React.useEffect(function () {
108
141
  var top = heightYFactor + 10;
@@ -123,51 +156,61 @@ var Plot = function (props) {
123
156
  }, [heightYLabel]);
124
157
  // Adjust Y domain
125
158
  React.useEffect(function () {
126
- var yMin = Math.min.apply(Math, __spreadArray([], __read(__spreadArray([], __read(data.values()), false).map(function (series) { return series.getMin(tDomain); })), false));
127
- var yMax = Math.max.apply(Math, __spreadArray([], __read(__spreadArray([], __read(data.values()), false).map(function (series) { return series.getMax(tDomain); })), false));
128
- if (!isNaN(yMin) && !isNaN(yMax) && isFinite(yMin) && isFinite(yMax))
129
- setYdomain([yMin, yMax]);
159
+ if (zoomMode === 'AutoValue') {
160
+ var yMin = Math.min.apply(Math, __spreadArray([], __read(__spreadArray([], __read(data.values()), false).map(function (series) { var _a; return (_a = series.getMin(tDomain)) !== null && _a !== void 0 ? _a : Number.MAX_VALUE; })), false));
161
+ var yMax = Math.max.apply(Math, __spreadArray([], __read(__spreadArray([], __read(data.values()), false).map(function (series) { var _a; return (_a = series.getMax(tDomain)) !== null && _a !== void 0 ? _a : Number.MIN_VALUE; })), false));
162
+ if (!isNaN(yMin) && !isNaN(yMax) && isFinite(yMin) && isFinite(yMax))
163
+ setYdomain([yMin, yMax]);
164
+ }
130
165
  }, [tDomain, data]);
131
166
  // Adjust x axis
132
167
  React.useEffect(function () {
133
168
  var dT = tDomain[1] - tDomain[0];
169
+ var dTmin = tDomain[0];
134
170
  if (dT === 0)
135
171
  return;
172
+ if (props.XAxisType === 'log') {
173
+ dT = Math.log10(tDomain[1]) - Math.log10(tDomain[0]);
174
+ dTmin = Math.log10(tDomain[0]);
175
+ }
136
176
  var scale = (SVGWidth - offsetLeft - offsetRight) / dT;
137
177
  setTscale(scale);
138
- setToffset(offsetLeft - tDomain[0] * scale);
139
- }, [tDomain, offsetLeft, offsetRight]);
178
+ setToffset(offsetLeft - dTmin * scale);
179
+ }, [tDomain, offsetLeft, offsetRight, props.XAxisType]);
140
180
  // Adjust y axis
141
181
  React.useEffect(function () {
142
182
  var dY = yDomain[1] - yDomain[0];
143
183
  var scale = (SVGHeight - offsetTop - offsetBottom) / (dY === 0 ? 0.00001 : dY);
144
184
  setYscale(-scale);
145
- setYoffset(SVGHeight - offsetBottom + (yDomain[0] - (dY === 0 ? 0.000005 : 0)) * scale);
185
+ setYoffset(SVGHeight - offsetBottom + yDomain[0] * scale);
146
186
  }, [yDomain, offsetTop, offsetBottom]);
187
+ React.useEffect(function () { setUpdateFlag(function (x) { return x + 1; }); }, [tScale, tOffset, yScale, yOffset]);
147
188
  // transforms from pixels into x value. result passed into onClick function
148
- function XInverseTransform(x) {
149
- var xT = (x - tOffset) / tScale;
189
+ function XInverseTransform(p) {
190
+ var xT = (p - tOffset) / tScale;
150
191
  if (props.XAxisType === 'log')
151
- xT = (x - (offsetLeft - Math.log10(tDomain[0]) * ((SVGWidth - offsetLeft - offsetRight) / Math.abs(Math.log10(tDomain[1]) - Math.log10(tDomain[0]))))) / ((SVGWidth - offsetLeft - offsetRight) / Math.abs(Math.log10(tDomain[1]) - Math.log10(tDomain[0])));
192
+ xT = Math.pow(10, (p - tOffset) / tScale);
152
193
  return xT;
153
194
  }
154
195
  // transforms from pixels into y value. result passed into onClick function
155
- function YInverseTransform(y) {
156
- return (y - yOffset) / yScale;
196
+ function YInverseTransform(p) {
197
+ return (p - yOffset) / yScale;
157
198
  }
158
199
  function Reset() {
159
- setTdomain(props.defaultTdomain);
200
+ setTdomain(defaultTdomain);
201
+ if (defaultYdomain !== undefined && zoomMode !== 'AutoValue')
202
+ setYdomain(defaultYdomain);
160
203
  }
161
- // new X transformation function as defined in GraphContext
162
- function XTransformation(position) {
163
- var xT = position * tScale + tOffset;
204
+ // new X transformation from x value into Pixels
205
+ function XTransformation(value) {
206
+ var xT = value * tScale + tOffset;
164
207
  if (props.XAxisType === 'log')
165
- xT = (Math.log10(position) * ((SVGWidth - offsetLeft - offsetRight) / Math.abs(Math.ceil(Math.log10(tDomain[1])) - Math.floor(Math.log10(tDomain[0]))))) + (offsetLeft - Math.floor(Math.log10(tDomain[0])) * ((SVGWidth - offsetLeft - offsetRight) / Math.abs(Math.ceil(Math.log10(tDomain[1])) - Math.floor(Math.log10(tDomain[0])))));
208
+ xT = Math.log10(value) * tScale + tOffset;
166
209
  return xT;
167
210
  }
168
- // new Y transformation function as defined in GraphContext
169
- function YTransformation(position) {
170
- return position * yScale + yOffset;
211
+ // new Y transformation from y value into Pixels
212
+ function YTransformation(value) {
213
+ return value * yScale + yOffset;
171
214
  }
172
215
  function AddData(d) {
173
216
  var key = (0, helper_functions_1.CreateGuid)();
@@ -184,6 +227,8 @@ var Plot = function (props) {
184
227
  setData(function (fld) {
185
228
  var updated = (0, lodash_1.cloneDeep)(fld);
186
229
  var series = updated.get(key);
230
+ if (series === undefined)
231
+ return updated;
187
232
  series.legend = legend;
188
233
  updated.set(key, series);
189
234
  return updated;
@@ -191,14 +236,14 @@ var Plot = function (props) {
191
236
  }
192
237
  function RegisterSelect(handler) {
193
238
  var key = (0, helper_functions_1.CreateGuid)();
194
- setHandlers(function (fld) { var updated = (0, lodash_1.cloneDeep)(fld); updated.set(key, handler); return updated; });
239
+ handlers.current.set(key, handler);
195
240
  return key;
196
241
  }
197
242
  function RemoveSelect(key) {
198
- setHandlers(function (fld) { var updated = (0, lodash_1.cloneDeep)(fld); updated.delete(key); return updated; });
243
+ handlers.current.delete(key);
199
244
  }
200
245
  function UpdateSelect(key, handler) {
201
- setHandlers(function (fld) { var updated = (0, lodash_1.cloneDeep)(fld); updated.set(key, handler); return updated; });
246
+ handlers.current.set(key, handler);
202
247
  }
203
248
  function GetContext() {
204
249
  return {
@@ -210,22 +255,22 @@ var Plot = function (props) {
210
255
  Data: data,
211
256
  XTransformation: XTransformation,
212
257
  YTransformation: YTransformation,
258
+ XInverseTransformation: XInverseTransform,
259
+ YInverseTransformation: YInverseTransform,
213
260
  AddData: AddData,
214
261
  RemoveData: RemoveData,
215
262
  UpdateData: UpdateData,
216
263
  SetLegend: SetLegend,
217
264
  RegisterSelect: RegisterSelect,
218
265
  RemoveSelect: RemoveSelect,
219
- UpdateSelect: UpdateSelect
266
+ UpdateSelect: UpdateSelect,
267
+ UpdateFlag: updateFlag,
268
+ SetXDomain: setTdomain,
269
+ SetYDomain: setYdomain
220
270
  };
221
271
  }
222
272
  function setXHover(x) {
223
- var hov;
224
- if (props.XAxisType === 'log')
225
- hov = Math.pow(10, XInverseTransform(x));
226
- else
227
- hov = XTransformation(x);
228
- return hov;
273
+ return XInverseTransform(x);
229
274
  }
230
275
  function handleMouseWheel(evt) {
231
276
  if (props.zoom !== undefined && !props.zoom)
@@ -240,19 +285,34 @@ var Plot = function (props) {
240
285
  // event.deltaY positive is wheel down or out and negative is wheel up or in
241
286
  if (evt.deltaY < 0)
242
287
  multiplier = 0.75;
243
- var t0 = tDomain[0];
244
- var t1 = tDomain[1];
288
+ var x0 = XTransformation(tDomain[0]);
289
+ var x1 = XTransformation(tDomain[1]);
245
290
  if (mousePosition[0] < offsetLeft)
246
- t1 = multiplier * (t1 - t0) + t0;
291
+ x1 = multiplier * (x1 - x0) + x0;
247
292
  else if (mousePosition[0] > (SVGWidth - offsetRight))
248
- t0 = t1 - multiplier * (t1 - t0);
293
+ x0 = x1 - multiplier * (x1 - x0);
249
294
  else {
250
- var tcenter = mousePosition[0] * tScale + tOffset;
251
- t0 = tcenter - (tcenter - t0) * multiplier;
252
- t1 = tcenter + (t1 - tcenter) * multiplier;
295
+ var Xcenter = mousePosition[0];
296
+ x0 = Xcenter - (Xcenter - x0) * multiplier;
297
+ x1 = Xcenter + (x1 - Xcenter) * multiplier;
298
+ }
299
+ if ((x1 - x0) > 10)
300
+ setTdomain([XInverseTransform(x0), XInverseTransform(x1)]);
301
+ if (zoomMode === 'Rect') {
302
+ var y0 = YTransformation(yDomain[0]);
303
+ var y1 = YTransformation(yDomain[1]);
304
+ if (mousePosition[1] < offsetTop)
305
+ y1 = multiplier * (y1 - y0) + y0;
306
+ else if (mousePosition[1] > (SVGHeight - offsetBottom))
307
+ y0 = y1 - multiplier * (y1 - y0);
308
+ else {
309
+ var Ycenter = mousePosition[1];
310
+ y0 = Ycenter - (Ycenter - y0) * multiplier;
311
+ y1 = Ycenter + (y1 - Ycenter) * multiplier;
312
+ }
313
+ if (Math.abs(y1 - y0) > 10)
314
+ setYdomain([YInverseTransform(y0), YInverseTransform(y1)]);
253
315
  }
254
- if ((t1 - t0) > 10)
255
- setTdomain([t0, t1]);
256
316
  }
257
317
  function handleMouseMove(evt) {
258
318
  if (SVGref.current == null)
@@ -261,21 +321,9 @@ var Plot = function (props) {
261
321
  pt.x = evt.clientX;
262
322
  pt.y = evt.clientY;
263
323
  var ptTransform = pt.matrixTransform(SVGref.current.getScreenCTM().inverse());
264
- var dX;
265
- // Compute delta before getting new Mousposition
266
- {
267
- props.XAxisType === 'time' || props.XAxisType === undefined ?
268
- dX = mousePosition[0] - ptTransform.x :
269
- dX = Math.log10(mousePosition[0]) - ptTransform.x;
270
- }
271
324
  setMousePosition([ptTransform.x, ptTransform.y]);
272
325
  if (mouseMode === 'pan') {
273
- var dT = void 0;
274
- {
275
- props.XAxisType === 'time' || props.XAxisType === undefined ?
276
- dT = dX / tScale :
277
- dT = dX / ((SVGWidth - offsetLeft - offsetRight) / Math.abs(Math.ceil(Math.log10(tDomain[1])) - Math.floor(Math.log10(tDomain[0]))));
278
- }
326
+ var dT = XInverseTransform(mousePosition[0]) - XInverseTransform(ptTransform.X);
279
327
  setTdomain([tDomain[0] + dT, tDomain[1] + dT]);
280
328
  }
281
329
  }
@@ -292,9 +340,9 @@ var Plot = function (props) {
292
340
  if (selectedMode === 'pan' && (props.pan === undefined || props.pan))
293
341
  setMouseMode('pan');
294
342
  if (selectedMode === 'select' && props.onSelect !== undefined)
295
- props.onSelect((ptTransform.x - tOffset) / tScale);
296
- if (handlers.size > 0 && selectedMode === 'select')
297
- handlers.forEach(function (v) { return (v.onClick !== undefined ? v.onClick(XInverseTransform(ptTransform.x), YInverseTransform(ptTransform.y)) : null); });
343
+ props.onSelect(XInverseTransform(ptTransform.x));
344
+ if (handlers.current.size > 0 && selectedMode === 'select')
345
+ handlers.current.forEach(function (v) { return (v.onClick !== undefined ? v.onClick(XInverseTransform(ptTransform.x), YInverseTransform(ptTransform.y)) : null); });
298
346
  }
299
347
  function handleMouseUp(_) {
300
348
  if (mouseMode === 'zoom') {
@@ -302,20 +350,25 @@ var Plot = function (props) {
302
350
  setMouseMode('none');
303
351
  return;
304
352
  }
305
- var t0_1 = Math.min(mousePosition[0], mouseClick[0]) * tScale + tOffset;
306
- var t1_1 = Math.max(mousePosition[0], mouseClick[0]) * tScale + tOffset;
307
- setTdomain(function (curr) { return (Math.min(curr[1], t1_1) - Math.max(curr[0], t0_1)) > 10 ? [Math.max(curr[0], t0_1), Math.min(curr[1], t1_1)] : [curr[0], curr[1]]; });
353
+ var t0_1 = Math.min(XInverseTransform(mousePosition[0]), XInverseTransform(mouseClick[0]));
354
+ var t1_1 = Math.max(XInverseTransform(mousePosition[0]), XInverseTransform(mouseClick[0]));
355
+ setTdomain(function (curr) { return [Math.max(curr[0], t0_1), Math.min(curr[1], t1_1)]; });
356
+ if (zoomMode === 'Rect') {
357
+ var y0_1 = Math.min(YInverseTransform(mousePosition[1]), YInverseTransform(mouseClick[1]));
358
+ var y1_1 = Math.max(YInverseTransform(mousePosition[1]), YInverseTransform(mouseClick[1]));
359
+ setYdomain(function (curr) { return [Math.max(curr[0], y0_1), Math.min(curr[1], y1_1)]; });
360
+ }
308
361
  }
309
362
  setMouseMode('none');
310
- if (handlers.size > 0 && selectedMode === 'select')
311
- handlers.forEach(function (v) { return (v.onRelease !== undefined ? v.onRelease(mousePosition[0] * tScale + tOffset, mousePosition[1] * yScale + yOffset) : null); });
363
+ if (handlers.current.size > 0 && selectedMode === 'select')
364
+ handlers.current.forEach(function (v) { return (v.onRelease !== undefined ? v.onRelease(XTransformation(mousePosition[0]), YTransformation(mousePosition[1])) : null); });
312
365
  }
313
366
  function handleMouseOut(_) {
314
367
  setMouseIn(false);
315
368
  if (mouseMode === 'pan')
316
369
  setMouseMode('none');
317
- if (handlers.size > 0 && selectedMode === 'select')
318
- handlers.forEach(function (v) { return (v.onPlotLeave !== undefined ? v.onPlotLeave(mousePosition[0] * tScale + tOffset, mousePosition[1] * yScale + yOffset) : null); });
370
+ if (handlers.current.size > 0 && selectedMode === 'select')
371
+ handlers.current.forEach(function (v) { return (v.onPlotLeave !== undefined ? v.onPlotLeave(XTransformation(mousePosition[0]), YTransformation(mousePosition[1])) : null); });
319
372
  }
320
373
  function handleMouseIn(_) {
321
374
  setMouseIn(true);
@@ -323,7 +376,7 @@ var Plot = function (props) {
323
376
  return (React.createElement(GraphContext_1.GraphContext.Provider, { value: GetContext() },
324
377
  React.createElement("div", { style: { height: props.height, width: props.width, position: 'relative' } },
325
378
  React.createElement("div", { style: { height: SVGHeight, width: SVGWidth, position: 'absolute' }, onWheel: handleMouseWheel, onMouseMove: handleMouseMove, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onMouseLeave: handleMouseOut, onMouseEnter: handleMouseIn },
326
- React.createElement("svg", { ref: SVGref, width: SVGWidth, height: SVGHeight, style: SvgStyle, viewBox: "0 0 " + SVGWidth + " " + SVGHeight },
379
+ React.createElement("svg", { ref: SVGref, width: SVGWidth < 0 ? 0 : SVGWidth, height: SVGHeight < 0 ? 0 : SVGHeight, style: SvgStyle, viewBox: "0 0 " + (SVGWidth < 0 ? 0 : SVGWidth) + " " + (SVGHeight < 0 ? 0 : SVGHeight) },
327
380
  props.showBorder !== undefined && props.showBorder ? React.createElement("path", { stroke: 'black', d: "M " + offsetLeft + " " + offsetTop + " H " + (SVGWidth - offsetRight) + " V " + (SVGWidth - offsetBottom) + " H " + offsetLeft + " Z" }) : null,
328
381
  props.XAxisType === 'time' || props.XAxisType === undefined ?
329
382
  React.createElement(TimeAxis_1.default, { label: props.Tlabel, offsetBottom: offsetBottom, offsetLeft: offsetLeft, offsetRight: offsetRight, width: SVGWidth, height: SVGHeight, setHeight: setHeightXLabel, heightAxis: heightXLabel }) :
@@ -337,7 +390,8 @@ var Plot = function (props) {
337
390
  if (!React.isValidElement(element))
338
391
  return null;
339
392
  if (element.type === Line_1.default || element.type === LineWithThreshold_1.default ||
340
- element.type === HorizontalMarker_1.default || element.type === VerticalMarker_1.default)
393
+ element.type === HorizontalMarker_1.default || element.type === VerticalMarker_1.default
394
+ || element.type === Circle_1.default || element.type === AggregatingCircles_1.default)
341
395
  return element;
342
396
  return null;
343
397
  }),
@@ -345,9 +399,9 @@ var Plot = function (props) {
345
399
  React.createElement("path", { stroke: 'black', style: { strokeWidth: 2, opacity: mouseIn ? 0.8 : 0.0 }, d: "M " + mousePosition[0] + " " + offsetTop + " V " + (SVGHeight - offsetBottom) })
346
400
  : null,
347
401
  (props.zoom === undefined || props.zoom) && mouseMode === 'zoom' ?
348
- React.createElement("rect", { fillOpacity: 0.8, fill: 'black', x: Math.min(mouseClick[0], mousePosition[0]), y: offsetTop, width: Math.abs(mouseClick[0] - mousePosition[0]), height: SVGHeight - offsetTop - offsetBottom })
402
+ React.createElement("rect", { fillOpacity: 0.8, fill: 'black', x: Math.min(mouseClick[0], mousePosition[0]), y: zoomMode === 'Rect' ? Math.min(mouseClick[1], mousePosition[1]) : offsetTop, width: Math.abs(mouseClick[0] - mousePosition[0]), height: zoomMode === 'Rect' ? Math.abs(mouseClick[1] - mousePosition[1]) : (SVGHeight - offsetTop - offsetBottom) })
349
403
  : null),
350
- React.createElement(InteractiveButtons_1.default, { showPan: (props.pan === undefined || props.pan), showZoom: props.zoom === undefined || props.zoom, showReset: !(props.pan !== undefined && props.zoom !== undefined && !props.zoom && !props.pan), showSelect: props.onSelect !== undefined || handlers.size > 0, showDownload: props.onDataInspect !== undefined, currentSelection: selectedMode, setSelection: function (s) {
404
+ React.createElement(InteractiveButtons_1.default, { showPan: (props.pan === undefined || props.pan), showZoom: props.zoom === undefined || props.zoom, showReset: !(props.pan !== undefined && props.zoom !== undefined && !props.zoom && !props.pan), showSelect: props.onSelect !== undefined || handlers.current.size > 0, showDownload: props.onDataInspect !== undefined, currentSelection: selectedMode, setSelection: function (s) {
351
405
  if (s === "reset")
352
406
  Reset();
353
407
  else if (s === "download")
@@ -364,4 +418,4 @@ var Plot = function (props) {
364
418
  props.legend !== undefined && props.legend !== 'hidden' ? React.createElement(Legend_1.default, { location: props.legend, height: props.legendHeight !== undefined ? props.legendHeight : 50, width: props.legendWidth !== undefined ? props.legendWidth : 100, graphWidth: SVGWidth, graphHeight: SVGHeight }) : null)));
365
419
  };
366
420
  exports.default = Plot;
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QbG90LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLDJEQUFzRDtBQUN0RCwrQ0FBbUY7QUFDbkYsbUVBQTBEO0FBQzFELGlDQUEyQztBQUMzQyx1Q0FBa0M7QUFDbEMscUNBQWdDO0FBQ2hDLHlDQUFvQztBQUNwQyxtQ0FBOEI7QUFDOUIseURBQW9EO0FBQ3BELCtCQUEwQjtBQUMxQixtQ0FBOEI7QUFDOUIsdURBQWtEO0FBQ2xELG1EQUE4QztBQXlCOUMsSUFBTSxRQUFRLEdBQXdCO0lBQ2xDLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFLE1BQU07SUFDbEIsa0JBQWtCLEVBQUUsTUFBTTtJQUMxQixnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLFlBQVksRUFBRSxNQUFNO0lBQ3BCLGFBQWEsRUFBRSxNQUFNO0NBQ3hCLENBQUM7QUFFRixJQUFNLElBQUksR0FBb0MsVUFBQyxLQUFLO0lBQ2hEOztNQUVFO0lBQ0YsSUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUN2QyxJQUFNLElBQUksR0FBRyxL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
421
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QbG90LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLDJEQUFzRDtBQUN0RCwrQ0FBbUY7QUFDbkYsbUVBQTBEO0FBQzFELGlDQUEwQztBQUMxQyx1Q0FBa0M7QUFDbEMscUNBQWdDO0FBQ2hDLHlDQUFvQztBQUNwQyxtQ0FBOEI7QUFDOUIseURBQW9EO0FBQ3BELCtCQUEwQjtBQUMxQixtQ0FBOEI7QUFDOUIsdURBQWtEO0FBQ2xELG1EQUE4QztBQUM5QyxtQ0FBOEI7QUFDOUIsMkRBQXNEO0FBOEJ0RCxJQUFNLFFBQVEsR0FBd0I7SUFDbEMsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLEVBQUUsTUFBTTtJQUNsQixrQkFBa0IsRUFBRSxNQUFNO0lBQzFCLGdCQUFnQixFQUFFLE1BQU07SUFDeEIsZUFBZSxFQUFFLE1BQU07SUFDdkIsYUFBYSxFQUFFLE1BQU07SUFDckIsWUFBWSxFQUFFLE1BQU07SUFDcEIsYUFBYSxFQUFFLE1BQU07Q0FDeEIsQ0FBQztBQUVGLElBQU0sSUFBSSxHQUFvQyxVQUFDLEtBQUs7SUFDaEQ7O01BRUU7SUFDRixJQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQXdCLElBQUksR0FBRyxFQUFxQixDQUFDLENBQUM7SUFFbkYsSUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFNLE9BQUEsSUFBQSw2QkFBVSxHQUFFLEVBQVosQ0FBWSxFQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLElBQUEsS0FBQSxPQUFrQixLQUFLLENBQUMsUUFBUSxDQUEyQixJQUFJLEdBQUcsRUFBdUIsQ0FBQyxJQUFBLEVBQXpGLElBQUksUUFBQSxFQUFFLE9BQU8sUUFBNEUsQ0FBQztJQUUzRixJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBa0IsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFBLEVBQTVFLE9BQU8sUUFBQSxFQUFFLFVBQVUsUUFBeUQsQ0FBQztJQUM5RSxJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxDQUFDLENBQUMsSUFBQSxFQUFoRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQTZCLENBQUM7SUFDbEQsSUFBQSxLQUFBLE9BQXNCLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBOUMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUE2QixDQUFDO0lBRWhELElBQUEsS0FBQSxPQUF3QixLQUFLLENBQUMsUUFBUSxDQUFrQixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLEVBQTdELE9BQU8sUUFBQSxFQUFFLFVBQVUsUUFBMEMsQ0FBQztJQUMvRCxJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxDQUFDLENBQUMsSUFBQSxFQUFoRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQTZCLENBQUM7SUFDbEQsSUFBQSxLQUFBLE9BQXNCLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBOUMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUE2QixDQUFDO0lBRWhELElBQUEsS0FBQSxPQUE0QixLQUFLLENBQUMsUUFBUSxDQUFxQyxNQUFNLENBQUMsSUFBQSxFQUFyRixTQUFTLFFBQUEsRUFBRSxZQUFZLFFBQThELENBQUM7SUFDdkYsSUFBQSxLQUFBLE9BQWtDLEtBQUssQ0FBQyxRQUFRLENBQTRCLE1BQU0sQ0FBQyxJQUFBLEVBQWxGLFlBQVksUUFBQSxFQUFFLGVBQWUsUUFBcUQsQ0FBQztJQUNwRixJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxLQUFLLENBQUMsSUFBQSxFQUFyRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQWtDLENBQUM7SUFDdkQsSUFBQSxLQUFBLE9BQW9DLEtBQUssQ0FBQyxRQUFRLENBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsRUFBM0UsYUFBYSxRQUFBLEVBQUUsZ0JBQWdCLFFBQTRDLENBQUM7SUFDN0UsSUFBQSxLQUFBLE9BQThCLEtBQUssQ0FBQyxRQUFRLENBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsRUFBckUsVUFBVSxRQUFBLEVBQUUsYUFBYSxRQUE0QyxDQUFDO0lBRXZFLElBQUEsS0FBQSxPQUE0QixLQUFLLENBQUMsUUFBUSxDQUFTLEVBQUUsQ0FBQyxJQUFBLEVBQXJELFNBQVMsUUFBQSxFQUFFLFlBQVksUUFBOEIsQ0FBQztJQUN2RCxJQUFBLEtBQUEsT0FBa0MsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsSUFBQSxFQUEzRCxZQUFZLFFBQUEsRUFBRSxlQUFlLFFBQThCLENBQUM7SUFDN0QsSUFBQSxLQUFBLE9BQThCLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBdEQsVUFBVSxRQUFBLEVBQUUsYUFBYSxRQUE2QixDQUFDO0lBQ3hELElBQUEsS0FBQSxPQUFnQyxLQUFLLENBQUMsUUFBUSxDQUFTLENBQUMsQ0FBQyxJQUFBLEVBQXhELFdBQVcsUUFBQSxFQUFFLGNBQWMsUUFBNkIsQ0FBQztJQUUxRCxJQUFBLEtBQUEsT0FBb0MsS0FBSyxDQUFDLFFBQVEsQ0FBUyxDQUFDLENBQUMsSUFBQSxFQUE1RCxhQUFhLFFBQUEsRUFBRSxnQkFBZ0IsUUFBNkIsQ0FBQztJQUM5RCxJQUFBLEtBQUEsT0FBa0MsS0FBSyxDQUFDLFFBQVEsQ0FBUyxDQUFDLENBQUMsSUFBQSxFQUExRCxZQUFZLFFBQUEsRUFBRSxlQUFlLFFBQTZCLENBQUM7SUFDNUQsSUFBQSxLQUFBLE9BQWtDLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBMUQsWUFBWSxRQUFBLEVBQUUsZUFBZSxRQUE2QixDQUFDO0lBRWxFLDhEQUE4RDtJQUN4RCxJQUFBLEtBQUEsT0FBcUMsS0FBSyxDQUFDLFFBQVEsQ0FBbUIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFBLEVBQTFGLGNBQWMsUUFBQSxFQUFFLGlCQUFpQixRQUF5RCxDQUFDO0lBQzVGLElBQUEsS0FBQSxPQUFzQyxLQUFLLENBQUMsUUFBUSxDQUE2QixLQUFLLENBQUMsY0FBYyxDQUFDLElBQUEsRUFBckcsY0FBYyxRQUFBLEVBQUUsaUJBQWlCLFFBQW9FLENBQUM7SUFDdkcsSUFBQSxLQUFBLE9BQThCLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBdEQsVUFBVSxRQUFBLEVBQUUsYUFBYSxRQUE2QixDQUFDO0lBQzlELFlBQVk7SUFDWixJQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5SCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxSCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBRTVFLG1CQUFtQjtJQUNuQixLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUk7WUFDckQsVUFBVSxDQUFDLFVBQUMsQ0FBQyxZQUFLLE9BQUEsQ0FBQyxDQUFDLE1BQUEsS0FBSyxDQUFDLElBQUksbUNBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7UUFDOUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUk7WUFDckQsVUFBVSxDQUFDLFVBQUMsQ0FBQyxZQUFLLE9BQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFBLEtBQUssQ0FBQyxJQUFJLG1DQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7SUFDaEQsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUViLG1CQUFtQjtJQUNuQixLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUk7WUFDckQsVUFBVSxDQUFDLFVBQUMsQ0FBQyxZQUFLLE9BQUEsQ0FBQyxDQUFDLE1BQUEsS0FBSyxDQUFDLElBQUksbUNBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUk7WUFDckQsVUFBVSxDQUFDLFVBQUMsQ0FBQyxZQUFLLE9BQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFBLEtBQUssQ0FBQyxJQUFJLG1DQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7SUFDakQsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUViLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBQSxnQkFBTyxFQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQ2hELGlCQUFpQixDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtJQUUxQixLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUEsZ0JBQU8sRUFBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUNoRCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFHMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNkLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3QixDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO0lBRXBCLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFJLGNBQWMsS0FBSyxTQUFTLElBQUksUUFBUSxLQUFLLFdBQVc7WUFDMUQsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQzlCLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFFcEIsK0JBQStCO0lBQy9CLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFNLEdBQUcsR0FBRyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQy9CLElBQU0sTUFBTSxHQUFHLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDakMsSUFBSSxTQUFTLEtBQUssR0FBRztZQUNuQixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxZQUFZLEtBQUssTUFBTTtZQUN6QixlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxFQUFDLENBQUMsWUFBWSxFQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7SUFFL0IsK0JBQStCO0lBQy9CLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFNLElBQUksR0FBRyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQy9CLElBQU0sS0FBSyxHQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLFVBQVUsS0FBSyxJQUFJO1lBQ3JCLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLFdBQVcsS0FBSyxLQUFLO1lBQ3ZCLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRW5CLGtCQUFrQjtJQUNsQixLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2hCLElBQUksUUFBUSxLQUFLLFdBQVcsRUFBRTtZQUM1QixJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxPQUFSLElBQUksMkJBQVEseUJBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFFLEdBQUcsQ0FBQyxVQUFBLE1BQU0sWUFBSSxPQUFBLE1BQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUNBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQSxFQUFBLENBQUMsVUFBQyxDQUFDO1lBQ3ZHLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLE9BQVIsSUFBSSwyQkFBUSx5QkFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQUUsR0FBRyxDQUFDLFVBQUEsTUFBTSxZQUFJLE9BQUEsTUFBQSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQ0FBSSxNQUFNLENBQUMsU0FBUyxDQUFBLEVBQUEsQ0FBQyxVQUFDLENBQUM7WUFDdkcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDaEUsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDOUI7SUFDRixDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVuQixnQkFBZ0I7SUFDaEIsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNmLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLElBQUksRUFBRSxLQUFLLENBQUM7WUFDVixPQUFPO1FBRVQsSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUM3QixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBTSxLQUFLLEdBQUcsQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUV6RCxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsVUFBVSxDQUFDLFVBQVUsR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFFLENBQUM7SUFDMUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFeEQsZ0JBQWdCO0lBQ2hCLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLElBQU0sS0FBSyxHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEYsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsVUFBVSxDQUFDLFNBQVMsR0FBRyxZQUFZLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUV2QyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQVEsYUFBYSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxHQUFDLENBQUMsRUFBSCxDQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDckYsNEVBQTRFO0lBQzVFLFNBQVMsaUJBQWlCLENBQUMsQ0FBUztRQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDaEMsSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLEtBQUs7WUFDM0IsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELDJFQUEyRTtJQUMzRSxTQUFTLGlCQUFpQixDQUFDLENBQVM7UUFDbEMsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVMsS0FBSztRQUNWLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQixJQUFJLGNBQWMsS0FBSyxTQUFTLElBQUksUUFBUSxLQUFLLFdBQVc7WUFDMUQsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxnREFBZ0Q7SUFDaEQsU0FBUyxlQUFlLENBQUMsS0FBYTtRQUNwQyxJQUFJLEVBQUUsR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUNsQyxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssS0FBSztZQUMzQixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQzVDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxTQUFTLGVBQWUsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsT0FBTyxDQUFDLENBQWM7UUFDN0IsSUFBTSxHQUFHLEdBQUcsSUFBQSw2QkFBVSxHQUFFLENBQUM7UUFDekIsT0FBTyxDQUFDLFVBQUMsR0FBRyxJQUFPLElBQU0sT0FBTyxHQUFHLElBQUEsa0JBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxTQUFTLFVBQVUsQ0FBQyxHQUFXLEVBQUUsQ0FBYztRQUM3QyxPQUFPLENBQUMsVUFBQyxHQUFHLElBQU8sSUFBTSxPQUFPLEdBQUcsSUFBQSxrQkFBUyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxTQUFTLFVBQVUsQ0FBQyxDQUFTO1FBQ3pCLE9BQU8sQ0FBQyxVQUFDLEdBQUcsSUFBTyxJQUFNLE9BQU8sR0FBRyxJQUFBLGtCQUFTLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUMzRixDQUFDO0lBRUQsU0FBUyxTQUFTLENBQUMsR0FBVyxFQUFFLE1BQWdEO1FBQzVFLE9BQU8sQ0FBQyxVQUFDLEdBQUc7WUFDVixJQUFNLE9BQU8sR0FBRyxJQUFBLGtCQUFTLEVBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLE1BQU0sS0FBSyxTQUFTO2dCQUN0QixPQUFPLE9BQU8sQ0FBQztZQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFPLENBQUMsQ0FBQztZQUMxQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFrQjtRQUN4QyxJQUFNLEdBQUcsR0FBRyxJQUFBLDZCQUFVLEdBQUUsQ0FBQztRQUN6QixRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7UUFDakMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsU0FBUyxZQUFZLENBQUMsR0FBVztRQUMvQixRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsU0FBUyxZQUFZLENBQUMsR0FBVyxFQUFDLE9BQWtCO1FBQ2xELFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsU0FBUyxVQUFVO1FBQ2pCLE9BQU87WUFDSCxPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsT0FBTyxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7WUFDbEQsTUFBTSxFQUFFLE9BQU8sQ0FBQSxDQUFDLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO1lBQ3hELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLElBQUksRUFBRSxJQUFJO1lBQ1YsZUFBZSxpQkFBQTtZQUNmLGVBQWUsaUJBQUE7WUFDZixzQkFBc0IsRUFBRSxpQkFBaUI7WUFDekMsc0JBQXNCLEVBQUUsaUJBQWlCO1lBQ3pDLE9BQU8sU0FBQTtZQUNQLFVBQVUsWUFBQTtZQUNWLFVBQVUsWUFBQTtZQUNWLFNBQVMsV0FBQTtZQUNULGNBQWMsZ0JBQUE7WUFDZCxZQUFZLGNBQUE7WUFDWixZQUFZLGNBQUE7WUFDWixVQUFVLEVBQUUsVUFBVTtZQUN0QixVQUFVLEVBQUUsVUFBVTtZQUN0QixVQUFVLEVBQUUsVUFBVTtTQUNSLENBQUE7SUFDcEIsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLENBQVM7UUFDMUIsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFRO1FBQzVCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUN2QyxPQUFPO1FBQ1gsSUFBSSxDQUFDLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQztZQUMxQixPQUFPO1FBQ1gsSUFBSSxDQUFDLE9BQU87WUFDUixPQUFPO1FBRVgsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVyQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFdEIsNEVBQTRFO1FBQzVFLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV0QyxJQUFJLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxFQUFFLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVU7WUFDN0IsRUFBRSxHQUFHLFVBQVUsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7YUFFaEMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1lBQ2hELEVBQUUsR0FBRyxFQUFFLEdBQUcsVUFBVSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBRWhDO1lBQ0QsSUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQzNDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDO1NBQzlDO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQ2QsVUFBVSxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTVELElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRTtZQUN2QixJQUFJLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxFQUFFLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXJDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVM7Z0JBQzVCLEVBQUUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUVoQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUM7Z0JBQ2xELEVBQUUsR0FBRyxFQUFFLEdBQUcsVUFBVSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUVoQztnQkFDRCxJQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2dCQUMzQyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUM5QztZQUVELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDdEIsVUFBVSxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzdEO0lBQ0wsQ0FBQztJQUVILFNBQVMsZUFBZSxDQUFDLEdBQVE7UUFDL0IsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDeEIsT0FBTztRQUNULElBQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUNuQixJQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVqRixnQkFBZ0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFaEQsSUFBSSxTQUFTLEtBQUssS0FBSyxFQUFFO1lBQ3JCLElBQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRixVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUVELFNBQVMsZUFBZSxDQUFDLEdBQVE7UUFDL0IsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDeEIsT0FBTztRQUVQLElBQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUNuQixJQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNoRixhQUFhLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlDLElBQUksWUFBWSxLQUFLLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDbkUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksWUFBWSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDaEUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksWUFBWSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVM7WUFDM0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxZQUFZLEtBQUssUUFBUTtZQUN4RCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBL0csQ0FBK0csQ0FBQyxDQUFDO0lBRXZKLENBQUM7SUFFRCxTQUFTLGFBQWEsQ0FBQyxDQUFNO1FBQ3pCLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUV0QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDakQsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNyQixPQUFPO2FBQ1Y7WUFFRCxJQUFNLElBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0YsSUFBTSxJQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTNGLFVBQVUsQ0FBQyxVQUFDLElBQUksSUFBTSxPQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLENBQUMsRUFBOUMsQ0FBOEMsQ0FBQyxDQUFDO1lBRXRFLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDdkIsSUFBTSxJQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRixJQUFNLElBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNGLFVBQVUsQ0FBQyxVQUFDLElBQUksSUFBTSxPQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxDQUFDLENBQUMsRUFBOUMsQ0FBOEMsQ0FBQyxDQUFBO2FBQ3RFO1NBQ0o7UUFDRCxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksWUFBWSxLQUFLLFFBQVE7WUFDeEQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQXJILENBQXFILENBQUMsQ0FBQztJQUU3SixDQUFDO0lBRUQsU0FBUyxjQUFjLENBQUMsQ0FBTTtRQUMxQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsSUFBSSxTQUFTLEtBQUssS0FBSztZQUNuQixZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksWUFBWSxLQUFLLFFBQVE7WUFDeEQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQXpILENBQXlILENBQUMsQ0FBQztJQUVqSyxDQUFDO0lBRUQsU0FBUyxhQUFhLENBQUMsQ0FBTTtRQUN6QixVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU8sQ0FDTCxvQkFBQywyQkFBWSxDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1FBQ3RDLDZCQUFLLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7WUFDMUUsNkJBQUssS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWE7Z0JBQzFLLDZCQUFLLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDekYsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBTyxRQUFRLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsV0FBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBRTtvQkFDM0YsS0FBSyxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsOEJBQU8sTUFBTSxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUUsT0FBSyxVQUFVLFNBQUksU0FBUyxZQUFNLFFBQVEsR0FBRSxXQUFXLGFBQU0sUUFBUSxHQUFHLFlBQVksWUFBTSxVQUFVLE9BQUksR0FBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO29CQUNoTSxLQUFLLENBQUMsU0FBUyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO3dCQUMvRCxvQkFBQyxrQkFBUSxJQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxZQUFZLEdBQUcsQ0FBQyxDQUFDO3dCQUMxTSxvQkFBQyxpQkFBTyxJQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksR0FBRztvQkFDdlAsb0JBQUMsbUJBQVMsSUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUMxSixLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQ3BHLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixLQUFLLFNBQVMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUc7b0JBQzlIO3dCQUNJLGtDQUFVLEVBQUUsRUFBRSxLQUFLLEdBQUcsSUFBSTs0QkFDdEIsOEJBQU0sTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFNLFVBQVUsVUFBSSxTQUFTLEdBQUcsQ0FBQyxjQUFPLFFBQVEsR0FBRyxXQUFXLEdBQUcsQ0FBQyxhQUFNLFNBQVMsR0FBRyxZQUFZLFlBQU0sVUFBVSxPQUFJLEdBQUksQ0FDeEosQ0FDUjtvQkFFUCwyQkFBRyxRQUFRLEVBQUUsVUFBVSxHQUFHLElBQUksR0FBRyxHQUFHO3dCQUNoQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQUMsT0FBTzs0QkFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO2dDQUM5QixPQUFPLElBQUksQ0FBQzs0QkFDaEIsSUFBSyxPQUFtQyxDQUFDLElBQUksS0FBSyxjQUFJLElBQUssT0FBbUMsQ0FBQyxJQUFJLEtBQUssMkJBQWlCO2dDQUN4SCxPQUFtQyxDQUFDLElBQUksS0FBSywwQkFBZ0IsSUFBSyxPQUFtQyxDQUFDLElBQUksS0FBSyx3QkFBYzttQ0FDMUgsT0FBbUMsQ0FBQyxJQUFJLEtBQUssZ0JBQU0sSUFBSyxPQUFtQyxDQUFDLElBQUksS0FBSyw0QkFBa0I7Z0NBRXZILE9BQU8sT0FBTyxDQUFDOzRCQUNuQixPQUFPLElBQUksQ0FBQzt3QkFDaEIsQ0FBQyxDQUFDO3dCQUNQLEtBQUssQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzs0QkFDOUMsOEJBQU0sTUFBTSxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFJLFNBQVMsWUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFFLEdBQUk7NEJBQ3JKLENBQUMsQ0FBQyxJQUFJO3dCQUNULENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsS0FBSyxNQUFNLENBQUMsQ0FBQzs0QkFDL0QsOEJBQU0sV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEYsQ0FBQyxFQUFFLFFBQVEsS0FBSyxNQUFNLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQzdFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDakQsTUFBTSxFQUFFLFFBQVEsS0FBSyxNQUFNLENBQUEsQ0FBQyxDQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUk7NEJBQ3RILENBQUMsQ0FBQyxJQUFJLENBQ1Y7b0JBQ0gsb0JBQUMsNEJBQWtCLElBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUNsRSxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksRUFDaEQsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQzlGLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQ3JFLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFDL0MsZ0JBQWdCLEVBQUUsWUFBWSxFQUM5QixZQUFZLEVBQUUsVUFBQyxDQUFDOzRCQUNkLElBQUksQ0FBQyxLQUFLLE9BQU87Z0NBQUUsS0FBSyxFQUFFLENBQUM7aUNBQ3RCLElBQUksQ0FBQyxLQUFLLFVBQVU7Z0NBQUUsS0FBSyxDQUFDLGFBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Z0NBQ3BELGVBQWUsQ0FBQyxDQUE0QixDQUFDLENBQUE7d0JBQUEsQ0FBQyxFQUNyRCxDQUFDLEVBQUUsUUFBUSxHQUFHLFdBQVcsR0FBRyxFQUFFLEVBQzlCLENBQUMsRUFBRSxFQUFFLElBQ0osS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFDLE9BQU87d0JBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQzs0QkFDOUIsT0FBTyxJQUFJLENBQUM7d0JBQ2hCLElBQUssT0FBbUMsQ0FBQyxJQUFJLEtBQUssZ0JBQU07NEJBQ3BELE9BQU8sT0FBTyxDQUFDO3dCQUNuQixPQUFPLElBQUksQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLENBQ1ksQ0FFckIsQ0FDSjtZQUNQLEtBQUssQ0FBQyxNQUFNLEtBQU0sU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxvQkFBQyxnQkFBTSxJQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsR0FBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2xSLENBQ2EsQ0FDM0IsQ0FBQTtBQUVILENBQUMsQ0FBQTtBQUdELGtCQUFlLElBQUksQ0FBQyJ9
package/lib/index.d.ts CHANGED
@@ -4,4 +4,6 @@ import LineWithThreshold from './LineWithThreshold';
4
4
  import HorizontalMarker from './HorizontalMarker';
5
5
  import Button from './Button';
6
6
  import VerticalMarker from './VerticalMarker';
7
- export { Plot, Line, LineWithThreshold, Button, HorizontalMarker, VerticalMarker };
7
+ import AggregatingCircles from './AggregatingCircles';
8
+ import Circle from './Circle';
9
+ export { Plot, Line, LineWithThreshold, Button, HorizontalMarker, VerticalMarker, Circle, AggregatingCircles };
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VerticalMarker = exports.HorizontalMarker = exports.Button = exports.LineWithThreshold = exports.Line = exports.Plot = void 0;
3
+ exports.AggregatingCircles = exports.Circle = exports.VerticalMarker = exports.HorizontalMarker = exports.Button = exports.LineWithThreshold = exports.Line = exports.Plot = void 0;
4
4
  var Plot_1 = require("./Plot");
5
5
  exports.Plot = Plot_1.default;
6
6
  var Line_1 = require("./Line");
@@ -13,4 +13,8 @@ var Button_1 = require("./Button");
13
13
  exports.Button = Button_1.default;
14
14
  var VerticalMarker_1 = require("./VerticalMarker");
15
15
  exports.VerticalMarker = VerticalMarker_1.default;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBCO0FBT2pCLGVBUEYsY0FBSSxDQU9FO0FBTmIsK0JBQTBCO0FBTVgsZUFOUixjQUFJLENBTVE7QUFMbkIseURBQW9EO0FBSy9CLDRCQUxkLDJCQUFpQixDQUtjO0FBSnRDLHVEQUFrRDtBQUlGLDJCQUp6QywwQkFBZ0IsQ0FJeUM7QUFIaEUsbUNBQThCO0FBR1UsaUJBSGpDLGdCQUFNLENBR2lDO0FBRjlDLG1EQUE4QztBQUVvQix5QkFGM0Qsd0JBQWMsQ0FFMkQifQ==
16
+ var AggregatingCircles_1 = require("./AggregatingCircles");
17
+ exports.AggregatingCircles = AggregatingCircles_1.default;
18
+ var Circle_1 = require("./Circle");
19
+ exports.Circle = Circle_1.default;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBCO0FBVXRCLGVBVkcsY0FBSSxDQVVIO0FBVFIsK0JBQTBCO0FBVXRCLGVBVkcsY0FBSSxDQVVIO0FBVFIseURBQW9EO0FBVWhELDRCQVZHLDJCQUFpQixDQVVIO0FBVHJCLHVEQUFrRDtBQVc5QywyQkFYRywwQkFBZ0IsQ0FXSDtBQVZwQixtQ0FBOEI7QUFTMUIsaUJBVEcsZ0JBQU0sQ0FTSDtBQVJWLG1EQUE4QztBQVUxQyx5QkFWRyx3QkFBYyxDQVVIO0FBVGxCLDJEQUFzRDtBQVdsRCw2QkFYRyw0QkFBa0IsQ0FXSDtBQVZ0QixtQ0FBOEI7QUFTMUIsaUJBVEcsZ0JBQU0sQ0FTSCJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gpa-gemstone/react-graph",
3
- "version": "1.0.24",
3
+ "version": "1.0.26",
4
4
  "description": "Interactive UI Components for GPA products",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -48,8 +48,8 @@
48
48
  "typescript": "4.4.4"
49
49
  },
50
50
  "dependencies": {
51
- "@gpa-gemstone/gpa-symbols": "0.0.23",
52
- "@gpa-gemstone/helper-functions": "0.0.17",
51
+ "@gpa-gemstone/gpa-symbols": "0.0.24",
52
+ "@gpa-gemstone/helper-functions": "0.0.18",
53
53
  "lodash": "^4.17.21",
54
54
  "moment": "^2.29.4",
55
55
  "react": "^18.2.0"