/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunknocode_component"] = self["webpackChunknocode_component"] || []).push([[320],{

/***/ "../../node_modules/codemirror/addon/display/placeholder.js":
/*!******************************************************************!*\
  !*** ../../node_modules/codemirror/addon/display/placeholder.js ***!
  \******************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n  if (true) // CommonJS\n    mod(__webpack_require__(/*! ../../lib/codemirror */ \"../../node_modules/codemirror/lib/codemirror.js\"));\n  else {}\n})(function(CodeMirror) {\n  CodeMirror.defineOption(\"placeholder\", \"\", function(cm, val, old) {\n    var prev = old && old != CodeMirror.Init;\n    if (val && !prev) {\n      cm.on(\"blur\", onBlur);\n      cm.on(\"change\", onChange);\n      cm.on(\"swapDoc\", onChange);\n      CodeMirror.on(cm.getInputField(), \"compositionupdate\", cm.state.placeholderCompose = function() { onComposition(cm) })\n      onChange(cm);\n    } else if (!val && prev) {\n      cm.off(\"blur\", onBlur);\n      cm.off(\"change\", onChange);\n      cm.off(\"swapDoc\", onChange);\n      CodeMirror.off(cm.getInputField(), \"compositionupdate\", cm.state.placeholderCompose)\n      clearPlaceholder(cm);\n      var wrapper = cm.getWrapperElement();\n      wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\");\n    }\n\n    if (val && !cm.hasFocus()) onBlur(cm);\n  });\n\n  function clearPlaceholder(cm) {\n    if (cm.state.placeholder) {\n      cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);\n      cm.state.placeholder = null;\n    }\n  }\n  function setPlaceholder(cm) {\n    clearPlaceholder(cm);\n    var elt = cm.state.placeholder = document.createElement(\"pre\");\n    elt.style.cssText = \"height: 0; overflow: visible\";\n    elt.style.direction = cm.getOption(\"direction\");\n    elt.className = \"CodeMirror-placeholder CodeMirror-line-like\";\n    var placeHolder = cm.getOption(\"placeholder\")\n    if (typeof placeHolder == \"string\") placeHolder = document.createTextNode(placeHolder)\n    elt.appendChild(placeHolder)\n    cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);\n  }\n\n  function onComposition(cm) {\n    setTimeout(function() {\n      var empty = false\n      if (cm.lineCount() == 1) {\n        var input = cm.getInputField()\n        empty = input.nodeName == \"TEXTAREA\" ? !cm.getLine(0).length\n          : !/[^\\u200b]/.test(input.querySelector(\".CodeMirror-line\").textContent)\n      }\n      if (empty) setPlaceholder(cm)\n      else clearPlaceholder(cm)\n    }, 20)\n  }\n\n  function onBlur(cm) {\n    if (isEmpty(cm)) setPlaceholder(cm);\n  }\n  function onChange(cm) {\n    var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);\n    wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\") + (empty ? \" CodeMirror-empty\" : \"\");\n\n    if (empty) setPlaceholder(cm);\n    else clearPlaceholder(cm);\n  }\n\n  function isEmpty(cm) {\n    return (cm.lineCount() === 1) && (cm.getLine(0) === \"\");\n  }\n});\n\n\n//# sourceURL=webpack://nocode-component/../../node_modules/codemirror/addon/display/placeholder.js?");

/***/ }),

/***/ "../../node_modules/codemirror/addon/edit/closebrackets.js":
/*!*****************************************************************!*\
  !*** ../../node_modules/codemirror/addon/edit/closebrackets.js ***!
  \*****************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n  if (true) // CommonJS\n    mod(__webpack_require__(/*! ../../lib/codemirror */ \"../../node_modules/codemirror/lib/codemirror.js\"));\n  else {}\n})(function(CodeMirror) {\n  var defaults = {\n    pairs: \"()[]{}''\\\"\\\"\",\n    closeBefore: \")]}'\\\":;>\",\n    triples: \"\",\n    explode: \"[]{}\"\n  };\n\n  var Pos = CodeMirror.Pos;\n\n  CodeMirror.defineOption(\"autoCloseBrackets\", false, function(cm, val, old) {\n    if (old && old != CodeMirror.Init) {\n      cm.removeKeyMap(keyMap);\n      cm.state.closeBrackets = null;\n    }\n    if (val) {\n      ensureBound(getOption(val, \"pairs\"))\n      cm.state.closeBrackets = val;\n      cm.addKeyMap(keyMap);\n    }\n  });\n\n  function getOption(conf, name) {\n    if (name == \"pairs\" && typeof conf == \"string\") return conf;\n    if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n    return defaults[name];\n  }\n\n  var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n  function ensureBound(chars) {\n    for (var i = 0; i < chars.length; i++) {\n      var ch = chars.charAt(i), key = \"'\" + ch + \"'\"\n      if (!keyMap[key]) keyMap[key] = handler(ch)\n    }\n  }\n  ensureBound(defaults.pairs + \"`\")\n\n  function handler(ch) {\n    return function(cm) { return handleChar(cm, ch); };\n  }\n\n  function getConfig(cm) {\n    var deflt = cm.state.closeBrackets;\n    if (!deflt || deflt.override) return deflt;\n    var mode = cm.getModeAt(cm.getCursor());\n    return mode.closeBrackets || deflt;\n  }\n\n  function handleBackspace(cm) {\n    var conf = getConfig(cm);\n    if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n    var pairs = getOption(conf, \"pairs\");\n    var ranges = cm.listSelections();\n    for (var i = 0; i < ranges.length; i++) {\n      if (!ranges[i].empty()) return CodeMirror.Pass;\n      var around = charsAround(cm, ranges[i].head);\n      if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n    }\n    for (var i = ranges.length - 1; i >= 0; i--) {\n      var cur = ranges[i].head;\n      cm.replaceRange(\"\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \"+delete\");\n    }\n  }\n\n  function handleEnter(cm) {\n    var conf = getConfig(cm);\n    var explode = conf && getOption(conf, \"explode\");\n    if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n    var ranges = cm.listSelections();\n    for (var i = 0; i < ranges.length; i++) {\n      if (!ranges[i].empty()) return CodeMirror.Pass;\n      var around = charsAround(cm, ranges[i].head);\n      if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n    }\n    cm.operation(function() {\n      var linesep = cm.lineSeparator() || \"\\n\";\n      cm.replaceSelection(linesep + linesep, null);\n      moveSel(cm, -1)\n      ranges = cm.listSelections();\n      for (var i = 0; i < ranges.length; i++) {\n        var line = ranges[i].head.line;\n        cm.indentLine(line, null, true);\n        cm.indentLine(line + 1, null, true);\n      }\n    });\n  }\n\n  function moveSel(cm, dir) {\n    var newRanges = [], ranges = cm.listSelections(), primary = 0\n    for (var i = 0; i < ranges.length; i++) {\n      var range = ranges[i]\n      if (range.head == cm.getCursor()) primary = i\n      var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1}\n      newRanges.push({anchor: pos, head: pos})\n    }\n    cm.setSelections(newRanges, primary)\n  }\n\n  function contractSelection(sel) {\n    var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n    return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n            head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n  }\n\n  function handleChar(cm, ch) {\n    var conf = getConfig(cm);\n    if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n    var pairs = getOption(conf, \"pairs\");\n    var pos = pairs.indexOf(ch);\n    if (pos == -1) return CodeMirror.Pass;\n\n    var closeBefore = getOption(conf,\"closeBefore\");\n\n    var triples = getOption(conf, \"triples\");\n\n    var identical = pairs.charAt(pos + 1) == ch;\n    var ranges = cm.listSelections();\n    var opening = pos % 2 == 0;\n\n    var type;\n    for (var i = 0; i < ranges.length; i++) {\n      var range = ranges[i], cur = range.head, curType;\n      var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n      if (opening && !range.empty()) {\n        curType = \"surround\";\n      } else if ((identical || !opening) && next == ch) {\n        if (identical && stringStartsAfter(cm, cur))\n          curType = \"both\";\n        else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n          curType = \"skipThree\";\n        else\n          curType = \"skip\";\n      } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n                 cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n        if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n        curType = \"addFour\";\n      } else if (identical) {\n        var prev = cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n        if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \"both\";\n        else return CodeMirror.Pass;\n      } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n        curType = \"both\";\n      } else {\n        return CodeMirror.Pass;\n      }\n      if (!type) type = curType;\n      else if (type != curType) return CodeMirror.Pass;\n    }\n\n    var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n    var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n    cm.operation(function() {\n      if (type == \"skip\") {\n        moveSel(cm, 1)\n      } else if (type == \"skipThree\") {\n        moveSel(cm, 3)\n      } else if (type == \"surround\") {\n        var sels = cm.getSelections();\n        for (var i = 0; i < sels.length; i++)\n          sels[i] = left + sels[i] + right;\n        cm.replaceSelections(sels, \"around\");\n        sels = cm.listSelections().slice();\n        for (var i = 0; i < sels.length; i++)\n          sels[i] = contractSelection(sels[i]);\n        cm.setSelections(sels);\n      } else if (type == \"both\") {\n        cm.replaceSelection(left + right, null);\n        cm.triggerElectric(left + right);\n        moveSel(cm, -1)\n      } else if (type == \"addFour\") {\n        cm.replaceSelection(left + left + left + left, \"before\");\n        moveSel(cm, 1)\n      }\n    });\n  }\n\n  function charsAround(cm, pos) {\n    var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n                          Pos(pos.line, pos.ch + 1));\n    return str.length == 2 ? str : null;\n  }\n\n  function stringStartsAfter(cm, pos) {\n    var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n    return /\\bstring/.test(token.type) && token.start == pos.ch &&\n      (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n  }\n});\n\n\n//# sourceURL=webpack://nocode-component/../../node_modules/codemirror/addon/edit/closebrackets.js?");

