@pie-element/fraction-model 2.1.6-next.3 → 2.2.1-beta.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.
@@ -100,4 +100,4 @@ exports.MiniField = MiniField;
100
100
  var _default = (0, _styles.withStyles)(styles)(NumberTextField);
101
101
 
102
102
  exports["default"] = _default;
103
- //# sourceMappingURL=number-text-field.js.map
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9udW1iZXItdGV4dC1maWVsZC5qc3giXSwibmFtZXMiOlsiTnVtYmVyVGV4dEZpZWxkIiwiY2xhc3NlcyIsInByb3BzIiwidW5kZWZpbmVkIiwidGV4dEZpZWxkIiwiY2xhc3NOYW1lIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwic3R5bGVzIiwidGhlbWUiLCJtYXJnaW5MZWZ0Iiwic3BhY2luZyIsInVuaXQiLCJtaW5pU3R5bGVzIiwibWF4V2lkdGgiLCJ3aWR0aCIsIm1hcmdpblRvcCIsImhlaWdodCIsImZvbnRTaXplIiwiTWluaUZpZWxkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0lBRWFBLGU7Ozs7Ozs7Ozs7OztXQUtYLGtCQUFTO0FBQ1AsVUFBUUMsT0FBUixHQUFvQixLQUFLQyxLQUF6QixDQUFRRCxPQUFSOztBQUNBLFVBQU1DLEtBQUssbUNBQVEsS0FBS0EsS0FBYjtBQUFvQkQsUUFBQUEsT0FBTyxFQUFFRTtBQUE3QixRQUFYOztBQUNBLDBCQUFPLGdDQUFDLHlCQUFELGdDQUFTRCxLQUFUO0FBQWdCLFFBQUEsU0FBUyxFQUFFLDRCQUFHRCxPQUFPLENBQUNHLFNBQVgsRUFBc0JGLEtBQUssQ0FBQ0csU0FBNUIsQ0FBM0I7QUFBbUUsUUFBQSxPQUFPLEVBQUM7QUFBM0UsU0FBUDtBQUNEOzs7RUFUa0NDLGtCQUFNQyxTOzs7aUNBQTlCUCxlLGVBQ1E7QUFDakJDLEVBQUFBLE9BQU8sRUFBRU8sc0JBQVVDLE1BQVYsQ0FBaUJDO0FBRFQsQzs7QUFXckIsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ0MsS0FBRDtBQUFBLFNBQVk7QUFDekJSLElBQUFBLFNBQVMsRUFBRTtBQUNUUyxNQUFBQSxVQUFVLEVBQUVELEtBQUssQ0FBQ0UsT0FBTixDQUFjQztBQURqQjtBQURjLEdBQVo7QUFBQSxDQUFmOztBQU1BLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFhO0FBQUEsU0FBTztBQUN4QlosSUFBQUEsU0FBUyxFQUFFO0FBQ1RhLE1BQUFBLFFBQVEsRUFBRSxPQUREO0FBRVRDLE1BQUFBLEtBQUssRUFBRSxPQUZFO0FBR1RDLE1BQUFBLFNBQVMsRUFBRSxHQUhGO0FBSVQsd0NBQWtDO0FBQ2hDQyxRQUFBQSxNQUFNLEVBQUUsRUFEd0I7QUFFaENDLFFBQUFBLFFBQVEsRUFBRTtBQUZzQjtBQUp6QjtBQURhLEdBQVA7QUFBQSxDQUFuQjs7QUFXTyxJQUFNQyxTQUFTLEdBQUcsd0JBQVdOLFVBQVgsRUFBdUJoQixlQUF2QixDQUFsQjs7O2VBRVEsd0JBQVdXLE1BQVgsRUFBbUJYLGVBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOdW1iZXJUZXh0RmllbGQgYXMgTlRGIH0gZnJvbSAnQHBpZS1saWIvcGllLXRvb2xib3gvY29uZmlnLXVpJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY24gZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJUZXh0RmllbGQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc2VzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHByb3BzID0geyAuLi50aGlzLnByb3BzLCBjbGFzc2VzOiB1bmRlZmluZWQgfTtcbiAgICByZXR1cm4gPE5URiB7Li4ucHJvcHN9IGNsYXNzTmFtZT17Y24oY2xhc3Nlcy50ZXh0RmllbGQsIHByb3BzLmNsYXNzTmFtZSl9IHZhcmlhbnQ9XCJvdXRsaW5lZFwiIC8+O1xuICB9XG59XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgdGV4dEZpZWxkOiB7XG4gICAgbWFyZ2luTGVmdDogdGhlbWUuc3BhY2luZy51bml0LFxuICB9LFxufSk7XG5cbmNvbnN0IG1pbmlTdHlsZXMgPSAoKSA9PiAoe1xuICB0ZXh0RmllbGQ6IHtcbiAgICBtYXhXaWR0aDogJzEyMHB4JyxcbiAgICB3aWR0aDogJzEyMHB4JyxcbiAgICBtYXJnaW5Ub3A6ICcwJyxcbiAgICAnJiBbY2xhc3NePVwiTXVpSW5wdXRCYXNlLXJvb3RcIl0nOiB7XG4gICAgICBoZWlnaHQ6IDQwLFxuICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICB9LFxuICB9LFxufSk7XG5leHBvcnQgY29uc3QgTWluaUZpZWxkID0gd2l0aFN0eWxlcyhtaW5pU3R5bGVzKShOdW1iZXJUZXh0RmllbGQpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoTnVtYmVyVGV4dEZpZWxkKTtcbiJdfQ==
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/fraction-model-configure",
3
3
  "private": true,
