@pie-element/select-text 6.5.26-next.2 → 6.6.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.
@@ -1,11 +0,0 @@
1
- {
2
- "hash": "-2043355302",
3
- "info": [
4
- {
5
- "pie": "@pie-element/select-text",
6
- "version": {
7
- "requested": "latest"
8
- }
9
- }
10
- ]
11
- }
@@ -1,91 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _ = _interopRequireDefault(require(".."));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _reactDom = _interopRequireDefault(require("react-dom"));
10
-
11
- var _piePlayerEvents = require("@pie-framework/pie-player-events");
12
-
13
- var _mathRendering = require("@pie-lib/math-rendering");
14
-
15
- jest.mock('@pie-lib/math-rendering', function () {
16
- return {
17
- renderMath: jest.fn()
18
- };
19
- });
20
- jest.mock('../main', function () {
21
- return jest.fn();
22
- });
23
- jest.mock('react', function () {
24
- return {
25
- createElement: jest.fn()
26
- };
27
- });
28
- jest.mock('react-dom', function () {
29
- return {
30
- render: jest.fn(function (r, el, cb) {
31
- cb();
32
- })
33
- };
34
- });
35
- describe('select-text', function () {
36
- var c;
37
- beforeEach(function () {
38
- c = new _["default"]();
39
- c.dispatchEvent = jest.fn();
40
- c.tagName = 'select-text';
41
- c.model = {};
42
- c.session = {};
43
- });
44
- describe('init', function () {
45
- it('calls createElement', function () {
46
- expect(_react["default"].createElement).toBeCalled();
47
- });
48
- it('calls render', function () {
49
- expect(_reactDom["default"].render).toBeCalledWith(undefined, expect.anything(), expect.any(Function));
50
- });
51
- it('calls renderMath', function () {
52
- expect(_mathRendering.renderMath).toHaveBeenCalled();
53
- });
54
- });
55
- describe('isSessionComplete', function () {
56
- it('returns true for non empty selectedTokens', function () {
57
- c.session = {
58
- selectedTokens: [{
59
- start: 0,
60
- end: 1,
61
- text: 'f'
62
- }]
63
- };
64
- expect(c.isSessionComplete()).toEqual(true);
65
- });
66
- it('returns false for empty selectedTokens', function () {
67
- c.session = {
68
- selectedTokens: []
69
- };
70
- expect(c.isSessionComplete()).toEqual(false);
71
- });
72
- });
73
- describe('selectionChanged', function () {
74
- var newTokens;
75
- beforeEach(function () {
76
- newTokens = [{
77
- start: 2,
78
- end: 3,
79
- text: 'f'
80
- }];
81
- c.selectionChanged(newTokens);
82
- });
83
- it('sets the tokens', function () {
84
- expect(c._session.selectedTokens).toEqual(newTokens);
85
- });
86
- it('calls dispatchEvent', function () {
87
- expect(c.dispatchEvent).toBeCalledWith(new _piePlayerEvents.SessionChangedEvent('select-text', true));
88
- });
89
- });
90
- });
91
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsInJlbmRlck1hdGgiLCJmbiIsImNyZWF0ZUVsZW1lbnQiLCJyZW5kZXIiLCJyIiwiZWwiLCJjYiIsImRlc2NyaWJlIiwiYyIsImJlZm9yZUVhY2giLCJTZWxlY3RUZXh0IiwiZGlzcGF0Y2hFdmVudCIsInRhZ05hbWUiLCJtb2RlbCIsInNlc3Npb24iLCJpdCIsImV4cGVjdCIsIlJlYWN0IiwidG9CZUNhbGxlZCIsIlJlYWN0RE9NIiwidG9CZUNhbGxlZFdpdGgiLCJ1bmRlZmluZWQiLCJhbnl0aGluZyIsImFueSIsIkZ1bmN0aW9uIiwidG9IYXZlQmVlbkNhbGxlZCIsInNlbGVjdGVkVG9rZW5zIiwic3RhcnQiLCJlbmQiLCJ0ZXh0IiwiaXNTZXNzaW9uQ29tcGxldGUiLCJ0b0VxdWFsIiwibmV3VG9rZW5zIiwic2VsZWN0aW9uQ2hhbmdlZCIsIl9zZXNzaW9uIiwiU2Vzc2lvbkNoYW5nZWRFdmVudCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBQSxJQUFJLENBQUNDLElBQUwsQ0FBVSx5QkFBVixFQUFxQztBQUFBLFNBQU87QUFDMUNDLElBQUFBLFVBQVUsRUFBRUYsSUFBSSxDQUFDRyxFQUFMO0FBRDhCLEdBQVA7QUFBQSxDQUFyQztBQUdBSCxJQUFJLENBQUNDLElBQUwsQ0FBVSxTQUFWLEVBQXFCO0FBQUEsU0FBTUQsSUFBSSxDQUFDRyxFQUFMLEVBQU47QUFBQSxDQUFyQjtBQUVBSCxJQUFJLENBQUNDLElBQUwsQ0FBVSxPQUFWLEVBQW1CO0FBQUEsU0FBTztBQUN4QkcsSUFBQUEsYUFBYSxFQUFFSixJQUFJLENBQUNHLEVBQUw7QUFEUyxHQUFQO0FBQUEsQ0FBbkI7QUFJQUgsSUFBSSxDQUFDQyxJQUFMLENBQVUsV0FBVixFQUF1QjtBQUFBLFNBQU87QUFDNUJJLElBQUFBLE1BQU0sRUFBRUws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RCxLQUZDLENBQUY7QUFJQWpCLElBQUFBLEVBQUUsQ0FBQyxxQkFBRCxFQUF3QixZQUFNO0FBQzlCQyxNQUFBQSxNQUFNLENBQUNSLENBQUMsQ0FBQ0csYUFBSCxDQUFOLENBQXdCUyxjQUF4QixDQUNFLElBQUllLG9DQUFKLENBQXdCLGFBQXhCLEVBQXVDLElBQXZDLENBREY7QUFHRCxLQUpDLENBQUY7QUFLRCxHQWhCTyxDQUFSO0FBaUJELENBeERPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2VsZWN0VGV4dCBmcm9tICcuLic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBTZXNzaW9uQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQHBpZS1mcmFtZXdvcmsvcGllLXBsYXllci1ldmVudHMnO1xuXG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuamVzdC5tb2NrKCdAcGllLWxpYi9tYXRoLXJlbmRlcmluZycsICgpID0+ICh7XG4gIHJlbmRlck1hdGg6IGplc3QuZm4oKVxufSkpO1xuamVzdC5tb2NrKCcuLi9tYWluJywgKCkgPT4gamVzdC5mbigpKTtcblxuamVzdC5tb2NrKCdyZWFjdCcsICgpID0+ICh7XG4gIGNyZWF0ZUVsZW1lbnQ6IGplc3QuZm4oKVxufSkpO1xuXG5qZXN0Lm1vY2soJ3JlYWN0LWRvbScsICgpID0+ICh7XG4gIHJlbmRlcjogamVzdC5mbigociwgZWwsIGNiKSA9PiB7XG4gICAgY2IoKTtcbiAgfSlcbn0pKTtcblxuZGVzY3JpYmUoJ3NlbGVjdC10ZXh0JywgKCkgPT4ge1xuICBsZXQgYztcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgYyA9IG5ldyBTZWxlY3RUZXh0KCk7XG4gICAgYy5kaXNwYXRjaEV2ZW50ID0gamVzdC5mbigpO1xuICAgIGMudGFnTmFtZSA9ICdzZWxlY3QtdGV4dCc7XG4gICAgYy5tb2RlbCA9IHt9O1xuICAgIGMuc2Vzc2lvbiA9IHt9O1xuICB9KTtcblxuICBkZXNjcmliZSgnaW5pdCcsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgY3JlYXRlRWxlbWVudCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChSZWFjdC5jcmVhdGVFbGVtZW50KS50b0JlQ2FsbGVkKCk7XG4gICAgfSk7XG4gICAgaXQoJ2NhbGxzIHJlbmRlcicsICgpID0+IHtcbiAgICAgIGV4cGVjdChSZWFjdERPTS5yZW5kZXIpLnRvQmVDYWxsZWRXaXRoKFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgICBleHBlY3QuYW55KEZ1bmN0aW9uKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyByZW5kZXJNYXRoJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlbmRlck1hdGgpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2lzU2Vzc2lvbkNvbXBsZXRlJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHRydWUgZm9yIG5vbiBlbXB0eSBzZWxlY3RlZFRva2VucycsICgpID0+IHtcbiAgICAgIGMuc2Vzc2lvbiA9IHsgc2VsZWN0ZWRUb2tlbnM6IFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XSB9O1xuICAgICAgZXhwZWN0KGMuaXNTZXNzaW9uQ29tcGxldGUoKSkudG9FcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIGZhbHNlIGZvciBlbXB0eSBzZWxlY3RlZFRva2VucycsICgpID0+IHtcbiAgICAgIGMuc2Vzc2lvbiA9IHsgc2VsZWN0ZWRUb2tlbnM6IFtdIH07XG4gICAgICBleHBlY3QoYy5pc1Nlc3Npb25Db21wbGV0ZSgpKS50b0VxdWFsKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NlbGVjdGlvbkNoYW5nZWQnLCAoKSA9PiB7XG4gICAgbGV0IG5ld1Rva2VucztcbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIG5ld1Rva2VucyA9IFt7IHN0YXJ0OiAyLCBlbmQ6IDMsIHRleHQ6ICdmJyB9XTtcbiAgICAgIGMuc2VsZWN0aW9uQ2hhbmdlZChuZXdUb2tlbnMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3NldHMgdGhlIHRva2VucycsICgpID0+IHtcbiAgICAgIGV4cGVjdChjLl9zZXNzaW9uLnNlbGVjdGVkVG9rZW5zKS50b0VxdWFsKG5ld1Rva2Vucyk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgZGlzcGF0Y2hFdmVudCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChjLmRpc3BhdGNoRXZlbnQpLnRvQmVDYWxsZWRXaXRoKFxuICAgICAgICBuZXcgU2Vzc2lvbkNoYW5nZWRFdmVudCgnc2VsZWN0LXRleHQnLCB0cnVlKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _main = require("../main");
12
-
13
- jest.mock('@pie-lib/text-select', function () {
14
- return {
15
- prepareText: jest.fn()
16
- };
17
- });
18
- describe('main', function () {
19
- var getWrapper = function getWrapper(props) {
20
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_main.Main, (0, _extends2["default"])({
21
- onSelectionChange: jest.fn(),
22
- model: {
23
- text: 'foo',
24
- tokens: [{
25
- start: 0,
26
- end: 1,
27
- text: 'f'
28
- }]
29
- },
30
- session: {
31
- selectedTokens: [{
32
- start: 0,
33
- end: 1,
34
- text: 'f'
35
- }]
36
- },
37
- classes: {}
38
- }, props)));
39
- };
40
-
41
- describe('snapshot', function () {
42
- it('renders', function () {
43
- var w = getWrapper();
44
- expect(w).toMatchSnapshot();
45
- });
46
- it('renders rationale', function () {
47
- var w = getWrapper({
48
- rationale: 'This is rationale '
49
- });
50
- expect(w).toMatchSnapshot();
51
- });
52
- it('renders showCorrect', function () {
53
- var w = getWrapper();
54
- w.instance().toggleShowCorrect();
55
- expect(w).toMatchSnapshot();
56
- });
57
- });
58
- describe('logic', function () {
59
- var w;
60
- beforeEach(function () {
61
- w = getWrapper();
62
- });
63
- it('shows correct answer', function () {
64
- var correctTokens = [{
65
- start: 0,
66
- end: 1,
67
- text: 'f',
68
- correct: true,
69
- oldStart: 0,
70
- oldEnd: 1
71
- }];
72
- w.setProps({
73
- model: {
74
- text: 'foo',
75
- tokens: correctTokens
76
- }
77
- });
78
- var result = w.instance().correctAnswer();
79
- expect(result).toEqual(correctTokens);
80
- });
81
- });
82
- });
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzeCJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsInByZXBhcmVUZXh0IiwiZm4iLCJkZXNjcmliZSIsImdldFdyYXBwZXIiLCJwcm9wcyIsInRleHQiLCJ0b2tlbnMiLCJzdGFydCIsImVuZCIsInNlbGVjdGVkVG9rZW5zIiwiaXQiLCJ3IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwicmF0aW9uYWxlIiwiaW5zdGFuY2UiLCJ0b2dnbGVTaG93Q29ycmVjdCIsImJlZm9yZUVhY2giLCJjb3JyZWN0VG9rZW5zIiwiY29ycmVjdCIsIm9sZFN0YXJ0Iiwib2xkRW5kIiwic2V0UHJvcHMiLCJtb2RlbCIsInJlc3VsdCIsImNvcnJlY3RBbnN3ZXIiLCJ0b0VxdWFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsc0JBQVYsRUFBa0M7QUFBQSxTQUFPO0FBQ3ZDQyxJQUFBQSxXQUFXLEVBQUVGLElBQUksQ0FBQ0csRUFBTDtBQUQwQixHQUFQO0FBQUEsQ0FBbEM7QUFJQUMsUUFBUSxDQUFDLE1BQUQsRUFBUyxZQUFNO0FBQ3JCLE1BQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUFDLEtBQUssRUFBSTtBQUMxQixXQUFPLG1DQUNMLGdDQUFDLFVBQUQ7QUFDRSxNQUFBLGlCQUFpQixFQUFFTixJQUFJLENBQUNHLEVBQUwsRUFEckI7QUFFRSxNQUFBLEtBQUssRUFBRTtBQUNMSSxRQUFBQSxJQUFJLEVBQUUsS0FERDtBQUVMQyxRQUFBQSxNQUFNLEVBQUUsQ0FBQztBQUFFQyxVQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxVQUFBQSxHQUFHLEVBQUUsQ0FBakI7QUFBb0JILFVBQUFBLElBQUksRUFBRTtBQUExQixTQUFEO0FBRkgsT0FGVDtBQU1FLE1BQUEsT0FBTyxFQUFFO0FBQ1BJLFFBQUFBLGNBQWMsRUFBRSxDQUFDO0FBQUVGLFVBQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLFVBQUFBLEdBQUcsRUFBRSxDQUFqQjtBQUFvQkgsVUFBQUEsSUFBSSxFQUFFO0FBQTFCLFNBQUQ7QUFEVCxPQU5YO0FBU0UsTUFBQSxPQUFPLEVBQUU7QUFUWCxPQVVPRCxLQVZQLEVBREssQ0FBUDtBQWNELEdBZkQ7O0FBaUJBRixFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJRLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQixVQUFNQyxDQUFDLEdBQUdSLFVBQVUsRUFBcEI7QUFDQVMsTUFBQUEsTUFBTSxDQUFDRCxDQUFELENBQU4sQ0FBVUUsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUtBSCxJQUFBQSxFQUFFLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM1QixVQUFNQyxDQUFDLEdBQUdSLFVBQVUsQ0FBQztBQUFFVyxRQUFBQSxTQUFTLEVBQUU7QUFBYixPQUFELENBQXBCO0FBQ0FGLE1BQUFBLE1BQU0sQ0FBQ0QsQ0FBRCxDQUFOLENBQVVFLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFLQUgsSUFBQUEsRUFBRSxDQUFDLHFCQUFELEVBQXdCLFlBQU07QUFDOUIsVUFBTUMsQ0FBQyxHQUFHUixVQUFVLEVBQXBCO0FBQ0FRLE1BQUFBLENBQUMsQ0FBQ0ksUUFBRixHQUFhQyxpQkFBYjtBQUNBSixNQUFBQSxNQUFNLENBQUNELENBQUQsQ0FBTixDQUFVRSxlQUFWO0FBQ0QsS0FKQyxDQUFGO0FBS0QsR0FoQk8sQ0FBUjtBQWtCQVgsRUFBQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCLFFBQUlTLENBQUo7QUFFQU0sSUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZk4sTUFBQUEsQ0FBQyxHQUFHUixVQUFVLEVBQWQ7QUFDRCxLQUZTLENBQVY7QUFJQU8sSUFBQUEsRUFBRSxDQUFDLHNCQUFELEVBQXlCLFlBQU07QUFDL0IsVUFBTVEsYUFBYSxHQUFHLENBQUM7QUFBRVgsUUFBQUEsS0FBSyxFQUFFLENBQVQ7QUFBWUMsUUFBQUEsR0FBRyxFQUFFLENBQWpCO0FBQW9CSCxRQUFBQSxJQUFJLEVBQUUsR0FBMUI7QUFBK0JjLFFBQUFBLE9BQU8sRUFBRSxJQUF4QztBQUE4Q0MsUUFBQUEsUUFBUSxFQUFFLENBQXhEO0FBQTJEQyxRQUFBQSxNQUFNLEVBQUU7QUFBbkUsT0FBRCxDQUF0QjtBQUNBVixNQUFBQSxDQUFDLENBQUNXLFFBQUYsQ0FBVztBQUNUQyxRQUFBQSxLQUFLLEVBQUU7QUFBRWxCLFVBQUFBLElBQUksRUFBRSxLQUFSO0FBQWVDLFVBQUFBLE1BQU0sRUFBRVk7QUFBdkI7QUFERSxPQUFYO0FBR0EsVUFBTU0sTUFBTSxHQUFHYixDQUFDLENBQUNJLFFBQUYsR0FBYVUsYUFBYixFQUFmO0FBQ0FiLE1BQUFBLE1BQU0sQ0FBQ1ksTUFBRCxDQUFOLENBQWVFLE9BQWYsQ0FBdUJSLGFBQXZCO0FBQ0QsS0FQQyxDQUFGO0FBUUQsR0FmTyxDQUFSO0FBZ0JELENBcERPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYWluIH0gZnJvbSAnLi4vbWFpbic7XG5cbmplc3QubW9jaygnQHBpZS1saWIvdGV4dC1zZWxlY3QnLCAoKSA9PiAoe1xuICBwcmVwYXJlVGV4dDogamVzdC5mbigpXG59KSk7XG5cbmRlc2NyaWJlKCdtYWluJywgKCkgPT4ge1xuICBjb25zdCBnZXRXcmFwcGVyID0gcHJvcHMgPT4ge1xuICAgIHJldHVybiBzaGFsbG93KFxuICAgICAgPE1haW5cbiAgICAgICAgb25TZWxlY3Rpb25DaGFuZ2U9e2plc3QuZm4oKX1cbiAgICAgICAgbW9kZWw9e3tcbiAgICAgICAgICB0ZXh0OiAnZm9vJyxcbiAgICAgICAgICB0b2tlbnM6IFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XVxuICAgICAgICB9fVxuICAgICAgICBzZXNzaW9uPXt7XG4gICAgICAgICAgc2VsZWN0ZWRUb2tlbnM6IFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XVxuICAgICAgICB9fVxuICAgICAgICBjbGFzc2VzPXt7fX1cbiAgICAgICAgeyAuLi5wcm9wcyB9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IGdldFdyYXBwZXIoKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHJhdGlvbmFsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHcgPSBnZXRXcmFwcGVyKHsgcmF0aW9uYWxlOiAnVGhpcyBpcyByYXRpb25hbGUgJ30pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgc2hvd0NvcnJlY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gZ2V0V3JhcHBlcigpO1xuICAgICAgdy5pbnN0YW5jZSgpLnRvZ2dsZVNob3dDb3JyZWN0KCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBsZXQgdztcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgdyA9IGdldFdyYXBwZXIoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG93cyBjb3JyZWN0IGFuc3dlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGNvcnJlY3RUb2tlbnMgPSBbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicsIGNvcnJlY3Q6IHRydWUsIG9sZFN0YXJ0OiAwLCBvbGRFbmQ6IDEgfV07XG4gICAgICB3LnNldFByb3BzKHtcbiAgICAgICAgbW9kZWw6IHsgdGV4dDogJ2ZvbycsIHRva2VuczogY29ycmVjdFRva2VucyB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHcuaW5zdGFuY2UoKS5jb3JyZWN0QW5zd2VyKCk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGNvcnJlY3RUb2tlbnMpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19