/***/ }),

/***/ "../../node_modules/codemirror/addon/edit/matchbrackets.js":
/*!*****************************************************************!*\
  !*** ../../node_modules/codemirror/addon/edit/matchbrackets.js ***!
  \*****************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n  if (true) // CommonJS\n    mod(__webpack_require__(/*! ../../lib/codemirror */ \"../../node_modules/codemirror/lib/codemirror.js\"));\n  else {}\n})(function(CodeMirror) {\n  var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n    (document.documentMode == null || document.documentMode < 8);\n\n  var Pos = CodeMirror.Pos;\n\n  var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n  function bracketRegex(config) {\n    return config && config.bracketRegex || /[(){}[\\]]/\n  }\n\n  function findMatchingBracket(cm, where, config) {\n    var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n    var afterCursor = config && config.afterCursor\n    if (afterCursor == null)\n      afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n    var re = bracketRegex(config)\n\n    // A cursor is defined as between two characters, but in in vim command mode\n    // (i.e. not insert mode), the cursor is visually represented as a\n    // highlighted box on top of the 2nd character. Otherwise, we allow matches\n    // from before or after the cursor.\n    var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n        re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n    if (!match) return null;\n    var dir = match.charAt(1) == \">\" ? 1 : -1;\n    if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n    var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n    var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n    if (found == null) return null;\n    return {from: Pos(where.line, pos), to: found && found.pos,\n            match: found && found.ch == match.charAt(0), forward: dir > 0};\n  }\n\n  // bracketRegex is used to specify which type of bracket to scan\n  // should be a regexp, e.g. /[[\\]]/\n  //\n  // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n  //\n  // Returns false when no bracket was found, null when it reached\n  // maxScanLines and gave up\n  function scanForBracket(cm, where, dir, style, config) {\n    var maxScanLen = (config && config.maxScanLineLength) || 10000;\n    var maxScanLines = (config && config.maxScanLines) || 1000;\n\n    var stack = [];\n    var re = bracketRegex(config)\n    var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n                          : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n    for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n      var line = cm.getLine(lineNo);\n      if (!line) continue;\n      var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n      if (line.length > maxScanLen) continue;\n      if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n      for (; pos != end; pos += dir) {\n        var ch = line.charAt(pos);\n        if (re.test(ch) && (style === undefined ||\n                            (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n          var match = matching[ch];\n          if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n          else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n          else stack.pop();\n        }\n      }\n    }\n    return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n  }\n\n  function matchBrackets(cm, autoclear, config) {\n    // Disable brace matching in long lines, since it'll cause hugely slow updates\n    var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n      highlightNonMatching = config && config.highlightNonMatching;\n    var marks = [], ranges = cm.listSelections();\n    for (var i = 0; i < ranges.length; i++) {\n      var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n      if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n        var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n        marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n        if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n          marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n      }\n    }\n\n    if (marks.length) {\n      // Kludge to work around the IE bug from issue #1193, where text\n      // input stops going to the textarea whenever this fires.\n      if (ie_lt8 && cm.state.focused) cm.focus();\n\n      var clear = function() {\n        cm.operation(function() {\n          for (var i = 0; i < marks.length; i++) marks[i].clear();\n        });\n      };\n      if (autoclear) setTimeout(clear, 800);\n      else return clear;\n    }\n  }\n\n  function doMatchBrackets(cm) {\n    cm.operation(function() {\n      if (cm.state.matchBrackets.currentlyHighlighted) {\n        cm.state.matchBrackets.currentlyHighlighted();\n        cm.state.matchBrackets.currentlyHighlighted = null;\n      }\n      cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n    });\n  }\n\n  function clearHighlighted(cm) {\n    if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n      cm.state.matchBrackets.currentlyHighlighted();\n      cm.state.matchBrackets.currentlyHighlighted = null;\n    }\n  }\n\n  CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n    if (old && old != CodeMirror.Init) {\n      cm.off(\"cursorActivity\", doMatchBrackets);\n      cm.off(\"focus\", doMatchBrackets)\n      cm.off(\"blur\", clearHighlighted)\n      clearHighlighted(cm);\n    }\n    if (val) {\n      cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n      cm.on(\"cursorActivity\", doMatchBrackets);\n      cm.on(\"focus\", doMatchBrackets)\n      cm.on(\"blur\", clearHighlighted)\n    }\n  });\n\n  CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n  CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n    // Backwards-compatibility kludge\n    if (oldConfig || typeof config == \"boolean\") {\n      if (!oldConfig) {\n        config = config ? {strict: true} : null\n      } else {\n        oldConfig.strict = config\n        config = oldConfig\n      }\n    }\n    return findMatchingBracket(this, pos, config)\n  });\n  CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n    return scanForBracket(this, pos, dir, style, config);\n  });\n});\n\n\n//# sourceURL=webpack://nocode-component/../../node_modules/codemirror/addon/edit/matchbrackets.js?");

/***/ }),