4
- "version": "2.0.7",
4
+ "version": "2.1.1",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
10
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/pie-toolbox": "2.0.15",
11
+ "@pie-lib/pie-toolbox": "1.33.1",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15",
14
14
  "prop-types": "^15.6.2",
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.0.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/fraction-model-controller@2.0.8...@pie-element/fraction-model-controller@2.0.9) (2024-11-01)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-lib PD-4361 ([0ed2a71](https://github.com/pie-framework/pie-elements/commit/0ed2a7156d3fef55b9c25ab9c60d0df836b86ee5))
12
+ * update pie-lib/pie-toolbox PD-4319, PD-1460, PD-4004 ([db03ac7](https://github.com/pie-framework/pie-elements/commit/db03ac7473960cedef2c83c79920e77db06f605d))
13
+ * update pie-lib/pie-toolbox PD-4372 ([dc73470](https://github.com/pie-framework/pie-elements/commit/dc734705a6aefa0f69eb29d3d695c57e31671ab8))
14
+
15
+
16
+
17
+
18
+
19
+ ## [2.0.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/fraction-model-controller@2.0.7...@pie-element/fraction-model-controller@2.0.8) (2024-10-29)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * fixed all tests after updating pie-toolbox [PD-1460] ([9f5293d](https://github.com/pie-framework/pie-elements/commit/9f5293d618edc06f69fabb27a042ec5eee66e151))
25
+
26
+
27
+
28
+
29
+
6
30
  ## [2.0.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/fraction-model-controller@2.0.6...@pie-element/fraction-model-controller@2.0.7) (2024-10-28)
7
31
 
8
32
 
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+
9
+ var _index = require("../index");
10
+
11
+ jest.mock('@pie-lib/pie-toolbox/text-select', function () {
12
+ return {
13
+ prepareText: jest.fn()
14
+ };
15
+ });
16
+ var defaultModel = {
17
+ id: '1',
18
+ element: 'fraction-model',
19
+ correctResponse: [{
20
+ id: 1,
21
+ value: 5
22
+ }, {
23
+ id: 2,
24
+ value: 5
25
+ }, {
26
+ id: 3,
27
+ value: 2
28
+ }],
29
+ title: 'Question',
30
+ prompt: 'Title',
31
+ modelTypeSelected: 'bar',
32
+ maxModelSelected: 3,
33
+ partsPerModel: 5,
34
+ allowedStudentConfig: false,
35
+ showGraphLabels: false
36
+ };
37
+ describe('getResponseCorrectness', function () {
38
+ it('returns correct correctness', function () {
39
+ var c = (0, _index.getResponseCorrectness)(defaultModel, {
40
+ response: [{
41
+ id: 1,
42
+ value: 5
43
+ }, {
44
+ id: 2,
45
+ value: 2
46
+ }, {
47
+ id: 3,
48
+ value: 5
49
+ }]
50
+ });
51
+ expect(c).toEqual('correct');
52
+ });
53
+ it('returns incorrect correctness', function () {
54
+ var c = (0, _index.getResponseCorrectness)(defaultModel, {
55
+ response: [{
56
+ id: 1,
57
+ value: 5
58
+ }, {
59
+ id: 2,
60
+ value: 2
61
+ }]
62
+ });
63
+ expect(c).toEqual('incorrect');
64
+ });
65
+ });
66
+ describe('outcome', function () {
67
+ it('handles empty session', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
68
+ var result;
69
+ return _regenerator["default"].wrap(function _callee$(_context) {
70
+ while (1) {
71
+ switch (_context.prev = _context.next) {
72
+ case 0:
73
+ _context.next = 2;
74
+ return (0, _index.outcome)(defaultModel, {
75
+ id: '1',
76
+ answers: {
77
+ response: []
78
+ }
79
+ }, {
80
+ mode: 'evaluate'
81
+ });
82
+
83
+ case 2:
84
+ result = _context.sent;
85
+ expect(result).toEqual({
86
+ score: 0
87
+ });
88
+
89
+ case 4:
90
+ case "end":
91
+ return _context.stop();
92
+ }
93
+ }
94
+ }, _callee);
95
+ })));
96
+ it('handles correct session', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
97
+ var result;
98
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
99
+ while (1) {
100
+ switch (_context2.prev = _context2.next) {
101
+ case 0:
102
+ _context2.next = 2;
103
+ return (0, _index.outcome)(defaultModel, {
104
+ id: '1',
105
+ answers: {
106
+ response: [{
107
+ id: 1,
108
+ value: 5
109
+ }, {
110
+ id: 2,
111
+ value: 2
112
+ }, {
113
+ id: 3,
114
+ value: 5
115
+ }]
116
+ }
117
+ }, {
118
+ mode: 'evaluate'
119
+ });
120
+
121
+ case 2:
122
+ result = _context2.sent;
123
+ expect(result).toEqual({
124
+ score: 1
125
+ });
126
+
127
+ case 4:
128
+ case "end":
129
+ return _context2.stop();
130
+ }
131
+ }
132
+ }, _callee2);
133
+ })));
134
+ it('handles incorrect session', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
135
+ var result;
136
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
137
+ while (1) {
138
+ switch (_context3.prev = _context3.next) {
139
+ case 0:
140
+ _context3.next = 2;
141
+ return (0, _index.outcome)(defaultModel, {
142
+ id: '1',
143
+ answers: {
144
+ response: [{
145
+ id: 1,
146
+ value: 5
147
+ }, {
148
+ id: 2,
149
+ value: 2
150
+ }]
151
+ }
152
+ }, {
153
+ mode: 'evaluate'
154
+ });
155
+
156
+ case 2:
157
+ result = _context3.sent;
158
+ expect(result).toEqual({
159
+ score: 0
160
+ });
161
+
162
+ case 4:
163
+ case "end":
164
+ return _context3.stop();
165
+ }
166
+ }
167
+ }, _callee3);
168
+ })));
169
+ });
170
+ describe('model', function () {
171
+ it('returns object', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
172
+ var result;
173
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
174
+ while (1) {
175
+ switch (_context4.prev = _context4.next) {
176
+ case 0:
177
+ _context4.next = 2;
178
+ return (0, _index.model)({}, {}, {});
179
+
180
+ case 2:
181
+ result = _context4.sent;
182
+ expect(result).toEqual({
183
+ env: {},
184
+ correctResponse: [],
185
+ title: '',
186
+ prompt: '',
187
+ modelTypeSelected: 'bar',
188
+ maxModelSelected: 1,
189
+ partsPerModel: 5,
190
+ allowedStudentConfig: false,
191
+ showGraphLabels: false,
192
+ view: false
193
+ });
194
+
195
+ case 4:
196
+ case "end":
197
+ return _context4.stop();
198
+ }
199
+ }
200
+ }, _callee4);
201
+ })));
202
+ });
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsInByZXBhcmVUZXh0IiwiZm4iLCJkZWZhdWx0TW9kZWwiLCJpZCIsImVsZW1lbnQiLCJjb3JyZWN0UmVzcG9uc2UiLCJ2YWx1ZSIsInRpdGxlIiwicHJvbXB0IiwibW9kZWxUeXBlU2VsZWN0ZWQiLCJtYXhNb2RlbFNlbGVjdGVkIiwicGFydHNQZXJNb2RlbCIsImFsbG93ZWRTdHVkZW50Q29uZmlnIiwic2hvd0dyYXBoTGFiZWxzIiwiZGVzY3JpYmUiLCJpdCIsImMiLCJyZXNwb25zZSIsImV4cGVjdCIsInRvRXF1YWwiLCJhbnN3ZXJzIiwibW9kZSIsInJlc3VsdCIsInNjb3JlIiwiZW52IiwidmlldyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsa0NBQVYsRUFBOEM7QUFBQSxTQUFPO0FBQ25EQyxJQUFBQSxXQUFXLEVBQUVGLElBQUksQ0FBQ0csRUFBTDtBQURzQyxHQUFQO0FBQUEsQ0FBOUM7QUFJQSxJQUFNQyxZQUFZLEdBQUc7QUFDbkJDLEVBQUFBLEVBQUUsRUFBRSxHQURlO0FBRW5CQyxFQUFBQSxPQUFPLEVBQUUsZ0JBRlU7QUFHbkJDLEVBQUFBLGVBQWUsRUFBRSxDQUNmO0FBQ0VGLElBQUFBLEVBQUUsRUFBRSxDQUROO0FBRUVHLElBQUFBLEtBQUssRUFBRTtBQUZULEdBRGUsRUFLZjtBQUNFSCxJQUFBQSxFQUFFLEVBQUUsQ0FETjtBQUVFRyxJQUFBQSxLQUFLLEVBQUU7QUFGVCxHQUxlLEVBU2Y7QUFDRUgsSUFBQUEsRUFBRSxFQUFFLENBRE47QUFFRUcsSUFBQUEsS0FBSyxFQUFFO0FBRlQsR0FUZSxDQUhFO0FBaUJuQkMsRUFBQUEsS0FBSyxFQUFFLFVBakJZO0FBa0JuQkMsRUFBQUEsTUFBTSxFQUFFLE9BbEJXO0FBbUJuQkMsRUFBQUEsaUJBQWlCLEVBQUUsS0FuQkE7QUFv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QUFlLEVBQUUsRUFGSTtBQUdyQkUsY0FBQUEsS0FBSyxFQUFFLEVBSGM7QUFJckJDLGNBQUFBLE1BQU0sRUFBRSxFQUphO0FBS3JCQyxjQUFBQSxpQkFBaUIsRUFBRSxLQUxFO0FBTXJCQyxjQUFBQSxnQkFBZ0IsRUFBRSxDQU5HO0FBT3JCQyxjQUFBQSxhQUFhLEVBQUUsQ0FQTTtBQVFyQkMsY0FBQUEsb0JBQW9CLEVBQUUsS0FSRDtBQVNyQkMsY0FBQUEsZUFBZSxFQUFFLEtBVEk7QUFVckJZLGNBQUFBLElBQUksRUFBRTtBQVZlLGFBQXZCOztBQUZtQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHQUFuQixHQUFGO0FBZUQsQ0FoQk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFJlc3BvbnNlQ29ycmVjdG5lc3MsIG1vZGVsLCBvdXRjb21lIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL3BpZS10b29sYm94L3RleHQtc2VsZWN0JywgKCkgPT4gKHtcbiAgcHJlcGFyZVRleHQ6IGplc3QuZm4oKSxcbn0pKTtcblxuY29uc3QgZGVmYXVsdE1vZGVsID0ge1xuICBpZDogJzEnLFxuICBlbGVtZW50OiAnZnJhY3Rpb24tbW9kZWwnLFxuICBjb3JyZWN0UmVzcG9uc2U6IFtcbiAgICB7XG4gICAgICBpZDogMSxcbiAgICAgIHZhbHVlOiA1LFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDIsXG4gICAgICB2YWx1ZTogNSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAzLFxuICAgICAgdmFsdWU6IDIsXG4gICAgfSxcbiAgXSxcbiAgdGl0bGU6ICdRdWVzdGlvbicsXG4gIHByb21wdDogJ1RpdGxlJyxcbiAgbW9kZWxUeXBlU2VsZWN0ZWQ6ICdiYXInLFxuICBtYXhNb2RlbFNlbGVjdGVkOiAzLFxuICBwYXJ0c1Blck1vZGVsOiA1LFxuICBhbGxvd2VkU3R1ZGVudENvbmZpZzogZmFsc2UsXG4gIHNob3dHcmFwaExhYmVsczogZmFsc2UsXG59O1xuXG5kZXNjcmliZSgnZ2V0UmVzcG9uc2VDb3JyZWN0bmVzcycsICgpID0+IHtcbiAgaXQoJ3JldHVybnMgY29ycmVjdCBjb3JyZWN0bmVzcycsICgpID0+IHtcbiAgICBjb25zdCBjID0gZ2V0UmVzcG9uc2VDb3JyZWN0bmVzcyhkZWZhdWx0TW9kZWwsIHtcbiAgICAgIHJlc3BvbnNlOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogMSxcbiAgICAgICAgICB2YWx1ZTogNSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgIHZhbHVlOiAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6IDMsXG4gICAgICAgICAgdmFsdWU6IDUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIGV4cGVjdChjKS50b0VxdWFsKCdjb3JyZWN0Jyk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm5zIGluY29ycmVjdCBjb3JyZWN0bmVzcycsICgpID0+IHtcbiAgICBjb25zdCBjID0gZ2V0UmVzcG9uc2VDb3JyZWN0bmVzcyhkZWZhdWx0TW9kZWwsIHtcbiAgICAgIHJlc3BvbnNlOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogMSxcbiAgICAgICAgICB2YWx1ZTogNSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgIHZhbHVlOiAyLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICBleHBlY3QoYykudG9FcXVhbCgnaW5jb3JyZWN0Jyk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdvdXRjb21lJywgKCkgPT4ge1xuICBpdCgnaGFuZGxlcyBlbXB0eSBzZXNzaW9uJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG91dGNvbWUoXG4gICAgICBkZWZhdWx0TW9kZWwsXG4gICAgICB7XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIGFuc3dlcnM6IHtcbiAgICAgICAgICByZXNwb25zZTogW10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBtb2RlOiAnZXZhbHVhdGUnIH0sXG4gICAgKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgc2NvcmU6IDAgfSk7XG4gIH0pO1xuICBpdCgnaGFuZGxlcyBjb3JyZWN0IHNlc3Npb24nLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3V0Y29tZShcbiAgICAgIGRlZmF1bHRNb2RlbCxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgYW5zd2Vyczoge1xuICAgICAgICAgIHJlc3BvbnNlOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgICB2YWx1ZTogNSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgICAgICB2YWx1ZTogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAzLFxuICAgICAgICAgICAgICB2YWx1ZTogNSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IG1vZGU6ICdldmFsdWF0ZScgfSxcbiAgICApO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoeyBzY29yZTogMSB9KTtcbiAgfSk7XG5cbiAgaXQoJ2hhbmRsZXMgaW5jb3JyZWN0IHNlc3Npb24nLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3V0Y29tZShcbiAgICAgIGRlZmF1bHRNb2RlbCxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgYW5zd2Vyczoge1xuICAgICAgICAgIHJlc3BvbnNlOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgICB2YWx1ZTogNSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgICAgICB2YWx1ZTogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IG1vZGU6ICdldmFsdWF0ZScgfSxcbiAgICApO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoeyBzY29yZTogMCB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ21vZGVsJywgKCkgPT4ge1xuICBpdCgncmV0dXJucyBvYmplY3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9kZWwoe30sIHt9LCB7fSk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICBlbnY6IHt9LFxuICAgICAgY29ycmVjdFJlc3BvbnNlOiBbXSxcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIHByb21wdDogJycsXG4gICAgICBtb2RlbFR5cGVTZWxlY3RlZDogJ2JhcicsXG4gICAgICBtYXhNb2RlbFNlbGVjdGVkOiAxLFxuICAgICAgcGFydHNQZXJNb2RlbDogNSxcbiAgICAgIGFsbG93ZWRTdHVkZW50Q29uZmlnOiBmYWxzZSxcbiAgICAgIHNob3dHcmFwaExhYmVsczogZmFsc2UsXG4gICAgICB2aWV3OiBmYWxzZSxcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -18,4 +18,4 @@ var _default = {
18
18
  }
