@pie-element/extended-text-entry 6.7.0-annotations → 6.7.0-annotations.1

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,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _main = require("../main");
8
+
9
+ var _enzyme = require("enzyme");
10
+
11
+ var _defaults = _interopRequireDefault(require("../defaults"));
12
+
13
+ jest.mock('@pie-lib/config-ui', function () {
14
+ return {
15
+ layout: {
16
+ ConfigLayout: function ConfigLayout(props) {
17
+ return /*#__PURE__*/_react["default"].createElement("div", null, props.children);
18
+ }
19
+ },
20
+ settings: {
21
+ Panel: function Panel(props) {
22
+ return /*#__PURE__*/_react["default"].createElement("div", {
23
+ onChange: props.onChange
24
+ });
25
+ },
26
+ toggle: jest.fn(),
27
+ radio: jest.fn(),
28
+ numberFields: jest.fn(),
29
+ dropdown: jest.fn()
30
+ }
31
+ };
32
+ });
33
+ describe('Render Main Component', function () {
34
+ var wrapper, instance, onChange;
35
+ var model = _defaults["default"].model;
36
+ var configuration = _defaults["default"].configuration;
37
+ beforeEach(function () {
38
+ onChange = jest.fn();
39
+ wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_main.Main, {
40
+ classes: {},
41
+ model: model,
42
+ configuration: configuration,
43
+ onModelChanged: onChange,
44
+ handleBoxResize: function handleBoxResize() {},
45
+ imageSupport: {}
46
+ }));
47
+ instance = wrapper.instance();
48
+ });
49
+ it('Match Snapshot', function () {
50
+ expect(wrapper).toMatchSnapshot();
51
+ });
52
+ describe('logic', function () {
53
+ it('onPromptChange calls onModelChanged', function () {
54
+ instance.onPromptChange('New Prompt');
55
+ expect(onChange).toBeCalledWith(expect.objectContaining({
56
+ prompt: 'New Prompt'
57
+ }));
58
+ });
59
+ it('changeFeedback calls onModelChanged', function () {
60
+ instance.changeFeedback({
61
+ type: 'custom',
62
+ "default": 'Default Feedback'
63
+ });
64
+ expect(onChange).toBeCalledWith(expect.objectContaining({
65
+ feedback: {
66
+ type: 'custom',
67
+ "default": 'Default Feedback'
68
+ }
69
+ }));
70
+ });
71
+ it('changeTeacherInstructions calls onModelChanged', function () {
72
+ instance.changeTeacherInstructions('Teacher Instructions');
73
+ expect(onChange).toBeCalledWith(expect.objectContaining({
74
+ teacherInstructions: 'Teacher Instructions'
75
+ }));
76
+ });
77
+ });
78
+ });
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzIl0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwibGF5b3V0IiwiQ29uZmlnTGF5b3V0IiwicHJvcHMiLCJjaGlsZHJlbiIsInNldHRpbmdzIiwiUGFuZWwiLCJvbkNoYW5nZSIsInRvZ2dsZSIsImZuIiwicmFkaW8iLCJudW1iZXJGaWVsZHMiLCJkcm9wZG93biIsImRlc2NyaWJlIiwid3JhcHBlciIsImluc3RhbmNlIiwibW9kZWwiLCJkZWZhdWx0cyIsImNvbmZpZ3VyYXRpb24iLCJiZWZvcmVFYWNoIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJvblByb21wdENoYW5nZSIsInRvQmVDYWxsZWRXaXRoIiwib2JqZWN0Q29udGFpbmluZyIsInByb21wdCIsImNoYW5nZUZlZWRiYWNrIiwidHlwZSIsImZlZWRiYWNrIiwiY2hhbmdlVGVhY2hlckluc3RydWN0aW9ucyIsInRlYWNoZXJJbnN0cnVjdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsb0JBQVYsRUFBZ0M7QUFBQSxTQUFPO0FBQ3JDQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsWUFBWSxFQUFFLHNCQUFBQyxLQUFLO0FBQUEsNEJBQUksNkNBQU1BLEtBQUssQ0FBQ0MsUUFBWixDQUFKO0FBQUE7QUFEYixLQUQ2QjtBQUlyQ0MsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLEtBQUssRUFBRSxlQUFBSCxLQUFLO0FBQUEsNEJBQUk7QUFBSyxVQUFBLFFBQVEsRUFBRUEsS0FBSyxDQUFDSTtBQUFyQixVQUFKO0FBQUEsT0FESjtBQUVSQyxNQUFBQSxNQUFNLEVBQUVULElBQUksQ0FBQ1UsRUFBTCxFQUZBO0FBR1JDLE1BQUFBLEtBQUssRUFBRVgsSUFBSSxDQUFDVSxFQUFMLEVBSEM7QUFJUkUsTUFBQUEsWUFBWSxFQUFFWixJQUFJLENBQUNVLEVBQUwsRUFKTjtBQUtSRyxNQUFBQSxRQUFRLEVBQUViLElBQUksQ0FBQ1UsRUFBTDtBQUxGO0FBSjJCLEdBQVA7QUFBQSxDQUFoQztBQWFBSSxRQUFRLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUN0QyxNQUFJQyxPQUFKLEVBQWFDLFFBQWIsRUFBdUJSLFFBQXZCO0FBQ0EsTUFBSVMsS0FBSyxHQUFHQyxxQkFBU0QsS0FBckI7QUFDQSxNQUFJRSxhQUFhLEdBQUdELHFCQUFTQyxhQUE3QjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmWixJQUFBQSxRQUFRLEdBQUdSLElBQUksQ0FBQ1UsRUFBTCxFQUFYO0FBQ0FLLElBQUFBLE9BQU8sR0FBRyxtQ0FDUixnQ0FBQyxVQUFEO0FBQ0UsTUFBQSxPQUFPLEVBQUUsRUFEWDtBQUVFLE1BQUEsS0FBSyxFQUFFRSxLQUZUO0FBR0UsTUFBQSxhQUFhLEVBQUVFLGFBSGpCO0FBSUUsTUFBQSxjQUFjLEVBQUVYLFFBSmxCO0FBS0UsTUFBQSxlQUFlLEVBQUUsMkJBQU0sQ0FBRSxDQUwzQjtBQU1FLE1BQUEsWUFBWSxFQUFFO0FBTmhCLE1BRFEsQ0FBVjtBQVdBUSxJQUFBQSxRQUFRLEdBQUdELE9BQU8sQ0FBQ0MsUUFBUixFQUFYO0FBQ0QsR0FkUyxDQUFWO0FBZ0JBSyxFQUFBQSxFQUFFLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUN6QkMsSUFBQUEsTUFBTSxDQUFDUCxPQUFELENBQU4sQ0FBZ0JRLGVBQWhCO0FBQ0QsR0FGQyxDQUFGO0FBSUFULEVBQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0Qk8sSUFBQUEsRUFBRSxDQUFDLHFDQUFELEVBQXdDLFlBQU07QUFDOUNMLE1BQUFBLFFBQVEsQ0FBQ1EsY0FBVCxDQUF3QixZQUF4QjtBQUNBRixNQUFBQSxNQUFNLENBQUNkLFFBQUQsQ0FBTixDQUFpQmlCLGNBQWpCLENBQWdDSCxNQUFNLENBQUNJLGdCQUFQLENBQXdCO0FBQUVDLFFBQUFBLE1BQU0sRUFBRTtBQUFWLE9BQXhCLENBQWhDO0FBQ0QsS0FIQyxDQUFGO0FBS0FOLElBQUFBLEVBQUUsQ0FBQyxxQ0FBRCxFQUF3QyxZQUFNO0FBQzlDTCxNQUFBQSxRQUFRLENBQUNZLGNBQVQsQ0FBd0I7QUFBRUMsUUFBQUEsSUFBSSxFQUFFLFFBQVI7QUFBa0IsbUJBQVM7QUFBM0IsT0FBeEI7QUFDQVAsTUFBQUEsTUFBTSxDQUFDZCxRQUFELENBQU4sQ0FBaUJpQixjQUFqQixDQUFnQ0gsTUFBTSxDQUFDSSxnQkFBUCxDQUF3QjtBQUFFSSxRQUFBQSxRQUFRLEVBQUU7QUFBRUQsVUFBQUEsSUFBSSxFQUFFLFFBQVI7QUFBa0IscUJBQVM7QUFBM0I7QUFBWixPQUF4QixDQUFoQztBQUNELEtBSEMsQ0FBRjtBQUtBUixJQUFBQSxFQUFFLENBQUMsZ0RBQUQsRUFBbUQsWUFBTTtBQUN6REwsTUFBQUEsUUFBUSxDQUFDZSx5QkFBVCxDQUFtQyxzQkFBbkM7QUFDQVQsTUFBQUEsTUFBTSxDQUFDZCxRQUFELENBQU4sQ0FBaUJpQixjQUFqQixDQUFnQ0gsTUFBTSxDQUFDSSxnQkFBUCxDQUF3QjtBQUFFTSxRQUFBQSxtQkFBbUIsRUFBRTtBQUF2QixPQUF4QixDQUFoQztBQUNELEtBSEMsQ0FBRjtBQUlELEdBZk8sQ0FBUjtBQWdCRCxDQXpDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1haW4gfSBmcm9tICcuLi9tYWluJztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi4vZGVmYXVsdHMnO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2NvbmZpZy11aScsICgpID0+ICh7XG4gIGxheW91dDoge1xuICAgIENvbmZpZ0xheW91dDogcHJvcHMgPT4gPGRpdj57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gIH0sXG4gIHNldHRpbmdzOiB7XG4gICAgUGFuZWw6IHByb3BzID0+IDxkaXYgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfSAvPixcbiAgICB0b2dnbGU6IGplc3QuZm4oKSxcbiAgICByYWRpbzogamVzdC5mbigpLFxuICAgIG51bWJlckZpZWxkczogamVzdC5mbigpLFxuICAgIGRyb3Bkb3duOiBqZXN0LmZuKClcbiAgfVxufSkpO1xuXG5kZXNjcmliZSgnUmVuZGVyIE1haW4gQ29tcG9uZW50JywgKCkgPT4ge1xuICBsZXQgd3JhcHBlciwgaW5zdGFuY2UsIG9uQ2hhbmdlO1xuICBsZXQgbW9kZWwgPSBkZWZhdWx0cy5tb2RlbDtcbiAgbGV0IGNvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgIHdyYXBwZXIgPSBzaGFsbG93KFxuICAgICAgPE1haW5cbiAgICAgICAgY2xhc3Nlcz17e319XG4gICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgY29uZmlndXJhdGlvbj17Y29uZmlndXJhdGlvbn1cbiAgICAgICAgb25Nb2RlbENoYW5nZWQ9e29uQ2hhbmdlfVxuICAgICAgICBoYW5kbGVCb3hSZXNpemU9eygpID0+IHt9fVxuICAgICAgICBpbWFnZVN1cHBvcnQ9e3t9fVxuICAgICAgLz5cbiAgICApO1xuXG4gICAgaW5zdGFuY2UgPSB3cmFwcGVyLmluc3RhbmNlKCk7XG4gIH0pO1xuXG4gIGl0KCdNYXRjaCBTbmFwc2hvdCcsICgpID0+IHtcbiAgICBleHBlY3Qod3JhcHBlcikudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBpdCgnb25Qcm9tcHRDaGFuZ2UgY2FsbHMgb25Nb2RlbENoYW5nZWQnLCAoKSA9PiB7XG4gICAgICBpbnN0YW5jZS5vblByb21wdENoYW5nZSgnTmV3IFByb21wdCcpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7IHByb21wdDogJ05ldyBQcm9tcHQnIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdjaGFuZ2VGZWVkYmFjayBjYWxscyBvbk1vZGVsQ2hhbmdlZCcsICgpID0+IHtcbiAgICAgIGluc3RhbmNlLmNoYW5nZUZlZWRiYWNrKHsgdHlwZTogJ2N1c3RvbScsIGRlZmF1bHQ6ICdEZWZhdWx0IEZlZWRiYWNrJyB9KTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoeyBmZWVkYmFjazogeyB0eXBlOiAnY3VzdG9tJywgZGVmYXVsdDogJ0RlZmF1bHQgRmVlZGJhY2snIH0gfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NoYW5nZVRlYWNoZXJJbnN0cnVjdGlvbnMgY2FsbHMgb25Nb2RlbENoYW5nZWQnLCAoKSA9PiB7XG4gICAgICBpbnN0YW5jZS5jaGFuZ2VUZWFjaGVySW5zdHJ1Y3Rpb25zKCdUZWFjaGVyIEluc3RydWN0aW9ucycpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7IHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdUZWFjaGVyIEluc3RydWN0aW9ucycgfSkpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -59,4 +59,4 @@ var _default = {
59
59
  }