/***/ "../../node_modules/codemirror/addon/search/searchcursor.js":
/*!******************************************************************!*\
  !*** ../../node_modules/codemirror/addon/search/searchcursor.js ***!
  \******************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n  if (true) // CommonJS\n    mod(__webpack_require__(/*! ../../lib/codemirror */ \"../../node_modules/codemirror/lib/codemirror.js\"))\n  else {}\n})(function(CodeMirror) {\n  \"use strict\"\n  var Pos = CodeMirror.Pos\n\n  function regexpFlags(regexp) {\n    var flags = regexp.flags\n    return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n      + (regexp.global ? \"g\" : \"\")\n      + (regexp.multiline ? \"m\" : \"\")\n  }\n\n  function ensureFlags(regexp, flags) {\n    var current = regexpFlags(regexp), target = current\n    for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n      target += flags.charAt(i)\n    return current == target ? regexp : new RegExp(regexp.source, target)\n  }\n\n  function maybeMultiline(regexp) {\n    return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n  }\n\n  function searchRegexpForward(doc, regexp, start) {\n    regexp = ensureFlags(regexp, \"g\")\n    for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n      regexp.lastIndex = ch\n      var string = doc.getLine(line), match = regexp.exec(string)\n      if (match)\n        return {from: Pos(line, match.index),\n                to: Pos(line, match.index + match[0].length),\n                match: match}\n    }\n  }\n\n  function searchRegexpForwardMultiline(doc, regexp, start) {\n    if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n    regexp = ensureFlags(regexp, \"gm\")\n    var string, chunk = 1\n    for (var line = start.line, last = doc.lastLine(); line <= last;) {\n      // This grows the search buffer in exponentially-sized chunks\n      // between matches, so that nearby matches are fast and don't\n      // require concatenating the whole document (in case we're\n      // searching for something that has tons of matches), but at the\n      // same time, the amount of retries is limited.\n      for (var i = 0; i < chunk; i++) {\n        if (line > last) break\n        var curLine = doc.getLine(line++)\n        string = string == null ? curLine : string + \"\\n\" + curLine\n      }\n      chunk = chunk * 2\n      regexp.lastIndex = start.ch\n      var match = regexp.exec(string)\n      if (match) {\n        var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n        var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n        return {from: Pos(startLine, startCh),\n                to: Pos(startLine + inside.length - 1,\n                        inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n                match: match}\n      }\n    }\n  }\n\n  function lastMatchIn(string, regexp, endMargin) {\n    var match, from = 0\n    while (from <= string.length) {\n      regexp.lastIndex = from\n      var newMatch = regexp.exec(string)\n      if (!newMatch) break\n      var end = newMatch.index + newMatch[0].length\n      if (end > string.length - endMargin) break\n      if (!match || end > match.index + match[0].length)\n        match = newMatch\n      from = newMatch.index + 1\n    }\n    return match\n  }\n\n  function searchRegexpBackward(doc, regexp, start) {\n    regexp = ensureFlags(regexp, \"g\")\n    for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n      var string = doc.getLine(line)\n      var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n      if (match)\n        return {from: Pos(line, match.index),\n                to: Pos(line, match.index + match[0].length),\n                match: match}\n    }\n  }\n\n  function searchRegexpBackwardMultiline(doc, regexp, start) {\n    if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n    regexp = ensureFlags(regexp, \"gm\")\n    var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n    for (var line = start.line, first = doc.firstLine(); line >= first;) {\n      for (var i = 0; i < chunkSize && line >= first; i++) {\n        var curLine = doc.getLine(line--)\n        string = string == null ? curLine : curLine + \"\\n\" + string\n      }\n      chunkSize *= 2\n\n      var match = lastMatchIn(string, regexp, endMargin)\n      if (match) {\n        var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n        var startLine = line + before.length, startCh = before[before.length - 1].length\n        return {from: Pos(startLine, startCh),\n                to: Pos(startLine + inside.length - 1,\n                        inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n                match: match}\n      }\n    }\n  }\n\n  var doFold, noFold\n  if (String.prototype.normalize) {\n    doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n    noFold = function(str) { return str.normalize(\"NFD\") }\n  } else {\n    doFold = function(str) { return str.toLowerCase() }\n    noFold = function(str) { return str }\n  }\n\n  // Maps a position in a case-folded line back to a position in the original line\n  // (compensating for codepoints increasing in number during folding)\n  function adjustPos(orig, folded, pos, foldFunc) {\n    if (orig.length == folded.length) return pos\n    for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n      if (min == max) return min\n      var mid = (min + max) >> 1\n      var len = foldFunc(orig.slice(0, mid)).length\n      if (len == pos) return mid\n      else if (len > pos) max = mid\n      else min = mid + 1\n    }\n  }\n\n  function searchStringForward(doc, query, start, caseFold) {\n    // Empty string would match anything and never progress, so we\n    // define it to match nothing instead.\n    if (!query.length) return null\n    var fold = caseFold ? doFold : noFold\n    var lines = fold(query).split(/\\r|\\n\\r?/)\n\n    search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n      var orig = doc.getLine(line).slice(ch), string = fold(orig)\n      if (lines.length == 1) {\n        var found = string.indexOf(lines[0])\n        if (found == -1) continue search\n        var start = adjustPos(orig, string, found, fold) + ch\n        return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n                to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n      } else {\n        var cutFrom = string.length - lines[0].length\n        if (string.slice(cutFrom) != lines[0]) continue search\n        for (var i = 1; i < lines.length - 1; i++)\n          if (fold(doc.getLine(line + i)) != lines[i]) continue search\n        var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n        if (endString.slice(0, lastLine.length) != lastLine) continue search\n        return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n                to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n      }\n    }\n  }\n\n  function searchStringBackward(doc, query, start, caseFold) {\n    if (!query.length) return null\n    var fold = caseFold ? doFold : noFold\n    var lines = fold(query).split(/\\r|\\n\\r?/)\n\n    search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n      var orig = doc.getLine(line)\n      if (ch > -1) orig = orig.slice(0, ch)\n      var string = fold(orig)\n      if (lines.length == 1) {\n        var found = string.lastIndexOf(lines[0])\n        if (found == -1) continue search\n        return {from: Pos(line, adjustPos(orig, string, found, fold)),\n                to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n      } else {\n        var lastLine = lines[lines.length - 1]\n        if (string.slice(0, lastLine.length) != lastLine) continue search\n        for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n          if (fold(doc.getLine(start + i)) != lines[i]) continue search\n        var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n        if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n        return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n                to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n      }\n    }\n  }\n\n  function SearchCursor(doc, query, pos, options) {\n    this.atOccurrence = false\n    this.afterEmptyMatch = false\n    this.doc = doc\n    pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n    this.pos = {from: pos, to: pos}\n\n    var caseFold\n    if (typeof options == \"object\") {\n      caseFold = options.caseFold\n    } else { // Backwards compat for when caseFold was the 4th argument\n      caseFold = options\n      options = null\n    }\n\n    if (typeof query == \"string\") {\n      if (caseFold == null) caseFold = false\n      this.matches = function(reverse, pos) {\n        return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n      }\n    } else {\n      query = ensureFlags(query, \"gm\")\n      if (!options || options.multiline !== false)\n        this.matches = function(reverse, pos) {\n          return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n        }\n      else\n        this.matches = function(reverse, pos) {\n          return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n        }\n    }\n  }\n\n  SearchCursor.prototype = {\n    findNext: function() {return this.find(false)},\n    findPrevious: function() {return this.find(true)},\n\n    find: function(reverse) {\n      var head = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n      if (this.afterEmptyMatch && this.atOccurrence) {\n        // do not return the same 0 width match twice\n        head = Pos(head.line, head.ch)\n        if (reverse) {\n          head.ch--;\n          if (head.ch < 0) {\n            head.line--;\n            head.ch = (this.doc.getLine(head.line) || \"\").length;\n          }\n        } else {\n          head.ch++;\n          if (head.ch > (this.doc.getLine(head.line) || \"\").length) {\n            head.ch = 0;\n            head.line++;\n          }\n        }\n        if (CodeMirror.cmpPos(head, this.doc.clipPos(head)) != 0) {\n           return this.atOccurrence = false\n        }\n      }\n      var result = this.matches(reverse, head)\n      this.afterEmptyMatch = result && CodeMirror.cmpPos(result.from, result.to) == 0\n\n      if (result) {\n        this.pos = result\n        this.atOccurrence = true\n        return this.pos.match || true\n      } else {\n        var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n        this.pos = {from: end, to: end}\n        return this.atOccurrence = false\n      }\n    },\n\n    from: function() {if (this.atOccurrence) return this.pos.from},\n    to: function() {if (this.atOccurrence) return this.pos.to},\n\n    replace: function(newText, origin) {\n      if (!this.atOccurrence) return\n      var lines = CodeMirror.splitLines(newText)\n      this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n      this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n                        lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n    }\n  }\n\n  CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n    return new SearchCursor(this.doc, query, pos, caseFold)\n  })\n  CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n    return new SearchCursor(this, query, pos, caseFold)\n  })\n\n  CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n    var ranges = []\n    var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n    while (cur.findNext()) {\n      if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n      ranges.push({anchor: cur.from(), head: cur.to()})\n    }\n    if (ranges.length)\n      this.setSelections(ranges, 0)\n  })\n});\n\n\n//# sourceURL=webpack://nocode-component/../../node_modules/codemirror/addon/search/searchcursor.js?");