19
19
  };
20
20
  exports["default"] = _default;
21
- //# sourceMappingURL=defaults.js.map
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJtb2RlbCIsImNvcnJlY3RSZXNwb25zZSIsInRpdGxlIiwicHJvbXB0IiwibW9kZWxUeXBlU2VsZWN0ZWQiLCJtYXhNb2RlbFNlbGVjdGVkIiwicGFydHNQZXJNb2RlbCIsImFsbG93ZWRTdHVkZW50Q29uZmlnIiwic2hvd0dyYXBoTGFiZWxzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtlQUNlO0FBQ2JBLEVBQUFBLEtBQUssRUFBRTtBQUNMQyxJQUFBQSxlQUFlLEVBQUUsRUFEWjtBQUVMQyxJQUFBQSxLQUFLLEVBQUUsRUFGRjtBQUdMQyxJQUFBQSxNQUFNLEVBQUUsRUFISDtBQUlMQyxJQUFBQSxpQkFBaUIsRUFBRSxLQUpkO0FBS0xDLElBQUFBLGdCQUFnQixFQUFFLENBTGI7QUFNTEMsSUFBQUEsYUFBYSxFQUFFLENBTlY7QUFPTEMsSUFBQUEsb0JBQW9CLEVBQUUsS0FQakI7QUFRTEMsSUFBQUEsZUFBZSxFQUFFO0FBUlo7QUFETSxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU2hvdWxkIGJlIGV4YWN0bHkgdGhlIHNhbWUgYXMgY29uZmlndXJlL2RlZmF1bHRzLmpzXG5leHBvcnQgZGVmYXVsdCB7XG4gIG1vZGVsOiB7XG4gICAgY29ycmVjdFJlc3BvbnNlOiBbXSxcbiAgICB0aXRsZTogJycsXG4gICAgcHJvbXB0OiAnJyxcbiAgICBtb2RlbFR5cGVTZWxlY3RlZDogJ2JhcicsXG4gICAgbWF4TW9kZWxTZWxlY3RlZDogMSxcbiAgICBwYXJ0c1Blck1vZGVsOiA1LFxuICAgIGFsbG93ZWRTdHVkZW50Q29uZmlnOiBmYWxzZSxcbiAgICBzaG93R3JhcGhMYWJlbHM6IGZhbHNlLFxuICB9LFxufTtcbiJdfQ==
@@ -257,4 +257,4 @@ var validate = function validate() {
257
257
  };
258
258
 
259
259
  exports.validate = validate;
