@kiwibit/chart 18.0.2 → 20.0.0
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/CHANGELOG.md +164 -0
- package/README.md +8 -0
- package/karma.conf.js +44 -0
- package/ng-package.json +10 -0
- package/package.json +15 -26
- package/src/lib/components/chart.component.ts +76 -0
- package/src/lib/constants/chart.constants.ts +5 -0
- package/src/lib/directives/kiwi-chart.directive.ts +488 -0
- package/{lib/models/chart.models.d.ts → src/lib/models/chart.models.ts} +183 -173
- package/src/public-api.ts +6 -0
- package/src/test.ts +15 -0
- package/tsconfig.lib.json +15 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/esm2022/kiwibit-chart.mjs +0 -5
- package/esm2022/lib/components/chart.component.mjs +0 -97
- package/esm2022/lib/constants/chart.constants.mjs +0 -6
- package/esm2022/lib/directives/kiwi-chart.directive.mjs +0 -452
- package/esm2022/lib/models/chart.models.mjs +0 -28
- package/esm2022/public-api.mjs +0 -6
- package/fesm2022/kiwibit-chart.mjs +0 -587
- package/fesm2022/kiwibit-chart.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/chart.component.d.ts +0 -52
- package/lib/constants/chart.constants.d.ts +0 -5
- package/lib/directives/kiwi-chart.directive.d.ts +0 -102
- package/public-api.d.ts +0 -2
|
@@ -1,173 +1,183 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interface to define the Chart model.
|
|
3
|
-
*
|
|
4
|
-
* @export
|
|
5
|
-
* @interface Chart
|
|
6
|
-
*/
|
|
7
|
-
export interface Chart {
|
|
8
|
-
title: string;
|
|
9
|
-
showLegend?: boolean;
|
|
10
|
-
xAxisType: AxisType;
|
|
11
|
-
xAxisName: string;
|
|
12
|
-
xAxisUom?: string;
|
|
13
|
-
xMin?: number;
|
|
14
|
-
xMax?: number;
|
|
15
|
-
yAxisType: AxisType;
|
|
16
|
-
yAxisName: string;
|
|
17
|
-
yAxisUom?: string;
|
|
18
|
-
yMin?: number;
|
|
19
|
-
yMax?: number;
|
|
20
|
-
/**
|
|
21
|
-
* The maximum decimals that can have the values on the x and y axes.
|
|
22
|
-
* If omitted the default is 3 decimals.
|
|
23
|
-
*
|
|
24
|
-
* @type {number}
|
|
25
|
-
* @memberof Chart
|
|
26
|
-
*/
|
|
27
|
-
maxAxesDecimals?: number;
|
|
28
|
-
/**
|
|
29
|
-
* If the chart should have rendering animations.
|
|
30
|
-
*
|
|
31
|
-
* @type {boolean}
|
|
32
|
-
* @memberof Chart
|
|
33
|
-
*/
|
|
34
|
-
hasAnimations?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* How long the animation should last.
|
|
37
|
-
* Expressed in milliseconds. If omitted the Default is 500 ms.
|
|
38
|
-
*
|
|
39
|
-
* @type {number}
|
|
40
|
-
* @memberof Chart
|
|
41
|
-
*/
|
|
42
|
-
animationDuration?: number;
|
|
43
|
-
/**
|
|
44
|
-
* The list of Shapes that the chart must render.
|
|
45
|
-
* Each Shape corrisponds to a single chart component.
|
|
46
|
-
*
|
|
47
|
-
* @type {Shape[]}
|
|
48
|
-
* @memberof Chart
|
|
49
|
-
*/
|
|
50
|
-
shapes: Shape[];
|
|
51
|
-
/**
|
|
52
|
-
* Adds interaction with the chart, so that when clicking
|
|
53
|
-
* everywhere in the chart area a point gets added and it's coordinate are
|
|
54
|
-
* emitted with an event to the parent component.
|
|
55
|
-
*
|
|
56
|
-
* @type {boolean}
|
|
57
|
-
* @memberof Chart
|
|
58
|
-
*/
|
|
59
|
-
clickToAddPoint?: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Custom name for the "clickToAddPoint" event related button.
|
|
62
|
-
*
|
|
63
|
-
* @type {string}
|
|
64
|
-
* @memberof Chart
|
|
65
|
-
*/
|
|
66
|
-
addPointCustomName?: string;
|
|
67
|
-
/**
|
|
68
|
-
* Adds the possibility to use the scroll
|
|
69
|
-
* to zoom in/out the chart area.
|
|
70
|
-
*
|
|
71
|
-
* @type {boolean}
|
|
72
|
-
* @memberof Chart
|
|
73
|
-
*/
|
|
74
|
-
scrollToZoom?: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Tells the chart to render or not the grid lines.
|
|
77
|
-
*
|
|
78
|
-
* @type {boolean}
|
|
79
|
-
* @memberof Chart
|
|
80
|
-
*/
|
|
81
|
-
showGrid?: boolean;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
*
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
export
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Interface to define the Chart model.
|
|
3
|
+
*
|
|
4
|
+
* @export
|
|
5
|
+
* @interface Chart
|
|
6
|
+
*/
|
|
7
|
+
export interface Chart {
|
|
8
|
+
title: string;
|
|
9
|
+
showLegend?: boolean;
|
|
10
|
+
xAxisType: AxisType;
|
|
11
|
+
xAxisName: string;
|
|
12
|
+
xAxisUom?: string;
|
|
13
|
+
xMin?: number;
|
|
14
|
+
xMax?: number;
|
|
15
|
+
yAxisType: AxisType;
|
|
16
|
+
yAxisName: string;
|
|
17
|
+
yAxisUom?: string;
|
|
18
|
+
yMin?: number;
|
|
19
|
+
yMax?: number;
|
|
20
|
+
/**
|
|
21
|
+
* The maximum decimals that can have the values on the x and y axes.
|
|
22
|
+
* If omitted the default is 3 decimals.
|
|
23
|
+
*
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof Chart
|
|
26
|
+
*/
|
|
27
|
+
maxAxesDecimals?: number;
|
|
28
|
+
/**
|
|
29
|
+
* If the chart should have rendering animations.
|
|
30
|
+
*
|
|
31
|
+
* @type {boolean}
|
|
32
|
+
* @memberof Chart
|
|
33
|
+
*/
|
|
34
|
+
hasAnimations?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* How long the animation should last.
|
|
37
|
+
* Expressed in milliseconds. If omitted the Default is 500 ms.
|
|
38
|
+
*
|
|
39
|
+
* @type {number}
|
|
40
|
+
* @memberof Chart
|
|
41
|
+
*/
|
|
42
|
+
animationDuration?: number;
|
|
43
|
+
/**
|
|
44
|
+
* The list of Shapes that the chart must render.
|
|
45
|
+
* Each Shape corrisponds to a single chart component.
|
|
46
|
+
*
|
|
47
|
+
* @type {Shape[]}
|
|
48
|
+
* @memberof Chart
|
|
49
|
+
*/
|
|
50
|
+
shapes: Shape[];
|
|
51
|
+
/**
|
|
52
|
+
* Adds interaction with the chart, so that when clicking
|
|
53
|
+
* everywhere in the chart area a point gets added and it's coordinate are
|
|
54
|
+
* emitted with an event to the parent component.
|
|
55
|
+
*
|
|
56
|
+
* @type {boolean}
|
|
57
|
+
* @memberof Chart
|
|
58
|
+
*/
|
|
59
|
+
clickToAddPoint?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Custom name for the "clickToAddPoint" event related button.
|
|
62
|
+
*
|
|
63
|
+
* @type {string}
|
|
64
|
+
* @memberof Chart
|
|
65
|
+
*/
|
|
66
|
+
addPointCustomName?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Adds the possibility to use the scroll
|
|
69
|
+
* to zoom in/out the chart area.
|
|
70
|
+
*
|
|
71
|
+
* @type {boolean}
|
|
72
|
+
* @memberof Chart
|
|
73
|
+
*/
|
|
74
|
+
scrollToZoom?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Tells the chart to render or not the grid lines.
|
|
77
|
+
*
|
|
78
|
+
* @type {boolean}
|
|
79
|
+
* @memberof Chart
|
|
80
|
+
*/
|
|
81
|
+
showGrid?: boolean;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export type Shape = Trace;
|
|
85
|
+
|
|
86
|
+
export interface Trace {
|
|
87
|
+
name?: string;
|
|
88
|
+
/**
|
|
89
|
+
* The variant of the Shape, must be of type Trace.
|
|
90
|
+
*
|
|
91
|
+
* @type {ShapeVariant}
|
|
92
|
+
* @memberof Trace
|
|
93
|
+
*/
|
|
94
|
+
variant: ShapeVariant;
|
|
95
|
+
color?: string;
|
|
96
|
+
/**
|
|
97
|
+
* The type of the Trace drawn by the chart.
|
|
98
|
+
* Can be a line or a scatter.
|
|
99
|
+
*
|
|
100
|
+
* @type {TraceType}
|
|
101
|
+
* @memberof Trace
|
|
102
|
+
*/
|
|
103
|
+
type: TraceType;
|
|
104
|
+
width?: number;
|
|
105
|
+
/**
|
|
106
|
+
* The list of points that define the Trace.
|
|
107
|
+
*
|
|
108
|
+
* @type {Point[]}
|
|
109
|
+
* @memberof Trace
|
|
110
|
+
*/
|
|
111
|
+
points: Point[];
|
|
112
|
+
/**
|
|
113
|
+
* Whether to show a smooth curve or a segmented curve.
|
|
114
|
+
*
|
|
115
|
+
* @type {boolean}
|
|
116
|
+
* @memberof Trace
|
|
117
|
+
*/
|
|
118
|
+
smooth?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* The style of the Trace.
|
|
121
|
+
* Can be solid, dashed or dotted.
|
|
122
|
+
*
|
|
123
|
+
* @type {TraceStyle}
|
|
124
|
+
* @memberof Trace
|
|
125
|
+
*/
|
|
126
|
+
style?: TraceStyle;
|
|
127
|
+
/**
|
|
128
|
+
* Option to make the Trace selected/deselected by default.
|
|
129
|
+
* A deselected Trace is obscured from the chart and can be toggled from the legend.
|
|
130
|
+
*
|
|
131
|
+
* @type {boolean}
|
|
132
|
+
* @memberof Trace
|
|
133
|
+
*/
|
|
134
|
+
selectedByDefault?: boolean;
|
|
135
|
+
opacity?: number;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface Point extends BasePoint {
|
|
139
|
+
name?: string;
|
|
140
|
+
/**
|
|
141
|
+
* Symbol used to represent the point in the chart.
|
|
142
|
+
*
|
|
143
|
+
* @type {PointSymbol}
|
|
144
|
+
* @memberof Point
|
|
145
|
+
*/
|
|
146
|
+
symbol?: PointSymbol;
|
|
147
|
+
symbolSize?: number;
|
|
148
|
+
color?: string;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface BasePoint {
|
|
152
|
+
x: number;
|
|
153
|
+
y: number
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export enum TraceType {
|
|
157
|
+
LINE = "line",
|
|
158
|
+
SCATTER = "scatter"
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export enum PointSymbol {
|
|
162
|
+
NONE = "none",
|
|
163
|
+
CIRCLE = "circle",
|
|
164
|
+
TRIANGLE = "triangle",
|
|
165
|
+
PIN = "pin",
|
|
166
|
+
DIAMOND = "diamond"
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export enum TraceStyle {
|
|
170
|
+
SOLID = "solid",
|
|
171
|
+
DASHED = "dashed",
|
|
172
|
+
DOTTED = "dotted"
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export enum AxisType {
|
|
176
|
+
VALUE = "value"
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export enum ShapeVariant {
|
|
180
|
+
TRACE
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export type ChartTheme = 'default' | 'dark';
|
package/src/test.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
2
|
+
|
|
3
|
+
import 'zone.js';
|
|
4
|
+
import 'zone.js/testing';
|
|
5
|
+
import { getTestBed } from '@angular/core/testing';
|
|
6
|
+
import {
|
|
7
|
+
BrowserDynamicTestingModule,
|
|
8
|
+
platformBrowserDynamicTesting
|
|
9
|
+
} from '@angular/platform-browser-dynamic/testing';
|
|
10
|
+
|
|
11
|
+
// First, initialize the Angular testing environment.
|
|
12
|
+
getTestBed().initTestEnvironment(
|
|
13
|
+
BrowserDynamicTestingModule,
|
|
14
|
+
platformBrowserDynamicTesting(),
|
|
15
|
+
);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../../out-tsc/lib",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"declarationMap": true,
|
|
8
|
+
"inlineSources": true,
|
|
9
|
+
"types": []
|
|
10
|
+
},
|
|
11
|
+
"exclude": [
|
|
12
|
+
"src/test.ts",
|
|
13
|
+
"**/*.spec.ts"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../../out-tsc/spec",
|
|
6
|
+
"types": [
|
|
7
|
+
"jasmine"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"src/test.ts"
|
|
12
|
+
],
|
|
13
|
+
"include": [
|
|
14
|
+
"**/*.spec.ts",
|
|
15
|
+
"**/*.d.ts"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l3aWJpdC1jaGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpd2liaXQvY2hhcnQvc3JjL2tpd2liaXQtY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
// Angular General
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { KiwiChartDirective } from '../directives/kiwi-chart.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class KiwiChartComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
/**
|
|
8
|
-
* The Chart Object rendered by the canvas. For all the available options refer
|
|
9
|
-
* to Chart interface in the models folder.
|
|
10
|
-
*
|
|
11
|
-
* @type {(Chart | null)}
|
|
12
|
-
* @memberof KiwiChartComponent
|
|
13
|
-
*/
|
|
14
|
-
this.chart = null;
|
|
15
|
-
/**
|
|
16
|
-
* Width and Height of the chart area. The dimensions refer to the father component
|
|
17
|
-
* into which the kiwi-chart is inserted. For example in an empty page the width/height
|
|
18
|
-
* of the chart can take the whole available space in the page.
|
|
19
|
-
*
|
|
20
|
-
* @type {string}
|
|
21
|
-
* @memberof KiwiChartComponent
|
|
22
|
-
*/
|
|
23
|
-
this.width = '100%';
|
|
24
|
-
this.height = '480px';
|
|
25
|
-
/**
|
|
26
|
-
* This property simply activates or not the dark theme of the chart
|
|
27
|
-
* defined by the Echarts library. In addition the background color can be custom
|
|
28
|
-
* so that the chart can match the background of the application in which it's used.
|
|
29
|
-
*
|
|
30
|
-
* @type {boolean}
|
|
31
|
-
* @memberof KiwiChartComponent
|
|
32
|
-
*/
|
|
33
|
-
this.darkTheme = false;
|
|
34
|
-
this.darkThemeBackground = null;
|
|
35
|
-
/**
|
|
36
|
-
* Output event used to emit to the father component the coordinates
|
|
37
|
-
* of the point clicked in the chart area. This functionality to be used must
|
|
38
|
-
* have the property "clickToAddPoint" in the Chart object set to true.
|
|
39
|
-
*
|
|
40
|
-
* @type {EventEmitter<BasePoint>}
|
|
41
|
-
* @memberof KiwiChartComponent
|
|
42
|
-
*/
|
|
43
|
-
this.addPoint = new EventEmitter();
|
|
44
|
-
/**
|
|
45
|
-
* When the cursor hovers the chart area it emits to the father component the
|
|
46
|
-
* x and y coordinates relative to the chart reference system.
|
|
47
|
-
*
|
|
48
|
-
* @type {EventEmitter<BasePoint>}
|
|
49
|
-
* @memberof KiwiChartComponent
|
|
50
|
-
*/
|
|
51
|
-
this.chartHover = new EventEmitter();
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KiwiChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KiwiChartComponent, isStandalone: true, selector: "kiwi-chart", inputs: { chart: "chart", width: "width", height: "height", darkTheme: "darkTheme", darkThemeBackground: "darkThemeBackground" }, outputs: { addPoint: "addPoint", chartHover: "chartHover" }, ngImport: i0, template: `
|
|
55
|
-
<div
|
|
56
|
-
kiwi-chart
|
|
57
|
-
[chart]="chart"
|
|
58
|
-
[width]="width"
|
|
59
|
-
[height]="height"
|
|
60
|
-
[darkTheme]="darkTheme"
|
|
61
|
-
[darkThemeBackground]="darkThemeBackground"
|
|
62
|
-
(addPoint)="addPoint.emit($event)"
|
|
63
|
-
(chartHover)="chartHover.emit($event)"
|
|
64
|
-
></div>
|
|
65
|
-
`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: KiwiChartDirective, selector: "div[kiwi-chart]", inputs: ["chart", "width", "height", "darkTheme", "darkThemeBackground"], outputs: ["chartInit", "addPoint", "chartHover"] }] }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KiwiChartComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ selector: 'kiwi-chart', template: `
|
|
70
|
-
<div
|
|
71
|
-
kiwi-chart
|
|
72
|
-
[chart]="chart"
|
|
73
|
-
[width]="width"
|
|
74
|
-
[height]="height"
|
|
75
|
-
[darkTheme]="darkTheme"
|
|
76
|
-
[darkThemeBackground]="darkThemeBackground"
|
|
77
|
-
(addPoint)="addPoint.emit($event)"
|
|
78
|
-
(chartHover)="chartHover.emit($event)"
|
|
79
|
-
></div>
|
|
80
|
-
`, standalone: true, imports: [KiwiChartDirective] }]
|
|
81
|
-
}], propDecorators: { chart: [{
|
|
82
|
-
type: Input,
|
|
83
|
-
args: [{ required: true }]
|
|
84
|
-
}], width: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], height: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], darkTheme: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], darkThemeBackground: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], addPoint: [{
|
|
93
|
-
type: Output
|
|
94
|
-
}], chartHover: [{
|
|
95
|
-
type: Output
|
|
96
|
-
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL2NvbXBvbmVudHMvY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQjtBQUNsQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQW9CeEUsTUFBTSxPQUFPLGtCQUFrQjtJQWxCL0I7UUFvQkU7Ozs7OztXQU1HO1FBQ3dCLFVBQUssR0FBaUIsSUFBSSxDQUFDO1FBRXREOzs7Ozs7O1dBT0c7UUFDTSxVQUFLLEdBQVcsTUFBTSxDQUFDO1FBQ3ZCLFdBQU0sR0FBVyxPQUFPLENBQUM7UUFFbEM7Ozs7Ozs7V0FPRztRQUNNLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isd0JBQW1CLEdBQWtCLElBQUksQ0FBQztRQUVuRDs7Ozs7OztXQU9HO1FBQ08sYUFBUSxHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDO1FBRTVFOzs7Ozs7V0FNRztRQUNPLGVBQVUsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQUUvRTsrR0FwRFksa0JBQWtCO21HQUFsQixrQkFBa0IscVFBaEJuQjs7Ozs7Ozs7Ozs7R0FXVCwwRUFHUyxrQkFBa0I7OzRGQUVqQixrQkFBa0I7a0JBbEI5QixTQUFTOytCQUNFLFlBQVksWUFDWjs7Ozs7Ozs7Ozs7R0FXVCxjQUVXLElBQUksV0FDUCxDQUFDLGtCQUFrQixDQUFDOzhCQVdGLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVVoQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQVVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQVVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBU0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgR2VuZXJhbFxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vLyBLaXdpIENoYXJ0XHJcbmltcG9ydCB7IENoYXJ0LCBCYXNlUG9pbnQgfSBmcm9tICcuLi9tb2RlbHMvY2hhcnQubW9kZWxzJztcclxuaW1wb3J0IHsgS2l3aUNoYXJ0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9raXdpLWNoYXJ0LmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2tpd2ktY2hhcnQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IFxyXG4gICAgICBraXdpLWNoYXJ0IFxyXG4gICAgICBbY2hhcnRdPVwiY2hhcnRcIiBcclxuICAgICAgW3dpZHRoXT1cIndpZHRoXCJcclxuICAgICAgW2hlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICBbZGFya1RoZW1lXT1cImRhcmtUaGVtZVwiXHJcbiAgICAgIFtkYXJrVGhlbWVCYWNrZ3JvdW5kXT1cImRhcmtUaGVtZUJhY2tncm91bmRcIlxyXG4gICAgICAoYWRkUG9pbnQpPVwiYWRkUG9pbnQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgKGNoYXJ0SG92ZXIpPVwiY2hhcnRIb3Zlci5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvZGl2PiBcclxuICBgLFxyXG4gIHN0eWxlczogW2BgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtLaXdpQ2hhcnREaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLaXdpQ2hhcnRDb21wb25lbnQge1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgQ2hhcnQgT2JqZWN0IHJlbmRlcmVkIGJ5IHRoZSBjYW52YXMuIEZvciBhbGwgdGhlIGF2YWlsYWJsZSBvcHRpb25zIHJlZmVyIFxyXG4gICAqIHRvIENoYXJ0IGludGVyZmFjZSBpbiB0aGUgbW9kZWxzIGZvbGRlci5cclxuICAgKlxyXG4gICAqIEB0eXBlIHsoQ2hhcnQgfCBudWxsKX1cclxuICAgKiBAbWVtYmVyb2YgS2l3aUNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY2hhcnQ6IENoYXJ0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdpZHRoIGFuZCBIZWlnaHQgb2YgdGhlIGNoYXJ0IGFyZWEuIFRoZSBkaW1lbnNpb25zIHJlZmVyIHRvIHRoZSBmYXRoZXIgY29tcG9uZW50IFxyXG4gICAqIGludG8gd2hpY2ggdGhlIGtpd2ktY2hhcnQgaXMgaW5zZXJ0ZWQuIEZvciBleGFtcGxlIGluIGFuIGVtcHR5IHBhZ2UgdGhlIHdpZHRoL2hlaWdodCBcclxuICAgKiBvZiB0aGUgY2hhcnQgY2FuIHRha2UgdGhlIHdob2xlIGF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgcGFnZS5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMTAwJSc7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnNDgwcHgnO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIHByb3BlcnR5IHNpbXBseSBhY3RpdmF0ZXMgb3Igbm90IHRoZSBkYXJrIHRoZW1lIG9mIHRoZSBjaGFydFxyXG4gICAqIGRlZmluZWQgYnkgdGhlIEVjaGFydHMgbGlicmFyeS4gSW4gYWRkaXRpb24gdGhlIGJhY2tncm91bmQgY29sb3IgY2FuIGJlIGN1c3RvbVxyXG4gICAqIHNvIHRoYXQgdGhlIGNoYXJ0IGNhbiBtYXRjaCB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYXBwbGljYXRpb24gaW4gd2hpY2ggaXQncyB1c2VkLlxyXG4gICAqXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRhcmtUaGVtZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhcmtUaGVtZUJhY2tncm91bmQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBPdXRwdXQgZXZlbnQgdXNlZCB0byBlbWl0IHRvIHRoZSBmYXRoZXIgY29tcG9uZW50IHRoZSBjb29yZGluYXRlc1xyXG4gICAqIG9mIHRoZSBwb2ludCBjbGlja2VkIGluIHRoZSBjaGFydCBhcmVhLiBUaGlzIGZ1bmN0aW9uYWxpdHkgdG8gYmUgdXNlZCBtdXN0XHJcbiAgICogaGF2ZSB0aGUgcHJvcGVydHkgXCJjbGlja1RvQWRkUG9pbnRcIiBpbiB0aGUgQ2hhcnQgb2JqZWN0IHNldCB0byB0cnVlLlxyXG4gICAqXHJcbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+fVxyXG4gICAqIEBtZW1iZXJvZiBLaXdpQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWRkUG9pbnQ6IEV2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdGhlIGN1cnNvciBob3ZlcnMgdGhlIGNoYXJ0IGFyZWEgaXQgZW1pdHMgdG8gdGhlIGZhdGhlciBjb21wb25lbnQgdGhlXHJcbiAgICogeCBhbmQgeSBjb29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgY2hhcnQgcmVmZXJlbmNlIHN5c3RlbS5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8QmFzZVBvaW50Pn1cclxuICAgKiBAbWVtYmVyb2YgS2l3aUNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNoYXJ0SG92ZXI6IEV2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+KCk7XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export const ZOOM_IN = "M39.35 40.45 26.6 27.7q-1.55 1.35-3.6 2.025-2.05.675-4 .675-4.9 0-8.225-3.325Q7.45 23.75 7.45 18.9q0-4.9 3.325-8.225Q14.1 7.35 18.95 7.35q4.85 0 8.225 3.325t3.375 8.175q0 2.1-.725 4.1-.725 2-2.025 3.45l12.8 12.75ZM19 28.65q4.15 0 6.975-2.8 2.825-2.8 2.825-7 0-4.15-2.825-6.95T19 9.1q-4.2 0-7 2.8t-2.8 6.95q0 4.2 2.8 7t7 2.8Zm-.9-5.1V19.7h-3.85v-1.75h3.85v-3.8h1.75v3.8h3.8v1.75h-3.8v3.85Z";
|
|
2
|
-
export const ZOOM_OUT = "M41.25 39.35 29.55 27.7q-1.5 1.25-3.525 1.975Q24 30.4 22.05 30.4q-2.1 0-3.975-.725T14.9 27.65l1.2-1.2q1.2 1.1 2.65 1.65 1.45.55 3.25.55 4.2 0 7-2.8t2.8-7q0-4.15-2.8-6.95t-7-2.8q-4.15 0-7 2.8-2.85 2.8-2.75 6.95l3.2-3.4 1.3 1.3-5.35 5.35-5.3-5.35 1.3-1.3 3.05 3.3q0-4.85 3.4-8.125Q17.25 7.35 22 7.35q4.9 0 8.225 3.325Q33.55 14 33.55 18.85q0 2.1-.75 4.1-.75 2-1.95 3.45L42.5 38.05Z";
|
|
3
|
-
export const SAVE_AS_SVG = "M11.3 40.05q-1.35 0-2.35-1t-1-2.35V11.3q0-1.4 1-2.375 1-.975 2.35-.975h25.4q1.4 0 2.375.975.975.975.975 2.375v25.4q0 1.35-.975 2.35t-2.375 1Zm0-1.75h25.4q.6 0 1.1-.5.5-.5.5-1.1V11.3q0-.6-.5-1.1-.5-.5-1.1-.5H11.3q-.6 0-1.1.5-.5.5-.5 1.1v25.4q0 .6.5 1.1.5.5 1.1.5Zm4.1-5.15h17.65l-5.5-7.3-5.2 6.45-3.3-3.85ZM9.7 38.3V9.7v28.6Z";
|
|
4
|
-
export const RESTORE = "M24.2 25.65q-.65 0-1.125-.475T22.6 24q0-.7.475-1.2t1.175-.5q.65 0 1.175.525T25.95 24q0 .7-.55 1.175-.55.475-1.2.475Zm.1 14.55q-6.4 0-11.1-4.25Q8.5 31.7 8.1 25.4h1.8q.5 5.55 4.6 9.3 4.1 3.75 9.75 3.75 6.05 0 10.225-4.225T38.65 24.05q0-6.05-4.2-10.275Q30.25 9.55 24.3 9.55q-3.2 0-6.025 1.3t-4.875 3.6h4.95v1.75H10.4v-8h1.75v5.05q2.25-2.6 5.475-4.025Q20.85 7.8 24.3 7.8q3.3 0 6.225 1.25t5.125 3.475q2.2 2.225 3.475 5.175Q40.4 20.65 40.4 24q0 3.35-1.275 6.3-1.275 2.95-3.475 5.175-2.2 2.225-5.125 3.475T24.3 40.2Z";
|
|
5
|
-
export const ADD_POINT = "M222.895-189.538q-22.456 0-37.906-15.451-15.451-15.45-15.451-37.906v-474.21q0-22.456 15.451-37.906 15.45-15.451 38.088-15.451h322.346v28.924H223.077q-10.769 0-17.692 6.923t-6.923 17.692v473.846q0 10.769 6.923 17.692t17.692 6.923h473.846q10.77 0 17.693-6.923 6.923-6.923 6.923-17.692v-322.346h28.923v322.346q0 22.638-15.451 38.088-15.45 15.451-37.906 15.451h-474.21Zm78.028-121.539h28.923v-243.077h-28.923v243.077Zm144.923 0h28.923v-337.846h-28.923v337.846Zm144.308 0h28.923v-148.308h-28.923v148.308Zm100-327.692v-71.385h-71.385v-28.923h71.385v-71.385h28.923v71.385h71.385v28.923h-71.385v71.385h-28.923ZM460-480Z";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL2NvbnN0YW50cy9jaGFydC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFXLHNZQUFzWSxDQUFDO0FBQ3RhLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBVyw0WEFBNFgsQ0FBQztBQUM3WixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVcsc1VBQXNVLENBQUM7QUFDMVcsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFXLCtmQUErZixDQUFDO0FBQy9oQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVcscW1CQUFxbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBaT09NX0lOOiBzdHJpbmcgPSBcIk0zOS4zNSA0MC40NSAyNi42IDI3LjdxLTEuNTUgMS4zNS0zLjYgMi4wMjUtMi4wNS42NzUtNCAuNjc1LTQuOSAwLTguMjI1LTMuMzI1UTcuNDUgMjMuNzUgNy40NSAxOC45cTAtNC45IDMuMzI1LTguMjI1UTE0LjEgNy4zNSAxOC45NSA3LjM1cTQuODUgMCA4LjIyNSAzLjMyNXQzLjM3NSA4LjE3NXEwIDIuMS0uNzI1IDQuMS0uNzI1IDItMi4wMjUgMy40NWwxMi44IDEyLjc1Wk0xOSAyOC42NXE0LjE1IDAgNi45NzUtMi44IDIuODI1LTIuOCAyLjgyNS03IDAtNC4xNS0yLjgyNS02Ljk1VDE5IDkuMXEtNC4yIDAtNyAyLjh0LTIuOCA2Ljk1cTAgNC4yIDIuOCA3dDcgMi44Wm0tLjktNS4xVjE5LjdoLTMuODV2LTEuNzVoMy44NXYtMy44aDEuNzV2My44aDMuOHYxLjc1aC0zLjh2My44NVpcIjtcclxuZXhwb3J0IGNvbnN0IFpPT01fT1VUOiBzdHJpbmcgPSBcIk00MS4yNSAzOS4zNSAyOS41NSAyNy43cS0xLjUgMS4yNS0zLjUyNSAxLjk3NVEyNCAzMC40IDIyLjA1IDMwLjRxLTIuMSAwLTMuOTc1LS43MjVUMTQuOSAyNy42NWwxLjItMS4ycTEuMiAxLjEgMi42NSAxLjY1IDEuNDUuNTUgMy4yNS41NSA0LjIgMCA3LTIuOHQyLjgtN3EwLTQuMTUtMi44LTYuOTV0LTctMi44cS00LjE1IDAtNyAyLjgtMi44NSAyLjgtMi43NSA2Ljk1bDMuMi0zLjQgMS4zIDEuMy01LjM1IDUuMzUtNS4zLTUuMzUgMS4zLTEuMyAzLjA1IDMuM3EwLTQuODUgMy40LTguMTI1UTE3LjI1IDcuMzUgMjIgNy4zNXE0LjkgMCA4LjIyNSAzLjMyNVEzMy41NSAxNCAzMy41NSAxOC44NXEwIDIuMS0uNzUgNC4xLS43NSAyLTEuOTUgMy40NUw0Mi41IDM4LjA1WlwiO1xyXG5leHBvcnQgY29uc3QgU0FWRV9BU19TVkc6IHN0cmluZyA9IFwiTTExLjMgNDAuMDVxLTEuMzUgMC0yLjM1LTF0LTEtMi4zNVYxMS4zcTAtMS40IDEtMi4zNzUgMS0uOTc1IDIuMzUtLjk3NWgyNS40cTEuNCAwIDIuMzc1Ljk3NS45NzUuOTc1Ljk3NSAyLjM3NXYyNS40cTAgMS4zNS0uOTc1IDIuMzV0LTIuMzc1IDFabTAtMS43NWgyNS40cS42IDAgMS4xLS41LjUtLjUuNS0xLjFWMTEuM3EwLS42LS41LTEuMS0uNS0uNS0xLjEtLjVIMTEuM3EtLjYgMC0xLjEuNS0uNS41LS41IDEuMXYyNS40cTAgLjYuNSAxLjEuNS41IDEuMS41Wm00LjEtNS4xNWgxNy42NWwtNS41LTcuMy01LjIgNi40NS0zLjMtMy44NVpNOS43IDM4LjNWOS43djI4LjZaXCI7XHJcbmV4cG9ydCBjb25zdCBSRVNUT1JFOiBzdHJpbmcgPSBcIk0yNC4yIDI1LjY1cS0uNjUgMC0xLjEyNS0uNDc1VDIyLjYgMjRxMC0uNy40NzUtMS4ydDEuMTc1LS41cS42NSAwIDEuMTc1LjUyNVQyNS45NSAyNHEwIC43LS41NSAxLjE3NS0uNTUuNDc1LTEuMi40NzVabS4xIDE0LjU1cS02LjQgMC0xMS4xLTQuMjVROC41IDMxLjcgOC4xIDI1LjRoMS44cS41IDUuNTUgNC42IDkuMyA0LjEgMy43NSA5Ljc1IDMuNzUgNi4wNSAwIDEwLjIyNS00LjIyNVQzOC42NSAyNC4wNXEwLTYuMDUtNC4yLTEwLjI3NVEzMC4yNSA5LjU1IDI0LjMgOS41NXEtMy4yIDAtNi4wMjUgMS4zdC00Ljg3NSAzLjZoNC45NXYxLjc1SDEwLjR2LThoMS43NXY1LjA1cTIuMjUtMi42IDUuNDc1LTQuMDI1UTIwLjg1IDcuOCAyNC4zIDcuOHEzLjMgMCA2LjIyNSAxLjI1dDUuMTI1IDMuNDc1cTIuMiAyLjIyNSAzLjQ3NSA1LjE3NVE0MC40IDIwLjY1IDQwLjQgMjRxMCAzLjM1LTEuMjc1IDYuMy0xLjI3NSAyLjk1LTMuNDc1IDUuMTc1LTIuMiAyLjIyNS01LjEyNSAzLjQ3NVQyNC4zIDQwLjJaXCI7XHJcbmV4cG9ydCBjb25zdCBBRERfUE9JTlQ6IHN0cmluZyA9IFwiTTIyMi44OTUtMTg5LjUzOHEtMjIuNDU2IDAtMzcuOTA2LTE1LjQ1MS0xNS40NTEtMTUuNDUtMTUuNDUxLTM3LjkwNnYtNDc0LjIxcTAtMjIuNDU2IDE1LjQ1MS0zNy45MDYgMTUuNDUtMTUuNDUxIDM4LjA4OC0xNS40NTFoMzIyLjM0NnYyOC45MjRIMjIzLjA3N3EtMTAuNzY5IDAtMTcuNjkyIDYuOTIzdC02LjkyMyAxNy42OTJ2NDczLjg0NnEwIDEwLjc2OSA2LjkyMyAxNy42OTJ0MTcuNjkyIDYuOTIzaDQ3My44NDZxMTAuNzcgMCAxNy42OTMtNi45MjMgNi45MjMtNi45MjMgNi45MjMtMTcuNjkydi0zMjIuMzQ2aDI4LjkyM3YzMjIuMzQ2cTAgMjIuNjM4LTE1LjQ1MSAzOC4wODgtMTUuNDUgMTUuNDUxLTM3LjkwNiAxNS40NTFoLTQ3NC4yMVptNzguMDI4LTEyMS41MzloMjguOTIzdi0yNDMuMDc3aC0yOC45MjN2MjQzLjA3N1ptMTQ0LjkyMyAwaDI4LjkyM3YtMzM3Ljg0NmgtMjguOTIzdjMzNy44NDZabTE0NC4zMDggMGgyOC45MjN2LTE0OC4zMDhoLTI4LjkyM3YxNDguMzA4Wm0xMDAtMzI3LjY5MnYtNzEuMzg1aC03MS4zODV2LTI4LjkyM2g3MS4zODV2LTcxLjM4NWgyOC45MjN2NzEuMzg1aDcxLjM4NXYyOC45MjNoLTcxLjM4NXY3MS4zODVoLTI4LjkyM1pNNDYwLTQ4MFpcIjtcclxuIl19
|