60
60
  };
61
61
  exports["default"] = _default;
62
- //# sourceMappingURL=defaults.js.map
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJtb2RlbCIsImRpbWVuc2lvbnMiLCJoZWlnaHQiLCJ3aWR0aCIsInByb21wdCIsIm1hdGhJbnB1dCIsImVxdWF0aW9uRWRpdG9yIiwiZmVlZGJhY2tFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsInByb21wdEVuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwidG9vbGJhckVkaXRvclBvc2l0aW9uIiwiY29uZmlndXJhdGlvbiIsInNldHRpbmdzIiwibGFiZWwiLCJlbmFibGVkIiwiZmVlZGJhY2siLCJtdWx0aXBsZSIsInN0dWRlbnRJbnN0cnVjdGlvbnMiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7ZUFBZTtBQUNiQSxFQUFBQSxLQUFLLEVBQUU7QUFDTEMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLE1BQU0sRUFBRSxHQURFO0FBRVZDLE1BQUFBLEtBQUssRUFBRTtBQUZHLEtBRFA7QUFLTEMsSUFBQUEsTUFBTSxFQUFFLDZCQUxIO0FBTUxDLElBQUFBLFNBQVMsRUFBRSxLQU5OO0FBT0xDLElBQUFBLGNBQWMsRUFBRSxlQVBYO0FBUUxDLElBQUFBLGVBQWUsRUFBRSxJQVJaO0FBU0xDLElBQUFBLGdCQUFnQixFQUFFLElBVGI7QUFVTEMsSUFBQUEsYUFBYSxFQUFFLElBVlY7QUFXTEMsSUFBQUEsMEJBQTBCLEVBQUUsSUFYdkI7QUFZTEMsSUFBQUEsMEJBQTBCLEVBQUUsSUFadkI7QUFhTEMsSUFBQUEscUJBQXFCLEVBQUU7QUFibEIsR0FETTtBQWdCYkMsRUFBQUEsYUFBYSxFQUFFO0FBQ2JaLElBQUFBLFVBQVUsRUFBRTtBQUNWYSxNQUFBQSxRQUFRLEVBQUUsSUFEQTtBQUVWQyxNQUFBQSxLQUFLLEVBQUU7QUFGRyxLQURDO0FBS2JULElBQUFBLGNBQWMsRUFBRTtBQUNkUSxNQUFBQSxRQUFRLEVBQUUsS0FESTtBQUVkQyxNQUFBQSxLQUFLLEVBQUUsaUJBRk87QUFHZEMsTUFBQUEsT0FBTyxFQUFFO0FBSEssS0FMSDtBQVViQyxJQUFBQSxRQUFRLEVBQUU7QUFDUkgsTUFBQUEsUUFBUSxFQUFFLElBREY7QUFFUkMsTUFBQUEsS0FBSyxFQUFFO0FBRkMsS0FWRztBQWNiVixJQUFBQSxTQUFTLEVBQUU7QUFDVFMsTUFBQUEsUUFBUSxFQUFFLElBREQ7QUFFVEMsTUFBQUEsS0FBSyxFQUFFLDRDQUZFO0FBR1RDLE1BQUFBLE9BQU8sRUFBRTtBQUhBLEtBZEU7QUFtQmJFLElBQUFBLFFBQVEsRUFBRTtBQUNSSixNQUFBQSxRQUFRLEVBQUUsS0FERjtBQUVSQyxNQUFBQSxLQUFLLEVBQUUsZ0JBRkM7QUFHUkMsTUFBQUEsT0FBTyxFQUFFO0FBSEQsS0FuQkc7QUF3QmJHLElBQUFBLG1CQUFtQixFQUFFO0FBQ25CTCxNQUFBQSxRQUFRLEVBQUUsS0FEUztBQUVuQkMsTUFBQUEsS0FBSyxFQUFFO0FBRlksS0F4QlI7QUE0QmJYLElBQUFBLE1BQU0sRUFBRTtBQUNOVSxNQUFBQSxRQUFRLEVBQUUsSUFESjtBQUVOQyxNQUFBQSxLQUFLLEVBQUU7QUFGRCxLQTVCSztBQWdDYkssSUFBQUEsbUJBQW1CLEVBQUU7QUFDbkJOLE1BQUFBLFFBQVEsRUFBRSxJQURTO0FBRW5CQyxNQUFBQSxLQUFLLEVBQUU7QUFGWTtBQWhDUjtBQWhCRixDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBtb2RlbDoge1xuICAgIGRpbWVuc2lvbnM6IHtcbiAgICAgIGhlaWdodDogMTAwLFxuICAgICAgd2lkdGg6IDUwMFxuICAgIH0sXG4gICAgcHJvbXB0OiAnVGhpcyBpcyB0aGUgcXVlc3Rpb24gcHJvbXB0JyxcbiAgICBtYXRoSW5wdXQ6IGZhbHNlLFxuICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cycsXG4gICAgZmVlZGJhY2tFbmFibGVkOiB0cnVlLFxuICAgIHJhdGlvbmFsZUVuYWJsZWQ6IHRydWUsXG4gICAgcHJvbXB0RW5hYmxlZDogdHJ1ZSxcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICB0b29sYmFyRWRpdG9yUG9zaXRpb246ICdib3R0b20nLFxuICB9LFxuICBjb25maWd1cmF0aW9uOiB7XG4gICAgZGltZW5zaW9uczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ1RleHQtRW50cnkgRGlzcGxheSBTaXplJ1xuICAgIH0sXG4gICAgZXF1YXRpb25FZGl0b3I6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnRXF1YXRpb24gRWRpdG9yJyxcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgfSxcbiAgICBmZWVkYmFjazoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ0ZlZWRiYWNrJ1xuICAgIH0sXG4gICAgbWF0aElucHV0OiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnU3R1ZGVudCByZXNwb25zZSBjYW4gaW5jbHVkZSBtYXRoIG5vdGF0aW9uJyxcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgbXVsdGlwbGU6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnTXVsdGlwbGUgUGFydHMnLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgICBzdHVkZW50SW5zdHJ1Y3Rpb25zOiB7XG4gICAgICBzZXR0aW5nczogZmFsc2UsXG4gICAgICBsYWJlbDogJ1N0dWRlbnQgSW5zdHJ1Y3Rpb25zJ1xuICAgIH0sXG4gICAgcHJvbXB0OiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnUHJvbXB0J1xuICAgIH0sXG4gICAgdGVhY2hlckluc3RydWN0aW9uczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ1RlYWNoZXIgSW5zdHJ1Y3Rpb25zJ1xuICAgIH0sXG4gIH1cbn07XG4iXX0=
@@ -126,4 +126,4 @@ exports["default"] = ExtendedTextEntry;
126
126
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
127
127
  return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
