decap-cms-core
Version:
Decap CMS core application, see decap-cms package for the main distribution.
54 lines (53 loc) • 221 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _base = _interopRequireDefault(require("@emotion/styled/base"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
var _react2 = require("@emotion/react");
var _reactSplitPane = _interopRequireDefault(require("react-split-pane"));
var _decapCmsUiDefault = require("decap-cms-ui-default");
var _reactScrollSync = require("react-scroll-sync");
var _EditorControlPane = _interopRequireDefault(require("./EditorControlPane/EditorControlPane"));
var _EditorPreviewPane = _interopRequireDefault(require("./EditorPreviewPane/EditorPreviewPane"));
var _EditorToolbar = _interopRequireDefault(require("./EditorToolbar"));
var _i18n = require("../../lib/i18n");
var _collectionTypes = require("../../constants/collectionTypes");
var _collections = require("../../reducers/collections");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
const PREVIEW_VISIBLE = 'cms.preview-visible';
const SCROLL_SYNC_ENABLED = 'cms.scroll-sync-enabled';
const SPLIT_PANE_POSITION = 'cms.split-pane-position';
const I18N_VISIBLE = 'cms.i18n-visible';
const styles = {
splitPane: /*#__PURE__*/(0, _react2.css)(_decapCmsUiDefault.components.card, ";border-radius:0;height:100%;;label:splitPane;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JJbnRlcmZhY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJnQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9FZGl0b3IvRWRpdG9ySW50ZXJmYWNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgU3BsaXRQYW5lIGZyb20gJ3JlYWN0LXNwbGl0LXBhbmUnO1xuaW1wb3J0IHtcbiAgY29sb3JzLFxuICBjb2xvcnNSYXcsXG4gIGNvbXBvbmVudHMsXG4gIHRyYW5zaXRpb25zLFxuICBJY29uQnV0dG9uLFxuICB6SW5kZXgsXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IFNjcm9sbFN5bmMsIFNjcm9sbFN5bmNQYW5lIH0gZnJvbSAncmVhY3Qtc2Nyb2xsLXN5bmMnO1xuXG5pbXBvcnQgRWRpdG9yQ29udHJvbFBhbmUgZnJvbSAnLi9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sUGFuZSc7XG5pbXBvcnQgRWRpdG9yUHJldmlld1BhbmUgZnJvbSAnLi9FZGl0b3JQcmV2aWV3UGFuZS9FZGl0b3JQcmV2aWV3UGFuZSc7XG5pbXBvcnQgRWRpdG9yVG9vbGJhciBmcm9tICcuL0VkaXRvclRvb2xiYXInO1xuaW1wb3J0IHsgaGFzSTE4biwgZ2V0STE4bkluZm8sIGdldFByZXZpZXdFbnRyeSB9IGZyb20gJy4uLy4uL2xpYi9pMThuJztcbmltcG9ydCB7IEZJTEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbGxlY3Rpb25UeXBlcyc7XG5pbXBvcnQgeyBnZXRGaWxlRnJvbVNsdWcgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IFBSRVZJRVdfVklTSUJMRSA9ICdjbXMucHJldmlldy12aXNpYmxlJztcbmNvbnN0IFNDUk9MTF9TWU5DX0VOQUJMRUQgPSAnY21zLnNjcm9sbC1zeW5jLWVuYWJsZWQnO1xuY29uc3QgU1BMSVRfUEFORV9QT1NJVElPTiA9ICdjbXMuc3BsaXQtcGFuZS1wb3NpdGlvbic7XG5jb25zdCBJMThOX1ZJU0lCTEUgPSAnY21zLmkxOG4tdmlzaWJsZSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgc3BsaXRQYW5lOiBjc3NgXG4gICAgJHtjb21wb25lbnRzLmNhcmR9O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICBgLFxuICBwYW5lOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIGAsXG59O1xuXG5jb25zdCBFZGl0b3JUb2dnbGUgPSBzdHlsZWQoSWNvbkJ1dHRvbilgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5mdW5jdGlvbiBSZWFjdFNwbGl0UGFuZUdsb2JhbFN0eWxlcygpIHtcbiAgcmV0dXJuIChcbiAgICA8R2xvYmFsXG4gICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgLlJlc2l6ZXIudmVydGljYWwge1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYH1cbiAgICAvPlxuICApO1xufVxuXG5jb25zdCBTdHlsZWRTcGxpdFBhbmUgPSBzdHlsZWQoU3BsaXRQYW5lKWBcbiAgJHtzdHlsZXMuc3BsaXRQYW5lfTtcblxuICAvKipcbiAgICogUXVpY2sgZml4IGZvciBwcmV2aWV3IHBhbmUgbm90IGZ1bGx5IGRpc3BsYXlpbmcgaW4gU2FmYXJpXG4gICAqL1xuICAuUGFuZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5gO1xuXG5jb25zdCBOb1ByZXZpZXdDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy5zcGxpdFBhbmV9O1xuYDtcblxuY29uc3QgRWRpdG9yQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA2NnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbmA7XG5cbmNvbnN0IEVkaXRvciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IFByZXZpZXdQYW5lQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuYmxvY2tFbnRyeSA/ICdub25lJyA6ICdhdXRvJyl9O1xuICBvdmVyZmxvdy15OiAke3Byb3BzID0+IChwcm9wcy5vdmVyRmxvdyA/ICdhdXRvJyA6ICdoaWRkZW4nKX07XG5gO1xuXG5jb25zdCBDb250cm9sUGFuZUNvbnRhaW5lciA9IHN0eWxlZChQcmV2aWV3UGFuZUNvbnRhaW5lcilgXG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5gO1xuXG5jb25zdCBWaWV3Q29udHJvbHMgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDI5OX07XG5gO1xuXG5mdW5jdGlvbiBFZGl0b3JDb250ZW50KHtcbiAgaTE4blZpc2libGUsXG4gIHByZXZpZXdWaXNpYmxlLFxuICBlZGl0b3IsXG4gIGVkaXRvcldpdGhFZGl0b3IsXG4gIGVkaXRvcldpdGhQcmV2aWV3LFxufSkge1xuICBpZiAoaTE4blZpc2libGUpIHtcbiAgICByZXR1cm4gZWRpdG9yV2l0aEVkaXRvcjtcbiAgfSBlbHNlIGlmIChwcmV2aWV3VmlzaWJsZSkge1xuICAgIHJldHVybiBlZGl0b3JXaXRoUHJldmlldztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gPE5vUHJldmlld0NvbnRhaW5lcj57ZWRpdG9yfTwvTm9QcmV2aWV3Q29udGFpbmVyPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1ByZXZpZXdFbmFibGVkKGNvbGxlY3Rpb24sIGVudHJ5KSB7XG4gIGlmIChjb2xsZWN0aW9uLmdldCgndHlwZScpID09PSBGSUxFUykge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlRnJvbVNsdWcoY29sbGVjdGlvbiwgZW50cnkuZ2V0KCdzbHVnJykpO1xuICAgIGNvbnN0IHByZXZpZXdFbmFibGVkID0gZmlsZT8uZ2V0SW4oWydlZGl0b3InLCAncHJldmlldyddKTtcbiAgICBpZiAocHJldmlld0VuYWJsZWQgIT0gbnVsbCkgcmV0dXJuIHByZXZpZXdFbmFibGVkO1xuICB9XG4gIHJldHVybiBjb2xsZWN0aW9uLmdldEluKFsnZWRpdG9yJywgJ3ByZXZpZXcnXSwgdHJ1ZSk7XG59XG5cbmNsYXNzIEVkaXRvckludGVyZmFjZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIHNob3dFdmVudEJsb2NrZXI6IGZhbHNlLFxuICAgIHByZXZpZXdWaXNpYmxlOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShQUkVWSUVXX1ZJU0lCTEUpICE9PSAnZmFsc2UnLFxuICAgIHNjcm9sbFN5bmNFbmFibGVkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTQ1JPTExfU1lOQ19FTkFCTEVEKSAhPT0gJ2ZhbHNlJyxcbiAgICBpMThuVmlzaWJsZTogbG9jYWxTdG9yYWdlLmdldEl0ZW0oSTE4Tl9WSVNJQkxFKSAhPT0gJ2ZhbHNlJyxcbiAgfTtcblxuICBoYW5kbGVTcGxpdFBhbmVEcmFnU3RhcnQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dFdmVudEJsb2NrZXI6IHRydWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlU3BsaXRQYW5lRHJhZ0ZpbmlzaGVkID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93RXZlbnRCbG9ja2VyOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVPblBlcnNpc3QgPSBhc3luYyAob3B0cyA9IHt9KSA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGVOZXcgPSBmYWxzZSwgZHVwbGljYXRlID0gZmFsc2UgfSA9IG9wdHM7XG4gICAgYXdhaXQgdGhpcy5jb250cm9sUGFuZVJlZi5zd2l0Y2hUb0RlZmF1bHRMb2NhbGUoKTtcbiAgICB0aGlzLmNvbnRyb2xQYW5lUmVmLnZhbGlkYXRlKCk7XG4gICAgdGhpcy5wcm9wcy5vblBlcnNpc3QoeyBjcmVhdGVOZXcsIGR1cGxpY2F0ZSB9KTtcbiAgfTtcblxuICBoYW5kbGVPblB1Ymxpc2ggPSBhc3luYyAob3B0cyA9IHt9KSA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGVOZXcgPSBmYWxzZSwgZHVwbGljYXRlID0gZmFsc2UgfSA9IG9wdHM7XG4gICAgYXdhaXQgdGhpcy5jb250cm9sUGFuZVJlZi5zd2l0Y2hUb0RlZmF1bHRMb2NhbGUoKTtcbiAgICB0aGlzLmNvbnRyb2xQYW5lUmVmLnZhbGlkYXRlKCk7XG4gICAgdGhpcy5wcm9wcy5vblB1Ymxpc2goeyBjcmVhdGVOZXcsIGR1cGxpY2F0ZSB9KTtcbiAgfTtcblxuICBoYW5kbGVUb2dnbGVQcmV2aWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IG5ld1ByZXZpZXdWaXNpYmxlID0gIXRoaXMuc3RhdGUucHJldmlld1Zpc2libGU7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHByZXZpZXdWaXNpYmxlOiBuZXdQcmV2aWV3VmlzaWJsZSB9KTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShQUkVWSUVXX1ZJU0lCTEUsIG5ld1ByZXZpZXdWaXNpYmxlKTtcbiAgfTtcblxuICBoYW5kbGVUb2dnbGVTY3JvbGxTeW5jID0gKCkgPT4ge1xuICAgIGNvbnN0IG5ld1Njcm9sbFN5bmNFbmFibGVkID0gIXRoaXMuc3RhdGUuc2Nyb2xsU3luY0VuYWJsZWQ7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNjcm9sbFN5bmNFbmFibGVkOiBuZXdTY3JvbGxTeW5jRW5hYmxlZCB9KTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTQ1JPTExfU1lOQ19FTkFCTEVELCBuZXdTY3JvbGxTeW5jRW5hYmxlZCk7XG4gIH07XG5cbiAgaGFuZGxlVG9nZ2xlSTE4biA9ICgpID0+IHtcbiAgICBjb25zdCBuZXdJMThuVmlzaWJsZSA9ICF0aGlzLnN0YXRlLmkxOG5WaXNpYmxlO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpMThuVmlzaWJsZTogbmV3STE4blZpc2libGUgfSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oSTE4Tl9WSVNJQkxFLCBuZXdJMThuVmlzaWJsZSk7XG4gIH07XG5cbiAgaGFuZGxlTGVmdFBhbmVsTG9jYWxlQ2hhbmdlID0gbG9jYWxlID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbGVmdFBhbmVsTG9jYWxlOiBsb2NhbGUgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBlbnRyeSxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBzaG93RGVsZXRlLFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIG9uQ2hhbmdlU3RhdHVzLFxuICAgICAgb25QdWJsaXNoLFxuICAgICAgdW5QdWJsaXNoLFxuICAgICAgb25EdXBsaWNhdGUsXG4gICAgICBvblZhbGlkYXRlLFxuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgaXNOZXdFbnRyeSxcbiAgICAgIGlzTW9kaWZpY2F0aW9uLFxuICAgICAgY3VycmVudFN0YXR1cyxcbiAgICAgIG9uTG9nb3V0Q2xpY2ssXG4gICAgICBsb2FkRGVwbG95UHJldmlldyxcbiAgICAgIGRlcGxveVByZXZpZXcsXG4gICAgICBkcmFmdEtleSxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHsgc2Nyb2xsU3luY0VuYWJsZWQsIHNob3dFdmVudEJsb2NrZXIgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBwcmV2aWV3RW5hYmxlZCA9IGlzUHJldmlld0VuYWJsZWQoY29sbGVjdGlvbiwgZW50cnkpO1xuXG4gICAgY29uc3QgeyBsb2NhbGVzLCBkZWZhdWx0TG9jYWxlIH0gPSBnZXRJMThuSW5mbyh0aGlzLnByb3BzLmNvbGxlY3Rpb24pO1xuICAgIGNvbnN0IGNvbGxlY3Rpb25JMThuRW5hYmxlZCA9IGhhc0kxOG4oY29sbGVjdGlvbikgJiYgbG9jYWxlcy5sZW5ndGggPiAxO1xuICAgIGNvbnN0IGVkaXRvclByb3BzID0ge1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGVudHJ5LFxuICAgICAgZmllbGRzLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgfTtcblxuICAgIGNvbnN0IGxlZnRQYW5lbExvY2FsZSA9IHRoaXMuc3RhdGUubGVmdFBhbmVsTG9jYWxlIHx8IGxvY2FsZXM/LlswXTtcbiAgICBjb25zdCBlZGl0b3IgPSAoXG4gICAgICA8Q29udHJvbFBhbmVDb250YWluZXIgb3ZlckZsb3cgYmxvY2tFbnRyeT17c2hvd0V2ZW50QmxvY2tlcn0+XG4gICAgICAgIDxFZGl0b3JDb250cm9sUGFuZVxuICAgICAgICAgIHsuLi5lZGl0b3JQcm9wc31cbiAgICAgICAgICByZWY9e2MgPT4gKHRoaXMuY29udHJvbFBhbmVSZWYgPSBjKX1cbiAgICAgICAgICBsb2NhbGU9e2xlZnRQYW5lbExvY2FsZX1cbiAgICAgICAgICB0PXt0fVxuICAgICAgICAgIG9uTG9jYWxlQ2hhbmdlPXt0aGlzLmhhbmRsZUxlZnRQYW5lbExvY2FsZUNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvQ29udHJvbFBhbmVDb250YWluZXI+XG4gICAgKTtcblxuICAgIGNvbnN0IGVkaXRvcjIgPSAoXG4gICAgICA8Q29udHJvbFBhbmVDb250YWluZXIgb3ZlckZsb3c9eyF0aGlzLnN0YXRlLnNjcm9sbFN5bmNFbmFibGVkfSBibG9ja0VudHJ5PXtzaG93RXZlbnRCbG9ja2VyfT5cbiAgICAgICAgPEVkaXRvckNvbnRyb2xQYW5lIHsuLi5lZGl0b3JQcm9wc30gbG9jYWxlPXtsb2NhbGVzPy5bMV19IHQ9e3R9IC8+XG4gICAgICA8L0NvbnRyb2xQYW5lQ29udGFpbmVyPlxuICAgICk7XG5cbiAgICBjb25zdCBwcmV2aWV3RW50cnkgPSBjb2xsZWN0aW9uSTE4bkVuYWJsZWRcbiAgICAgID8gZ2V0UHJldmlld0VudHJ5KGVudHJ5LCBsZWZ0UGFuZWxMb2NhbGUsIGRlZmF1bHRMb2NhbGUpXG4gICAgICA6IGVudHJ5O1xuXG4gICAgY29uc3QgZWRpdG9yV2l0aFByZXZpZXcgPSAoXG4gICAgICA8U2Nyb2xsU3luYyBlbmFibGVkPXt0aGlzLnN0YXRlLnNjcm9sbFN5bmNFbmFibGVkfT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8UmVhY3RTcGxpdFBhbmVHbG9iYWxTdHlsZXMgLz5cbiAgICAgICAgICA8U3R5bGVkU3BsaXRQYW5lXG4gICAgICAgICAgICBtYXhTaXplPXstMTAwfVxuICAgICAgICAgICAgbWluU2l6ZT17NDAwfVxuICAgICAgICAgICAgZGVmYXVsdFNpemU9e3BhcnNlSW50KGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNQTElUX1BBTkVfUE9TSVRJT04pLCAxMCkgfHwgJzUwJSd9XG4gICAgICAgICAgICBvbkNoYW5nZT17c2l6ZSA9PiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTUExJVF9QQU5FX1BPU0lUSU9OLCBzaXplKX1cbiAgICAgICAgICAgIG9uRHJhZ1N0YXJ0ZWQ9e3RoaXMuaGFuZGxlU3BsaXRQYW5lRHJhZ1N0YXJ0fVxuICAgICAgICAgICAgb25EcmFnRmluaXNoZWQ9e3RoaXMuaGFuZGxlU3BsaXRQYW5lRHJhZ0ZpbmlzaGVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTY3JvbGxTeW5jUGFuZT57ZWRpdG9yfTwvU2Nyb2xsU3luY1BhbmU+XG4gICAgICAgICAgICA8UHJldmlld1BhbmVDb250YWluZXIgYmxvY2tFbnRyeT17c2hvd0V2ZW50QmxvY2tlcn0+XG4gICAgICAgICAgICAgIDxFZGl0b3JQcmV2aWV3UGFuZVxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgICAgZW50cnk9e3ByZXZpZXdFbnRyeX1cbiAgICAgICAgICAgICAgICBmaWVsZHM9e2ZpZWxkc31cbiAgICAgICAgICAgICAgICBmaWVsZHNNZXRhRGF0YT17ZmllbGRzTWV0YURhdGF9XG4gICAgICAgICAgICAgICAgbG9jYWxlPXtsZWZ0UGFuZWxMb2NhbGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1ByZXZpZXdQYW5lQ29udGFpbmVyPlxuICAgICAgICAgIDwvU3R5bGVkU3BsaXRQYW5lPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU2Nyb2xsU3luYz5cbiAgICApO1xuXG4gICAgY29uc3QgZWRpdG9yV2l0aEVkaXRvciA9IChcbiAgICAgIDxTY3JvbGxTeW5jIGVuYWJsZWQ9e3RoaXMuc3RhdGUuc2Nyb2xsU3luY0VuYWJsZWR9PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxTdHlsZWRTcGxpdFBhbmVcbiAgICAgICAgICAgIG1heFNpemU9ey0xMDB9XG4gICAgICAgICAgICBkZWZhdWx0U2l6ZT17cGFyc2VJbnQobG9jYWxTdG9yYWdlLmdldEl0ZW0oU1BMSVRfUEFORV9QT1NJVElPTiksIDEwKSB8fCAnNTAlJ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtzaXplID0+IGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNQTElUX1BBTkVfUE9TSVRJT04sIHNpemUpfVxuICAgICAgICAgICAgb25EcmFnU3RhcnRlZD17dGhpcy5oYW5kbGVTcGxpdFBhbmVEcmFnU3RhcnR9XG4gICAgICAgICAgICBvbkRyYWdGaW5pc2hlZD17dGhpcy5oYW5kbGVTcGxpdFBhbmVEcmFnRmluaXNoZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNjcm9sbFN5bmNQYW5lPntlZGl0b3J9PC9TY3JvbGxTeW5jUGFuZT5cbiAgICAgICAgICAgIDxTY3JvbGxTeW5jUGFuZT57ZWRpdG9yMn08L1Njcm9sbFN5bmNQYW5lPlxuICAgICAgICAgIDwvU3R5bGVkU3BsaXRQYW5lPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU2Nyb2xsU3luYz5cbiAgICApO1xuXG4gICAgY29uc3QgaTE4blZpc2libGUgPSBjb2xsZWN0aW9uSTE4bkVuYWJsZWQgJiYgdGhpcy5zdGF0ZS5pMThuVmlzaWJsZTtcbiAgICBjb25zdCBwcmV2aWV3VmlzaWJsZSA9IHByZXZpZXdFbmFibGVkICYmIHRoaXMuc3RhdGUucHJldmlld1Zpc2libGU7XG4gICAgY29uc3Qgc2Nyb2xsU3luY1Zpc2libGUgPSBpMThuVmlzaWJsZSB8fCBwcmV2aWV3VmlzaWJsZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RWRpdG9yQ29udGFpbmVyPlxuICAgICAgICA8RWRpdG9yVG9vbGJhclxuICAgICAgICAgIGlzUGVyc2lzdGluZz17ZW50cnkuZ2V0KCdpc1BlcnNpc3RpbmcnKX1cbiAgICAgICAgICBpc1B1Ymxpc2hpbmc9e2VudHJ5LmdldCgnaXNQdWJsaXNoaW5nJyl9XG4gICAgICAgICAgaXNVcGRhdGluZ1N0YXR1cz17ZW50cnkuZ2V0KCdpc1VwZGF0aW5nU3RhdHVzJyl9XG4gICAgICAgICAgaXNEZWxldGluZz17ZW50cnkuZ2V0KCdpc0RlbGV0aW5nJyl9XG4gICAgICAgICAgb25QZXJzaXN0PXt0aGlzLmhhbmRsZU9uUGVyc2lzdH1cbiAgICAgICAgICBvblBlcnNpc3RBbmROZXc9eygpID0+IHRoaXMuaGFuZGxlT25QZXJzaXN0KHsgY3JlYXRlTmV3OiB0cnVlIH0pfVxuICAgICAgICAgIG9uUGVyc2lzdEFuZER1cGxpY2F0ZT17KCkgPT4gdGhpcy5oYW5kbGVPblBlcnNpc3QoeyBjcmVhdGVOZXc6IHRydWUsIGR1cGxpY2F0ZTogdHJ1ZSB9KX1cbiAgICAgICAgICBvbkRlbGV0ZT17b25EZWxldGV9XG4gICAgICAgICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM9e29uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzfVxuICAgICAgICAgIG9uQ2hhbmdlU3RhdHVzPXtvbkNoYW5nZVN0YXR1c31cbiAgICAgICAgICBzaG93RGVsZXRlPXtzaG93RGVsZXRlfVxuICAgICAgICAgIG9uUHVibGlzaD17b25QdWJsaXNofVxuICAgICAgICAgIHVuUHVibGlzaD17dW5QdWJsaXNofVxuICAgICAgICAgIG9uRHVwbGljYXRlPXtvbkR1cGxpY2F0ZX1cbiAgICAgICAgICBvblB1Ymxpc2hBbmROZXc9eygpID0+IHRoaXMuaGFuZGxlT25QdWJsaXNoKHsgY3JlYXRlTmV3OiB0cnVlIH0pfVxuICAgICAgICAgIG9uUHVibGlzaEFuZER1cGxpY2F0ZT17KCkgPT4gdGhpcy5oYW5kbGVPblB1Ymxpc2goeyBjcmVhdGVOZXc6IHRydWUsIGR1cGxpY2F0ZTogdHJ1ZSB9KX1cbiAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgIGhhc0NoYW5nZWQ9e2hhc0NoYW5nZWR9XG4gICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufVxuICAgICAgICAgIGhhc1dvcmtmbG93PXtoYXNXb3JrZmxvd31cbiAgICAgICAgICB1c2VPcGVuQXV0aG9yaW5nPXt1c2VPcGVuQXV0aG9yaW5nfVxuICAgICAgICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlcz17aGFzVW5wdWJsaXNoZWRDaGFuZ2VzfVxuICAgICAgICAgIGlzTmV3RW50cnk9e2lzTmV3RW50cnl9XG4gICAgICAgICAgaXNNb2RpZmljYXRpb249e2lzTW9kaWZpY2F0aW9ufVxuICAgICAgICAgIGN1cnJlbnRTdGF0dXM9e2N1cnJlbnRTdGF0dXN9XG4gICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICBsb2FkRGVwbG95UHJldmlldz17bG9hZERlcGxveVByZXZpZXd9XG4gICAgICAgICAgZGVwbG95UHJldmlldz17ZGVwbG95UHJldmlld31cbiAgICAgICAgICBlZGl0b3JCYWNrTGluaz17ZWRpdG9yQmFja0xpbmt9XG4gICAgICAgIC8+XG4gICAgICAgIDxFZGl0b3Iga2V5PXtkcmFmdEtleX0+XG4gICAgICAgICAgPFZpZXdDb250cm9scz5cbiAgICAgICAgICAgIHtjb2xsZWN0aW9uSTE4bkVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICA8RWRpdG9yVG9nZ2xlXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e2kxOG5WaXNpYmxlfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlVG9nZ2xlSTE4bn1cbiAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJwYWdlXCJcbiAgICAgICAgICAgICAgICB0aXRsZT17dCgnZWRpdG9yLmVkaXRvckludGVyZmFjZS50b2dnbGVJMThuJyl9XG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wPVwiNzBweFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge3ByZXZpZXdFbmFibGVkICYmIChcbiAgICAgICAgICAgICAgPEVkaXRvclRvZ2dsZVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtwcmV2aWV3VmlzaWJsZX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVRvZ2dsZVByZXZpZXd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZXllXCJcbiAgICAgICAgICAgICAgICB0aXRsZT17dCgnZWRpdG9yLmVkaXRvckludGVyZmFjZS50b2dnbGVQcmV2aWV3Jyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge3Njcm9sbFN5bmNWaXNpYmxlICYmIChcbiAgICAgICAgICAgICAgPEVkaXRvclRvZ2dsZVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtzY3JvbGxTeW5jRW5hYmxlZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVRvZ2dsZVNjcm9sbFN5bmN9XG4gICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwic2Nyb2xsXCJcbiAgICAgICAgICAgICAgICB0aXRsZT17dCgnZWRpdG9yLmVkaXRvckludGVyZmFjZS50b2dnbGVTY3JvbGxTeW5jJyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvVmlld0NvbnRyb2xzPlxuICAgICAgICAgIDxFZGl0b3JDb250ZW50XG4gICAgICAgICAgICBpMThuVmlzaWJsZT17aTE4blZpc2libGV9XG4gICAgICAgICAgICBwcmV2aWV3VmlzaWJsZT17cHJldmlld1Zpc2libGV9XG4gICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgIGVkaXRvcldpdGhFZGl0b3I9e2VkaXRvcldpdGhFZGl0b3J9XG4gICAgICAgICAgICBlZGl0b3JXaXRoUHJldmlldz17ZWRpdG9yV2l0aFByZXZpZXd9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9FZGl0b3I+XG4gICAgICA8L0VkaXRvckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbkVkaXRvckludGVyZmFjZS5wcm9wVHlwZXMgPSB7XG4gIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgZmllbGRzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdC5pc1JlcXVpcmVkLFxuICBmaWVsZHNNZXRhRGF0YTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICBmaWVsZHNFcnJvcnM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25EdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uQ2hhbmdlU3RhdHVzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB1c2VyOiBQcm9wVHlwZXMub2JqZWN0LFxuICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICB1c2VPcGVuQXV0aG9yaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gIGlzTW9kaWZpY2F0aW9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgZGVwbG95UHJldmlldzogUHJvcFR5cGVzLm9iamVjdCxcbiAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGRyYWZ0S2V5OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3JJbnRlcmZhY2U7XG4iXX0= */")),
pane: process.env.NODE_ENV === "production" ? {
name: "1yvxf4n-pane",
styles: "height:100%;overflow-y:auto;label:pane;"
} : {
name: "1yvxf4n-pane",
styles: "height:100%;overflow-y:auto;label:pane;",
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JJbnRlcmZhY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0NXIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JJbnRlcmZhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBTcGxpdFBhbmUgZnJvbSAncmVhY3Qtc3BsaXQtcGFuZSc7XG5pbXBvcnQge1xuICBjb2xvcnMsXG4gIGNvbG9yc1JhdyxcbiAgY29tcG9uZW50cyxcbiAgdHJhbnNpdGlvbnMsXG4gIEljb25CdXR0b24sXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgU2Nyb2xsU3luYywgU2Nyb2xsU3luY1BhbmUgfSBmcm9tICdyZWFjdC1zY3JvbGwtc3luYyc7XG5cbmltcG9ydCBFZGl0b3JDb250cm9sUGFuZSBmcm9tICcuL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2xQYW5lJztcbmltcG9ydCBFZGl0b3JQcmV2aWV3UGFuZSBmcm9tICcuL0VkaXRvclByZXZpZXdQYW5lL0VkaXRvclByZXZpZXdQYW5lJztcbmltcG9ydCBFZGl0b3JUb29sYmFyIGZyb20gJy4vRWRpdG9yVG9vbGJhcic7XG5pbXBvcnQgeyBoYXNJMThuLCBnZXRJMThuSW5mbywgZ2V0UHJldmlld0VudHJ5IH0gZnJvbSAnLi4vLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgRklMRVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sbGVjdGlvblR5cGVzJztcbmltcG9ydCB7IGdldEZpbGVGcm9tU2x1ZyB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbGxlY3Rpb25zJztcblxuY29uc3QgUFJFVklFV19WSVNJQkxFID0gJ2Ntcy5wcmV2aWV3LXZpc2libGUnO1xuY29uc3QgU0NST0xMX1NZTkNfRU5BQkxFRCA9ICdjbXMuc2Nyb2xsLXN5bmMtZW5hYmxlZCc7XG5jb25zdCBTUExJVF9QQU5FX1BPU0lUSU9OID0gJ2Ntcy5zcGxpdC1wYW5lLXBvc2l0aW9uJztcbmNvbnN0IEkxOE5fVklTSUJMRSA9ICdjbXMuaTE4bi12aXNpYmxlJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBzcGxpdFBhbmU6IGNzc2BcbiAgICAke2NvbXBvbmVudHMuY2FyZH07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIGAsXG4gIHBhbmU6IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgYCxcbn07XG5cbmNvbnN0IEVkaXRvclRvZ2dsZSA9IHN0eWxlZChJY29uQnV0dG9uKWBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmZ1bmN0aW9uIFJlYWN0U3BsaXRQYW5lR2xvYmFsU3R5bGVzKCkge1xuICByZXR1cm4gKFxuICAgIDxHbG9iYWxcbiAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAuUmVzaXplci52ZXJ0aWNhbCB7XG4gICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgfVxuICAgIC8+XG4gICk7XG59XG5cbmNvbnN0IFN0eWxlZFNwbGl0UGFuZSA9IHN0eWxlZChTcGxpdFBhbmUpYFxuICAke3N0eWxlcy5zcGxpdFBhbmV9O1xuXG4gIC8qKlxuICAgKiBRdWljayBmaXggZm9yIHByZXZpZXcgcGFuZSBub3QgZnVsbHkgZGlzcGxheWluZyBpbiBTYWZhcmlcbiAgICovXG4gIC5QYW5lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbmA7XG5cbmNvbnN0IE5vUHJldmlld0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnNwbGl0UGFuZX07XG5gO1xuXG5jb25zdCBFZGl0b3JDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiA4MDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDY2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuYDtcblxuY29uc3QgRWRpdG9yID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgUHJldmlld1BhbmVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5ibG9ja0VudHJ5ID8gJ25vbmUnIDogJ2F1dG8nKX07XG4gIG92ZXJmbG93LXk6ICR7cHJvcHMgPT4gKHByb3BzLm92ZXJGbG93ID8gJ2F1dG8nIDogJ2hpZGRlbicpfTtcbmA7XG5cbmNvbnN0IENvbnRyb2xQYW5lQ29udGFpbmVyID0gc3R5bGVkKFByZXZpZXdQYW5lQ29udGFpbmVyKWBcbiAgcGFkZGluZzogMCAxNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbmA7XG5cbmNvbnN0IFZpZXdDb250cm9scyA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgei1pbmRleDogJHt6SW5kZXguekluZGV4Mjk5fTtcbmA7XG5cbmZ1bmN0aW9uIEVkaXRvckNvbnRlbnQoe1xuICBpMThuVmlzaWJsZSxcbiAgcHJldmlld1Zpc2libGUsXG4gIGVkaXRvcixcbiAgZWRpdG9yV2l0aEVkaXRvcixcbiAgZWRpdG9yV2l0aFByZXZpZXcsXG59KSB7XG4gIGlmIChpMThuVmlzaWJsZSkge1xuICAgIHJldHVybiBlZGl0b3JXaXRoRWRpdG9yO1xuICB9IGVsc2UgaWYgKHByZXZpZXdWaXNpYmxlKSB7XG4gICAgcmV0dXJuIGVkaXRvcldpdGhQcmV2aWV3O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiA8Tm9QcmV2aWV3Q29udGFpbmVyPntlZGl0b3J9PC9Ob1ByZXZpZXdDb250YWluZXI+O1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzUHJldmlld0VuYWJsZWQoY29sbGVjdGlvbiwgZW50cnkpIHtcbiAgaWYgKGNvbGxlY3Rpb24uZ2V0KCd0eXBlJykgPT09IEZJTEVTKSB7XG4gICAgY29uc3QgZmlsZSA9IGdldEZpbGVGcm9tU2x1Zyhjb2xsZWN0aW9uLCBlbnRyeS5nZXQoJ3NsdWcnKSk7XG4gICAgY29uc3QgcHJldmlld0VuYWJsZWQgPSBmaWxlPy5nZXRJbihbJ2VkaXRvcicsICdwcmV2aWV3J10pO1xuICAgIGlmIChwcmV2aWV3RW5hYmxlZCAhPSBudWxsKSByZXR1cm4gcHJldmlld0VuYWJsZWQ7XG4gIH1cbiAgcmV0dXJuIGNvbGxlY3Rpb24uZ2V0SW4oWydlZGl0b3InLCAncHJldmlldyddLCB0cnVlKTtcbn1cblxuY2xhc3MgRWRpdG9ySW50ZXJmYWNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGUgPSB7XG4gICAgc2hvd0V2ZW50QmxvY2tlcjogZmFsc2UsXG4gICAgcHJldmlld1Zpc2libGU6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFBSRVZJRVdfVklTSUJMRSkgIT09ICdmYWxzZScsXG4gICAgc2Nyb2xsU3luY0VuYWJsZWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNDUk9MTF9TWU5DX0VOQUJMRUQpICE9PSAnZmFsc2UnLFxuICAgIGkxOG5WaXNpYmxlOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShJMThOX1ZJU0lCTEUpICE9PSAnZmFsc2UnLFxuICB9O1xuXG4gIGhhbmRsZVNwbGl0UGFuZURyYWdTdGFydCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0V2ZW50QmxvY2tlcjogdHJ1ZSB9KTtcbiAgfTtcblxuICBoYW5kbGVTcGxpdFBhbmVEcmFnRmluaXNoZWQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dFdmVudEJsb2NrZXI6IGZhbHNlIH0pO1xuICB9O1xuXG4gIGhhbmRsZU9uUGVyc2lzdCA9IGFzeW5jIChvcHRzID0ge30pID0+IHtcbiAgICBjb25zdCB7IGNyZWF0ZU5ldyA9IGZhbHNlLCBkdXBsaWNhdGUgPSBmYWxzZSB9ID0gb3B0cztcbiAgICBhd2FpdCB0aGlzLmNvbnRyb2xQYW5lUmVmLnN3aXRjaFRvRGVmYXVsdExvY2FsZSgpO1xuICAgIHRoaXMuY29udHJvbFBhbmVSZWYudmFsaWRhdGUoKTtcbiAgICB0aGlzLnByb3BzLm9uUGVyc2lzdCh7IGNyZWF0ZU5ldywgZHVwbGljYXRlIH0pO1xuICB9O1xuXG4gIGhhbmRsZU9uUHVibGlzaCA9IGFzeW5jIChvcHRzID0ge30pID0+IHtcbiAgICBjb25zdCB7IGNyZWF0ZU5ldyA9IGZhbHNlLCBkdXBsaWNhdGUgPSBmYWxzZSB9ID0gb3B0cztcbiAgICBhd2FpdCB0aGlzLmNvbnRyb2xQYW5lUmVmLnN3aXRjaFRvRGVmYXVsdExvY2FsZSgpO1xuICAgIHRoaXMuY29udHJvbFBhbmVSZWYudmFsaWRhdGUoKTtcbiAgICB0aGlzLnByb3BzLm9uUHVibGlzaCh7IGNyZWF0ZU5ldywgZHVwbGljYXRlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVRvZ2dsZVByZXZpZXcgPSAoKSA9PiB7XG4gICAgY29uc3QgbmV3UHJldmlld1Zpc2libGUgPSAhdGhpcy5zdGF0ZS5wcmV2aWV3VmlzaWJsZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgcHJldmlld1Zpc2libGU6IG5ld1ByZXZpZXdWaXNpYmxlIH0pO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFBSRVZJRVdfVklTSUJMRSwgbmV3UHJldmlld1Zpc2libGUpO1xuICB9O1xuXG4gIGhhbmRsZVRvZ2dsZVNjcm9sbFN5bmMgPSAoKSA9PiB7XG4gICAgY29uc3QgbmV3U2Nyb2xsU3luY0VuYWJsZWQgPSAhdGhpcy5zdGF0ZS5zY3JvbGxTeW5jRW5hYmxlZDtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2Nyb2xsU3luY0VuYWJsZWQ6IG5ld1Njcm9sbFN5bmNFbmFibGVkIH0pO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNDUk9MTF9TWU5DX0VOQUJMRUQsIG5ld1Njcm9sbFN5bmNFbmFibGVkKTtcbiAgfTtcblxuICBoYW5kbGVUb2dnbGVJMThuID0gKCkgPT4ge1xuICAgIGNvbnN0IG5ld0kxOG5WaXNpYmxlID0gIXRoaXMuc3RhdGUuaTE4blZpc2libGU7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGkxOG5WaXNpYmxlOiBuZXdJMThuVmlzaWJsZSB9KTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShJMThOX1ZJU0lCTEUsIG5ld0kxOG5WaXNpYmxlKTtcbiAgfTtcblxuICBoYW5kbGVMZWZ0UGFuZWxMb2NhbGVDaGFuZ2UgPSBsb2NhbGUgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBsZWZ0UGFuZWxMb2NhbGU6IGxvY2FsZSB9KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGVudHJ5LFxuICAgICAgZmllbGRzLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgb25DaGFuZ2VTdGF0dXMsXG4gICAgICBvblB1Ymxpc2gsXG4gICAgICB1blB1Ymxpc2gsXG4gICAgICBvbkR1cGxpY2F0ZSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBoYXNXb3JrZmxvdyxcbiAgICAgIHVzZU9wZW5BdXRob3JpbmcsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3LFxuICAgICAgZGVwbG95UHJldmlldyxcbiAgICAgIGRyYWZ0S2V5LFxuICAgICAgZWRpdG9yQmFja0xpbmssXG4gICAgICB0LFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgeyBzY3JvbGxTeW5jRW5hYmxlZCwgc2hvd0V2ZW50QmxvY2tlciB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IHByZXZpZXdFbmFibGVkID0gaXNQcmV2aWV3RW5hYmxlZChjb2xsZWN0aW9uLCBlbnRyeSk7XG5cbiAgICBjb25zdCB7IGxvY2FsZXMsIGRlZmF1bHRMb2NhbGUgfSA9IGdldEkxOG5JbmZvKHRoaXMucHJvcHMuY29sbGVjdGlvbik7XG4gICAgY29uc3QgY29sbGVjdGlvbkkxOG5FbmFibGVkID0gaGFzSTE4bihjb2xsZWN0aW9uKSAmJiBsb2NhbGVzLmxlbmd0aCA+IDE7XG4gICAgY29uc3QgZWRpdG9yUHJvcHMgPSB7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZW50cnksXG4gICAgICBmaWVsZHMsXG4gICAgICBmaWVsZHNNZXRhRGF0YSxcbiAgICAgIGZpZWxkc0Vycm9ycyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICB9O1xuXG4gICAgY29uc3QgbGVmdFBhbmVsTG9jYWxlID0gdGhpcy5zdGF0ZS5sZWZ0UGFuZWxMb2NhbGUgfHwgbG9jYWxlcz8uWzBdO1xuICAgIGNvbnN0IGVkaXRvciA9IChcbiAgICAgIDxDb250cm9sUGFuZUNvbnRhaW5lciBvdmVyRmxvdyBibG9ja0VudHJ5PXtzaG93RXZlbnRCbG9ja2VyfT5cbiAgICAgICAgPEVkaXRvckNvbnRyb2xQYW5lXG4gICAgICAgICAgey4uLmVkaXRvclByb3BzfVxuICAgICAgICAgIHJlZj17YyA9PiAodGhpcy5jb250cm9sUGFuZVJlZiA9IGMpfVxuICAgICAgICAgIGxvY2FsZT17bGVmdFBhbmVsTG9jYWxlfVxuICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgb25Mb2NhbGVDaGFuZ2U9e3RoaXMuaGFuZGxlTGVmdFBhbmVsTG9jYWxlQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgPC9Db250cm9sUGFuZUNvbnRhaW5lcj5cbiAgICApO1xuXG4gICAgY29uc3QgZWRpdG9yMiA9IChcbiAgICAgIDxDb250cm9sUGFuZUNvbnRhaW5lciBvdmVyRmxvdz17IXRoaXMuc3RhdGUuc2Nyb2xsU3luY0VuYWJsZWR9IGJsb2NrRW50cnk9e3Nob3dFdmVudEJsb2NrZXJ9PlxuICAgICAgICA8RWRpdG9yQ29udHJvbFBhbmUgey4uLmVkaXRvclByb3BzfSBsb2NhbGU9e2xvY2FsZXM/LlsxXX0gdD17dH0gLz5cbiAgICAgIDwvQ29udHJvbFBhbmVDb250YWluZXI+XG4gICAgKTtcblxuICAgIGNvbnN0IHByZXZpZXdFbnRyeSA9IGNvbGxlY3Rpb25JMThuRW5hYmxlZFxuICAgICAgPyBnZXRQcmV2aWV3RW50cnkoZW50cnksIGxlZnRQYW5lbExvY2FsZSwgZGVmYXVsdExvY2FsZSlcbiAgICAgIDogZW50cnk7XG5cbiAgICBjb25zdCBlZGl0b3JXaXRoUHJldmlldyA9IChcbiAgICAgIDxTY3JvbGxTeW5jIGVuYWJsZWQ9e3RoaXMuc3RhdGUuc2Nyb2xsU3luY0VuYWJsZWR9PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxSZWFjdFNwbGl0UGFuZUdsb2JhbFN0eWxlcyAvPlxuICAgICAgICAgIDxTdHlsZWRTcGxpdFBhbmVcbiAgICAgICAgICAgIG1heFNpemU9ey0xMDB9XG4gICAgICAgICAgICBtaW5TaXplPXs0MDB9XG4gICAgICAgICAgICBkZWZhdWx0U2l6ZT17cGFyc2VJbnQobG9jYWxTdG9yYWdlLmdldEl0ZW0oU1BMSVRfUEFORV9QT1NJVElPTiksIDEwKSB8fCAnNTAlJ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtzaXplID0+IGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNQTElUX1BBTkVfUE9TSVRJT04sIHNpemUpfVxuICAgICAgICAgICAgb25EcmFnU3RhcnRlZD17dGhpcy5oYW5kbGVTcGxpdFBhbmVEcmFnU3RhcnR9XG4gICAgICAgICAgICBvbkRyYWdGaW5pc2hlZD17dGhpcy5oYW5kbGVTcGxpdFBhbmVEcmFnRmluaXNoZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNjcm9sbFN5bmNQYW5lPntlZGl0b3J9PC9TY3JvbGxTeW5jUGFuZT5cbiAgICAgICAgICAgIDxQcmV2aWV3UGFuZUNvbnRhaW5lciBibG9ja0VudHJ5PXtzaG93RXZlbnRCbG9ja2VyfT5cbiAgICAgICAgICAgICAgPEVkaXRvclByZXZpZXdQYW5lXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgICAgICBlbnRyeT17cHJldmlld0VudHJ5fVxuICAgICAgICAgICAgICAgIGZpZWxkcz17ZmllbGRzfVxuICAgICAgICAgICAgICAgIGZpZWxkc01ldGFEYXRhPXtmaWVsZHNNZXRhRGF0YX1cbiAgICAgICAgICAgICAgICBsb2NhbGU9e2xlZnRQYW5lbExvY2FsZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUHJldmlld1BhbmVDb250YWluZXI+XG4gICAgICAgICAgPC9TdHlsZWRTcGxpdFBhbmU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TY3JvbGxTeW5jPlxuICAgICk7XG5cbiAgICBjb25zdCBlZGl0b3JXaXRoRWRpdG9yID0gKFxuICAgICAgPFNjcm9sbFN5bmMgZW5hYmxlZD17dGhpcy5zdGF0ZS5zY3JvbGxTeW5jRW5hYmxlZH0+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPFN0eWxlZFNwbGl0UGFuZVxuICAgICAgICAgICAgbWF4U2l6ZT17LTEwMH1cbiAgICAgICAgICAgIGRlZmF1bHRTaXplPXtwYXJzZUludChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTUExJVF9QQU5FX1BPU0lUSU9OKSwgMTApIHx8ICc1MCUnfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3NpemUgPT4gbG9jYWxTdG9yYWdlLnNldEl0ZW0oU1BMSVRfUEFORV9QT1NJVElPTiwgc2l6ZSl9XG4gICAgICAgICAgICBvbkRyYWdTdGFydGVkPXt0aGlzLmhhbmRsZVNwbGl0UGFuZURyYWdTdGFydH1cbiAgICAgICAgICAgIG9uRHJhZ0ZpbmlzaGVkPXt0aGlzLmhhbmRsZVNwbGl0UGFuZURyYWdGaW5pc2hlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U2Nyb2xsU3luY1BhbmU+e2VkaXRvcn08L1Njcm9sbFN5bmNQYW5lPlxuICAgICAgICAgICAgPFNjcm9sbFN5bmNQYW5lPntlZGl0b3IyfTwvU2Nyb2xsU3luY1BhbmU+XG4gICAgICAgICAgPC9TdHlsZWRTcGxpdFBhbmU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TY3JvbGxTeW5jPlxuICAgICk7XG5cbiAgICBjb25zdCBpMThuVmlzaWJsZSA9IGNvbGxlY3Rpb25JMThuRW5hYmxlZCAmJiB0aGlzLnN0YXRlLmkxOG5WaXNpYmxlO1xuICAgIGNvbnN0IHByZXZpZXdWaXNpYmxlID0gcHJldmlld0VuYWJsZWQgJiYgdGhpcy5zdGF0ZS5wcmV2aWV3VmlzaWJsZTtcbiAgICBjb25zdCBzY3JvbGxTeW5jVmlzaWJsZSA9IGkxOG5WaXNpYmxlIHx8IHByZXZpZXdWaXNpYmxlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxFZGl0b3JDb250YWluZXI+XG4gICAgICAgIDxFZGl0b3JUb29sYmFyXG4gICAgICAgICAgaXNQZXJzaXN0aW5nPXtlbnRyeS5nZXQoJ2lzUGVyc2lzdGluZycpfVxuICAgICAgICAgIGlzUHVibGlzaGluZz17ZW50cnkuZ2V0KCdpc1B1Ymxpc2hpbmcnKX1cbiAgICAgICAgICBpc1VwZGF0aW5nU3RhdHVzPXtlbnRyeS5nZXQoJ2lzVXBkYXRpbmdTdGF0dXMnKX1cbiAgICAgICAgICBpc0RlbGV0aW5nPXtlbnRyeS5nZXQoJ2lzRGVsZXRpbmcnKX1cbiAgICAgICAgICBvblBlcnNpc3Q9e3RoaXMuaGFuZGxlT25QZXJzaXN0fVxuICAgICAgICAgIG9uUGVyc2lzdEFuZE5ldz17KCkgPT4gdGhpcy5oYW5kbGVPblBlcnNpc3QoeyBjcmVhdGVOZXc6IHRydWUgfSl9XG4gICAgICAgICAgb25QZXJzaXN0QW5kRHVwbGljYXRlPXsoKSA9PiB0aGlzLmhhbmRsZU9uUGVyc2lzdCh7IGNyZWF0ZU5ldzogdHJ1ZSwgZHVwbGljYXRlOiB0cnVlIH0pfVxuICAgICAgICAgIG9uRGVsZXRlPXtvbkRlbGV0ZX1cbiAgICAgICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcz17b25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXN9XG4gICAgICAgICAgb25DaGFuZ2VTdGF0dXM9e29uQ2hhbmdlU3RhdHVzfVxuICAgICAgICAgIHNob3dEZWxldGU9e3Nob3dEZWxldGV9XG4gICAgICAgICAgb25QdWJsaXNoPXtvblB1Ymxpc2h9XG4gICAgICAgICAgdW5QdWJsaXNoPXt1blB1Ymxpc2h9XG4gICAgICAgICAgb25EdXBsaWNhdGU9e29uRHVwbGljYXRlfVxuICAgICAgICAgIG9uUHVibGlzaEFuZE5ldz17KCkgPT4gdGhpcy5oYW5kbGVPblB1Ymxpc2goeyBjcmVhdGVOZXc6IHRydWUgfSl9XG4gICAgICAgICAgb25QdWJsaXNoQW5kRHVwbGljYXRlPXsoKSA9PiB0aGlzLmhhbmRsZU9uUHVibGlzaCh7IGNyZWF0ZU5ldzogdHJ1ZSwgZHVwbGljYXRlOiB0cnVlIH0pfVxuICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgaGFzQ2hhbmdlZD17aGFzQ2hhbmdlZH1cbiAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgaGFzV29ya2Zsb3c9e2hhc1dvcmtmbG93fVxuICAgICAgICAgIHVzZU9wZW5BdXRob3Jpbmc9e3VzZU9wZW5BdXRob3Jpbmd9XG4gICAgICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXN9XG4gICAgICAgICAgaXNOZXdFbnRyeT17aXNOZXdFbnRyeX1cbiAgICAgICAgICBpc01vZGlmaWNhdGlvbj17aXNNb2RpZmljYXRpb259XG4gICAgICAgICAgY3VycmVudFN0YXR1cz17Y3VycmVudFN0YXR1c31cbiAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIGxvYWREZXBsb3lQcmV2aWV3PXtsb2FkRGVwbG95UHJldmlld31cbiAgICAgICAgICBkZXBsb3lQcmV2aWV3PXtkZXBsb3lQcmV2aWV3fVxuICAgICAgICAgIGVkaXRvckJhY2tMaW5rPXtlZGl0b3JCYWNrTGlua31cbiAgICAgICAgLz5cbiAgICAgICAgPEVkaXRvciBrZXk9e2RyYWZ0S2V5fT5cbiAgICAgICAgICA8Vmlld0NvbnRyb2xzPlxuICAgICAgICAgICAge2NvbGxlY3Rpb25JMThuRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgIDxFZGl0b3JUb2dnbGVcbiAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aTE4blZpc2libGV9XG4gICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVUb2dnbGVJMThufVxuICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInBhZ2VcIlxuICAgICAgICAgICAgICAgIHRpdGxlPXt0KCdlZGl0b3IuZWRpdG9ySW50ZXJmYWNlLnRvZ2dsZUkxOG4nKX1cbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A9XCI3MHB4XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7cHJldmlld0VuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICA8RWRpdG9yVG9nZ2xlXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e3ByZXZpZXdWaXNpYmxlfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlVG9nZ2xlUHJldmlld31cbiAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJleWVcIlxuICAgICAgICAgICAgICAgIHRpdGxlPXt0KCdlZGl0b3IuZWRpdG9ySW50ZXJmYWNlLnRvZ2dsZVByZXZpZXcnKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7c2Nyb2xsU3luY1Zpc2libGUgJiYgKFxuICAgICAgICAgICAgICA8RWRpdG9yVG9nZ2xlXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e3Njcm9sbFN5bmNFbmFibGVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlVG9nZ2xlU2Nyb2xsU3luY31cbiAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzY3JvbGxcIlxuICAgICAgICAgICAgICAgIHRpdGxlPXt0KCdlZGl0b3IuZWRpdG9ySW50ZXJmYWNlLnRvZ2dsZVNjcm9sbFN5bmMnKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9WaWV3Q29udHJvbHM+XG4gICAgICAgICAgPEVkaXRvckNvbnRlbnRcbiAgICAgICAgICAgIGkxOG5WaXNpYmxlPXtpMThuVmlzaWJsZX1cbiAgICAgICAgICAgIHByZXZpZXdWaXNpYmxlPXtwcmV2aWV3VmlzaWJsZX1cbiAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgZWRpdG9yV2l0aEVkaXRvcj17ZWRpdG9yV2l0aEVkaXRvcn1cbiAgICAgICAgICAgIGVkaXRvcldpdGhQcmV2aWV3PXtlZGl0b3JXaXRoUHJldmlld31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0VkaXRvcj5cbiAgICAgIDwvRWRpdG9yQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuRWRpdG9ySW50ZXJmYWNlLnByb3BUeXBlcyA9IHtcbiAgY29sbGVjdGlvbjogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICBmaWVsZHM6IEltbXV0YWJsZVByb3BUeXBlcy5saXN0LmlzUmVxdWlyZWQsXG4gIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzaG93RGVsZXRlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gIGhhc0NoYW5nZWQ6IFByb3BUeXBlcy5ib29sLFxuICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICBoYXNVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5ib29sLFxuICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICBjdXJyZW50U3RhdHVzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICBsb2FkRGVwbG95UHJldmlldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgZHJhZnRLZXk6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVkaXRvckludGVyZmFjZTtcbiJdfQ== */",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
}
};
const EditorToggle = /*#__PURE__*/(0, _base.default)(_decapCmsUiDefault.IconButton, {
target: "e1nx103k7",
label: "EditorToggle"
})(process.env.NODE_ENV === "production" ? {
name: "cn3xcj",
styles: "margin-bottom:12px"
} : {
name: "cn3xcj",
styles: "margin-bottom:12px",
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JJbnRlcmZhY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0N1QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9FZGl0b3IvRWRpdG9ySW50ZXJmYWNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgU3BsaXRQYW5lIGZyb20gJ3JlYWN0LXNwbGl0LXBhbmUnO1xuaW1wb3J0IHtcbiAgY29sb3JzLFxuICBjb2xvcnNSYXcsXG4gIGNvbXBvbmVudHMsXG4gIHRyYW5zaXRpb25zLFxuICBJY29uQnV0dG9uLFxuICB6SW5kZXgsXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IFNjcm9sbFN5bmMsIFNjcm9sbFN5bmNQYW5lIH0gZnJvbSAncmVhY3Qtc2Nyb2xsLXN5bmMnO1xuXG5pbXBvcnQgRWRpdG9yQ29udHJvbFBhbmUgZnJvbSAnLi9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sUGFuZSc7XG5pbXBvcnQgRWRpdG9yUHJldmlld1BhbmUgZnJvbSAnLi9FZGl0b3JQcmV2aWV3UGFuZS9FZGl0b3JQcmV2aWV3UGFuZSc7XG5pbXBvcnQgRWRpdG9yVG9vbGJhciBmcm9tICcuL0VkaXRvclRvb2xiYXInO1xuaW1wb3J0IHsgaGFzSTE4biwgZ2V0STE4bkluZm8sIGdldFByZXZpZXdFbnRyeSB9IGZyb20gJy4uLy4uL2xpYi9pMThuJztcbmltcG9ydCB7IEZJTEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbGxlY3Rpb25UeXBlcyc7XG5pbXBvcnQgeyBnZXRGaWxlRnJvbVNsdWcgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IFBSRVZJRVdfVklTSUJMRSA9ICdjbXMucHJldmlldy12aXNpYmxlJztcbmNvbnN0IFNDUk9MTF9TWU5DX0VOQUJMRUQgPSAnY21zLnNjcm9sbC1zeW5jLWVuYWJsZWQnO1xuY29uc3QgU1BMSVRfUEFORV9QT1NJVElPTiA9ICdjbXMuc3BsaXQtcGFuZS1wb3NpdGlvbic7XG5jb25zdCBJMThOX1ZJU0lCTEUgPSAnY21zLmkxOG4tdmlzaWJsZSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgc3BsaXRQYW5lOiBjc3NgXG4gICAgJHtjb21wb25lbnRzLmNhcmR9O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICBgLFxuICBwYW5lOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIGAsXG59O1xuXG5jb25zdCBFZGl0b3JUb2dnbGUgPSBzdHlsZWQoSWNvbkJ1dHRvbilgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5mdW5jdGlvbiBSZWFjdFNwbGl0UGFuZUdsb2JhbFN0eWxlcygpIHtcbiAgcmV0dXJuIChcbiAgICA8R2xvYmFsXG4gICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgLlJlc2l6ZXIudmVydGljYWwge1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYH1cbiAgICAvPlxuICApO1xufVxuXG5jb25zdCBTdHlsZWRTcGxpdFBhbmUgPSBzdHlsZWQoU3BsaXRQYW5lKWBcbiAgJHtzdHlsZXMuc3BsaXRQYW5lfTtcblxuICAvKipcbiAgICogUXVpY2sgZml4IGZvciBwcmV2aWV3IHBhbmUgbm90IGZ1bGx5IGRpc3BsYXlpbmcgaW4gU2FmYXJpXG4gICAqL1xuICAuUGFuZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5gO1xuXG5jb25zdCBOb1ByZXZpZXdDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy5zcGxpdFBhbmV9O1xuYDtcblxuY29uc3QgRWRpdG9yQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA2NnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbmA7XG5cbmNvbnN0IEVkaXRvciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IFByZXZpZXdQYW5lQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuYmxvY2tFbnRyeSA/ICdub25lJyA6ICdhdXRvJyl9O1xuICBvdmVyZmxvdy15OiAke3Byb3BzID0+IChwcm9wcy5vdmVyRmxvdyA/ICdhdXRvJyA6ICdoaWRkZW4nKX07XG5gO1xuXG5jb25zdCBDb250cm9sUGFuZUNvbnRhaW5lciA9IHN0eWxlZChQcmV2aWV3UGFuZUNvbnRhaW5lcilgXG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5gO1xuXG5jb25zdCBWaWV3Q29udHJvbHMgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDI5OX07XG5gO1xuXG5mdW5jdGlvbiBFZGl0b3JDb250ZW50KHtcbiAgaTE4blZpc2libGUsXG4gIHByZXZpZXdWaXNpYmxlLFxuICBlZGl0b3IsXG4gIGVkaXRvcldpdGhFZGl0b3IsXG4gIGVkaXRvcldpdGhQcmV2aWV3LFxufSkge1xuICBpZiAoaTE4blZpc2libGUpIHtcbiAgICByZXR1cm4gZWRpdG9yV2l0aEVkaXRvcjtcbiAgfSBlbHNlIGlmIChwcmV2aWV3VmlzaWJsZSkge1xuICAgIHJldHVybiBlZGl0b3JXaXRoUHJldmlldztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gPE5vUHJldmlld0NvbnRhaW5lcj57ZWRpdG9yfTwvTm9QcmV2aWV3Q29udGFpbmVyPjtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1ByZXZpZXdFbmFibGVkKGNvbGxlY3Rpb24sIGVudHJ5KSB7XG4gIGlmIChjb2xsZWN0aW9uLmdldCgndHlwZScpID09PSBGSUxFUykge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlRnJvbVNsdWcoY29sbGVjdGlvbiwgZW50cnkuZ2V0KCdzbHVnJykpO1xuICAgIGNvbnN0IHByZXZpZXdFbmFibGVkID0gZmlsZT8uZ2V0SW4oWydlZGl0b3InLCAncHJldmlldyddKTtcbiAgICBpZiAocHJldmlld0VuYWJsZWQgIT0gbnVsbCkgcmV0dXJuIHByZXZpZXdFbmFibGVkO1xuICB9XG4gIHJldHVybiBjb2xsZWN0aW9uLmdldEluKFsnZWRpdG9yJywgJ3ByZXZpZXcnXSwgdHJ1ZSk7XG59XG5cbmNsYXNzIEVkaXRvckludGVyZmFjZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIHNob3dFdmVudEJsb2NrZXI6IGZhbHNlLFxuICAgIHByZXZpZXdWaXNpYmxlOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShQUkVWSUVXX1ZJU0lCTEUpICE9PSAnZmFsc2UnLFxuICAgIHNjcm9sbFN5bmNFbmFibGVkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTQ1JPTExfU1lOQ19FTkFCTEVEKSAhPT0gJ2ZhbHNlJyxcbiAgICBpMThuVmlzaWJsZTogbG9jYWxTdG9yYWdlLmdldEl0ZW0oSTE4Tl9WSVNJQkxFKSAhPT0gJ2ZhbHNlJyxcbiAgfTtcblxuICBoYW5kbGVTcGxpdFBhbmVEcmFnU3RhcnQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dFdmVudEJsb2NrZXI6IHRydWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlU3BsaXRQYW5lRHJhZ0ZpbmlzaGVkID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93RXZlbnRCbG9ja2VyOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVPblBlcnNpc3QgPSBhc3luYyAob3B0cyA9IHt9KSA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGVOZXcgPSBmYWxzZSwgZHVwbGljYXRlID0gZmFsc2UgfSA9IG9wdHM7XG4gICAgYXdhaXQgdGhpcy5jb250cm9sUGFuZVJlZi5zd2l0Y2hUb0RlZmF1bHRMb2NhbGUoKTtcbiAgICB0aGlzLmNvbnRyb2xQYW5lUmVmLnZhbGlkYXRlKCk7XG4gICAgdGhpcy5wcm9wcy5vblBlcnNpc3QoeyBjcmVhdGVOZXcsIGR1cGxpY2F0ZSB9KTtcbiAgfTtcblxuICBoYW5kbGVPblB1Ymxpc2ggPSBhc3luYyAob3B0cyA9IHt9KSA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGVOZXcgPSBmYWxzZSwgZHVwbGljYXRlID0gZmFsc2UgfSA9IG9wdHM7XG4gICAgYXdhaXQgdGhpcy5jb250cm9sUGFuZVJlZi5zd2l0Y2hUb0RlZmF1bHRMb2NhbGUoKTtcbiAgICB0aGlzLmNvbnRyb2xQYW5lUmVmLnZhbGlkYXRlKCk7XG4gICAgdGhpcy5wcm9wcy5vblB1Ymxpc2goeyBjcmVhdGVOZXcsIGR1cGxpY2F0ZSB9KTtcbiAgfTtcblxuICBoYW5kbGVUb2dnbGVQcmV2aWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IG5ld1ByZXZpZXdWaXNpYmxlID0gIXRoaXMuc3RhdGUucHJldmlld1Zpc2libGU7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHByZXZpZXdWaXNpYmxlOiBuZXdQcmV2aWV3VmlzaWJsZSB9KTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShQUkVWSUVXX1ZJU0lCTEUsIG5ld1ByZXZpZXdWaXNpYmxlKTtcbiAgfTtcblxuICBoYW5kbGVUb2dnbGVTY3JvbGxTeW5jID0gKCkgPT4ge1xuICAgIGNvbnN0IG5ld1Njcm9sbFN5bmNFbmFibGVkID0gIXRoaXMuc3RhdGUuc2Nyb2xsU3luY0VuYWJsZWQ7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNjcm9sbFN5bmNFbmFibGVkOiBuZXdTY3JvbGxTeW5jRW5hYmxlZCB9KTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTQ1JPTExfU1lOQ19FTkFCTEVELCBuZXdTY3JvbGxTeW5jRW5hYmxlZCk7XG4gIH07XG5cbiAgaGFuZGxlVG9nZ2xlSTE4biA9ICgpID0+IHtcbiAgICBjb25zdCBuZXdJMThuVmlzaWJsZSA9ICF0aGlzLnN0YXRlLmkxOG5WaXNpYmxlO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpMThuVmlzaWJsZTogbmV3STE4blZpc2libGUgfSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oSTE4Tl9WSVNJQkxFLCBuZXdJMThuVmlzaWJsZSk7XG4gIH07XG5cbiAgaGFuZGxlTGVmdFBhbmVsTG9jYWxlQ2hhbmdlID0gbG9jYWxlID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbGVmdFBhbmVsTG9jYWxlOiBsb2NhbGUgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBlbnRyeSxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBzaG93RGVsZXRlLFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIG9uQ2hhbmdlU3RhdHVzLFxuICAgICAgb25QdWJsaXNoLFxuICAgICAgdW5QdWJsaXNoLFxuICAgICAgb25EdXBsaWNhdGUsXG4gICAgICBvblZhbGlkYXRlLFxuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgaXNOZXdFbnRyeSxcbiAgICAgIGlzTW9kaWZpY2F0aW9uLFxuICAgICAgY3VycmVudFN0YXR1cyxcbiAgICAgIG9uTG9nb3V0Q2xpY2ssXG4gICAgICBsb2FkRGVwbG95UHJldmlldyxcbiAgICAgIGRlcGxveVByZXZpZXcsXG4gICAgICBkcmFmdEtleSxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHsgc2Nyb2xsU3luY0VuYWJsZWQsIHNob3dFdmVudEJsb2NrZXIgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBwcmV2aWV3RW5hYmxlZCA9IGlzUHJldmlld0VuYWJsZWQoY29sbGVjdGlvbiwgZW50cnkpO1xuXG4gICAgY29uc3QgeyBsb2NhbGVzLCBkZWZhdWx0TG9jYWxlIH0gPSBnZXRJMThuSW5mbyh0aGlzLnByb3BzLmNvbGxlY3Rpb24pO1xuICAgIGNvbnN0IGNvbGxl