/***/ }),

/***/ "../../node_modules/codemirror/addon/selection/mark-selection.js":
/*!***********************************************************************!*\
  !*** ../../node_modules/codemirror/addon/selection/mark-selection.js ***!
  \***********************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n// Because sometimes you need to mark the selected *text*.\n//\n// Adds an option 'styleSelectedText' which, when enabled, gives\n// selected text the CSS class given as option value, or\n// \"CodeMirror-selectedtext\" when the value is not a string.\n\n(function(mod) {\n  if (true) // CommonJS\n    mod(__webpack_require__(/*! ../../lib/codemirror */ \"../../node_modules/codemirror/lib/codemirror.js\"));\n  else {}\n})(function(CodeMirror) {\n  \"use strict\";\n\n  CodeMirror.defineOption(\"styleSelectedText\", false, function(cm, val, old) {\n    var prev = old && old != CodeMirror.Init;\n    if (val && !prev) {\n      cm.state.markedSelection = [];\n      cm.state.markedSelectionStyle = typeof val == \"string\" ? val : \"CodeMirror-selectedtext\";\n      reset(cm);\n      cm.on(\"cursorActivity\", onCursorActivity);\n      cm.on(\"change\", onChange);\n    } else if (!val && prev) {\n      cm.off(\"cursorActivity\", onCursorActivity);\n      cm.off(\"change\", onChange);\n      clear(cm);\n      cm.state.markedSelection = cm.state.markedSelectionStyle = null;\n    }\n  });\n\n  function onCursorActivity(cm) {\n    if (cm.state.markedSelection)\n      cm.operation(function() { update(cm); });\n  }\n\n  function onChange(cm) {\n    if (cm.state.markedSelection && cm.state.markedSelection.length)\n      cm.operation(function() { clear(cm); });\n  }\n\n  var CHUNK_SIZE = 8;\n  var Pos = CodeMirror.Pos;\n  var cmp = CodeMirror.cmpPos;\n\n  function coverRange(cm, from, to, addAt) {\n    if (cmp(from, to) == 0) return;\n    var array = cm.state.markedSelection;\n    var cls = cm.state.markedSelectionStyle;\n    for (var line = from.line;;) {\n      var start = line == from.line ? from : Pos(line, 0);\n      var endLine = line + CHUNK_SIZE, atEnd = endLine >= to.line;\n      var end = atEnd ? to : Pos(endLine, 0);\n      var mark = cm.markText(start, end, {className: cls});\n      if (addAt == null) array.push(mark);\n      else array.splice(addAt++, 0, mark);\n      if (atEnd) break;\n      line = endLine;\n    }\n  }\n\n  function clear(cm) {\n    var array = cm.state.markedSelection;\n    for (var i = 0; i < array.length; ++i) array[i].clear();\n    array.length = 0;\n  }\n\n  function reset(cm) {\n    clear(cm);\n    var ranges = cm.listSelections();\n    for (var i = 0; i < ranges.length; i++)\n      coverRange(cm, ranges[i].from(), ranges[i].to());\n  }\n\n  function update(cm) {\n    if (!cm.somethingSelected()) return clear(cm);\n    if (cm.listSelections().length > 1) return reset(cm);\n\n    var from = cm.getCursor(\"start\"), to = cm.getCursor(\"end\");\n\n    var array = cm.state.markedSelection;\n    if (!array.length) return coverRange(cm, from, to);\n\n    var coverStart = array[0].find(), coverEnd = array[array.length - 1].find();\n    if (!coverStart || !coverEnd || to.line - from.line <= CHUNK_SIZE ||\n        cmp(from, coverEnd.to) >= 0 || cmp(to, coverStart.from) <= 0)\n      return reset(cm);\n\n    while (cmp(from, coverStart.from) > 0) {\n      array.shift().clear();\n      coverStart = array[0].find();\n    }\n    if (cmp(from, coverStart.from) < 0) {\n      if (coverStart.to.line - from.line < CHUNK_SIZE) {\n        array.shift().clear();\n        coverRange(cm, from, coverStart.to, 0);\n      } else {\n        coverRange(cm, from, coverStart.from, 0);\n      }\n    }\n\n    while (cmp(to, coverEnd.to) < 0) {\n      array.pop().clear();\n      coverEnd = array[array.length - 1].find();\n    }\n    if (cmp(to, coverEnd.to) > 0) {\n      if (to.line - coverEnd.from.line < CHUNK_SIZE) {\n        array.pop().clear();\n        coverRange(cm, coverEnd.from, to);\n      } else {\n        coverRange(cm, coverEnd.to, to);\n      }\n    }\n  }\n});\n\n\n//# sourceURL=webpack://nocode-component/../../node_modules/codemirror/addon/selection/mark-selection.js?");

/***/ }),

