@pie-lib/graphing-solution-set 2.15.0-beta.4 → 2.15.0-beta.5

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.
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _arrow = require("../arrow");
12
+
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+
17
+ describe('Arrow', function () {
18
+ var w;
19
+ var onChange = jest.fn();
20
+
21
+ var wrapper = function wrapper(extras) {
22
+ var defaults = {
23
+ classes: {},
24
+ className: 'className',
25
+ onChange: onChange,
26
+ scale: {
27
+ x: jest.fn(function (n) {
28
+ return n;
29
+ }),
30
+ y: jest.fn(function (n) {
31
+ return n;
32
+ })
33
+ }
34
+ };
35
+
36
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
37
+
38
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_arrow.Arrow, props));
39
+ };
40
+
41
+ describe('snapshot', function () {
42
+ it('up', function () {
43
+ w = wrapper({
44
+ direction: 'up'
45
+ });
46
+ expect(w).toMatchSnapshot();
47
+ });
48
+ it('down', function () {
49
+ w = wrapper({
50
+ direction: 'down'
51
+ });
52
+ expect(w).toMatchSnapshot();
53
+ });
54
+ it('left', function () {
55
+ w = wrapper({
56
+ direction: 'left'
57
+ });
58
+ expect(w).toMatchSnapshot();
59
+ });
60
+ it('right', function () {
61
+ w = wrapper({
62
+ direction: 'right'
63
+ });
64
+ expect(w).toMatchSnapshot();
65
+ });
66
+ });
67
+ });
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9heGlzL19fdGVzdHNfXy9hcnJvdy50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJzY2FsZSIsIngiLCJuIiwieSIsInByb3BzIiwiaXQiLCJkaXJlY3Rpb24iLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCLE1BQUlDLENBQUo7QUFDQSxNQUFJQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUFmOztBQUNBLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZlAsTUFBQUEsUUFBUSxFQUFSQSxRQUhlO0FBSWZRLE1BQUFBLEtBQUssRUFBRTtBQUNMQyxRQUFBQSxDQUFDLEVBQUVSLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNRLENBQUQ7QUFBQSxpQkFBT0EsQ0FBUDtBQUFBLFNBQVIsQ0FERTtBQUVMQyxRQUFBQSxDQUFDLEVBQUVWLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNRLENBQUQ7QUFBQSxpQkFBT0EsQ0FBUDtBQUFBLFNBQVI7QUFGRTtBQUpRLEtBQWpCOztBQVNBLFFBQU1FLEtBQUssbUNBQVFQLFFBQVIsR0FBcUJELE1BQXJCLENBQVg7O0FBQ0EsV0FBTyxtQ0FBUSxnQ0FBQyxZQUFELEVBQVdRLEtBQVgsQ0FBUixDQUFQO0FBQ0QsR0FaRDs7QUFhQWQsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCZSxJQUFBQSxFQUFFLENBQUMsSUFBRCxFQUFPLFlBQU07QUFDYmQsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLENBQUM7QUFBRVcsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBRCxDQUFYO0FBQ0FDLE1BQUFBLE1BQU0sQ0FBQ2hCLENBQUQsQ0FBTixDQUFVaUIsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlBSCxJQUFBQSxFQUFFLENBQUMsTUFBRCxFQUFTLFlBQU07QUFDZmQsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLENBQUM7QUFBRVcsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBRCxDQUFYO0FBQ0FDLE1BQUFBLE1BQU0sQ0FBQ2hCLENBQUQsQ0FBTixDQUFVaUIsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlBSCxJQUFBQSxFQUFFLENBQUMsTUFBRCxFQUFTLFlBQU07QUFDZmQsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLENBQUM7QUFBRVcsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBRCxDQUFYO0FBQ0FDLE1BQUFBLE1BQU0sQ0FBQ2hCLENBQUQsQ0FBTixDQUFVaUIsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlBSCxJQUFBQSxFQUFFLENBQUMsT0FBRCxFQUFVLFlBQU07QUFDaEJkLE1BQUFBLENBQUMsR0FBR0ksT0FBTyxDQUFDO0FBQUVXLFFBQUFBLFNBQVMsRUFBRTtBQUFiLE9BQUQsQ0FBWDtBQUNBQyxNQUFBQSxNQUFNLENBQUNoQixDQUFELENBQU4sQ0FBVWlCLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQWpCTyxDQUFSO0FBa0JELENBbENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBcnJvdyB9IGZyb20gJy4uL2Fycm93JztcblxuZGVzY3JpYmUoJ0Fycm93JywgKCkgPT4ge1xuICBsZXQgdztcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBzY2FsZToge1xuICAgICAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICAgICAgeTogamVzdC5mbigobikgPT4gbiksXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8QXJyb3cgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgndXAnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcih7IGRpcmVjdGlvbjogJ3VwJyB9KTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgICBpdCgnZG93bicsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKHsgZGlyZWN0aW9uOiAnZG93bicgfSk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gICAgaXQoJ2xlZnQnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcih7IGRpcmVjdGlvbjogJ2xlZnQnIH0pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICAgIGl0KCdyaWdodCcsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKHsgZGlyZWN0aW9uOiAncmlnaHQnIH0pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+
9
+ var _enzyme = require("enzyme");
10
+
11
+ var _react = _interopRequireDefault(require("react"));
12
+
13
+ var _utils = require("../../__tests__/utils");
14
+
15
+ var _axes = _interopRequireWildcard(require("../axes"));
16
+
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
+
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
+
25
+ describe('RawXAxis', function () {
26
+ var w;
27
+ var onChange = jest.fn();
28
+
29
+ var wrapper = function wrapper(extras) {
30
+ var defaults = {
31
+ classes: {},
32
+ className: 'className',
33
+ onChange: onChange,
34
+ graphProps: (0, _utils.graphProps)(),
35
+ includeArrows: {
36
+ left: true,
37
+ right: true,
38
+ up: true,
39
+ down: true
40
+ }
41
+ };
42
+
43
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
44
+
45
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes.RawXAxis, props));
46
+ };
47
+
48
+ describe('snapshot', function () {
49
+ it('renders', function () {
50
+ w = wrapper();
51
+ expect(w).toMatchSnapshot();
52
+ });
53
+ });
54
+ });
55
+ describe('RawYAxis', function () {
56
+ var w;
57
+ var onChange = jest.fn();
58
+
59
+ var wrapper = function wrapper(extras) {
60
+ var defaults = {
61
+ classes: {},
62
+ className: 'className',
63
+ onChange: onChange,
64
+ graphProps: (0, _utils.graphProps)(),
65
+ includeArrows: {
66
+ left: true,
67
+ right: true,
68
+ up: true,
69
+ down: true
70
+ }
71
+ };
72
+
73
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
74
+
75
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes.RawYAxis, props));
76
+ };
77
+
78
+ describe('snapshot', function () {
79
+ it('renders', function () {
80
+ w = wrapper();
81
+ expect(w).toMatchSnapshot();
82
+ });
83
+ });
84
+ });
85
+
86
+ var customScaleMock = function customScaleMock(distance) {
87
+ var fn = jest.fn(function (n) {
88
+ return n * distance;
89
+ });
90
+ fn.invert = jest.fn(function (n) {
91
+ return n * distance;
92
+ });
93
+ return fn;
94
+ };
95
+
96
+ describe.only('Axes', function () {
97
+ var w;
98
+ var onChange = jest.fn();
99
+
100
+ var customGraphProps = _objectSpread(_objectSpread({}, (0, _utils.graphProps)()), {}, {
101
+ domain: {
102
+ min: -2,
103
+ max: 2,
104
+ labelStep: 1,
105
+ step: 1
106
+ },
107
+ range: {
108
+ min: -2,
109
+ max: 2,
110
+ step: 1,
111
+ labelStep: 1
112
+ },
113
+ scale: {
114
+ x: customScaleMock(200),
115
+ y: customScaleMock(150)
116
+ }
117
+ });
118
+
119
+ var wrapper = function wrapper(extras) {
120
+ var defaults = {
121
+ classes: {},
122
+ className: 'className',
123
+ onChange: onChange,
124
+ graphProps: customGraphProps
125
+ };
126
+
127
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
128
+
129
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes["default"], props));
130
+ };
131
+
132
+ describe('xValues', function () {
133
+ it('renders', function () {
134
+ w = wrapper();
135
+ var result = w.instance().xValues();
136
+ expect(result).toEqual({
137
+ columnTicksValues: expect.arrayContaining([-2, -1, 0, 1, 2]),
138
+ distanceFromOriginToFirstNegativeX: 150,
139
+ firstNegativeX: -1
140
+ });
141
+ });
142
+ });
143
+ describe('yValues', function () {
144
+ it('renders', function () {
145
+ w = wrapper();
146
+ var result = w.instance().yValues();
147
+ expect(result).toEqual({
148
+ rowTickValues: expect.arrayContaining([-2, -1, 0, 1, 2]),
149
+ distanceFromOriginToFirstNegativeY: 200,
150
+ firstNegativeY: -1
151
+ });
152
+ });
153
+ });
154
+ });
155
+ describe('firstNegativeValue should return undefiend for undefined interval', function () {
156
+ var interval = undefined;
157
+ var result = (0, _axes.firstNegativeValue)(interval);
158
+ expect(result).toEqual(undefined);
159
+ });
160
+ describe('firstNegativeValue should return undefiend for empty interval', function () {
161
+ var interval = [];
162
+ var result = (0, _axes.firstNegativeValue)(interval);
163
+ expect(result).toEqual(undefined);
164
+ });
165
+ describe('firstNegativeValue should return undefined if there is no negative in interval array', function () {
166
+ var interval = [1, 5, 7, 4, 5];
167
+ var result = (0, _axes.firstNegativeValue)(interval);
168
+ expect(result).toEqual(undefined);
169
+ });
170
+ describe('firstNegativeValue should return first negative number from interval', function () {
171
+ var interval = [1, 5, 7, -2, 4, 5, -1];
172
+ var result = (0, _axes.firstNegativeValue)(interval);
173
+ expect(result).toEqual(-2);
174
+ });
175
+ describe('skipValue should be empty array if firstNegativeValue for one of the axes is undefined', function () {
176
+ // x
177
+ var intervalX = [1, 2, 3, 4, 5, 6];
178
+ var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
179
+ var distanceFromOriginToFirstNegativeX = -22; // y
180
+
181
+ var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
182
+ var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
183
+ var distanceFromOriginToFirstNegativeY = -22;
184
+ var deltaAllowance = 5;
185
+ var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
186
+ expect(result).toEqual([]);
187
+ });
188
+ describe('skipValue should be empty array if firstNegativeX and firstNegativeY are equal but they do not overlap', function () {
189
+ // x
190
+ var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
191
+ var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
192
+ var distanceFromOriginToFirstNegativeX = -7; // y
193
+
194
+ var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
195
+ var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
196
+ var distanceFromOriginToFirstNegativeY = -22;
197
+ var deltaAllowance = 5;
198
+ var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
199
+ expect(result).toEqual([]);
200
+ });
201
+ describe('skipValue should be -1 if firstNegativeX and firstNegativeY are equal and they overlap', function () {
202
+ // x
203
+ var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
204
+ var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
205
+ var distanceFromOriginToFirstNegativeX = -20; // y
206
+
207
+ var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
208
+ var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
209
+ var distanceFromOriginToFirstNegativeY = -22;
210
+ var deltaAllowance = 5;
211
+ var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
212
+ expect(result).toEqual([-1]);
213
+ });
214
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9heGlzL19fdGVzdHNfXy9heGVzLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJpbmNsdWRlQXJyb3dzIiwibGVmdCIsInJpZ2h0IiwidXAiLCJkb3duIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImN1c3RvbVNjYWxlTW9jayIsImRpc3RhbmNlIiwibiIsImludmVydCIsIm9ubHkiLCJjdXN0b21HcmFwaFByb3BzIiwiZG9tYWluIiwibWluIiwibWF4IiwibGFiZWxTdGVwIiwic3RlcCIsInJhbmdlIiwic2NhbGUiLCJ4IiwieSIsInJlc3VsdCIsImluc3RhbmNlIiwieFZhbHVlcyIsInRvRXF1YWwiLCJjb2x1bW5UaWNrc1ZhbHVlcyIsImFycmF5Q29udGFpbmluZyIsImRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVgiLCJmaXJzdE5lZ2F0aXZlWCIsInlWYWx1ZXMiLCJyb3dUaWNrVmFsdWVzIiwiZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWSIsImZpcnN0TmVnYXRpdmVZIiwiaW50ZXJ2YWwiLCJ1bmRlZmluZWQiLCJpbnRlcnZhbFgiLCJpbnRlcnZhbFkiLCJkZWx0YUFsbG93YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsTUFBSUMsQ0FBSjtBQUNBLE1BQUlDLFFBQVEsR0FBR0MsSUFBSSxDQUFDQyxFQUFMLEVBQWY7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsTUFBRCxFQUFZO0FBQzFCLFFBQU1DLFFBQVEsR0FBRztBQUNmQyxNQUFBQSxPQUFPLEVBQUUsRUFETTtBQUVmQyxNQUFBQSxTQUFTLEVBQUUsV0FGSTtBQUdmUCxNQUFBQSxRQUFRLEVBQVJBLFFBSGU7QUFJZlEsTUFBQUEsVUFBVSxFQUFFLHdCQUpHO0FBS2ZDLE1BQUFBLGFBQWEsRUFBRTtBQUNiQyxRQUFBQSxJQUFJLEVBQUUsSUFETztBQUViQyxRQUFBQSxLQUFLLEVBQUUsSUFGTTtBQUdiQyxRQUFBQSxFQUFFLEVBQUUsSUFIUztBQUliQyxRQUFBQSxJQUFJLEVBQUU7QUFKTztBQUxBLEtBQWpCOztBQVlBLFFBQU1DLEtBQUssbUNBQVFULFFBQVIsR0FBcUJELE1BQXJCLENBQVg7O0FBQ0EsV0FBTyxtQ0FBUSxnQ0FBQyxjQUFELEVBQWNVLEtBQWQsQ0FBUixDQUFQO0FBQ0QsR0FmRDs7QUFnQkFoQixFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJpQixJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEJoQixNQUFBQSxDQUFDLEdBQUdJLE9BQU8sRUFBWDtBQUNBYSxNQUFBQSxNQUFNLENBQUNqQixDQUFELENBQU4sQ0FBVWtCLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFNRCxDQXpCTyxDQUFSO0FBMkJBbkIsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCLE1BQUlDLENBQUo7QUFDQSxNQUFJQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUFmOztBQUNBLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZlAsTUFBQUEsUUFBUSxFQUFSQSxRQUhlO0FBSWZRLE1BQUFBLFVBQVUsRUFBRSx3QkFKRztBQUtmQyxNQUFBQSxhQUFhLEVBQUU7QUFDYkMsUUFBQUEsSUFBSSxFQUFFLElBRE87QUFFYkMsUUFBQUEsS0FBSyxFQUFFLElBRk07QUFHYkMsUUFBQUEsRUFBRSxFQUFFLElBSFM7QUFJYkMsUUFBQUEsSUFBSSxFQUFFO0FBSk87QUFMQSxLQUFqQjs7QUFZQSxRQUFNQyxLQUFLLG1DQUFRVCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFdBQU8sbUNBQVEsZ0NBQUMsY0FBRCxFQUFjVSxLQUFkLENBQVIsQ0FBUDtBQUNELEdBZkQ7O0FBZ0JBaEIsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCaUIsSUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCaEIsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLEVBQVg7QUFDQWEsTUFBQUEsTUFBTSxDQUFDakIsQ0FBRCxDQUFOLENBQVVrQixlQUFWO0FBQ0QsS0FIQyxDQUFGO0FBSUQsR0FMTyxDQUFSO0FBTUQsQ0F6Qk8sQ0FBUjs7QUEyQkEsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxRQUFELEVBQWM7QUFDcEMsTUFBTWpCLEVBQUUsR0FBR0QsSUFBSSxDQUFDQyxFQUFMLENBQVEsVUFBQ2tCLENBQUQ7QUFBQSxXQUFPQSxDQUFDLEdBQUdELFFBQVg7QUFBQSxHQUFSLENBQVg7QUFDQWpCLEVBQUFBLEVBQUUsQ0FBQ21CLE1BQUgsR0FBWXBCLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNrQixDQUFEO0FBQUEsV0FBT0EsQ0FBQyxHQUFHRCxRQUFYO0FBQUEsR0FBUixDQUFaO0FBQ0EsU0FBT2pCLEVBQVA7QUFDRCxDQUpEOztBQU1BSixRQUFRLENBQUN3QixJQUFULENBQWMsTUFBZCxFQUFzQixZQUFNO0FBQzFCLE1BQUl2QixDQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBZjs7QUFFQSxNQUFNcUIsZ0JBQWdCLG1DQUNqQix3QkFEaUI7QUFFcEJDLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxHQUFHLEVBQUUsQ0FBQyxDQURBO0FBRU5DLE1BQUFBLEdBQUcsRUFBRSxDQUZDO0FBR05DLE1BQUFBLFNBQVMsRUFBRSxDQUhMO0FBSU5DLE1BQUFBLElBQUksRUFBRTtBQUpBLEtBRlk7QUFRcEJDLElBQUFBLEtBQUssRUFBRTtBQUNMSixNQUFBQSxHQUFHLEVBQUUsQ0FBQyxDQUREO0FBRUxDLE1BQUFBLEdBQUcsRUFBRSxDQUZBO0FBR0xFLE1BQUFBLElBQUksRUFBRSxDQUhEO0FBSUxELE1BQUFBLFNBQVMsRUFBRTtBQUpOLEtBUmE7QUFjcEJHLElBQUFBLEtBQUssRUFBRTtBQUNMQyxNQUFBQSxDQUFDLEVBQUViLGVBQWUsQ0FBQyxHQUFELENBRGI7QUFFTGMsTUFBQUEsQ0FBQyxFQUFFZCxlQUFlLENBQUMsR0FBRDtBQUZiO0FBZGEsSUFBdEI7O0FBb0JBLE1BQU1mLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZlAsTUFBQUEsUUFBUSxFQUFSQSxRQUhlO0FBSWZRLE1BQUFBLFVBQVUsRUFBRWU7QUFKRyxLQUFqQjs7QUFPQSxRQUFNVCxLQUFLLG1DQUFRVCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFdBQU8sbUNBQVEsZ0NBQUMsZ0JBQUQsRUFBVVUsS0FBVixDQUFSLENBQVA7QUFDRCxHQVZEOztBQVdBaEIsRUFBQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ3hCaUIsSUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCaEIsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLEVBQVg7QUFDQSxVQUFNOEIsTUFBTSxHQUFHbEMsQ0FBQyxDQUFDbUMsUUFBRixHQUFhQyxPQUFiLEVBQWY7QUFDQW5CLE1BQUFBLE1BQU0sQ0FBQ2lCLE1BQUQsQ0FBTixDQUFlRyxPQUFmLENBQXVCO0FBQ3JCQyxRQUFBQSxpQkFBaUIsRUFBRXJCLE1BQU0sQ0FBQ3NCLGVBQVAsQ0FBdUIsQ0FBQyxDQUFDLENBQUYsRUFBSyxDQUFDLENBQU4sRUFBUyxDQUFULEVBQVksQ0FBWixFQUFlLENBQWYsQ0FBdkIsQ0FERTtBQUVyQkMsUUFBQUEsa0NBQWtDLEVBQUUsR0FGZjtBQUdyQkMsUUFBQUEsY0FBYyxFQUFFLENBQUM7QUFISSxPQUF2QjtBQUtELEtBUkMsQ0FBRjtBQVNELEdBVk8sQ0FBUjtBQVdBMUMsRUFBQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ3hCaUIsSUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCaEIsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLEVBQVg7QUFDQSxVQUFNOEIsTUFBTSxHQUFHbEMsQ0FBQyxDQUFDbUMsUUFBRixHQUFhTyxPQUFiLEVBQWY7QUFDQXpCLE1BQUFBLE1BQU0sQ0FBQ2lCLE1BQUQsQ0FBTixDQUFlRyxPQUFmLENBQXVCO0FBQ3JCTSxRQUFBQSxhQUFhLEVBQUUxQixNQUFNLENBQUNzQixlQUFQLENBQXVCLENBQUMsQ0FBQyxDQUFGLEVBQUssQ0FBQyxDQUFOLEVBQVMsQ0FBVCxFQUFZLENBQVosRUFBZSxDQUFmLENBQXZCLENBRE07QUFFckJLLFFBQUFBLGtDQUFrQyxFQUFFLEdBRmY7QUFHckJDLFFBQUFBLGNBQWMsRUFBRSxDQUFDO0FBSEksT0FBdkI7QUFLRCxLQVJDLENBQUY7QUFTRCxHQVZPLENBQVI7QUFXRCxDQXpERDtBQTJEQTlDLFFBQVEsQ0FBQyxtRUFBRCxFQUFzRSxZQUFNO0FBQ2xGLE1BQU0rQyxRQUFRLEdBQUdDLFNBQWpCO0FBQ0EsTUFBTWIsTUFBTSxHQUFHLDhCQUFtQlksUUFBbkIsQ0FBZjtBQUNBN0IsRUFBQUEsTUFBTSxDQUFDaUIsTUFBRCxDQUFOLENBQWVHLE9BQWYsQ0FBdUJVLFNBQXZCO0FBQ0QsQ0FKTyxDQUFSO0FBTUFoRCxRQUFRLENBQUMsK0RBQUQsRUFBa0UsWUFBTTtBQUM5RSxNQUFNK0MsUUFBUSxHQUFHLEVBQWpCO0FBQ0EsTUFBTVosTUFBTSxHQUFHLDhCQUFtQlksUUFBbkIsQ0FBZjtBQUNBN0IsRUFBQUEsTUFBTSxDQUFDaUIsTUFBRCxDQUFOLENBQWVHLE9BQWYsQ0FBdUJVLFNBQXZCO0FBQ0QsQ0FKTyxDQUFSO0FBTUFoRCxRQUFRLENBQUMsc0ZBQUQsRUFBeUYsWUFBTTtBQUNyRyxNQUFNK0MsUUFBUSxHQUFHLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixFQUFhLENBQWIsQ0FBakI7QUFDQSxNQUFNWixNQUFNLEdBQUcsOEJBQW1CWSxRQUFuQixDQUFmO0FBQ0E3QixFQUFBQSxNQUFNLENBQUNpQixNQUFELENBQU4sQ0FBZUcsT0FBZixDQUF1QlUsU0FBdkI7QUFDRCxDQUpPLENBQVI7QUFNQWhELFFBQVEsQ0FBQyxzRUFBRCxFQUF5RSxZQUFNO0FBQ3JGLE1BQU0rQyxRQUFRLEdBQUcsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsRUFBVSxDQUFDLENBQVgsRUFBYyxDQUFkLEVBQWlCLENBQWpCLEVBQW9CLENBQUMsQ0FBckIsQ0FBakI7QUFDQSxNQUFNWixNQUFNLEdBQUcsOEJBQW1CWSxRQUFuQixDQUFmO0FBQ0E3QixFQUFBQSxNQUFNLENBQUNpQixNQUFELENBQU4sQ0FBZUcsT0FBZixDQUF1QixDQUFDLENBQXhCO0FBQ0QsQ0FKTyxDQUFSO0FBTUF0QyxRQUFRLENBQUMsd0ZBQUQsRUFBMkYsWUFBTTtBQUN2RztBQUNBLE1BQU1pRCxTQUFTLEdBQUcsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsRUFBVSxDQUFWLEVBQWEsQ0FBYixFQUFnQixDQUFoQixDQUFsQjtBQUNBLE1BQU1QLGNBQWMsR0FBRyw4QkFBbUJPLFNBQW5CLENBQXZCO0FBQ0EsTUFBTVIsa0NBQWtDLEdBQUcsQ0FBQyxFQUE1QyxDQUp1RyxDQU12Rzs7QUFDQSxNQUFNUyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUYsRUFBSyxDQUFDLENBQU4sRUFBUyxDQUFULEVBQVksQ0FBWixFQUFlLENBQWYsRUFBa0IsQ0FBbEIsRUFBcUIsQ0FBckIsRUFBd0IsQ0FBeEIsQ0FBbEI7QUFDQSxNQUFNSixjQUFjLEdBQUcsOEJBQW1CSSxTQUFuQixDQUF2QjtBQUNBLE1BQU1MLGtDQUFrQyxHQUFHLENBQUMsRUFBNUM7QUFFQSxNQUFNTSxjQUFjLEdBQUcsQ0FBdkI7QUFFQSxNQUFNaEIsTUFBTSxHQUFHLHdCQUNiTyxjQURhLEVBRWJJLGNBRmEsRUFHYkwsa0NBSGEsRUFJYkksa0NBSmEsRUFLYk0sY0FMYSxDQUFmO0FBUUFqQyxFQUFBQSxNQUFNLENBQUNpQixNQUFELENBQU4sQ0FBZUcsT0FBZixDQUF1QixFQUF2QjtBQUNELENBdEJPLENBQVI7QUF3QkF0QyxRQUFRLENBQUMsd0dBQUQsRUFBMkcsWUFBTTtBQUN2SDtBQUNBLE1BQU1pRCxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUYsRUFBSyxDQUFDLENBQU4sRUFBUyxDQUFULEVBQVksQ0FBWixFQUFlLENBQWYsRUFBa0IsQ0FBbEIsRUFBcUIsQ0FBckIsRUFBd0IsQ0FBeEIsQ0FBbEI7QUFDQSxNQUFNUCxjQUFjLEdBQUcsOEJBQW1CTyxTQUFuQixDQUF2QjtBQUNBLE1BQU1SLGtDQUFrQyxHQUFHLENBQUMsQ0FBNUMsQ0FKdUgsQ0FNdkg7O0FBQ0EsTUFBTVMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFGLEVBQUssQ0FBQyxDQUFOLEVBQVMsQ0FBVCxFQUFZLENBQVosRUFBZSxDQUFmLEVBQWtCLENBQWxCLEVBQXFCLENBQXJCLEVBQXdCLENBQXhCLENBQWxCO0FBQ0EsTUFBTUosY0FBYyxHQUFHLDhCQUFtQkksU0FBbkIsQ0FBdkI7QUFDQSxNQUFNTCxrQ0FBa0MsR0FBRyxDQUFDLEVBQTVDO0FBRUEsTUFBTU0sY0FBYyxHQUFHLENBQXZCO0FBRUEsTUFBTWhCLE1BQU0sR0FBRyx3QkFDYk8sY0FEYSxFQUViSSxjQUZhLEVBR2JMLGtDQUhhLEVBSWJJLGtDQUphLEVBS2JNLGNBTGEsQ0FBZjtBQVFBakMsRUFBQUEsTUFBTSxDQUFDaUIsTUFBRCxDQUFOLENBQWVHLE9BQWYsQ0FBdUIsRUFBdkI7QUFDRCxDQXRCTyxDQUFSO0FBd0JBdEMsUUFBUSxDQUFDLHdGQUFELEVBQTJGLFlBQU07QUFDdkc7QUFDQSxNQUFNaUQsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFGLEVBQUssQ0FBQyxDQUFOLEVBQVMsQ0FBVCxFQUFZLENBQVosRUFBZSxDQUFmLEVBQWtCLENBQWxCLEVBQXFCLENBQXJCLEVBQXdCLENBQXhCLENBQWxCO0FBQ0EsTUFBTVAsY0FBYyxHQUFHLDhCQUFtQk8sU0FBbkIsQ0FBdkI7QUFDQSxNQUFNUixrQ0FBa0MsR0FBRyxDQUFDLEVBQTVDLENBSnVHLENBTXZHOztBQUNBLE1BQU1TLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBRixFQUFLLENBQUMsQ0FBTixFQUFTLENBQVQsRUFBWSxDQUFaLEVBQWUsQ0FBZixFQUFrQixDQUFsQixFQUFxQixDQUFyQixFQUF3QixDQUF4QixDQUFsQjtBQUNBLE1BQU1KLGNBQWMsR0FBRyw4QkFBbUJJLFNBQW5CLENBQXZCO0FBQ0EsTUFBTUwsa0NBQWtDLEdBQUcsQ0FBQyxFQUE1QztBQUVBLE1BQU1NLGNBQWMsR0FBRyxDQUF2QjtBQUVBLE1BQU1oQixNQUFNLEdBQUcsd0JBQ2JPLGNBRGEsRUFFYkksY0FGYSxFQUdiTCxrQ0FIYSxFQUliSSxrQ0FKYSxFQUtiTSxjQUxhLENBQWY7QUFRQWpDLEVBQUFBLE1BQU0sQ0FBQ2lCLE1BQUQsQ0FBTixDQUFlRyxPQUFmLENBQXVCLENBQUMsQ0FBQyxDQUFGLENBQXZCO0FBQ0QsQ0F0Qk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuXG5pbXBvcnQgQXhlcywgeyBSYXdYQXhpcywgUmF3WUF4aXMsIGZpcnN0TmVnYXRpdmVWYWx1ZSwgc2hhcmVkVmFsdWVzIH0gZnJvbSAnLi4vYXhlcyc7XG5cbmRlc2NyaWJlKCdSYXdYQXhpcycsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgaW5jbHVkZUFycm93czoge1xuICAgICAgICBsZWZ0OiB0cnVlLFxuICAgICAgICByaWdodDogdHJ1ZSxcbiAgICAgICAgdXA6IHRydWUsXG4gICAgICAgIGRvd246IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8UmF3WEF4aXMgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdSYXdZQXhpcycsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgaW5jbHVkZUFycm93czoge1xuICAgICAgICBsZWZ0OiB0cnVlLFxuICAgICAgICByaWdodDogdHJ1ZSxcbiAgICAgICAgdXA6IHRydWUsXG4gICAgICAgIGRvd246IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8UmF3WUF4aXMgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmNvbnN0IGN1c3RvbVNjYWxlTW9jayA9IChkaXN0YW5jZSkgPT4ge1xuICBjb25zdCBmbiA9IGplc3QuZm4oKG4pID0+IG4gKiBkaXN0YW5jZSk7XG4gIGZuLmludmVydCA9IGplc3QuZm4oKG4pID0+IG4gKiBkaXN0YW5jZSk7XG4gIHJldHVybiBmbjtcbn07XG5cbmRlc2NyaWJlLm9ubHkoJ0F4ZXMnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgY3VzdG9tR3JhcGhQcm9wcyA9IHtcbiAgICAuLi5ncmFwaFByb3BzKCksXG4gICAgZG9tYWluOiB7XG4gICAgICBtaW46IC0yLFxuICAgICAgbWF4OiAyLFxuICAgICAgbGFiZWxTdGVwOiAxLFxuICAgICAgc3RlcDogMSxcbiAgICB9LFxuICAgIHJhbmdlOiB7XG4gICAgICBtaW46IC0yLFxuICAgICAgbWF4OiAyLFxuICAgICAgc3RlcDogMSxcbiAgICAgIGxhYmVsU3RlcDogMSxcbiAgICB9LFxuICAgIHNjYWxlOiB7XG4gICAgICB4OiBjdXN0b21TY2FsZU1vY2soMjAwKSxcbiAgICAgIHk6IGN1c3RvbVNjYWxlTW9jaygxNTApLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogY3VzdG9tR3JhcGhQcm9wcyxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8QXhlcyB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3hWYWx1ZXMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdy5pbnN0YW5jZSgpLnhWYWx1ZXMoKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICBjb2x1bW5UaWNrc1ZhbHVlczogZXhwZWN0LmFycmF5Q29udGFpbmluZyhbLTIsIC0xLCAwLCAxLCAyXSksXG4gICAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVg6IDE1MCxcbiAgICAgICAgZmlyc3ROZWdhdGl2ZVg6IC0xLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgneVZhbHVlcycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBjb25zdCByZXN1bHQgPSB3Lmluc3RhbmNlKCkueVZhbHVlcygpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHJvd1RpY2tWYWx1ZXM6IGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoWy0yLCAtMSwgMCwgMSwgMl0pLFxuICAgICAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZOiAyMDAsXG4gICAgICAgIGZpcnN0TmVnYXRpdmVZOiAtMSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnZmlyc3ROZWdhdGl2ZVZhbHVlIHNob3VsZCByZXR1cm4gdW5kZWZpZW5kIGZvciB1bmRlZmluZWQgaW50ZXJ2YWwnLCAoKSA9PiB7XG4gIGNvbnN0IGludGVydmFsID0gdW5kZWZpbmVkO1xuICBjb25zdCByZXN1bHQgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWwpO1xuICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHVuZGVmaW5lZCk7XG59KTtcblxuZGVzY3JpYmUoJ2ZpcnN0TmVnYXRpdmVWYWx1ZSBzaG91bGQgcmV0dXJuIHVuZGVmaWVuZCBmb3IgZW1wdHkgaW50ZXJ2YWwnLCAoKSA9PiB7XG4gIGNvbnN0IGludGVydmFsID0gW107XG4gIGNvbnN0IHJlc3VsdCA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbCk7XG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwodW5kZWZpbmVkKTtcbn0pO1xuXG5kZXNjcmliZSgnZmlyc3ROZWdhdGl2ZVZhbHVlIHNob3VsZCByZXR1cm4gdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIG5lZ2F0aXZlIGluIGludGVydmFsIGFycmF5JywgKCkgPT4ge1xuICBjb25zdCBpbnRlcnZhbCA9IFsxLCA1LCA3LCA0LCA1XTtcbiAgY29uc3QgcmVzdWx0ID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsKTtcbiAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh1bmRlZmluZWQpO1xufSk7XG5cbmRlc2NyaWJlKCdmaXJzdE5lZ2F0aXZlVmFsdWUgc2hvdWxkIHJldHVybiBmaXJzdCBuZWdhdGl2ZSBudW1iZXIgZnJvbSBpbnRlcnZhbCcsICgpID0+IHtcbiAgY29uc3QgaW50ZXJ2YWwgPSBbMSwgNSwgNywgLTIsIDQsIDUsIC0xXTtcbiAgY29uc3QgcmVzdWx0ID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsKTtcbiAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgtMik7XG59KTtcblxuZGVzY3JpYmUoJ3NraXBWYWx1ZSBzaG91bGQgYmUgZW1wdHkgYXJyYXkgaWYgZmlyc3ROZWdhdGl2ZVZhbHVlIGZvciBvbmUgb2YgdGhlIGF4ZXMgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAvLyB4XG4gIGNvbnN0IGludGVydmFsWCA9IFsxLCAyLCAzLCA0LCA1LCA2XTtcbiAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCA9IC0yMjtcblxuICAvLyB5XG4gIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcblxuICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgZmlyc3ROZWdhdGl2ZVksXG4gICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgIGRlbHRhQWxsb3dhbmNlLFxuICApO1xuXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW10pO1xufSk7XG5cbmRlc2NyaWJlKCdza2lwVmFsdWUgc2hvdWxkIGJlIGVtcHR5IGFycmF5IGlmIGZpcnN0TmVnYXRpdmVYIGFuZCBmaXJzdE5lZ2F0aXZlWSBhcmUgZXF1YWwgYnV0IHRoZXkgZG8gbm90IG92ZXJsYXAnLCAoKSA9PiB7XG4gIC8vIHhcbiAgY29uc3QgaW50ZXJ2YWxYID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gIGNvbnN0IGZpcnN0TmVnYXRpdmVYID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsWCk7XG4gIGNvbnN0IGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVggPSAtNztcblxuICAvLyB5XG4gIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcblxuICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgZmlyc3ROZWdhdGl2ZVksXG4gICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgIGRlbHRhQWxsb3dhbmNlLFxuICApO1xuXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW10pO1xufSk7XG5cbmRlc2NyaWJlKCdza2lwVmFsdWUgc2hvdWxkIGJlIC0xIGlmIGZpcnN0TmVnYXRpdmVYIGFuZCBmaXJzdE5lZ2F0aXZlWSBhcmUgZXF1YWwgYW5kIHRoZXkgb3ZlcmxhcCcsICgpID0+IHtcbiAgLy8geFxuICBjb25zdCBpbnRlcnZhbFggPSBbLTEsIC0yLCAxLCAyLCAzLCA0LCA1LCA2XTtcbiAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCA9IC0yMDtcblxuICAvLyB5XG4gIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcblxuICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgZmlyc3ROZWdhdGl2ZVksXG4gICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgIGRlbHRhQWxsb3dhbmNlLFxuICApO1xuXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoWy0xXSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _component = require("../component");
12
+
13
+ var _utils = require("../../../__tests__/utils");
14
+
15
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
+
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+
19
+ jest.mock('@pie-lib/plot/index', function () {
20
+ var a = jest.requireActual('@pie-lib/plot/index');
21
+ return {
22
+ types: a.types,
23
+ gridDraggable: a.gridDraggable,
24
+ utils: a.utils,
25
+ trig: {
26
+ edges: jest.fn(function () {
27
+ return jest.fn().mockReturnValue([0, 0]);
28
+ })
29
+ }
30
+ };
31
+ });
32
+ describe('ArrowedLine', function () {
33
+ var w;
34
+ var onChange = jest.fn();
35
+
36
+ var wrapper = function wrapper(extras) {
37
+ var defaults = {
38
+ classes: {},
39
+ className: 'className',
40
+ onChange: onChange,
41
+ markerId: '1',
42
+ graphProps: (0, _utils.graphProps)()
43
+ };
44
+
45
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
46
+
47
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_component.ArrowedLine, props));
48
+ };
49
+
50
+ describe('snapshot', function () {
51
+ it('renders', function () {
52
+ expect(wrapper()).toMatchSnapshot();
53
+ });
54
+ });
55
+ });
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9saW5lL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJhIiwicmVxdWlyZUFjdHVhbCIsInR5cGVzIiwiZ3JpZERyYWdnYWJsZSIsInV0aWxzIiwidHJpZyIsImVkZ2VzIiwiZm4iLCJtb2NrUmV0dXJuVmFsdWUiLCJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJtYXJrZXJJZCIsImdyYXBoUHJvcHMiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBQ0FBLElBQUksQ0FBQ0MsSUFBTCxDQUFVLHFCQUFWLEVBQWlDLFlBQU07QUFDckMsTUFBTUMsQ0FBQyxHQUFHRixJQUFJLENBQUNHLGFBQUwsQ0FBbUIscUJBQW5CLENBQVY7QUFDQSxTQUFPO0FBQ0xDLElBQUFBLEtBQUssRUFBRUYsQ0FBQyxDQUFDRSxLQURKO0FBRUxDLElBQUFBLGFBQWEsRUFBRUgsQ0FBQyxDQUFDRyxhQUZaO0FBR0xDLElBQUFBLEtBQUssRUFBRUosQ0FBQyxDQUFDSSxLQUhKO0FBSUxDLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSxLQUFLLEVBQUVSLElBQUksQ0FBQ1MsRUFBTCxDQUFRO0FBQUEsZUFBTVQsSUFBSSxDQUFDUyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUExQixDQUFOO0FBQUEsT0FBUjtBQURIO0FBSkQsR0FBUDtBQVFELENBVkQ7QUFZQUMsUUFBUSxDQUFDLGFBQUQsRUFBZ0IsWUFBTTtBQUM1QixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHYixJQUFJLENBQUNTLEVBQUwsRUFBZjs7QUFDQSxNQUFNSyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFNBQVMsRUFBRSxXQUZJO0FBR2ZMLE1BQUFBLFFBQVEsRUFBUkEsUUFIZTtBQUlmTSxNQUFBQSxRQUFRLEVBQUUsR0FKSztBQUtmQyxNQUFBQSxVQUFVLEVBQUU7QUFMRyxLQUFqQjs7QUFPQSxRQUFNQyxLQUFLLG1DQUFRTCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFdBQU8sbUNBQVEsZ0NBQUMsc0JBQUQsRUFBaUJNLEtBQWpCLENBQVIsQ0FBUDtBQUNELEdBVkQ7O0FBV0FWLEVBQUFBLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUN6QlcsSUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCQyxNQUFBQSxNQUFNLENBQUNULE9BQU8sRUFBUixDQUFOLENBQWtCVSxlQUFsQjtBQUNELEtBRkMsQ0FBRjtBQUdELEdBSk8sQ0FBUjtBQUtELENBbkJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBcnJvd2VkTGluZSB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIGFzIGdldEdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuamVzdC5tb2NrKCdAcGllLWxpYi9wbG90L2luZGV4JywgKCkgPT4ge1xuICBjb25zdCBhID0gamVzdC5yZXF1aXJlQWN0dWFsKCdAcGllLWxpYi9wbG90L2luZGV4Jyk7XG4gIHJldHVybiB7XG4gICAgdHlwZXM6IGEudHlwZXMsXG4gICAgZ3JpZERyYWdnYWJsZTogYS5ncmlkRHJhZ2dhYmxlLFxuICAgIHV0aWxzOiBhLnV0aWxzLFxuICAgIHRyaWc6IHtcbiAgICAgIGVkZ2VzOiBqZXN0LmZuKCgpID0+IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoWzAsIDBdKSksXG4gICAgfSxcbiAgfTtcbn0pO1xuXG5kZXNjcmliZSgnQXJyb3dlZExpbmUnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG1hcmtlcklkOiAnMScsXG4gICAgICBncmFwaFByb3BzOiBnZXRHcmFwaFByb3BzKCksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxBcnJvd2VkTGluZSB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHdyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=