@pie-lib/editable-html-tip-tap 1.0.2 → 1.0.4
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/components/CharacterPicker.js +221 -0
- package/lib/components/CharacterPicker.js.map +1 -0
- package/lib/components/EditableHtml.js +323 -0
- package/lib/components/EditableHtml.js.map +1 -0
- package/lib/components/MenuBar.js +694 -0
- package/lib/components/MenuBar.js.map +1 -0
- package/lib/components/TiptapContainer.js +90 -0
- package/lib/components/TiptapContainer.js.map +1 -0
- package/lib/components/buttons/done-button.js +53 -0
- package/lib/components/characters/characterUtils.js +112 -0
- package/lib/components/characters/characterUtils.js.map +1 -0
- package/lib/components/characters/custom-popper.js +73 -0
- package/lib/components/characters/custom-popper.js.map +1 -0
- package/lib/components/common/done-button.js +53 -0
- package/lib/components/common/done-button.js.map +1 -0
- package/lib/components/common/toolbar-buttons.js +194 -0
- package/lib/components/icons/CssIcon.js +37 -0
- package/lib/components/icons/CssIcon.js.map +1 -0
- package/lib/components/icons/RespArea.js +95 -0
- package/lib/components/icons/RespArea.js.map +1 -0
- package/lib/components/icons/TableIcons.js +69 -0
- package/lib/components/icons/TableIcons.js.map +1 -0
- package/lib/components/icons/TextAlign.js +194 -0
- package/lib/components/icons/TextAlign.js.map +1 -0
- package/lib/components/icons/index.js +194 -0
- package/lib/components/image/AltDialog.js +129 -0
- package/lib/components/image/ImageToolbar.js +177 -0
- package/lib/components/image/ImageToolbar.js.map +1 -0
- package/lib/components/image/InsertImageHandler.js +115 -0
- package/lib/components/image/InsertImageHandler.js.map +1 -0
- package/lib/components/image/alt-dialog.js +2 -0
- package/lib/components/media/MediaDialog.js +709 -0
- package/lib/components/media/MediaDialog.js.map +1 -0
- package/lib/components/media/MediaToolbar.js +101 -0
- package/lib/components/media/MediaToolbar.js.map +1 -0
- package/lib/components/media/MediaWrapper.js +93 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +94 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/choice.js +289 -0
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank.js +94 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js +120 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -0
- package/lib/components/respArea/InlineDropdown.js +126 -0
- package/lib/components/respArea/InlineDropdown.js.map +1 -0
- package/lib/components/respArea/ToolbarIcon.js +105 -0
- package/lib/components/respArea/ToolbarIcon.js.map +1 -0
- package/lib/components/respArea/choice.js +2 -0
- package/lib/constants.js.map +1 -0
- package/lib/extensions/component.js +5 -5
- package/lib/extensions/component.js.map +1 -0
- package/lib/extensions/css.js.map +1 -0
- package/lib/extensions/custom-toolbar-wrapper.js +2 -4
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -0
- package/lib/extensions/extended-table.js +30 -0
- package/lib/extensions/extended-table.js.map +1 -0
- package/lib/extensions/image.js +2 -8
- package/lib/extensions/image.js.map +1 -0
- package/lib/extensions/index.js +52 -0
- package/lib/extensions/index.js.map +1 -0
- package/lib/extensions/math.js.map +1 -0
- package/lib/extensions/media.js +7 -7
- package/lib/extensions/media.js.map +1 -0
- package/lib/extensions/responseArea.js +7 -7
- package/lib/extensions/responseArea.js.map +1 -0
- package/lib/index.js +16 -1481
- package/lib/index.js.map +1 -0
- package/lib/plugins/index.js +8 -80
- package/lib/styles/editorContainerStyles.js +200 -0
- package/lib/styles/editorContainerStyles.js.map +1 -0
- package/lib/theme.js.map +1 -0
- package/lib/utils/size.js +34 -0
- package/lib/utils/size.js.map +1 -0
- package/package.json +1 -1
- package/src/components/CharacterPicker.jsx +185 -0
- package/src/components/EditableHtml.jsx +306 -0
- package/src/components/MenuBar.jsx +630 -0
- package/src/components/TiptapContainer.jsx +96 -0
- package/src/components/characters/characterUtils.js +127 -0
- package/src/{plugins/image/image-toolbar.jsx → components/image/ImageToolbar.jsx} +2 -2
- package/src/{plugins/image/insert-image-handler.js → components/image/InsertImageHandler.js} +0 -1
- package/src/{plugins/media/media-dialog.js → components/media/MediaDialog.js} +2 -2
- package/src/{plugins/respArea/drag-in-the-blank → components/respArea/DragInTheBlank}/choice.jsx +1 -1
- package/src/{plugins/respArea/inline-dropdown/index.jsx → components/respArea/InlineDropdown.jsx} +1 -1
- package/src/components/respArea/ToolbarIcon.jsx +68 -0
- package/src/extensions/component.jsx +2 -2
- package/src/extensions/custom-toolbar-wrapper.jsx +6 -7
- package/src/extensions/extended-table.js +27 -0
- package/src/extensions/image.js +2 -2
- package/src/extensions/index.js +76 -0
- package/src/extensions/media.js +12 -7
- package/src/extensions/responseArea.js +7 -7
- package/src/index.jsx +3 -1440
- package/src/styles/editorContainerStyles.js +203 -0
- package/src/utils/size.js +32 -0
- package/src/__tests__/editor.test.jsx +0 -363
- package/src/__tests__/serialization.test.js +0 -291
- package/src/block-tags.js +0 -17
- package/src/editor.jsx +0 -1197
- package/src/extensions/characters.js +0 -46
- package/src/old-index.jsx +0 -162
- package/src/parse-html.js +0 -8
- package/src/plugins/README.md +0 -27
- package/src/plugins/characters/index.jsx +0 -284
- package/src/plugins/characters/utils.js +0 -447
- package/src/plugins/css/index.jsx +0 -340
- package/src/plugins/customPlugin/index.jsx +0 -85
- package/src/plugins/html/icons/index.jsx +0 -19
- package/src/plugins/html/index.jsx +0 -72
- package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +0 -51
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +0 -27
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +0 -44
- package/src/plugins/image/__tests__/component.test.jsx +0 -41
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +0 -42
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +0 -11
- package/src/plugins/image/__tests__/index.test.js +0 -95
- package/src/plugins/image/__tests__/insert-image-handler.test.js +0 -113
- package/src/plugins/image/__tests__/mock-change.js +0 -15
- package/src/plugins/image/component.jsx +0 -343
- package/src/plugins/image/index.jsx +0 -227
- package/src/plugins/index.jsx +0 -377
- package/src/plugins/list/__tests__/index.test.js +0 -54
- package/src/plugins/list/index.jsx +0 -305
- package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +0 -48
- package/src/plugins/math/__tests__/index.test.jsx +0 -245
- package/src/plugins/math/index.jsx +0 -379
- package/src/plugins/media/__tests__/index.test.js +0 -75
- package/src/plugins/media/index.jsx +0 -325
- package/src/plugins/rendering/index.js +0 -31
- package/src/plugins/respArea/index.jsx +0 -299
- package/src/plugins/respArea/math-templated/index.jsx +0 -104
- package/src/plugins/respArea/utils.jsx +0 -90
- package/src/plugins/table/CustomTablePlugin.js +0 -113
- package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +0 -44
- package/src/plugins/table/__tests__/index.test.jsx +0 -401
- package/src/plugins/table/__tests__/table-toolbar.test.jsx +0 -42
- package/src/plugins/table/index.jsx +0 -427
- package/src/plugins/table/table-toolbar.jsx +0 -136
- package/src/plugins/textAlign/index.jsx +0 -23
- package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +0 -923
- package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +0 -20
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +0 -36
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +0 -46
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +0 -94
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +0 -37
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +0 -51
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +0 -106
- package/src/plugins/toolbar/default-toolbar.jsx +0 -206
- package/src/plugins/toolbar/editor-and-toolbar.jsx +0 -257
- package/src/plugins/toolbar/index.jsx +0 -23
- package/src/plugins/toolbar/toolbar.jsx +0 -338
- package/src/plugins/utils.js +0 -31
- package/src/serialization.jsx +0 -621
- /package/src/{plugins → components}/characters/custom-popper.js +0 -0
- /package/src/{plugins/toolbar → components/common}/done-button.jsx +0 -0
- /package/src/{plugins/toolbar → components/common}/toolbar-buttons.jsx +0 -0
- /package/src/{plugins/css/icons/index.jsx → components/icons/CssIcon.jsx} +0 -0
- /package/src/{plugins/respArea/icons/index.jsx → components/icons/RespArea.jsx} +0 -0
- /package/src/{plugins/table/icons/index.jsx → components/icons/TableIcons.jsx} +0 -0
- /package/src/{plugins/textAlign/icons/index.jsx → components/icons/TextAlign.jsx} +0 -0
- /package/src/{plugins/image/alt-dialog.jsx → components/image/AltDialog.jsx} +0 -0
- /package/src/{plugins/media/media-toolbar.jsx → components/media/MediaToolbar.jsx} +0 -0
- /package/src/{plugins/media/media-wrapper.jsx → components/media/MediaWrapper.jsx} +0 -0
- /package/src/{plugins/respArea/drag-in-the-blank/index.jsx → components/respArea/DragInTheBlank/DragInTheBlank.jsx} +0 -0
- /package/src/{plugins/respArea/explicit-constructed-response/index.jsx → components/respArea/ExplicitConstructedResponse.jsx} +0 -0
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.jsx"],"names":["StyledEditor"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;eAGeA,wB","sourcesContent":["import StyledEditor, { EditableHtml } from './components/EditableHtml';\nimport { ALL_PLUGINS } from './extensions';\n\nexport { EditableHtml, ALL_PLUGINS };\nexport default StyledEditor;\n"],"file":"index.js"}
|
package/lib/plugins/index.js
CHANGED
|
@@ -71,8 +71,6 @@ var _css = _interopRequireDefault(require("./css"));
|
|
|
71
71
|
|
|
72
72
|
var _customPlugin = _interopRequireDefault(require("./customPlugin"));
|
|
73
73
|
|
|
74
|
-
var _rendering = _interopRequireDefault(require("./rendering"));
|
|
75
|
-
|
|
76
74
|
var _textAlign = _interopRequireDefault(require("./textAlign"));
|
|
77
75
|
|
|
78
76
|
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; }
|
|
@@ -270,33 +268,6 @@ function UndoRedo(type) {
|
|
|
270
268
|
};
|
|
271
269
|
}
|
|
272
270
|
|
|
273
|
-
function EnterHandlingPlugin() {
|
|
274
|
-
return {
|
|
275
|
-
name: 'enterHandling',
|
|
276
|
-
onKeyDown: function onKeyDown(event, change) {
|
|
277
|
-
if (_slateHotkeys["default"].isSplitBlock(event) && !_slateDevEnvironment.IS_IOS) {
|
|
278
|
-
if (change.value.isInVoid) {
|
|
279
|
-
return change.collapseToStartOfNextText();
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
change.splitBlock();
|
|
283
|
-
var range = change.value.selection;
|
|
284
|
-
var newBlock = change.value.document.getClosestBlock(range.startKey);
|
|
285
|
-
|
|
286
|
-
if (newBlock.type !== 'paragraph') {
|
|
287
|
-
change.setNodeByKey(newBlock.key, {
|
|
288
|
-
type: 'paragraph'
|
|
289
|
-
});
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
return change;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
return undefined;
|
|
296
|
-
}
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
|
|
300
271
|
var buildPlugins = function buildPlugins(activePlugins, customPlugins, opts) {
|
|
301
272
|
log('[buildPlugins] opts: ', opts);
|
|
302
273
|
activePlugins = activePlugins || DEFAULT_PLUGINS;
|
|
@@ -353,61 +324,18 @@ var buildPlugins = function buildPlugins(activePlugins, customPlugins, opts) {
|
|
|
353
324
|
|
|
354
325
|
builtCustomPlugins.push((0, _customPlugin["default"])('custom-plugin', customPlugin));
|
|
355
326
|
});
|
|
356
|
-
return (0, _compact["default"])([addIf('table', (
|
|
357
|
-
|
|
358
|
-
type: 'bold',
|
|
359
|
-
icon: /*#__PURE__*/_react["default"].createElement(_FormatBold["default"], null),
|
|
360
|
-
tag: 'strong'
|
|
361
|
-
})), // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),
|
|
362
|
-
addIf('italic', MarkHotkey({
|
|
363
|
-
key: 'i',
|
|
364
|
-
type: 'italic',
|
|
365
|
-
icon: /*#__PURE__*/_react["default"].createElement(_FormatItalic["default"], null),
|
|
366
|
-
tag: 'em'
|
|
367
|
-
})), addIf('strikethrough', MarkHotkey({
|
|
327
|
+
return (0, _compact["default"])([addIf('table'), addIf('bold'), // addIf('code'),
|
|
328
|
+
addIf('italic'), addIf('strikethrough', MarkHotkey({
|
|
368
329
|
key: '~',
|
|
369
330
|
type: 'strikethrough',
|
|
370
331
|
icon: /*#__PURE__*/_react["default"].createElement(_FormatStrikethrough["default"], null),
|
|
371
332
|
tag: 'del'
|
|
372
|
-
})), addIf('underline',
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
})), // icon should be modifies accordingly
|
|
378
|
-
addIf('superscript', MarkHotkey({
|
|
379
|
-
type: 'sup',
|
|
380
|
-
icon: /*#__PURE__*/_react["default"].createElement(SuperscriptIcon, null),
|
|
381
|
-
tag: 'sup'
|
|
382
|
-
})), // icon should be modifies accordingly
|
|
383
|
-
addIf('subscript', MarkHotkey({
|
|
384
|
-
type: 'sub',
|
|
385
|
-
icon: /*#__PURE__*/_react["default"].createElement(SubscriptIcon, null),
|
|
386
|
-
tag: 'sub'
|
|
387
|
-
})), addIf('image', imagePlugin), addIf('video', (0, _media["default"])('video', opts.media)), addIf('audio', (0, _media["default"])('audio', opts.media)), addIf('math', mathPlugin)].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function (plugin) {
|
|
388
|
-
return addIf('languageCharacters', plugin);
|
|
389
|
-
})), [addIf('text-align', (0, _textAlign["default"])(opts.textAlign)), addIf('blockquote', MarkHotkey({
|
|
390
|
-
key: 'q',
|
|
391
|
-
type: 'blockquote',
|
|
392
|
-
icon: /*#__PURE__*/_react["default"].createElement(_FormatQuote["default"], null),
|
|
393
|
-
tag: 'blockquote'
|
|
394
|
-
})), addIf('h3', MarkHotkey({
|
|
395
|
-
key: 'h3',
|
|
396
|
-
type: 'h3',
|
|
397
|
-
icon: /*#__PURE__*/_react["default"].createElement(HeadingIcon, null),
|
|
398
|
-
tag: 'h3'
|
|
399
|
-
})), addIf('bulleted-list', (0, _list["default"])({
|
|
400
|
-
key: 'l',
|
|
401
|
-
type: 'ul_list',
|
|
402
|
-
icon: /*#__PURE__*/_react["default"].createElement(_FormatListBulleted["default"], null)
|
|
403
|
-
})), addIf('numbered-list', (0, _list["default"])({
|
|
404
|
-
key: 'n',
|
|
405
|
-
type: 'ol_list',
|
|
406
|
-
icon: /*#__PURE__*/_react["default"].createElement(_FormatListNumbered["default"], null)
|
|
407
|
-
})), addIf('undo', UndoRedo('undo')), addIf('redo', UndoRedo('redo')), (0, _toolbar["default"])(opts.toolbar), (0, _slateSoftBreak["default"])({
|
|
408
|
-
shift: true
|
|
409
|
-
})], builtCustomPlugins, [addIf('responseArea', respAreaPlugin), cssPlugin, addIf('html', (0, _html["default"])(opts.html)), EnterHandlingPlugin(), (0, _rendering["default"])()]));
|
|
333
|
+
})), addIf('underline'), // icon should be modifies accordingly
|
|
334
|
+
addIf('superscript'), // icon should be modifies accordingly
|
|
335
|
+
addIf('subscript'), addIf('image'), addIf('video'), addIf('audio'), addIf('math')].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function () {
|
|
336
|
+
return addIf('languageCharacters');
|
|
337
|
+
})), [addIf('text-align'), addIf('blockquote'), addIf('h3'), addIf('bulleted-list'), addIf('numbered-list'), addIf('undo'), addIf('redo')], builtCustomPlugins, [addIf('responseArea'), cssPlugin, addIf('html')]));
|
|
410
338
|
};
|
|
411
339
|
|
|
412
340
|
exports.buildPlugins = buildPlugins;
|
|
413
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJTdXBlcnNjcmlwdEljb24iLCJTdWJzY3JpcHRJY29uIiwiSGVhZGluZ0ljb24iLCJ3aWR0aCIsImhlaWdodCIsIlNUWUxFU19NQVAiLCJoMyIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImJsb2NrcXVvdGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyTGVmdCIsIm1hcmdpbiIsInBhZGRpbmciLCJNYXJrSG90a2V5Iiwib3B0aW9ucyIsInR5cGUiLCJrZXkiLCJpY29uIiwidGFnIiwibmFtZSIsInRvb2xiYXIiLCJpc01hcmsiLCJvblRvZ2dsZSIsImNoYW5nZSIsInNlbGVjdGlvbiIsInZhbHVlIiwiaW5jbHVkZXMiLCJ0ZXh0cyIsImRvY3VtZW50IiwiZ2V0VGV4dHNBdFJhbmdlQXNBcnJheSIsIm9ubHlPbmVUZXh0IiwibGVuZ3RoIiwiaGFzTWFyayIsInNhbWVNYXJrIiwiZm9yRWFjaCIsInQiLCJtYXJrcyIsImdldE1hcmtzQXNBcnJheSIsIm1hcmtJc1RoZXJlIiwiZmluZCIsIm0iLCJzaG91bGRDb250aW51ZSIsInN0YXJ0S2V5IiwiZW5kS2V5IiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJ0ZXh0Tm9kZSIsImdldE5vZGUiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsInRleHQiLCJhY3RpdmVNYXJrcyIsImVudHJ5IiwicmVtb3ZlTWFyayIsIm5ld01hcmsiLCJNYXJrIiwiY3JlYXRlIiwiYWRkTWFyayIsInRvZ2dsZU1hcmsiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwibm9kZSIsImRhdGEiLCJqc29uRGF0YSIsInRvSlNPTiIsIksiLCJhZGRpdGlvbmFsU3R5bGVzIiwiYXR0cmlidXRlcyIsInN0eWxlIiwiY2hpbGRyZW4iLCJvbktleURvd24iLCJldmVudCIsIm1ldGFLZXkiLCJwcmV2ZW50RGVmYXVsdCIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicGx1ZyIsIkVYVEVOU0lPTlNfTElTVCIsIkdyaWRPbiIsIkJvbGQiLCJJdGFsaWMiLCJTdHJpa2V0aHJvdWdoIiwiVW5kZXJsaW5lIiwiSW1hZ2UiLCJCdWxsZXRlZExpc3RJY29uIiwiTnVtYmVyZWRMaXN0SWNvbiIsIkZvcm1hdFF1b3RlIiwiSUNPTl9NQVAiLCJ1bmRvIiwiVW5kbyIsInJlZG8iLCJSZWRvIiwiVW5kb1JlZG8iLCJJY29uVG9Vc2UiLCJhcmlhTGFiZWwiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJFbnRlckhhbmRsaW5nUGx1Z2luIiwiSG90a2V5cyIsImlzU3BsaXRCbG9jayIsIklTX0lPUyIsImlzSW5Wb2lkIiwiY29sbGFwc2VUb1N0YXJ0T2ZOZXh0VGV4dCIsInNwbGl0QmxvY2siLCJyYW5nZSIsIm5ld0Jsb2NrIiwiZ2V0Q2xvc2VzdEJsb2NrIiwic2V0Tm9kZUJ5S2V5IiwidW5kZWZpbmVkIiwiYnVpbGRQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImN1c3RvbVBsdWdpbnMiLCJvcHRzIiwiYWRkSWYiLCJpbWFnZVBsdWdpbiIsImltYWdlIiwib25EZWxldGUiLCJtYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwiY3NzUGx1Z2luIiwiZXh0cmFDU1NSdWxlcyIsImxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMiLCJsYW5ndWFnZUNoYXJhY3RlcnMiLCJtYXAiLCJjb25maWciLCJrZXlQYWRDaGFyYWN0ZXJSZWYiLCJzZXRLZXlwYWRJbnRlcmFjdGlvbiIsInRhYmxlUGx1Z2lucyIsInB1c2giLCJidWlsdEN1c3RvbVBsdWdpbnMiLCJjdXN0b21QbHVnaW4iLCJpY29uVHlwZSIsImljb25BbHQiLCJpc1ZhbGlkRXZlbnROYW1lIiwiZXZlbnROYW1lIiwicmVnZXgiLCJ0ZXN0IiwiY29uc29sZSIsImVycm9yIiwidGFibGUiLCJtZWRpYSIsInBsdWdpbiIsInRleHRBbGlnbiIsInNoaWZ0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QyxJQUFoQixDQUFULENBcENBLEVBcUNMakQsbUJBQW1CLEVBckNkLEVBc0NMLDRCQXRDSyxHQUFQO0FBd0NELENBbEdNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEhvdGtleXMgZnJvbSAnc2xhdGUtaG90a2V5cyc7XG5pbXBvcnQgeyBJU19JT1MgfSBmcm9tICdzbGF0ZS1kZXYtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgTWFyayB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCBCb2xkIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRCb2xkJztcbmltcG9ydCBGb3JtYXRRdW90ZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0UXVvdGUnO1xuLy9pbXBvcnQgQ29kZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ29kZSc7XG5pbXBvcnQgQnVsbGV0ZWRMaXN0SWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0TGlzdEJ1bGxldGVkJztcbmltcG9ydCBOdW1iZXJlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0TnVtYmVyZWQnO1xuaW1wb3J0IEdyaWRPbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvR3JpZE9uJztcbmltcG9ydCBJbWFnZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSW1hZ2UnO1xuaW1wb3J0IFJlZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1JlZG8nO1xuaW1wb3J0IFVuZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1VuZG8nO1xuaW1wb3J0IEltYWdlUGx1Z2luIGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IE1lZGlhUGx1Z2luIGZyb20gJy4vbWVkaWEnO1xuaW1wb3J0IENoYXJhY3RlcnNQbHVnaW4gZnJvbSAnLi9jaGFyYWN0ZXJzJztcbmltcG9ydCBJdGFsaWMgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdEl0YWxpYyc7XG5pbXBvcnQgTWF0aFBsdWdpbiBmcm9tICcuL21hdGgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdHJpa2V0aHJvdWdoIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRTdHJpa2V0aHJvdWdoJztcbmltcG9ydCBUb29sYmFyUGx1Z2luIGZyb20gJy4vdG9vbGJhcic7XG5pbXBvcnQgVW5kZXJsaW5lIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRVbmRlcmxpbmVkJztcbmltcG9ydCBjb21wYWN0IGZyb20gJ2xvZGFzaC9jb21wYWN0JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBTb2Z0QnJlYWtQbHVnaW4gZnJvbSAnc2xhdGUtc29mdC1icmVhayc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IExpc3QgZnJvbSAnLi9saXN0JztcbmltcG9ydCBUYWJsZVBsdWdpbiBmcm9tICcuL3RhYmxlJztcbmltcG9ydCBSZXNwQXJlYVBsdWdpbiBmcm9tICcuL3Jlc3BBcmVhJztcbmltcG9ydCBIdG1sUGx1Z2luIGZyb20gJy4vaHRtbCc7XG5pbXBvcnQgQ1NTUGx1Z2luIGZyb20gJy4vY3NzJztcbmltcG9ydCBDdXN0b21QbHVnaW4gZnJvbSAnLi9jdXN0b21QbHVnaW4nO1xuaW1wb3J0IFJlbmRlcmluZ1BsdWdpbiBmcm9tICcuL3JlbmRlcmluZyc7XG5pbXBvcnQgVGV4dEFsaWduIGZyb20gJy4vdGV4dEFsaWduJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuXG5leHBvcnQgY29uc3QgU3VwZXJzY3JpcHRJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJub25lXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjIsN2gtMnYxaDN2MWgtNFY3YzAtMC41NSwwLjQ1LTEsMS0xaDJWNWgtM1Y0aDNjMC41NSwwLDEsMC40NSwxLDF2MUMyMyw2LjU1LDIyLjU1LDcsMjIsN3ogTTUuODgsMjBoMi42NmwzLjQtNS40MmgwLjEyIGwzLjQsNS40MmgyLjY2bC00LjY1LTcuMjdMMTcuODEsNmgtMi42OGwtMy4wNyw0Ljk5aC0wLjEyTDguODUsNkg2LjE5bDQuMzIsNi43M0w1Ljg4LDIwelwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBjb25zdCBTdWJzY3JpcHRJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJub25lXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjIsMThoLTJ2MWgzdjFoLTR2LTJjMC0wLjU1LDAuNDUtMSwxLTFoMnYtMWgtM3YtMWgzYzAuNTUsMCwxLDAuNDUsMSwxdjFDMjMsMTcuNTUsMjIuNTUsMTgsMjIsMTh6IE01Ljg4LDE4aDIuNjYgbDMuNC01LjQyaDAuMTJsMy40LDUuNDJoMi42NmwtNC42NS03LjI3TDE3LjgxLDRoLTIuNjhsLTMuMDcsNC45OWgtMC4xMkw4Ljg1LDRINi4xOWw0LjMyLDYuNzNMNS44OCwxOHpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgSGVhZGluZ0ljb24gPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB3aWR0aD1cIjMwXCJcbiAgICBoZWlnaHQ9XCIyOFwiXG4gICAgdmlld0JveD1cIjAgMCAzMCAyOFwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHN0eWxlPXt7IHdpZHRoOiAnMjBweCcsIGhlaWdodDogJzE4cHgnIH19XG4gID5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yNyA0VjI0SDI5QzI5LjUgMjQgMzAgMjQuNSAzMCAyNVYyN0MzMCAyNy41NjI1IDI5LjUgMjggMjkgMjhIMTlDMTguNDM3NSAyOCAxOCAyNy41NjI1IDE4IDI3VjI1QzE4IDI0LjUgMTguNDM3NSAyNCAxOSAyNEgyMVYxNkg5VjI0SDExQzExLjUgMjQgMTIgMjQuNSAxMiAyNVYyN0MxMiAyNy41NjI1IDExLjUgMjggMTEgMjhIMUMwLjQzNzUgMjggMCAyNy41NjI1IDAgMjdWMjVDMCAyNC41IDAuNDM3NSAyNCAxIDI0SDNWNEgxQzAuNDM3NSA0IDAgMy41NjI1IDAgM1YxQzAgMC41IDAuNDM3NSAwIDEgMEgxMUMxMS41IDAgMTIgMC41IDEyIDFWM0MxMiAzLjU2MjUgMTEuNSA0IDExIDRIOVYxMkgyMVY0SDE5QzE4LjQzNzUgNCAxOCAzLjU2MjUgMTggM1YxQzE4IDAuNSAxOC40Mzc1IDAgMTkgMEgyOUMyOS41IDAgMzAgMC41IDMwIDFWM0MzMCAzLjU2MjUgMjkuNSA0IDI5IDRIMjdaXCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcbmNvbnN0IFNUWUxFU19NQVAgPSB7XG4gIGgzOiB7XG4gICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICBmb250V2VpZ2h0OiAnaW5oZXJpdCcsXG4gIH0sXG4gIGJsb2NrcXVvdGU6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2Y5ZjlmOScsXG4gICAgYm9yZGVyTGVmdDogJzVweCBzb2xpZCAjY2NjJyxcbiAgICBtYXJnaW46ICcxLjVlbSAxMHB4JyxcbiAgICBwYWRkaW5nOiAnLjVlbSAxMHB4JyxcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIE1hcmtIb3RrZXkob3B0aW9ucykge1xuICBjb25zdCB7IHR5cGUsIGtleSwgaWNvbiwgdGFnIH0gPSBvcHRpb25zO1xuXG4gIC8vIFJldHVybiBvdXIgXCJwbHVnaW5cIiBvYmplY3QsIGNvbnRhaW5pbmcgdGhlIGBvbktleURvd25gIGhhbmRsZXIuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZSxcbiAgICB0b29sYmFyOiB7XG4gICAgICBpc01hcms6IHRydWUsXG4gICAgICB0eXBlLFxuICAgICAgaWNvbixcbiAgICAgIG9uVG9nZ2xlOiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGxvZygnW29uVG9nZ2xlTWFya10gdHlwZTogJywgdHlwZSk7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBjaGFuZ2UudmFsdWU7XG5cbiAgICAgICAgaWYgKFsnYmxvY2txdW90ZScsICdoMyddLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgICAgY29uc3QgdGV4dHMgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0VGV4dHNBdFJhbmdlQXNBcnJheShzZWxlY3Rpb24pO1xuICAgICAgICAgIGNvbnN0IG9ubHlPbmVUZXh0ID0gdGV4dHMubGVuZ3RoID09PSAxO1xuICAgICAgICAgIGxldCBoYXNNYXJrID0gZmFsc2U7XG4gICAgICAgICAgbGV0IHNhbWVNYXJrID0gdHJ1ZTtcblxuICAgICAgICAgIHRleHRzLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtzID0gdC5nZXRNYXJrc0FzQXJyYXkoKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtJc1RoZXJlID0gbWFya3MuZmluZCgobSkgPT4gbS50eXBlID09PSB0eXBlKTtcblxuICAgICAgICAgICAgaWYgKCFtYXJrSXNUaGVyZSkge1xuICAgICAgICAgICAgICAvLyBub3QgYWxsIHRleHRzIGhhdmUgdGhpcyBtYXJrXG4gICAgICAgICAgICAgIHNhbWVNYXJrID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgbWFya1xuICAgICAgICAgICAgICBoYXNNYXJrID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHNob3VsZENvbnRpbnVlID0gb25seU9uZVRleHQgfHwgc2FtZU1hcmsgfHwgIWhhc01hcms7XG5cbiAgICAgICAgICBpZiAoIXNob3VsZENvbnRpbnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gY2hhbmdlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxlY3Rpb24uc3RhcnRLZXkgPT09IHNlbGVjdGlvbi5lbmRLZXkgJiYgc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IGNoYW5nZS52YWx1ZS5kb2N1bWVudC5nZXROb2RlKHNlbGVjdGlvbi5zdGFydEtleSk7XG5cbiAgICAgICAgICAgIC8vIHNlbGVjdCB0aGUgd2hvbGUgbGluZSBpZiB0aGVyZSBpcyBubyBzZWxlY3Rpb25cbiAgICAgICAgICAgIGNoYW5nZS5tb3ZlRm9jdXNUbyh0ZXh0Tm9kZS5rZXksIDApLm1vdmVBbmNob3JUbyh0ZXh0Tm9kZS5rZXksIHRleHROb2RlLnRleHQubGVuZ3RoKTtcblxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRvZ2dsZVxuICAgICAgICAgICAgY29uc3QgaGFzTWFyayA9IGNoYW5nZS52YWx1ZS5hY3RpdmVNYXJrcy5maW5kKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gZW50cnkudHlwZSA9PT0gdHlwZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoaGFzTWFyaykge1xuICAgICAgICAgICAgICBjaGFuZ2UucmVtb3ZlTWFyayhoYXNNYXJrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld01hcmsgPSBNYXJrLmNyZWF0ZSh0eXBlKTtcblxuICAgICAgICAgICAgICBjaGFuZ2UuYWRkTWFyayhuZXdNYXJrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbW92ZSBmb2N1cyB0byBlbmQgb2YgdGV4dFxuICAgICAgICAgICAgcmV0dXJuIGNoYW5nZVxuICAgICAgICAgICAgICAubW92ZUZvY3VzVG8odGV4dE5vZGUua2V5LCB0ZXh0Tm9kZS50ZXh0Lmxlbmd0aClcbiAgICAgICAgICAgICAgLm1vdmVBbmNob3JUbyh0ZXh0Tm9kZS5rZXksIHRleHROb2RlLnRleHQubGVuZ3RoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hhbmdlLnRvZ2dsZU1hcmsodHlwZSk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVuZGVyTWFyayhwcm9wcykge1xuICAgICAgaWYgKHByb3BzLm1hcmsudHlwZSA9PT0gdHlwZSkge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHByb3BzLm5vZGUgfHwge307XG4gICAgICAgIGNvbnN0IGpzb25EYXRhID0gZGF0YT8udG9KU09OKCkgfHwge307XG4gICAgICAgIGNvbnN0IEsgPSB0YWcgfHwgdHlwZTtcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbFN0eWxlcyA9IFNUWUxFU19NQVBbS107XG5cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxTdHlsZXMpIHtcbiAgICAgICAgICBpZiAoIWpzb25EYXRhLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIGpzb25EYXRhLmF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBqc29uRGF0YS5hdHRyaWJ1dGVzLnN0eWxlID0ge1xuICAgICAgICAgICAgLi4uanNvbkRhdGEuYXR0cmlidXRlcy5zdHlsZSxcbiAgICAgICAgICAgIC4uLmFkZGl0aW9uYWxTdHlsZXMsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8SyB7Li4uanNvbkRhdGEuYXR0cmlidXRlc30+e3Byb3BzLmNoaWxkcmVufTwvSz47XG4gICAgICB9XG4gICAgfSxcbiAgICBvbktleURvd24oZXZlbnQsIGNoYW5nZSkge1xuICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUga2V5IHByZXNzZWQgbWF0Y2hlcyBvdXIgYGtleWAgb3B0aW9uLlxuICAgICAgaWYgKCFldmVudC5tZXRhS2V5IHx8IGV2ZW50LmtleSAhPSBrZXkpIHJldHVybjtcblxuICAgICAgLy8gUHJldmVudCB0aGUgZGVmYXVsdCBjaGFyYWN0ZXJzIGZyb20gYmVpbmcgaW5zZXJ0ZWQuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAvLyBUb2dnbGUgdGhlIG1hcmsgYHR5cGVgLlxuICAgICAgY2hhbmdlLnRvZ2dsZU1hcmsodHlwZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQUxMX1BMVUdJTlMgPSBbXG4gICdib2xkJyxcbiAgLy8gJ2NvZGUnLFxuICAnaHRtbCcsXG4gICdleHRyYUNTU1J1bGVzJyxcbiAgJ2l0YWxpYycsXG4gICd1bmRlcmxpbmUnLFxuICAnc3RyaWtldGhyb3VnaCcsXG4gICdidWxsZXRlZC1saXN0JyxcbiAgJ251bWJlcmVkLWxpc3QnLFxuICAnaW1hZ2UnLFxuICAnbWF0aCcsXG4gICdsYW5ndWFnZUNoYXJhY3RlcnMnLFxuICAndGV4dC1hbGlnbicsXG4gICdibG9ja3F1b3RlJyxcbiAgJ2gzJyxcbiAgJ3RhYmxlJyxcbiAgJ3ZpZGVvJyxcbiAgJ2F1ZGlvJyxcbiAgJ3Jlc3BvbnNlQXJlYScsXG4gICdyZWRvJyxcbiAgJ3VuZG8nLFxuICAnc3VwZXJzY3JpcHQnLFxuICAnc3Vic2NyaXB0Jyxcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BMVUdJTlMgPSBBTExfUExVR0lOUy5maWx0ZXIoKHBsdWcpID0+ICFbJ3Jlc3BvbnNlQXJlYScsICdoMycsICdibG9ja3F1b3RlJ10uaW5jbHVkZXMocGx1ZykpO1xuXG5leHBvcnQgY29uc3QgRVhURU5TSU9OU19MSVNUID0gW1xuICBHcmlkT24sXG4gIEJvbGQsXG4gIEl0YWxpYyxcbiAgU3RyaWtldGhyb3VnaCxcbiAgVW5kZXJsaW5lLFxuICBTdXBlcnNjcmlwdEljb24sXG4gIFN1YnNjcmlwdEljb24sXG4gIEltYWdlLFxuICBIZWFkaW5nSWNvbixcbiAgQnVsbGV0ZWRMaXN0SWNvbixcbiAgTnVtYmVyZWRMaXN0SWNvbixcbiAgRm9ybWF0UXVvdGUsXG5dO1xuXG5jb25zdCBJQ09OX01BUCA9IHtcbiAgdW5kbzogVW5kbyxcbiAgcmVkbzogUmVkbyxcbn07XG5mdW5jdGlvbiBVbmRvUmVkbyh0eXBlKSB7XG4gIGNvbnN0IEljb25Ub1VzZSA9IElDT05fTUFQW3R5cGVdO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZSxcbiAgICB0b29sYmFyOiB7XG4gICAgICB0eXBlLFxuICAgICAgaWNvbjogPEljb25Ub1VzZSAvPixcbiAgICAgIGFyaWFMYWJlbDogdHlwZSA9PT0gJ3VuZG8nID8gJ1VuZG8gKHJldmVydCB0aGUgbGFzdCBhY3Rpb24pJyA6ICdSZWRvIChyZWFwcGx5IHRoZSBsYXN0IHVuZG9uZSBhY3Rpb24pJyxcbiAgICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gdmFsdWUuY2hhbmdlKCk7XG5cbiAgICAgICAgb25DaGFuZ2UoY2hhbmdlW3R5cGVdKCkpO1xuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBFbnRlckhhbmRsaW5nUGx1Z2luKCkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdlbnRlckhhbmRsaW5nJyxcbiAgICBvbktleURvd246IChldmVudCwgY2hhbmdlKSA9PiB7XG4gICAgICBpZiAoSG90a2V5cy5pc1NwbGl0QmxvY2soZXZlbnQpICYmICFJU19JT1MpIHtcbiAgICAgICAgaWYgKGNoYW5nZS52YWx1ZS5pc0luVm9pZCkge1xuICAgICAgICAgIHJldHVybiBjaGFuZ2UuY29sbGFwc2VUb1N0YXJ0T2ZOZXh0VGV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hhbmdlLnNwbGl0QmxvY2soKTtcblxuICAgICAgICBjb25zdCByYW5nZSA9IGNoYW5nZS52YWx1ZS5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IG5ld0Jsb2NrID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RCbG9jayhyYW5nZS5zdGFydEtleSk7XG5cbiAgICAgICAgaWYgKG5ld0Jsb2NrLnR5cGUgIT09ICdwYXJhZ3JhcGgnKSB7XG4gICAgICAgICAgY2hhbmdlLnNldE5vZGVCeUtleShuZXdCbG9jay5rZXksIHtcbiAgICAgICAgICAgIHR5cGU6ICdwYXJhZ3JhcGgnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgYnVpbGRQbHVnaW5zID0gKGFjdGl2ZVBsdWdpbnMsIGN1c3RvbVBsdWdpbnMsIG9wdHMpID0+IHtcbiAgbG9nKCdbYnVpbGRQbHVnaW5zXSBvcHRzOiAnLCBvcHRzKTtcblxuICBhY3RpdmVQbHVnaW5zID0gYWN0aXZlUGx1Z2lucyB8fCBERUZBVUxUX1BMVUdJTlM7XG5cbiAgY29uc3QgYWRkSWYgPSAoa2V5KSA9PiBhY3RpdmVQbHVnaW5zLmluY2x1ZGVzKGtleSkgJiYga2V5O1xuXG4gIGNvbnN0IGltYWdlUGx1Z2luID0gb3B0cy5pbWFnZSAmJiBvcHRzLmltYWdlLm9uRGVsZXRlICYmIEltYWdlUGx1Z2luKG9wdHMuaW1hZ2UpO1xuICBjb25zdCBtYXRoUGx1Z2luID0gb3B0cy5tYXRoICYmIE1hdGhQbHVnaW4ob3B0cy5tYXRoKTtcbiAgY29uc3QgcmVzcEFyZWFQbHVnaW4gPVxuICAgIG9wdHMucmVzcG9uc2VBcmVhICYmIG9wdHMucmVzcG9uc2VBcmVhLnR5cGUgJiYgUmVzcEFyZWFQbHVnaW4ob3B0cy5yZXNwb25zZUFyZWEsIGNvbXBhY3QoW21hdGhQbHVnaW5dKSk7XG4gIGNvbnN0IGNzc1BsdWdpbiA9ICFpc0VtcHR5KG9wdHMuZXh0cmFDU1NSdWxlcykgJiYgQ1NTUGx1Z2luKG9wdHMuZXh0cmFDU1NSdWxlcyk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyA9IChvcHRzPy5sYW5ndWFnZUNoYXJhY3RlcnMgfHwgW10pLm1hcCgoY29uZmlnKSA9PlxuICAgIENoYXJhY3RlcnNQbHVnaW4oe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmOiBvcHRzLmtleVBhZENoYXJhY3RlclJlZixcbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uOiBvcHRzLnNldEtleXBhZEludGVyYWN0aW9uLFxuICAgIH0pLFxuICApO1xuXG4gIGNvbnN0IHRhYmxlUGx1Z2lucyA9IFtpbWFnZVBsdWdpbiwgbWF0aFBsdWdpbiwgcmVzcEFyZWFQbHVnaW4sIC4uLmxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnNdO1xuXG4gIGlmIChvcHRzLnJlc3BvbnNlQXJlYSAmJiBvcHRzLnJlc3BvbnNlQXJlYS50eXBlID09PSAnbWF0aC10ZW1wbGF0ZWQnKSB7XG4gICAgdGFibGVQbHVnaW5zLnB1c2gocmVzcEFyZWFQbHVnaW4pO1xuICB9XG5cbiAgbGV0IGJ1aWx0Q3VzdG9tUGx1Z2lucyA9IFtdO1xuXG4gIGN1c3RvbVBsdWdpbnM/LmZvckVhY2goKGN1c3RvbVBsdWdpbikgPT4ge1xuICAgIGNvbnN0IHsgZXZlbnQsIGljb24sIGljb25UeXBlLCBpY29uQWx0IH0gPSBjdXN0b21QbHVnaW4gfHwge307XG5cbiAgICBmdW5jdGlvbiBpc1ZhbGlkRXZlbnROYW1lKGV2ZW50TmFtZSkge1xuICAgICAgLy8gQ2hlY2sgaWYgZXZlbnROYW1lIGlzIGEgbm9uLWVtcHR5IHN0cmluZ1xuICAgICAgaWYgKHR5cGVvZiBldmVudE5hbWUgIT09ICdzdHJpbmcnIHx8IGV2ZW50TmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggdmFsaWQgZXZlbnQgbmFtZXMgKG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHVuZGVyc2NvcmUpXG4gICAgICBjb25zdCByZWdleCA9IC9eW2EtekEtWjAtOV9dKyQvO1xuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZXZlbnROYW1lIG1hdGNoZXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZXZlbnROYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVmFsaWRFdmVudE5hbWUoZXZlbnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBUaGUgZXZlbnQgbmFtZTogJHtldmVudH0gaXMgbm90IGEgdmFsaWQgZXZlbnQgbmFtZSFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWljb24gJiYgIWljb25UeXBlICYmICFpY29uQWx0KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3VyIGN1c3RvbSBidXR0b24gcmVxdWlyZXMgaWNvbiwgaWNvblR5cGUgYW5kIGljb25BbHQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBidWlsdEN1c3RvbVBsdWdpbnMucHVzaChDdXN0b21QbHVnaW4oJ2N1c3RvbS1wbHVnaW4nLCBjdXN0b21QbHVnaW4pKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbXBhY3QoW1xuICAgIGFkZElmKCd0YWJsZScsIFRhYmxlUGx1Z2luKG9wdHMudGFibGUsIGNvbXBhY3QodGFibGVQbHVnaW5zKSkpLFxuICAgIGFkZElmKCdib2xkJywgTWFya0hvdGtleSh7IGtleTogJ2InLCB0eXBlOiAnYm9sZCcsIGljb246IDxCb2xkIC8+LCB0YWc6ICdzdHJvbmcnIH0pKSxcbiAgICAvLyBhZGRJZignY29kZScsIE1hcmtIb3RrZXkoeyBrZXk6ICdgJywgdHlwZTogJ2NvZGUnLCBpY29uOiA8Q29kZSAvPiB9KSksXG4gICAgYWRkSWYoJ2l0YWxpYycsIE1hcmtIb3RrZXkoeyBrZXk6ICdpJywgdHlwZTogJ2l0YWxpYycsIGljb246IDxJdGFsaWMgLz4sIHRhZzogJ2VtJyB9KSksXG4gICAgYWRkSWYoXG4gICAgICAnc3RyaWtldGhyb3VnaCcsXG4gICAgICBNYXJrSG90a2V5KHtcbiAgICAgICAga2V5OiAnficsXG4gICAgICAgIHR5cGU6ICdzdHJpa2V0aHJvdWdoJyxcbiAgICAgICAgaWNvbjogPFN0cmlrZXRocm91Z2ggLz4sXG4gICAgICAgIHRhZzogJ2RlbCcsXG4gICAgICB9KSxcbiAgICApLFxuICAgIGFkZElmKCd1bmRlcmxpbmUnLCBNYXJrSG90a2V5KHsga2V5OiAndScsIHR5cGU6ICd1bmRlcmxpbmUnLCBpY29uOiA8VW5kZXJsaW5lIC8+LCB0YWc6ICd1JyB9KSksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnLCBNYXJrSG90a2V5KHsgdHlwZTogJ3N1cCcsIGljb246IDxTdXBlcnNjcmlwdEljb24gLz4sIHRhZzogJ3N1cCcgfSkpLFxuICAgIC8vIGljb24gc2hvdWxkIGJlIG1vZGlmaWVzIGFjY29yZGluZ2x5XG4gICAgYWRkSWYoJ3N1YnNjcmlwdCcsIE1hcmtIb3RrZXkoeyB0eXBlOiAnc3ViJywgaWNvbjogPFN1YnNjcmlwdEljb24gLz4sIHRhZzogJ3N1YicgfSkpLFxuICAgIGFkZElmKCdpbWFnZScsIGltYWdlUGx1Z2luKSxcbiAgICBhZGRJZigndmlkZW8nLCBNZWRpYVBsdWdpbigndmlkZW8nLCBvcHRzLm1lZGlhKSksXG4gICAgYWRkSWYoJ2F1ZGlvJywgTWVkaWFQbHVnaW4oJ2F1ZGlvJywgb3B0cy5tZWRpYSkpLFxuICAgIGFkZElmKCdtYXRoJywgbWF0aFBsdWdpbiksXG4gICAgLi4ubGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIHBsdWdpbikpLFxuICAgIGFkZElmKCd0ZXh0LWFsaWduJywgVGV4dEFsaWduKG9wdHMudGV4dEFsaWduKSksXG4gICAgYWRkSWYoJ2Jsb2NrcXVvdGUnLCBNYXJrSG90a2V5KHsga2V5OiAncScsIHR5cGU6ICdibG9ja3F1b3RlJywgaWNvbjogPEZvcm1hdFF1b3RlIC8+LCB0YWc6ICdibG9ja3F1b3RlJyB9KSksXG4gICAgYWRkSWYoJ2gzJywgTWFya0hvdGtleSh7IGtleTogJ2gzJywgdHlwZTogJ2gzJywgaWNvbjogPEhlYWRpbmdJY29uIC8+LCB0YWc6ICdoMycgfSkpLFxuICAgIGFkZElmKCdidWxsZXRlZC1saXN0JywgTGlzdCh7IGtleTogJ2wnLCB0eXBlOiAndWxfbGlzdCcsIGljb246IDxCdWxsZXRlZExpc3RJY29uIC8+IH0pKSxcbiAgICBhZGRJZignbnVtYmVyZWQtbGlzdCcsIExpc3QoeyBrZXk6ICduJywgdHlwZTogJ29sX2xpc3QnLCBpY29uOiA8TnVtYmVyZWRMaXN0SWNvbiAvPiB9KSksXG4gICAgYWRkSWYoJ3VuZG8nLCBVbmRvUmVkbygndW5kbycpKSxcbiAgICBhZGRJZigncmVkbycsIFVuZG9SZWRvKCdyZWRvJykpLFxuICAgIFRvb2xiYXJQbHVnaW4ob3B0cy50b29sYmFyKSxcbiAgICBTb2Z0QnJlYWtQbHVnaW4oeyBzaGlmdDogdHJ1ZSB9KSxcbiAgICAuLi5idWlsdEN1c3RvbVBsdWdpbnMsXG4gICAgYWRkSWYoJ3Jlc3BvbnNlQXJlYScsIHJlc3BBcmVhUGx1Z2luKSxcbiAgICBjc3NQbHVnaW4sXG4gICAgYWRkSWYoJ2h0bWwnLCBIdG1sUGx1Z2luKG9wdHMuaHRtbCkpLFxuICAgIEVudGVySGFuZGxpbmdQbHVnaW4oKSxcbiAgICBSZW5kZXJpbmdQbHVnaW4oKSxcbiAgXSk7XG59O1xuIl19
|
|
341
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJTdXBlcnNjcmlwdEljb24iLCJTdWJzY3JpcHRJY29uIiwiSGVhZGluZ0ljb24iLCJ3aWR0aCIsImhlaWdodCIsIlNUWUxFU19NQVAiLCJoMyIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImJsb2NrcXVvdGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyTGVmdCIsIm1hcmdpbiIsInBhZGRpbmciLCJNYXJrSG90a2V5Iiwib3B0aW9ucyIsInR5cGUiLCJrZXkiLCJpY29uIiwidGFnIiwibmFtZSIsInRvb2xiYXIiLCJpc01hcmsiLCJvblRvZ2dsZSIsImNoYW5nZSIsInNlbGVjdGlvbiIsInZhbHVlIiwiaW5jbHVkZXMiLCJ0ZXh0cyIsImRvY3VtZW50IiwiZ2V0VGV4dHNBdFJhbmdlQXNBcnJheSIsIm9ubHlPbmVUZXh0IiwibGVuZ3RoIiwiaGFzTWFyayIsInNhbWVNYXJrIiwiZm9yRWFjaCIsInQiLCJtYXJrcyIsImdldE1hcmtzQXNBcnJheSIsIm1hcmtJc1RoZXJlIiwiZmluZCIsIm0iLCJzaG91bGRDb250aW51ZSIsInN0YXJ0S2V5IiwiZW5kS2V5IiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJ0ZXh0Tm9kZSIsImdldE5vZGUiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsInRleHQiLCJhY3RpdmVNYXJrcyIsImVudHJ5IiwicmVtb3ZlTWFyayIsIm5ld01hcmsiLCJNYXJrIiwiY3JlYXRlIiwiYWRkTWFyayIsInRvZ2dsZU1hcmsiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwibm9kZSIsImRhdGEiLCJqc29uRGF0YSIsInRvSlNPTiIsIksiLCJhZGRpdGlvbmFsU3R5bGVzIiwiYXR0cmlidXRlcyIsInN0eWxlIiwiY2hpbGRyZW4iLCJvbktleURvd24iLCJldmVudCIsIm1ldGFLZXkiLCJwcmV2ZW50RGVmYXVsdCIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicGx1ZyIsIkVYVEVOU0lPTlNfTElTVCIsIkdyaWRPbiIsIkJvbGQiLCJJdGFsaWMiLCJTdHJpa2V0aHJvdWdoIiwiVW5kZXJsaW5lIiwiSW1hZ2UiLCJCdWxsZXRlZExpc3RJY29uIiwiTnVtYmVyZWRMaXN0SWNvbiIsIkZvcm1hdFF1b3RlIiwiSUNPTl9NQVAiLCJ1bmRvIiwiVW5kbyIsInJlZG8iLCJSZWRvIiwiVW5kb1JlZG8iLCJJY29uVG9Vc2UiLCJhcmlhTGFiZWwiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJidWlsZFBsdWdpbnMiLCJhY3RpdmVQbHVnaW5zIiwiY3VzdG9tUGx1Z2lucyIsIm9wdHMiLCJhZGRJZiIsImltYWdlUGx1Z2luIiwiaW1hZ2UiLCJvbkRlbGV0ZSIsIm1hdGhQbHVnaW4iLCJtYXRoIiwicmVzcEFyZWFQbHVnaW4iLCJyZXNwb25zZUFyZWEiLCJjc3NQbHVnaW4iLCJleHRyYUNTU1J1bGVzIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyIsImxhbmd1YWdlQ2hhcmFjdGVycyIsIm1hcCIsImNvbmZpZyIsImtleVBhZENoYXJhY3RlclJlZiIsInNldEtleXBhZEludGVyYWN0aW9uIiwidGFibGVQbHVnaW5zIiwicHVzaCIsImJ1aWx0Q3VzdG9tUGx1Z2lucyIsImN1c3RvbVBsdWdpbiIsImljb25UeXBlIiwiaWNvbkFsdCIsImlzVmFsaWRFdmVudE5hbWUiLCJldmVudE5hbWUiLCJyZWdleCIsInRlc3QiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7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S0FBSyxDQUFDLE1BQUQsQ0E3QkEsRUE4QkxBLEtBQUssQ0FBQyxNQUFELENBOUJBLEdBK0JGa0Isa0JBL0JFLEdBZ0NMbEIsS0FBSyxDQUFDLGNBQUQsQ0FoQ0EsRUFpQ0xRLFNBakNLLEVBa0NMUixLQUFLLENBQUMsTUFBRCxDQWxDQSxHQUFQO0FBb0NELENBOUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEhvdGtleXMgZnJvbSAnc2xhdGUtaG90a2V5cyc7XG5pbXBvcnQgeyBJU19JT1MgfSBmcm9tICdzbGF0ZS1kZXYtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgTWFyayB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCBCb2xkIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRCb2xkJztcbmltcG9ydCBGb3JtYXRRdW90ZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0UXVvdGUnO1xuLy9pbXBvcnQgQ29kZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ29kZSc7XG5pbXBvcnQgQnVsbGV0ZWRMaXN0SWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0TGlzdEJ1bGxldGVkJztcbmltcG9ydCBOdW1iZXJlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0TnVtYmVyZWQnO1xuaW1wb3J0IEdyaWRPbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvR3JpZE9uJztcbmltcG9ydCBJbWFnZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSW1hZ2UnO1xuaW1wb3J0IFJlZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1JlZG8nO1xuaW1wb3J0IFVuZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1VuZG8nO1xuaW1wb3J0IEltYWdlUGx1Z2luIGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IE1lZGlhUGx1Z2luIGZyb20gJy4vbWVkaWEnO1xuaW1wb3J0IENoYXJhY3RlcnNQbHVnaW4gZnJvbSAnLi9jaGFyYWN0ZXJzJztcbmltcG9ydCBJdGFsaWMgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdEl0YWxpYyc7XG5pbXBvcnQgTWF0aFBsdWdpbiBmcm9tICcuL21hdGgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdHJpa2V0aHJvdWdoIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRTdHJpa2V0aHJvdWdoJztcbmltcG9ydCBUb29sYmFyUGx1Z2luIGZyb20gJy4vdG9vbGJhcic7XG5pbXBvcnQgVW5kZXJsaW5lIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRVbmRlcmxpbmVkJztcbmltcG9ydCBjb21wYWN0IGZyb20gJ2xvZGFzaC9jb21wYWN0JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBTb2Z0QnJlYWtQbHVnaW4gZnJvbSAnc2xhdGUtc29mdC1icmVhayc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IExpc3QgZnJvbSAnLi9saXN0JztcbmltcG9ydCBUYWJsZVBsdWdpbiBmcm9tICcuL3RhYmxlJztcbmltcG9ydCBSZXNwQXJlYVBsdWdpbiBmcm9tICcuL3Jlc3BBcmVhJztcbmltcG9ydCBIdG1sUGx1Z2luIGZyb20gJy4vaHRtbCc7XG5pbXBvcnQgQ1NTUGx1Z2luIGZyb20gJy4vY3NzJztcbmltcG9ydCBDdXN0b21QbHVnaW4gZnJvbSAnLi9jdXN0b21QbHVnaW4nO1xuaW1wb3J0IFRleHRBbGlnbiBmcm9tICcuL3RleHRBbGlnbic7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnMnKTtcblxuZXhwb3J0IGNvbnN0IFN1cGVyc2NyaXB0SWNvbiA9ICgpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTIyLDdoLTJ2MWgzdjFoLTRWN2MwLTAuNTUsMC40NS0xLDEtMWgyVjVoLTNWNGgzYzAuNTUsMCwxLDAuNDUsMSwxdjFDMjMsNi41NSwyMi41NSw3LDIyLDd6IE01Ljg4LDIwaDIuNjZsMy40LTUuNDJoMC4xMiBsMy40LDUuNDJoMi42NmwtNC42NS03LjI3TDE3LjgxLDZoLTIuNjhsLTMuMDcsNC45OWgtMC4xMkw4Ljg1LDZINi4xOWw0LjMyLDYuNzNMNS44OCwyMHpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgU3Vic2NyaXB0SWNvbiA9ICgpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTIyLDE4aC0ydjFoM3YxaC00di0yYzAtMC41NSwwLjQ1LTEsMS0xaDJ2LTFoLTN2LTFoM2MwLjU1LDAsMSwwLjQ1LDEsMXYxQzIzLDE3LjU1LDIyLjU1LDE4LDIyLDE4eiBNNS44OCwxOGgyLjY2IGwzLjQtNS40MmgwLjEybDMuNCw1LjQyaDIuNjZsLTQuNjUtNy4yN0wxNy44MSw0aC0yLjY4bC0zLjA3LDQuOTloLTAuMTJMOC44NSw0SDYuMTlsNC4zMiw2LjczTDUuODgsMTh6XCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGNvbnN0IEhlYWRpbmdJY29uID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgd2lkdGg9XCIzMFwiXG4gICAgaGVpZ2h0PVwiMjhcIlxuICAgIHZpZXdCb3g9XCIwIDAgMzAgMjhcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBzdHlsZT17eyB3aWR0aDogJzIwcHgnLCBoZWlnaHQ6ICcxOHB4JyB9fVxuICA+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjcgNFYyNEgyOUMyOS41IDI0IDMwIDI0LjUgMzAgMjVWMjdDMzAgMjcuNTYyNSAyOS41IDI4IDI5IDI4SDE5QzE4LjQzNzUgMjggMTggMjcuNTYyNSAxOCAyN1YyNUMxOCAyNC41IDE4LjQzNzUgMjQgMTkgMjRIMjFWMTZIOVYyNEgxMUMxMS41IDI0IDEyIDI0LjUgMTIgMjVWMjdDMTIgMjcuNTYyNSAxMS41IDI4IDExIDI4SDFDMC40Mzc1IDI4IDAgMjcuNTYyNSAwIDI3VjI1QzAgMjQuNSAwLjQzNzUgMjQgMSAyNEgzVjRIMUMwLjQzNzUgNCAwIDMuNTYyNSAwIDNWMUMwIDAuNSAwLjQzNzUgMCAxIDBIMTFDMTEuNSAwIDEyIDAuNSAxMiAxVjNDMTIgMy41NjI1IDExLjUgNCAxMSA0SDlWMTJIMjFWNEgxOUMxOC40Mzc1IDQgMTggMy41NjI1IDE4IDNWMUMxOCAwLjUgMTguNDM3NSAwIDE5IDBIMjlDMjkuNSAwIDMwIDAuNSAzMCAxVjNDMzAgMy41NjI1IDI5LjUgNCAyOSA0SDI3WlwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5jb25zdCBTVFlMRVNfTUFQID0ge1xuICBoMzoge1xuICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgZm9udFdlaWdodDogJ2luaGVyaXQnLFxuICB9LFxuICBibG9ja3F1b3RlOiB7XG4gICAgYmFja2dyb3VuZDogJyNmOWY5ZjknLFxuICAgIGJvcmRlckxlZnQ6ICc1cHggc29saWQgI2NjYycsXG4gICAgbWFyZ2luOiAnMS41ZW0gMTBweCcsXG4gICAgcGFkZGluZzogJy41ZW0gMTBweCcsXG4gIH0sXG59O1xuXG5mdW5jdGlvbiBNYXJrSG90a2V5KG9wdGlvbnMpIHtcbiAgY29uc3QgeyB0eXBlLCBrZXksIGljb24sIHRhZyB9ID0gb3B0aW9ucztcblxuICAvLyBSZXR1cm4gb3VyIFwicGx1Z2luXCIgb2JqZWN0LCBjb250YWluaW5nIHRoZSBgb25LZXlEb3duYCBoYW5kbGVyLlxuICByZXR1cm4ge1xuICAgIG5hbWU6IHR5cGUsXG4gICAgdG9vbGJhcjoge1xuICAgICAgaXNNYXJrOiB0cnVlLFxuICAgICAgdHlwZSxcbiAgICAgIGljb24sXG4gICAgICBvblRvZ2dsZTogKGNoYW5nZSkgPT4ge1xuICAgICAgICBsb2coJ1tvblRvZ2dsZU1hcmtdIHR5cGU6ICcsIHR5cGUpO1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gY2hhbmdlLnZhbHVlO1xuXG4gICAgICAgIGlmIChbJ2Jsb2NrcXVvdGUnLCAnaDMnXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICAgIGNvbnN0IHRleHRzID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldFRleHRzQXRSYW5nZUFzQXJyYXkoc2VsZWN0aW9uKTtcbiAgICAgICAgICBjb25zdCBvbmx5T25lVGV4dCA9IHRleHRzLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgICBsZXQgaGFzTWFyayA9IGZhbHNlO1xuICAgICAgICAgIGxldCBzYW1lTWFyayA9IHRydWU7XG5cbiAgICAgICAgICB0ZXh0cy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXJrcyA9IHQuZ2V0TWFya3NBc0FycmF5KCk7XG4gICAgICAgICAgICBjb25zdCBtYXJrSXNUaGVyZSA9IG1hcmtzLmZpbmQoKG0pID0+IG0udHlwZSA9PT0gdHlwZSk7XG5cbiAgICAgICAgICAgIGlmICghbWFya0lzVGhlcmUpIHtcbiAgICAgICAgICAgICAgLy8gbm90IGFsbCB0ZXh0cyBoYXZlIHRoaXMgbWFya1xuICAgICAgICAgICAgICBzYW1lTWFyayA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gYXQgbGVhc3Qgb25lIG1hcmtcbiAgICAgICAgICAgICAgaGFzTWFyayA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCBzaG91bGRDb250aW51ZSA9IG9ubHlPbmVUZXh0IHx8IHNhbWVNYXJrIHx8ICFoYXNNYXJrO1xuXG4gICAgICAgICAgaWYgKCFzaG91bGRDb250aW51ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZWN0aW9uLnN0YXJ0S2V5ID09PSBzZWxlY3Rpb24uZW5kS2V5ICYmIHNlbGVjdGlvbi5hbmNob3JPZmZzZXQgPT09IHNlbGVjdGlvbi5mb2N1c09mZnNldCkge1xuICAgICAgICAgICAgY29uc3QgdGV4dE5vZGUgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0Tm9kZShzZWxlY3Rpb24uc3RhcnRLZXkpO1xuXG4gICAgICAgICAgICAvLyBzZWxlY3QgdGhlIHdob2xlIGxpbmUgaWYgdGhlcmUgaXMgbm8gc2VsZWN0aW9uXG4gICAgICAgICAgICBjaGFuZ2UubW92ZUZvY3VzVG8odGV4dE5vZGUua2V5LCAwKS5tb3ZlQW5jaG9yVG8odGV4dE5vZGUua2V5LCB0ZXh0Tm9kZS50ZXh0Lmxlbmd0aCk7XG5cbiAgICAgICAgICAgIC8vIHJlbW92ZSB0b2dnbGVcbiAgICAgICAgICAgIGNvbnN0IGhhc01hcmsgPSBjaGFuZ2UudmFsdWUuYWN0aXZlTWFya3MuZmluZCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5LnR5cGUgPT09IHR5cGU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKGhhc01hcmspIHtcbiAgICAgICAgICAgICAgY2hhbmdlLnJlbW92ZU1hcmsoaGFzTWFyayk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBuZXdNYXJrID0gTWFyay5jcmVhdGUodHlwZSk7XG5cbiAgICAgICAgICAgICAgY2hhbmdlLmFkZE1hcmsobmV3TWFyayk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG1vdmUgZm9jdXMgdG8gZW5kIG9mIHRleHRcbiAgICAgICAgICAgIHJldHVybiBjaGFuZ2VcbiAgICAgICAgICAgICAgLm1vdmVGb2N1c1RvKHRleHROb2RlLmtleSwgdGV4dE5vZGUudGV4dC5sZW5ndGgpXG4gICAgICAgICAgICAgIC5tb3ZlQW5jaG9yVG8odGV4dE5vZGUua2V5LCB0ZXh0Tm9kZS50ZXh0Lmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZS50b2dnbGVNYXJrKHR5cGUpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbmRlck1hcmsocHJvcHMpIHtcbiAgICAgIGlmIChwcm9wcy5tYXJrLnR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBwcm9wcy5ub2RlIHx8IHt9O1xuICAgICAgICBjb25zdCBqc29uRGF0YSA9IGRhdGE/LnRvSlNPTigpIHx8IHt9O1xuICAgICAgICBjb25zdCBLID0gdGFnIHx8IHR5cGU7XG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWxTdHlsZXMgPSBTVFlMRVNfTUFQW0tdO1xuXG4gICAgICAgIGlmIChhZGRpdGlvbmFsU3R5bGVzKSB7XG4gICAgICAgICAgaWYgKCFqc29uRGF0YS5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICBqc29uRGF0YS5hdHRyaWJ1dGVzID0ge307XG4gICAgICAgICAgfVxuXG4gICAgICAgICAganNvbkRhdGEuYXR0cmlidXRlcy5zdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLmpzb25EYXRhLmF0dHJpYnV0ZXMuc3R5bGUsXG4gICAgICAgICAgICAuLi5hZGRpdGlvbmFsU3R5bGVzLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gPEsgey4uLmpzb25EYXRhLmF0dHJpYnV0ZXN9Pntwcm9wcy5jaGlsZHJlbn08L0s+O1xuICAgICAgfVxuICAgIH0sXG4gICAgb25LZXlEb3duKGV2ZW50LCBjaGFuZ2UpIHtcbiAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGtleSBwcmVzc2VkIG1hdGNoZXMgb3VyIGBrZXlgIG9wdGlvbi5cbiAgICAgIGlmICghZXZlbnQubWV0YUtleSB8fCBldmVudC5rZXkgIT0ga2V5KSByZXR1cm47XG5cbiAgICAgIC8vIFByZXZlbnQgdGhlIGRlZmF1bHQgY2hhcmFjdGVycyBmcm9tIGJlaW5nIGluc2VydGVkLlxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgLy8gVG9nZ2xlIHRoZSBtYXJrIGB0eXBlYC5cbiAgICAgIGNoYW5nZS50b2dnbGVNYXJrKHR5cGUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IEFMTF9QTFVHSU5TID0gW1xuICAnYm9sZCcsXG4gIC8vICdjb2RlJyxcbiAgJ2h0bWwnLFxuICAnZXh0cmFDU1NSdWxlcycsXG4gICdpdGFsaWMnLFxuICAndW5kZXJsaW5lJyxcbiAgJ3N0cmlrZXRocm91Z2gnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAnYmxvY2txdW90ZScsXG4gICdoMycsXG4gICd0YWJsZScsXG4gICd2aWRlbycsXG4gICdhdWRpbycsXG4gICdyZXNwb25zZUFyZWEnLFxuICAncmVkbycsXG4gICd1bmRvJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTFVHSU5TID0gQUxMX1BMVUdJTlMuZmlsdGVyKChwbHVnKSA9PiAhWydyZXNwb25zZUFyZWEnLCAnaDMnLCAnYmxvY2txdW90ZSddLmluY2x1ZGVzKHBsdWcpKTtcblxuZXhwb3J0IGNvbnN0IEVYVEVOU0lPTlNfTElTVCA9IFtcbiAgR3JpZE9uLFxuICBCb2xkLFxuICBJdGFsaWMsXG4gIFN0cmlrZXRocm91Z2gsXG4gIFVuZGVybGluZSxcbiAgU3VwZXJzY3JpcHRJY29uLFxuICBTdWJzY3JpcHRJY29uLFxuICBJbWFnZSxcbiAgSGVhZGluZ0ljb24sXG4gIEJ1bGxldGVkTGlzdEljb24sXG4gIE51bWJlcmVkTGlzdEljb24sXG4gIEZvcm1hdFF1b3RlLFxuXTtcblxuY29uc3QgSUNPTl9NQVAgPSB7XG4gIHVuZG86IFVuZG8sXG4gIHJlZG86IFJlZG8sXG59O1xuZnVuY3Rpb24gVW5kb1JlZG8odHlwZSkge1xuICBjb25zdCBJY29uVG9Vc2UgPSBJQ09OX01BUFt0eXBlXTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IHR5cGUsXG4gICAgdG9vbGJhcjoge1xuICAgICAgdHlwZSxcbiAgICAgIGljb246IDxJY29uVG9Vc2UgLz4sXG4gICAgICBhcmlhTGFiZWw6IHR5cGUgPT09ICd1bmRvJyA/ICdVbmRvIChyZXZlcnQgdGhlIGxhc3QgYWN0aW9uKScgOiAnUmVkbyAocmVhcHBseSB0aGUgbGFzdCB1bmRvbmUgYWN0aW9uKScsXG4gICAgICBvbkNsaWNrOiAodmFsdWUsIG9uQ2hhbmdlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpO1xuXG4gICAgICAgIG9uQ2hhbmdlKGNoYW5nZVt0eXBlXSgpKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkUGx1Z2lucyA9IChhY3RpdmVQbHVnaW5zLCBjdXN0b21QbHVnaW5zLCBvcHRzKSA9PiB7XG4gIGxvZygnW2J1aWxkUGx1Z2luc10gb3B0czogJywgb3B0cyk7XG5cbiAgYWN0aXZlUGx1Z2lucyA9IGFjdGl2ZVBsdWdpbnMgfHwgREVGQVVMVF9QTFVHSU5TO1xuXG4gIGNvbnN0IGFkZElmID0gKGtleSkgPT4gYWN0aXZlUGx1Z2lucy5pbmNsdWRlcyhrZXkpICYmIGtleTtcblxuICBjb25zdCBpbWFnZVBsdWdpbiA9IG9wdHMuaW1hZ2UgJiYgb3B0cy5pbWFnZS5vbkRlbGV0ZSAmJiBJbWFnZVBsdWdpbihvcHRzLmltYWdlKTtcbiAgY29uc3QgbWF0aFBsdWdpbiA9IG9wdHMubWF0aCAmJiBNYXRoUGx1Z2luKG9wdHMubWF0aCk7XG4gIGNvbnN0IHJlc3BBcmVhUGx1Z2luID1cbiAgICBvcHRzLnJlc3BvbnNlQXJlYSAmJiBvcHRzLnJlc3BvbnNlQXJlYS50eXBlICYmIFJlc3BBcmVhUGx1Z2luKG9wdHMucmVzcG9uc2VBcmVhLCBjb21wYWN0KFttYXRoUGx1Z2luXSkpO1xuICBjb25zdCBjc3NQbHVnaW4gPSAhaXNFbXB0eShvcHRzLmV4dHJhQ1NTUnVsZXMpICYmIENTU1BsdWdpbihvcHRzLmV4dHJhQ1NTUnVsZXMpO1xuXG4gIGNvbnN0IGxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMgPSAob3B0cz8ubGFuZ3VhZ2VDaGFyYWN0ZXJzIHx8IFtdKS5tYXAoKGNvbmZpZykgPT5cbiAgICBDaGFyYWN0ZXJzUGx1Z2luKHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGtleVBhZENoYXJhY3RlclJlZjogb3B0cy5rZXlQYWRDaGFyYWN0ZXJSZWYsXG4gICAgICBzZXRLZXlwYWRJbnRlcmFjdGlvbjogb3B0cy5zZXRLZXlwYWRJbnRlcmFjdGlvbixcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCB0YWJsZVBsdWdpbnMgPSBbaW1hZ2VQbHVnaW4sIG1hdGhQbHVnaW4sIHJlc3BBcmVhUGx1Z2luLCAuLi5sYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zXTtcblxuICBpZiAob3B0cy5yZXNwb25zZUFyZWEgJiYgb3B0cy5yZXNwb25zZUFyZWEudHlwZSA9PT0gJ21hdGgtdGVtcGxhdGVkJykge1xuICAgIHRhYmxlUGx1Z2lucy5wdXNoKHJlc3BBcmVhUGx1Z2luKTtcbiAgfVxuXG4gIGxldCBidWlsdEN1c3RvbVBsdWdpbnMgPSBbXTtcblxuICBjdXN0b21QbHVnaW5zPy5mb3JFYWNoKChjdXN0b21QbHVnaW4pID0+IHtcbiAgICBjb25zdCB7IGV2ZW50LCBpY29uLCBpY29uVHlwZSwgaWNvbkFsdCB9ID0gY3VzdG9tUGx1Z2luIHx8IHt9O1xuXG4gICAgZnVuY3Rpb24gaXNWYWxpZEV2ZW50TmFtZShldmVudE5hbWUpIHtcbiAgICAgIC8vIENoZWNrIGlmIGV2ZW50TmFtZSBpcyBhIG5vbi1lbXB0eSBzdHJpbmdcbiAgICAgIGlmICh0eXBlb2YgZXZlbnROYW1lICE9PSAnc3RyaW5nJyB8fCBldmVudE5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVndWxhciBleHByZXNzaW9uIHRvIG1hdGNoIHZhbGlkIGV2ZW50IG5hbWVzIChvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB1bmRlcnNjb3JlKVxuICAgICAgY29uc3QgcmVnZXggPSAvXlthLXpBLVowLTlfXSskLztcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGV2ZW50TmFtZSBtYXRjaGVzIHRoZSByZWd1bGFyIGV4cHJlc3Npb25cbiAgICAgIHJldHVybiByZWdleC50ZXN0KGV2ZW50TmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc1ZhbGlkRXZlbnROYW1lKGV2ZW50KSkge1xuICAgICAgY29uc29sZS5lcnJvcihgVGhlIGV2ZW50IG5hbWU6ICR7ZXZlbnR9IGlzIG5vdCBhIHZhbGlkIGV2ZW50IG5hbWUhYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpY29uICYmICFpY29uVHlwZSAmJiAhaWNvbkFsdCkge1xuICAgICAgY29uc29sZS5lcnJvcignWW91ciBjdXN0b20gYnV0dG9uIHJlcXVpcmVzIGljb24sIGljb25UeXBlIGFuZCBpY29uQWx0Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYnVpbHRDdXN0b21QbHVnaW5zLnB1c2goQ3VzdG9tUGx1Z2luKCdjdXN0b20tcGx1Z2luJywgY3VzdG9tUGx1Z2luKSk7XG4gIH0pO1xuXG4gIHJldHVybiBjb21wYWN0KFtcbiAgICBhZGRJZigndGFibGUnKSxcbiAgICBhZGRJZignYm9sZCcpLFxuICAgIC8vIGFkZElmKCdjb2RlJyksXG4gICAgYWRkSWYoJ2l0YWxpYycpLFxuICAgIGFkZElmKFxuICAgICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICAgTWFya0hvdGtleSh7XG4gICAgICAgIGtleTogJ34nLFxuICAgICAgICB0eXBlOiAnc3RyaWtldGhyb3VnaCcsXG4gICAgICAgIGljb246IDxTdHJpa2V0aHJvdWdoIC8+LFxuICAgICAgICB0YWc6ICdkZWwnLFxuICAgICAgfSksXG4gICAgKSxcbiAgICBhZGRJZigndW5kZXJsaW5lJyksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnKSxcbiAgICAvLyBpY29uIHNob3VsZCBiZSBtb2RpZmllcyBhY2NvcmRpbmdseVxuICAgIGFkZElmKCdzdWJzY3JpcHQnKSxcbiAgICBhZGRJZignaW1hZ2UnKSxcbiAgICBhZGRJZigndmlkZW8nKSxcbiAgICBhZGRJZignYXVkaW8nKSxcbiAgICBhZGRJZignbWF0aCcpLFxuICAgIC4uLmxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMubWFwKCgpID0+IGFkZElmKCdsYW5ndWFnZUNoYXJhY3RlcnMnKSksXG4gICAgYWRkSWYoJ3RleHQtYWxpZ24nKSxcbiAgICBhZGRJZignYmxvY2txdW90ZScpLFxuICAgIGFkZElmKCdoMycpLFxuICAgIGFkZElmKCdidWxsZXRlZC1saXN0JyksXG4gICAgYWRkSWYoJ251bWJlcmVkLWxpc3QnKSxcbiAgICBhZGRJZigndW5kbycpLFxuICAgIGFkZElmKCdyZWRvJyksXG4gICAgLi4uYnVpbHRDdXN0b21QbHVnaW5zLFxuICAgIGFkZElmKCdyZXNwb25zZUFyZWEnKSxcbiAgICBjc3NQbHVnaW4sXG4gICAgYWRkSWYoJ2h0bWwnKSxcbiAgXSk7XG59O1xuIl19
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
9
|
+
|
|
10
|
+
var _theme = require("../theme");
|
|
11
|
+
|
|
12
|
+
var styles = function styles(theme) {
|
|
13
|
+
return {
|
|
14
|
+
root: {
|
|
15
|
+
position: 'relative',
|
|
16
|
+
padding: '0px',
|
|
17
|
+
border: '1px solid #ccc',
|
|
18
|
+
borderRadius: '4px',
|
|
19
|
+
cursor: 'text',
|
|
20
|
+
'& [data-slate-editor="true"]': {
|
|
21
|
+
wordBreak: 'break-word',
|
|
22
|
+
overflow: 'visible',
|
|
23
|
+
maxHeight: '500px',
|
|
24
|
+
// needed in order to be able to put the focus before a void element when it is the first one in the editor
|
|
25
|
+
padding: '5px'
|
|
26
|
+
},
|
|
27
|
+
'&:first-child': {
|
|
28
|
+
marginTop: 0
|
|
29
|
+
},
|
|
30
|
+
'& ul, & ol': {
|
|
31
|
+
padding: '0 1rem',
|
|
32
|
+
margin: '1.25rem 1rem 1.25rem 0.4rem'
|
|
33
|
+
},
|
|
34
|
+
'& ul li p, & ol li p': {
|
|
35
|
+
marginTop: '0.25em',
|
|
36
|
+
marginBottom: '0.25em'
|
|
37
|
+
},
|
|
38
|
+
'& h1, & h2, & h3, & h4, & h5, & h6': {
|
|
39
|
+
lineHeight: 1.1,
|
|
40
|
+
marginTop: '2.5rem',
|
|
41
|
+
textWrap: 'pretty'
|
|
42
|
+
},
|
|
43
|
+
'& h1, & h2': {
|
|
44
|
+
marginTop: '3.5rem',
|
|
45
|
+
marginBottom: '1.5rem'
|
|
46
|
+
},
|
|
47
|
+
'& h1': {
|
|
48
|
+
fontSize: '1.4rem'
|
|
49
|
+
},
|
|
50
|
+
'& h2': {
|
|
51
|
+
fontSize: '1.2rem'
|
|
52
|
+
},
|
|
53
|
+
'& h3': {
|
|
54
|
+
fontSize: '1.1rem'
|
|
55
|
+
},
|
|
56
|
+
'& h4, & h5, & h6': {
|
|
57
|
+
fontSize: '1rem'
|
|
58
|
+
},
|
|
59
|
+
'& code': {
|
|
60
|
+
backgroundColor: 'var(--purple-light)',
|
|
61
|
+
borderRadius: '0.4rem',
|
|
62
|
+
color: 'var(--black)',
|
|
63
|
+
fontSize: '0.85rem',
|
|
64
|
+
padding: '0.25em 0.3em'
|
|
65
|
+
},
|
|
66
|
+
'& pre': {
|
|
67
|
+
background: 'var(--black)',
|
|
68
|
+
borderRadius: '0.5rem',
|
|
69
|
+
color: 'var(--white)',
|
|
70
|
+
fontFamily: "'JetBrainsMono', monospace",
|
|
71
|
+
margin: '1.5rem 0',
|
|
72
|
+
padding: '0.75rem 1rem',
|
|
73
|
+
'& code': {
|
|
74
|
+
background: 'none',
|
|
75
|
+
color: 'inherit',
|
|
76
|
+
fontSize: '0.8rem',
|
|
77
|
+
padding: 0
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
'& blockquote': {
|
|
81
|
+
borderLeft: '3px solid var(--gray-3)',
|
|
82
|
+
margin: '1.5rem 0',
|
|
83
|
+
paddingLeft: '1rem'
|
|
84
|
+
},
|
|
85
|
+
'& hr': {
|
|
86
|
+
border: 'none',
|
|
87
|
+
borderTop: '1px solid var(--gray-2)',
|
|
88
|
+
margin: '2rem 0'
|
|
89
|
+
},
|
|
90
|
+
'& table': {
|
|
91
|
+
tableLayout: 'fixed',
|
|
92
|
+
width: '100%',
|
|
93
|
+
borderCollapse: 'collapse',
|
|
94
|
+
color: _renderUi.color.text(),
|
|
95
|
+
backgroundColor: _renderUi.color.background()
|
|
96
|
+
},
|
|
97
|
+
'& table:not([border="1"]) tr': {
|
|
98
|
+
borderTop: '1px solid #dfe2e5'
|
|
99
|
+
},
|
|
100
|
+
'& td, th': {
|
|
101
|
+
padding: '.6em 1em',
|
|
102
|
+
textAlign: 'center'
|
|
103
|
+
},
|
|
104
|
+
'& table:not([border="1"]) td, th': {
|
|
105
|
+
border: '1px solid #dfe2e5'
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
children: {
|
|
109
|
+
padding: '10px 16px'
|
|
110
|
+
},
|
|
111
|
+
editorHolder: {
|
|
112
|
+
position: 'relative',
|
|
113
|
+
padding: '0px',
|
|
114
|
+
// overflowY: 'auto',
|
|
115
|
+
overflow: 'visible',
|
|
116
|
+
color: _renderUi.color.text(),
|
|
117
|
+
backgroundColor: _renderUi.color.background(),
|
|
118
|
+
'&::before': {
|
|
119
|
+
left: '0',
|
|
120
|
+
right: '0',
|
|
121
|
+
bottom: '0',
|
|
122
|
+
height: '1px',
|
|
123
|
+
content: '""',
|
|
124
|
+
position: 'absolute',
|
|
125
|
+
transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',
|
|
126
|
+
pointerEvents: 'none',
|
|
127
|
+
backgroundColor: 'rgba(0, 0, 0, 0.42)'
|
|
128
|
+
},
|
|
129
|
+
'&::after': {
|
|
130
|
+
left: '0',
|
|
131
|
+
right: '0',
|
|
132
|
+
bottom: '0',
|
|
133
|
+
height: '1px',
|
|
134
|
+
content: '""',
|
|
135
|
+
position: 'absolute',
|
|
136
|
+
transform: 'scaleX(0)',
|
|
137
|
+
transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',
|
|
138
|
+
backgroundColor: 'rgba(0, 0, 0, 0.42)'
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
disabledUnderline: {
|
|
142
|
+
'&::before': {
|
|
143
|
+
display: 'none'
|
|
144
|
+
},
|
|
145
|
+
'&::after': {
|
|
146
|
+
display: 'none'
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
disabledScrollbar: {
|
|
150
|
+
'&::-webkit-scrollbar': {
|
|
151
|
+
display: 'none'
|
|
152
|
+
},
|
|
153
|
+
scrollbarWidth: 'none',
|
|
154
|
+
'-ms-overflow-style': 'none'
|
|
155
|
+
},
|
|
156
|
+
readOnly: {
|
|
157
|
+
'&::before': {
|
|
158
|
+
background: 'transparent',
|
|
159
|
+
backgroundSize: '5px 1px',
|
|
160
|
+
backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',
|
|
161
|
+
backgroundRepeat: 'repeat-x',
|
|
162
|
+
backgroundPosition: 'left top'
|
|
163
|
+
},
|
|
164
|
+
'&::after': {
|
|
165
|
+
left: '0',
|
|
166
|
+
right: '0',
|
|
167
|
+
bottom: '0',
|
|
168
|
+
height: '1px',
|
|
169
|
+
content: '""',
|
|
170
|
+
position: 'absolute',
|
|
171
|
+
transform: 'scaleX(0)',
|
|
172
|
+
transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',
|
|
173
|
+
backgroundColor: 'rgba(0, 0, 0, 0)'
|
|
174
|
+
},
|
|
175
|
+
'&:hover': {
|
|
176
|
+
'&::after': {
|
|
177
|
+
transform: 'scaleX(0)',
|
|
178
|
+
backgroundColor: theme.palette.common.black,
|
|
179
|
+
height: '2px'
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
error: {
|
|
184
|
+
border: "2px solid ".concat(theme.palette.error.main, " !important")
|
|
185
|
+
},
|
|
186
|
+
noBorder: {
|
|
187
|
+
border: 'none'
|
|
188
|
+
},
|
|
189
|
+
noPadding: {
|
|
190
|
+
padding: 0
|
|
191
|
+
},
|
|
192
|
+
toolbarOnTop: {
|
|
193
|
+
marginTop: '45px'
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
var _default = styles;
|
|
199
|
+
exports["default"] = _default;
|
|
200
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZXMvZWRpdG9yQ29udGFpbmVyU3R5bGVzLmpzIl0sIm5hbWVzIjpbInN0eWxlcyIsInRoZW1lIiwicm9vdCIsInBvc2l0aW9uIiwicGFkZGluZyIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsImN1cnNvciIsIndvcmRCcmVhayIsIm92ZXJmbG93IiwibWF4SGVpZ2h0IiwibWFyZ2luVG9wIiwibWFyZ2luIiwibWFyZ2luQm90dG9tIiwibGluZUhlaWdodCIsInRleHRXcmFwIiwiZm9udFNpemUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsImJhY2tncm91bmQiLCJmb250RmFtaWx5IiwiYm9yZGVyTGVmdCIsInBhZGRpbmdMZWZ0IiwiYm9yZGVyVG9wIiwidGFibGVMYXlvdXQiLCJ3aWR0aCIsImJvcmRlckNvbGxhcHNlIiwidGV4dCIsInRleHRBbGlnbiIsImNoaWxkcmVuIiwiZWRpdG9ySG9sZGVyIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIiwiaGVpZ2h0IiwiY29udGVudCIsInRyYW5zaXRpb24iLCJwb2ludGVyRXZlbnRzIiwidHJhbnNmb3JtIiwiZGlzYWJsZWRVbmRlcmxpbmUiLCJkaXNwbGF5IiwiZGlzYWJsZWRTY3JvbGxiYXIiLCJzY3JvbGxiYXJXaWR0aCIsInJlYWRPbmx5IiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kUmVwZWF0IiwiYmFja2dyb3VuZFBvc2l0aW9uIiwicGFsZXR0ZSIsImNvbW1vbiIsImJsYWNrIiwiZXJyb3IiLCJtYWluIiwibm9Cb3JkZXIiLCJub1BhZGRpbmciLCJ0b29sYmFyT25Ub3AiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN6QkMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLFFBQVEsRUFBRSxVQUROO0FBRUpDLE1BQUFB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S0E1TGU7QUErTHpCaUQsSUFBQUEsU0FBUyxFQUFFO0FBQ1RsRCxNQUFBQSxPQUFPLEVBQUU7QUFEQSxLQS9MYztBQWtNekJtRCxJQUFBQSxZQUFZLEVBQUU7QUFDWjVDLE1BQUFBLFNBQVMsRUFBRTtBQURDO0FBbE1XLEdBQVo7QUFBQSxDQUFmOztlQXVNZVgsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IHByaW1hcnkgfSBmcm9tICcuLi90aGVtZSc7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgcm9vdDoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHBhZGRpbmc6ICcwcHgnLFxuICAgIGJvcmRlcjogJzFweCBzb2xpZCAjY2NjJyxcbiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgIGN1cnNvcjogJ3RleHQnLFxuICAgICcmIFtkYXRhLXNsYXRlLWVkaXRvcj1cInRydWVcIl0nOiB7XG4gICAgICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbiAgICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gICAgICBtYXhIZWlnaHQ6ICc1MDBweCcsXG4gICAgICAvLyBuZWVkZWQgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdXQgdGhlIGZvY3VzIGJlZm9yZSBhIHZvaWQgZWxlbWVudCB3aGVuIGl0IGlzIHRoZSBmaXJzdCBvbmUgaW4gdGhlIGVkaXRvclxuICAgICAgcGFkZGluZzogJzVweCcsXG4gICAgfSxcblxuICAgICcmOmZpcnN0LWNoaWxkJzoge1xuICAgICAgbWFyZ2luVG9wOiAwLFxuICAgIH0sXG5cbiAgICAnJiB1bCwgJiBvbCc6IHtcbiAgICAgIHBhZGRpbmc6ICcwIDFyZW0nLFxuICAgICAgbWFyZ2luOiAnMS4yNXJlbSAxcmVtIDEuMjVyZW0gMC40cmVtJyxcbiAgICB9LFxuXG4gICAgJyYgdWwgbGkgcCwgJiBvbCBsaSBwJzoge1xuICAgICAgbWFyZ2luVG9wOiAnMC4yNWVtJyxcbiAgICAgIG1hcmdpbkJvdHRvbTogJzAuMjVlbScsXG4gICAgfSxcblxuICAgICcmIGgxLCAmIGgyLCAmIGgzLCAmIGg0LCAmIGg1LCAmIGg2Jzoge1xuICAgICAgbGluZUhlaWdodDogMS4xLFxuICAgICAgbWFyZ2luVG9wOiAnMi41cmVtJyxcbiAgICAgIHRleHRXcmFwOiAncHJldHR5JyxcbiAgICB9LFxuXG4gICAgJyYgaDEsICYgaDInOiB7XG4gICAgICBtYXJnaW5Ub3A6ICczLjVyZW0nLFxuICAgICAgbWFyZ2luQm90dG9tOiAnMS41cmVtJyxcbiAgICB9LFxuXG4gICAgJyYgaDEnOiB7XG4gICAgICBmb250U2l6ZTogJzEuNHJlbScsXG4gICAgfSxcblxuICAgICcmIGgyJzoge1xuICAgICAgZm9udFNpemU6ICcxLjJyZW0nLFxuICAgIH0sXG5cbiAgICAnJiBoMyc6IHtcbiAgICAgIGZvbnRTaXplOiAnMS4xcmVtJyxcbiAgICB9LFxuXG4gICAgJyYgaDQsICYgaDUsICYgaDYnOiB7XG4gICAgICBmb250U2l6ZTogJzFyZW0nLFxuICAgIH0sXG5cbiAgICAnJiBjb2RlJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAndmFyKC0tcHVycGxlLWxpZ2h0KScsXG4gICAgICBib3JkZXJSYWRpdXM6ICcwLjRyZW0nLFxuICAgICAgY29sb3I6ICd2YXIoLS1ibGFjayknLFxuICAgICAgZm9udFNpemU6ICcwLjg1cmVtJyxcbiAgICAgIHBhZGRpbmc6ICcwLjI1ZW0gMC4zZW0nLFxuICAgIH0sXG5cbiAgICAnJiBwcmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmxhY2spJyxcbiAgICAgIGJvcmRlclJhZGl1czogJzAuNXJlbScsXG4gICAgICBjb2xvcjogJ3ZhcigtLXdoaXRlKScsXG4gICAgICBmb250RmFtaWx5OiBcIidKZXRCcmFpbnNNb25vJywgbW9ub3NwYWNlXCIsXG4gICAgICBtYXJnaW46ICcxLjVyZW0gMCcsXG4gICAgICBwYWRkaW5nOiAnMC43NXJlbSAxcmVtJyxcblxuICAgICAgJyYgY29kZSc6IHtcbiAgICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgICBjb2xvcjogJ2luaGVyaXQnLFxuICAgICAgICBmb250U2l6ZTogJzAuOHJlbScsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAnJiBibG9ja3F1b3RlJzoge1xuICAgICAgYm9yZGVyTGVmdDogJzNweCBzb2xpZCB2YXIoLS1ncmF5LTMpJyxcbiAgICAgIG1hcmdpbjogJzEuNXJlbSAwJyxcbiAgICAgIHBhZGRpbmdMZWZ0OiAnMXJlbScsXG4gICAgfSxcblxuICAgICcmIGhyJzoge1xuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICBib3JkZXJUb3A6ICcxcHggc29saWQgdmFyKC0tZ3JheS0yKScsXG4gICAgICBtYXJnaW46ICcycmVtIDAnLFxuICAgIH0sXG5cbiAgICAnJiB0YWJsZSc6IHtcbiAgICAgIHRhYmxlTGF5b3V0OiAnZml4ZWQnLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAgICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgIH0sXG4gICAgJyYgdGFibGU6bm90KFtib3JkZXI9XCIxXCJdKSB0cic6IHtcbiAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCAjZGZlMmU1JyxcbiAgICB9LFxuICAgICcmIHRkLCB0aCc6IHtcbiAgICAgIHBhZGRpbmc6ICcuNmVtIDFlbScsXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIH0sXG4gICAgJyYgdGFibGU6bm90KFtib3JkZXI9XCIxXCJdKSB0ZCwgdGgnOiB7XG4gICAgICBib3JkZXI6ICcxcHggc29saWQgI2RmZTJlNScsXG4gICAgfSxcbiAgfSxcbiAgY2hpbGRyZW46IHtcbiAgICBwYWRkaW5nOiAnMTBweCAxNnB4JyxcbiAgfSxcbiAgZWRpdG9ySG9sZGVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgcGFkZGluZzogJzBweCcsXG4gICAgLy8gb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgb3ZlcmZsb3c6ICd2aXNpYmxlJyxcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgICcmOjpiZWZvcmUnOiB7XG4gICAgICBsZWZ0OiAnMCcsXG4gICAgICByaWdodDogJzAnLFxuICAgICAgYm90dG9tOiAnMCcsXG4gICAgICBoZWlnaHQ6ICcxcHgnLFxuICAgICAgY29udGVudDogJ1wiXCInLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciAyMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIDBtcycsXG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNDIpJyxcbiAgICB9LFxuICAgICcmOjphZnRlcic6IHtcbiAgICAgIGxlZnQ6ICcwJyxcbiAgICAgIHJpZ2h0OiAnMCcsXG4gICAgICBib3R0b206ICcwJyxcbiAgICAgIGhlaWdodDogJzFweCcsXG4gICAgICBjb250ZW50OiAnXCJcIicsXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRyYW5zZm9ybTogJ3NjYWxlWCgwKScsXG4gICAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDIwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKSAwbXMsIGJhY2tncm91bmQtY29sb3IgMjAwbXMgbGluZWFyJyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC40MiknLFxuICAgIH0sXG4gIH0sXG4gIGRpc2FibGVkVW5kZXJsaW5lOiB7XG4gICAgJyY6OmJlZm9yZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICB9LFxuICAgICcmOjphZnRlcic6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICB9LFxuICB9LFxuICBkaXNhYmxlZFNjcm9sbGJhcjoge1xuICAgICcmOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICB9LFxuICAgIHNjcm9sbGJhcldpZHRoOiAnbm9uZScsXG4gICAgJy1tcy1vdmVyZmxvdy1zdHlsZSc6ICdub25lJyxcbiAgfSxcbiAgcmVhZE9ubHk6IHtcbiAgICAnJjo6YmVmb3JlJzoge1xuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgIGJhY2tncm91bmRTaXplOiAnNXB4IDFweCcsXG4gICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICdsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC40MikgMzMlLCB0cmFuc3BhcmVudCAwJSknLFxuICAgICAgYmFja2dyb3VuZFJlcGVhdDogJ3JlcGVhdC14JyxcbiAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2xlZnQgdG9wJyxcbiAgICB9LFxuICAgICcmOjphZnRlcic6IHtcbiAgICAgIGxlZnQ6ICcwJyxcbiAgICAgIHJpZ2h0OiAnMCcsXG4gICAgICBib3R0b206ICcwJyxcbiAgICAgIGhlaWdodDogJzFweCcsXG4gICAgICBjb250ZW50OiAnXCJcIicsXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRyYW5zZm9ybTogJ3NjYWxlWCgwKScsXG4gICAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDIwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKSAwbXMsIGJhY2tncm91bmQtY29sb3IgMG1zIGxpbmVhcicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDApJyxcbiAgICB9LFxuICAgICcmOmhvdmVyJzoge1xuICAgICAgJyY6OmFmdGVyJzoge1xuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZVgoMCknLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuY29tbW9uLmJsYWNrLFxuICAgICAgICBoZWlnaHQ6ICcycHgnLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICBlcnJvcjoge1xuICAgIGJvcmRlcjogYDJweCBzb2xpZCAke3RoZW1lLnBhbGV0dGUuZXJyb3IubWFpbn0gIWltcG9ydGFudGAsXG4gIH0sXG4gIG5vQm9yZGVyOiB7XG4gICAgYm9yZGVyOiAnbm9uZScsXG4gIH0sXG4gIG5vUGFkZGluZzoge1xuICAgIHBhZGRpbmc6IDAsXG4gIH0sXG4gIHRvb2xiYXJPblRvcDoge1xuICAgIG1hcmdpblRvcDogJzQ1cHgnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHN0eWxlcztcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/styles/editorContainerStyles.js"],"names":["styles","theme","root","position","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","marginTop","margin","marginBottom","lineHeight","textWrap","fontSize","backgroundColor","color","background","fontFamily","borderLeft","paddingLeft","borderTop","tableLayout","width","borderCollapse","text","textAlign","children","editorHolder","left","right","bottom","height","content","transition","pointerEvents","transform","disabledUnderline","display","disabledScrollbar","scrollbarWidth","readOnly","backgroundSize","backgroundImage","backgroundRepeat","backgroundPosition","palette","common","black","error","main","noBorder","noPadding","toolbarOnTop"],"mappings":"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","sourcesContent":["import { color } from '@pie-lib/render-ui';\nimport { primary } from '../theme';\n\nconst styles = (theme) => ({\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n // needed in order to be able to put the focus before a void element when it is the first one in the editor\n padding: '5px',\n },\n\n '&:first-child': {\n marginTop: 0,\n },\n\n '& ul, & ol': {\n padding: '0 1rem',\n margin: '1.25rem 1rem 1.25rem 0.4rem',\n },\n\n '& ul li p, & ol li p': {\n marginTop: '0.25em',\n marginBottom: '0.25em',\n },\n\n '& h1, & h2, & h3, & h4, & h5, & h6': {\n lineHeight: 1.1,\n marginTop: '2.5rem',\n textWrap: 'pretty',\n },\n\n '& h1, & h2': {\n marginTop: '3.5rem',\n marginBottom: '1.5rem',\n },\n\n '& h1': {\n fontSize: '1.4rem',\n },\n\n '& h2': {\n fontSize: '1.2rem',\n },\n\n '& h3': {\n fontSize: '1.1rem',\n },\n\n '& h4, & h5, & h6': {\n fontSize: '1rem',\n },\n\n '& code': {\n backgroundColor: 'var(--purple-light)',\n borderRadius: '0.4rem',\n color: 'var(--black)',\n fontSize: '0.85rem',\n padding: '0.25em 0.3em',\n },\n\n '& pre': {\n background: 'var(--black)',\n borderRadius: '0.5rem',\n color: 'var(--white)',\n fontFamily: \"'JetBrainsMono', monospace\",\n margin: '1.5rem 0',\n padding: '0.75rem 1rem',\n\n '& code': {\n background: 'none',\n color: 'inherit',\n fontSize: '0.8rem',\n padding: 0,\n },\n },\n\n '& blockquote': {\n borderLeft: '3px solid var(--gray-3)',\n margin: '1.5rem 0',\n paddingLeft: '1rem',\n },\n\n '& hr': {\n border: 'none',\n borderTop: '1px solid var(--gray-2)',\n margin: '2rem 0',\n },\n\n '& table': {\n tableLayout: 'fixed',\n width: '100%',\n borderCollapse: 'collapse',\n color: color.text(),\n backgroundColor: color.background(),\n },\n '& table:not([border=\"1\"]) tr': {\n borderTop: '1px solid #dfe2e5',\n },\n '& td, th': {\n padding: '.6em 1em',\n textAlign: 'center',\n },\n '& table:not([border=\"1\"]) td, th': {\n border: '1px solid #dfe2e5',\n },\n },\n children: {\n padding: '10px 16px',\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n // overflowY: 'auto',\n overflow: 'visible',\n color: color.text(),\n backgroundColor: color.background(),\n '&::before': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 200ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0.42)',\n },\n },\n disabledUnderline: {\n '&::before': {\n display: 'none',\n },\n '&::after': {\n display: 'none',\n },\n },\n disabledScrollbar: {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n },\n readOnly: {\n '&::before': {\n background: 'transparent',\n backgroundSize: '5px 1px',\n backgroundImage: 'linear-gradient(to right, rgba(0, 0, 0, 0.42) 33%, transparent 0%)',\n backgroundRepeat: 'repeat-x',\n backgroundPosition: 'left top',\n },\n '&::after': {\n left: '0',\n right: '0',\n bottom: '0',\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0.0, 0.2, 1) 0ms, background-color 0ms linear',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n },\n '&:hover': {\n '&::after': {\n transform: 'scaleX(0)',\n backgroundColor: theme.palette.common.black,\n height: '2px',\n },\n },\n },\n error: {\n border: `2px solid ${theme.palette.error.main} !important`,\n },\n noBorder: {\n border: 'none',\n },\n noPadding: {\n padding: 0,\n },\n toolbarOnTop: {\n marginTop: '45px',\n },\n});\n\nexport default styles;\n"],"file":"editorContainerStyles.js"}
|
package/lib/theme.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/theme.js"],"names":["primary"],"mappings":";;;;;;AAAO,IAAMA,OAAO,GAAG,SAAhB","sourcesContent":["export const primary = '#304ffe';\n"],"file":"theme.js"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.valueToSize = void 0;
|
|
7
|
+
|
|
8
|
+
var valueToSize = function valueToSize(v) {
|
|
9
|
+
if (!v) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
var calcRegex = /^calc\((.*)\)$/;
|
|
14
|
+
|
|
15
|
+
if (typeof v === 'string') {
|
|
16
|
+
if (v.endsWith('%')) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (v.endsWith('px') || v.endsWith('vh') || v.endsWith('vw') || v.endsWith('ch') || v.endsWith('em') || v.match(calcRegex)) {
|
|
21
|
+
return v;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var value = parseInt(v, 10);
|
|
25
|
+
return Number.isNaN(value) ? value : "".concat(value, "px");
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (typeof v === 'number') {
|
|
29
|
+
return "".concat(v, "px");
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.valueToSize = valueToSize;
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zaXplLmpzIl0sIm5hbWVzIjpbInZhbHVlVG9TaXplIiwidiIsImNhbGNSZWdleCIsImVuZHNXaXRoIiwidW5kZWZpbmVkIiwibWF0Y2giLCJ2YWx1ZSIsInBhcnNlSW50IiwiTnVtYmVyIiwiaXNOYU4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDQyxDQUFELEVBQU87QUFDaEMsTUFBSSxDQUFDQSxDQUFMLEVBQVE7QUFDTjtBQUNEOztBQUVELE1BQU1DLFNBQVMsR0FBRyxnQkFBbEI7O0FBRUEsTUFBSSxPQUFPRCxDQUFQLEtBQWEsUUFBakIsRUFBMkI7QUFDekIsUUFBSUEsQ0FBQyxDQUFDRSxRQUFGLENBQVcsR0FBWCxDQUFKLEVBQXFCO0FBQ25CLGFBQU9DLFNBQVA7QUFDRDs7QUFFRCxRQUNFSCxDQUFDLENBQUNFLFFBQUYsQ0FBVyxJQUFYLEtBQ0FGLENBQUMsQ0FBQ0UsUUFBRixDQUFXLElBQVgsQ0FEQSxJQUVBRixDQUFDLENBQUNFLFFBQUYsQ0FBVyxJQUFYLENBRkEsSUFHQUYsQ0FBQyxDQUFDRSxRQUFGLENBQVcsSUFBWCxDQUhBLElBSUFGLENBQUMsQ0FBQ0UsUUFBRixDQUFXLElBQVgsQ0FKQSxJQUtBRixDQUFDLENBQUNJLEtBQUYsQ0FBUUgsU0FBUixDQU5GLEVBT0U7QUFDQSxhQUFPRCxDQUFQO0FBQ0Q7O0FBRUQsUUFBTUssS0FBSyxHQUFHQyxRQUFRLENBQUNOLENBQUQsRUFBSSxFQUFKLENBQXRCO0FBRUEsV0FBT08sTUFBTSxDQUFDQyxLQUFQLENBQWFILEtBQWIsSUFBc0JBLEtBQXRCLGFBQWlDQSxLQUFqQyxPQUFQO0FBQ0Q7O0FBRUQsTUFBSSxPQUFPTCxDQUFQLEtBQWEsUUFBakIsRUFBMkI7QUFDekIscUJBQVVBLENBQVY7QUFDRDtBQUNGLENBL0JNIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHZhbHVlVG9TaXplID0gKHYpID0+IHtcbiAgaWYgKCF2KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgY2FsY1JlZ2V4ID0gL15jYWxjXFwoKC4qKVxcKSQvO1xuXG4gIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodi5lbmRzV2l0aCgnJScpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHYuZW5kc1dpdGgoJ3B4JykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ3ZoJykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ3Z3JykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ2NoJykgfHxcbiAgICAgIHYuZW5kc1dpdGgoJ2VtJykgfHxcbiAgICAgIHYubWF0Y2goY2FsY1JlZ2V4KVxuICAgICkge1xuICAgICAgcmV0dXJuIHY7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUludCh2LCAxMCk7XG5cbiAgICByZXR1cm4gTnVtYmVyLmlzTmFOKHZhbHVlKSA/IHZhbHVlIDogYCR7dmFsdWV9cHhgO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2ID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBgJHt2fXB4YDtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/size.js"],"names":["valueToSize","v","calcRegex","endsWith","undefined","match","value","parseInt","Number","isNaN"],"mappings":";;;;;;;AAAO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAO;AAChC,MAAI,CAACA,CAAL,EAAQ;AACN;AACD;;AAED,MAAMC,SAAS,GAAG,gBAAlB;;AAEA,MAAI,OAAOD,CAAP,KAAa,QAAjB,EAA2B;AACzB,QAAIA,CAAC,CAACE,QAAF,CAAW,GAAX,CAAJ,EAAqB;AACnB,aAAOC,SAAP;AACD;;AAED,QACEH,CAAC,CAACE,QAAF,CAAW,IAAX,KACAF,CAAC,CAACE,QAAF,CAAW,IAAX,CADA,IAEAF,CAAC,CAACE,QAAF,CAAW,IAAX,CAFA,IAGAF,CAAC,CAACE,QAAF,CAAW,IAAX,CAHA,IAIAF,CAAC,CAACE,QAAF,CAAW,IAAX,CAJA,IAKAF,CAAC,CAACI,KAAF,CAAQH,SAAR,CANF,EAOE;AACA,aAAOD,CAAP;AACD;;AAED,QAAMK,KAAK,GAAGC,QAAQ,CAACN,CAAD,EAAI,EAAJ,CAAtB;AAEA,WAAOO,MAAM,CAACC,KAAP,CAAaH,KAAb,IAAsBA,KAAtB,aAAiCA,KAAjC,OAAP;AACD;;AAED,MAAI,OAAOL,CAAP,KAAa,QAAjB,EAA2B;AACzB,qBAAUA,CAAV;AACD;AACF,CA/BM","sourcesContent":["export const valueToSize = (v) => {\n if (!v) {\n return;\n }\n\n const calcRegex = /^calc\\((.*)\\)$/;\n\n if (typeof v === 'string') {\n if (v.endsWith('%')) {\n return undefined;\n }\n\n if (\n v.endsWith('px') ||\n v.endsWith('vh') ||\n v.endsWith('vw') ||\n v.endsWith('ch') ||\n v.endsWith('em') ||\n v.match(calcRegex)\n ) {\n return v;\n }\n\n const value = parseInt(v, 10);\n\n return Number.isNaN(value) ? value : `${value}px`;\n }\n\n if (typeof v === 'number') {\n return `${v}px`;\n }\n};\n"],"file":"size.js"}
|