260
- //# sourceMappingURL=index.js.map
260
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZXRSZXNwb25zZUNvcnJlY3RuZXNzIiwibW9kZWwiLCJhbnN3ZXJzIiwiZW52IiwiY29ycmVjdCIsImFsbG93ZWRTdHVkZW50Q29uZmlnIiwicGFydHNQZXJNb2RlbCIsInBhcnRpYWxGaWxsQ2hlY2siLCJyZXNwb25zZSIsIm51bWVyYXRvckNoZWNrIiwiY29ycmVjdFJlc3BvbnNlIiwiZ2V0Q29ycmVjdG5lc3MiLCJxdWVzdGlvbiIsIm1vZGUiLCJnZXRPdXRDb21lU2NvcmUiLCJjb3JyZWN0bmVzcyIsIm91dGNvbWUiLCJzZXNzaW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzY29yZSIsImVtcHR5IiwidW5kZWZpbmVkIiwiY29tcGxldGVkIiwiY29ycmVjdE51bWVyYXRvciIsInJlc3BvbnNlTnVtZXJhdG9yIiwiaSIsImxlbmd0aCIsInZhbHVlIiwicGFydGlhbE1vZGVsQ291bnQiLCJmb3JFYWNoIiwic2VsZWN0aW9uIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwiZGVmYXVsdHMiLCJjb3JyZWN0SW5mbyIsIm91dCIsInZpZXciLCJPYmplY3QiLCJhc3NpZ24iLCJjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uIiwicm9sZSIsIm1heE1vZGVsU2VsZWN0ZWQiLCJub09mTW9kZWwiLCJpZCIsInZhbGlkYXRlIiwiY29uZmlnIiwiZXJyb3JzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOzs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1BLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBeUIsQ0FBQ0MsS0FBRCxFQUFRQyxPQUFSLEVBQThCO0FBQUEsTUFBYkMsR0FBYSx1RUFBUCxFQUFPO0FBQ2xFLE1BQUlDLE9BQUo7O0FBQ0EsTUFBSUgsS0FBSyxDQUFDSSxvQkFBVixFQUFnQztBQUM5QkQsSUFBQUEsT0FBTyxHQUFHLENBQUMsRUFDVEYsT0FB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ZUFBTixDQUFzQmlCLE1BQXRCLEdBQStCLENBQW5DLEVBQXNDO0FBQ3BDLFFBQUlFLGlCQUFpQixHQUFHLENBQXhCO0FBQ0E1QixJQUFBQSxLQUFLLENBQUNTLGVBQU4sQ0FBc0JvQixPQUF0QixDQUE4QixVQUFDQyxTQUFELEVBQWU7QUFDM0MsVUFBSUEsU0FBUyxDQUFDSCxLQUFWLEtBQW9CM0IsS0FBSyxDQUFDSyxhQUE5QixFQUE2QztBQUMzQ3VCLFFBQUFBLGlCQUFpQjtBQUNsQjtBQUNGLEtBSkQ7O0FBS0EsUUFBSUEsaUJBQWlCLEdBQUcsQ0FBeEIsRUFBMkI7QUFDekJpQixNQUFBQSxNQUFNLENBQUNwQyxlQUFQLEdBQXlCLDJFQUF6QjtBQUNEO0FBQ0Y7O0FBQ0QsU0FBT29DLE1BQVA7QUFDRCxDQWpCTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBkZWZhdWx0cyBmcm9tICcuL2RlZmF1bHRzJztcblxuLypcbiAqIEZ1bmN0aW9uIHRvIGNoZWNrIHRoZSBjb3JyZWN0bmVzcyBvZiB0aGUgcmVzcG9uc2VcbiAqIEBwYXJhbSB7bW9kZWx9IG1vZGVsIGNvbnRhaW5zIHRoZSBtb2RlbCBvYmplY3RcbiAqIEBwYXJhbSB7YW5zd2Vyc30gYW5zd2VycyBjb250YWlucyB0aGUgYW5zd2VycyBvYmplY3RcbiAqIEBwYXJhbSB7ZW52fSBlbnYgY29udGFpbnMgdGhlIGVudmlyb25tZW50IG9iamVjdFxuICogQHJldHVybnMge3N0cmluZ30gcmV0dXJucyB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlIHJlc3BvbnNlXG4gKiAqL1xuZXhwb3J0IGNvbnN0IGdldFJlc3BvbnNlQ29ycmVjdG5lc3MgPSAobW9kZWwsIGFuc3dlcnMsIGVudiA9IHt9KSA9PiB7XG4gIGxldCBjb3JyZWN0O1xuICBpZiAobW9kZWwuYWxsb3dlZFN0dWRlbnRDb25maWcpIHtcbiAgICBjb3JyZWN0ID0gISEoXG4gICAgICBhbnN3ZXJzLnBhcnRzUGVyTW9kZWwgPT09IG1vZGVsLnBhcnRzUGVyTW9kZWwgJiZcbiAgICAgIHBhcnRpYWxGaWxsQ2hlY2soYW5zd2Vycy5yZXNwb25zZSwgbW9kZWwucGFydHNQZXJNb2RlbCkgJiZcbiAgICAgIG51bWVyYXRvckNoZWNrKG1vZGVsLmNvcnJlY3RSZXNwb25zZSwgYW5zd2Vycy5yZXNwb25zZSlcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGNvcnJlY3QgPSAhIShcbiAgICAgIHBhcnRpYWxGaWxsQ2hlY2soYW5zd2Vycy5yZXNwb25zZSwgbW9kZWwucGFydHNQZXJNb2RlbCkgJiYgbnVtZXJhdG9yQ2hlY2sobW9kZWwuY29ycmVjdFJlc3BvbnNlLCBhbnN3ZXJzLnJlc3BvbnNlKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGNvcnJlY3QgPyAnY29ycmVjdCcgOiAnaW5jb3JyZWN0Jztcbn07XG5cbi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSByZXNwb25zZVxuICogQHBhcmFtIHtxdWVzdGlvbn0gcXVlc3Rpb24gY29udGFpbnMgdGhlIHF1ZXN0aW9uIG9iamVjdFxuICogQHBhcmFtIHtlbnZ9IGVudiBjb250YWlucyB0aGUgZW52aXJvbm1lbnQgb2JqZWN0XG4gKiBAcGFyYW0ge2Fuc3dlcnN9IGFuc3dlcnMgY29udGFpbnMgdGhlIGFuc3dlcnMgb2JqZWN0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSByZXR1cm5zIHRoZSBjb3JyZWN0bmVzc1xuICogKi9cbmNvbnN0IGdldENvcnJlY3RuZXNzID0gKHF1ZXN0aW9uLCBlbnYsIGFuc3dlcnMgPSB7fSkgPT4ge1xuICBpZiAoZW52Lm1vZGUgPT09ICdldmFsdWF0ZScpIHtcbiAgICByZXR1cm4gZ2V0UmVzcG9uc2VDb3JyZWN0bmVzcyhxdWVzdGlvbiwgYW5zd2VycywgZW52KTtcbiAgfVxufTtcblxuLypcbiAqIEZ1bmN0aW9uIHRvIGdldCB0aGUgb3V0Y29tZSBzY29yZVxuICogQHBhcmFtIHtxdWVzdGlvbn0gcXVlc3Rpb24gY29udGFpbnMgdGhlIHF1ZXN0aW9uIG9iamVjdFxuICogQHBhcmFtIHtlbnZ9IGVudiBjb250YWlucyB0aGUgZW52aXJvbm1lbnQgb2JqZWN0XG4gKiBAcGFyYW0ge2Fuc3dlcnN9IGFuc3dlcnMgY29udGFpbnMgdGhlIGFuc3dlcnMgb2JqZWN0XG4gKiBAcmV0dXJucyB7bnVtYmVyfSByZXR1cm5zIHRoZSBzY29yZVxuICogKi9cbmNvbnN0IGdldE91dENvbWVTY29yZSA9IChxdWVzdGlvbiwgZW52LCBhbnN3ZXJzID0ge30pID0+IHtcbiAgY29uc3QgY29ycmVjdG5lc3MgPSBnZXRDb3JyZWN0bmVzcyhxdWVzdGlvbiwgZW52LCBhbnN3ZXJzKTtcbiAgcmV0dXJuIGNvcnJlY3RuZXNzID09PSAnY29ycmVjdCcgPyAxIDogMDtcbn07XG5cbi8qXG4gKiBGdW5jdGlvbiB0byBjaGVjayBvdXRjb21lIG9mIHRoZSBzZXNzaW9uXG4gKiBAcGFyYW0ge21vZGVsfSBtb2RlbCBjb250YWlucyB0aGUgbW9kZWwgb2JqZWN0XG4gKiBAcGFyYW0ge3Nlc3Npb259IHNlc3Npb24gY29udGFpbnMgdGhlIHNlc3Npb24gb2JqZWN0XG4gKiBAcGFyYW0ge2Vudn0gZW52IGNvbnRhaW5zIHRoZSBlbnZpcm9ubWVudCBvYmplY3RcbiAqIEByZXR1cm5zIHtQcm9taXNlfSByZXR1cm5zIHRoZSBzY29yZVxuICovXG5leHBvcnQgY29uc3Qgb3V0Y29tZSA9IChtb2RlbCwgc2Vzc2lvbiwgZW52KSA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmICghc2Vzc2lvbiB8fCBpc0VtcHR5KHNlc3Npb24pKSB7XG4gICAgICByZXNvbHZlKHsgc2NvcmU6IDAsIGVtcHR5OiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZW52Lm1vZGUgIT09ICdldmFsdWF0ZScpIHtcbiAgICAgICAgcmVzb2x2ZSh7IHNjb3JlOiB1bmRlZmluZWQsIGNvbXBsZXRlZDogdW5kZWZpbmVkIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSh7IHNjb3JlOiBnZXRPdXRDb21lU2NvcmUobW9kZWwsIGVudiwgc2Vzc2lvbi5hbnN3ZXJzKSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4vKlxuICogRnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlIG51bWVyYXRvciBvZiB0aGUgcmVzcG9uc2UgbWF0Y2hlcyB0aGUgbnVtZXJhdG9yIG9mIHRoZSBjb3JyZWN0IHJlc3BvbnNlXG4gKiBAcGFyYW0ge2NvcnJlY3RSZXNwb25zZX0gY29ycmVjdFJlc3BvbnNlIGNvbnRhaW5zIHRoZSBjb3JyZWN0IHJlc3BvbnNlIG9iamVjdFxuICogQHBhcmFtIHtyZXNwb25zZX0gcmVzcG9uc2UgY29udGFpbnMgdGhlIHJlc3BvbnNlIG9iamVjdFxuICogQHJldHVybnMge2Jvb2xlYW59IHJldHVybnMgdHJ1ZSBpZiB0aGUgbnVtZXJhdG9ycyBtYXRjaFxuICogKi9cbmNvbnN0IG51bWVyYXRvckNoZWNrID0gKGNvcnJlY3RSZXNwb25zZSwgcmVzcG9uc2UpID0+IHtcbiAgbGV0IGNvcnJlY3ROdW1lcmF0b3IgPSAwO1xuICBsZXQgcmVzcG9uc2VOdW1lcmF0b3IgPSAwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvcnJlY3RSZXNwb25zZS5sZW5ndGg7IGkrKykge1xuICAgIGNvcnJlY3ROdW1lcmF0b3IgKz0gY29ycmVjdFJlc3BvbnNlW2ldLnZhbHVlO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2UubGVuZ3RoOyBpKyspIHtcbiAgICByZXNwb25zZU51bWVyYXRvciArPSByZXNwb25zZVtpXS52YWx1ZTtcbiAgfVxuICByZXR1cm4gY29ycmVjdE51bWVyYXRvciA9PT0gcmVzcG9uc2VOdW1lcmF0b3I7XG59O1xuXG4vKlxuICogRnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlIHJlc3BvbnNlIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgcGFydGlhbGx5LWZpbGxlZCBtb2RlbFxuICogQHBhcmFtIHtyZXNwb25zZX0gcmVzcG9uc2UgY29udGFpbnMgdGhlIHJlc3BvbnNlIG9iamVjdFxuICogQHBhcmFtIHtwYXJ0c1Blck1vZGVsfSBwYXJ0c1Blck1vZGVsIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgcGFydHMgcGVyIG1vZGVsXG4gKiAqL1xuY29uc3QgcGFydGlhbEZpbGxDaGVjayA9IChyZXNwb25zZSwgcGFydHNQZXJNb2RlbCkgPT4ge1xuICBpZiAocmVzcG9uc2UubGVuZ3RoID4gMCkge1xuICAgIGxldCBwYXJ0aWFsTW9kZWxDb3VudCA9IDA7XG4gICAgcmVzcG9uc2UuZm9yRWFjaCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0aW9uLnZhbHVlICE9PSBwYXJ0c1Blck1vZGVsKSB7XG4gICAgICAgIHBhcnRpYWxNb2RlbENvdW50Kys7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcnRpYWxNb2RlbENvdW50IDw9IDE7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vKlxuICogRnVuY3Rpb24gdG8gY3JlYXRlIGEgZGVmYXVsdCBtb2RlbFxuICogQHBhcmFtIHttb2RlbH0gbW9kZWwgY29udGFpbnMgdGhlIG1vZGVsIG9iamVjdFxuICogKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0TW9kZWwgPSAobW9kZWwgPSB7fSkgPT4gKHtcbiAgLi4uZGVmYXVsdHMubW9kZWwsXG4gIC4uLm1vZGVsLFxufSk7XG5cbi8qXG4gKiBSZXR1cm4gdGhlIG1vZGVsIG9iamVjdFxuICogKi9cbmV4cG9ydCBjb25zdCBtb2RlbCA9IChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52KSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHNlc3Npb24gPSBzZXNzaW9uIHx8IHt9O1xuICAgIGNvbnN0IG1vZGVsID0gY3JlYXRlRGVmYXVsdE1vZGVsKHF1ZXN0aW9uKTtcbiAgICBsZXQgY29ycmVjdG5lc3MsIHNjb3JlO1xuICAgIGlmICgoIXNlc3Npb24gfHwgaXNFbXB0eShzZXNzaW9uKSkgJiYgZW52Lm1vZGUgPT09ICdldmFsdWF0ZScpIHtcbiAgICAgIGNvcnJlY3RuZXNzID0gJ3VuYW5zd2VyZWQnO1xuICAgICAgc2NvcmUgPSAnMCUnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb3JyZWN0bmVzcyA9IGdldENvcnJlY3RuZXNzKG1vZGVsLCBlbnYsIHNlc3Npb24gJiYgc2Vzc2lvbi5hbnN3ZXJzKTtcbiAgICAgIHNjb3JlID0gYCR7Z2V0T3V0Q29tZVNjb3JlKG1vZGVsLCBlbnYsIHNlc3Npb24gJiYgc2Vzc2lvbi5hbnN3ZXJzKSAqIDEwMH0lYDtcbiAgICB9XG4gICAgY29uc3QgY29ycmVjdEluZm8gPSB7XG4gICAgICBzY29yZSxcbiAgICAgIGNvcnJlY3RuZXNzLFxuICAgIH07XG4gICAgY29uc3Qgb3V0ID0ge1xuICAgICAgZW52LFxuICAgICAgLi4ubW9kZWwsXG4gICAgICB2aWV3OiBlbnYubW9kZSA9PT0gJ3ZpZXcnIHx8IGVudi5tb2RlID09PSAnZXZhbHVhdGUnLFxuICAgIH07XG4gICAgaWYgKGVudi5tb2RlID09PSAnZXZhbHVhdGUnKSB7XG4gICAgICBPYmplY3QuYXNzaWduKG91dCwge1xuICAgICAgICBjb3JyZWN0bmVzczogY29ycmVjdEluZm8sXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmVzb2x2ZShvdXQpO1xuICB9KTtcbn07XG5cbi8qXG4gKiBGdW5jdGlvbiB0byBjcmVhdGUgYSBjb3JyZWN0IHJlc3BvbnNlIHNlc3Npb25cbiAqIEBwYXJhbSB7bW9kZWx9IG1vZGVsIGNvbnRhaW5zIHRoZSBtb2RlbCBvYmplY3RcbiAqIEBwYXJhbSB7ZW52fSBlbnYgY29udGFpbnMgdGhlIGVudmlyb25tZW50IG9iamVjdFxuICogQHJldHVybnMge1Byb21pc2V9IHJldHVybnMgdGhlIGNvcnJlY3QgcmVzcG9uc2Ugc2Vzc2lvblxuICogKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uID0gKG1vZGVsLCBlbnYpID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKGVudi5tb2RlICE9PSAnZXZhbHVhdGUnICYmIGVudi5yb2xlID09PSAnaW5zdHJ1Y3RvcicpIHtcbiAgICAgIGNvbnN0IHsgY29ycmVjdFJlc3BvbnNlLCBtYXhNb2RlbFNlbGVjdGVkLCBwYXJ0c1Blck1vZGVsIH0gPSBtb2RlbDtcbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBhbnN3ZXJzOiB7XG4gICAgICAgICAgcmVzcG9uc2U6IGNvcnJlY3RSZXNwb25zZSxcbiAgICAgICAgICBub09mTW9kZWw6IG1heE1vZGVsU2VsZWN0ZWQsXG4gICAgICAgICAgcGFydHNQZXJNb2RlbCxcbiAgICAgICAgfSxcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfSk7XG59O1xuXG4vKlxuICogRnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIG1vZGVsXG4gKiBAcGFyYW0ge21vZGVsfSBtb2RlbCBjb250YWlucyB0aGUgbW9kZWwgb2JqZWN0XG4gKiBAcGFyYW0ge2NvbmZpZ30gY29uZmlnIGNvbnRhaW5zIHRoZSBjb25maWcgb2JqZWN0XG4gKiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlID0gKG1vZGVsID0ge30sIGNvbmZpZyA9IHt9KSA9PiB7XG4gIGNvbnN0IGVycm9ycyA9IHt9O1xuICBpZiAobW9kZWwuY29ycmVjdFJlc3BvbnNlLmxlbmd0aCA9PT0gMCkge1xuICAgIGVycm9ycy5jb3JyZWN0UmVzcG9uc2UgPSAnVG8gc2F2ZSB0aGUgaXRlbSwgYXQgbGVhc3Qgb25lIHNlY3Rpb24gbXVzdCBiZSBtYXJrZWQgYXMgY29ycmVjdC4nO1xuICB9XG4gIGlmIChtb2RlbC5jb3JyZWN0UmVzcG9uc2UubGVuZ3RoID4gMCkge1xuICAgIGxldCBwYXJ0aWFsTW9kZWxDb3VudCA9IDA7XG4gICAgbW9kZWwuY29ycmVjdFJlc3BvbnNlLmZvckVhY2goKHNlbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKHNlbGVjdGlvbi52YWx1ZSAhPT0gbW9kZWwucGFydHNQZXJNb2RlbCkge1xuICAgICAgICBwYXJ0aWFsTW9kZWxDb3VudCsrO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChwYXJ0aWFsTW9kZWxDb3VudCA+IDEpIHtcbiAgICAgIGVycm9ycy5jb3JyZWN0UmVzcG9uc2UgPSAnVGhlIGNvcnJlY3QgYW5zd2VyIHNob3VsZCBpbmNsdWRlIG5vIG1vcmUgdGhhbiBvbmUgcGFydGlhbGx5LWZpbGxlZCBtb2RlbCc7XG4gICAgfVxuICB9XG4gIHJldHVybiBlcnJvcnM7XG59O1xuIl19
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@pie-element/fraction-model-controller",
3
3
  "private": true,
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
- "@pie-lib/pie-toolbox": "2.0.15",
9
+ "@pie-lib/pie-toolbox": "1.33.1",
10
10
  "debug": "^3.1.0",
