@pie-lib/editable-html 10.0.0-beta.4 → 10.0.0-beta.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/CHANGELOG.md +255 -152
- package/lib/components.js +15 -39
- package/lib/components.js.map +1 -1
- package/lib/editor.js +200 -356
- package/lib/editor.js.map +1 -1
- package/lib/index.js +25 -49
- package/lib/index.js.map +1 -1
- package/lib/new-serialization.js +31 -71
- package/lib/new-serialization.js.map +1 -1
- package/lib/parse-html.js +7 -6
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +3 -13
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +20 -59
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js +1 -1
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/hotKeys/index.js +9 -16
- package/lib/plugins/hotKeys/index.js.map +1 -1
- package/lib/plugins/image/alt-dialog.js +6 -27
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +42 -99
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +14 -50
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +16 -59
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +13 -25
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +6 -36
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +11 -46
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +89 -93
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +32 -109
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +107 -195
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +7 -27
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +9 -14
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +13 -53
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +6 -20
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +5 -10
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +16 -31
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +7 -54
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +3 -10
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +6 -21
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +1 -8
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +54 -187
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +12 -44
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +17 -46
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +2 -10
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +134 -144
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +2 -6
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +9 -40
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +29 -83
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +8 -30
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +11 -69
- package/lib/serialization.js.map +1 -1
- package/lib/test-serializer.js +5 -56
- package/lib/test-serializer.js.map +1 -1
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +7 -7
- package/playground/image/data.js +20 -20
- package/playground/image/index.html +20 -22
- package/playground/image/index.jsx +10 -12
- package/playground/index.html +23 -25
- package/playground/mathquill/index.html +20 -23
- package/playground/mathquill/index.jsx +22 -18
- package/playground/prod-test/index.html +20 -24
- package/playground/prod-test/index.jsx +3 -5
- package/playground/schema-override/data.js +10 -10
- package/playground/schema-override/image-plugin.jsx +4 -3
- package/playground/schema-override/index.html +19 -21
- package/playground/schema-override/index.jsx +14 -13
- package/playground/serialization/data.js +10 -10
- package/playground/serialization/image-plugin.jsx +4 -3
- package/playground/serialization/index.html +20 -22
- package/playground/table-examples.html +8 -5
- package/playground/webpack.config.js +10 -10
- package/src/editor.jsx +108 -104
- package/src/index.jsx +20 -13
- package/src/new-serialization.jsx +30 -11
- package/src/parse-html.js +1 -1
- package/src/plugins/characters/custom-popper.js +7 -7
- package/src/plugins/characters/index.jsx +34 -23
- package/src/plugins/characters/utils.js +81 -81
- package/src/plugins/image/alt-dialog.jsx +5 -4
- package/src/plugins/image/component.jsx +47 -44
- package/src/plugins/image/image-toolbar.jsx +19 -27
- package/src/plugins/image/index.jsx +24 -18
- package/src/plugins/image/insert-image-handler.js +9 -0
- package/src/plugins/index.jsx +7 -9
- package/src/plugins/list/index.jsx +7 -7
- package/src/plugins/math/index.jsx +71 -28
- package/src/plugins/media/index.jsx +7 -7
- package/src/plugins/media/media-dialog.js +63 -89
- package/src/plugins/media/media-toolbar.jsx +8 -8
- package/src/plugins/media/media-wrapper.jsx +8 -5
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +19 -21
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +4 -4
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +5 -4
- package/src/plugins/respArea/icons/index.jsx +14 -11
- package/src/plugins/respArea/index.jsx +9 -15
- package/src/plugins/respArea/inline-dropdown/index.jsx +6 -6
- package/src/plugins/respArea/utils.jsx +7 -3
- package/src/plugins/table/icons/index.jsx +11 -17
- package/src/plugins/table/index.jsx +14 -10
- package/src/plugins/table/table-toolbar.jsx +6 -6
- package/src/plugins/toolbar/default-toolbar.jsx +9 -9
- package/src/plugins/toolbar/done-button.jsx +4 -4
- package/src/plugins/toolbar/editor-and-toolbar.jsx +36 -33
- package/src/plugins/toolbar/index.jsx +3 -2
- package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
- package/src/plugins/toolbar/toolbar.jsx +6 -1
- package/src/plugins/utils.js +2 -2
- package/src/serialization.jsx +34 -32
- package/src/test-serializer.js +2 -9
- package/lib/old-serialization.js +0 -330
- package/lib/slate-editor.js +0 -302
- package/src/test-serializer.js.rej +0 -20
- package/yarn-error.log +0 -18318
|
@@ -1,101 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.MediaDialog = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
17
|
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
-
|
|
32
19
|
var _debug = _interopRequireDefault(require("debug"));
|
|
33
|
-
|
|
34
20
|
var _renderUi = require("@pie-lib/render-ui");
|
|
35
|
-
|
|
36
21
|
var _styles = require("@material-ui/core/styles");
|
|
37
|
-
|
|
38
22
|
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
39
|
-
|
|
40
23
|
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
41
|
-
|
|
42
24
|
var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
|
|
43
|
-
|
|
44
25
|
var _Tab = _interopRequireDefault(require("@material-ui/core/Tab"));
|
|
45
|
-
|
|
46
26
|
var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
|
|
47
|
-
|
|
48
27
|
var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
|
|
49
|
-
|
|
50
28
|
var _DialogContentText = _interopRequireDefault(require("@material-ui/core/DialogContentText"));
|
|
51
|
-
|
|
52
29
|
var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
|
|
53
|
-
|
|
54
30
|
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
55
|
-
|
|
56
31
|
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
57
|
-
|
|
58
32
|
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
59
|
-
|
|
60
33
|
var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
|
|
61
|
-
|
|
62
34
|
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; }
|
|
63
|
-
|
|
64
35
|
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; }
|
|
65
|
-
|
|
66
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); }; }
|
|
67
|
-
|
|
68
37
|
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; } }
|
|
69
|
-
|
|
70
38
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:media:dialog');
|
|
71
|
-
|
|
72
39
|
var matchYoutubeUrl = function matchYoutubeUrl(url) {
|
|
73
40
|
if (!url) {
|
|
74
41
|
return false;
|
|
75
42
|
}
|
|
76
|
-
|
|
77
43
|
var p = /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
|
|
78
|
-
|
|
79
44
|
if (url.match(p)) {
|
|
80
45
|
return url.match(p)[1];
|
|
81
46
|
}
|
|
82
|
-
|
|
83
47
|
return false;
|
|
84
48
|
};
|
|
85
|
-
|
|
86
49
|
var matchVimeoUrl = function matchVimeoUrl(url) {
|
|
87
50
|
return url && /(http|https)?:\/\/(www\.)?(player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)(video\/)?(\d+)(?:|\/\?)/.test(url);
|
|
88
51
|
};
|
|
89
|
-
|
|
90
52
|
var matchSoundCloudUrl = function matchSoundCloudUrl(url) {
|
|
91
53
|
if (!url) {
|
|
92
54
|
return false;
|
|
93
55
|
}
|
|
94
|
-
|
|
95
56
|
var regexp = /^https?:\/\/(soundcloud\.com|snd\.sc)\/(.*)$/;
|
|
96
57
|
return url.match(regexp) && url.match(regexp)[2];
|
|
97
58
|
};
|
|
98
|
-
|
|
99
59
|
var makeApiRequest = function makeApiRequest(url) {
|
|
100
60
|
return new Promise(function (resolve) {
|
|
101
61
|
try {
|
|
@@ -115,71 +75,57 @@ var makeApiRequest = function makeApiRequest(url) {
|
|
|
115
75
|
}
|
|
116
76
|
});
|
|
117
77
|
};
|
|
118
|
-
|
|
119
78
|
var typeMap = {
|
|
120
79
|
video: 'Video',
|
|
121
80
|
audio: 'Audio'
|
|
122
81
|
};
|
|
123
|
-
|
|
124
82
|
var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
125
83
|
(0, _inherits2["default"])(MediaDialog, _React$Component);
|
|
126
|
-
|
|
127
84
|
var _super = _createSuper(MediaDialog);
|
|
128
|
-
|
|
129
85
|
function MediaDialog(props) {
|
|
130
86
|
var _this;
|
|
131
|
-
|
|
132
87
|
(0, _classCallCheck2["default"])(this, MediaDialog);
|
|
133
88
|
_this = _super.call(this, props);
|
|
134
89
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "formatUrl", function () {
|
|
135
90
|
var _this$state = _this.state,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
91
|
+
url = _this$state.url,
|
|
92
|
+
urlToUse = _this$state.urlToUse,
|
|
93
|
+
starts = _this$state.starts,
|
|
94
|
+
ends = _this$state.ends;
|
|
140
95
|
var isYoutube = matchYoutubeUrl(url);
|
|
141
96
|
var isVimeo = matchVimeoUrl(url);
|
|
142
97
|
var formattedUrl = urlToUse || '';
|
|
143
|
-
|
|
144
98
|
if ((isYoutube || isVimeo) && urlToUse) {
|
|
145
99
|
var params = [];
|
|
146
100
|
var paramName;
|
|
147
101
|
var paramStart;
|
|
148
|
-
|
|
149
102
|
switch (true) {
|
|
150
103
|
case isVimeo:
|
|
151
104
|
paramName = 't';
|
|
152
105
|
paramStart = '#';
|
|
153
106
|
break;
|
|
154
|
-
|
|
155
107
|
case isYoutube:
|
|
156
108
|
paramName = 'start';
|
|
157
109
|
paramStart = '?';
|
|
158
110
|
break;
|
|
159
|
-
|
|
160
111
|
default:
|
|
161
112
|
paramName = 'start';
|
|
162
113
|
paramStart = '?';
|
|
163
114
|
}
|
|
164
|
-
|
|
165
115
|
if (starts) {
|
|
166
116
|
params.push("".concat(paramName, "=").concat(starts));
|
|
167
117
|
}
|
|
168
|
-
|
|
169
118
|
if (ends) {
|
|
170
119
|
params.push("end=".concat(ends));
|
|
171
120
|
}
|
|
172
|
-
|
|
173
121
|
formattedUrl = "".concat(urlToUse).concat(params.length ? paramStart : '').concat(params.join('&'));
|
|
174
122
|
}
|
|
175
|
-
|
|
176
123
|
var callback = function callback() {
|
|
177
124
|
return _this.setState({
|
|
178
125
|
formattedUrl: formattedUrl,
|
|
179
126
|
updating: false
|
|
180
127
|
});
|
|
181
128
|
};
|
|
182
|
-
|
|
183
129
|
_this.setState({
|
|
184
130
|
formattedUrl: null,
|
|
185
131
|
updating: true
|
|
@@ -190,10 +136,8 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
190
136
|
});
|
|
191
137
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "urlChange", function (e) {
|
|
192
138
|
var _ref = e.target || {},
|
|
193
|
-
|
|
194
|
-
|
|
139
|
+
value = _ref.value;
|
|
195
140
|
var type = _this.props.type;
|
|
196
|
-
|
|
197
141
|
if (type && type === 'audio') {
|
|
198
142
|
if (matchSoundCloudUrl(value)) {
|
|
199
143
|
makeApiRequest(value).then(function (urlToUse) {
|
|
@@ -212,34 +156,26 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
212
156
|
var id = match[2];
|
|
213
157
|
var urlToUse = "https://youtube.com/embed/".concat(id);
|
|
214
158
|
log('is youtube');
|
|
215
|
-
|
|
216
159
|
_this.handleStateChange({
|
|
217
160
|
urlToUse: urlToUse,
|
|
218
161
|
url: value || '',
|
|
219
162
|
invalid: false
|
|
220
163
|
});
|
|
221
|
-
|
|
222
164
|
return;
|
|
223
165
|
}
|
|
224
|
-
|
|
225
166
|
if (matchVimeoUrl(value)) {
|
|
226
167
|
var _id = value.replace(/.*vimeo.com\/(.*)/g, '$1');
|
|
227
|
-
|
|
228
168
|
var _urlToUse2 = "https://player.vimeo.com/video/".concat(_id);
|
|
229
|
-
|
|
230
169
|
log('is vimeo');
|
|
231
|
-
|
|
232
170
|
_this.handleStateChange({
|
|
233
171
|
urlToUse: _urlToUse2,
|
|
234
172
|
url: value || '',
|
|
235
173
|
ends: null,
|
|
236
174
|
invalid: false
|
|
237
175
|
});
|
|
238
|
-
|
|
239
176
|
return;
|
|
240
177
|
}
|
|
241
178
|
}
|
|
242
|
-
|
|
243
179
|
_this.handleStateChange({
|
|
244
180
|
urlToUse: '',
|
|
245
181
|
url: '',
|
|
@@ -254,25 +190,23 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
254
190
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDone", function (val) {
|
|
255
191
|
var handleClose = _this.props.handleClose;
|
|
256
192
|
var _this$state2 = _this.state,
|
|
257
|
-
|
|
258
|
-
|
|
193
|
+
tabValue = _this$state2.tabValue,
|
|
194
|
+
fileUpload = _this$state2.fileUpload;
|
|
259
195
|
var isInsertURL = tabValue === 0;
|
|
260
|
-
|
|
261
196
|
if (!val) {
|
|
262
197
|
if (fileUpload.url) {
|
|
263
198
|
_this.handleRemoveFile();
|
|
264
199
|
}
|
|
265
|
-
|
|
266
200
|
handleClose(val);
|
|
267
201
|
} else if (isInsertURL) {
|
|
268
202
|
var _this$state3 = _this.state,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
203
|
+
ends = _this$state3.ends,
|
|
204
|
+
height = _this$state3.height,
|
|
205
|
+
url = _this$state3.url,
|
|
206
|
+
urlToUse = _this$state3.urlToUse,
|
|
207
|
+
formattedUrl = _this$state3.formattedUrl,
|
|
208
|
+
starts = _this$state3.starts,
|
|
209
|
+
width = _this$state3.width;
|
|
276
210
|
handleClose(val, {
|
|
277
211
|
tag: 'iframe',
|
|
278
212
|
ends: ends,
|
|
@@ -294,111 +228,95 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
294
228
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(e) {
|
|
295
229
|
var fileChosen, reader;
|
|
296
230
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
297
|
-
while (1) {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
231
|
+
while (1) switch (_context.prev = _context.next) {
|
|
232
|
+
case 0:
|
|
233
|
+
e.preventDefault();
|
|
234
|
+
_this.setState({
|
|
235
|
+
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
236
|
+
error: null,
|
|
237
|
+
loading: true
|
|
238
|
+
})
|
|
239
|
+
});
|
|
240
|
+
fileChosen = e.target.files[0];
|
|
241
|
+
reader = new FileReader();
|
|
242
|
+
reader.onload = function () {
|
|
243
|
+
var dataURL = reader.result;
|
|
302
244
|
_this.setState({
|
|
303
245
|
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
304
|
-
|
|
305
|
-
loading: true
|
|
246
|
+
url: dataURL
|
|
306
247
|
})
|
|
307
248
|
});
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
//eslint-disable-next-line
|
|
331
|
-
console.log(err);
|
|
332
|
-
|
|
333
|
-
_this.setState({
|
|
334
|
-
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
335
|
-
loading: false,
|
|
336
|
-
error: err
|
|
337
|
-
})
|
|
338
|
-
});
|
|
339
|
-
} else {
|
|
340
|
-
_this.setState({
|
|
341
|
-
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
342
|
-
loading: false,
|
|
343
|
-
url: src
|
|
344
|
-
})
|
|
345
|
-
});
|
|
346
|
-
}
|
|
249
|
+
};
|
|
250
|
+
reader.readAsDataURL(fileChosen);
|
|
251
|
+
_this.props.uploadSoundSupport.add({
|
|
252
|
+
fileChosen: fileChosen,
|
|
253
|
+
done: function done(err, src) {
|
|
254
|
+
log('done: err:', err);
|
|
255
|
+
if (err) {
|
|
256
|
+
//eslint-disable-next-line
|
|
257
|
+
console.log(err);
|
|
258
|
+
_this.setState({
|
|
259
|
+
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
260
|
+
loading: false,
|
|
261
|
+
error: err
|
|
262
|
+
})
|
|
263
|
+
});
|
|
264
|
+
} else {
|
|
265
|
+
_this.setState({
|
|
266
|
+
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
267
|
+
loading: false,
|
|
268
|
+
url: src
|
|
269
|
+
})
|
|
270
|
+
});
|
|
347
271
|
}
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
}
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
case 7:
|
|
275
|
+
case "end":
|
|
276
|
+
return _context.stop();
|
|
354
277
|
}
|
|
355
278
|
}, _callee);
|
|
356
279
|
}));
|
|
357
|
-
|
|
358
280
|
return function (_x) {
|
|
359
281
|
return _ref2.apply(this, arguments);
|
|
360
282
|
};
|
|
361
283
|
}());
|
|
362
284
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRemoveFile", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
363
285
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
364
|
-
while (1) {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
}
|
|
378
|
-
}); // we should put it inside uploadSoundSupport.delete but we can leave it here for testing purposes
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
_this.setState({
|
|
382
|
-
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
383
|
-
loading: false,
|
|
384
|
-
url: ''
|
|
385
|
-
})
|
|
386
|
-
});
|
|
286
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
287
|
+
case 0:
|
|
288
|
+
_this.props.uploadSoundSupport["delete"](_this.state.fileUpload.url, function (err) {
|
|
289
|
+
if (err) {
|
|
290
|
+
//eslint-disable-next-line
|
|
291
|
+
console.log(err);
|
|
292
|
+
_this.setState({
|
|
293
|
+
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
294
|
+
error: err
|
|
295
|
+
})
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
});
|
|
387
299
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
300
|
+
// we should put it inside uploadSoundSupport.delete but we can leave it here for testing purposes
|
|
301
|
+
_this.setState({
|
|
302
|
+
fileUpload: _objectSpread(_objectSpread({}, _this.state.fileUpload), {}, {
|
|
303
|
+
loading: false,
|
|
304
|
+
url: ''
|
|
305
|
+
})
|
|
306
|
+
});
|
|
307
|
+
case 2:
|
|
308
|
+
case "end":
|
|
309
|
+
return _context2.stop();
|
|
392
310
|
}
|
|
393
311
|
}, _callee2);
|
|
394
312
|
})));
|
|
395
313
|
var _src = props.src,
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
314
|
+
_starts = props.starts,
|
|
315
|
+
_ends = props.ends,
|
|
316
|
+
_height = props.height,
|
|
317
|
+
_url = props.url,
|
|
318
|
+
_urlToUse = props.urlToUse,
|
|
319
|
+
_width = props.width;
|
|
402
320
|
_this.state = {
|
|
403
321
|
ends: _ends || 0,
|
|
404
322
|
url: _url || '',
|
|
@@ -418,7 +336,6 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
418
336
|
};
|
|
419
337
|
return _this;
|
|
420
338
|
}
|
|
421
|
-
|
|
422
339
|
(0, _createClass2["default"])(MediaDialog, [{
|
|
423
340
|
key: "componentDidMount",
|
|
424
341
|
value: function componentDidMount() {
|
|
@@ -434,25 +351,24 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
434
351
|
key: "render",
|
|
435
352
|
value: function render() {
|
|
436
353
|
var _this2 = this;
|
|
437
|
-
|
|
438
354
|
var _this$props = this.props,
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
355
|
+
classes = _this$props.classes,
|
|
356
|
+
open = _this$props.open,
|
|
357
|
+
disablePortal = _this$props.disablePortal,
|
|
358
|
+
type = _this$props.type,
|
|
359
|
+
edit = _this$props.edit,
|
|
360
|
+
uploadSoundSupport = _this$props.uploadSoundSupport;
|
|
445
361
|
var _this$state4 = this.state,
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
362
|
+
ends = _this$state4.ends,
|
|
363
|
+
height = _this$state4.height,
|
|
364
|
+
invalid = _this$state4.invalid,
|
|
365
|
+
starts = _this$state4.starts,
|
|
366
|
+
width = _this$state4.width,
|
|
367
|
+
url = _this$state4.url,
|
|
368
|
+
formattedUrl = _this$state4.formattedUrl,
|
|
369
|
+
updating = _this$state4.updating,
|
|
370
|
+
tabValue = _this$state4.tabValue,
|
|
371
|
+
fileUpload = _this$state4.fileUpload;
|
|
456
372
|
var isYoutube = matchYoutubeUrl(url);
|
|
457
373
|
var isInsertURL = tabValue === 0;
|
|
458
374
|
var isUploadMedia = tabValue === 1;
|
|
@@ -585,7 +501,6 @@ var MediaDialog = /*#__PURE__*/function (_React$Component) {
|
|
|
585
501
|
}]);
|
|
586
502
|
return MediaDialog;
|
|
587
503
|
}(_react["default"].Component);
|
|
588
|
-
|
|
589
504
|
exports.MediaDialog = MediaDialog;
|
|
590
505
|
(0, _defineProperty2["default"])(MediaDialog, "propTypes", {
|
|
591
506
|
classes: _propTypes["default"].object.isRequired,
|
|
@@ -606,8 +521,7 @@ exports.MediaDialog = MediaDialog;
|
|
|
606
521
|
height: _propTypes["default"].number,
|
|
607
522
|
width: _propTypes["default"].number
|
|
608
523
|
});
|
|
609
|
-
|
|
610
|
-
var styles = function styles() {
|
|
524
|
+
var styles = function styles(theme) {
|
|
611
525
|
return {
|
|
612
526
|
paper: {
|
|
613
527
|
minWidth: '500px'
|
|
@@ -620,7 +534,7 @@ var styles = function styles() {
|
|
|
620
534
|
flexDirection: 'space-between'
|
|
621
535
|
},
|
|
622
536
|
rowItem: {
|
|
623
|
-
marginRight:
|
|
537
|
+
marginRight: theme.spacing.unit * 1.5,
|
|
624
538
|
cursor: 'pointer'
|
|
625
539
|
},
|
|
626
540
|
active: {
|
|
@@ -628,19 +542,17 @@ var styles = function styles() {
|
|
|
628
542
|
borderBottom: "2px solid ".concat(_renderUi.color.primary())
|
|
629
543
|
},
|
|
630
544
|
uploadInput: {
|
|
631
|
-
marginTop:
|
|
545
|
+
marginTop: theme.spacing.unit * 1.5
|
|
632
546
|
},
|
|
633
547
|
error: {
|
|
634
|
-
marginTop:
|
|
635
|
-
color:
|
|
548
|
+
marginTop: theme.spacing.unit * 1.5,
|
|
549
|
+
color: theme.palette.error.main
|
|
636
550
|
},
|
|
637
551
|
deleteIcon: {
|
|
638
|
-
marginLeft:
|
|
552
|
+
marginLeft: theme.spacing.unit * 1.5
|
|
639
553
|
}
|
|
640
554
|
};
|
|
641
555
|
};
|
|
642
|
-
|
|
643
556
|
var _default = (0, _styles.withStyles)(styles)(MediaDialog);
|
|
644
|
-
|
|
645
557
|
exports["default"] = _default;
|
|
646
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsIm1hdGNoWW91dHViZVVybCIsInVybCIsInAiLCJtYXRjaCIsIm1hdGNoVmltZW9VcmwiLCJ0ZXN0IiwibWF0Y2hTb3VuZENsb3VkVXJsIiwicmVnZXhwIiwibWFrZUFwaVJlcXVlc3QiLCJQcm9taXNlIiwicmVzb2x2ZSIsImZldGNoIiwidGhlbiIsInJlc3BvbnNlIiwianNvbiIsImQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpbm5lckhUTUwiLCJodG1sIiwiaWZyYW1lIiwicXVlcnlTZWxlY3RvciIsInNyYyIsImVyciIsInR5cGVNYXAiLCJ2aWRlbyIsImF1ZGlvIiwiTWVkaWFEaWFsb2ciLCJwcm9wcyIsInN0YXRlIiwidXJsVG9Vc2UiLCJzdGFydHMiLCJlbmRzIiwiaXNZb3V0dWJlIiwiaXNWaW1lbyIsImZvcm1hdHRlZFVybCIsInBhcmFtcyIsInBhcmFtTmFtZSIsInBhcmFtU3RhcnQiLCJwdXNoIiwibGVuZ3RoIiwiam9pbiIsImNhbGxiYWNrIiwic2V0U3RhdGUiLCJ1cGRhdGluZyIsIm5ld1N0YXRlIiwiZm9ybWF0VXJsIiwiZSIsInRhcmdldCIsInZhbHVlIiwidHlwZSIsImhhbmRsZVN0YXRlQ2hhbmdlIiwiaW52YWxpZCIsInJlZ0V4cCIsImlkIiwicmVwbGFjZSIsInZhbCIsImhhbmRsZUNsb3NlIiwidGFiVmFsdWUiLCJmaWxlVXBsb2FkIiwiaXNJbnNlcnRVUkwiLCJoYW5kbGVSZW1vdmVGaWxlIiwiaGVpZ2h0Iiwid2lkdGgiLCJ0YWciLCJwcmV2ZW50RGVmYXVsdCIsImVycm9yIiwibG9hZGluZyIsImZpbGVDaG9zZW4iLCJmaWxlcyIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJkYXRhVVJMIiwicmVzdWx0IiwicmVhZEFzRGF0YVVSTCIsInVwbG9hZFNvdW5kU3VwcG9ydCIsImFkZCIsImRvbmUiLCJjb25zb2xlIiwidXJsQ2hhbmdlIiwiY2xhc3NlcyIsIm9wZW4iLCJkaXNhYmxlUG9ydGFsIiwiZWRpdCIsImlzVXBsb2FkTWVkaWEiLCJzdWJtaXRJc0Rpc2FibGVkIiwidW5kZWZpbmVkIiwicGFwZXIiLCJoYW5kbGVEb25lIiwicm93IiwiZXZlbnQiLCJyb290IiwicHJvcGVydGllcyIsImNoYW5nZUhhbmRsZXIiLCJ1cGxvYWRJbnB1dCIsImRlbGV0ZUljb24iLCJpbnB1dCIsImhhbmRsZVVwbG9hZEZpbGUiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJib29sIiwiZnVuYyIsInNoYXBlIiwic3RyaW5nIiwibnVtYmVyIiwic3R5bGVzIiwibWluV2lkdGgiLCJwYWRkaW5nIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJyb3dJdGVtIiwibWFyZ2luUmlnaHQiLCJjdXJzb3IiLCJhY3RpdmUiLCJjb2xvciIsInByaW1hcnkiLCJib3JkZXJCb3R0b20iLCJtYXJnaW5Ub3AiLCJtYXJnaW5MZWZ0Iiwid2l0aFN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL21lZGlhL21lZGlhLWRpYWxvZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvQnV0dG9uJztcbmltcG9ydCBEaWFsb2cgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nJztcbmltcG9ydCBNdWlUYWJzIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1RhYnMnO1xuaW1wb3J0IE11aVRhYiBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UYWInO1xuaW1wb3J0IERpYWxvZ1RpdGxlIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZ1RpdGxlJztcbmltcG9ydCBEaWFsb2dDb250ZW50IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZ0NvbnRlbnQnO1xuaW1wb3J0IERpYWxvZ0NvbnRlbnRUZXh0IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZ0NvbnRlbnRUZXh0JztcbmltcG9ydCBEaWFsb2dBY3Rpb25zIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZ0FjdGlvbnMnO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UZXh0RmllbGQnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvVHlwb2dyYXBoeSc7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9JY29uQnV0dG9uJztcbmltcG9ydCBBY3Rpb25EZWxldGUgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0RlbGV0ZSc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6bWVkaWE6ZGlhbG9nJyk7XG5cbmNvbnN0IG1hdGNoWW91dHViZVVybCA9IHVybCA9PiB7XG4gIGlmICghdXJsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcCA9IC9eKD86aHR0cHM/OlxcL1xcLyk/KD86bVxcLnx3d3dcXC4pPyg/OnlvdXR1XFwuYmVcXC98eW91dHViZVxcLmNvbVxcLyg/OmVtYmVkXFwvfHZcXC98d2F0Y2hcXD92PXx3YXRjaFxcPy4rJnY9KSkoKFxcd3wtKXsxMX0pKD86XFxTKyk/JC87XG4gIGlmICh1cmwubWF0Y2gocCkpIHtcbiAgICByZXR1cm4gdXJsLm1hdGNoKHApWzFdO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IG1hdGNoVmltZW9VcmwgPSB1cmwgPT5cbiAgdXJsICYmXG4gIC8oaHR0cHxodHRwcyk/OlxcL1xcLyh3d3dcXC4pPyhwbGF5ZXJcXC4pP3ZpbWVvLmNvbVxcLyg/OmNoYW5uZWxzXFwvKD86XFx3K1xcLyk/fGdyb3Vwc1xcLyhbXi9dKilcXC92aWRlb3NcXC98KSh2aWRlb1xcLyk/KFxcZCspKD86fFxcL1xcPykvLnRlc3QoXG4gICAgdXJsXG4gICk7XG5cbmNvbnN0IG1hdGNoU291bmRDbG91ZFVybCA9IHVybCA9PiB7XG4gIGlmICghdXJsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmVnZXhwID0gL15odHRwcz86XFwvXFwvKHNvdW5kY2xvdWRcXC5jb218c25kXFwuc2MpXFwvKC4qKSQvO1xuICByZXR1cm4gdXJsLm1hdGNoKHJlZ2V4cCkgJiYgdXJsLm1hdGNoKHJlZ2V4cClbMl07XG59O1xuXG5jb25zdCBtYWtlQXBpUmVxdWVzdCA9IHVybCA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICB0cnkge1xuICAgICAgZmV0Y2goYGh0dHBzOi8vc291bmRjbG91ZC5jb20vb2VtYmVkP2Zvcm1hdD1qc29uJnVybD0ke3VybH1gKVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKGpzb24gPT4ge1xuICAgICAgICAgIGNvbnN0IGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgICAgIGQuaW5uZXJIVE1MID0ganNvbi5odG1sO1xuXG4gICAgICAgICAgY29uc3QgaWZyYW1lID0gZC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTtcblxuICAgICAgICAgIHJlc29sdmUoaWZyYW1lLnNyYyk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgIHJlc29sdmUoJycpO1xuICAgICAgICAgIGxvZyhlcnIpO1xuICAgICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJlc29sdmUoJycpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCB0eXBlTWFwID0ge1xuICB2aWRlbzogJ1ZpZGVvJyxcbiAgYXVkaW86ICdBdWRpbydcbn07XG5cbmV4cG9ydCBjbGFzcyBNZWRpYURpYWxvZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGVkaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVQb3J0YWw6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhbmRsZUNsb3NlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB1cGxvYWRTb3VuZFN1cHBvcnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBhZGQ6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgZGVsZXRlOiBQcm9wVHlwZXMuZnVuY1xuICAgIH0pLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3JjOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB1cmxUb1VzZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdGFydHM6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZW5kczogUHJvcFR5cGVzLm51bWJlcixcbiAgICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXJcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIGNvbnN0IHsgc3JjLCBzdGFydHMsIGVuZHMsIGhlaWdodCwgdXJsLCB1cmxUb1VzZSwgd2lkdGggfSA9IHByb3BzO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGVuZHM6IGVuZHMgfHwgMCxcbiAgICAgIHVybDogdXJsIHx8ICcnLFxuICAgICAgdXJsVG9Vc2U6IHVybFRvVXNlIHx8ICcnLFxuICAgICAgZm9ybWF0dGVkVXJsOiBzcmMgfHwgJycsXG4gICAgICBoZWlnaHQ6IGhlaWdodCB8fCAzMTUsXG4gICAgICBpbnZhbGlkOiBmYWxzZSxcbiAgICAgIHN0YXJ0czogc3RhcnRzIHx8IDAsXG4gICAgICB3aWR0aDogd2lkdGggfHwgNTYwLFxuICAgICAgdGFiVmFsdWU6IDAsXG4gICAgICB1cGRhdGluZzogZmFsc2UsXG4gICAgICBmaWxlVXBsb2FkOiB7XG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICB1cmw6ICcnLFxuICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy51cmwpIHtcbiAgICAgIHRoaXMudXJsQ2hhbmdlKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMudXJsXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdFVybCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHVybCwgdXJsVG9Vc2UsIHN0YXJ0cywgZW5kcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBpc1lvdXR1YmUgPSBtYXRjaFlvdXR1YmVVcmwodXJsKTtcbiAgICBjb25zdCBpc1ZpbWVvID0gbWF0Y2hWaW1lb1VybCh1cmwpO1xuICAgIGxldCBmb3JtYXR0ZWRVcmwgPSB1cmxUb1VzZSB8fCAnJztcblxuICAgIGlmICgoaXNZb3V0dWJlIHx8IGlzVmltZW8pICYmIHVybFRvVXNlKSB7XG4gICAgICBjb25zdCBwYXJhbXMgPSBbXTtcblxuICAgICAgbGV0IHBhcmFtTmFtZTtcbiAgICAgIGxldCBwYXJhbVN0YXJ0O1xuXG4gICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgY2FzZSBpc1ZpbWVvOlxuICAgICAgICAgIHBhcmFtTmFtZSA9ICd0JztcbiAgICAgICAgICBwYXJhbVN0YXJ0ID0gJyMnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGlzWW91dHViZTpcbiAgICAgICAgICBwYXJhbU5hbWUgPSAnc3RhcnQnO1xuICAgICAgICAgIHBhcmFtU3RhcnQgPSAnPyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcGFyYW1OYW1lID0gJ3N0YXJ0JztcbiAgICAgICAgICBwYXJhbVN0YXJ0ID0gJz8nO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhcnRzKSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKGAke3BhcmFtTmFtZX09JHtzdGFydHN9YCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbmRzKSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKGBlbmQ9JHtlbmRzfWApO1xuICAgICAgfVxuXG4gICAgICBmb3JtYXR0ZWRVcmwgPSBgJHt1cmxUb1VzZX0ke3BhcmFtcy5sZW5ndGggPyBwYXJhbVN0YXJ0IDogJyd9JHtwYXJhbXMuam9pbignJicpfWA7XG4gICAgfVxuXG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHsgZm9ybWF0dGVkVXJsLCB1cGRhdGluZzogZmFsc2UgfSk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgZm9ybWF0dGVkVXJsOiBudWxsLCB1cGRhdGluZzogdHJ1ZSB9LCBjYWxsYmFjayk7XG4gIH07XG5cbiAgaGFuZGxlU3RhdGVDaGFuZ2UgPSBuZXdTdGF0ZSA9PiB0aGlzLnNldFN0YXRlKG5ld1N0YXRlLCB0aGlzLmZvcm1hdFVybCk7XG5cbiAgdXJsQ2hhbmdlID0gZSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gZS50YXJnZXQgfHwge307XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKHR5cGUgJiYgdHlwZSA9PT0gJ2F1ZGlvJykge1xuICAgICAgaWYgKG1hdGNoU291bmRDbG91ZFVybCh2YWx1ZSkpIHtcbiAgICAgICAgbWFrZUFwaVJlcXVlc3QodmFsdWUpXG4gICAgICAgICAgLnRoZW4odXJsVG9Vc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdGF0ZUNoYW5nZSh7XG4gICAgICAgICAgICAgIHVybFRvVXNlLFxuICAgICAgICAgICAgICBpbnZhbGlkOiAhdXJsVG9Vc2UsXG4gICAgICAgICAgICAgIHVybDogdmFsdWUgfHwgJydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKGxvZyk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSAmJiB0eXBlID09PSAndmlkZW8nKSB7XG4gICAgICBpZiAobWF0Y2hZb3V0dWJlVXJsKHZhbHVlKSkge1xuICAgICAgICBjb25zdCByZWdFeHAgPSAvXi4qKHlvdXR1XFwuYmVcXC98dlxcL3x1XFwvXFx3XFwvfGVtYmVkXFwvfHdhdGNoXFw/dj18JnY9KShbXiMmP10qKS4qLztcbiAgICAgICAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChyZWdFeHApO1xuICAgICAgICBjb25zdCBpZCA9IG1hdGNoWzJdO1xuICAgICAgICBjb25zdCB1cmxUb1VzZSA9IGBodHRwczovL3lvdXR1YmUuY29tL2VtYmVkLyR7aWR9YDtcblxuICAgICAgICBsb2coJ2lzIHlvdXR1YmUnKTtcblxuICAgICAgICB0aGlzLmhhbmRsZVN0YXRlQ2hhbmdlKHtcbiAgICAgICAgICB1cmxUb1VzZSxcbiAgICAgICAgICB1cmw6IHZhbHVlIHx8ICcnLFxuICAgICAgICAgIGludmFsaWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hdGNoVmltZW9VcmwodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGlkID0gdmFsdWUucmVwbGFjZSgvLip2aW1lby5jb21cXC8oLiopL2csICckMScpO1xuICAgICAgICBjb25zdCB1cmxUb1VzZSA9IGBodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vJHtpZH1gO1xuXG4gICAgICAgIGxvZygnaXMgdmltZW8nKTtcblxuICAgICAgICB0aGlzLmhhbmRsZVN0YXRlQ2hhbmdlKHtcbiAgICAgICAgICB1cmxUb1VzZSxcbiAgICAgICAgICB1cmw6IHZhbHVlIHx8ICcnLFxuICAgICAgICAgIGVuZHM6IG51bGwsXG4gICAgICAgICAgaW52YWxpZDogZmFsc2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlU3RhdGVDaGFuZ2Uoe1xuICAgICAgdXJsVG9Vc2U6ICcnLFxuICAgICAgdXJsOiAnJyxcbiAgICAgIGludmFsaWQ6IHRydWVcbiAgICB9KTtcbiAgfTtcblxuICBjaGFuZ2VIYW5kbGVyID0gdHlwZSA9PiBlID0+IHRoaXMuaGFuZGxlU3RhdGVDaGFuZ2UoeyBbdHlwZV06IGUudGFyZ2V0LnZhbHVlIH0pO1xuXG4gIGhhbmRsZURvbmUgPSB2YWwgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlQ2xvc2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB0YWJWYWx1ZSwgZmlsZVVwbG9hZCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBpc0luc2VydFVSTCA9IHRhYlZhbHVlID09PSAwO1xuXG4gICAgaWYgKCF2YWwpIHtcbiAgICAgIGlmIChmaWxlVXBsb2FkLnVybCkge1xuICAgICAgICB0aGlzLmhhbmRsZVJlbW92ZUZpbGUoKTtcbiAgICAgIH1cblxuICAgICAgaGFuZGxlQ2xvc2UodmFsKTtcbiAgICB9IGVsc2UgaWYgKGlzSW5zZXJ0VVJMKSB7XG4gICAgICBjb25zdCB7IGVuZHMsIGhlaWdodCwgdXJsLCB1cmxUb1VzZSwgZm9ybWF0dGVkVXJsLCBzdGFydHMsIHdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgICBoYW5kbGVDbG9zZSh2YWwsIHtcbiAgICAgICAgdGFnOiAnaWZyYW1lJyxcbiAgICAgICAgZW5kcyxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICBzdGFydHMsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICB1cmwsXG4gICAgICAgIHVybFRvVXNlLFxuICAgICAgICBzcmM6IGZvcm1hdHRlZFVybFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZUNsb3NlKHZhbCwge1xuICAgICAgICB0YWc6ICdhdWRpbycsXG4gICAgICAgIHNyYzogZmlsZVVwbG9hZC51cmxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBoYW5kbGVVcGxvYWRGaWxlID0gYXN5bmMgZSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBmaWxlVXBsb2FkOiB7XG4gICAgICAgIC4uLnRoaXMuc3RhdGUuZmlsZVVwbG9hZCxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgIGxvYWRpbmc6IHRydWVcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGZpbGVDaG9zZW4gPSBlLnRhcmdldC5maWxlc1swXTtcblxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgY29uc3QgZGF0YVVSTCA9IHJlYWRlci5yZXN1bHQ7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmaWxlVXBsb2FkOiB7XG4gICAgICAgICAgLi4udGhpcy5zdGF0ZS5maWxlVXBsb2FkLFxuICAgICAgICAgIHVybDogZGF0YVVSTFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGVDaG9zZW4pO1xuXG4gICAgdGhpcy5wcm9wcy51cGxvYWRTb3VuZFN1cHBvcnQuYWRkKHtcbiAgICAgIGZpbGVDaG9zZW4sXG4gICAgICBkb25lOiAoZXJyLCBzcmMpID0+IHtcbiAgICAgICAgbG9nKCdkb25lOiBlcnI6JywgZXJyKTtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIGZpbGVVcGxvYWQ6IHtcbiAgICAgICAgICAgICAgLi4udGhpcy5zdGF0ZS5maWxlVXBsb2FkLFxuICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgZXJyb3I6IGVyclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgZmlsZVVwbG9hZDoge1xuICAgICAgICAgICAgICAuLi50aGlzLnN0YXRlLmZpbGVVcGxvYWQsXG4gICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICB1cmw6IHNyY1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVtb3ZlRmlsZSA9IGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnByb3BzLnVwbG9hZFNvdW5kU3VwcG9ydC5kZWxldGUodGhpcy5zdGF0ZS5maWxlVXBsb2FkLnVybCwgZXJyID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgZmlsZVVwbG9hZDoge1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZS5maWxlVXBsb2FkLFxuICAgICAgICAgICAgZXJyb3I6IGVyclxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyB3ZSBzaG91bGQgcHV0IGl0IGluc2lkZSB1cGxvYWRTb3VuZFN1cHBvcnQuZGVsZXRlIGJ1dCB3ZSBjYW4gbGVhdmUgaXQgaGVyZSBmb3IgdGVzdGluZyBwdXJwb3Nlc1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgZmlsZVVwbG9hZDoge1xuICAgICAgICAuLi50aGlzLnN0YXRlLmZpbGVVcGxvYWQsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICB1cmw6ICcnXG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3Nlcywgb3BlbiwgZGlzYWJsZVBvcnRhbCwgdHlwZSwgZWRpdCwgdXBsb2FkU291bmRTdXBwb3J0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtcbiAgICAgIGVuZHMsXG4gICAgICBoZWlnaHQsXG4gICAgICBpbnZhbGlkLFxuICAgICAgc3RhcnRzLFxuICAgICAgd2lkdGgsXG4gICAgICB1cmwsXG4gICAgICBmb3JtYXR0ZWRVcmwsXG4gICAgICB1cGRhdGluZyxcbiAgICAgIHRhYlZhbHVlLFxuICAgICAgZmlsZVVwbG9hZFxuICAgIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGlzWW91dHViZSA9IG1hdGNoWW91dHViZVVybCh1cmwpO1xuICAgIGNvbnN0IGlzSW5zZXJ0VVJMID0gdGFiVmFsdWUgPT09IDA7XG4gICAgY29uc3QgaXNVcGxvYWRNZWRpYSA9IHRhYlZhbHVlID09PSAxO1xuICAgIGNvbnN0IHN1Ym1pdElzRGlzYWJsZWQgPSBpc0luc2VydFVSTFxuICAgICAgPyBpbnZhbGlkIHx8IHVybCA9PT0gbnVsbCB8fCB1cmwgPT09IHVuZGVmaW5lZFxuICAgICAgOiAhZmlsZVVwbG9hZC51cmw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERpYWxvZ1xuICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgcGFwZXI6IGNsYXNzZXMucGFwZXJcbiAgICAgICAgfX1cbiAgICAgICAgZGlzYWJsZVBvcnRhbD17ZGlzYWJsZVBvcnRhbH1cbiAgICAgICAgb3Blbj17b3Blbn1cbiAgICAgICAgb25DbG9zZT17KCkgPT4gdGhpcy5oYW5kbGVEb25lKGZhbHNlKX1cbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZm9ybS1kaWFsb2ctdGl0bGVcIlxuICAgICAgPlxuICAgICAgICA8RGlhbG9nVGl0bGUgaWQ9XCJmb3JtLWRpYWxvZy10aXRsZVwiPkluc2VydCB7dHlwZU1hcFt0eXBlXX08L0RpYWxvZ1RpdGxlPlxuICAgICAgICA8RGlhbG9nQ29udGVudD5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucm93fT5cbiAgICAgICAgICAgICAgPE11aVRhYnNcbiAgICAgICAgICAgICAgICBpbmRpY2F0b3JDb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXt0YWJWYWx1ZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGV2ZW50LCB2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHRhYlZhbHVlOiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE11aVRhYlxuICAgICAgICAgICAgICAgICAgbGFiZWw9e3R5cGUgPT09ICd2aWRlbycgPyAnSW5zZXJ0IFlvdVR1YmUgb3IgVmltZW8gVVJMJyA6ICdJbnNlcnQgU291bmRDbG91ZCBVUkwnfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3VwbG9hZFNvdW5kU3VwcG9ydD8uYWRkICYmIHVwbG9hZFNvdW5kU3VwcG9ydD8uZGVsZXRlICYmIHR5cGUgIT09ICd2aWRlbycgPyAoXG4gICAgICAgICAgICAgICAgICA8TXVpVGFiIGxhYmVsPVwiVXBsb2FkIGZpbGVcIiAvPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8L011aVRhYnM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtpc0luc2VydFVSTCAmJiAoXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICBlcnJvcj17aW52YWxpZH1cbiAgICAgICAgICAgICAgICAgIGhlbHBlclRleHQ9e2ludmFsaWQgPyAnSW52YWxpZCBVUkwnIDogJyd9XG4gICAgICAgICAgICAgICAgICBtYXJnaW49XCJkZW5zZVwiXG4gICAgICAgICAgICAgICAgICBpZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJVUkxcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2BQYXN0ZSBVUkwgb2YgJHt0eXBlfS4uLmB9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy51cmxDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dXJsfVxuICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7dHlwZSA9PT0gJ3ZpZGVvJyAmJiAoXG4gICAgICAgICAgICAgICAgICA8RGlhbG9nQ29udGVudFxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgcm9vdDogY2xhc3Nlcy5wcm9wZXJ0aWVzXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dDb250ZW50VGV4dD5WaWRlbyBQcm9wZXJ0aWVzPC9EaWFsb2dDb250ZW50VGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbj1cImRlbnNlXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cIndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIldpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIldpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlSGFuZGxlcignd2lkdGgnKX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbj1cImRlbnNlXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17aGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmNoYW5nZUhhbmRsZXIoJ2hlaWdodCcpfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9EaWFsb2dDb250ZW50PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAge2Zvcm1hdHRlZFVybCAmJiAoXG4gICAgICAgICAgICAgICAgICA8aWZyYW1lXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgIHNyYz17Zm9ybWF0dGVkVXJsfVxuICAgICAgICAgICAgICAgICAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBhbGxvdz1cImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmVcIlxuICAgICAgICAgICAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7dHlwZSA9PT0gJ3ZpZGVvJyAmJiAoZm9ybWF0dGVkVXJsIHx8IHVwZGF0aW5nKSAmJiAhaW52YWxpZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgcm9vdDogY2xhc3Nlcy5wcm9wZXJ0aWVzXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luPVwiZGVuc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJzdGFydHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJTdGFydHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlN0YXJ0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c3RhcnRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlSGFuZGxlcignc3RhcnRzJyl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNZb3V0dWJlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbj1cImRlbnNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJlbmRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJFbmRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW5kc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtlbmRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5jaGFuZ2VIYW5kbGVyKCdlbmRzJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nQ29udGVudD5cbiAgICAgICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2lzVXBsb2FkTWVkaWEgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy51cGxvYWRJbnB1dH0+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIHtmaWxlVXBsb2FkLnVybCA/IChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yb3d9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF1ZGlvIGNvbnRyb2xzPVwiY29udHJvbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB0eXBlPVwiYXVkaW8vbXAzXCIgc3JjPXtmaWxlVXBsb2FkLnVybH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXVkaW8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmRlbGV0ZUljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlRmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFjdGlvbkRlbGV0ZSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIHtmaWxlVXBsb2FkLmxvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB2YXJpYW50PVwic3ViaGVhZGluZ1wiPkxvYWRpbmcuLi48L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgKSA6ICFmaWxlVXBsb2FkLmxvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGFjY2VwdD1cImF1ZGlvLypcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVVcGxvYWRGaWxlfVxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgeyEhZmlsZVVwbG9hZC5lcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IGNsYXNzTmFtZT17Y2xhc3Nlcy5lcnJvcn0gdmFyaWFudD1cImNhcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7ZmlsZVVwbG9hZC5lcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0RpYWxvZ0NvbnRlbnQ+XG4gICAgICAgIDxEaWFsb2dBY3Rpb25zPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17KCkgPT4gdGhpcy5oYW5kbGVEb25lKGZhbHNlKX0gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIGRpc2FibGVkPXtzdWJtaXRJc0Rpc2FibGVkfSBvbkNsaWNrPXsoKSA9PiB0aGlzLmhhbmRsZURvbmUodHJ1ZSl9IGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAge2VkaXQgPyAnVXBkYXRlJyA6ICdJbnNlcnQnfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L0RpYWxvZ0FjdGlvbnM+XG4gICAgICA8L0RpYWxvZz5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IHN0eWxlcyA9ICgpID0+ICh7XG4gIHBhcGVyOiB7XG4gICAgbWluV2lkdGg6ICc1MDBweCdcbiAgfSxcbiAgcHJvcGVydGllczoge1xuICAgIHBhZGRpbmc6IDBcbiAgfSxcbiAgcm93OiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdzcGFjZS1iZXR3ZWVuJ1xuICB9LFxuICByb3dJdGVtOiB7XG4gICAgbWFyZ2luUmlnaHQ6ICcxMnB4JyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJ1xuICB9LFxuICBhY3RpdmU6IHtcbiAgICBjb2xvcjogY29sb3IucHJpbWFyeSgpLFxuICAgIGJvcmRlckJvdHRvbTogYDJweCBzb2xpZCAke2NvbG9yLnByaW1hcnkoKX1gXG4gIH0sXG4gIHVwbG9hZElucHV0OiB7XG4gICAgbWFyZ2luVG9wOiAnMTJweCdcbiAgfSxcbiAgZXJyb3I6IHtcbiAgICBtYXJnaW5Ub3A6ICcxMnB4JyxcbiAgICBjb2xvcjogJ3JlZCdcbiAgfSxcbiAgZGVsZXRlSWNvbjoge1xuICAgIG1hcmdpbkxlZnQ6ICcxMnB4J1xuICB9XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKE1lZGlhRGlhbG9nKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsSUFBQUMsaUJBQUEsRUFBTSw2Q0FBTixDQUFaOztBQUVBLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQUMsR0FBRyxFQUFJO0VBQzdCLElBQUksQ0FBQ0EsR0FBTCxFQUFVO0lBQ1IsT0FBTyxLQUFQO0VBQ0Q7O0VBRUQsSUFBTUMsQ0FBQyxHQUFHLDBIQUFWOztFQUNBLElBQUlELEdBQUcsQ0FBQ0UsS0FBSixDQUFVRCxDQUFWLENBQUosRUFBa0I7SUFDaEIsT0FBT0QsR0FBRyxDQUFDRSxLQUFKLENBQVVELENBQVYsRUFBYSxDQUFiLENBQVA7RUFDRDs7RUFDRCxPQUFPLEtBQVA7QUFDRCxDQVZEOztBQVlBLElBQU1FLGFBQWEsR0FBRyxTQUFo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
|
|
558
|
+
//# sourceMappingURL=media-dialog.js.map
|