128
128
  });
129
- //# sourceMappingURL=index.js.map
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJFeHRlbmRlZFRleHRFbnRyeSIsIl9tb2RlbCIsImNyZWF0ZURlZmF1bHRNb2RlbCIsIl9jb25maWd1cmF0aW9uIiwiZGVmYXVsdHMiLCJjb25maWd1cmF0aW9uIiwibSIsInJlbmRlciIsImMiLCJkaXNwYXRjaEV2ZW50IiwiTW9kZWxVcGRhdGVkRXZlbnQiLCJvbk1vZGVsQ2hhbmdlZCIsImhhbmRsZXIiLCJJbnNlcnRJbWFnZUV2ZW50Iiwic3JjIiwiZG9uZSIsIkRlbGV0ZUltYWdlRXZlbnQiLCJlbGVtZW50IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsIm1vZGVsIiwiYmluZCIsIm9uQ29uZmlndXJhdGlvbkNoYW5nZWQiLCJpbWFnZVN1cHBvcnQiLCJhZGQiLCJpbnNlcnRJbWFnZSIsIm9uRGVsZXRlSW1hZ2UiLCJSZWFjdERPTSIsIkhUTUxFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUtBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7Ozs7O0lBRXFCQSxpQjs7Ozs7QUFNbkIsK0JBQWM7QUFBQTs7QUFBQTtBQUNaO0FBQ0EsVUFBS0MsTUFBTCxHQUFjRCxpQkFBaUIsQ0FBQ0Usa0JBQWxCLEVBQWQ7QUFDQSxVQUFLQyxjQUFMLEdBQXNCQyxxQkFBU0MsYUFBL0I7QUFIWTtBQUliOzs7O1NBRUQsYUFBVUMsQ0FBVixFQUFhO0FBQ1gsV0FBS0wsTUFBTCxHQUFjRCxpQkFBaUIsQ0FBQ0Usa0JBQWxCLENBQXFDSSxDQUFyQyxDQUFkO0FBQ0EsV0FBS0MsTUFBTDtBQUNEOzs7U0FFRCxhQUFrQkMsQ0FBbEIsRUFBcUI7QUFDbkIsV0FBS0wsY0FBTCxtQ0FDS0MscUJBQVNDLGFBRGQsR0FFS0csQ0FGTDtBQUtBLFdBQUtELE1BQUw7QUFDRDs7O1dBRUQsd0JBQWVELENBQWYsRUFBa0I7QUFDaEIsV0FBS0wsTUFBTCxHQUFjSyxDQUFkO0FBQ0EsV0FBS0MsTUFBTDtBQUNBLFdBQUtFLGFBQUwsQ0FBbUIsSUFBSUMscUNBQUosQ0FBc0IsS0FBS1QsTUFBM0IsRUFBbUMsS0FBbkMsQ0FBbkI7QUFDRDs7O1dBRUQsZ0NBQXVCTyxDQUF2QixFQUEwQjtBQUN4QixXQUFLTCxjQUFMLG1DQUNLQyxxQkFBU0MsYUFEZCxHQUVLRyxDQUZMOztBQUtBLFVBQUksS0FBS1AsTUFBVCxFQUFpQjtBQUNmLGFBQUtVLGNBQUwsQ0FBb0IsS0FBS1YsTUFBekI7QUFDRDs7QUFFRCxXQUFLTSxNQUFMO0FBQ0Q7QUFHRDtBQUNGO0FBQ0E7QUFDQTs7OztXQUNFLHFCQUFZSyxPQUFaLEVBQXFCO0FBQ25CLFdBQUtILGFBQUwsQ0FBbUIsSUFBSUksb0NBQUosQ0FBcUJELE9BQXJCLENBQW5CO0FBQ0Q7OztXQUVELHVCQUFjRSxHQUFkLEVBQW1CQyxJQUFuQixFQUF5QjtBQUN2QixXQUFLTixhQUFMLENBQW1CLElBQUlPLG9DQUFKLENBQXFCRixHQUFyQixFQUEwQkMsSUFBMUIsQ0FBbkI7QUFDRDs7O1dBRUQsa0JBQVM7QUFDUCxVQUFJLEtBQUtkLE1BQVQsRUFBaUI7QUFDZixZQUFNZ0IsT0FBTyxnQkFBR0Msa0JBQU1DLGFBQU4sQ0FBb0JDLGdCQUFwQixFQUEwQjtBQUN4Q0MsVUFBQUEsS0FBSyxFQUFFLEtBQUtwQixNQUQ0QjtBQUV4Q0ksVUFBQUEsYUFBYSxFQUFFLEtBQUtGLGNBRm9CO0FBR3hDUSxVQUFBQSxjQUFjLEVBQUUsS0FBS0EsY0FBTCxDQUFvQlcsSUFBcEIsQ0FBeUIsSUFBekIsQ0FId0I7QUFJeENDLFVBQUFBLHNCQUFzQixFQUFFLEtBQUtBLHNCQUFMLENBQTRCRCxJQUE1QixDQUFpQyxJQUFqQyxDQUpnQjtBQUt4Q0UsVUFBQUEsWUFBWSxFQUFFO0FBQ1pDLFlBQUFBLEdBQUcsRUFBRSxLQUFLQyxXQUFMLENBQWlCSixJQUFqQixDQUFzQixJQUF0QixDQURPO0FBRVosc0JBQVEsS0FBS0ssYUFBTCxDQUFtQkwsSUFBbkIsQ0FBd0IsSUFBeEI7QUFGSTtBQUwwQixTQUExQixDQUFoQjs7QUFVQU0sNkJBQVNyQixNQUFULENBQWdCVSxPQUFoQixFQUF5QixJQUF6QjtBQUNEO0FBQ0Y7OztrREF4RTRDWSxXOzs7aUNBQTFCN0IsaUIsd0JBQ1M7QUFBQSxNQUFDcUIsS0FBRCx1RUFBUyxFQUFUO0FBQUEseUNBQ3ZCakIscUJBQVNpQixLQURjLEdBRXZCQSxLQUZ1QjtBQUFBLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbFVwZGF0ZWRFdmVudCxcbiAgRGVsZXRlSW1hZ2VFdmVudCxcbiAgSW5zZXJ0SW1hZ2VFdmVudFxufSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtY29uZmlndXJlLWV2ZW50cyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuXG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4dGVuZGVkVGV4dEVudHJ5IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBzdGF0aWMgY3JlYXRlRGVmYXVsdE1vZGVsID0gKG1vZGVsID0ge30pID0+ICh7XG4gICAgLi4uZGVmYXVsdHMubW9kZWwsXG4gICAgLi4ubW9kZWxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9tb2RlbCA9IEV4dGVuZGVkVGV4dEVudHJ5LmNyZWF0ZURlZmF1bHRNb2RlbCgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuICB9XG5cbiAgc2V0IG1vZGVsKG0pIHtcbiAgICB0aGlzLl9tb2RlbCA9IEV4dGVuZGVkVGV4dEVudHJ5LmNyZWF0ZURlZmF1bHRNb2RlbChtKTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgc2V0IGNvbmZpZ3VyYXRpb24oYykge1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAuLi5kZWZhdWx0cy5jb25maWd1cmF0aW9uLFxuICAgICAgLi4uY1xuICAgIH07XG5cbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZWQobSkge1xuICAgIHRoaXMuX21vZGVsID0gbTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxVcGRhdGVkRXZlbnQodGhpcy5fbW9kZWwsIGZhbHNlKSk7XG4gIH1cblxuICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkKGMpIHtcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0ge1xuICAgICAgLi4uZGVmYXVsdHMuY29uZmlndXJhdGlvbixcbiAgICAgIC4uLmNcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX21vZGVsKSB7XG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2VkKHRoaXMuX21vZGVsKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtkb25lLCBwcm9ncmVzcywgZmlsZX0gaGFuZGxlclxuICAgKi9cbiAgaW5zZXJ0SW1hZ2UoaGFuZGxlcikge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5zZXJ0SW1hZ2VFdmVudChoYW5kbGVyKSk7XG4gIH1cblxuICBvbkRlbGV0ZUltYWdlKHNyYywgZG9uZSkge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRGVsZXRlSW1hZ2VFdmVudChzcmMsIGRvbmUpKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5fbW9kZWwpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgICAgbW9kZWw6IHRoaXMuX21vZGVsLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB0aGlzLl9jb25maWd1cmF0aW9uLFxuICAgICAgICBvbk1vZGVsQ2hhbmdlZDogdGhpcy5vbk1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpLFxuICAgICAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkOiB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQuYmluZCh0aGlzKSxcbiAgICAgICAgaW1hZ2VTdXBwb3J0OiB7XG4gICAgICAgICAgYWRkOiB0aGlzLmluc2VydEltYWdlLmJpbmQodGhpcyksXG4gICAgICAgICAgZGVsZXRlOiB0aGlzLm9uRGVsZXRlSW1hZ2UuYmluZCh0aGlzKVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIFJlYWN0RE9NLnJlbmRlcihlbGVtZW50LCB0aGlzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -252,4 +252,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
252
252
  })(Main);