11
11
  "lodash": "^4.17.15"
12
12
  },
@@ -0,0 +1,11 @@
1
+ {
2
+ "hash": "-2005715134",
3
+ "info": [
4
+ {
5
+ "pie": "@pie-element/fraction-model",
6
+ "version": {
7
+ "requested": "latest"
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _testUtils = require("@pie-lib/pie-toolbox/test-utils");
10
+
11
+ var _answerFraction = _interopRequireDefault(require("../answer-fraction"));
12
+
13
+ var _core = require("@material-ui/core");
14
+
15
+ jest.mock('@material-ui/core', function () {
16
+ return {
17
+ TextField: function TextField(props) {
18
+ return /*#__PURE__*/_react["default"].createElement("div", props);
19
+ }
20
+ };
21
+ });
22
+ describe('AnswerFraction', function () {
23
+ var defaultProps = {
24
+ classes: {},
25
+ model: {
26
+ correctResponse: [],
27
+ title: '',
28
+ prompt: '',
29
+ modelTypeSelected: 'bar',
30
+ maxModelSelected: 1,
31
+ partsPerModel: 5,
32
+ allowedStudentConfig: true,
33
+ showGraphLabels: false
34
+ },
35
+ correctAnswers: {},
36
+ view: false,
37
+ showCorrect: false,
38
+ onAnswerChange: jest.fn(),
39
+ answers: {}
40
+ };
41
+ var wrapper;
42
+ var component;
43
+ beforeEach(function () {
44
+ wrapper = (0, _testUtils.shallowChild)(_answerFraction["default"], defaultProps, 1);
45
+ });
46
+ describe('render', function () {
47
+ var w;
48
+ beforeEach(function () {
49
+ w = function w(props) {
50
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_answerFraction["default"], props));
51
+ };
52
+ });
53
+ it('snapshot', function () {
54
+ expect(w(defaultProps)).toMatchSnapshot();
55
+ });
56
+ it('renders correctly', function () {
57
+ component = wrapper();
58
+ expect(component.find(_core.TextField).length).toEqual(2);
59
+ });
60
+ it('onValueChange correctly update answers', function () {
61
+ component = wrapper();
62
+ component.instance().onValueChange('partsPerModel');
63
+ component.instance().onValueChange('noOfModel');
64
+ });
65
+ });
66
+ });
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vYW5zd2VyLWZyYWN0aW9uLnRlc3QuanN4Il0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwiVGV4dEZpZWxkIiwicHJvcHMiLCJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsImNsYXNzZXMiLCJtb2RlbCIsImNvcnJlY3RSZXNwb25zZSIsInRpdGxlIiwicHJvbXB0IiwibW9kZWxUeXBlU2VsZWN0ZWQiLCJtYXhNb2RlbFNlbGVjdGVkIiwicGFydHNQZXJNb2RlbCIsImFsbG93ZWRTdHVkZW50Q29uZmlnIiwic2hvd0dyYXBoTGFiZWxzIiwiY29ycmVjdEFuc3dlcnMiLCJ2aWV3Iiwic2hvd0NvcnJlY3QiLCJvbkFuc3dlckNoYW5nZSIsImZuIiwiYW5zd2VycyIsIndyYXBwZXIiLCJjb21wb25lbnQiLCJiZWZvcmVFYWNoIiwiQW5zd2VyRnJhY3Rpb24iLCJ3IiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJmaW5kIiwibGVuZ3RoIiwidG9FcXVhbCIsImluc3RhbmNlIiwib25WYWx1ZUNoYW5nZSJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxJQUFJLENBQUNDLElBQUwsQ0FBVSxtQkFBVixFQUErQjtBQUFBLFNBQU87QUFDcENDLElBQUFBLFNBQVMsRUFBRSxtQkFBQ0MsS0FBRDtBQUFBLDBCQUFXLHVDQUFTQSxLQUFULENBQVg7QUFBQTtBQUR5QixHQUFQO0FBQUEsQ0FBL0I7QUFJQUMsUUFBUSxDQUFDLGdCQUFELEVBQW1CLFlBQU07QUFDL0IsTUFBTUMsWUFBWSxHQUFHO0FBQ25CQyxJQUFBQSxPQUFPLEVBQUUsRUFEVTtBQUVuQkMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLGVBQWUsRUFBRSxFQURaO0FBRUxDLE1BQUFBLEtBQUssRUFBRSxFQUZGO0FBR0xDLE1BQUFBLE1BQU0sRUFBRSxFQUhIO0FBSUxDLE1BQUFBLGlCQUFpQixFQUFFLEtBSmQ7QUFLTEMsTUFBQUEsZ0JBQWdCLEVBQUUsQ0FMYjtBQU1MQyxNQUFBQSxhQUFhLEVBQUUsQ0FOVjtBQU9MQyxNQUFBQSxvQkFBb0IsRUFBRSxJQVBqQjtBQVFMQyxNQUFBQSxlQUFlLEVBQUU7QUFSWixLQUZZO0FBWW5CQyxJQUFBQSxjQUFjLEVBQUUsRUFaRztBQWFuQkMsSUFBQUEsSUFBSSxFQUFFLEtBYmE7QUFjbkJDLElBQUFBLFdBQVcsRUFBRSxLQWRNO0FBZW5CQyxJQUFBQSxjQUFjLEVBQUVuQixJQUFJLENBQUNvQixFQUFMLEVBZkc7QUFnQm5CQyxJQUFBQSxPQUFPLEVBQUU7QUFoQlUsR0FBckI7QUFtQkEsTUFBSUMsT0FBSjtBQUNBLE1BQUlDLFNBQUo7QUFFQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkYsSUFBQUEsT0FBTyxHQUFHLDZCQUFhRywwQkFBYixFQUE2QnBCLFlBQTdCLEVBQTJDLENBQTNDLENBQVY7QUFDRCxHQUZTLENBQVY7QUFJQUQsRUFBQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCLFFBQUlzQixDQUFKO0FBRUFGLElBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZFLE1BQUFBLENBQUMsR0FBRyxXQUFDdkIsS0FBRDtBQUFBLGVBQVcsbUNBQVEsZ0NBQUMsMEJBQUQsRUFBb0JBLEtBQXBCLENBQVIsQ0FBWDtBQUFBLE9BQUo7QUFDRCxLQUZTLENBQVY7QUFJQXdCLElBQUFBLEVBQUUsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUNuQkMsTUFBQUEsTUFBTSxDQUFDRixDQUFDLENBQUNyQixZQUFELENBQUYsQ0FBTixDQUF3QndCLGVBQXhCO0FBQ0QsS0FGQyxDQUFGO0FBSUFGLElBQUFBLEVBQUUsQ0FBQyxtQkFBRCxFQUFzQixZQUFNO0FBQzVCSixNQUFBQSxTQUFTLEdBQUdELE9BQU8sRUFBbkI7QUFDQU0sTUFBQUEsTUFBTSxDQUFDTCxTQUFTLENBQUNPLElBQVYsQ0FBZTVCLGVBQWYsRUFBMEI2QixNQUEzQixDQUFOLENBQXlDQyxPQUF6QyxDQUFpRCxDQUFqRDtBQUNELEtBSEMsQ0FBRjtBQUtBTCxJQUFBQSxFQUFFLENBQUMsd0NBQUQsRUFBMkMsWUFBTTtBQUNqREosTUFBQUEsU0FBUyxHQUFHRCxPQUFPLEVBQW5CO0FBQ0FDLE1BQUFBLFNBQVMsQ0FBQ1UsUUFBVixHQUFxQkMsYUFBckIsQ0FBbUMsZUFBbkM7QUFDQVgsTUFBQUEsU0FBUyxDQUFDVSxRQUFWLEdBQXFCQyxhQUFyQixDQUFtQyxXQUFuQztBQUNELEtBSkMsQ0FBRjtBQUtELEdBckJPLENBQVI7QUFzQkQsQ0FqRE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNoYWxsb3dDaGlsZCB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L3Rlc3QtdXRpbHMnO1xuaW1wb3J0IEFuc3dlckZyYWN0aW9uIGZyb20gJy4uL2Fuc3dlci1mcmFjdGlvbic7XG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZSc7XG5cbmplc3QubW9jaygnQG1hdGVyaWFsLXVpL2NvcmUnLCAoKSA9PiAoe1xuICBUZXh0RmllbGQ6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxufSkpO1xuXG5kZXNjcmliZSgnQW5zd2VyRnJhY3Rpb24nLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjbGFzc2VzOiB7fSxcbiAgICBtb2RlbDoge1xuICAgICAgY29ycmVjdFJlc3BvbnNlOiBbXSxcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIHByb21wdDogJycsXG4gICAgICBtb2RlbFR5cGVTZWxlY3RlZDogJ2JhcicsXG4gICAgICBtYXhNb2RlbFNlbGVjdGVkOiAxLFxuICAgICAgcGFydHNQZXJNb2RlbDogNSxcbiAgICAgIGFsbG93ZWRTdHVkZW50Q29uZmlnOiB0cnVlLFxuICAgICAgc2hvd0dyYXBoTGFiZWxzOiBmYWxzZSxcbiAgICB9LFxuICAgIGNvcnJlY3RBbnN3ZXJzOiB7fSxcbiAgICB2aWV3OiBmYWxzZSxcbiAgICBzaG93Q29ycmVjdDogZmFsc2UsXG4gICAgb25BbnN3ZXJDaGFuZ2U6IGplc3QuZm4oKSxcbiAgICBhbnN3ZXJzOiB7fSxcbiAgfTtcblxuICBsZXQgd3JhcHBlcjtcbiAgbGV0IGNvbXBvbmVudDtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICB3cmFwcGVyID0gc2hhbGxvd0NoaWxkKEFuc3dlckZyYWN0aW9uLCBkZWZhdWx0UHJvcHMsIDEpO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVuZGVyJywgKCkgPT4ge1xuICAgIGxldCB3O1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICB3ID0gKHByb3BzKSA9PiBzaGFsbG93KDxBbnN3ZXJGcmFjdGlvbiB7Li4ucHJvcHN9IC8+KTtcbiAgICB9KTtcblxuICAgIGl0KCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3KGRlZmF1bHRQcm9wcykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgICAgY29tcG9uZW50ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KGNvbXBvbmVudC5maW5kKFRleHRGaWVsZCkubGVuZ3RoKS50b0VxdWFsKDIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ29uVmFsdWVDaGFuZ2UgY29ycmVjdGx5IHVwZGF0ZSBhbnN3ZXJzJywgKCkgPT4ge1xuICAgICAgY29tcG9uZW50ID0gd3JhcHBlcigpO1xuICAgICAgY29tcG9uZW50Lmluc3RhbmNlKCkub25WYWx1ZUNoYW5nZSgncGFydHNQZXJNb2RlbCcpO1xuICAgICAgY29tcG9uZW50Lmluc3RhbmNlKCkub25WYWx1ZUNoYW5nZSgnbm9PZk1vZGVsJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _ = _interopRequireDefault(require(".."));
6
+
7
+ var component = new _["default"]();
8
+
9
+ var session = function session(answers) {
10
+ return {
11
+ answers: answers
12
+ };
13
+ };
14
+
15
+ describe('isSessionComplete', function () {
16
+ var assertIsComplete = function assertIsComplete(session, model, expected) {
17
+ it("".concat(JSON.stringify(session.answers), ", ").concat(JSON.stringify(model.allowedStudentConfig), " = ").concat(expected), function () {
18
+ var result = component.isSessionComplete(session, model);
19
+ expect(result).toEqual(expected);
20
+ });
21
+ };
22
+
23
+ assertIsComplete(session({
24
+ response: [{
25
+ id: 1,
26
+ value: 5
27
+ }, {
28
+ id: 1,
29
+ value: 3
30
+ }]
31
+ }), {
32
+ allowedStudentConfig: false
33
+ }, true);
34
+ assertIsComplete(session({
35
+ response: []
36
+ }), {
37
+ allowedStudentConfig: false
38
+ }, false);
39
+ assertIsComplete(session({
40
+ noOfModel: 3,
41
+ partsPerModel: 5,
42
+ response: [{
43
+ id: 1,
44
+ value: 5
45
+ }, {
46
+ id: 1,
47
+ value: 3
48
+ }]
49
+ }), {
50
+ allowedStudentConfig: true
51
+ }, true);
52
+ assertIsComplete(session({
53
+ noOfModel: 0,
54
+ partsPerModel: 0,
55
+ response: []
56
+ }), {
57
+ allowedStudentConfig: true
58
+ }, false);
59
+ });
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJjb21wb25lbnQiLCJGcmFjdGlvbk1vZGVsIiwic2Vzc2lvbiIsImFuc3dlcnMiLCJkZXNjcmliZSIsImFzc2VydElzQ29tcGxldGUiLCJtb2RlbCIsImV4cGVjdGVkIiwiaXQiLCJKU09OIiwic3RyaW5naWZ5IiwiYWxsb3dlZFN0dWRlbnRDb25maWciLCJyZXN1bHQiLCJpc1Nlc3Npb25Db21wbGV0ZSIsImV4cGVjdCIsInRvRXF1YWwiLCJyZXNwb25zZSIsImlkIiwidmFsdWUiLCJub09mTW9kZWwiLCJwYXJ0c1Blck1vZGVsIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLElBQUlDLFlBQUosRUFBbEI7O0FBQ0EsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsT0FBRDtBQUFBLFNBQWM7QUFDNUJBLElBQUFBLE9BQU8sRUFBUEE7QUFENEIsR0FBZDtBQUFBLENBQWhCOztBQUlBQyxRQUFRLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUNsQyxNQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNILE9BQUQsRUFBVUksS0FBVixFQUFpQkMsUUFBakIsRUFBOEI7QUFDckRDLElBQUFBLEVBQUUsV0FBSUMsSUFBSSxDQUFDQyxTQUFMLENBQWVSLE9BQU8sQ0FBQ0MsT0FBdkIsQ0FBSixlQUF3Q00sSUFBSSxDQUFDQyxTQUFMLENBQWVKLEtBQUssQ0FBQ0ssb0JBQXJCLENBQXhDLGdCQUF3RkosUUFBeEYsR0FBb0csWUFBTTtBQUMxRyxVQUFNSyxNQUFNLEdBQUdaLFNBQVMsQ0FBQ2EsaUJBQVYsQ0FBNEJYLE9BQTVCLEVBQXFDSSxLQUFyQyxDQUFmO0FBQ0FRLE1BQUFBLE1BQU0sQ0FBQ0YsTUFBRCxDQUFOLENBQWVHLE9BQWYsQ0FBdUJSLFFBQXZCO0FBQ0QsS0FIQyxDQUFGO0FBSUQsR0FMRDs7QUFPQUYsRUFBQUEsZ0JBQWdCLENBQ2RILE9BQU8sQ0FBQztBQUNOYyxJQUFBQSxRQUFRLEVBQUUsQ0FDUjtBQUFFQyxNQUFBQSxFQUFFLEVBQUUsQ0FBTjtBQUFTQyxNQUFBQSxLQUFLLEVBQUU7QUFBaEIsS0FEUSxFQUVSO0FBQUVELE1BQUFBLEVBQUUsRUFBRSxDQUFOO0FBQVNDLE1BQUFBLEtBQUssRUFBRTtBQUFoQixLQUZRO0FBREosR0FBRCxDQURPLEVBT2Q7QUFBRVAsSUFBQUEsb0JBQW9CLEVBQUU7QUFBeEIsR0FQYyxFQVFkLElBUmMsQ0FBaEI7QUFVQU4sRUFBQUEsZ0JBQWdCLENBQUNILE9BQU8sQ0FBQztBQUFFYyxJQUFBQSxRQUFRLEVBQUU7QUFBWixHQUFELENBQVIsRUFBNEI7QUFBRUwsSUFBQUEsb0JBQW9CLEVBQUU7QUFBeEIsR0FBNUIsRUFBNkQsS0FBN0QsQ0FBaEI7QUFDQU4sRUFBQUEsZ0JBQWdCLENBQ2RILE9BQU8sQ0FBQztBQUNOaUIsSUFBQUEsU0FBUyxFQUFFLENBREw7QUFFTkMsSUFBQUEsYUFBYSxFQUFFLENBRlQ7QUFHTkosSUFBQUEsUUFBUSxFQUFFLENBQ1I7QUFBRUMsTUFBQUEsRUFBRSxFQUFFLENBQU47QUFBU0MsTUFBQUEsS0FBSyxFQUFFO0FBQWhCLEtBRFEsRUFFUjtBQUFFRCxNQUFBQSxFQUFFLEVBQUUsQ0FBTjtBQUFTQyxNQUFBQSxLQUFLLEVBQUU7QUFBaEIsS0FGUTtBQUhKLEdBQUQsQ0FETyxFQVNkO0FBQUVQLElBQUFBLG9CQUFvQixFQUFFO0FBQXhCLEdBVGMsRUFVZCxJQVZjLENBQWhCO0FBWUFOLEVBQUFBLGdCQUFnQixDQUFDSCxPQUFPLENBQUM7QUFBRWlCLElBQUFBLFNBQVMsRUFBRSxDQUFiO0FBQWdCQyxJQUFBQSxhQUFhLEVBQUUsQ0FBL0I7QUFBa0NKLElBQUFBLFFBQVEsRUFBRTtBQUE1QyxHQUFELENBQVIsRUFBNEQ7QUFBRUwsSUFBQUEsb0JBQW9CLEVBQUU7QUFBeEIsR0FBNUQsRUFBNEYsS0FBNUYsQ0FBaEI7QUFDRCxDQWhDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZyYWN0aW9uTW9kZWwgZnJvbSAnLi4nO1xuXG5jb25zdCBjb21wb25lbnQgPSBuZXcgRnJhY3Rpb25Nb2RlbCgpO1xuY29uc3Qgc2Vzc2lvbiA9IChhbnN3ZXJzKSA9PiAoe1xuICBhbnN3ZXJzLFxufSk7XG5cbmRlc2NyaWJlKCdpc1Nlc3Npb25Db21wbGV0ZScsICgpID0+IHtcbiAgY29uc3QgYXNzZXJ0SXNDb21wbGV0ZSA9IChzZXNzaW9uLCBtb2RlbCwgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChgJHtKU09OLnN0cmluZ2lmeShzZXNzaW9uLmFuc3dlcnMpfSwgJHtKU09OLnN0cmluZ2lmeShtb2RlbC5hbGxvd2VkU3R1ZGVudENvbmZpZyl9ID0gJHtleHBlY3RlZH1gLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBjb21wb25lbnQuaXNTZXNzaW9uQ29tcGxldGUoc2Vzc2lvbiwgbW9kZWwpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgfSk7XG4gIH07XG5cbiAgYXNzZXJ0SXNDb21wbGV0ZShcbiAgICBzZXNzaW9uKHtcbiAgICAgIHJlc3BvbnNlOiBbXG4gICAgICAgIHsgaWQ6IDEsIHZhbHVlOiA1IH0sXG4gICAgICAgIHsgaWQ6IDEsIHZhbHVlOiAzIH0sXG4gICAgICBdLFxuICAgIH0pLFxuICAgIHsgYWxsb3dlZFN0dWRlbnRDb25maWc6IGZhbHNlIH0sXG4gICAgdHJ1ZSxcbiAgKTtcbiAgYXNzZXJ0SXNDb21wbGV0ZShzZXNzaW9uKHsgcmVzcG9uc2U6IFtdIH0pLCB7IGFsbG93ZWRTdHVkZW50Q29uZmlnOiBmYWxzZSB9LCBmYWxzZSk7XG4gIGFzc2VydElzQ29tcGxldGUoXG4gICAgc2Vzc2lvbih7XG4gICAgICBub09mTW9kZWw6IDMsXG4gICAgICBwYXJ0c1Blck1vZGVsOiA1LFxuICAgICAgcmVzcG9uc2U6IFtcbiAgICAgICAgeyBpZDogMSwgdmFsdWU6IDUgfSxcbiAgICAgICAgeyBpZDogMSwgdmFsdWU6IDMgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgeyBhbGxvd2VkU3R1ZGVudENvbmZpZzogdHJ1ZSB9LFxuICAgIHRydWUsXG4gICk7XG4gIGFzc2VydElzQ29tcGxldGUoc2Vzc2lvbih7IG5vT2ZNb2RlbDogMCwgcGFydHNQZXJNb2RlbDogMCwgcmVzcG9uc2U6IFtdIH0pLCB7IGFsbG93ZWRTdHVkZW50Q29uZmlnOiB0cnVlIH0sIGZhbHNlKTtcbn0pO1xuIl19