"use strict";
/*
 * 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["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([["node_modules_codemirror_legacy-modes_mode_spreadsheet_js"],{

/***/ "../node_modules/@codemirror/legacy-modes/mode/spreadsheet.js":
/*!********************************************************************!*\
  !*** ../node_modules/@codemirror/legacy-modes/mode/spreadsheet.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   spreadsheet: () => (/* binding */ spreadsheet)\n/* harmony export */ });\nconst spreadsheet = {\n  name: \"spreadsheet\",\n\n  startState: function () {\n    return {\n      stringType: null,\n      stack: []\n    };\n  },\n  token: function (stream, state) {\n    if (!stream) return;\n\n    //check for state changes\n    if (state.stack.length === 0) {\n      //strings\n      if ((stream.peek() == '\"') || (stream.peek() == \"'\")) {\n        state.stringType = stream.peek();\n        stream.next(); // Skip quote\n        state.stack.unshift(\"string\");\n      }\n    }\n\n    //return state\n    //stack has\n    switch (state.stack[0]) {\n    case \"string\":\n      while (state.stack[0] === \"string\" && !stream.eol()) {\n        if (stream.peek() === state.stringType) {\n          stream.next(); // Skip quote\n          state.stack.shift(); // Clear flag\n        } else if (stream.peek() === \"\\\\\") {\n          stream.next();\n          stream.next();\n        } else {\n          stream.match(/^.[^\\\\\\\"\\']*/);\n        }\n      }\n      return \"string\";\n\n    case \"characterClass\":\n      while (state.stack[0] === \"characterClass\" && !stream.eol()) {\n        if (!(stream.match(/^[^\\]\\\\]+/) || stream.match(/^\\\\./)))\n          state.stack.shift();\n      }\n      return \"operator\";\n    }\n\n    var peek = stream.peek();\n\n    //no stack\n    switch (peek) {\n    case \"[\":\n      stream.next();\n      state.stack.unshift(\"characterClass\");\n      return \"bracket\";\n    case \":\":\n      stream.next();\n      return \"operator\";\n    case \"\\\\\":\n      if (stream.match(/\\\\[a-z]+/)) return \"string.special\";\n      else {\n        stream.next();\n        return \"atom\";\n      }\n    case \".\":\n    case \",\":\n    case \";\":\n    case \"*\":\n    case \"-\":\n    case \"+\":\n    case \"^\":\n    case \"<\":\n    case \"/\":\n    case \"=\":\n      stream.next();\n      return \"atom\";\n    case \"$\":\n      stream.next();\n      return \"builtin\";\n    }\n\n    if (stream.match(/\\d+/)) {\n      if (stream.match(/^\\w+/)) return \"error\";\n      return \"number\";\n    } else if (stream.match(/^[a-zA-Z_]\\w*/)) {\n      if (stream.match(/(?=[\\(.])/, false)) return \"keyword\";\n      return \"variable\";\n    } else if ([\"[\", \"]\", \"(\", \")\", \"{\", \"}\"].indexOf(peek) != -1) {\n      stream.next();\n      return \"bracket\";\n    } else if (!stream.eatSpace()) {\n      stream.next();\n    }\n    return null;\n  }\n};\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@codemirror/legacy-modes/mode/spreadsheet.js?");

/***/ })

}]);