"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_mdts_frontend"] = self["webpackChunk_mdts_frontend"] || []).push([["react-syntax-highlighter_languages_refractor_ftl"],{

/***/ "./node_modules/refractor/lang/ftl.js"
/*!********************************************!*\
  !*** ./node_modules/refractor/lang/ftl.js ***!
  \********************************************/
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {

eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ ftl)\n/* harmony export */ });\n/* harmony import */ var _markup_templating_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./markup-templating.js */ \"./node_modules/refractor/lang/markup-templating.js\");\n// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\n\nftl.displayName = 'ftl'\nftl.aliases = []\n\n/** @param {Refractor} Prism */\nfunction ftl(Prism) {\n  Prism.register(_markup_templating_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n  ;(function (Prism) {\n    // https://freemarker.apache.org/docs/dgui_template_exp.html\n\n    // FTL expression with 4 levels of nesting supported\n    var FTL_EXPR =\n      /[^<()\"']|\\((?:<expr>)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|\"(?:[^\\\\\"]|\\\\.)*\"|'(?:[^\\\\']|\\\\.)*'/\n        .source\n    for (var i = 0; i < 2; i++) {\n      FTL_EXPR = FTL_EXPR.replace(/<expr>/g, function () {\n        return FTL_EXPR\n      })\n    }\n    FTL_EXPR = FTL_EXPR.replace(/<expr>/g, /[^\\s\\S]/.source)\n    var ftl = {\n      comment: /<#--[\\s\\S]*?-->/,\n      string: [\n        {\n          // raw string\n          pattern: /\\br(\"|')(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n          greedy: true\n        },\n        {\n          pattern: RegExp(\n            /(\"|')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:<expr>))*\\})*\\1/.source.replace(\n              /<expr>/g,\n              function () {\n                return FTL_EXPR\n              }\n            )\n          ),\n          greedy: true,\n          inside: {\n            interpolation: {\n              pattern: RegExp(\n                /((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:<expr>))*\\}/.source.replace(\n                  /<expr>/g,\n                  function () {\n                    return FTL_EXPR\n                  }\n                )\n              ),\n              lookbehind: true,\n              inside: {\n                'interpolation-punctuation': {\n                  pattern: /^\\$\\{|\\}$/,\n                  alias: 'punctuation'\n                },\n                rest: null\n              }\n            }\n          }\n        }\n      ],\n      keyword: /\\b(?:as)\\b/,\n      boolean: /\\b(?:false|true)\\b/,\n      'builtin-function': {\n        pattern: /((?:^|[^?])\\?\\s*)\\w+/,\n        lookbehind: true,\n        alias: 'function'\n      },\n      function: /\\b\\w+(?=\\s*\\()/,\n      number: /\\b\\d+(?:\\.\\d+)?\\b/,\n      operator:\n        /\\.\\.[<*!]?|->|--|\\+\\+|&&|\\|\\||\\?{1,2}|[-+*/%!=<>]=?|\\b(?:gt|gte|lt|lte)\\b/,\n      punctuation: /[,;.:()[\\]{}]/\n    }\n    ftl.string[1].inside.interpolation.inside.rest = ftl\n    Prism.languages.ftl = {\n      'ftl-comment': {\n        // the pattern is shortened to be more efficient\n        pattern: /^<#--[\\s\\S]*/,\n        alias: 'comment'\n      },\n      'ftl-directive': {\n        pattern: /^<[\\s\\S]+>$/,\n        inside: {\n          directive: {\n            pattern: /(^<\\/?)[#@][a-z]\\w*/i,\n            lookbehind: true,\n            alias: 'keyword'\n          },\n          punctuation: /^<\\/?|\\/?>$/,\n          content: {\n            pattern: /\\s*\\S[\\s\\S]*/,\n            alias: 'ftl',\n            inside: ftl\n          }\n        }\n      },\n      'ftl-interpolation': {\n        pattern: /^\\$\\{[\\s\\S]*\\}$/,\n        inside: {\n          punctuation: /^\\$\\{|\\}$/,\n          content: {\n            pattern: /\\s*\\S[\\s\\S]*/,\n            alias: 'ftl',\n            inside: ftl\n          }\n        }\n      }\n    }\n    Prism.hooks.add('before-tokenize', function (env) {\n      // eslint-disable-next-line regexp/no-useless-lazy\n      var pattern = RegExp(\n        /<#--[\\s\\S]*?-->|<\\/?[#@][a-zA-Z](?:<expr>)*?>|\\$\\{(?:<expr>)*?\\}/.source.replace(\n          /<expr>/g,\n          function () {\n            return FTL_EXPR\n          }\n        ),\n        'gi'\n      )\n      Prism.languages['markup-templating'].buildPlaceholders(\n        env,\n        'ftl',\n        pattern\n      )\n    })\n    Prism.hooks.add('after-tokenize', function (env) {\n      Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ftl')\n    })\n  })(Prism)\n}\n\n\n//# sourceURL=webpack://@mdts/frontend/./node_modules/refractor/lang/ftl.js?\n}");

/***/ }

}]);