253
253
 
254
254
  exports["default"] = _default;
255
- //# sourceMappingURL=main.js.map
255
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJQYW5lbCIsInNldHRpbmdzIiwidG9nZ2xlIiwibnVtYmVyRmllbGRzIiwiZHJvcGRvd24iLCJkZWZhdWx0RmVlZGJhY2siLCJ0eXBlIiwiTWFpbiIsInByb3BzIiwibWFya3VwIiwib25Nb2RlbENoYW5nZWQiLCJtb2RlbCIsInByb21wdCIsImZlZWRiYWNrIiwidXBkYXRlIiwidGVhY2hlckluc3RydWN0aW9ucyIsInN0YXRlIiwic2V0RGltZW5zaW9ucyIsImNsYXNzZXMiLCJjb25maWd1cmF0aW9uIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsImltYWdlU3VwcG9ydCIsIm11bHRpcGxlIiwic3R1ZGVudEluc3RydWN0aW9ucyIsIm1hdGhJbnB1dCIsImRpbWVuc2lvbnMiLCJlcXVhdGlvbkVkaXRvciIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwicHJvbXB0RW5hYmxlZCIsImZlZWRiYWNrRW5hYmxlZCIsInRvb2xiYXJPcHRzIiwidG9vbGJhckVkaXRvclBvc2l0aW9uIiwicG9zaXRpb24iLCJjb25maWciLCJsYWJlbCIsImVuYWJsZWQiLCJ3aWR0aCIsInN1ZmZpeCIsIm1pbiIsIm1heCIsImhlaWdodCIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwicHJvbXB0Q29udGFpbmVyIiwiY2hhbmdlVGVhY2hlckluc3RydWN0aW9ucyIsIkFMTF9QTFVHSU5TIiwib25Qcm9tcHRDaGFuZ2UiLCJoZWFkZXIiLCJjaGFuZ2VGZWVkYmFjayIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJ0aGVtZSIsInBhZGRpbmdCb3R0b20iLCJzcGFjaW5nIiwidW5pdCIsInBhZGRpbmdUb3AiLCJtYXJnaW5Cb3R0b20iLCJwcm9tcHRJbnB1dCIsImZpZWxkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7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RGQ7QUFFakJoQyxFQUFBQSxzQkFBc0IsRUFBRThCLHNCQUFVQyxJQUZqQjtBQUdqQnhDLEVBQUFBLEtBQUssRUFBRXVDLHNCQUFVRyxNQUFWLENBQWlCRCxVQUhQO0FBSWpCakMsRUFBQUEsYUFBYSxFQUFFK0Isc0JBQVVHLE1BQVYsQ0FBaUJELFVBSmY7QUFLakIvQixFQUFBQSxZQUFZLEVBQUU2QixzQkFBVUcsTUFBVixDQUFpQkQsVUFMZDtBQU1qQmxDLEVBQUFBLE9BQU8sRUFBRWdDLHNCQUFVRyxNQUFWLENBQWlCRDtBQU5ULEM7O2VBbUtOLHdCQUFXLFVBQUFFLEtBQUs7QUFBQSxTQUFLO0FBQ2xDUixJQUFBQSxNQUFNLEVBQUU7QUFDTlMsTUFBQUEsYUFBYSxFQUFFRCxLQUFLLENBQUNFLE9BQU4sQ0FBY0M7QUFEdkIsS0FEMEI7QUFJbENmLElBQUFBLGVBQWUsRUFBRTtBQUNmZ0IsTUFBQUEsVUFBVSxFQUFFSixLQUFLLENBQUNFLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixDQURsQjtBQUVmRSxNQUFBQSxZQUFZLEVBQUVMLEtBQUssQ0FBQ0UsT0FBTixDQUFjQyxJQUFkLEdBQXFCLENBRnBCO0FBR2ZyQixNQUFBQSxLQUFLLEVBQUU7QUFIUSxLQUppQjtBQVNsQ3dCLElBQUFBLFdBQVcsRUFBRTtBQUNYeEIsTUFBQUEsS0FBSyxFQUFFLE1BREk7QUFFWHVCLE1BQUFBLFlBQVksRUFBRUwsS0FBSyxDQUFDRSxPQUFOLENBQWNDO0FBRmpCLEtBVHFCO0FBYWxDSSxJQUFBQSxLQUFLLEVBQUU7QUFDTHpCLE1BQUFBLEtBQUssRUFBRTtBQURGO0FBYjJCLEdBQUw7QUFBQSxDQUFoQixFQWdCWDdCLElBaEJXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgRmVlZGJhY2tTZWxlY3RvcixcbiAgSW5wdXRDb250YWluZXIsXG4gIHNldHRpbmdzLFxuICBsYXlvdXRcbn0gZnJvbSAnQHBpZS1saWIvY29uZmlnLXVpJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCwgeyBBTExfUExVR0lOUyB9IGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwnO1xuXG5jb25zdCB7IFBhbmVsLCB0b2dnbGUsIG51bWJlckZpZWxkcywgZHJvcGRvd24gfSA9IHNldHRpbmdzO1xuXG5jb25zdCBkZWZhdWx0RmVlZGJhY2sgPSB7XG4gIHR5cGU6ICdkZWZhdWx0JyxcbiAgZGVmYXVsdDogJ1lvdXIgYW5zd2VyIGhhcyBiZWVuIHN1Ym1pdHRlZCdcbn07XG5cbmV4cG9ydCBjbGFzcyBNYWluIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbk1vZGVsQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBpbWFnZVN1cHBvcnQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2V0RGltZW5zaW9uczogdHJ1ZVxuICAgIH07XG4gIH1cblxuICBvblByb21wdENoYW5nZSA9IG1hcmt1cCA9PiB7XG4gICAgY29uc3QgeyBvbk1vZGVsQ2hhbmdlZCwgbW9kZWwgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBvbk1vZGVsQ2hhbmdlZCh7XG4gICAgICAuLi5tb2RlbCxcbiAgICAgIHByb21wdDogbWFya3VwXG4gICAgfSk7XG4gIH07XG5cbiAgY2hhbmdlRmVlZGJhY2sgPSBmZWVkYmFjayA9PiB7XG4gICAgY29uc3QgeyBtb2RlbCwgb25Nb2RlbENoYW5nZWQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0geyAuLi5tb2RlbCwgZmVlZGJhY2sgfTtcbiAgICBvbk1vZGVsQ2hhbmdlZCh1cGRhdGUpO1xuICB9O1xuXG4gIGNoYW5nZVRlYWNoZXJJbnN0cnVjdGlvbnMgPSB0ZWFjaGVySW5zdHJ1Y3Rpb25zID0+IHtcbiAgICBjb25zdCB7IG1vZGVsLCBvbk1vZGVsQ2hhbmdlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB1cGRhdGUgPSB7IC4uLm1vZGVsLCB0ZWFjaGVySW5zdHJ1Y3Rpb25zIH07XG4gICAgb25Nb2RlbENoYW5nZWQodXBkYXRlKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBtb2RlbCwgY2xhc3Nlcywgb25Nb2RlbENoYW5nZWQsIGNvbmZpZ3VyYXRpb24sIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQsIGltYWdlU3VwcG9ydCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBtdWx0aXBsZSA9IHt9LFxuICAgICAgZmVlZGJhY2sgPSB7fSxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgPSB7fSxcbiAgICAgIHByb21wdCA9IHt9LFxuICAgICAgc3R1ZGVudEluc3RydWN0aW9ucyA9IHt9LFxuICAgICAgbWF0aElucHV0ID0ge30sXG4gICAgICBkaW1lbnNpb25zID0ge30sXG4gICAgICBlcXVhdGlvbkVkaXRvciA9IHt9XG4gICAgfSA9IGNvbmZpZ3VyYXRpb24gfHwge307XG4gICAgY29uc3QgeyB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCwgcHJvbXB0RW5hYmxlZCwgZmVlZGJhY2tFbmFibGVkIH0gPSBtb2RlbCB8fCB7fTtcbiAgICBjb25zdCB0b29sYmFyT3B0cyA9IHt9O1xuXG4gICAgc3dpdGNoIChtb2RlbC50b29sYmFyRWRpdG9yUG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIHRvb2xiYXJPcHRzLnBvc2l0aW9uID0gJ3RvcCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdG9vbGJhck9wdHMucG9zaXRpb24gPSAnYm90dG9tJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8bGF5b3V0LkNvbmZpZ0xheW91dFxuICAgICAgICBzZXR0aW5ncz17XG4gICAgICAgICAgPFBhbmVsXG4gICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uPXtjb25maWd1cmF0aW9ufVxuICAgICAgICAgICAgb25DaGFuZ2VNb2RlbD17bW9kZWwgPT4gb25Nb2RlbENoYW5nZWQobW9kZWwpfVxuICAgICAgICAgICAgb25DaGFuZ2VDb25maWd1cmF0aW9uPXtjb25maWcgPT4gb25Db25maWd1cmF0aW9uQ2hhbmdlZChjb25maWcpfVxuICAgICAgICAgICAgZ3JvdXBzPXt7XG4gICAgICAgICAgICAgICdTZXR0aW5ncyc6IHtcbiAgICAgICAgICAgICAgICBtYXRoSW5wdXQ6IG1hdGhJbnB1dC5zZXR0aW5ncyAmJiB0b2dnbGUobWF0aElucHV0LmxhYmVsKSxcbiAgICAgICAgICAgICAgICBlcXVhdGlvbkVkaXRvcjogZXF1YXRpb25FZGl0b3IuZW5hYmxlZCAmJiBtb2RlbC5tYXRoSW5wdXQgJiYgZHJvcGRvd24oZXF1YXRpb25FZGl0b3IubGFiZWwsIFtcbiAgICAgICAgICAgICAgICAgICdHcmFkZSAxIC0gMicsXG4gICAgICAgICAgICAgICAgICAnR3JhZGUgMyAtIDUnLFxuICAgICAgICAgICAgICAgICAgJ0dyYWRlIDYgLSA3JyxcbiAgICAgICAgICAgICAgICAgICdHcmFkZSA4IC0gSFMnLFxuICAgICAgICAgICAgICAgICAgJ2dlb21ldHJ5JyxcbiAgICAgICAgICAgICAgICAgICdhZHZhbmNlZC1hbGdlYnJhJyxcbiAgICAgICAgICAgICAgICAgICdzdGF0aXN0aWNzJyxcbiAgICAgICAgICAgICAgICAgICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIGRpbWVuc2lvbnM6IG51bWJlckZpZWxkcyhkaW1lbnNpb25zLmxhYmVsLCB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1dpZHRoIChweCknLFxuICAgICAgICAgICAgICAgICAgICBzdWZmaXg6ICdweCcsXG4gICAgICAgICAgICAgICAgICAgIG1pbjogMTAwLFxuICAgICAgICAgICAgICAgICAgICBtYXg6IDUwMFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0hlaWdodCAocHgpJyxcbiAgICAgICAgICAgICAgICAgICAgc3VmZml4OiAncHgnLFxuICAgICAgICAgICAgICAgICAgICBtaW46IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgbWF4OiA1MDBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAnbXVsdGlwbGUuZW5hYmxlZCc6IG11bHRpcGxlLnNldHRpbmdzICYmXG4gICAgICAgICAgICAgICAgICB0b2dnbGUobXVsdGlwbGUubGFiZWwsIHRydWUpLFxuICAgICAgICAgICAgICAgIHByb21wdEVuYWJsZWQ6IHByb21wdC5zZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICAgdG9nZ2xlKHByb21wdC5sYWJlbCksXG4gICAgICAgICAgICAgICAgZmVlZGJhY2tFbmFibGVkOiBmZWVkYmFjay5zZXR0aW5ncyAmJiB0b2dnbGUoZmVlZGJhY2subGFiZWwpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnUHJvcGVydGllcyc6IHtcbiAgICAgICAgICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdGVhY2hlckluc3RydWN0aW9ucy5zZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICAgdG9nZ2xlKHRlYWNoZXJJbnN0cnVjdGlvbnMubGFiZWwpLFxuICAgICAgICAgICAgICAgIHN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkOiBzdHVkZW50SW5zdHJ1Y3Rpb25zLnNldHRpbmdzICYmXG4gICAgICAgICAgICAgICAgICB0b2dnbGUoc3R1ZGVudEluc3RydWN0aW9ucy5sYWJlbClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICA8ZGl2PlxuXG4gICAgICAgICAge3RlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkICYmIChcbiAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciBsYWJlbD17dGVhY2hlckluc3RydWN0aW9ucy5sYWJlbH0gY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdENvbnRhaW5lcn0+XG4gICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0fVxuICAgICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwudGVhY2hlckluc3RydWN0aW9ucyB8fCAnJ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5jaGFuZ2VUZWFjaGVySW5zdHJ1Y3Rpb25zfVxuICAgICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICAgIG5vbkVtcHR5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICA8YnIgLz5cblxuICAgICAgICAgIHtwcm9tcHRFbmFibGVkICYmIChcbiAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciBsYWJlbD17cHJvbXB0LmxhYmVsfSBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0Q29udGFpbmVyfT5cbiAgICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e0FMTF9QTFVHSU5TfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgICAgbWFya3VwPXttb2RlbC5wcm9tcHQgfHwgJyd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25Qcm9tcHRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICAgICAgbm9uRW1wdHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZlZWRiYWNrRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSBjbGFzc05hbWU9e2NsYXNzZXMuaGVhZGVyfSB2YXJpYW50PVwic3ViaGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgRmVlZGJhY2tcbiAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG5cbiAgICAgICAgICAgICAgICA8RmVlZGJhY2tTZWxlY3RvclxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJXaGVuIHN1Ym1pdHRlZCwgc2hvd1wiXG4gICAgICAgICAgICAgICAgICBmZWVkYmFjaz17bW9kZWwuZmVlZGJhY2sgfHwgZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlRmVlZGJhY2t9XG4gICAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9sYXlvdXQuQ29uZmlnTGF5b3V0PlxuICAgICk7XG4gIH1cbn1cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXModGhlbWUgPT4gKHtcbiAgaGVhZGVyOiB7XG4gICAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZy51bml0XG4gIH0sXG4gIHByb21wdENvbnRhaW5lcjoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICAgIHdpZHRoOiAnMTAwJSdcbiAgfSxcbiAgcHJvbXB0SW5wdXQ6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0XG4gIH0sXG4gIGZpZWxkOiB7XG4gICAgd2lkdGg6ICcyMDBweCdcbiAgfVxufSkpKE1haW4pO1xuIl19
@@ -0,0 +1,402 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+
11
+ var _index = require("../index");
12
+
13
+ var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
14
+
15
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+
19
+ var defaults = {
20
+ feedback: {
21
+ type: 'default',
22
+ "default": 'this is default feedback'
23
+ },
24
+ mathInput: false,
25
+ prompt: 'Prompt',
26
+ dimensions: {
27
+ width: '150',
28
+ height: '150'
29
+ },
30
+ predefinedAnnotations: [{
31
+ label: 'good',
32
+ text: 'good',
33
+ type: 'positive'
34
+ }, {
35
+ label: 'creative',
36
+ text: 'creative',
37
+ type: 'positive'
38
+ }, {
39
+ label: 'run-on',
40
+ text: 'run-on',
41
+ type: 'negative'
42
+ }, {
43
+ label: 'frag',
44
+ text: 'fragment',
45
+ type: 'negative'
46
+ }],
47
+ teacherInstructions: 'Teacher Instructions'
48
+ };
49
+
50
+ var q = function q(extras) {
51
+ return _objectSpread(_objectSpread({}, defaults), extras);
52
+ };
53
+
54
+ var s = function s(extras) {
55
+ return _objectSpread({}, extras);
56
+ };
57
+
58
+ var e = function e() {
59
+ var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'gather';
60
+ return {
61
+ mode: mode
62
+ };
63
+ };
64
+
65
+ describe('controller', function () {
66
+ var assert = function assert(label, question, session, env, expected) {
67
+ it(label, /*#__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.model)(question, session, env);
75
+
76
+ case 2:
77
+ result = _context.sent;
78
+
79
+ if ((0, _isFunction["default"])(expected)) {
80
+ expected(result);
81
+ } else {
82
+ expect(result).toMatchObject(expected);
83
+ }
84
+
85
+ case 4:
86
+ case "end":
87
+ return _context.stop();
88
+ }
89
+ }
90
+ }, _callee);
91
+ })));
92
+ };
93
+
94
+ describe('model', function () {
95
+ var question = q();
96
+ var session = s();
97
+ var env = e();
98
+ describe('disabled', function () {
99
+ assert('gather', question, session, env, {
100
+ disabled: false
101
+ });
102
+ assert('view', question, session, e('view'), {
103
+ disabled: true
104
+ });
105
+ assert('evaluate', question, session, e('evaluate'), {
106
+ disabled: true
107
+ });
108
+ });
109
+ describe('feedback', function () {
110
+ assert('none for gather', question, session, env, {
111
+ feedback: undefined
112
+ });
113
+ assert('none for view', question, session, e('view'), {
114
+ feedback: undefined
115
+ });
116
+ assert('some for evaluate', q({
117
+ feedbackEnabled: true
118
+ }), session, e('evaluate'), {
119
+ feedback: q().feedback["default"]
120
+ });
121
+ });
122
+ it('gather mode, promptEnabled: true', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
123
+ var result;
124
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
125
+ while (1) {
126
+ switch (_context2.prev = _context2.next) {
127
+ case 0:
128
+ _context2.next = 2;
129
+ return (0, _index.model)(question, session, env);
130
+
131
+ case 2:
132
+ result = _context2.sent;
133
+ expect(result).toEqual({
134
+ annotatorMode: false,
135
+ customKeys: [],
136
+ prompt: defaults.prompt,
137
+ dimensions: defaults.dimensions,
138
+ disabled: false,
139
+ disabledAnnotator: true,
140
+ predefinedAnnotations: defaults.predefinedAnnotations,
141
+ feedback: undefined,
142
+ teacherInstructions: null,
143
+ mathInput: defaults.mathInput,
144
+ equationEditor: 'miscellaneous'
145
+ });
146
+
147
+ case 4:
148
+ case "end":
149
+ return _context2.stop();
150
+ }
151
+ }
152
+ }, _callee2);
153
+ })));
154
+ it('gather mode, promptEnabled: false', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
155
+ var result;
156
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
157
+ while (1) {
158
+ switch (_context3.prev = _context3.next) {
159
+ case 0:
160
+ _context3.next = 2;
161
+ return (0, _index.model)(q({
162
+ promptEnabled: false
163
+ }), session, env);
164
+
165
+ case 2:
166
+ result = _context3.sent;
167
+ expect(result).toEqual({
168
+ annotatorMode: false,
169
+ customKeys: [],
170
+ prompt: null,
171
+ dimensions: defaults.dimensions,
172
+ disabled: false,
173
+ disabledAnnotator: true,
174
+ predefinedAnnotations: defaults.predefinedAnnotations,
175
+ feedback: undefined,
176
+ teacherInstructions: null,
177
+ mathInput: defaults.mathInput,
178
+ equationEditor: 'miscellaneous'
179
+ });
180
+
181
+ case 4:
182
+ case "end":
183
+ return _context3.stop();
184
+ }
185
+ }
186
+ }, _callee3);
187
+ })));
188
+ it('view mode, student role', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
189
+ var result;
190
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
191
+ while (1) {
192
+ switch (_context4.prev = _context4.next) {
193
+ case 0:
194
+ _context4.next = 2;
195
+ return (0, _index.model)(question, session, {
196
+ mode: 'view'
197
+ });
198
+
199
+ case 2:
200
+ result = _context4.sent;
201
+ expect(result).toEqual({
202
+ annotatorMode: false,
203
+ customKeys: [],
204
+ prompt: defaults.prompt,
205
+ dimensions: defaults.dimensions,
206
+ disabled: true,
207
+ disabledAnnotator: true,
208
+ predefinedAnnotations: defaults.predefinedAnnotations,
209
+ feedback: undefined,
210
+ teacherInstructions: null,
211
+ mathInput: defaults.mathInput,
212
+ equationEditor: 'miscellaneous'
213
+ });
214
+
215
+ case 4:
216
+ case "end":
217
+ return _context4.stop();
218
+ }
219
+ }
220
+ }, _callee4);
221
+ })));
222
+ it('view mode, instructor role, teacherInstructions enabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
223
+ var result;
224
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
225
+ while (1) {
226
+ switch (_context5.prev = _context5.next) {
227
+ case 0:
228
+ _context5.next = 2;
229
+ return (0, _index.model)(question, session, {
230
+ mode: 'view',
231
+ role: 'instructor'
232
+ });
233
+
234
+ case 2:
235
+ result = _context5.sent;
236
+ expect(result).toEqual({
237
+ annotatorMode: true,
238
+ customKeys: [],
239
+ prompt: defaults.prompt,
240
+ dimensions: defaults.dimensions,
241
+ disabled: true,
242
+ disabledAnnotator: false,
243
+ predefinedAnnotations: defaults.predefinedAnnotations,
244
+ feedback: undefined,
245
+ teacherInstructions: defaults.teacherInstructions,
246
+ mathInput: defaults.mathInput,
247
+ equationEditor: 'miscellaneous'
248
+ });
249
+
250
+ case 4:
251
+ case "end":
252
+ return _context5.stop();
253
+ }
254
+ }
255
+ }, _callee5);
256
+ })));
257
+ it('view mode, instructor role, teacherInstructions disabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
258
+ var result;
259
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
260
+ while (1) {
261
+ switch (_context6.prev = _context6.next) {
262
+ case 0:
263
+ _context6.next = 2;
264
+ return (0, _index.model)(q({
265
+ teacherInstructionsEnabled: false
266
+ }), session, {
267
+ mode: 'view',
268
+ role: 'instructor'
269
+ });
270
+
271
+ case 2:
272
+ result = _context6.sent;
273
+ expect(result).toEqual({
274
+ annotatorMode: true,
275
+ customKeys: [],
276
+ prompt: defaults.prompt,
277
+ dimensions: defaults.dimensions,
278
+ disabled: true,
279
+ disabledAnnotator: false,
280
+ predefinedAnnotations: defaults.predefinedAnnotations,
281
+ feedback: undefined,
282
+ teacherInstructions: null,
283
+ mathInput: defaults.mathInput,
284
+ equationEditor: 'miscellaneous'
285
+ });
286
+
287
+ case 4:
288
+ case "end":
289
+ return _context6.stop();
290
+ }
291
+ }
292
+ }, _callee6);
293
+ })));
294
+ it('evaluate mode, student role', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
295
+ var result;
296
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
297
+ while (1) {
298
+ switch (_context7.prev = _context7.next) {
299
+ case 0:
300
+ _context7.next = 2;
301
+ return (0, _index.model)(question, session, {
302
+ mode: 'evaluate'
303
+ });
304
+
305
+ case 2:
306
+ result = _context7.sent;
307
+ expect(result).toEqual({
308
+ annotatorMode: true,
309
+ customKeys: [],
310
+ prompt: defaults.prompt,
311
+ dimensions: defaults.dimensions,
312
+ disabled: true,
313
+ disabledAnnotator: true,
314
+ predefinedAnnotations: defaults.predefinedAnnotations,
315
+ feedback: 'this is default feedback',
316
+ teacherInstructions: null,
317
+ mathInput: defaults.mathInput,
318
+ equationEditor: 'miscellaneous'
319
+ });
320
+
321
+ case 4:
322
+ case "end":
323
+ return _context7.stop();
324
+ }
325
+ }
326
+ }, _callee7);
327
+ })));
328
+ it('evaluate mode, instructor role, teacherInstructions enabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
329
+ var result;
330
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
331
+ while (1) {
332
+ switch (_context8.prev = _context8.next) {
333
+ case 0:
334
+ _context8.next = 2;
335
+ return (0, _index.model)(question, session, {
336
+ mode: 'evaluate',
337
+ role: 'instructor'
338
+ });
339
+
340
+ case 2:
341
+ result = _context8.sent;
342
+ expect(result).toEqual({
343
+ annotatorMode: true,
344
+ customKeys: [],
345
+ prompt: defaults.prompt,
346
+ dimensions: defaults.dimensions,
347
+ disabled: true,
348
+ disabledAnnotator: false,
349
+ predefinedAnnotations: defaults.predefinedAnnotations,
350
+ feedback: 'this is default feedback',
351
+ teacherInstructions: defaults.teacherInstructions,
352
+ mathInput: defaults.mathInput,
353
+ equationEditor: 'miscellaneous'
354
+ });
355
+
356
+ case 4:
357
+ case "end":
358
+ return _context8.stop();
359
+ }
360
+ }
361
+ }, _callee8);
362
+ })));
363
+ it('evaluate mode, instructor role, teacherInstructions disabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
364
+ var result;
365
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
366
+ while (1) {
367
+ switch (_context9.prev = _context9.next) {
368
+ case 0:
369
+ _context9.next = 2;
370
+ return (0, _index.model)(q({
371
+ teacherInstructionsEnabled: false
372
+ }), session, {
373
+ mode: 'evaluate',
374
+ role: 'instructor'
375
+ });
376
+
377
+ case 2:
378
+ result = _context9.sent;
379
+ expect(result).toEqual({
380
+ annotatorMode: true,
381
+ customKeys: [],
382
+ prompt: defaults.prompt,
383
+ dimensions: defaults.dimensions,
384
+ disabled: true,
385
+ disabledAnnotator: false,
386
+ predefinedAnnotations: defaults.predefinedAnnotations,
387
+ feedback: 'this is default feedback',
388
+ teacherInstructions: null,
389
+ mathInput: defaults.mathInput,
390
+ equationEditor: 'miscellaneous'
391
+ });
392
+
393
+ case 4:
394
+ case "end":
395
+ return _context9.stop();
396
+ }
397
+ }
398
+ }, _callee9);
399
+ })));
400
+ });
401
+ });
402
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0cyIsImZlZWRiYWNrIiwidHlwZSIsIm1hdGhJbnB1dCIsInByb21wdCIsImRpbWVuc2lvbnMiLCJ3aWR0aCIsImhlaWdodCIsInByZWRlZmluZWRBbm5vdGF0aW9ucyIsImxhYmVsIiwidGV4dCIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJxIiwiZXh0cmFzIiwicyIsImUiLCJtb2RlIiwiZGVzY3JpYmUiLCJhc3NlcnQiLCJxdWVzdGlvbiIsInNlc3Npb24iLCJlbnYiLCJleHBlY3RlZCIsIml0IiwicmVzdWx0IiwiZXhwZWN0IiwidG9NYXRjaE9iamVjdCIsImRpc2FibGVkIiwidW5kZWZpbmVkIiwiZmVlZGJhY2tFbmFibGVkIiwidG9FcXVhbCIsImFubm90YXRvck1vZGUiLCJjdXN0b21LZXlzIiwiZGlzYWJsZWRBbm5vdGF0b3IiLCJlcXVhdGlvbkVkaXRvciIsInByb21wdEVuYWJsZWQiLCJyb2xlIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7O0FBQ0EsSUFBTUEsUUFBUSxHQUFHO0FBQ2ZDLEVBQUFBLFFBQVEsRUFBRTtBQUFFQyxJQUFBQSxJQUFJLEVBQUUsU0FBUjtBQUFtQixlQUFTO0FBQTVCLEdBREs7QUFFZkMsRUFBQUEsU0FBUyxFQUFFLEtBRkk7QUFHZkMsRUFBQUEsTUFBTSxFQUFFLFFBSE87QUFJZkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLElBQUFBLEtBQUssRUFBRSxLQURHO0FBRVZDLElBQUFBLE1BQU0sRUFBRTtBQUZFLEdBSkc7QUFRZkMsRUFBQUEscUJBQXFCLEVBQUUsQ0FDckI7QUFDRUMsSUFBQUEsS0FBSyxFQUFFLE1BRFQ7QUFFRUMsSUFBQUEsSUFBSSxFQUFFLE1BRlI7QUFHRVIsSUFBQUEsSUFBSSxFQUFFO0FBSFIsR0FEcUIsRUFLbEI7QUFDRE8s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RSxFQUZTO0FBR3JCNUIsZ0JBQUFBLE1BQU0sRUFBRUosUUFBUSxDQUFDSSxNQUhJO0FBSXJCQyxnQkFBQUEsVUFBVSxFQUFFTCxRQUFRLENBQUNLLFVBSkE7QUFLckJzQixnQkFBQUEsUUFBUSxFQUFFLElBTFc7QUFNckJNLGdCQUFBQSxpQkFBaUIsRUFBRSxLQU5FO0FBT3JCekIsZ0JBQUFBLHFCQUFxQixFQUFFUixRQUFRLENBQUNRLHFCQVBYO0FBUXJCUCxnQkFBQUEsUUFBUSxFQUFFLDBCQVJXO0FBU3JCVSxnQkFBQUEsbUJBQW1CLEVBQUUsSUFUQTtBQVVyQlIsZ0JBQUFBLFNBQVMsRUFBRUgsUUFBUSxDQUFDRyxTQVZDO0FBV3JCK0IsZ0JBQUFBLGNBQWMsRUFBRTtBQVhLLGVBQXZCOztBQUZpRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxLQUFqRSxHQUFGO0FBZ0JELEdBaEpPLENBQVI7QUFpSkQsQ0E1Sk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1vZGVsIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IGlzRnVuY3Rpb24gZnJvbSAnbG9kYXNoL2lzRnVuY3Rpb24nO1xuY29uc3QgZGVmYXVsdHMgPSB7XG4gIGZlZWRiYWNrOiB7IHR5cGU6ICdkZWZhdWx0JywgZGVmYXVsdDogJ3RoaXMgaXMgZGVmYXVsdCBmZWVkYmFjaycgfSxcbiAgbWF0aElucHV0OiBmYWxzZSxcbiAgcHJvbXB0OiAnUHJvbXB0JyxcbiAgZGltZW5zaW9uczoge1xuICAgIHdpZHRoOiAnMTUwJyxcbiAgICBoZWlnaHQ6ICcxNTAnXG4gIH0sXG4gIHByZWRlZmluZWRBbm5vdGF0aW9uczogW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnZ29vZCcsXG4gICAgICB0ZXh0OiAnZ29vZCcsXG4gICAgICB0eXBlOiAncG9zaXRpdmUnXG4gICAgfSwge1xuICAgICAgbGFiZWw6ICdjcmVhdGl2ZScsXG4gICAgICB0ZXh0OiAnY3JlYXRpdmUnLFxuICAgICAgdHlwZTogJ3Bvc2l0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAncnVuLW9uJyxcbiAgICAgIHRleHQ6ICdydW4tb24nLFxuICAgICAgdHlwZTogJ25lZ2F0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAnZnJhZycsXG4gICAgICB0ZXh0OiAnZnJhZ21lbnQnLFxuICAgICAgdHlwZTogJ25lZ2F0aXZlJ1xuICAgIH1cbiAgXSxcbiAgdGVhY2hlckluc3RydWN0aW9uczogJ1RlYWNoZXIgSW5zdHJ1Y3Rpb25zJ1xufTtcbmNvbnN0IHEgPSBleHRyYXMgPT4gKHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9KTtcbmNvbnN0IHMgPSBleHRyYXMgPT4gKHsgLi4uZXh0cmFzIH0pO1xuY29uc3QgZSA9IChtb2RlID0gJ2dhdGhlcicpID0+ICh7IG1vZGUgfSk7XG5kZXNjcmliZSgnY29udHJvbGxlcicsICgpID0+IHtcbiAgY29uc3QgYXNzZXJ0ID0gKGxhYmVsLCBxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCBleHBlY3RlZCkgPT4ge1xuICAgIGl0KGxhYmVsLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52KTtcbiAgICAgIGlmIChpc0Z1bmN0aW9uKGV4cGVjdGVkKSkge1xuICAgICAgICBleHBlY3RlZChyZXN1bHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9NYXRjaE9iamVjdChleHBlY3RlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIGRlc2NyaWJlKCdtb2RlbCcsICgpID0+IHtcbiAgICBjb25zdCBxdWVzdGlvbiA9IHEoKTtcbiAgICBjb25zdCBzZXNzaW9uID0gcygpO1xuICAgIGNvbnN0IGVudiA9IGUoKTtcbiAgICBkZXNjcmliZSgnZGlzYWJsZWQnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ2dhdGhlcicsIHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYsIHsgZGlzYWJsZWQ6IGZhbHNlIH0pO1xuICAgICAgYXNzZXJ0KCd2aWV3JywgcXVlc3Rpb24sIHNlc3Npb24sIGUoJ3ZpZXcnKSwgeyBkaXNhYmxlZDogdHJ1ZSB9KTtcbiAgICAgIGFzc2VydCgnZXZhbHVhdGUnLCBxdWVzdGlvbiwgc2Vzc2lvbiwgZSgnZXZhbHVhdGUnKSwgeyBkaXNhYmxlZDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnZmVlZGJhY2snLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ25vbmUgZm9yIGdhdGhlcicsIHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYsIHsgZmVlZGJhY2s6IHVuZGVmaW5lZCB9KTtcbiAgICAgIGFzc2VydCgnbm9uZSBmb3IgdmlldycsIHF1ZXN0aW9uLCBzZXNzaW9uLCBlKCd2aWV3JyksIHsgZmVlZGJhY2s6IHVuZGVmaW5lZCB9KTtcbiAgICAgIGFzc2VydCgnc29tZSBmb3IgZXZhbHVhdGUnLCBxKHsgZmVlZGJhY2tFbmFibGVkOiB0cnVlIH0pLCBzZXNzaW9uLCBlKCdldmFsdWF0ZScpLCB7XG4gICAgICAgIGZlZWRiYWNrOiBxKCkuZmVlZGJhY2suZGVmYXVsdFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ2dhdGhlciBtb2RlLCBwcm9tcHRFbmFibGVkOiB0cnVlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9kZWwocXVlc3Rpb24sIHNlc3Npb24sIGVudik7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgYW5ub3RhdG9yTW9kZTogZmFsc2UsXG4gICAgICAgIGN1c3RvbUtleXM6IFtdLFxuICAgICAgICBwcm9tcHQ6IGRlZmF1bHRzLnByb21wdCxcbiAgICAgICAgZGltZW5zaW9uczogZGVmYXVsdHMuZGltZW5zaW9ucyxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlZEFubm90YXRvcjogdHJ1ZSxcbiAgICAgICAgcHJlZGVmaW5lZEFubm90YXRpb25zOiBkZWZhdWx0cy5wcmVkZWZpbmVkQW5ub3RhdGlvbnMsXG4gICAgICAgIGZlZWRiYWNrOiB1bmRlZmluZWQsXG4gICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IG51bGwsXG4gICAgICAgIG1hdGhJbnB1dDogZGVmYXVsdHMubWF0aElucHV0LFxuICAgICAgICBlcXVhdGlvbkVkaXRvcjogJ21pc2NlbGxhbmVvdXMnXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpdCgnZ2F0aGVyIG1vZGUsIHByb21wdEVuYWJsZWQ6IGZhbHNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9kZWwocSh7IHByb21wdEVuYWJsZWQ6IGZhbHNlIH0pLCBzZXNzaW9uLCBlbnYpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIGFubm90YXRvck1vZGU6IGZhbHNlLFxuICAgICAgICBjdXN0b21LZXlzOiBbXSxcbiAgICAgICAgcHJvbXB0OiBudWxsLFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIGRpc2FibGVkQW5ub3RhdG9yOiB0cnVlLFxuICAgICAgICBwcmVkZWZpbmVkQW5ub3RhdGlvbnM6IGRlZmF1bHRzLnByZWRlZmluZWRBbm5vdGF0aW9ucyxcbiAgICAgICAgZmVlZGJhY2s6IHVuZGVmaW5lZCxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogbnVsbCxcbiAgICAgICAgbWF0aElucHV0OiBkZWZhdWx0cy5tYXRoSW5wdXQsXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cydcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCd2aWV3IG1vZGUsIHN0dWRlbnQgcm9sZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1vZGVsKHF1ZXN0aW9uLCBzZXNzaW9uLCB7IG1vZGU6ICd2aWV3JyB9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICBhbm5vdGF0b3JNb2RlOiBmYWxzZSxcbiAgICAgICAgY3VzdG9tS2V5czogW10sXG4gICAgICAgIHByb21wdDogZGVmYXVsdHMucHJvbXB0LFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZWRBbm5vdGF0b3I6IHRydWUsXG4gICAgICAgIHByZWRlZmluZWRBbm5vdGF0aW9uczogZGVmYXVsdHMucHJlZGVmaW5lZEFubm90YXRpb25zLFxuICAgICAgICBmZWVkYmFjazogdW5kZWZpbmVkLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiBudWxsLFxuICAgICAgICBtYXRoSW5wdXQ6IGRlZmF1bHRzLm1hdGhJbnB1dCxcbiAgICAgICAgZXF1YXRpb25FZGl0b3I6ICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ3ZpZXcgbW9kZSwgaW5zdHJ1Y3RvciByb2xlLCB0ZWFjaGVySW5zdHJ1Y3Rpb25zIGVuYWJsZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgeyBtb2RlOiAndmlldycsIHJvbGU6ICdpbnN0cnVjdG9yJyB9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICBhbm5vdGF0b3JNb2RlOiB0cnVlLFxuICAgICAgICBjdXN0b21LZXlzOiBbXSxcbiAgICAgICAgcHJvbXB0OiBkZWZhdWx0cy5wcm9tcHQsXG4gICAgICAgIGRpbWVuc2lvbnM6IGRlZmF1bHRzLmRpbWVuc2lvbnMsXG4gICAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgICAgICBkaXNhYmxlZEFubm90YXRvcjogZmFsc2UsXG4gICAgICAgIHByZWRlZmluZWRBbm5vdGF0aW9uczogZGVmYXVsdHMucHJlZGVmaW5lZEFubm90YXRpb25zLFxuICAgICAgICBmZWVkYmFjazogdW5kZWZpbmVkLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiBkZWZhdWx0cy50ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgICAgICBtYXRoSW5wdXQ6IGRlZmF1bHRzLm1hdGhJbnB1dCxcbiAgICAgICAgZXF1YXRpb25FZGl0b3I6ICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ3ZpZXcgbW9kZSwgaW5zdHJ1Y3RvciByb2xlLCB0ZWFjaGVySW5zdHJ1Y3Rpb25zIGRpc2FibGVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9kZWwocSh7IHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiBmYWxzZSB9KSwgc2Vzc2lvbiwgeyBtb2RlOiAndmlldycsIHJvbGU6ICdpbnN0cnVjdG9yJyB9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICBhbm5vdGF0b3JNb2RlOiB0cnVlLFxuICAgICAgICBjdXN0b21LZXlzOiBbXSxcbiAgICAgICAgcHJvbXB0OiBkZWZhdWx0cy5wcm9tcHQsXG4gICAgICAgIGRpbWVuc2lvbnM6IGRlZmF1bHRzLmRpbWVuc2lvbnMsXG4gICAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgICAgICBkaXNhYmxlZEFubm90YXRvcjogZmFsc2UsXG4gICAgICAgIHByZWRlZmluZWRBbm5vdGF0aW9uczogZGVmYXVsdHMucHJlZGVmaW5lZEFubm90YXRpb25zLFxuICAgICAgICBmZWVkYmFjazogdW5kZWZpbmVkLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiBudWxsLFxuICAgICAgICBtYXRoSW5wdXQ6IGRlZmF1bHRzLm1hdGhJbnB1dCxcbiAgICAgICAgZXF1YXRpb25FZGl0b3I6ICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ2V2YWx1YXRlIG1vZGUsIHN0dWRlbnQgcm9sZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1vZGVsKHF1ZXN0aW9uLCBzZXNzaW9uLCB7IG1vZGU6ICdldmFsdWF0ZScgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgYW5ub3RhdG9yTW9kZTogdHJ1ZSxcbiAgICAgICAgY3VzdG9tS2V5czogW10sXG4gICAgICAgIHByb21wdDogZGVmYXVsdHMucHJvbXB0LFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZWRBbm5vdGF0b3I6IHRydWUsXG4gICAgICAgIHByZWRlZmluZWRBbm5vdGF0aW9uczogZGVmYXVsdHMucHJlZGVmaW5lZEFubm90YXRpb25zLFxuICAgICAgICBmZWVkYmFjazogJ3RoaXMgaXMgZGVmYXVsdCBmZWVkYmFjaycsXG4gICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IG51bGwsXG4gICAgICAgIG1hdGhJbnB1dDogZGVmYXVsdHMubWF0aElucHV0LFxuICAgICAgICBlcXVhdGlvbkVkaXRvcjogJ21pc2NlbGxhbmVvdXMnXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpdCgnZXZhbHVhdGUgbW9kZSwgaW5zdHJ1Y3RvciByb2xlLCB0ZWFjaGVySW5zdHJ1Y3Rpb25zIGVuYWJsZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgeyBtb2RlOiAnZXZhbHVhdGUnLCByb2xlOiAnaW5zdHJ1Y3RvcicgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgYW5ub3RhdG9yTW9kZTogdHJ1ZSxcbiAgICAgICAgY3VzdG9tS2V5czogW10sXG4gICAgICAgIHByb21wdDogZGVmYXVsdHMucHJvbXB0LFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZWRBbm5vdGF0b3I6IGZhbHNlLFxuICAgICAgICBwcmVkZWZpbmVkQW5ub3RhdGlvbnM6IGRlZmF1bHRzLnByZWRlZmluZWRBbm5vdGF0aW9ucyxcbiAgICAgICAgZmVlZGJhY2s6ICd0aGlzIGlzIGRlZmF1bHQgZmVlZGJhY2snLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiBkZWZhdWx0cy50ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgICAgICBtYXRoSW5wdXQ6IGRlZmF1bHRzLm1hdGhJbnB1dCxcbiAgICAgICAgZXF1YXRpb25FZGl0b3I6ICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ2V2YWx1YXRlIG1vZGUsIGluc3RydWN0b3Igcm9sZSwgdGVhY2hlckluc3RydWN0aW9ucyBkaXNhYmxlZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1vZGVsKHEoeyB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogZmFsc2UgfSksIHNlc3Npb24sIHsgbW9kZTogJ2V2YWx1YXRlJywgcm9sZTogJ2luc3RydWN0b3InIH0pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIGFubm90YXRvck1vZGU6IHRydWUsXG4gICAgICAgIGN1c3RvbUtleXM6IFtdLFxuICAgICAgICBwcm9tcHQ6IGRlZmF1bHRzLnByb21wdCxcbiAgICAgICAgZGltZW5zaW9uczogZGVmYXVsdHMuZGltZW5zaW9ucyxcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgIGRpc2FibGVkQW5ub3RhdG9yOiBmYWxzZSxcbiAgICAgICAgcHJlZGVmaW5lZEFubm90YXRpb25zOiBkZWZhdWx0cy5wcmVkZWZpbmVkQW5ub3RhdGlvbnMsXG4gICAgICAgIGZlZWRiYWNrOiAndGhpcyBpcyBkZWZhdWx0IGZlZWRiYWNrJyxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogbnVsbCxcbiAgICAgICAgbWF0aElucHV0OiBkZWZhdWx0cy5tYXRoSW5wdXQsXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cydcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19