/***/ "../../node_modules/css-loader/dist/cjs.js!../../node_modules/codemirror/lib/codemirror.css":
/*!**************************************************************************************************!*\
  !*** ../../node_modules/css-loader/dist/cjs.js!../../node_modules/codemirror/lib/codemirror.css ***!
  \**************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ \"../../node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* BASICS */\\n\\n.CodeMirror {\\n  /* Set height, width, borders, and global font properties here */\\n  font-family: monospace;\\n  height: 300px;\\n  color: black;\\n  direction: ltr;\\n}\\n\\n/* PADDING */\\n\\n.CodeMirror-lines {\\n  padding: 4px 0; /* Vertical padding around content */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n  padding: 0 4px; /* Horizontal padding of content */\\n}\\n\\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n  background-color: white; /* The little square between H and V scrollbars */\\n}\\n\\n/* GUTTER */\\n\\n.CodeMirror-gutters {\\n  border-right: 1px solid #ddd;\\n  background-color: #f7f7f7;\\n  white-space: nowrap;\\n}\\n.CodeMirror-linenumbers {}\\n.CodeMirror-linenumber {\\n  padding: 0 3px 0 5px;\\n  min-width: 20px;\\n  text-align: right;\\n  color: #999;\\n  white-space: nowrap;\\n}\\n\\n.CodeMirror-guttermarker { color: black; }\\n.CodeMirror-guttermarker-subtle { color: #999; }\\n\\n/* CURSOR */\\n\\n.CodeMirror-cursor {\\n  border-left: 1px solid black;\\n  border-right: none;\\n  width: 0;\\n}\\n/* Shown when moving in bi-directional text */\\n.CodeMirror div.CodeMirror-secondarycursor {\\n  border-left: 1px solid silver;\\n}\\n.cm-fat-cursor .CodeMirror-cursor {\\n  width: auto;\\n  border: 0 !important;\\n  background: #7e7;\\n}\\n.cm-fat-cursor div.CodeMirror-cursors {\\n  z-index: 1;\\n}\\n.cm-fat-cursor .CodeMirror-line::selection,\\n.cm-fat-cursor .CodeMirror-line > span::selection, \\n.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }\\n.cm-fat-cursor .CodeMirror-line::-moz-selection,\\n.cm-fat-cursor .CodeMirror-line > span::-moz-selection,\\n.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }\\n.cm-fat-cursor { caret-color: transparent; }\\n@-moz-keyframes blink {\\n  0% {}\\n  50% { background-color: transparent; }\\n  100% {}\\n}\\n@-webkit-keyframes blink {\\n  0% {}\\n  50% { background-color: transparent; }\\n  100% {}\\n}\\n@keyframes blink {\\n  0% {}\\n  50% { background-color: transparent; }\\n  100% {}\\n}\\n\\n/* Can style cursor different in overwrite (non-insert) mode */\\n.CodeMirror-overwrite .CodeMirror-cursor {}\\n\\n.cm-tab { display: inline-block; text-decoration: inherit; }\\n\\n.CodeMirror-rulers {\\n  position: absolute;\\n  left: 0; right: 0; top: -50px; bottom: 0;\\n  overflow: hidden;\\n}\\n.CodeMirror-ruler {\\n  border-left: 1px solid #ccc;\\n  top: 0; bottom: 0;\\n  position: absolute;\\n}\\n\\n/* DEFAULT THEME */\\n\\n.cm-s-default .cm-header {color: blue;}\\n.cm-s-default .cm-quote {color: #090;}\\n.cm-negative {color: #d44;}\\n.cm-positive {color: #292;}\\n.cm-header, .cm-strong {font-weight: bold;}\\n.cm-em {font-style: italic;}\\n.cm-link {text-decoration: underline;}\\n.cm-strikethrough {text-decoration: line-through;}\\n\\n.cm-s-default .cm-keyword {color: #708;}\\n.cm-s-default .cm-atom {color: #219;}\\n.cm-s-default .cm-number {color: #164;}\\n.cm-s-default .cm-def {color: #00f;}\\n.cm-s-default .cm-variable,\\n.cm-s-default .cm-punctuation,\\n.cm-s-default .cm-property,\\n.cm-s-default .cm-operator {}\\n.cm-s-default .cm-variable-2 {color: #05a;}\\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\\n.cm-s-default .cm-comment {color: #a50;}\\n.cm-s-default .cm-string {color: #a11;}\\n.cm-s-default .cm-string-2 {color: #f50;}\\n.cm-s-default .cm-meta {color: #555;}\\n.cm-s-default .cm-qualifier {color: #555;}\\n.cm-s-default .cm-builtin {color: #30a;}\\n.cm-s-default .cm-bracket {color: #997;}\\n.cm-s-default .cm-tag {color: #170;}\\n.cm-s-default .cm-attribute {color: #00c;}\\n.cm-s-default .cm-hr {color: #999;}\\n.cm-s-default .cm-link {color: #00c;}\\n\\n.cm-s-default .cm-error {color: #f00;}\\n.cm-invalidchar {color: #f00;}\\n\\n.CodeMirror-composing { border-bottom: 2px solid; }\\n\\n/* Default styles for common addons */\\n\\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\\n.CodeMirror-activeline-background {background: #e8f2ff;}\\n\\n/* STOP */\\n\\n/* The rest of this file contains styles related to the mechanics of\\n   the editor. You probably shouldn't touch them. */\\n\\n.CodeMirror {\\n  position: relative;\\n  overflow: hidden;\\n  background: white;\\n}\\n\\n.CodeMirror-scroll {\\n  overflow: scroll !important; /* Things will break if this is overridden */\\n  /* 50px is the magic margin used to hide the element's real scrollbars */\\n  /* See overflow: hidden in .CodeMirror */\\n  margin-bottom: -50px; margin-right: -50px;\\n  padding-bottom: 50px;\\n  height: 100%;\\n  outline: none; /* Prevent dragging from highlighting the element */\\n  position: relative;\\n  z-index: 0;\\n}\\n.CodeMirror-sizer {\\n  position: relative;\\n  border-right: 50px solid transparent;\\n}\\n\\n/* The fake, visible scrollbars. Used to force redraw during scrolling\\n   before actual scrolling happens, thus preventing shaking and\\n   flickering artifacts. */\\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n  position: absolute;\\n  z-index: 6;\\n  display: none;\\n  outline: none;\\n}\\n.CodeMirror-vscrollbar {\\n  right: 0; top: 0;\\n  overflow-x: hidden;\\n  overflow-y: scroll;\\n}\\n.CodeMirror-hscrollbar {\\n  bottom: 0; left: 0;\\n  overflow-y: hidden;\\n  overflow-x: scroll;\\n}\\n.CodeMirror-scrollbar-filler {\\n  right: 0; bottom: 0;\\n}\\n.CodeMirror-gutter-filler {\\n  left: 0; bottom: 0;\\n}\\n\\n.CodeMirror-gutters {\\n  position: absolute; left: 0; top: 0;\\n  min-height: 100%;\\n  z-index: 3;\\n}\\n.CodeMirror-gutter {\\n  white-space: normal;\\n  height: 100%;\\n  display: inline-block;\\n  vertical-align: top;\\n  margin-bottom: -50px;\\n}\\n.CodeMirror-gutter-wrapper {\\n  position: absolute;\\n  z-index: 4;\\n  background: none !important;\\n  border: none !important;\\n}\\n.CodeMirror-gutter-background {\\n  position: absolute;\\n  top: 0; bottom: 0;\\n  z-index: 4;\\n}\\n.CodeMirror-gutter-elt {\\n  position: absolute;\\n  cursor: default;\\n  z-index: 4;\\n}\\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\\n\\n.CodeMirror-lines {\\n  cursor: text;\\n  min-height: 1px; /* prevents collapsing before first draw */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n  /* Reset some styles that the rest of the page might have set */\\n  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\\n  border-width: 0;\\n  background: transparent;\\n  font-family: inherit;\\n  font-size: inherit;\\n  margin: 0;\\n  white-space: pre;\\n  word-wrap: normal;\\n  line-height: inherit;\\n  color: inherit;\\n  z-index: 2;\\n  position: relative;\\n  overflow: visible;\\n  -webkit-tap-highlight-color: transparent;\\n  -webkit-font-variant-ligatures: contextual;\\n  font-variant-ligatures: contextual;\\n}\\n.CodeMirror-wrap pre.CodeMirror-line,\\n.CodeMirror-wrap pre.CodeMirror-line-like {\\n  word-wrap: break-word;\\n  white-space: pre-wrap;\\n  word-break: normal;\\n}\\n\\n.CodeMirror-linebackground {\\n  position: absolute;\\n  left: 0; right: 0; top: 0; bottom: 0;\\n  z-index: 0;\\n}\\n\\n.CodeMirror-linewidget {\\n  position: relative;\\n  z-index: 2;\\n  padding: 0.1px; /* Force widget margins to stay inside of the container */\\n}\\n\\n.CodeMirror-widget {}\\n\\n.CodeMirror-rtl pre { direction: rtl; }\\n\\n.CodeMirror-code {\\n  outline: none;\\n}\\n\\n/* Force content-box sizing for the elements where we expect it */\\n.CodeMirror-scroll,\\n.CodeMirror-sizer,\\n.CodeMirror-gutter,\\n.CodeMirror-gutters,\\n.CodeMirror-linenumber {\\n  -moz-box-sizing: content-box;\\n  box-sizing: content-box;\\n}\\n\\n.CodeMirror-measure {\\n  position: absolute;\\n  width: 100%;\\n  height: 0;\\n  overflow: hidden;\\n  visibility: hidden;\\n}\\n\\n.CodeMirror-cursor {\\n  position: absolute;\\n  pointer-events: none;\\n}\\n.CodeMirror-measure pre { position: static; }\\n\\ndiv.CodeMirror-cursors {\\n  visibility: hidden;\\n  position: relative;\\n  z-index: 3;\\n}\\ndiv.CodeMirror-dragcursors {\\n  visibility: visible;\\n}\\n\\n.CodeMirror-focused div.CodeMirror-cursors {\\n  visibility: visible;\\n}\\n\\n.CodeMirror-selected { background: #d9d9d9; }\\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\\n.CodeMirror-crosshair { cursor: crosshair; }\\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\\n\\n.cm-searching {\\n  background-color: #ffa;\\n  background-color: rgba(255, 255, 0, .4);\\n}\\n\\n/* Used to force a border model for a node */\\n.cm-force-border { padding-right: .1px; }\\n\\n@media print {\\n  /* Hide the cursor when printing */\\n  .CodeMirror div.CodeMirror-cursors {\\n    visibility: hidden;\\n  }\\n}\\n\\n/* See issue #2901 */\\n.cm-tab-wrap-hack:after { content: ''; }\\n\\n/* Help users use markselection to safely style text background */\\nspan.CodeMirror-selectedtext { background: none; }\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://nocode-component/../../node_modules/codemirror/lib/codemirror.css?../../node_modules/css-loader/dist/cjs.js");

/***/ }),

