@pie-lib/editable-html-tip-tap 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/constants.js +2 -5
- package/package.json +1 -1
- package/src/constants.js +0 -2
- package/lib/__tests__/editor.test.js +0 -470
- package/lib/__tests__/serialization.test.js +0 -246
- package/lib/block-tags.js +0 -25
- package/lib/components/CharacterPicker.js.map +0 -1
- package/lib/components/EditableHtml.js.map +0 -1
- package/lib/components/MenuBar.js.map +0 -1
- package/lib/components/TiptapContainer.js.map +0 -1
- package/lib/components/buttons/done-button.js +0 -53
- package/lib/components/characters/characterUtils.js.map +0 -1
- package/lib/components/characters/custom-popper.js.map +0 -1
- package/lib/components/common/done-button.js.map +0 -1
- package/lib/components/common/toolbar-buttons.js.map +0 -1
- package/lib/components/icons/CssIcon.js.map +0 -1
- package/lib/components/icons/RespArea.js.map +0 -1
- package/lib/components/icons/TableIcons.js.map +0 -1
- package/lib/components/icons/TextAlign.js.map +0 -1
- package/lib/components/icons/index.js +0 -194
- package/lib/components/image/AltDialog.js.map +0 -1
- package/lib/components/image/ImageToolbar.js.map +0 -1
- package/lib/components/image/InsertImageHandler.js.map +0 -1
- package/lib/components/image/alt-dialog.js +0 -2
- package/lib/components/media/MediaDialog.js.map +0 -1
- package/lib/components/media/MediaToolbar.js.map +0 -1
- package/lib/components/media/MediaWrapper.js.map +0 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +0 -1
- package/lib/components/respArea/DragInTheBlank/choice.js.map +0 -1
- package/lib/components/respArea/DragInTheBlank.js +0 -94
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +0 -1
- package/lib/components/respArea/InlineDropdown.js.map +0 -1
- package/lib/components/respArea/ToolbarIcon.js.map +0 -1
- package/lib/components/respArea/choice.js +0 -2
- package/lib/constants.js.map +0 -1
- package/lib/editor.js +0 -1356
- package/lib/extensions/MediaView.js +0 -112
- package/lib/extensions/characters.js +0 -65
- package/lib/extensions/component.js.map +0 -1
- package/lib/extensions/css.js.map +0 -1
- package/lib/extensions/custom-toolbar-wrapper.js.map +0 -1
- package/lib/extensions/extended-table.js.map +0 -1
- package/lib/extensions/image.js.map +0 -1
- package/lib/extensions/index.js.map +0 -1
- package/lib/extensions/math.js.map +0 -1
- package/lib/extensions/media.js.map +0 -1
- package/lib/extensions/responseArea.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/old-index.js +0 -269
- package/lib/parse-html.js +0 -16
- package/lib/plugins/characters/custom-popper.js +0 -73
- package/lib/plugins/characters/index.js +0 -305
- package/lib/plugins/characters/utils.js +0 -381
- package/lib/plugins/css/icons/index.js +0 -37
- package/lib/plugins/css/index.js +0 -390
- package/lib/plugins/customPlugin/index.js +0 -114
- package/lib/plugins/html/icons/index.js +0 -38
- package/lib/plugins/html/index.js +0 -81
- package/lib/plugins/image/__tests__/component.test.js +0 -51
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -56
- package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -26
- package/lib/plugins/image/__tests__/index.test.js +0 -98
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -125
- package/lib/plugins/image/__tests__/mock-change.js +0 -25
- package/lib/plugins/image/alt-dialog.js +0 -129
- package/lib/plugins/image/component.js +0 -419
- package/lib/plugins/image/image-toolbar.js +0 -177
- package/lib/plugins/image/index.js +0 -263
- package/lib/plugins/image/insert-image-handler.js +0 -117
- package/lib/plugins/index.js +0 -341
- package/lib/plugins/list/__tests__/index.test.js +0 -79
- package/lib/plugins/list/index.js +0 -334
- package/lib/plugins/math/__tests__/index.test.js +0 -300
- package/lib/plugins/math/index.js +0 -454
- package/lib/plugins/media/__tests__/index.test.js +0 -71
- package/lib/plugins/media/index.js +0 -387
- package/lib/plugins/media/media-dialog.js +0 -709
- package/lib/plugins/media/media-toolbar.js +0 -101
- package/lib/plugins/media/media-wrapper.js +0 -93
- package/lib/plugins/rendering/index.js +0 -46
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -289
- package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -94
- package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -120
- package/lib/plugins/respArea/icons/index.js +0 -95
- package/lib/plugins/respArea/index.js +0 -341
- package/lib/plugins/respArea/inline-dropdown/index.js +0 -126
- package/lib/plugins/respArea/math-templated/index.js +0 -130
- package/lib/plugins/respArea/utils.js +0 -125
- package/lib/plugins/table/CustomTablePlugin.js +0 -133
- package/lib/plugins/table/__tests__/index.test.js +0 -442
- package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -54
- package/lib/plugins/table/icons/index.js +0 -69
- package/lib/plugins/table/index.js +0 -483
- package/lib/plugins/table/table-toolbar.js +0 -187
- package/lib/plugins/textAlign/icons/index.js +0 -194
- package/lib/plugins/textAlign/index.js +0 -34
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -128
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -51
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -54
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -120
- package/lib/plugins/toolbar/default-toolbar.js +0 -229
- package/lib/plugins/toolbar/done-button.js +0 -53
- package/lib/plugins/toolbar/editor-and-toolbar.js +0 -286
- package/lib/plugins/toolbar/index.js +0 -34
- package/lib/plugins/toolbar/toolbar-buttons.js +0 -194
- package/lib/plugins/toolbar/toolbar.js +0 -376
- package/lib/plugins/utils.js +0 -62
- package/lib/serialization.js +0 -677
- package/lib/shared/alert-dialog.js +0 -75
- package/lib/styles/editorContainerStyles.js.map +0 -1
- package/lib/theme.js.map +0 -1
- package/lib/utils/size.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
|
-
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
|
-
var _styles = require("@material-ui/core/styles");
|
|
27
|
-
|
|
28
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
29
|
-
|
|
30
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
|
-
|
|
32
|
-
var useStyles = (0, _styles.withStyles)(function (theme) {
|
|
33
|
-
return {
|
|
34
|
-
root: {
|
|
35
|
-
position: 'relative',
|
|
36
|
-
bottom: '5px',
|
|
37
|
-
left: 0,
|
|
38
|
-
width: '100%',
|
|
39
|
-
background: theme.palette.common.white,
|
|
40
|
-
display: 'inline-flex',
|
|
41
|
-
padding: '5px',
|
|
42
|
-
boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)'
|
|
43
|
-
},
|
|
44
|
-
editContainer: {
|
|
45
|
-
cursor: 'pointer',
|
|
46
|
-
flex: 3,
|
|
47
|
-
border: "solid ".concat(theme.palette.common.black),
|
|
48
|
-
textAlign: 'right',
|
|
49
|
-
borderWidth: '0 2px 0 0',
|
|
50
|
-
marginRight: '5px',
|
|
51
|
-
paddingRight: '5px'
|
|
52
|
-
},
|
|
53
|
-
removeContainer: {
|
|
54
|
-
cursor: 'pointer'
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
var MediaToolbar = /*#__PURE__*/function (_React$Component) {
|
|
60
|
-
(0, _inherits2["default"])(MediaToolbar, _React$Component);
|
|
61
|
-
|
|
62
|
-
var _super = _createSuper(MediaToolbar);
|
|
63
|
-
|
|
64
|
-
function MediaToolbar() {
|
|
65
|
-
(0, _classCallCheck2["default"])(this, MediaToolbar);
|
|
66
|
-
return _super.apply(this, arguments);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
(0, _createClass2["default"])(MediaToolbar, [{
|
|
70
|
-
key: "render",
|
|
71
|
-
value: function render() {
|
|
72
|
-
var _this$props = this.props,
|
|
73
|
-
classes = _this$props.classes,
|
|
74
|
-
hideEdit = _this$props.hideEdit,
|
|
75
|
-
onEdit = _this$props.onEdit,
|
|
76
|
-
onRemove = _this$props.onRemove;
|
|
77
|
-
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
78
|
-
className: classes.root
|
|
79
|
-
}, hideEdit ? null : /*#__PURE__*/_react["default"].createElement("span", {
|
|
80
|
-
className: classes.editContainer,
|
|
81
|
-
onClick: onEdit
|
|
82
|
-
}, "Edit Settings"), /*#__PURE__*/_react["default"].createElement("span", {
|
|
83
|
-
className: classes.removeContainer,
|
|
84
|
-
onClick: onRemove
|
|
85
|
-
}, "Remove"));
|
|
86
|
-
}
|
|
87
|
-
}]);
|
|
88
|
-
return MediaToolbar;
|
|
89
|
-
}(_react["default"].Component);
|
|
90
|
-
|
|
91
|
-
(0, _defineProperty2["default"])(MediaToolbar, "propTypes", {
|
|
92
|
-
classes: _propTypes["default"].object,
|
|
93
|
-
onEdit: _propTypes["default"].func,
|
|
94
|
-
hideEdit: _propTypes["default"].bool,
|
|
95
|
-
onRemove: _propTypes["default"].func
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
var _default = useStyles(MediaToolbar);
|
|
99
|
-
|
|
100
|
-
exports["default"] = _default;
|
|
101
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL21lZGlhL21lZGlhLXRvb2xiYXIuanN4Il0sIm5hbWVzIjpbInVzZVN0eWxlcyIsInRoZW1lIiwicm9vdCIsInBvc2l0aW9uIiwiYm90dG9tIiwibGVmdCIsIndpZHRoIiwiYmFja2dyb3VuZCIsInBhbGV0dGUiLCJjb21tb24iLCJ3aGl0ZSIsImRpc3BsYXkiLCJwYWRkaW5nIiwiYm94U2hhZG93IiwiZWRpdENvbnRhaW5lciIsImN1cnNvciIsImZsZXgiLCJib3JkZXIiLCJibGFjayIsInRleHRBbGlnbiIsImJvcmRlcldpZHRoIiwibWFyZ2luUmlnaHQiLCJwYWRkaW5nUmlnaHQiLCJyZW1vdmVDb250YWluZXIiLCJNZWRpYVRvb2xiYXIiLCJwcm9wcyIsImNsYXNzZXMiLCJoaWRlRWRpdCIsIm9uRWRpdCIsIm9uUmVtb3ZlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJmdW5jIiwiYm9vbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLFNBQVMsR0FBRyx3QkFBVyxVQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN2Q0MsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLFFBQVEsRUFBRSxVQUROO0FBRUpDLE1BQUFBLE1BQU0sRUFBRSxLQUZKO0FBR0pDLE1BQUFBLElBQUksRUFBRSxDQUhGO0FBSUpDLE1BQUFBLEtBQUssRUFBRSxNQUpIO0FBS0pDLE1BQUFBLFVBQVUsRUFBRU4sS0FBSyxDQUFDTyxPQUFOLENBQWNDLE1BQWQsQ0FBcUJDLEtBTDdCO0FBTUpDLE1BQUFBLE9BQU8sRUFBRSxhQU5MO0FBT0pDLE1BQUFBLE9BQU8sRUFBRSxLQVBMO0FBUUpDLE1BQUFBLFNBQVMsRUFBRTtBQVJQLEtBRGlDO0FBV3ZDQyxJQUFBQSxhQUFhLEVBQUU7QUFDYkMsTUFBQUEsTUFBTSxFQUFFLFNBREs7QUFFYkMsTUFBQUEsSUFBSSxFQUFFLENBRk87QUFHYkMsTUFBQUEsTUFBTSxrQkFBV2hCLEtBQUssQ0FBQ08sT0FBTixDQUFjQyxNQUFkLENBQXFCUyxLQUFoQyxDQUhPO0FBSWJDLE1BQUFBLFNBQVMsRUFBRSxPQUpFO0FBS2JDLE1BQUFBLFdBQVcsRUFBRSxXQUxBO0FBTWJDLE1BQUFBLFdBQVcsRUFBRSxLQU5BO0FBT2JDLE1BQUFBLFlBQVksRUFBRTtBQVBELEtBWHdCO0FBb0J2Q0MsSUFBQUEsZUFBZSxFQUFFO0FBQ2ZSLE1BQUFBLE1BQU0sRUFBRTtBQURPO0FBcEJzQixHQUFaO0FBQUEsQ0FBWCxDQUFsQjs7SUF5Qk1TLFk7Ozs7Ozs7Ozs7OztXQVFKLGtCQUFTO0FBQ1Asd0JBQWdELEtBQUtDLEtBQXJEO0FBQUEsVUFBUUMsT0FBUixlQUFRQSxPQUFSO0FBQUEsVUFBaUJDLFFBQWpCLGVBQWlCQSxRQUFqQjtBQUFBLFVBQTJCQyxNQUEzQixlQUEyQkEsTUFBM0I7QUFBQSxVQUFtQ0MsUUFBbkMsZUFBbUNBLFFBQW5DO0FBRUEsMEJBQ0U7QUFBTSxRQUFBLFNBQVMsRUFBRUgsT0FBTyxDQUFDeEI7QUFBekIsU0FDR3lCLFFBQVEsR0FBRyxJQUFILGdCQUNQO0FBQU0sUUFBQSxTQUFTLEVBQUVELE9BQU8sQ0FBQ1osYUFBekI7QUFBd0MsUUFBQSxPQUFPLEVBQUVjO0FBQWpELHlCQUZKLGVBTUU7QUFBTSxRQUFBLFNBQVMsRUFBRUYsT0FBTyxDQUFDSCxlQUF6QjtBQUEwQyxRQUFBLE9BQU8sRUFBRU07QUFBbkQsa0JBTkYsQ0FERjtBQVlEOzs7RUF2QndCQyxrQkFBTUMsUzs7aUNBQTNCUCxZLGVBQ2U7QUFDakJFLEVBQUFBLE9BQU8sRUFBRU0sc0JBQVVDLE1BREY7QUFFakJMLEVBQUFBLE1BQU0sRUFBRUksc0JBQVVFLElBRkQ7QUFHakJQLEVBQUFBLFFBQVEsRUFBRUssc0JBQVVHLElBSEg7QUFJakJOLEVBQUFBLFFBQVEsRUFBRUcsc0JBQVVFO0FBSkgsQzs7ZUF5Qk5sQyxTQUFTLENBQUN3QixZQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5jb25zdCB1c2VTdHlsZXMgPSB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgcm9vdDoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGJvdHRvbTogJzVweCcsXG4gICAgbGVmdDogMCxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgcGFkZGluZzogJzVweCcsXG4gICAgYm94U2hhZG93OiAnMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KScsXG4gIH0sXG4gIGVkaXRDb250YWluZXI6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBmbGV4OiAzLFxuICAgIGJvcmRlcjogYHNvbGlkICR7dGhlbWUucGFsZXR0ZS5jb21tb24uYmxhY2t9YCxcbiAgICB0ZXh0QWxpZ246ICdyaWdodCcsXG4gICAgYm9yZGVyV2lkdGg6ICcwIDJweCAwIDAnLFxuICAgIG1hcmdpblJpZ2h0OiAnNXB4JyxcbiAgICBwYWRkaW5nUmlnaHQ6ICc1cHgnLFxuICB9LFxuICByZW1vdmVDb250YWluZXI6IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgfSxcbn0pKTtcblxuY2xhc3MgTWVkaWFUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRWRpdDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaGlkZUVkaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUmVtb3ZlOiBQcm9wVHlwZXMuZnVuYyxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc2VzLCBoaWRlRWRpdCwgb25FZGl0LCBvblJlbW92ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucm9vdH0+XG4gICAgICAgIHtoaWRlRWRpdCA/IG51bGwgOiAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc2VzLmVkaXRDb250YWluZXJ9IG9uQ2xpY2s9e29uRWRpdH0+XG4gICAgICAgICAgICBFZGl0IFNldHRpbmdzXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApfVxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucmVtb3ZlQ29udGFpbmVyfSBvbkNsaWNrPXtvblJlbW92ZX0+XG4gICAgICAgICAgUmVtb3ZlXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVN0eWxlcyhNZWRpYVRvb2xiYXIpO1xuIl19
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
-
|
|
32
|
-
var _styles = require("@material-ui/core/styles");
|
|
33
|
-
|
|
34
|
-
var _excluded = ["editor", "classes", "children", "width"];
|
|
35
|
-
|
|
36
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
37
|
-
|
|
38
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
39
|
-
|
|
40
|
-
var useStyles = (0, _styles.withStyles)(function () {
|
|
41
|
-
return {
|
|
42
|
-
root: {
|
|
43
|
-
position: 'relative'
|
|
44
|
-
},
|
|
45
|
-
editor: {
|
|
46
|
-
display: 'inline-block',
|
|
47
|
-
overflow: 'hidden'
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
var MediaWrapper = /*#__PURE__*/function (_React$Component) {
|
|
53
|
-
(0, _inherits2["default"])(MediaWrapper, _React$Component);
|
|
54
|
-
|
|
55
|
-
var _super = _createSuper(MediaWrapper);
|
|
56
|
-
|
|
57
|
-
function MediaWrapper() {
|
|
58
|
-
(0, _classCallCheck2["default"])(this, MediaWrapper);
|
|
59
|
-
return _super.apply(this, arguments);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
(0, _createClass2["default"])(MediaWrapper, [{
|
|
63
|
-
key: "render",
|
|
64
|
-
value: function render() {
|
|
65
|
-
var _this$props = this.props,
|
|
66
|
-
editor = _this$props.editor,
|
|
67
|
-
classes = _this$props.classes,
|
|
68
|
-
children = _this$props.children,
|
|
69
|
-
width = _this$props.width,
|
|
70
|
-
rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
|
|
71
|
-
return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
|
|
72
|
-
className: (0, _classnames["default"])(classes.root, (0, _defineProperty2["default"])({}, classes.editor, editor))
|
|
73
|
-
}, rest, {
|
|
74
|
-
style: {
|
|
75
|
-
width: width || 300
|
|
76
|
-
}
|
|
77
|
-
}), children);
|
|
78
|
-
}
|
|
79
|
-
}]);
|
|
80
|
-
return MediaWrapper;
|
|
81
|
-
}(_react["default"].Component);
|
|
82
|
-
|
|
83
|
-
(0, _defineProperty2["default"])(MediaWrapper, "propTypes", {
|
|
84
|
-
classes: _propTypes["default"].object,
|
|
85
|
-
children: _propTypes["default"].array,
|
|
86
|
-
editor: _propTypes["default"].bool,
|
|
87
|
-
width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string])
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
var _default = useStyles(MediaWrapper);
|
|
91
|
-
|
|
92
|
-
exports["default"] = _default;
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL21lZGlhL21lZGlhLXdyYXBwZXIuanN4Il0sIm5hbWVzIjpbInVzZVN0eWxlcyIsInJvb3QiLCJwb3NpdGlvbiIsImVkaXRvciIsImRpc3BsYXkiLCJvdmVyZmxvdyIsIk1lZGlhV3JhcHBlciIsInByb3BzIiwiY2xhc3NlcyIsImNoaWxkcmVuIiwid2lkdGgiLCJyZXN0IiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJhcnJheSIsImJvb2wiLCJvbmVPZlR5cGUiLCJudW1iZXIiLCJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsd0JBQVc7QUFBQSxTQUFPO0FBQ2xDQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsUUFBUSxFQUFFO0FBRE4sS0FENEI7QUFJbENDLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxPQUFPLEVBQUUsY0FESDtBQUVOQyxNQUFBQSxRQUFRLEVBQUU7QUFGSjtBQUowQixHQUFQO0FBQUEsQ0FBWCxDQUFsQjs7SUFVTUMsWTs7Ozs7Ozs7Ozs7O1dBUUosa0JBQVM7QUFDUCx3QkFBc0QsS0FBS0MsS0FBM0Q7QUFBQSxVQUFRSixNQUFSLGVBQVFBLE1BQVI7QUFBQSxVQUFnQkssT0FBaEIsZUFBZ0JBLE9BQWhCO0FBQUEsVUFBeUJDLFFBQXpCLGVBQXlCQSxRQUF6QjtBQUFBLFVBQW1DQyxLQUFuQyxlQUFtQ0EsS0FBbkM7QUFBQSxVQUE2Q0MsSUFBN0M7QUFFQSwwQkFDRTtBQUNFLFFBQUEsU0FBUyxFQUFFLDRCQUFXSCxPQUFPLENBQUNQLElBQW5CLHVDQUNSTyxPQUFPLENBQUNMLE1BREEsRUFDU0EsTUFEVDtBQURiLFNBSU1RLElBSk47QUFLRSxRQUFBLEtBQUssRUFBRTtBQUNMRCxVQUFBQSxLQUFLLEVBQUVBLEtBQUssSUFBSTtBQURYO0FBTFQsVUFTR0QsUUFUSCxDQURGO0FBYUQ7OztFQXhCd0JHLGtCQUFNQyxTOztpQ0FBM0JQLFksZUFDZTtBQUNqQkUsRUFBQUEsT0FBTyxFQUFFTSxzQkFBVUMsTUFERjtBQUVqQk4sRUFBQUEsUUFBUSxFQUFFSyxzQkFBVUUsS0FGSDtBQUdqQmIsRUFBQUEsTUFBTSxFQUFFVyxzQkFBVUcsSUFIRDtBQUlqQlAsRUFBQUEsS0FBSyxFQUFFSSxzQkFBVUksU0FBVixDQUFvQixDQUFDSixzQkFBVUssTUFBWCxFQUFtQkwsc0JBQVVNLE1BQTdCLENBQXBCO0FBSlUsQzs7ZUEwQk5wQixTQUFTLENBQUNNLFlBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcblxuY29uc3QgdXNlU3R5bGVzID0gd2l0aFN0eWxlcygoKSA9PiAoe1xuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIH0sXG4gIGVkaXRvcjoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgfSxcbn0pKTtcblxuY2xhc3MgTWVkaWFXcmFwcGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgZWRpdG9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB3aWR0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGVkaXRvciwgY2xhc3NlcywgY2hpbGRyZW4sIHdpZHRoLCAuLi5yZXN0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnJvb3QsIHtcbiAgICAgICAgICBbY2xhc3Nlcy5lZGl0b3JdOiBlZGl0b3IsXG4gICAgICAgIH0pfVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogd2lkdGggfHwgMzAwLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VTdHlsZXMoTWVkaWFXcmFwcGVyKTtcbiJdfQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
-
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Plugin to render the normal divs and spans with attributes (if they are provided)
|
|
20
|
-
*/
|
|
21
|
-
var _default = function _default() {
|
|
22
|
-
return {
|
|
23
|
-
name: 'renderingPlugin',
|
|
24
|
-
renderNode: function renderNode(props) {
|
|
25
|
-
var attributes = props.attributes,
|
|
26
|
-
children = props.children,
|
|
27
|
-
node = props.node;
|
|
28
|
-
|
|
29
|
-
if (node.object !== 'block' && node.object !== 'inline') {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
var Tag = node.object === 'block' ? 'div' : 'span';
|
|
34
|
-
var style = {
|
|
35
|
-
position: 'relative'
|
|
36
|
-
};
|
|
37
|
-
var extraAttributes = node.data.get('attributes');
|
|
38
|
-
return /*#__PURE__*/_react["default"].createElement(Tag, _objectSpread(_objectSpread(_objectSpread({}, attributes), extraAttributes), {}, {
|
|
39
|
-
style: style
|
|
40
|
-
}), children);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
exports["default"] = _default;
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL3JlbmRlcmluZy9pbmRleC5qcyJdLCJuYW1lcyI6WyJuYW1lIiwicmVuZGVyTm9kZSIsInByb3BzIiwiYXR0cmlidXRlcyIsImNoaWxkcmVuIiwibm9kZSIsIm9iamVjdCIsIlRhZyIsInN0eWxlIiwicG9zaXRpb24iLCJleHRyYUF0dHJpYnV0ZXMiLCJkYXRhIiwiZ2V0IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFQTtBQUNBO0FBQ0E7ZUFDZSxvQkFBTTtBQUNuQixTQUFPO0FBQ0xBLElBQUFBLElBQUksRUFBRSxpQkFERDtBQUVMQyxJQUFBQSxVQUFVLEVBQUUsb0JBQUNDLEtBQUQsRUFBVztBQUNyQixVQUFRQyxVQUFSLEdBQXVDRCxLQUF2QyxDQUFRQyxVQUFSO0FBQUEsVUFBb0JDLFFBQXBCLEdBQXVDRixLQUF2QyxDQUFvQkUsUUFBcEI7QUFBQSxVQUE4QkMsSUFBOUIsR0FBdUNILEtBQXZDLENBQThCRyxJQUE5Qjs7QUFFQSxVQUFJQSxJQUFJLENBQUNDLE1BQUwsS0FBZ0IsT0FBaEIsSUFBMkJELElBQUksQ0FBQ0MsTUFBTCxLQUFnQixRQUEvQyxFQUF5RDtBQUN2RDtBQUNEOztBQUVELFVBQU1DLEdBQUcsR0FBR0YsSUFBSSxDQUFDQyxNQUFMLEtBQWdCLE9BQWhCLEdBQTBCLEtBQTFCLEdBQWtDLE1BQTlDO0FBQ0EsVUFBTUUsS0FBSyxHQUFHO0FBQUVDLFFBQUFBLFFBQVEsRUFBRTtBQUFaLE9BQWQ7QUFDQSxVQUFNQyxlQUFlLEdBQUdMLElBQUksQ0FBQ00sSUFBTCxDQUFVQyxHQUFWLENBQWMsWUFBZCxDQUF4QjtBQUVBLDBCQUFPQyxrQkFBTUMsYUFBTixDQUNMUCxHQURLLGdEQUdBSixVQUhBLEdBSUFPLGVBSkE7QUFLSEYsUUFBQUEsS0FBSyxFQUFFQTtBQUxKLFVBT0xKLFFBUEssQ0FBUDtBQVNEO0FBdEJJLEdBQVA7QUF3QkQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogUGx1Z2luIHRvIHJlbmRlciB0aGUgbm9ybWFsIGRpdnMgYW5kIHNwYW5zIHdpdGggYXR0cmlidXRlcyAoaWYgdGhleSBhcmUgcHJvdmlkZWQpXG4gKi9cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAncmVuZGVyaW5nUGx1Z2luJyxcbiAgICByZW5kZXJOb2RlOiAocHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IHsgYXR0cmlidXRlcywgY2hpbGRyZW4sIG5vZGUgfSA9IHByb3BzO1xuXG4gICAgICBpZiAobm9kZS5vYmplY3QgIT09ICdibG9jaycgJiYgbm9kZS5vYmplY3QgIT09ICdpbmxpbmUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgVGFnID0gbm9kZS5vYmplY3QgPT09ICdibG9jaycgPyAnZGl2JyA6ICdzcGFuJztcbiAgICAgIGNvbnN0IHN0eWxlID0geyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9O1xuICAgICAgY29uc3QgZXh0cmFBdHRyaWJ1dGVzID0gbm9kZS5kYXRhLmdldCgnYXR0cmlidXRlcycpO1xuXG4gICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcbiAgICAgICAgVGFnLFxuICAgICAgICB7XG4gICAgICAgICAgLi4uYXR0cmlidXRlcyxcbiAgICAgICAgICAuLi5leHRyYUF0dHJpYnV0ZXMsXG4gICAgICAgICAgc3R5bGU6IHN0eWxlLFxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICk7XG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.tileTarget = exports.tileSource = exports["default"] = exports.BlankContent = void 0;
|
|
9
|
-
|
|
10
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
31
|
-
|
|
32
|
-
var _drag = require("@pie-lib/drag");
|
|
33
|
-
|
|
34
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
35
|
-
|
|
36
|
-
var _mathRendering = require("@pie-lib/math-rendering");
|
|
37
|
-
|
|
38
|
-
var _styles = require("@material-ui/core/styles");
|
|
39
|
-
|
|
40
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
41
|
-
|
|
42
|
-
var _icons = require("../icons");
|
|
43
|
-
|
|
44
|
-
var _excluded = ["connectDropTarget", "connectDragSource"];
|
|
45
|
-
|
|
46
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
47
|
-
|
|
48
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
49
|
-
|
|
50
|
-
var useStyles = (0, _styles.withStyles)(function (theme) {
|
|
51
|
-
return {
|
|
52
|
-
content: {
|
|
53
|
-
border: "solid 0px ".concat(theme.palette.primary.main),
|
|
54
|
-
'& mjx-frac': {
|
|
55
|
-
fontSize: '120% !important'
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
chip: {
|
|
59
|
-
minWidth: '90px'
|
|
60
|
-
},
|
|
61
|
-
correct: {
|
|
62
|
-
border: "solid 1px ".concat(_renderUi.color.correct())
|
|
63
|
-
},
|
|
64
|
-
incorrect: {
|
|
65
|
-
border: "solid 1px ".concat(theme.palette.error.main)
|
|
66
|
-
},
|
|
67
|
-
selected: {
|
|
68
|
-
border: "2px solid ".concat(_renderUi.color.primaryDark(), " !important")
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
var BlankContent = /*#__PURE__*/function (_React$Component) {
|
|
74
|
-
(0, _inherits2["default"])(BlankContent, _React$Component);
|
|
75
|
-
|
|
76
|
-
var _super = _createSuper(BlankContent);
|
|
77
|
-
|
|
78
|
-
function BlankContent(props) {
|
|
79
|
-
var _this;
|
|
80
|
-
|
|
81
|
-
(0, _classCallCheck2["default"])(this, BlankContent);
|
|
82
|
-
_this = _super.call(this, props);
|
|
83
|
-
_this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2["default"])(_this));
|
|
84
|
-
_this.state = {
|
|
85
|
-
hoveredElementSize: null
|
|
86
|
-
};
|
|
87
|
-
return _this;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
(0, _createClass2["default"])(BlankContent, [{
|
|
91
|
-
key: "componentDidMount",
|
|
92
|
-
value: function componentDidMount() {
|
|
93
|
-
document.addEventListener('click', this.handleClick);
|
|
94
|
-
}
|
|
95
|
-
}, {
|
|
96
|
-
key: "componentWillUnmount",
|
|
97
|
-
value: function componentWillUnmount() {
|
|
98
|
-
document.removeEventListener('click', this.handleClick);
|
|
99
|
-
}
|
|
100
|
-
}, {
|
|
101
|
-
key: "handleClick",
|
|
102
|
-
value: function handleClick(event) {
|
|
103
|
-
var classes = this.props.classes;
|
|
104
|
-
|
|
105
|
-
if (this.elementRef) {
|
|
106
|
-
this.elementRef.className = this.elementRef.contains(event.target) ? classes.selected : '';
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}, {
|
|
110
|
-
key: "getSnapshotBeforeUpdate",
|
|
111
|
-
value: function getSnapshotBeforeUpdate(prevProps) {
|
|
112
|
-
if (!prevProps.isOver && this.props.isOver && this.elementRef) {
|
|
113
|
-
var node = this.elementRef;
|
|
114
|
-
return {
|
|
115
|
-
width: node.offsetWidth,
|
|
116
|
-
height: node.offsetHeight
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
}, {
|
|
123
|
-
key: "componentDidUpdate",
|
|
124
|
-
value: function componentDidUpdate(prevProps, prevState, snapshot) {
|
|
125
|
-
if (this.elementRef && typeof _mathRendering.renderMath === 'function') {
|
|
126
|
-
(0, _mathRendering.renderMath)(this.elementRef);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
if (snapshot && (!this.state.hoveredElementSize || this.state.hoveredElementSize.width !== snapshot.width || this.state.hoveredElementSize.height !== snapshot.height)) {
|
|
130
|
-
this.setState({
|
|
131
|
-
hoveredElementSize: snapshot
|
|
132
|
-
});
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
if (prevProps.isOver && !this.props.isOver && this.state.hoveredElementSize) {
|
|
137
|
-
this.setState({
|
|
138
|
-
hoveredElementSize: null
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}, {
|
|
143
|
-
key: "render",
|
|
144
|
-
value: function render() {
|
|
145
|
-
var _this2 = this;
|
|
146
|
-
|
|
147
|
-
var _this$props = this.props,
|
|
148
|
-
n = _this$props.n,
|
|
149
|
-
children = _this$props.children,
|
|
150
|
-
isDragging = _this$props.isDragging,
|
|
151
|
-
dragItem = _this$props.dragItem,
|
|
152
|
-
isOver = _this$props.isOver,
|
|
153
|
-
value = _this$props.value;
|
|
154
|
-
var hoveredElementSize = this.state.hoveredElementSize;
|
|
155
|
-
var label = dragItem && isOver ? dragItem.value.value : value.value || "\xA0";
|
|
156
|
-
var finalLabel = isDragging ? "\xA0" : label;
|
|
157
|
-
var hasGrip = finalLabel !== "\xA0";
|
|
158
|
-
var isPreview = dragItem && isOver;
|
|
159
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
160
|
-
ref: function ref(_ref) {
|
|
161
|
-
return _this2.elementRef = _ref;
|
|
162
|
-
},
|
|
163
|
-
style: {
|
|
164
|
-
display: 'inline-flex',
|
|
165
|
-
minWidth: '178px',
|
|
166
|
-
minHeight: '36px',
|
|
167
|
-
background: isPreview ? "".concat(_renderUi.color.defaults.BORDER_LIGHT) : "".concat(_renderUi.color.defaults.WHITE),
|
|
168
|
-
border: isPreview ? "1px solid ".concat(_renderUi.color.defaults.BORDER_DARK) : "1px solid ".concat(_renderUi.color.defaults.BORDER_LIGHT),
|
|
169
|
-
boxSizing: 'border-box',
|
|
170
|
-
borderRadius: '3px',
|
|
171
|
-
overflow: 'hidden',
|
|
172
|
-
position: 'relative',
|
|
173
|
-
padding: '8px 8px 8px 35px',
|
|
174
|
-
width: hoveredElementSize ? hoveredElementSize.width : undefined,
|
|
175
|
-
height: hoveredElementSize ? hoveredElementSize.height : undefined
|
|
176
|
-
},
|
|
177
|
-
"data-key": n.key,
|
|
178
|
-
contentEditable: false
|
|
179
|
-
}, hasGrip && /*#__PURE__*/_react["default"].createElement(_icons.GripIcon, {
|
|
180
|
-
style: {
|
|
181
|
-
position: 'absolute',
|
|
182
|
-
top: '6px',
|
|
183
|
-
left: '15px',
|
|
184
|
-
color: '#9B9B9B'
|
|
185
|
-
},
|
|
186
|
-
contentEditable: false
|
|
187
|
-
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
188
|
-
dangerouslySetInnerHTML: {
|
|
189
|
-
__html: finalLabel
|
|
190
|
-
}
|
|
191
|
-
}), children);
|
|
192
|
-
}
|
|
193
|
-
}]);
|
|
194
|
-
return BlankContent;
|
|
195
|
-
}(_react["default"].Component);
|
|
196
|
-
|
|
197
|
-
exports.BlankContent = BlankContent;
|
|
198
|
-
(0, _defineProperty2["default"])(BlankContent, "propTypes", {
|
|
199
|
-
n: _propTypes["default"].object,
|
|
200
|
-
children: _propTypes["default"].func,
|
|
201
|
-
isDragging: _propTypes["default"].bool,
|
|
202
|
-
isOver: _propTypes["default"].bool,
|
|
203
|
-
dragItem: _propTypes["default"].object,
|
|
204
|
-
value: _propTypes["default"].object,
|
|
205
|
-
classes: _propTypes["default"].object
|
|
206
|
-
});
|
|
207
|
-
var StyledBlankContent = useStyles(BlankContent);
|
|
208
|
-
var connectedBlankContent = useStyles(function (_ref2) {
|
|
209
|
-
var connectDropTarget = _ref2.connectDropTarget,
|
|
210
|
-
connectDragSource = _ref2.connectDragSource,
|
|
211
|
-
props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
212
|
-
var classes = props.classes,
|
|
213
|
-
isOver = props.isOver,
|
|
214
|
-
value = props.value;
|
|
215
|
-
|
|
216
|
-
var dragContent = /*#__PURE__*/_react["default"].createElement(StyledBlankContent, props);
|
|
217
|
-
|
|
218
|
-
var dragEl = !value ? dragContent : connectDragSource( /*#__PURE__*/_react["default"].createElement("span", null, dragContent));
|
|
219
|
-
|
|
220
|
-
var content = /*#__PURE__*/_react["default"].createElement("span", {
|
|
221
|
-
className: (0, _classnames["default"])(classes.content, isOver && classes.over)
|
|
222
|
-
}, dragEl);
|
|
223
|
-
|
|
224
|
-
return connectDropTarget ? connectDropTarget(content) : content;
|
|
225
|
-
});
|
|
226
|
-
var tileTarget = {
|
|
227
|
-
drop: function drop(props, monitor) {
|
|
228
|
-
var draggedItem = monitor.getItem();
|
|
229
|
-
var shouldDrop = (0, _isUndefined["default"])(draggedItem.value.index) || (0, _isUndefined["default"])(props.value.index) || draggedItem.value.index !== props.value.index;
|
|
230
|
-
|
|
231
|
-
if (shouldDrop) {
|
|
232
|
-
props.onChange(draggedItem.value);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
return {
|
|
236
|
-
dropped: shouldDrop
|
|
237
|
-
};
|
|
238
|
-
},
|
|
239
|
-
canDrop: function canDrop(props, monitor) {
|
|
240
|
-
var draggedItem = monitor.getItem();
|
|
241
|
-
return draggedItem.instanceId === props.instanceId;
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
exports.tileTarget = tileTarget;
|
|
245
|
-
var DropTile = (0, _drag.DropTarget)('drag-in-the-blank-choice', tileTarget, function (connect, monitor) {
|
|
246
|
-
return {
|
|
247
|
-
connectDropTarget: connect.dropTarget(),
|
|
248
|
-
isOver: monitor.isOver({
|
|
249
|
-
shallow: true
|
|
250
|
-
}),
|
|
251
|
-
dragItem: monitor.getItem()
|
|
252
|
-
};
|
|
253
|
-
})(connectedBlankContent);
|
|
254
|
-
var tileSource = {
|
|
255
|
-
canDrag: function canDrag(props) {
|
|
256
|
-
return !props.disabled && !!props.value;
|
|
257
|
-
},
|
|
258
|
-
beginDrag: function beginDrag(props) {
|
|
259
|
-
return {
|
|
260
|
-
id: props.targetId,
|
|
261
|
-
value: props.value,
|
|
262
|
-
instanceId: props.instanceId,
|
|
263
|
-
fromChoice: true
|
|
264
|
-
};
|
|
265
|
-
},
|
|
266
|
-
endDrag: function endDrag(props, monitor) {
|
|
267
|
-
// this will be null if it did not drop
|
|
268
|
-
var dropResult = monitor.getDropResult();
|
|
269
|
-
|
|
270
|
-
if (!dropResult || dropResult.dropped && !props.duplicates) {
|
|
271
|
-
var draggedItem = monitor.getItem();
|
|
272
|
-
|
|
273
|
-
if (draggedItem.fromChoice) {
|
|
274
|
-
props.removeResponse(draggedItem.value);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
};
|
|
279
|
-
exports.tileSource = tileSource;
|
|
280
|
-
|
|
281
|
-
var _default = (0, _drag.DragSource)('drag-in-the-blank-choice', tileSource, function (connect, monitor) {
|
|
282
|
-
return {
|
|
283
|
-
connectDragSource: connect.dragSource(),
|
|
284
|
-
isDragging: monitor.isDragging()
|
|
285
|
-
};
|
|
286
|
-
})(DropTile);
|
|
287
|
-
|
|
288
|
-
exports["default"] = _default;
|
|
289
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3Jlc3BBcmVhL2RyYWctaW4tdGhlLWJsYW5rL2Nob2ljZS5qc3giXSwibmFtZXMiOlsidXNlU3R5bGVzIiwidGhlbWUiLCJjb250ZW50IiwiYm9yZGVyIiwicGFsZXR0ZSIsInByaW1hcnkiLCJtYWluIiwiZm9udFNpemUiLCJjaGlwIiwibWluV2lkdGgiLCJjb3JyZWN0IiwiY29sb3IiLCJpbmNvcnJlY3QiLCJlcnJvciIsInNlbGVjdGVkIiwicHJpbWFyeURhcmsiLCJCbGFua0NvbnRlbnQiLCJwcm9wcyIsImhhbmRsZUNsaWNrIiwiYmluZCIsInN0YXRlIiwiaG92ZXJlZEVsZW1lbnRTaXplIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiY2xhc3NlcyIsImVsZW1lbnRSZWYiLCJjbGFzc05hbWUiLCJjb250YWlucyIsInRhcmdldCIsInByZXZQcm9wcyIsImlzT3ZlciIsIm5vZGUiLCJ3aWR0aCIsIm9mZnNldFdpZHRoIiwiaGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0IiwicHJldlN0YXRlIiwic25hcHNob3QiLCJyZW5kZXJNYXRoIiwic2V0U3RhdGUiLCJuIiwiY2hpbGRyZW4iLCJpc0RyYWdnaW5nIiwiZHJhZ0l0ZW0iLCJ2YWx1ZSIsImxhYmVsIiwiZmluYWxMYWJlbCIsImhhc0dyaXAiLCJpc1ByZXZpZXciLCJyZWYiLCJkaXNwbGF5IiwibWluSGVpZ2h0IiwiYmFja2dyb3VuZCIsImRlZmF1bHRzIiwiQk9SREVSX0xJR0hUIiwiV0hJVEUiLCJCT1JERVJfREFSSyIsImJveFNpemluZyIsImJvcmRlclJhZGl1cyIsIm92ZXJmbG93IiwicG9zaXRpb24iLCJwYWRkaW5nIiwidW5kZWZpbmVkIiwia2V5IiwidG9wIiwibGVmdCIsIl9faHRtbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiZnVuYyIsImJvb2wiLCJTdHlsZWRCbGFua0NvbnRlbnQiLCJjb25uZWN0ZWRCbGFua0NvbnRlbnQiLCJjb25uZWN0RHJvcFRhcmdldCIsImNvbm5lY3REcmFnU291cmNlIiwiZHJhZ0NvbnRlbnQiLCJkcmFnRWwiLCJvdmVyIiwidGlsZVRhcmdldCIsImRyb3AiLCJtb25pdG9yIiwiZHJhZ2dlZEl0ZW0iLCJnZXRJdGVtIiwic2hvdWxkRHJvcCIsImluZGV4Iiwib25DaGFuZ2UiLCJkcm9wcGVkIiwiY2FuRHJvcCIsImluc3RhbmNlSWQiLCJEcm9wVGlsZSIsImNvbm5lY3QiLCJkcm9wVGFyZ2V0Iiwic2hhbGxvdyIsInRpbGVTb3VyY2UiLCJjYW5EcmFnIiwiZGlzYWJsZWQiLCJiZWdpbkRyYWciLCJpZCIsInRhcmdldElkIiwiZnJvbUNob2ljZSIsImVuZERyYWciLCJkcm9wUmVzdWx0IiwiZ2V0RHJvcFJlc3VsdCIsImR1cGxpY2F0ZXMiLCJyZW1vdmVSZXNwb25zZSIsImRyYWdTb3VyY2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsd0JBQVcsVUFBQ0MsS0FBRDtBQUFBLFNBQVk7QUFDdkNDLElBQUFBLE9BQU8sRUFBRTtBQUNQQyxNQUFBQSxNQUFNLHNCQUFlRixLQUFLLENBQUNHLE9BQU4sQ0FBY0MsT0FBZCxDQUFzQkMsSUFBckMsQ0FEQztBQUVQLG9CQUFjO0FBQ1pDLFFBQUFBLFFBQVEsRUFBRTtBQURFO0FBRlAsS0FEOEI7QUFPdkNDLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSxRQUFRLEVBQUU7QUFETixLQVBpQztBQVV2Q0MsSUFBQUEsT0FBTyxFQUFFO0FBQ1BQLE1BQUFBLE1BQU0sc0JBQWVRLGdCQUFNRCxPQUFOLEVBQWY7QUFEQyxLQVY4QjtBQWF2Q0UsSUFBQUEsU0FBUyxFQUFFO0FBQ1RULE1BQUFBLE1BQU0sc0JBQWVGLEtBQUssQ0FBQ0csT0FBTixDQUFjUyxLQUFkLENBQW9CUCxJQUFuQztBQURHLEtBYjRCO0FBZ0J2Q1EsSUFBQUEsUUFBUSxFQUFFO0FBQ1JYLE1BQUFBLE1BQU0sc0JBQWVRLGdCQUFNSSxXQUFOLEVBQWY7QUFERTtBQWhCNkIsR0FBWjtBQUFBLENBQVgsQ0FBbEI7O0lBcUJhQyxZOzs7OztBQVdYLHdCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7QUFDakIsOEJBQU1BLEtBQU47QUFFQSxVQUFLQyxXQUFMLEdBQW1CLE1BQUtBLFdBQUwsQ0FBaUJDLElBQWpCLGdEQUFuQjtBQUNBLFVBQUtDLEtBQUwsR0FBYTtBQUFFQyxNQUFBQSxrQkFBa0IsRUFBRTtBQUF0QixLQUFiO0FBSmlCO0FBS2xCOzs7O1dBRUQsNkJBQW9CO0FBQ2xCQyxNQUFBQSxRQUFRLENBQUNDLGdCQUFULENBQTBCLE9BQTFCLEVBQW1DLEtBQUtMLFdBQXhDO0FBQ0Q7OztXQUVELGdDQUF1QjtBQUNyQkksTUFBQUEsUUFBUSxDQUFDRSxtQkFBVCxDQUE2QixPQUE3QixFQUFzQyxLQUFLTixXQUEzQztBQUNEOzs7V0FFRCxxQkFBWU8sS0FBWixFQUFtQjtBQUNqQixVQUFRQyxPQUFSLEdBQW9CLEtBQUtULEtBQXpCLENBQVFTLE9BQVI7O0FBRUEsVUFBSSxLQUFLQyxVQUFULEVBQXFCO0FBQ25CLGFBQUtBLFVBQUwsQ0FBZ0JDLFNBQWhCLEdBQTRCLEtBQUtELFVBQUwsQ0FBZ0JFLFFBQWhCLENBQXlCSixLQUFLLENBQUNLLE1BQS9CLElBQXlDSixPQUFPLENBQUNaLFFBQWpELEdBQTRELEVBQXhGO0FBQ0Q7QUFDRjs7O1dBRUQsaUNBQXdCaUIsU0FBeEIsRUFBbUM7QUFDakMsVUFBSSxDQUFDQSxTQUFTLENBQUNDLE1BQVgsSUFBcUIsS0FBS2YsS0FBTCxDQUFXZSxNQUFoQyxJQUEwQyxLQUFLTCxVQUFuRCxFQUErRDtBQUM3RCxZQUFNTSxJQUFJLEdBQUcsS0FBS04sVUFBbEI7QUFDQSxlQUFPO0FBQUVPLFVBQUFBLEtBQUssRUFBRUQsSUFBSSxDQUFDRSxXQUFkO0FBQTJCQyxVQUFBQSxNQUFNLEVBQUVILElBQUksQ0FBQ0k7QUFBeEMsU0FBUDtBQUNEOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7V0FFRCw0QkFBbUJOLFNBQW5CLEVBQThCTyxTQUE5QixFQUF5Q0MsUUFBekMsRUFBbUQ7QUFDakQsVUFBSSxLQUFLWixVQUFMLElBQW1CLE9BQU9hLHlCQUFQLEtBQXNCLFVBQTdDLEVBQXlEO0FBQ3ZELHVDQUFXLEtBQUtiLFVBQWhCO0FBQ0Q7O0FBRUQsVUFDRVksUUFBUSxLQUNQLENBQUMsS0FBS25CLEtBQUwsQ0FBV0Msa0JBQVosSUFDQyxLQUFLRCxLQUFMLENBQVdDLGtCQUFYLENBQThCYSxLQUE5QixLQUF3Q0ssUUFBUSxDQUFDTCxLQURsRCxJQUVDLEtBQUtkLEtBQUwsQ0FBV0Msa0JBQVgsQ0FBOEJlLE1BQTlCLEtBQXlDRyxRQUFRLENBQUNILE1BSDVDLENBRFYsRUFLRTtBQUNBLGFBQUtLLFFBQUwsQ0FBYztBQUFFcEIsVUFBQUEsa0JBQWtCLEVBQUVrQjtBQUF0QixTQUFkO0FBQ0E7QUFDRDs7QUFFRCxVQUFJUixTQUFTLENBQUNDLE1BQVYsSUFBb0IsQ0FBQyxLQUFLZixLQUFMLENBQVdlLE1BQWhDLElBQTBDLEtBQUtaLEtBQUwsQ0FBV0Msa0JBQXpELEVBQTZFO0FBQzNFLGFBQUtvQixRQUFMLENBQWM7QUFBRXBCLFVBQUFBLGtCQUFrQixFQUFFO0FBQXRCLFNBQWQ7QUFDRDtBQUNGOzs7V0FFRCxrQkFBUztBQUFBOztBQUNQLHdCQUE2RCxLQUFLSixLQUFsRTtBQUFBLFVBQVF5QixDQUFSLGVBQVFBLENBQVI7QUFBQSxVQUFXQyxRQUFYLGVBQVdBLFFBQVg7QUFBQSxVQUFxQkMsVUFBckIsZUFBcUJBLFVBQXJCO0FBQUEsVUFBaUNDLFFBQWpDLGVBQWlDQSxRQUFqQztBQUFBLFVBQTJDYixNQUEzQyxlQUEyQ0EsTUFBM0M7QUFBQSxVQUFtRGMsS0FBbkQsZUFBbURBLEtBQW5EO0FBQ0EsVUFBUXpCLGtCQUFSLEdBQStCLEtBQUtELEtBQXBDLENBQVFDLGtCQUFSO0FBRUEsVUFBTTBCLEtBQUssR0FBR0YsUUFBUSxJQUFJYixNQUFaLEdBQXFCYSxRQUFRLENBQUNDLEtBQVQsQ0FBZUEsS0FBcEMsR0FBNENBLEtBQUssQ0FBQ0EsS0FBTixJQUFlLE1BQXpFO0FBQ0EsVUFBTUUsVUFBVSxHQUFHSixVQUFVLEdBQUcsTUFBSCxHQUFjRyxLQUEzQztBQUNBLFVBQU1FLE9BQU8sR0FBR0QsVUFBVSxLQUFLLE1BQS9CO0FBQ0EsVUFBTUUsU0FBUyxHQUFHTCxRQUFRLElBQUliLE1BQTlCO0FBRUEsMEJBQ0U7QUFDRSxRQUFBLEdBQUcsRUFBRSxhQUFDbUIsSUFBRDtBQUFBLGlCQUFVLE1BQUksQ0FBQ3hCLFVBQUwsR0FBa0J3QixJQUE1QjtBQUFBLFNBRFA7QUFFRSxRQUFBLEtBQUssRUFBRTtBQUNMQyxVQUFBQSxPQUFPLEVBQUUsYUFESjtBQUVMM0MsVUFBQUEsUUFBUSxFQUFFLE9BRkw7QUFHTDRDLFVBQUFBLFNBQVMsRUFBRSxNQUhOO0FBSUxDLFVBQUFBLFVBQVUsRUFBRUosU0FBUyxhQUFNdkMsZ0JBQU00QyxRQUFOLENBQWVDLFlBQXJCLGNBQXlDN0MsZ0JBQU00QyxRQUFOLENBQWVFLEtBQXhELENBSmhCO0FBS0x0RCxVQUFBQSxNQUFNLEVBQUUrQyxTQUFTLHdCQUFpQnZDLGdCQUFNNEMsUUFBTixDQUFlRyxXQUFoQyx5QkFBOEQvQyxnQkFBTTRDLFFBQU4sQ0FBZUMsWUFBN0UsQ0FMWjtBQU1MRyxVQUFBQSxTQUFTLEVBQUUsWUFOTjtBQU9MQyxVQUFBQSxZQUFZLEVBQUUsS0FQVDtBQVFMQyxVQUFBQSxRQUFRLEVBQUUsUUFSTDtBQVNMQyxVQUFBQSxRQUFRLEVBQUUsVUFUTDtBQVVMQyxVQUFBQSxPQUFPLEVBQUUsa0JBVko7QUFXTDdCLFVBQUFBLEtBQUssRUFBRWIsa0JBQWtCLEdBQUdBLGtCQUFrQixDQUFDYSxLQUF0QixHQUE4QjhCLFNBWGxEO0FBWUw1QixVQUFBQSxNQUFNLEVBQUVmLGtCQUFrQixHQUFHQSxrQkFBa0IsQ0FBQ2UsTUFBdEIsR0FBK0I0QjtBQVpwRCxTQUZUO0FBZ0JFLG9CQUFVdEIsQ0FBQyxDQUFDdUIsR0FoQmQ7QUFpQkUsUUFBQSxlQUFlLEVBQUU7QUFqQm5CLFNBbUJHaEIsT0FBTyxpQkFDTixnQ0FBQyxlQUFEO0FBQ0UsUUFBQSxLQUFLLEVBQUU7QUFDTGEsVUFBQUEsUUFBUSxFQUFFLFVBREw7QUFFTEksVUFBQUEsR0FBRyxFQUFFLEtBRkE7QUFHTEMsVUFBQUEsSUFBSSxFQUFFLE1BSEQ7QUFJTHhELFVBQUFBLEtBQUssRUFBRTtBQUpGLFNBRFQ7QUFPRSxRQUFBLGVBQWUsRUFBRTtBQVBuQixRQXBCSixlQThCRTtBQUNFLFFBQUEsdUJBQXVCLEVBQUU7QUFDdkJ5RCxVQUFBQSxNQUFNLEVBQUVwQjtBQURlO0FBRDNCLFFBOUJGLEVBbUNHTCxRQW5DSCxDQURGO0FBdUNEOzs7RUE5RytCMEIsa0JBQU1DLFM7OztpQ0FBM0J0RCxZLGVBQ1E7QUFDakIwQixFQUFBQSxDQUFDLEVBQUU2QixzQkFBVUMsTUFESTtBQUVqQjdCLEVBQUFBLFFBQVEsRUFBRTRCLHNCQUFVRSxJQUZIO0FBR2pCN0IsRUFBQUEsVUFBVSxFQUFFMkIsc0JBQVVHLElBSEw7QUFJakIxQyxFQUFBQSxNQUFNLEVBQUV1QyxzQkFBVUcsSUFKRDtBQUtqQjdCLEVBQUFBLFFBQVEsRUFBRTBCLHNCQUFVQyxNQUxIO0FBTWpCMUIsRUFBQUEsS0FBSyxFQUFFeUIsc0JBQVVDLE1BTkE7QUFPakI5QyxFQUFBQSxPQUFPLEVBQUU2QyxzQkFBVUM7QUFQRixDO0FBZ0hyQixJQUFNRyxrQkFBa0IsR0FBRzNFLFNBQVMsQ0FBQ2dCLFlBQUQsQ0FBcEM7QUFFQSxJQUFNNEQscUJBQXFCLEdBQUc1RSxTQUFTLENBQUMsaUJBQXdEO0FBQUEsTUFBckQ2RSxpQkFBcUQsU0FBckRBLGlCQUFxRDtBQUFBLE1BQWxDQyxpQkFBa0MsU0FBbENBLGlCQUFrQztBQUFBLE1BQVo3RCxLQUFZO0FBQzlGLE1BQVFTLE9BQVIsR0FBbUNULEtBQW5DLENBQVFTLE9BQVI7QUFBQSxNQUFpQk0sTUFBakIsR0FBbUNmLEtBQW5DLENBQWlCZSxNQUFqQjtBQUFBLE1BQXlCYyxLQUF6QixHQUFtQzdCLEtBQW5DLENBQXlCNkIsS0FBekI7O0FBQ0EsTUFBTWlDLFdBQVcsZ0JBQUcsZ0NBQUMsa0JBQUQsRUFBd0I5RCxLQUF4QixDQUFwQjs7QUFDQSxNQUFNK0QsTUFBTSxHQUFHLENBQUNsQyxLQUFELEdBQVNpQyxXQUFULEdBQXVCRCxpQkFBaUIsZUFBQyw4Q0FBT0MsV0FBUCxDQUFELENBQXZEOztBQUNBLE1BQU03RSxPQUFPLGdCQUFHO0FBQU0sSUFBQSxTQUFTLEVBQUUsNEJBQVd3QixPQUFPLENBQUN4QixPQUFuQixFQUE0QjhCLE1BQU0sSUFBSU4sT0FBTyxDQUFDdUQsSUFBOUM7QUFBakIsS0FBdUVELE1BQXZFLENBQWhCOztBQUVBLFNBQU9ILGlCQUFpQixHQUFHQSxpQkFBaUIsQ0FBQzNFLE9BQUQsQ0FBcEIsR0FBZ0NBLE9BQXhEO0FBQ0QsQ0FQc0MsQ0FBdkM7QUFTTyxJQUFNZ0YsVUFBVSxHQUFHO0FBQ3hCQyxFQUFBQSxJQUR3QixnQkFDbkJsRSxLQURtQixFQUNabUUsT0FEWSxFQUNIO0FBQ25CLFFBQU1DLFdBQVcsR0FBR0QsT0FBTyxDQUFDRSxPQUFSLEVBQXBCO0FBQ0EsUUFBTUMsVUFBVSxHQUNkLDZCQUFZRixXQUFXLENBQUN2QyxLQUFaLENBQWtCMEMsS0FBOUIsS0FDQSw2QkFBWXZFLEtBQUssQ0FBQzZCLEtBQU4sQ0FBWTBDLEtBQXhCLENBREEsSUFFQUgsV0FBVyxDQUFDdkMsS0FBWixDQUFrQjBDLEtBQWxCLEtBQTRCdkUsS0FBSyxDQUFDNkIsS0FBTixDQUFZMEMsS0FIMUM7O0FBS0EsUUFBSUQsVUFBSixFQUFnQjtBQUNkdEUsTUFBQUEsS0FBSyxDQUFDd0UsUUFBTixDQUFlSixXQUFXLENBQUN2QyxLQUEzQjtBQUNEOztBQUVELFdBQU87QUFDTDRDLE1BQUFBLE9BQU8sRUFBRUg7QUFESixLQUFQO0FBR0QsR0FmdUI7QUFnQnhCSSxFQUFBQSxPQWhCd0IsbUJBZ0JoQjFFLEtBaEJnQixFQWdCVG1FLE9BaEJTLEVBZ0JBO0FBQ3RCLFFBQU1DLFdBQVcsR0FBR0QsT0FBTyxDQUFDRSxPQUFSLEVBQXBCO0FBRUEsV0FBT0QsV0FBVyxDQUFDTyxVQUFaLEtBQTJCM0UsS0FBSyxDQUFDMkUsVUFBeEM7QUFDRDtBQXBCdUIsQ0FBbkI7O0FBdUJQLElBQU1DLFFBQVEsR0FBRyxzQkFBVywwQkFBWCxFQUF1Q1gsVUFBdkMsRUFBbUQsVUFBQ1ksT0FBRCxFQUFVVixPQUFWO0FBQUEsU0FBdUI7QUFDekZQLElBQUFBLGlCQUFpQixFQUFFaUIsT0FBTyxDQUFDQyxVQUFSLEVBRHNFO0FBRXpGL0QsSUFBQUEsTUFBTSxFQUFFb0QsT0FBTyxDQUFDcEQsTUFBUixDQUFlO0FBQUVnRSxNQUFBQSxPQUFPLEVBQUU7QUFBWCxLQUFmLENBRmlGO0FBR3pGbkQsSUFBQUEsUUFBUSxFQUFFdUMsT0FBTyxDQUFDRSxPQUFSO0FBSCtFLEdBQXZCO0FBQUEsQ0FBbkQsRUFJYlYscUJBSmEsQ0FBakI7QUFNTyxJQUFNcUIsVUFBVSxHQUFHO0FBQ3hCQyxFQUFBQSxPQUR3QixtQkFDaEJqRixLQURnQixFQUNUO0FBQ2IsV0FBTyxDQUFDQSxLQUFLLENBQUNrRixRQUFQLElBQW1CLENBQUMsQ0FBQ2xGLEtBQUssQ0FBQzZCLEtBQWxDO0FBQ0QsR0FIdUI7QUFJeEJzRCxFQUFBQSxTQUp3QixxQkFJZG5GLEtBSmMsRUFJUDtBQUNmLFdBQU87QUFDTG9GLE1BQUFBLEVBQUUsRUFBRXBGLEtBQUssQ0FBQ3FGLFFBREw7QUFFTHhELE1BQUFBLEtBQUssRUFBRTdCLEtBQUssQ0FBQzZCLEtBRlI7QUFHTDhDLE1BQUFBLFVBQVUsRUFBRTNFLEtBQUssQ0FBQzJFLFVBSGI7QUFJTFcsTUFBQUEsVUFBVSxFQUFFO0FBSlAsS0FBUDtBQU1ELEdBWHVCO0FBWXhCQyxFQUFBQSxPQVp3QixtQkFZaEJ2RixLQVpnQixFQVlUbUUsT0FaUyxFQVlBO0FBQ3RCO0FBQ0EsUUFBTXFCLFVBQVUsR0FBR3JCLE9BQU8sQ0FBQ3NCLGFBQVIsRUFBbkI7O0FBRUEsUUFBSSxDQUFDRCxVQUFELElBQWdCQSxVQUFVLENBQUNmLE9BQVgsSUFBc0IsQ0FBQ3pFLEtBQUssQ0FBQzBGLFVBQWpELEVBQThEO0FBQzVELFVBQU10QixXQUFXLEdBQUdELE9BQU8sQ0FBQ0UsT0FBUixFQUFwQjs7QUFFQSxVQUFJRCxXQUFXLENBQUNrQixVQUFoQixFQUE0QjtBQUMxQnRGLFFBQUFBLEtBQUssQ0FBQzJGLGNBQU4sQ0FBcUJ2QixXQUFXLENBQUN2QyxLQUFqQztBQUNEO0FBQ0Y7QUFDRjtBQXZCdUIsQ0FBbkI7OztlQTBCUSxzQkFBVywwQkFBWCxFQUF1Q21ELFVBQXZDLEVBQW1ELFVBQUNILE9BQUQsRUFBVVYsT0FBVjtBQUFBLFNBQXVCO0FBQ3ZGTixJQUFBQSxpQkFBaUIsRUFBRWdCLE9BQU8sQ0FBQ2UsVUFBUixFQURvRTtBQUV2RmpFLElBQUFBLFVBQVUsRUFBRXdDLE9BQU8sQ0FBQ3hDLFVBQVI7QUFGMkUsR0FBdkI7QUFBQSxDQUFuRCxFQUdYaUQsUUFIVyxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgaXNVbmRlZmluZWQgZnJvbSAnbG9kYXNoL2lzVW5kZWZpbmVkJztcbmltcG9ydCB7IERyYWdTb3VyY2UsIERyb3BUYXJnZXQgfSBmcm9tICdAcGllLWxpYi9kcmFnJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQgeyBHcmlwSWNvbiB9IGZyb20gJy4uL2ljb25zJztcblxuY29uc3QgdXNlU3R5bGVzID0gd2l0aFN0eWxlcygodGhlbWUpID0+ICh7XG4gIGNvbnRlbnQ6IHtcbiAgICBib3JkZXI6IGBzb2xpZCAwcHggJHt0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbn1gLFxuICAgICcmIG1qeC1mcmFjJzoge1xuICAgICAgZm9udFNpemU6ICcxMjAlICFpbXBvcnRhbnQnLFxuICAgIH0sXG4gIH0sXG4gIGNoaXA6IHtcbiAgICBtaW5XaWR0aDogJzkwcHgnLFxuICB9LFxuICBjb3JyZWN0OiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7Y29sb3IuY29ycmVjdCgpfWAsXG4gIH0sXG4gIGluY29ycmVjdDoge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUuZXJyb3IubWFpbn1gLFxuICB9LFxuICBzZWxlY3RlZDoge1xuICAgIGJvcmRlcjogYDJweCBzb2xpZCAke2NvbG9yLnByaW1hcnlEYXJrKCl9ICFpbXBvcnRhbnRgLFxuICB9LFxufSkpO1xuXG5leHBvcnQgY2xhc3MgQmxhbmtDb250ZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBuOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBpc0RyYWdnaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc092ZXI6IFByb3BUeXBlcy5ib29sLFxuICAgIGRyYWdJdGVtOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLmhhbmRsZUNsaWNrID0gdGhpcy5oYW5kbGVDbGljay5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc3RhdGUgPSB7IGhvdmVyZWRFbGVtZW50U2l6ZTogbnVsbCB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhhbmRsZUNsaWNrKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVDbGljayk7XG4gIH1cblxuICBoYW5kbGVDbGljayhldmVudCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICh0aGlzLmVsZW1lbnRSZWYpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5jbGFzc05hbWUgPSB0aGlzLmVsZW1lbnRSZWYuY29udGFpbnMoZXZlbnQudGFyZ2V0KSA/IGNsYXNzZXMuc2VsZWN0ZWQgOiAnJztcbiAgICB9XG4gIH1cblxuICBnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBpZiAoIXByZXZQcm9wcy5pc092ZXIgJiYgdGhpcy5wcm9wcy5pc092ZXIgJiYgdGhpcy5lbGVtZW50UmVmKSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5lbGVtZW50UmVmO1xuICAgICAgcmV0dXJuIHsgd2lkdGg6IG5vZGUub2Zmc2V0V2lkdGgsIGhlaWdodDogbm9kZS5vZmZzZXRIZWlnaHQgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUsIHNuYXBzaG90KSB7XG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZiAmJiB0eXBlb2YgcmVuZGVyTWF0aCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmVuZGVyTWF0aCh0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNuYXBzaG90ICYmXG4gICAgICAoIXRoaXMuc3RhdGUuaG92ZXJlZEVsZW1lbnRTaXplIHx8XG4gICAgICAgIHRoaXMuc3RhdGUuaG92ZXJlZEVsZW1lbnRTaXplLndpZHRoICE9PSBzbmFwc2hvdC53aWR0aCB8fFxuICAgICAgICB0aGlzLnN0YXRlLmhvdmVyZWRFbGVtZW50U2l6ZS5oZWlnaHQgIT09IHNuYXBzaG90LmhlaWdodClcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBob3ZlcmVkRWxlbWVudFNpemU6IHNuYXBzaG90IH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcmV2UHJvcHMuaXNPdmVyICYmICF0aGlzLnByb3BzLmlzT3ZlciAmJiB0aGlzLnN0YXRlLmhvdmVyZWRFbGVtZW50U2l6ZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhvdmVyZWRFbGVtZW50U2l6ZTogbnVsbCB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBuLCBjaGlsZHJlbiwgaXNEcmFnZ2luZywgZHJhZ0l0ZW0sIGlzT3ZlciwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBob3ZlcmVkRWxlbWVudFNpemUgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBsYWJlbCA9IGRyYWdJdGVtICYmIGlzT3ZlciA/IGRyYWdJdGVtLnZhbHVlLnZhbHVlIDogdmFsdWUudmFsdWUgfHwgJ1xcdTAwQTAnO1xuICAgIGNvbnN0IGZpbmFsTGFiZWwgPSBpc0RyYWdnaW5nID8gJ1xcdTAwQTAnIDogbGFiZWw7XG4gICAgY29uc3QgaGFzR3JpcCA9IGZpbmFsTGFiZWwgIT09ICdcXHUwMEEwJztcbiAgICBjb25zdCBpc1ByZXZpZXcgPSBkcmFnSXRlbSAmJiBpc092ZXI7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICByZWY9eyhyZWYpID0+ICh0aGlzLmVsZW1lbnRSZWYgPSByZWYpfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgICAgbWluV2lkdGg6ICcxNzhweCcsXG4gICAgICAgICAgbWluSGVpZ2h0OiAnMzZweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogaXNQcmV2aWV3ID8gYCR7Y29sb3IuZGVmYXVsdHMuQk9SREVSX0xJR0hUfWAgOiBgJHtjb2xvci5kZWZhdWx0cy5XSElURX1gLFxuICAgICAgICAgIGJvcmRlcjogaXNQcmV2aWV3ID8gYDFweCBzb2xpZCAgJHtjb2xvci5kZWZhdWx0cy5CT1JERVJfREFSS31gIDogYDFweCBzb2xpZCAgJHtjb2xvci5kZWZhdWx0cy5CT1JERVJfTElHSFR9YCxcbiAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICczcHgnLFxuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgICBwYWRkaW5nOiAnOHB4IDhweCA4cHggMzVweCcsXG4gICAgICAgICAgd2lkdGg6IGhvdmVyZWRFbGVtZW50U2l6ZSA/IGhvdmVyZWRFbGVtZW50U2l6ZS53aWR0aCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBoZWlnaHQ6IGhvdmVyZWRFbGVtZW50U2l6ZSA/IGhvdmVyZWRFbGVtZW50U2l6ZS5oZWlnaHQgOiB1bmRlZmluZWQsXG4gICAgICAgIH19XG4gICAgICAgIGRhdGEta2V5PXtuLmtleX1cbiAgICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgID5cbiAgICAgICAge2hhc0dyaXAgJiYgKFxuICAgICAgICAgIDxHcmlwSWNvblxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogJzZweCcsXG4gICAgICAgICAgICAgIGxlZnQ6ICcxNXB4JyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjOUI5QjlCJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjb250ZW50RWRpdGFibGU9e2ZhbHNlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgIF9faHRtbDogZmluYWxMYWJlbCxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFN0eWxlZEJsYW5rQ29udGVudCA9IHVzZVN0eWxlcyhCbGFua0NvbnRlbnQpO1xuXG5jb25zdCBjb25uZWN0ZWRCbGFua0NvbnRlbnQgPSB1c2VTdHlsZXMoKHsgY29ubmVjdERyb3BUYXJnZXQsIGNvbm5lY3REcmFnU291cmNlLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NlcywgaXNPdmVyLCB2YWx1ZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGRyYWdDb250ZW50ID0gPFN0eWxlZEJsYW5rQ29udGVudCB7Li4ucHJvcHN9IC8+O1xuICBjb25zdCBkcmFnRWwgPSAhdmFsdWUgPyBkcmFnQ29udGVudCA6IGNvbm5lY3REcmFnU291cmNlKDxzcGFuPntkcmFnQ29udGVudH08L3NwYW4+KTtcbiAgY29uc3QgY29udGVudCA9IDxzcGFuIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhjbGFzc2VzLmNvbnRlbnQsIGlzT3ZlciAmJiBjbGFzc2VzLm92ZXIpfT57ZHJhZ0VsfTwvc3Bhbj47XG5cbiAgcmV0dXJuIGNvbm5lY3REcm9wVGFyZ2V0ID8gY29ubmVjdERyb3BUYXJnZXQoY29udGVudCkgOiBjb250ZW50O1xufSk7XG5cbmV4cG9ydCBjb25zdCB0aWxlVGFyZ2V0ID0ge1xuICBkcm9wKHByb3BzLCBtb25pdG9yKSB7XG4gICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSBtb25pdG9yLmdldEl0ZW0oKTtcbiAgICBjb25zdCBzaG91bGREcm9wID1cbiAgICAgIGlzVW5kZWZpbmVkKGRyYWdnZWRJdGVtLnZhbHVlLmluZGV4KSB8fFxuICAgICAgaXNVbmRlZmluZWQocHJvcHMudmFsdWUuaW5kZXgpIHx8XG4gICAgICBkcmFnZ2VkSXRlbS52YWx1ZS5pbmRleCAhPT0gcHJvcHMudmFsdWUuaW5kZXg7XG5cbiAgICBpZiAoc2hvdWxkRHJvcCkge1xuICAgICAgcHJvcHMub25DaGFuZ2UoZHJhZ2dlZEl0ZW0udmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkcm9wcGVkOiBzaG91bGREcm9wLFxuICAgIH07XG4gIH0sXG4gIGNhbkRyb3AocHJvcHMsIG1vbml0b3IpIHtcbiAgICBjb25zdCBkcmFnZ2VkSXRlbSA9IG1vbml0b3IuZ2V0SXRlbSgpO1xuXG4gICAgcmV0dXJuIGRyYWdnZWRJdGVtLmluc3RhbmNlSWQgPT09IHByb3BzLmluc3RhbmNlSWQ7XG4gIH0sXG59O1xuXG5jb25zdCBEcm9wVGlsZSA9IERyb3BUYXJnZXQoJ2RyYWctaW4tdGhlLWJsYW5rLWNob2ljZScsIHRpbGVUYXJnZXQsIChjb25uZWN0LCBtb25pdG9yKSA9PiAoe1xuICBjb25uZWN0RHJvcFRhcmdldDogY29ubmVjdC5kcm9wVGFyZ2V0KCksXG4gIGlzT3ZlcjogbW9uaXRvci5pc092ZXIoeyBzaGFsbG93OiB0cnVlIH0pLFxuICBkcmFnSXRlbTogbW9uaXRvci5nZXRJdGVtKCksXG59KSkoY29ubmVjdGVkQmxhbmtDb250ZW50KTtcblxuZXhwb3J0IGNvbnN0IHRpbGVTb3VyY2UgPSB7XG4gIGNhbkRyYWcocHJvcHMpIHtcbiAgICByZXR1cm4gIXByb3BzLmRpc2FibGVkICYmICEhcHJvcHMudmFsdWU7XG4gIH0sXG4gIGJlZ2luRHJhZyhwcm9wcykge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogcHJvcHMudGFyZ2V0SWQsXG4gICAgICB2YWx1ZTogcHJvcHMudmFsdWUsXG4gICAgICBpbnN0YW5jZUlkOiBwcm9wcy5pbnN0YW5jZUlkLFxuICAgICAgZnJvbUNob2ljZTogdHJ1ZSxcbiAgICB9O1xuICB9LFxuICBlbmREcmFnKHByb3BzLCBtb25pdG9yKSB7XG4gICAgLy8gdGhpcyB3aWxsIGJlIG51bGwgaWYgaXQgZGlkIG5vdCBkcm9wXG4gICAgY29uc3QgZHJvcFJlc3VsdCA9IG1vbml0b3IuZ2V0RHJvcFJlc3VsdCgpO1xuXG4gICAgaWYgKCFkcm9wUmVzdWx0IHx8IChkcm9wUmVzdWx0LmRyb3BwZWQgJiYgIXByb3BzLmR1cGxpY2F0ZXMpKSB7XG4gICAgICBjb25zdCBkcmFnZ2VkSXRlbSA9IG1vbml0b3IuZ2V0SXRlbSgpO1xuXG4gICAgICBpZiAoZHJhZ2dlZEl0ZW0uZnJvbUNob2ljZSkge1xuICAgICAgICBwcm9wcy5yZW1vdmVSZXNwb25zZShkcmFnZ2VkSXRlbS52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJhZ1NvdXJjZSgnZHJhZy1pbi10aGUtYmxhbmstY2hvaWNlJywgdGlsZVNvdXJjZSwgKGNvbm5lY3QsIG1vbml0b3IpID0+ICh7XG4gIGNvbm5lY3REcmFnU291cmNlOiBjb25uZWN0LmRyYWdTb3VyY2UoKSxcbiAgaXNEcmFnZ2luZzogbW9uaXRvci5pc0RyYWdnaW5nKCksXG59KSkoRHJvcFRpbGUpO1xuIl19
|