/***/ "../../node_modules/react-codemirror2/index.js":
/*!*****************************************************!*\
  !*** ../../node_modules/react-codemirror2/index.js ***!
  \*****************************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
eval("\n\nfunction _extends() {\n  _extends = Object.assign || function(target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n  return _typeof(obj);\n}\n\nvar __extends = void 0 && (void 0).__extends || function() {\n  var _extendStatics = function extendStatics(d, b) {\n    _extendStatics = Object.setPrototypeOf || {\n      __proto__: []\n    }\n    instanceof Array && function(d, b) {\n      d.__proto__ = b;\n    } || function(d, b) {\n      for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n      }\n    };\n\n    return _extendStatics(d, b);\n  };\n\n  return function(d, b) {\n    _extendStatics(d, b);\n\n    function __() {\n      this.constructor = d;\n    }\n\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n  };\n}();\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.UnControlled = exports.Controlled = void 0;\n\nvar React = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react?a442\");\n\nvar SERVER_RENDERED = typeof navigator === 'undefined' || __webpack_require__.g['PREVENT_CODEMIRROR_RENDER'] === true;\nvar cm;\n\nif (!SERVER_RENDERED) {\n  cm = __webpack_require__(/*! codemirror */ \"webpack/sharing/consume/default/codemirror/codemirror\");\n}\n\nvar Helper = function() {\n  function Helper() {}\n\n  Helper.equals = function(x, y) {\n    var _this = this;\n\n    var ok = Object.keys,\n      tx = _typeof(x),\n      ty = _typeof(y);\n\n    return x && y && tx === 'object' && tx === ty ? ok(x).length === ok(y).length && ok(x).every(function(key) {\n      return _this.equals(x[key], y[key]);\n    }) : x === y;\n  };\n\n  return Helper;\n}();\n\nvar Shared = function() {\n  function Shared(editor, props) {\n    this.editor = editor;\n    this.props = props;\n  }\n\n  Shared.prototype.delegateCursor = function(position, scroll, focus) {\n    var doc = this.editor.getDoc();\n\n    if (focus) {\n      this.editor.focus();\n    }\n\n    scroll ? doc.setCursor(position) : doc.setCursor(position, null, {\n      scroll: false\n    });\n  };\n\n  Shared.prototype.delegateScroll = function(coordinates) {\n    this.editor.scrollTo(coordinates.x, coordinates.y);\n  };\n\n  Shared.prototype.delegateSelection = function(ranges, focus) {\n    var doc = this.editor.getDoc();\n    doc.setSelections(ranges);\n\n    if (focus) {\n      this.editor.focus();\n    }\n  };\n\n  Shared.prototype.apply = function(props) {\n    if (props && props.selection && props.selection.ranges) {\n      this.delegateSelection(props.selection.ranges, props.selection.focus || false);\n    }\n\n    if (props && props.cursor) {\n      this.delegateCursor(props.cursor, props.autoScroll || false, this.editor.getOption('autofocus') || false);\n    }\n\n    if (props && props.scroll) {\n      this.delegateScroll(props.scroll);\n    }\n  };\n\n  Shared.prototype.applyNext = function(props, next, preserved) {\n    if (props && props.selection && props.selection.ranges) {\n      if (next && next.selection && next.selection.ranges && !Helper.equals(props.selection.ranges, next.selection.ranges)) {\n        this.delegateSelection(next.selection.ranges, next.selection.focus || false);\n      }\n    }\n\n    if (props && props.cursor) {\n      if (next && next.cursor && !Helper.equals(props.cursor, next.cursor)) {\n        this.delegateCursor(preserved.cursor || next.cursor, next.autoScroll || false, next.autoCursor || false);\n      }\n    }\n\n    if (props && props.scroll) {\n      if (next && next.scroll && !Helper.equals(props.scroll, next.scroll)) {\n        this.delegateScroll(next.scroll);\n      }\n    }\n  };\n\n  Shared.prototype.applyUserDefined = function(props, preserved) {\n    if (preserved && preserved.cursor) {\n      this.delegateCursor(preserved.cursor, props.autoScroll || false, this.editor.getOption('autofocus') || false);\n    }\n  };\n\n  Shared.prototype.wire = function(props) {\n    var _this = this;\n\n    Object.keys(props || {}).filter(function(p) {\n      return /^on/.test(p);\n    }).forEach(function(prop) {\n      switch (prop) {\n        case 'onBlur': {\n          _this.editor.on('blur', function(cm, event) {\n            _this.props.onBlur(_this.editor, event);\n          });\n        }\n        break;\n\n      case 'onContextMenu': {\n        _this.editor.on('contextmenu', function(cm, event) {\n          _this.props.onContextMenu(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onCopy': {\n        _this.editor.on('copy', function(cm, event) {\n          _this.props.onCopy(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onCursor': {\n        _this.editor.on('cursorActivity', function(cm) {\n          _this.props.onCursor(_this.editor, _this.editor.getDoc().getCursor());\n        });\n      }\n      break;\n\n      case 'onCursorActivity': {\n        _this.editor.on('cursorActivity', function(cm) {\n          _this.props.onCursorActivity(_this.editor);\n        });\n      }\n      break;\n\n      case 'onCut': {\n        _this.editor.on('cut', function(cm, event) {\n          _this.props.onCut(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onDblClick': {\n        _this.editor.on('dblclick', function(cm, event) {\n          _this.props.onDblClick(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onDragEnter': {\n        _this.editor.on('dragenter', function(cm, event) {\n          _this.props.onDragEnter(_this.editor, event);\n        });\n      }\n      break;\n\n      case 'onDragLeave': {\n        _this.editor.on('dragleave', function(cm, event) {\n          _this.props.onDragLeave(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onDragOver': {\n        _this.editor.on('dragover', function(cm, event) {\n          _this.props.onDragOver(_this.editor, event);\n        });\n      }\n      break;\n\n      case 'onDragStart': {\n        _this.editor.on('dragstart', function(cm, event) {\n          _this.props.onDragStart(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onDrop': {\n        _this.editor.on('drop', function(cm, event) {\n          _this.props.onDrop(_this.editor, event);\n        });\n      }\n      break;\n\n      case 'onFocus': {\n        _this.editor.on('focus', function(cm, event) {\n          _this.props.onFocus(_this.editor, event);\n        });\n      }\n      break;\n\n      case 'onGutterClick': {\n        _this.editor.on('gutterClick', function(cm, lineNumber, gutter, event) {\n          _this.props.onGutterClick(_this.editor, lineNumber, gutter, event);\n        });\n      }\n      break;\n\n      case 'onInputRead': {\n        _this.editor.on('inputRead', function(cm, EditorChangeEvent) {\n          _this.props.onInputRead(_this.editor, EditorChangeEvent);\n        });\n      }\n      break;\n\n      case 'onKeyDown': {\n        _this.editor.on('keydown', function(cm, event) {\n          _this.props.onKeyDown(_this.editor, event);\n        });\n      }\n      break;\n\n      case 'onKeyHandled': {\n        _this.editor.on('keyHandled', function(cm, key, event) {\n          _this.props.onKeyHandled(_this.editor, key, event);\n        });\n      }\n      break;\n\n      case 'onKeyPress': {\n        _this.editor.on('keypress', function(cm, event) {\n          _this.props.onKeyPress(_this.editor, event);\n        });\n      }\n      break;\n\n      case 'onKeyUp': {\n        _this.editor.on('keyup', function(cm, event) {\n          _this.props.onKeyUp(_this.editor, event);\n        });\n      }\n      break;\n\n      case 'onMouseDown': {\n        _this.editor.on('mousedown', function(cm, event) {\n          _this.props.onMouseDown(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onPaste': {\n        _this.editor.on('paste', function(cm, event) {\n          _this.props.onPaste(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onRenderLine': {\n        _this.editor.on('renderLine', function(cm, line, element) {\n          _this.props.onRenderLine(_this.editor, line, element);\n        });\n\n        break;\n      }\n\n      case 'onScroll': {\n        _this.editor.on('scroll', function(cm) {\n          _this.props.onScroll(_this.editor, _this.editor.getScrollInfo());\n        });\n      }\n      break;\n\n      case 'onSelection': {\n        _this.editor.on('beforeSelectionChange', function(cm, data) {\n          _this.props.onSelection(_this.editor, data);\n        });\n      }\n      break;\n\n      case 'onTouchStart': {\n        _this.editor.on('touchstart', function(cm, event) {\n          _this.props.onTouchStart(_this.editor, event);\n        });\n\n        break;\n      }\n\n      case 'onUpdate': {\n        _this.editor.on('update', function(cm) {\n          _this.props.onUpdate(_this.editor);\n        });\n      }\n      break;\n\n      case 'onViewportChange': {\n        _this.editor.on('viewportChange', function(cm, from, to) {\n          _this.props.onViewportChange(_this.editor, from, to);\n        });\n      }\n      break;\n      }\n    });\n  };\n\n  return Shared;\n}();\n\nvar Controlled = function(_super) {\n  __extends(Controlled, _super);\n\n  function Controlled(props) {\n    var _this = _super.call(this, props) || this;\n\n    if (SERVER_RENDERED) return _this;\n    _this.applied = false;\n    _this.appliedNext = false;\n    _this.appliedUserDefined = false;\n    _this.deferred = null;\n    _this.emulating = false;\n    _this.hydrated = false;\n\n    _this.initCb = function() {\n      if (_this.props.editorDidConfigure) {\n        _this.props.editorDidConfigure(_this.editor);\n      }\n    };\n\n    _this.mounted = false;\n    return _this;\n  }\n\n  Controlled.prototype.hydrate = function(props) {\n    var _this = this;\n\n    var _options = props && props.options ? props.options : {};\n\n    var userDefinedOptions = _extends({}, cm.defaults, this.editor.options, _options);\n\n    var optionDelta = Object.keys(userDefinedOptions).some(function(key) {\n      return _this.editor.getOption(key) !== userDefinedOptions[key];\n    });\n\n    if (optionDelta) {\n      Object.keys(userDefinedOptions).forEach(function(key) {\n        if (_options.hasOwnProperty(key)) {\n          if (_this.editor.getOption(key) !== userDefinedOptions[key]) {\n            _this.editor.setOption(key, userDefinedOptions[key]);\n\n            _this.mirror.setOption(key, userDefinedOptions[key]);\n          }\n        }\n      });\n    }\n\n    if (!this.hydrated) {\n      this.deferred ? this.resolveChange(props.value) : this.initChange(props.value || '');\n    }\n\n    this.hydrated = true;\n  };\n\n  Controlled.prototype.initChange = function(value) {\n    this.emulating = true;\n    var doc = this.editor.getDoc();\n    var lastLine = doc.lastLine();\n    var lastChar = doc.getLine(doc.lastLine()).length;\n    doc.replaceRange(value || '', {\n      line: 0,\n      ch: 0\n    }, {\n      line: lastLine,\n      ch: lastChar\n    });\n    this.mirror.setValue(value);\n    doc.clearHistory();\n    this.mirror.clearHistory();\n    this.emulating = false;\n  };\n\n  Controlled.prototype.resolveChange = function(value) {\n    this.emulating = true;\n    var doc = this.editor.getDoc();\n\n    if (this.deferred.origin === 'undo') {\n      doc.undo();\n    } else if (this.deferred.origin === 'redo') {\n      doc.redo();\n    } else {\n      doc.replaceRange(this.deferred.text, this.deferred.from, this.deferred.to, this.deferred.origin);\n    }\n\n    if (value && value !== doc.getValue()) {\n      var cursor = doc.getCursor();\n      doc.setValue(value);\n      doc.setCursor(cursor);\n    }\n\n    this.emulating = false;\n    this.deferred = null;\n  };\n\n  Controlled.prototype.mirrorChange = function(deferred) {\n    var doc = this.editor.getDoc();\n\n    if (deferred.origin === 'undo') {\n      doc.setHistory(this.mirror.getHistory());\n      this.mirror.undo();\n    } else if (deferred.origin === 'redo') {\n      doc.setHistory(this.mirror.getHistory());\n      this.mirror.redo();\n    } else {\n      this.mirror.replaceRange(deferred.text, deferred.from, deferred.to, deferred.origin);\n    }\n\n    return this.mirror.getValue();\n  };\n\n  Controlled.prototype.componentDidMount = function() {\n    var _this = this;\n\n    if (SERVER_RENDERED) return;\n\n    if (this.props.defineMode) {\n      if (this.props.defineMode.name && this.props.defineMode.fn) {\n        cm.defineMode(this.props.defineMode.name, this.props.defineMode.fn);\n      }\n    }\n\n    this.editor = cm(this.ref, this.props.options);\n    this.shared = new Shared(this.editor, this.props);\n    this.mirror = cm(function() {}, this.props.options);\n    this.editor.on('electricInput', function() {\n      _this.mirror.setHistory(_this.editor.getDoc().getHistory());\n    });\n    this.editor.on('cursorActivity', function() {\n      _this.mirror.setCursor(_this.editor.getDoc().getCursor());\n    });\n    this.editor.on('beforeChange', function(cm, data) {\n      if (_this.emulating) {\n        return;\n      }\n\n      data.cancel();\n      _this.deferred = data;\n\n      var phantomChange = _this.mirrorChange(_this.deferred);\n\n      if (_this.props.onBeforeChange) _this.props.onBeforeChange(_this.editor, _this.deferred, phantomChange);\n    });\n    this.editor.on('change', function(cm, data) {\n      if (!_this.mounted) {\n        return;\n      }\n\n      if (_this.props.onChange) {\n        _this.props.onChange(_this.editor, data, _this.editor.getValue());\n      }\n    });\n    this.hydrate(this.props);\n    this.shared.apply(this.props);\n    this.applied = true;\n    this.mounted = true;\n    this.shared.wire(this.props);\n\n    if (this.editor.getOption('autofocus')) {\n      this.editor.focus();\n    }\n\n    if (this.props.editorDidMount) {\n      this.props.editorDidMount(this.editor, this.editor.getValue(), this.initCb);\n    }\n  };\n\n  Controlled.prototype.componentDidUpdate = function(prevProps) {\n    if (SERVER_RENDERED) return;\n    var preserved = {\n      cursor: null\n    };\n\n    if (this.props.value !== prevProps.value) {\n      this.hydrated = false;\n    }\n\n    if (!this.props.autoCursor && this.props.autoCursor !== undefined) {\n      preserved.cursor = this.editor.getDoc().getCursor();\n    }\n\n    this.hydrate(this.props);\n\n    if (!this.appliedNext) {\n      this.shared.applyNext(prevProps, this.props, preserved);\n      this.appliedNext = true;\n    }\n\n    this.shared.applyUserDefined(prevProps, preserved);\n    this.appliedUserDefined = true;\n  };\n\n  Controlled.prototype.componentWillUnmount = function() {\n    if (SERVER_RENDERED) return;\n\n    if (this.props.editorWillUnmount) {\n      this.props.editorWillUnmount(cm);\n    }\n  };\n\n  Controlled.prototype.shouldComponentUpdate = function(nextProps, nextState) {\n    return !SERVER_RENDERED;\n  };\n\n  Controlled.prototype.render = function() {\n    var _this = this;\n\n    if (SERVER_RENDERED) return null;\n    var className = this.props.className ? 'react-codemirror2 ' + this.props.className : 'react-codemirror2';\n    return React.createElement('div', {\n      className: className,\n      ref: function ref(self) {\n        return _this.ref = self;\n      }\n    });\n  };\n\n  return Controlled;\n}(React.Component);\n\nexports.Controlled = Controlled;\n\nvar UnControlled = function(_super) {\n  __extends(UnControlled, _super);\n\n  function UnControlled(props) {\n    var _this = _super.call(this, props) || this;\n\n    if (SERVER_RENDERED) return _this;\n    _this.applied = false;\n    _this.appliedUserDefined = false;\n    _this.continueChange = false;\n    _this.detached = false;\n    _this.hydrated = false;\n\n    _this.initCb = function() {\n      if (_this.props.editorDidConfigure) {\n        _this.props.editorDidConfigure(_this.editor);\n      }\n    };\n\n    _this.mounted = false;\n\n    _this.onBeforeChangeCb = function() {\n      _this.continueChange = true;\n    };\n\n    return _this;\n  }\n\n  UnControlled.prototype.hydrate = function(props) {\n    var _this = this;\n\n    var _options = props && props.options ? props.options : {};\n\n    var userDefinedOptions = _extends({}, cm.defaults, this.editor.options, _options);\n\n    var optionDelta = Object.keys(userDefinedOptions).some(function(key) {\n      return _this.editor.getOption(key) !== userDefinedOptions[key];\n    });\n\n    if (optionDelta) {\n      Object.keys(userDefinedOptions).forEach(function(key) {\n        if (_options.hasOwnProperty(key)) {\n          if (_this.editor.getOption(key) !== userDefinedOptions[key]) {\n            _this.editor.setOption(key, userDefinedOptions[key]);\n          }\n        }\n      });\n    }\n\n    if (!this.hydrated) {\n      var doc = this.editor.getDoc();\n      var lastLine = doc.lastLine();\n      var lastChar = doc.getLine(doc.lastLine()).length;\n      doc.replaceRange(props.value || '', {\n        line: 0,\n        ch: 0\n      }, {\n        line: lastLine,\n        ch: lastChar\n      });\n    }\n\n    this.hydrated = true;\n  };\n\n  UnControlled.prototype.componentDidMount = function() {\n    var _this = this;\n\n    if (SERVER_RENDERED) return;\n    this.detached = this.props.detach === true;\n\n    if (this.props.defineMode) {\n      if (this.props.defineMode.name && this.props.defineMode.fn) {\n        cm.defineMode(this.props.defineMode.name, this.props.defineMode.fn);\n      }\n    }\n\n    this.editor = cm(this.ref, this.props.options);\n    this.shared = new Shared(this.editor, this.props);\n    this.editor.on('beforeChange', function(cm, data) {\n      if (_this.props.onBeforeChange) {\n        _this.props.onBeforeChange(_this.editor, data, _this.editor.getValue(), _this.onBeforeChangeCb);\n      }\n    });\n    this.editor.on('change', function(cm, data) {\n      if (!_this.mounted || !_this.props.onChange) {\n        return;\n      }\n\n      if (_this.props.onBeforeChange) {\n        if (_this.continueChange) {\n          _this.props.onChange(_this.editor, data, _this.editor.getValue());\n        }\n      } else {\n        _this.props.onChange(_this.editor, data, _this.editor.getValue());\n      }\n    });\n    this.hydrate(this.props);\n    this.shared.apply(this.props);\n    this.applied = true;\n    this.mounted = true;\n    this.shared.wire(this.props);\n    this.editor.getDoc().clearHistory();\n\n    if (this.props.editorDidMount) {\n      this.props.editorDidMount(this.editor, this.editor.getValue(), this.initCb);\n    }\n  };\n\n  UnControlled.prototype.componentDidUpdate = function(prevProps) {\n    if (this.detached && this.props.detach === false) {\n      this.detached = false;\n\n      if (prevProps.editorDidAttach) {\n        prevProps.editorDidAttach(this.editor);\n      }\n    }\n\n    if (!this.detached && this.props.detach === true) {\n      this.detached = true;\n\n      if (prevProps.editorDidDetach) {\n        prevProps.editorDidDetach(this.editor);\n      }\n    }\n\n    if (SERVER_RENDERED || this.detached) return;\n    var preserved = {\n      cursor: null\n    };\n\n    if (this.props.value !== prevProps.value) {\n      this.hydrated = false;\n      this.applied = false;\n      this.appliedUserDefined = false;\n    }\n\n    if (!prevProps.autoCursor && prevProps.autoCursor !== undefined) {\n      preserved.cursor = this.editor.getDoc().getCursor();\n    }\n\n    this.hydrate(this.props);\n\n    if (!this.applied) {\n      this.shared.apply(prevProps);\n      this.applied = true;\n    }\n\n    if (!this.appliedUserDefined) {\n      this.shared.applyUserDefined(prevProps, preserved);\n      this.appliedUserDefined = true;\n    }\n  };\n\n  UnControlled.prototype.componentWillUnmount = function() {\n    if (SERVER_RENDERED) return;\n\n    if (this.props.editorWillUnmount) {\n      this.props.editorWillUnmount(cm);\n    }\n  };\n\n  UnControlled.prototype.shouldComponentUpdate = function(nextProps, nextState) {\n    var update = true;\n    if (SERVER_RENDERED) update = false;\n    if (this.detached && nextProps.detach) update = false;\n    return update;\n  };\n\n  UnControlled.prototype.render = function() {\n    var _this = this;\n\n    if (SERVER_RENDERED) return null;\n    var className = this.props.className ? 'react-codemirror2 ' + this.props.className : 'react-codemirror2';\n    return React.createElement('div', {\n      className: className,\n      ref: function ref(self) {\n        return _this.ref = self;\n      }\n    });\n  };\n\n  return UnControlled;\n}(React.Component);\n\nexports.UnControlled = UnControlled;\n\n//# sourceURL=webpack://nocode-component/../../node_modules/react-codemirror2/index.js?");

/***/ }),

/***/ "../../node_modules/codemirror/lib/codemirror.css":
/*!********************************************************!*\
  !*** ../../node_modules/codemirror/lib/codemirror.css ***!
  \********************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {

eval("var api = __webpack_require__(/*! !../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n            var content = __webpack_require__(/*! !!../../css-loader/dist/cjs.js!./codemirror.css */ \"../../node_modules/css-loader/dist/cjs.js!../../node_modules/codemirror/lib/codemirror.css\");\n\n            content = content.__esModule ? content.default : content;\n\n            if (typeof content === 'string') {\n              content = [[module.id, content, '']];\n            }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};\n\n//# sourceURL=webpack://nocode-component/../../node_modules/codemirror/lib/codemirror.css?");

/***/ })

}]);